A friend and I are making a program licensed under the Apache 2.0 license, and we would like to pull in code from one of his old projects licensed under the GPL 3.0 license, but I don't see a way to. Is this possible?
If you and your friend are building upon an old project, and the original project completely belongs to you, then there's no issue. Since you own the project, you own the entire intellectual property, and you are free to license it as you wish.
However, the issue comes in when there is code from other contributors, or when there are incompatible licensed dependencies in the code:
If code is from other contributors:
You'll have to ask them to relicense their contributions under a license such as the Apache license. If they refuse, you'll either have to remove their contributions, or you'll have to rewrite the code yourself.
If there is incompatible licensed dependencies:
For example, if your project relies on an external library such as the GPL, you'll have to respect the terms and conditions of that license, likewise with any other license. If the original project has a dependency with the GPL as its license, then you've got to either remove that dependency, or respect the terms by making your new project under the GPL as well due to its copyleft clause.
If you don't have those two issues, then you're free to go!