Personal Time Capsule

Series: reflections December 10, 2012

In the spring of 2008 — nearly 5 years ago — I wrote my first piece of useful software; it was an IRC client for a semester project in school.

The program is, quite frankly, awful.

Python IRC Client Screenshot

It’s 1100 lines of Python code in a single file. It is poorly formated and doesn’t even follow its own (non-standard) naming conventions. There is a big chunk of pasted code that serves as a reminder of how little I grokked OOP at the time. There are global variables all over the place and a bunch of comments about Windows threading errors.

There’s even some — cringe — ASCII art in the source.

And yet, I keep this code on GitHub to this day. In an era when your open source code can replace a traditional resume, I choose to keep this artifact of my past accessible to anyone that wants to see.

I don’t think people really look at it much. I’ve got over 50 repositories and it’s near the bottom of the list.

But I know it’s there. For me, the project serves as a Personal Time Capsule.

About once a year, I read through the code — along with a few other projects of varying age.

I find more mistakes. I think about how I could apply new patterns I’ve learned. I wonder how I stayed sane with no tests and managed to find most of the bugs.

But I also remember the good things. The IRC project made me fall in love with software. I remember how awesome it felt when I connected to Freenode with my little mudball of Python. I had made something out of nothing.

It’s a very personal and reflective activity and I would encourage you to try it — whether it’s finding some old code, reading your very first blog post, or revisiting a design from years ago.

There is always more to learn and an infinite number of ways to improve, but don’t forget to stop and evaluate how far you’ve come.

built with , Jekyll, and GitHub Pages — read the fine print