2009 04 03
Recently read: Dreaming in Code

Scott Rosenberg. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software

A few years ago, I saw an announcement about a revolutionary new program that promised to change the way we manage our digital lives. We often keep to do lists in one program, manage our email with another, handle our schedules with a third, and so on. But what if—oh, what if indeed!—all these functions and more were gathered into a single program that made swapping information between these different spheres seamless and easy? What if an incoming email could be turned into a to do item as it arrived and then attached to a date in your calendar? (What? You can do that now in Gmail? Remember that this was a few years ago, and Gmail still lay in the future.) Cool! And this project was open source! It was being developed under the leadership of a software veteran, Mitch Kapor, who made a fortune on Lotus 1-2-3, and was now helping to bankroll the project out of the goodness of his very good heart. It sounded to me like all kinds of awesome.

But when I checked out the actual program, called “Chandler,” it quickly became clear that the project was still in its infancy. Indeed, it carried a warning that you should not under any circumstances trust it with important information. When I downloaded and installed it out of curiosity anyway, I quickly realized that the warning wasn’t just a modest cover-your-ass disclaimer. Chandler was buggy and incredibly slow.

After that, every once in a while—especially when trying to organize my digital life—I would wonder what happened to the project that promised to change everything. But whenever I did check it out, Chandler seemed to have made little progress since I last looked. I would wonder idly what was going on, and then move on.

And now I know what was going on, because the project had a chronicler, Scott Rosenberg, who followed it for three years and then wrote a book about it. Dreaming in Code is about the many setbacks, delays, dead-ends, and minor triumphs that took the project from a glimmer in Kapor’s eye to . . . well, not to the release of a polished product, unfortunately. By the time Rosenberg gave up waiting and published his book in 2007 the project still wasn’t complete. (The 1.0 release didn’t actually happen until the end of 2008.)

Dreaming in Code uses the story of Chandler to explore larger questions about software development. It asks why software is so hard to write, often so buggy, and why software projects are so plagued by cost overruns and scheduling disasters. Of course most human projects of even modest complexity are radically imperfect. But each branch of human endeavor has its own special difficulties, and software design is not an exception.

Software developers may find the book interesting, but they should be prepared to wade through a lot of background material that Rosenberg needs to assemble in order to make this story accessible to non-programmers. This is not the most elegant book ever written, but the story moves along at a decent clip, especially considering that the story is often about the lack of progress with Chandler, and it does a reasonable job of conveying its central message: that software setbacks and disasters happen to even the smartest and most hardworking of us.

As for Chandler, you can see for yourself how it turned out. It seems a bit slow on start up, and it still lacks many of the features originally imagined for it all those years ago, but it looks nice and runs on Mac, Windows and Linux.

As for me, I’ve since migrated most of my stuff (email, calendar, etc.) to web services like gmail. I’m not completely happy with that solution: gmail has legendarily bad customer support if something goes wrong, and it’s not open source, so I can’t look at the code and learn from it the way I could with Chandler, or customize it in ways not imagined by its creators, the way I can with emacs. So for now, I’m still dreaming of the perfect solution to my digital disorganization.

Comments Off

2008 02 18
PSA: WordPress’ pretty links

I had a subversion repository and a WordPress installation in the root of our little record label‘s domain. After changing the permalinks in wordpress to “pretty links” (that is, with a custom structure, instead of the ugly url endings like “?p=2228″), I wasn’t able to access subversion.

The “Customize Permalink Structure” page in WordPress’s administration panel really ought to explain two things clearly:

1. Setting up pretty links in wordpress is only possible if you use apache, since it uses .htaccess, which a MS server doesn’t use.

2. Using custom links will screw with .htaccess in such a way as to disable a service like subversion if your repository is in the same root as the wordpress installation.

You can fix the problem in #2 by either editing the .htaccess to add an exception for each repository, or you can just set up your repos in a subdomain. That’s what one of the Dreamhost supports guys told me, and after I chose the latter option, it worked.

Looking back, it was probably stupid to have them both in the same place anyway.

Anyway, that’s what you do, if you find yourself in this situation.

Now, may Google smile on my post and make it useful to others.

A single voice crying in the wilderness (1)

2007 09 13
Sam Williams’s Free as in Freedom: Richard Stallman’s Crusade for Free Software

Sam Williams. Free as in Freedom: Richard Stallman’s Crusade for Free Software.

This is a quick, basic biography of Richard Stallman, the man responsible not just for some awesome programs (most awesomely, from my point of view, Emacs), but also the Free Software Foundation. Williams takes us through Stallman’s early life to his days as a hacker at MIT and then on through a lifetime as an advocate for free software.

The book’s title conveys the sense in which Stallman thinks software ought to be free: the issue is not money, it’s the right to see and modify the source code of the programs your computer is running. Stallman dissents from the Open Source movement’s emphasis on the practical benefits of having freely available source code. For Stallman the issue is one of freedom, and the right to modify that source code to suit your own needs. These would be important even if Open Source turned out to be an inferior model for software development in other respects.

What about the incentives for developing new software on the model Stallman favours? Stallman addresses this by arguing that programmers might reasonably charge clients for consulting on software, even if the code doesn’t happen to be proprietary.

As part of the effort to provide a legal basis for his ideas, Stallman was instrumental in the creation of the GPL, a version of copyright (called “copyleft”) that permits use of the original program and any derivatives created from it, so long as those derivative creations are similarly protected by the GPL. Whether the issue you care about is freedom or efficiency (or both), it’s hard to deny that we owe an incredible amount of great software to the GPL and the framework for software development that it helped support.

Williams tells his story with the occasional moment of humour, and as far as this newbie could tell, handles the ideas in his book fairly clearly. The book is also released under the GFDL, meaning that you can read the entire thing online here, which is a nice touch, and in keeping with the philosophical views of his subject.

Two complaints, however. First, Williams is not exactly the world’s greatest prose stylist. Here is an especially awful passage:

For Stallman, the months spent playing catch up with Symbolics evoke a mixture of pride and profound sadness. As a dyed-in-the-wool liberal whose father had served in World War II, Stallman is no pacifist. In many ways, the Symbolics war offered the rite of passage toward which Stallman had been careening ever since joining the AI Lab staff a decade before. At the same time, however, it coincided with the traumatic destruction of the AI
Lab hacker culture that had nurtured Stallman since his teenage years. One day, while taking a break from writing code, Stallman experienced a traumatic moment passing through the lab’s equipment room. There,
Stallman encountered the hulking, unused frame of the PDP-10 machine. Startled by the dormant lights, lights that once actively blinked out a silent code indicating the status of the internal program, Stallman says the emotional impact was not unlike coming across a beloved family member’s well-preserved corpse.

Forget the overwrought quality of the passage. What the fuck is a reference to pacifism doing here? Pacifism is a view about violence, typically political violence. It has nothing in common with passivity. That’s why you can be aggressive in promoting your pacifism without contradiction. And this quirk comes up again!

Whatever the outcome, the bickering solidified Stallman’s resolve. With no source code to review, Stallman filled in the software gaps according to his own tastes and enlisted members of the AI Lab to provide a continuous stream of bug reports. He also made sure LMI programmers had direct access to the changes. “I was going to punish Symbolics if it was the last thing I did,” Stallman says. Such statements are revealing. Not only do they shed light on Stallman’s nonpacifist nature, they also reflect the intense level of emotion triggered by the conflict. ((It’s true that the next bit of text goes on to discuss violence, but the reference to pacifism here is still inappropriate.))

The other complaint I had about the book is that at times I wanted Williams to push Stallman a bit harder on some basic concerns that even someone sympathetic to Stallman’s position might have. I was trying hard while I read the book to imagine an alternate history of software, in which the GPL was from start to finish the industry standard. I wanted to believe that this was a better world, but wasn’t sure about some of the details. And even if for Stallman the focus needs to be on freedom, rather than efficiency, anyone interested in evaluating his proposal needs to spend quite a bit of time worrying about the economics of software development, and whether the GPL could have met everyone’s needs equally well.

That said, I enjoyed the book and don’t regret the time I spent reading it.

Comments Off

2007 02 20
My dotemacs

Posted by in: Emacs, Software

I’m sick and tired of being known as little more than a hunk with rippled abs and chiseled buttocks. It’s almost enough to make me drop my plans for the forthcoming “Men of Explananda” calendar, which has long been in the works. Therefore, I have decided to reveal my dotemacs file, both for the edification of the world, and so as to prove for once and for all that behind this pretty face is the mind of a true geek.

Howls of outrage (12)

2007 01 23
Emacs question

Posted by in: Emacs, Software, tech-sci

(Non-geeks stop reading now.)

How do you customize emacs (running in MS Windows) so that it starts off maximized? I assume that you want to specify the frame size of the initial buffer in your _emacs file. But Googling only reveals customizing the initial buffer size by specifying dimensions, like so:

(setq initial-frame-alist ‘((top . 1) (left . 1) (width . 70) (height . 28)))

But that sucks. It’s not the same as maximizing the damn program, even if fiddling with the numbers could get the same effect as maximizing, which it doesn’t. (And the commands which do maximize the frame size end up pushing the minibuffer off the screen.) I’m trying to do this with my _emacs file without going into my registry.

Or is this so confused that the question doesn’t even make sense?

Update: Answer here.

Howls of outrage (15)

2006 11 27
Changes coming

Posted by in: Odds and ends, Software

Using this fantastically helpful set of instructions, I recently set up a WordPress installation on my home computer. I already use WordPress for my teaching blog and to run Yoon’s blog, but I’d been putting off switching over this blog from its old Movabletype software to WordPress. (I wanted to do this because Movabletype won’t allow an upgrade to a group blog without our having to pay for it. And because WordPress is just awesome.)

Have I mentioned that WordPress is awesome? Well, having an installation on my home computer allowed me to goof around a lot to see what I could do with it. A lot, it turns out. In the end I was able to get something running that kept the look and feel of Explananda (because CHANGEBAD), but with a few nice extra features.

Anyway, you shouldn’t notice anything for a while, since over the next month or two I’ll be setting things up in the background and importing a bunch of files. But things will get a bit spiffier around here after that.

Howls of outrage (11)

2006 08 31
MS Vista

I’ve been watching the news about Microsoft’s new operating system, Vista, off and on since (I think) the first word of it a few years ago, back when it was called Longhorn. At first it sounded like it had a lot of bells and whistles, not all of which were obviously desirable. Then, for a long time, most of the news was about the gradual discarding of many of those bells and whistles. The consistent element in the emerging story has always been a bloated operating system, with absolutely gargantuan needs in terms of hardware needed to run it.

The conventional wisdom seems to be that MS is heading for a disaster. Frankly, I’ve been struggling for a while to see any other plausible way of reading the evidence. Read this, for example, and tell me that people, that companies, are actually going to put up with this bullshit. I mean, path dependence counts for an awful lot, but holy kershmoley, will people really be willing to pay so much money to upgrade computer systems for such crappy reasons? The line seems to be that, ok, so you’ll need to buy very fancy hardware to run this operating system, but there may even be a net gain when you take into account increased productivity, fewer support calls, etc. etc. etc. But all of this is an obvious lie, especially when you consider that even a very smooth transition to a new operating system is bound to encounter some real bumps.

Anyway, the official Chris of Explananda line, for all of you keeping track at home, is that Vista will be a disaster for Microsoft. I’d dump that stock now. And, hey, I recently installed Ubuntu on an old hand-me-down laptop that came my way. More on that some other time, if I get a chance.

Howls of outrage (2)

2006 07 06

As I mentioned earlier, my poor laptop finally became unusable, so we shelled out – or rather, our credit cards shelled out, and hopefully we’ll pay them back someday – for a desktop. I’m happy with it so far: A Dell with a 19 inch flat screen monitor, a gig o’ ram, a decent processor, and a 160 gig hard drive. It cost $750 after tax and shipping, which is not bad at all, considering. And it actually arrived a day before its estimated ship date.

Anyway, once I had the desktop set up (and good lord, Dell likes to ship those things just filled with useless crap, so it took a while), I did something I had been meaning to for a while: volunteered with a distributed computing project.

Here’s how it works. You install a program on your computer. When you’re not using your computer, it starts running computations for part of a much larger project. It doesn’t slow down the computer at all – as soon as you touch your mouse, the program fades into the background and stops its work. Once it’s done the project, it uploads the results to a central server, and gets a new assignment.

Yeah, yeah – you’ll be worried about privacy and spyware and crap. I don’t think there’s much to worry about, though, if you pick a well-run and transparent project. Any other downsides? Well, your computer will be running quite a bit, but I’ve spoken with someone who knows more about this than you do, and he tells me that the computer will be dead for some other reason long before it dies from this sort of use. The software for these projects is also usually highly configurable, so you can choose how often it writes to disk, etc. etc. etc. if you’re really fussy.

Anyway, the project I volunteered my computer downtime for is hosted at Click around the site and see for yourself. I’m not exactly sure what my computer is doing, but judging from the screensaver, it appears to be simulating the earth’s climate from 1920 to 2080. I installed it on June 30th, I think, and so far it’s finished 0.627% of the project assigned to it, which is due Jan 29th, 2008. So, big project, huh?

I really like the idea that my computer can be useful to a worthwhile project like this.

(You can also volunteer to have your computer crunch prime numbers, do cancer research, investigate the behaviour of proteins, and more. I’m too lazy for links, but if you can’t figure it out, and are dying to try one of those, let me know and I’ll help you out.)

Comments Off

2006 06 30
Public Service Announcement: Netgear USB Adapter and ZoneAlarm

Posted by in: Software, Technology

This is for people googling for help with their netgear wireless USB Adapter (WG111v2). I googled in vain for help; this post is written so that you will not have googled in vain.
Continue Reading »

Comments Off

2005 11 07
Library Thing

Posted by in: Books, Software

Library Thing is great fun. And the more people who join, by gum, the funner it is. So join! My collection is slowly being entered. (I’m being lazy about tags and so on for now. I’ll tidy up later.)

When I get all my books entered, I’ll still have a small collection in comparison with a lot of other people on Library Thing. Hey, I have a small budget and a Brooklyn apartment. Still, there will be enough books to explain why one of my wife’s friends turned to me once while we were moving (and after he had carried far too many boxes of books) and said, “Fuck you, book boy.”

(Thanks to Crooked Timber for putting me onto this.)

Howls of outrage (7)

2005 10 21
OpenOffice 2.0

Posted by in: Odds and ends, Software

OpenOffice 2.0 is now available for download. The Office suite is a free, open source alternative to Microsoft Office.

I’ve been using (earlier versions of) it for about two years now without any problems.

Comments Off

2005 07 02
Google Earth

I’ve been trying out Google Earth the last few days and I’m happy to declare it The Coolest Thing EVAR. The program, which you install on your PC, allows you to tap into an enormous collection of satellite images and manipulate them in various ways. The program lets you angle your view, zoom in and out, and fly all over the place – your neighbourhood, the Grand Canyon, whatever. There are tons of cool features: You can measure distances, for example. One of the first things I did was fly up North to my grandparent’s cottage to measure how far my swim across the lake is (0.82 miles each way, if you swim it straight, which of course I don’t). I also spent a lot of time flying around the Mediterranean and New York City.

Eventually, I made my way over to Iraq. I was especially interested to see Fallujah. Google says that its satellite images were taken within the last three years. The Fallujah images surely predate the city’s recent troubles, since you can zoom in and see cars and trucks on the highways, and things look generally unblown-to-shit. I’m curious about when they’ll get around to updating the satellite photos of Fallujah. I’m also curious about how exactly those photos will compare with the currents ones. Or will they be old news? Are there already (unclassified) good resolution before and after photos of the city out there, and I just never heard? Anyone know?

Howls of outrage (8)

2005 06 21
ScrapBook Firefox extension

Posted by in: Software

Gosh, this looks handy.

Howls of outrage (4)

2005 05 08
Firefox Security Flaw

Posted by in: Software, tech-sci

A fairly serious security flaw has been found in Firefox. But there’s an easy fix, until they patch it: just go into Tools –> Options –> Web Features. Then make sure that “Allow websites to install software” is unchecked. It’s checked by default, which is extremely stupid, so you’ll probably need to do this.

I’m insanely busy now, so I won’t be posting much for at least a week.

Update: Oh yeah, and Mac-heads can wipe that silly smirk off their faces.

Comments Off

2005 03 24

Posted by in: Music, Software

A handy tool, for when Gracenote lets you down:

Free software MusicBrainz analyzes your digital music collection and fills in missing artist and song title information for your MP3Â’s and CDÂ’s.

Via Lifehacker

Comments Off