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.

March 2006 Archives

March 30, 2006

Shaking up tech publishing: Dave Thomas talks about the success of 37signals's self-published e-book Getting Real and claims it's the wave of the future for tech publishing. Then Tim O'Reilly responds in comments, with several thoughtful back-and-forths between Dave and Tim.

I did buy a copy of Getting Real. It's OK. If I had seen it in a bookstore, it would probably have cost $29 or $39, and I would not have bought it. But for $19, it's not a bad little book. It has the advantage of being a good candidate for an e-book; it's not something I would want a permanent hard copy of.

How OS X Executes Applications.

The confabulating-arranger model of IF, an old (1994) essay by Jorn Barger on artificial intelligence and interactive fiction. More from Jorn on IF.

March 28, 2006

Visual Paradigm makes a complete Model-Code-Deploy platform tool with a UML tool, integration with several major IDEs (including Eclipse 3), and more. The UML tool is available in a free "community" edition. Available for all platforms, including Mac OS X and Linux.

Why You Should Choose Math In High School.

How to draw a detailed cutaway technical illustration of a cruise ship using Adobe Illustrator.

March 27, 2006

Cocoa Text System, a fantastic, detailed introduction to text entry works for most Mac applications, and how to customize it. For geeky power users as well as developers.

See also his list of default Mac OS X text entry key bindings, which includes many tips I absolutely must learn. Frequently Asked Questions. The Oxford Word and Language Service team answer many of your language questions. (Thanks Jason.)

March 25, 2006

FCC Chief Kevin Martin supports a tiered Internet.

FCC Chief Kevin Martin supports erasing decades of communications policy to exempt Verizon from common carrier obligations.


March 24, 2006

What Happened To Dynamic Range, an audio engineer's discussion of why modern music sucks. Reviews for 1-2-3 Magic: Effective Discipline for Children 2-12: Books: Thomas W. Phelan:

36 of 94 people found the following review helpful:

[1 of 5 stars] I'd give it zero stars if that were possible, September 26, 2004
A Kid's Review
Hi, I am ten and I read this book in less than 2 hours. It was a very irritating book. The main idea is that children should do what their parents want all the time because "the parents are right". Always. Yeah right, nobody is always right. In fact, the fact that the parents brought another kid into a world that already has too many people is proof that they are pretty stupid (ever hear of adopting?) Okay, another idea of the book is that certain behavior should be squashed as soon as possible. This is stupid because it trains children to follow everything somebody says, blindly. When they grow up what are they going to do? Conform to anything if the person starts counting? I wonder how many parents realize that they are brainWASHING their kids to be Pavlovian dogs. Another idea of this book is that there are such things as bad words. This is pretty stupid. A word is a word and people that react to "swears" are hypocrites. The same adults that tell a kid not to swear watch TV shows full of swears. It is STUPID!!! I live in a foster home. My last foster parent read this book and tried to do it on ME because I am "argumentative" and got mad about having a babysitter (what for? I know how to dial 911, won't set a fire and can pretyt much do everything an adult can do included but not limited to driving)! So we would get in lots of arguments\. But then I tried doing the same things to hear and counting when she was acting unreasonable (like telling me I am too young to read Steven King books). Now I am in a new foster home (it was like magic, that part) where they encourage me to debate. I am now in the gifted program at school too. Brainwashing your kids to do what you want without thinking is the same sort of belief system that let the Nazis get off the ground in 1939. And we all know how that ended! CHILDREN ARE SPONGES SO PLEASE TEACH YOURS TO LEARN TO THINK FOR THEMSELVES AND RESPCT YOU BECAUSE YOU ARE WORTH RESPECTING, NOT BECAUSE YOU ARE OLDER AND PHYSICALLY STRONGER. Unless of course you want your kid to be so susceptible to "training" that they have breast implants at my age. My advice to parents is instead of trying to make your kid perfect without fights ( part of being a parent IS debating and encouraging discussion not squashing it by counting) is to stop smothering/overpretecting your kids and letting them find out for themselves what happens when they mess up. If you warn them first but dont restrict them, they then respect you for two reasons; being able to give good advice AND having enough courage in their (the kids) strength and intelligence not to make decisions. The only time I think a parent should interfeer is when there kid might die otherwise. I think the reaosn we have less existentialists these days is because children are programmed. Its probably the same reason we have less geniuses.

Remember, have respect for your kid and their intelligence and they will have respect for you and yours.

Jacob, age 10 for Mrs Corners grade 9 class in T.O., Canada

SXSW to MPAA: STFU, Derek Powazek on the real victims of piracy.

March 23, 2006

3-D remake of Marble Madness. And it's free!

First time geek parents, rejoice! Trixie Tracker has launched. Developed by a geek father to journal his newborn's every movement (so to speak), he has refined the software so others can use it. (Thanks Matt.)

What Is Java. Ooh, a new flavor of Kool-aid! Yum! ;)

March 22, 2006

Nintendo DS Lite First Look, with video. Nintendo DS Lite Second Look follow-up video.

Entrepreneurial Proverbs. Awesome. (Thanks Matt.)

testosterone, The Manly Python Testing Interface. A curses-based test runner GUI for Python. Looks like a nice product, but I mostly link it as an example of the power of screencasting. I probably would have ignored this completely if it weren't for the screencast demo. (Though I admit the silly name got me to the web site in the first place.)

March 20, 2006

The Making of "Shadow Of The Colossus".

Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission; to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.

It provides an interface to Subversion, an integrated Wiki and convenient report facilities.

Trac allows wiki markup in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, changesets, files and wiki pages. A timeline shows all project events in order, making getting an overview of the project and tracking progress very easy.

IF is history! Interactive Fiction in the news. On how the press reports on contemporary text adventure games.

March 17, 2006

Spore Gameplay Video. Wil Wright's new game will change the world. Watch all 37 minutes of this talk, then aw with me as the video cuts off the end of Wil's presentation.

I actually can't tell if the game will be fun, but the user-created content aspect is one hell of a takeaway from this talk. Wil emphasizes that this is not a multiplayer game, yet it uses the Internet to communicate with other players to drop stuff they've built into your universe. I want to know if the game uses a fitness evaluation to establish difficulty ratings for user-created content and level my universe according to my own progress. (At first glance, Spore probably doesn't need such a feature, but I can't tell without playing it.)

Introverts of the World, Unite! A conversation with Jonathan Rauch, who wrote the most popular article on The Atlantic's web site, Caring for Your Introvert. (Thanks Jason.)

Ten of the Biggest Mistakes Developers Make With Databases, by Mike Gunderloy.

March 16, 2006

37 Signals is self-publishing their e-book, Getting Real: The smarter, faster, easier way to build a successful web application. $19 for a PDF. It has been selling well, and since the $19 cover price is mostly profit, that's a big deal.

Javascript in Ten Minutes. Part of Yet Another Javascript Reference (YAJR).

Most of the reviews of the new MacBook Pro are saying pretty much the same thing, enough so that I've stopped paying attention. It took David Pogue's review to clue me in to the fact that the lack of a built-in modem, which I had previously dismissed as irrelevent to my own life, means I would not be able to send or receive faxes. I don't fax often enough to get a dedicated fax machine, or even an external modem or modem card for that matter, but when I do need a fax, I've been grateful that my laptop has been a reasonable substitute. I actually will miss the built-in modem on the new MacBooks, and might even buy an external modem just to compensate.

March 15, 2006

Amazon Web Services launches storage service. Inexpensive, high reliability storage behind a web services interface. It's three interfaces, really: SOAP for people who like SOAP web service frameworks, a real REST API for full application access and direct serving of objects to web browsers, and Bittorrent downloads for any object.

Commentary from TechCrunch, ArsTechnica, NoiseMore.

What WarioWare can teach us about Game Design. (Thanks Rebecca.)

Rotation Of The Earth Plunges Entire North American Continent Into Darkness.

March 14, 2006

One of the main selling points of Inform as an interactive fiction design system/programming language has always been its documentation. The Inform Designer's Manual, 4th edition is an exceptional tome by Inform's creator, Graham Nelson. It's fun to read, and it's useful both as a reference for Inform 6 and as a narrative about creating text adventure games. It includes extensive, thoughtful chapters about designing interactive fiction, IF technology and world modeling, and the history of interactive fiction.

The Inform Beginner's Guide, 3rd edition by Roger Firth and Sonja Kesserich takes a tutorial approach to Inform. It cleverly introduces Inform programming through three complete short works of IF. Its treatment is easy and blissful. Both DM4 and IBG are great books, and that they exist at all is somewhat miraculous.

Several years ago, a significant effort was made to get DM4 and IBG typeset and published as physical books. David Cornelson led the attempt to get them set up with a print-on-demand service that would make the books orderable from any major bookstore (including, with ISBNs and everything. At the time, print-on-demand was a tricky business, and while the effort successfully produced a limited number of professionally printed and bound copies, it could not be sustained. I was lucky enough to catch the tail end of this effort, when David was liquidating his extra copies, and I was able to snag one of the last available copies of DM4.

Last year is when I first heard of Lulu is a print-on-demand service that boasts super-easy, super-fast set-up and web-based self-service account access. Best of all, Lulu has no set-up charges and no minimum order, so you can go from uploading a print-ready PDF to making the book available for purchase from Lulu's web site without paying a cent. You can then buy a copy of your book at a wholesale price, and you can even set the cover price to "at cost" to share it cheaply with others.

I was eager to try Lulu out, so I grabbed a PDF of interest off of my hard drive—Roger and Sonja's IBG—whipped up a cover using Lulu's web site, and in less than 10 minutes was able to order my own copy of IBG for about $10. I didn't have the authors' permission to do this, but I figured that since Lulu lets you keep your title private, and lets you completely purge a title at any time, I could consider it a one-time printing like I would at a Kinko's. I was so impressed with the result, however, that I excitedly approached the authors to ask for permission to make it available to everybody. Thankfully, they agreed, and even provided me with the official cover art from the previous printing effort. Because Lulu has no set-up costs and no maintenance costs, publishing IBG was effortless, and is indefinitely sustainable. (ISBN service, such that would make the title available from, is a one-time set-up fee. You can go without and just have the title purchasable from, no charge.)

Of course, I then wanted to do the same for DM4. Graham was pleased that DM4 could once again be available in print, but he noticed that Lulu only has one printing location, in New Jersey. IF has quite a bit of international appeal, and international shipping rates and wait times from Lulu are rather uncomfortable. Part of the point of print-on-demand, in theory, is to make an electronic copy of a work available to printers around the world, and have the book printed close to where it is ordered and shipped inexpensively.

We went looking for POD services with both US and UK support, and ended up at the same POD service David used several years ago: Lightning Source, Inc.. Part of what caused the previous effort to fold was a requirement LSI used to have about only being willing to work with incorporated entities. David had actually formed a publishing "company" to work with LSI. Perhaps due to demand for end-to-end POD solutions for self-published authors, like Lulu, LSI has since relaxed their rules, and now welcomes direct relationships with authors—but cautions authors about the need for expertise in producing print-ready files. (In contrast, Lulu features some simple, automated methods for throwing together a cover file if you don't have one, and for automatically scaling a PDF to a trim size.)

LSI's warning is well-heeded. While I know I could do it more easily a second time, it took me six attempts, at $30 a proof, to get print-ready cover art and text to work correctly with Lulu's printers. We had funky PDFs we were working with, generated years ago with a hodgepodge of LaTeX scripts and glue and twine. The first misprint had some rather amusing font substitutions, such as every "i" printed as a "z". Our cover art had a problem that required me to re-set the title on the spine, and I kept getting the bleed wrong, partly because LSI kept trying to save time by fixing it for me (and charging work fees) so I didn't know my file was broken. But a handful of learning experiences with Adobe InDesign and Acrobat later, and I had a perfect proof.

So now The Inform Designer's Manual, 4th edition, is available from or from, and The Inform Beginner's Guide, 3rd edition, is available from You should be able to order it from any bookstore with the ISBN 0-9713119-0-0. David and I are working on a hardback edition. Check it out, I'm a "publisher".

My announcement to the Usenet group was drowned out by heated conversation about Inform 7, and indeed one should be asking what use there is for books on Inform 6 if Inform 7 will be out in public beta soon. The answer—that Inform 7 is radically different, that Inform 6 will continue to live on as its own language, that Inform 6 is the official way to write extensions for Inform 7, that DM4 will not be revised and is full of other cool stuff besides a description of I6—is probably only mildly convincing to bloodthirsty IF'ers. But I hope that to whomever these books are useful or interesting, they will be aware of the ability to purchase nicely bound versions.

Postscript: I recently purchased a used copy of Creating Adventure Games On Your Computer, by Tim Hartnell. Published in 1984, Hartnell's book covers the development of text adventure games with BASIC. This book was simply inspiring to me in my youth. I cherished it for many years, and I'm loving owning it again, even though it contains nothing of interest to me now. As Hartnell's book was inspiring to me as a child, Nelson's Designer's Manual is inspiring to me as an adult, and I will continue to enjoy owning a printed copy even if I never do anything substantial with Inform 6.

March 13, 2006

The art of interactive fiction, an outgrowth of text adventure games from the earliest days of computer gaming, has been surprisingly steady with development and activity for the last two decades. There are a dozen or so major computer programming languages and game design systems (and dozens more less major), and hundreds of games written by hundreds of authors. The IF community primarily resides on Usenet (another relic too active for mothballs), and, to those with experience with and a stomach for Usenet buffoonery at least, the community is strong, smart and well-intentioned.

One of the more popular IF development systems, Inform (see also), has been holding steady in its last major public incarnation, Inform 6, for a while now. The community has long known that its virtuosic inventor and core developer, Graham Nelson, has been working on a major overhaul of the language, known as Inform 7. Graham has been working on this massive project mostly in private for several years, with the help of a few major authors and scholars. News of I7 activity has been highly sought-after.

Accomplished IF author and Inform 7 collaborator Emily Short recently announced a few short works written in Inform 7, along with some information about the current status of the project. The immediate response, surprisingly, was one of confusion, perhaps from the expectation that we would learn something about I7 from these examples. The actual intent was merely to release a few games which also happen to be examples in the upcoming I7 documentation.

I mention the games because I like them a lot, as games. Bronze is a fabulous game for introducing interactive fiction to people who have never played a text adventure, including an innovative in-game help system and a nice booklet. Damnatio Memoriae features fancy interactions with the world model the author claims was not realisticly possible in Inform 6. The Reliques of Tolti-Aph, Graham's own contribution, will take further play for me to describe properly, but is fun and includes a nifty "feelie" booklet.

("Feelies" are a throw-back to Infocom text adventures that came with an assortment of papers and toys meant to represent objects from the game. They were once intended to discourage piracy, or encourage sales depending on how you look at it, but nowadays are just for added fun. Feelies are rare in contemporary IF; most authors barely have enough time to get the game working properly.)

To play any of these games, download an "interpreter" for your computer (Windows Frotz for Windows, Zoom for Mac OS X and Zoom for Unix), and the "story file" for the game from the links above.

(People who have played IF via an interpreter should note that these are Blorb 2.0 files, not Z-machine files. Only a few interpreters, such as these two, support Blorb 2.0 at the moment. Inform 7 will probably motivate all of the major interpreters still in development to adopt the new standard.)

March 10, 2006

hello, nintendo: Penn & Teller's Magic Bus Veers Right. A brief essay on variance in video games, with several very entertaining links.

Metreon's shattered dreams, the story of the failure of San Francisco's high tech mall. I quickly grew to hate that place when I was staying in a nearby hotel a few years ago.

March 9, 2006

Bona Fide OS Development Bran's Kernel Development Tutorial. A tutorial on writing a kernel for an operating system. Neat!

Windows XP running on an Intel Macintosh via VMware. "To anybody who has used Windows XP under Virtual PC on the PowerPC version of Mac OS X: you will simply be blown away by how fast Windows XP runs under VMware on the new hardware."

The Princeton Review Vocab Minute uses silly songs to broaden your vocabulary. Heh. (Thanks Mom.)

March 8, 2006

Ruby Quiz, a quiz-of-the-week mailing list and web site for Ruby programmers.

I was sorry to see MJD's Perl Quiz of the Week peter out. The problems people were proposing took a turn toward computer science problems and away from Perl-specific knowledge development, though it seemed there was an interest in both. Every once in a long while, someone will post a little problem to the list and get several responses, with no complaints about the list being dead, so I bet it would take little effort to revive it. MJD kept the bar pretty high for formulating questions and evaluating and writing up answers, though.

Leo is: 1) a programmers, outlining editor and a flexible browser, 2) a literate programming tool, 3) a data organizer and project manager. 4) fully scriptable using Python, 5) Portable. will run on any platform with Python and Tk/tcl., a whole bunch of interactive music lessons. You can even download the whole site for offline access. (Thanks Jeremy.)

March 7, 2006

ajax chess, an adorable anonymous in-browser multi-player chess site.

Ultimate++, a rapid-development cross-platform UI toolkit for C++ programmers. "Rapid development is achieved by the smart and aggressive use of C++ rather than through fancy code generators. In this respect, U++ competes with popular scripting languages while preserving C/C++ runtime characteristics."

Living “The Life” for a week. Part time indie Mac developer Luis de la Rosa takes a week off from his day job to try out full-time indie Mac development, and blogs the whole week.

March 6, 2006

5 Mac OS X apps to rescue the distracted, another brilliant list from Merlin.

A former coworker of mine had a popular blog internal to the company, where he posted long, thought provoking, controversial essays on programming languages, tech hiring practices, Emacs and productivity. He left for another company last year, but I'm quite pleased that he has moved his ranty essays to his public web site for all to see—and is continuing to write ranty essays in public: Stevey's Drunken Blog Rants.

reAnimator: Regular Expression FSA Visualizer. Instructive graph generator illustrating how regular expression engines work.

March 3, 2006

Video of physics lectures given by MIT professor Walter Lewin.

9 Firefox extensions for web developers.

Mac Modding Shortcuts, an excerpt from Erica Sadun's Modding Mac OS X. This excerpt discusses Mac OS X's custom keyboard shortcut feature in detail, which mostly illustrates how incomplete the feature actually is. For instance, an application (or global context) with two menu entries with the same name will not allow you to assign a shortcut to the second entry. Too bad, I was hoping to be able to add keyboard shortcuts to some of my favorite "Services," which unfortunately have common names.

March 1, 2006

Yesterday's Apple product announcements include two new Mac Minis with Intel processors and remote controls and Front Row, and new video and audio streaming features for Front Row.

This sounds like it could finally be the living room media Mac we've all been secretly waiting for. However, commentators have already noticed that these new Minis use on-board Intel video chips that share main memory, instead of a dedicated graphics card and video memory, and do not have a slot for an optional video card upgrade. Older promotional material for the Mac Mini slammed other mini-PCs with "integrated Intel graphics" chips for doing exactly this. Har har!

Boing Boing: Video explains the world's most important 6-sec drum loop. The "Amen Break," six seconds of drums from The Winstons' 1969 b-side "Amen Brother," the decades of music and culture it has inspired, and the extent to which we own music. The Boing Boing post has direct links to the 2004 video by Nate Harrison.

An old New Yorker article of a debate on health care by Adam Gopnik and Malcolm Gladwell got some blog attention recently. On his new blog, Gladwell points out that since then, he has completely changed his mind to agree with Gopnik. Gladwell published an article in the New Yorker on U.S. health care brokenness last year (5 years after the "debate" article was published).

Ron DeCorte's Notebook, writings about watchmaking and automata.