As part of my life archive project, I've been consolidating all the code I've had in my various backups. It turns out, I have a lot of small throwaway-type coding projects, none of which are particularly amazing. However, I've also been reflecting on how building things like the life archive are easier for me because of my technical background, and maybe I shouldn't take for granted my ability to build these small tools.

To that end, I'm trying to reflect on the types of projects I've had, to understand the sorts of things I've been able to do due to being able to program.

As of right now I have 87 code repos in my life archive; below represents a summary of the main themes. A couple of these are in my github repos but not many.

Learning programming/technical tools

I have lots of projects related to learning programming languages and technical tools, such as follow-along code for TCP/IP Programming, volume 1, learning Python, and using XML.

Configuration tools

  • FreeBSD server setup tool
  • Network configuration tool
  • IP address updater for DNS hosting

Data conversions

I've written code to help with converting data from one system to another, such as…

  • archiving Yahoo message board archives into mbox format (for import into another system)
  • converting Safari bookmarks to del.icio.us
  • converting del.icio.us bookmarks to pinboard.in
  • downloading guitar tabs
  • downloading web archives
  • creating a basic book index (like the index at the back of a book)
  • converter for Day One archives to .txt files

Game helpers

I've written programs to help me play computer games like…

  • Trade Wars 2002: this program helped me track my trades with this BBS game. To do this I had to write a telnet proxy.
  • blogwars: this helped me find good "stock picks" for blogwars, a stock market game for blogs from the early 2000s
  • sudoku: solves sudoku puzzles
  • EVE stock market analysis tool

Tool integrations

  • Search for my Netflix wishlist content vs. what the local library has available in its catalog
  • Search for my Goodreads "read later" books vs. what the local library has available in its catalog
  • Creating directed graphs for who emailed whom based on my email archives
  • Python "webservice" tool

"Toy" programs

I've had a lot of tiny programs to do things like…

  • set my email signature (back in college)
  • timer OS X application
  • shortcuts for web site searches
  • disk space visualizer
  • Dvorak <-> QWERTY key rotation (to figure out how many times you need to "Dvorak" a QWERTY keyboard until you get a QWERTY keyboard again)

Web sites

  • NCSU grade distribution tool (pulled the publicly-available grades and then grouped them by class and instructor)
  • A looong time ago I wrote an everything2/wiki knock-off
  • Prototype ethics quiz