This is BrainLog, a blog by Dan Sanderson. Older entries, from October 1999 through September 2010, are preserved for posterity, but are no longer maintained. See the front page and newer entries.

July 2006 Archives

July 31, 2006

House votes 410-15 to require that "chat rooms" and "social networding sites" be rendered inaccessible to minors on public terminals. Adults will have to "ask permission" to access such sites in schools and libraries. Such sites can include any site that lets users create a publicly viewable profile of personal information, including MySpace (probably the intended consequence),, LinkedIn, and some news sites and blogs. The bill gives the FCC the authority to determine which sites meet the criteria, and includes some guidance, but otherwise uses an exceptionally broad definition for "social networking sites."

July 28, 2006

A Technical History of Apple's Operating Systems: Introduction. Amit Singh releases his 120-page history of Apple operating systems, originally intended for his new insta-classic tome Mac OS X Internals: A Systems Approach, as a free PDF.

OH MY GOD YES: A hack to fix keyboard-based list multi-selection in Cocoa apps to not do that horrible shift-cursor selection growth thing, you know the thing in Mac Mail where you select a message then hold shift and cursor down to select more messages, but you go one message too far so you cursor up, only to discover that what that does is select another message above the top of the list instead of shrinking your selection.

It doesn't work for everything. Finder, for example, retains this selection behavior. But it works in Mail.

The Onion: Wikipedia Celebrates 750 Years Of American Independence.

(No article called "American Inderpendance" on the actual Wikipedia. Yet.)

July 27, 2006

Jeffrey Friedl’s Mastering Regular Expressions will be coming out in a third edition, with new information on PHP and Java 1.5+.

Everyone loves this book, and with regular expressions being an essential yet rather opaque topic, I can see why a good, comprehensive book on the subject is popular. I never owned a copy, partly because I always felt I had a good handle on regexps. (See the Builderoo source code. :) ) Maybe I'll take another look when the new edition comes out.

Some guy asks famous programmers questions, gets answers. Linus Torvalds, Dave Thomas, David Heinemeier Hansson, Peter Norvig, Guido van Rossum, James Gosling, Tim Bray, and Steve Yegge. (Go Steve! :) )

July 25, 2006

Don Norman: Logic Versus Usage: The Case for Activity-Centered Design.

How to backup and restore XP activation.

Red Dwarf, Season 8 is out on DVD. Also available with a skutter toy!

I don't remember these discs being so expensive, though. That's a shame, I didn't get a chance to buy season 7 yet. Now it'll cost $80 to get the last two discs in the collection! That's nuts.

July 24, 2006

Making a Watch by Hand.

July 21, 2006

Hungry Hippo Licks Aunt Jemima writes, "Are you ever gonna break into song again? Are you running out of ideas?"

Hungry Hippo Licks Aunt Jemima, that's a good question. I run out of ideas every day!

Each day I live in mortal fear that I've used up the last idea that will ever come to me.

If you don't want to run out of ideas, the best thing to do is not to execute them.

You can tell yourself that you don't have the time or resources to do 'em right.

Then they stay around in your head like brain crack.

No matter how bad things get, at least you have those good ideas / that you'll get to later.

Some people get addicted to that brain crack.

And the longer they wait, the more they convince themselves of how perfectly that idea should be executed.

And they imagine it on a beautiful platter with glitter and rose petals.

And everyone's clapping! For them!

But the - but the - but the bummer is most ideas kind of suck when you do 'em.

And no matter how much you plan, you still have to do something for the first time.

And you're almost guaranteed the first time you do something it'll blow.

But somebody who does something bad three times still has three times the experience of that other person / who's still dreaming of all the applause.

When I get an idea, even a bad one, I try to get it out into the world as fast as possible.

Cuz I certainly don't want to be addicted to brain crack.

Oh, and thanks for the idea. [Song: "Where the Fuck Do Ideas Come From?"]

— ze frank, "07-11-06," the show

July 20, 2006 Django for non-programmers.

While it's not his point, I've been thinking lately about how these frameworks (Django, TurboGears, Rails) are so good for rapid prototyping that designers could use them to add lightweight data and logic to prototype designs, without the involvement of an engineer. It seems like, at least in some cases and for some people, it could save a lot of time mucking about with sample data in screenshots.

Related: TurboGears' Kid template system uses XHTML attributes to insert templating logic, so the templates can contain their own sample data and render almost perfectly directly in a browser without an application behind them.

Pyro: Python Robotics.

How to use Subversion with Eclipse.

July 19, 2006

Nike+ iPod Sport Kit: First Look. I would totally exercise more if I had a new iPod Nano and new Nike running shoes.

The kit itself is only $30, so if you already have a Nano, you can just stuff the pedometer (accelerometer?) in your laces and go go go. (Funny that Amazon sells the sport kit and the Nano, but not the shoes, yet.)

Ed Felten's new paper on net neutrality discusses the technical aspects of neutrality, and ends with a brief recommendation that, though neutrality is a good and important goal, it may be too early to codify it in regulations. Ed tracks follow-up discussion on this point, where the possibility of the window of opportunity being limited is weighed against the dangers of premature regulation.

So you've got your $50 $80 copy of Parallels Desktop for your fancy new Intel-based Mac, and now you want to run Ubuntu Linux. An excellent choice. But right now (Parallels Desktop Build 1848 June 12, 2006; Ubuntu 6.06), you're going to need a few magic tricks to get it working.

Trick #1: Download the Ubuntu Desktop CD/DVD/ISO, not the Server edition. The Server edition will hang as it is decompressing the kernel. You will be able to install from the Desktop CD after it has booted from the CD.

Trick #2: Set the virtual machine to no more than 512 MB of RAM. Many users (myself included) are finding that starting up the Desktop CD with a virtual machine set with 1GB of RAM or more produces the following symptoms:

  • Start-up seems fine until it gets to the step about loading hardware drivers. It stops and seems to do nothing for several minutes, then the hardware drivers step reports "failed" and boot-up continues.
  • The desktop environment starts up without sound. Sound does not work.
  • Immediately after the desktop starts, a "warning" dialog opens from "Power Manager" reporting "This program cannot start until you start the dbus system service."
  • When you run the installer, it asks you its questions, then opens the "Installing system" progress indicator. It sits at 0% for a long while, then gets to 15% "Detecting file systems..." and stops. The installer is stuck forever, though the rest of the environment is still responsive.

With RAM set to 512MB, everything works. Hardware drivers load readily, sound works, and installation makes it all the way to the end.

You can download the Ubuntu 6.06 Desktop CD ISO image, and set the virtual machine to boot directly from the image. You do not need to burn the ISO to an actual CD.

And hey check this out, someone suggests on the Parallels forums that you can run Mac OS X's X11 server, then forward windows from Linux in Parallels to the Mac desktop. Not only do you get apps in their own windows, but it can also overcome sluggishness in the display of the Ubuntu desktop. That's awesome.

July 14, 2006

Movable Type 3.3 is out.

Microsoft Virtual PC 2004 is now free. PowerPC Mac users can now run Windows in a window for just the cost of a Windows license.

Virtual PC 2007, with support for Windows Vista, will be a free download starting next year. But will it run on Intel Macs? (VPC 2004 does not.)

Update: Damn fine print. Virtual PC for Mac is not free, only some other edition of Virtual PC which I guess is for running virtualized instances of older (or equal) versions of Windows on a Windows machine.

activeCollab, an open source web-based project management and collaboration tool, which some are calling a potential Basecamp killer. Without even looking at it, I can tell that the best feature over Basecamp seems to be the ability to install it locally, so you're not storing your project files on another company's server. I'm not sure Basecamp has anything to worry about just yet, but I'm willing to try any OSS project management tool. Based on PHP and MySQL.

GnuCash 2.0 has been released. Building and installing it makes GnuCash feel like a friggin' monster, but it really is an exceptionally cool and immediately useful finance application once it's working.

July 13, 2006

ridiculous_fish: The Treacherous Optimization. Inventor of snappy Mac OS X hex editor Hex Fiend tries to out-perform Unix grep.

Cambrian House wants to develop your ideas. Cambrian House wants you to help develop other people's ideas. Cambrian House will sell the results, and when they do, everyone gets paid. It's a neat idea with a snappy web site (and lots of full-time employees, jeez). But will it work?

Are Canadian Web 2.0 companies cooler than Bay Area Web 2.0 companies?

July 12, 2006

Introduction to Probability, an introductory book published by the American Mathematical Society, and available as a free download. Released under the GNU Free Documentation License. See also the "additional resources" links on that page.

Everyone needs to understand probability much more than they currently do, myself included. I enjoy acting without thinking as much as the next guy, but for important stuff, proper risk analysis cannot be skimped. See also.

ArsTechnica reviews Parallels Desktop. I didn't even know about the Parallels Tools for Windows XP that enables clipboard sharing and seamless mouse transitions, among other things. And the Bonjour USB printer trick they mention is essential, too.

Parallels costs $50 until July 15, when the price jumps to $80, possibly due to public endorsement from Apple and statements by Apple employees that virtualization will not be a feature of Mac OS X 10.5 Leopard. And it's a kick-ass underpriced product--though you also have to take into account the cost of Windows XP, if that's what you're running.

July 11, 2006

Rethinking Community Documentation.

Newbie Emacs tip: This one is straight from the manual:

If you want Shell mode to handle color output from shell commands, you can enable ANSI Color mode. Here is how to do this:

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

July 10, 2006

Akismet is an anti-blog comment spam service developed and run by Automattic, makers of WordPress. The service sounds a lot like what MT-Blacklist wanted to be, a central repository solution, but with fancy scoring, and proper scalability (or so they claim). It works with WordPress, Movable Type, and many others, and has an open API for integrating into other software like web message boards. And it's free for personal use.

Strangely, the day I installed Akismet, I started getting unusual comment spam consisting of random-seeming collections of letters in short word-like formations, with no human-usable information or URLs. I'm guessing they're probes for vulnerable forums, where a site's vulnerability is easily tested by performing a search for one of the random strings. (I assume similarly for the "My coworker just bought a car for $#####" spams, where ##### is a random number—but only because I can't think of a better explanation.) I doubt my own theory on the grounds that there are other ways to test the effectiveness of spam, and that it doesn't seem necessary to scrub lists of blogs for effective targets, since it's so cheap to blanket them all. But I don't really know.

In any case, the randomness and lack of typical spam payload (URLs) makes them especially elusive from Akismet's anti-spam strategy, so I'm still stuck moderating them despite the newly installed plugin.

Sure enough, the just released Mac OS X update 10.4.7 enables two finger right-click on 15" MacBook Pros.

For the record, I went with the 17". I refuse to admit that the two-finger right click had any influence on that decision.

Yahoo! Messenger 3.0 beta-1 for Mac is now available. It includes cross-platform webcam support, which means the next time I want to suggest video conf'ing with my Windows-endowed father, we have an alternative to the poor experiences we've had with AIM. (The iChat side is great, but I'm told I appear as a postage stamp on the Windows side.)

July 7, 2006

Discord at the Seattle Symphony Orchestra.

I've wanted for several years now to do a documentary series about the Seattle Symphony Orchestra. If I had started pursuing the project when it was first conceived, the results would have been as compelling as I had imagined. I bet it's not too late.

Great Photographers on the Internet, if famous photographers posted their work to Internet photography forums.

Farecast, the airfare predictions service, has opened up their beta test to the general public. For the last few months they've been generating buzz with a private beta. It's still limited to flights leaving Seattle and Boston, but hey, I live in Seattle.