Why Package Deprecated Code?

A couple of years ago, my colleagues and I decided to publish our gene naming suite of tools, which we called Genepidgin (actually, pidgin — long story). It was a “download and keep your directory structure just so” kind of tool, had no idea about python packages, and one big ‘ol html file for documentation.

While writing and publishing speedrack, I learned how to create a proper python distribution (via pypi) and modern python documentation (via sphinx and readthedocs).

Still, updating software is time. Why invest that time here?


It might help someone.

I didn’t write or publish this stuff to get famous or rich. There might be ten other people in the world who care about large-scale alignment-based gene naming. But still, if someone does have that problem, then they’re likely looking at a similar problem with similar intent. I don’t want my previous investment to be gone from the world.

Maybe it’ll come up when someone searches for “organize three hundred regular expressions”.


I’m a big believer in hands-on learning — the more you do something, the better you get at it. What better way to cement that knowledge?


At the end of the day, I’m not a natural self-promoter. I’m not writing vast troves of knowledge on the direction of languages, libraries, or technologies. I’ve been in the game long enough to know that I’m not the fastest engineer, the clearest communicator, or the most passionate hustler. I’m a generalist: trying to get things done, trying to help others do the same.

One of the areas I’ve focused on recently is delivering polish, whether api, command-line, or web interface. I love when things work as expected, and failing that, I like when things fail gracefully! And to that point, genepidgin had some polish (in reporting), but had enough glaring inconsistencies that it bothered me. It didn’t reflect the time and effort that my colleagues and I put into creating it.

After a little work, it does. Now I can leave it behind in good conscience.