Back in 2003, Danny O'Brien gave a talk about Life Hacks, which has gone on to become the name for all sorts of shitty tips for middle managers on how to read RSS in their Outlook 2003 setup. But the point of Danny's talk was to look at what über-geeks were doing, and whether normal people can learn from them. He found fairly unsurprising stuff: geeks like simple tools that don't break (ASCII text and plain-text formats over big binary bundles of unreadable crap), they spend a lot of time in shells and write secret software, software that they never release. He quoted Guido van Rossum: "My 10-line python scripts are just like everyone else's except I wrote a script to interpret them".
My secret software
- test_en is a crappy little Ruby script that I use on long text documents to see if they are written in en-GB or en-US. My mind has been warped to write in some kind of internationalized English that is neither en-GB or en-US but a horrific mashup of the two.
- blog (written in Ruby) creates a temporary file, invokes vim and lets me type stuff. when I :wq, it XML-RPC posts the post to my site using MetaWeblog API.
- alarmclock (written in Ruby) is a Linux ALSA-based alarm clock I wrote, which you can invoke with at or cron (etc.)
- stylesheet extractor uses the excellent BeautifulSoup library in Python to extract the contents of style elements, write them out to a separate file and link them from the header. Wrote it as a bet that I could produce something shorter, quicker and prettier than my friend who was doing tragic stuff with Java and regular expressions.
- resplayer (written in Ruby) tries to emulate iTunes' "remember playback position" functionality in mpg123.
My completely throw-away software
- Gist spam checker (Ruby) - Gist, Github's excellent version-controlled pastie site, is rather filled with spam. I tried to report it to them, and wanted to provide a big file of examples. I used this to help me find those examples.
- dictionary cleanup (Ruby) I had a Latin dictionary file I wanted to cleanup. But the Ruby code is so short and nifty that I had to share it with the world.