Droid Update Makes Droid Not Suck

December 11, 2009 | technology
Well. At least it makes it suck less. I bought a Droid the day it came out. While it was a tremendous improvement over my BlackBerry, I’ve been disappointed with the phone overall. The battery cover comes off constantly ([2]2, [3]3), the phone’s proximity sensor was extraordinarily finicky (usually resulting in me hitting the “mute” button with my cheek in the middle of a call), the camera was all but useless, and, for reasons I did not really understand, my Android developer phone running...

Kiln's Evolution, Part 1: DVCS as Code Review

November 10, 2009 | personal, programming, technology
One of the things that really sucks about doing online code reviews is that, in all the systems I know, your code reviews do not integrate with your source control. If the code reviews are versioned at all—and they’re frequently not—then they’re in an entirely different system than your real VCS. For larger reviews, where you’re talking about a major piece of functionality, that means that your source control system will end up lacking the history of how a feature came to be. In other words, the...

A Typographer's Captcha

October 15, 2009 | technology
I’m not entirely sure that this qualifies as a reasonable captcha for mere mortals. Perhaps on a typographer’s site…

The Launch of a Secret Product

October 14, 2009 | personal, programming, technology
For the past year, an odd thing has happened, if you’ve followed my doings. My work on Fog Creek Copilot seemed to dwindle, I became tight-lipped about what I was working on, and I started getting really excited about an upcoming product release. Also around this time, my knowledge of Mercurial, Python, C#, and ASP.NET MVC all seemed to dramatically increase, even though my free-time code output shrank to nothing. What was going on? Oh, the usual. I was working on a top-secret brand-new project....

hg log -R tips_and_tricks

October 9, 2009 | programming, technology
I was delighted to find that Steve Losh has begun making a website called hg tip—a site updated on a regular basis with Mercurial tips for both beginner and expert users. The site’s beautifully designed and a pleasure to read. If you use Mercurial, do yourself a favor and go take a look. (My favorite tip, incidentally, is definitely the tutorial on making a command called nudge, which allows you to push only the current head by default, rather than all of them. I’ve been using a variant of that,...

Finally, a Phone I Can Code For

October 6, 2009 | programming, technology
Finally, a phone whose dev program doesn’t make me want to vomit. Now if only Palm would get the Pre out on Verizon faster, I might actually do so…

local_settings.py Considered Harmful

October 2, 2009 | programming
One piece of increasingly conventional wisdom when developing Django applications is that your settings.py file ought to conclude with some variant of try: from local_settings import * except ImportError: pass the idea being that you can put a local_settings.py file on each server with the appropriate information for that site. I would challenge that this approach is wrong. By definition, you cannot put local_settings.py in version control, which means that a critical part of your...

The One in Which I Call Out Hacker News

July 1, 2009 | programming, technology
“Implementing caching would take thirty hours. Do you have thirty extra hours? No, you don’t. I actually have no idea how long it would take. Maybe it would take five minutes. Do you have five minutes? No. Why? Because I’m lying. It would take much longer than five minutes. That’s the eternal optimism of programmers.” — Professor Owen Astrachan during 23 Feb 2004 lecture for CPS 108 Accusing open-source software of being a royal pain to use is not a new argument; it’s been said before, by those...

The One in Which I Say That Open-Source Software Sucks

June 30, 2009 | programming, technology
These days, arguing that open-source software is crap seems dumb. How many websites are powered by a combination of MySQL, PHP, and Apache? How many IT applications, written in Eclipse, run on Java, using SWT widgets? How many design studios rely heavily on The GIMP and Inkscape for their everyday photo-retouching and page layout needs? Er, wait. That last one. Doesn’t quite ring true. In fact, as good as most people seem to insist that Inkscape and The GIMP are, I’ve yet to see a major shop...

Zombie Operating Systems and ASP.NET MVC

June 12, 2009 | programming
In 1973, an operating system called CP/M was born. CP/M had no directories, and filenames were limited to 8.3 format. To support input and output from user programs, the pseudofiles COM1, COM2, COM3, COM4, LPT1, LPT2, CON, AUX, PRN, and NUL were provided. In 1980, Seattle Computer Products decided to make a cheap, approximate clone of CP/M, called 86-DOS. 86-DOS therefore had no directories, supported 8.3 file names, and included the pseudofiles COM1, COM2, COM3, COM4, LPT1, LPT2, CON, AUX, PRN,...