• iPhone Toilet Debacle Redux: The Backlight

    March 29, 2010 at 1:43 PM
    Last Tuesday marked the 485 th day since I dropped my first-generation iPhone in the toilet. I commemorated the occasion by setting my 3G in a precarious position on the edge of the bathroom sink, and then watching in horror from the shower as my almost-2-year-old came in and rammed it with a truck. Right into the toilet....
  • Memory and Ruby :symbols

    March 1, 2010 at 9:32 PM
    Ruby provides a really flexible and sugary syntax. A lot can be expressed in one little snippet, and the same functionality can often be rewritten in many different ways . In this post, I'd like to focus on some potentially dangerous properties of one particular piece of Ruby: the Symbol . First, compare these two lines: (...
  • Disabling Flash in Chrome, and Other Tricks

    February 25, 2010 at 8:48 PM
    I just learned that there is a handy switch one can pass while launching Chrome to bypass the plugin architecture: google-chrome --disable-plugins Previously I had resorted to moving libflashplayer.so or removing read access from it, but this is a much more controlled method. The are a ton of other Chrome switches that I o...
  • Closures in Java, Ruby, and Duby

    February 5, 2010 at 11:26 PM
    On Wednesday, I noticed Phil Hagelberg's Android-Duby app playground . This piqued my interest for several reasons, but a primary one is the work Phil Bogle is doing to port iLike's Local Concerts app to the Android platform. Many people have found Java's syntax to be too rigid and verbose, and this makes Duby 's promise t...
  • iPad: Falling Short of the Past

    January 30, 2010 at 9:51 AM
    Steve Jobs announced the iPad this week, and technologists have run the gamut of responses. Some people think it will fart rainbows. Some think its reason-defying sorcery and closed software will inveigle unsuspecting hackers into a gloomy extinction . For the most part, however, the response has amounted to a banal whine...
  • Updating gems for Ruby 1.9

    January 27, 2010 at 6:41 AM
    I recently updated two libraries for Ruby 1.9 compatibility and made them available on Gemcutter . Both of these libraries include hefty C extensions written against the 1.8 headers. After reading Evan Miller's fantastic article on how not to sort by average rating , I really wanted to apply his solution. However, I quickl...
  • Solving cryptograms in Clojure

    December 31, 2009 at 10:33 AM
    While working on Project Euler , I discovered Peter Norvig's elegant Sudoku solver implementation. Although the associated TDD discussion brought me much humor , it was the efficacy and flexibility of constraint propagation and search that really stuck with me. As I implemented this solver in Clojure, I had a small epiphan...