Spare Time Projects

It’s pretty common to see discussions about how to determine if a candidate for a programming job has a “passion” for programming and software. One of the usual pieces of advice is to ask about the projects someone does in their “spare time.”

That’s OK. There’s so much interesting stuff to do and learn and just not enough time to do everything. But somehow you make time to do at least a little of it. Someone once told me that “What you love is what you do.” Seems true enough. I love programming and I make time to do some of my own projects, at least once in a while. I don’t particularly love hiking and that’s probably why I seem to get so few hikes done.

Here’ s a list of some of my own “spare time” projects, all in various stages of completion.

  • Lennard-Jones: A very simple molecular dynamics simulation. Besides the math, I really want to work on a nice visualization, maybe learning some OpenGL. I’m learning Latex too, so I can write about it.
  • BookChelf: A clone of the Bookshelf program by Emil Axelsson, originally written in Haskell, but now implemented in Clojure. I have zillions of PDF reference papers. This program helps me keep them organized and to maintain notes and annotations on them. It isn’t a full-fledged reference manager like EndNote, but I have aspirations of making it more useful to me.
  • Safe4All: Another password keeper. I like PasswordSafe, but it only works on Windows. This is an attempt to create a clone that runs on Windows, Mac, and Linux. It should also be runnable from a thumb drive and leave no trace of its use.
  • Caustics: I’m fascinated by the way ripples on the surface of a body of water can produce such lovely patterns of light and dark on the bottom of the pool. The physics itself is interesting, but I’m really doing this for the visualization. Again, maybe another chance to learn something useful about OpenGL.
  • MyNoteKeeper: Part of my never-ending quest to develop the perfect note taking system. Working on an editor now. Database soon. Handwriting recognition is required. This one’s never going to get done.

So, there you have it. Some of what I’m working on. It’s mostly just for my own education, but maybe someday, something useful will come of this effort.

I hope you are enjoying your own programming work enough to come up with some interesting “spare time” projects of your own.