I don’t know a developer that doesn’t have at least a few derelict, dead, or otherwise abandoned projects laying around (like, oh say, not updating a blog for two years). We all have our reasons to drop a project – maybe it was a project you finished but never kept updating, maybe you learned just what you needed to know without finishing the project, maybe you found another piece of code that did what you needed or somebody beat you to the punch, maybe you just lost interest in what you were working on, or maybe you just gave up on it or had more pressing things to do.
Whatever the reason, we all have those moments where we look back at code we wrote however long ago and cringe. Of course, it probably seemed perfectly good code at the time. But, if you look back at your old code and it looks perfectly fine you’re either Douglas Crockford or you’re not learning anything (or possibly both). Maintenance and refactoring are normal parts of the software development life cycle and help us become better developers. But dead projects aren’t part of that life cycle, and they seldom get any better.
Looking back at your graveyard of dead projects can be a scary experience. You might be mortified of past mistakes you unknowingly made, but if you know better now then that’s a good thing. And maybe, just maybe, you can learn still something from those projects. You might even find an old familiar favorite ready to be dusted off and have you breathe new life in it. Yay Zombies!