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.
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.