I ran the half-marathon in San Francisco this past summer. It was amazing. Afterwards I wanted pictures to remember it by--specifically, pictures that had me in them to remember my experience. Before the race, MarathonFoto informed me that "you and your family will not have to worry about trying to capture your special race moments" because they would take pictures. Great! They neglected to mention those pictures would cost $40 each to download.
I liked the pictures, but that heads-up they gave before the race was slimy. I wondered, "how can I make a better, cheaper service for finding photos of myself (and put these guys out of business :P)?" The result is bibfind.com: a crowd-sourced photo tagging system that uses the bib numbers worn by runners to identify them in photos.
I read The Elements of Style by Strunk and White to get better at writing. The biggest section is on common misuses of words and expressions in English. I thought the section was valuable, but more than I'd be able to keep in my head while writing. To solve that problem, I made a script that analyzes some given text and then annotates each potential misuse with a link to Strunk's guidance.
Of all the mundane details that programming bothers me with, operator precedence/arithmetical order of operations pisses me off the most. Pardon the vulgarity, but if you've ever had to wonder whether 5 + 6 * 2 was equal to 22 or 17, or even worse--had a bug caused by guessing wrong in that sort of situation, you know how I feel.
I just gave a presentation in my Cognitive Neuroscience course at Stanford about Oliva and Schyns' paper "Coarse Blobs or Fine Edges? Evidence That Information Diagnosticity Changes the Perception of Complex Visual Stimuli", doi:10.1006/cogp.1997.0667. I was happy with the presentation, so I post my slides here for anyone who's interested.
I read Edward Tufte's book The Visual Display of Quantitative Information, and afterwards I was burning to visualize some data. I settled on charting the time of day that I make phone calls at.
As a software engineer with experience doing web development, I hear a lot of people with ideas for hot new websites. In most of these situations where there's an idea looking for someone to implement it, I get the sense that the software engineer's point of view isn't understood. Here's my edited response to a request for someone with spare time to implement an idea that was described at the level of detail of requiring community features and that users be able to upload content:
I've been reading a book on typography called "thinking with type", and one of the recommended exercises is to present a word using a design that expresses the word's meaning. I chose "collapsed", after a good run had drained me.
This technique visualizes the meaning of a word in addition to calling it by name.