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.

August 2005 Archives

August 30, 2005

Matias OS X Keyboard. A keyboard with Mac OS X key positions, Mac icons for all the meta keys (including command, option, shift, control, and other symbols used in Mac OS X menus), and labels for the symbols accessible with option and shift-option. Also includes an extra control key, a tab key in the number pad, and more. As with all unfamiliar keyboards, I'm suspicious of the key feel, but the ideas are good ones.

Making of a Brick, an interactive Flash movie of how Legos are made.

MacDevCenter on DEVONthink. A nice juicy ad for DEVONthink Pro.

I often fantasize about quitting my job to be a freelancer—a freelance anything, really—just so I could use my Mac for all of my computing tasks. As it stands, I have to cobble together network-accessible solutions for notes, ideas and outlines, and nothing I've tried so far (commercial, third-party or homebrew) has really fit the bill. At home, I still flit between OmniOutliner and DevonThink as possibilities for managing my info, but I'll never really figure out what actually works if I don't get a chance to immerse myself in a system and use it for everything.

I'd speculate about whether DevonThink would even be necessary if Mac OS X—Finder in particular—were doing its job, but I'm nowhere near able to comment because I haven't had a chance to truly play the game.

August 29, 2005

In a reasonably good mood and hungry for cookies, Cookie Monster approaches Gordon and a girl in possession of two boxes of chocolate and vanilla wafers. Cookie Monster is eager to join them in eating the cookies, but discovers the two are actually playing a pattern game, and not actually eating them. While Gordon and the girl step away to fetch another box of wafers and Cookie Monster is not paying attention, a mysterious figure with white gloves takes the cookies away. Gordon and the girl return to find Cookie Monster, and no cookies. They give up their game and leave Cookie Monster behind.

Cookie Monster discovers Big Bird and Snuffleupagus with another box of cookies. They too are not interested in eating the cookies, but are instead arranging the cookies into shapes. While they discuss other possible shapes, the white gloved figure appears again and steals away the cookies, unnoticed. Big Bird and Snuffy accuse Cookie Monster and abandon him in disgust.

Cookie Monster sees Maria with a tin of shortbread cookies.

C: Hoo! Cookies! Oh! Oh! Shortbread?
M: Yes.
C: Oh! Me love shortbread cookies!
M: Uh huh.
C: [about to eat cookies] Ah! Ah! Ah!
M: No no no, Cookie Monster! Please do not eat the cookies!
C: [annoyed] Ah, yeah yeah yeah, me know, me know. You want to make cute little cookie patterns.
M: Patterns?
C: Okay, okay, me know, cute little cookie shapes. Yeah yeah yeah, me know.
M: No, Cookie Monster.
C: You mean... those cookies for eating?
M: Oh, absolutely!
C: [gasps] That me kind cookie! Cowabunga! [about to eat cookies]
M: No no no, wait! You still cannot eat these cookies, Cookie Monster! I baked these for my Aunt Rosa. I'm going to send them to her in Puerto Rico.
C: [pause] All of them?
M: Well... I guess she won't miss just one. [gives C a cookie]
C: Ahh! Ah yeah! Thank you, Maria! Oh yeah! Things looking up! [eats cookie]
M: But just that one, Cookie Monster, OK? I promise that tomorrow, I will bake a whole new batch of cookies just for you, any kind you want.
C: Any kind me want? Oh! That terrific! Oh yeah, me can't wait.
M: Now, all I have to do is find a box big enough to fit this tin. [looks away]
C: Me think of possibilities. Chocolate chip cookie...

[While C thinks of kinds of cookies, gloved hands appear from off screen and take the tin of cookies. Nobody notices.]

C: ... Oatmeal raisin, a terrific cookie!
M: [returning with a box] Here's the perfect box! [notices cookies are missing] Cookie Monster!
C: Wha?
M: [accusingly] The cookies are gone! Did you eat the cookies?
C: Me? No no no no no!
M: I can't believe it, Cookie Monster! I told you I had baked those for my aunt!
C: [defensively] Why you think me eat cookie?
M: Because you're the Cookie Monster, it's what you do! Besides, who else would eat a whole tin of cookies—
C: —Yeah yeah but—
M: —including the tin?
C: But me no eat cookie!
M: [sighs] It's okay, Cookie Monster.
C: ... Okay? But...
M: It's okay, I know how much you love cookies, and I guess you just couldn't control yourself, so... don't worry about it. I'll just bake some more, it's... It's not important.
C: Not important?
M: ... It doesn't matter.
C: Not matter? It may not matter to you, Maria, but it matter to me. It matter to me lot. [dejected] Bye bye, Maria. [walks away]
M: Cookie Monster, wait. [to camera] I think I hurt the Cookie Monster's feelings.

[Maria, Big Bird, Snuffy, and Gordon approach Cookie Monster.]

C: [to himself] "You Cookie Monster! 'Couse you take cookie. Who else take cookie?" Huh!
M: Cookie Monster, what's the matter?
C: Matter? Me tell you what matter. Nobody believe me! Everybody think me take cookie!
BB: Well, you are a Cookie Monster.
G: Yeah, you love cookies more than anyone else we know.
C: Yeah yeah, me love cookie! Yeah me Cookie Monster! But me glutton, not liar!

Sesame Street, episode 4033

August 26, 2005

I try not to get too fanboy about commercial software (free or otherwise), but I can't help it: Movable Type 3.2 is a big freaking deal.

Movable Type 3.2 raises the bar in web application design. Some of these features will influence the way other web applications are built for the next couple of years. The easy upgrade installation, the powerful list views, the searchable admin interface, the new comment management system, the interaction between background activity and the user interface. We will expect all web apps to work this way going forward.

Some improvements are long overdue for MT, solving problems that stuck out in previous versions—but that doesn't make them any less welcome. Just short of a home run, the best stuff in MT 3.2 raises the bar so high, not all aspects of MT 3.2 meet its own bar. Some nooks and crannies didn't get the attention of other, more major areas of functionality; "power editing" mode seems even less useful than the regular list mode at this point, and could really use a more powerful DHTML interface like other parts of the app got with this release. And some new features don't completely fulfill their potential: The list views are so cool, you'd expect them to be able to do things like change the category of a handful of selected entries all at once (like you can in the creaky old power editing mode).

Impressively, many of these shortcomings can be overcome with plugins. It has never been more obvious that Movable Type isn't just blog software, it's a software platform. Everything is extensible, everything is meant to be extended. MT 3.2 includes major improvements to the development, installation and administration of extensions. The plugin platform includes new features that won't be immediately visible to the end user—until the available MT plugins start getting better and more powerful by an order of magnitude. 6A has put a great deal of thought into the plugin development process and the possibilities of plugins, and developing and distributing plugins is now amazingly easy. There's never been a better time to be a MT plugin developer.

And some of the changes are little touches that go a long way. When I had a compile error in my plugin's .pl file and it showed up in a little red box on the System Overview screen, I almost cried. (The good kind of crying, not crying because I had a compile error. You know.) MT 3.2 is exceptionally developer friendly.

Motivated by this release, the kind words of interested bloggers, and a mention on the MT plugins page, I will be giving Builderoo, the text formatting system for Movable Type, an overhaul in the next couple of weeks. MT 3.2's new features for plugins will allow Builderoo to live up to its full potential, and I intend to see that it happens. More on that later.

Congratulations to Six Apart on this most excellent release.

August 25, 2005

Phil notices that several sites now include paid placement of search engine spam, obscurely placed links whose purpose is not to catch your eye, but to catch the eye of search engines, to increase search relevance scores.

Tim O'Reilly has noticed Phil's comments and is investigating the issue, blogging details. Tim believes there are difficult questions involved, and I agree to a certain extent: If it's the purpose of these sponsored links (inflating PageRank or catching eyeballs) that's at issue and not the links themselves, then how do we determine intent? Is it OK for sites to trade in their PageRank?

What's wrong here is the gap between the endorsement of the advertiser by the content provider perceived by the reader, and that perceived by an influential relevance algorithm. An eyeball ad is obvious to the reader as an endorsement from the editor: It says is willing to associate itself with the advertiser by giving them prominent display space.

PageRank ads, on the other hand, are anonymous endorsement: the effects on the display space, and on the reader, are minimal, and the effect on Google's PageRank algorithm is not obviously affiliated with the editor providing the endorsement. In this arrangement, editors may be more willing to accept link placement from low quality advertisers, and that's definitely the case here.

If making the endorsements invisible to the reader is obviously wrong, then I don't see how tucking them away in the corner of a site below the fold is much better. O'Reilly says that they've carried these sponsored links for two years, and only now are people noticing. Only after two years of hosting PageRank ads is being held accountable by its readers for these endorsements. That's a problem.

The "hard questions" about selling PageRank are irrelevant. These sponsored links could just as easily be made more attractive to the eye, more prominently displayed on the site, and be for a more reputable product, and still be intended, in part, to exploit PageRank. I don't think anyone would object to the ads under those circumstances. At that point, it's more obviously the search engine's responsibility to improve the quality of their results in the face of genuine endorsement of advertisers by highly ranked web sites.

August 23, 2005

Leonard Bernstein's Young People's Concerts with the New York Philharmonic (1961) on DVD
. "All" 25 programs on 9 discs, $135. (Bernstein did 53 YP concerts, so I don't think this is all of them.) I'm buying this for my children, and for my children's children.

The Official Leonard Bernstein Web Site (with a "news" scroller thingy that's obnoxiously broken in Safari) has full transcripts of the lectures, and scans of related material from Bernstein's estate.

See also: The Unanswered Question: Six Talks at Harvard by Leonard Bernstein (1973) on DVD, 6 discs.

DITA Open Toolkit just did a 1.1 release. The toolkit transforms DITA maps and topics into deliverable formats.

It's amusing that the words "documentation" and "writing" don't appear anywhere on the project web site in the context of what DITA is or why you would use it. "Promote the DITA standard in the Information Development community" is the closest the site comes to explaining the product.

August 19, 2005

Metro Arts and Architecture, photos of pretty subway stations. (Thanks Anil.)

Bruce Eckel: Does Java need Checked Exceptions? Naturally a religious issue, but worth considering. What seems like a good idea in theory can be a bad idea in practice.

August 18, 2005

Open Source Flash. Not an open source Flash equivalent, but open source software written in Flash.

Not My Type, animations drawn with typographic characters.

August 12, 2005

Seattle Opera's production of Wagner's The Ring will begin airing on KING FM (98.1 FM in Seattle, also streamed live on the web site), one opera per weekend, starting tomorrow, August 13, 7pm, with Das Rheingold. Die Walküre on August 20, Siegfried on August 27, and Götterdämmerung on September 3. Begins at 7pm (PST) each night except for the last one, which begins at 6pm.

August 11, 2005

Web Services Messaging with Apache Axis2: Concepts and Techniques.

This article on EaseXML, a Python/XML data-binding tool, opens with an anecdote about the name of the tool having changed to avoid confusion with another Python package. I believe one of the things holding back Python is the lack of a clean, coherent and consistent naming strategy for its libraries and third-party add-ons. It's entirely a marketing issue, but an important one. Perl modules in CPAN vary widely in quality, but the moderated package names are clear, distinctive and informative. Python products may very well be higher in quality than many CPAN modules, but someone looking for a library to use is likely to think the opposite. This especially applies to the Python standard libraries, which ought to look like the Java platform libraries, but instead look more like a miscellaneous collection.

Appreciating Libxslt, an open source XSLT processing library for C/C++. Comes with the libxml2 package, which also includes handy command-line XML utilities: xmllint (validation against DTD, XML Schema or RELAX NG) and xsltproc (command-line XSLT processor).

August 10, 2005

Business for Geeks.

What everyone should know about blog depression, a public service pamphlet. (Thanks Matt.)

Flame Warriors, a gallery of Usenet posters.

There is still a Usenet.

August 9, 2005

PodBrix sells Lego "minifig" people modified with one of several Apple iPod fanboy designs: iPod commercial person (all black holding a white iPod and earbuds), Steve Jobs, and an all-white abstract figure that can grip on to white iPod earbud headphones.

They also make t-shirts that can hold your iPod shuffle using a (patent pending) magentic clasp. Also available with a minifig design on the front.

Introduction to the Darwin Information Typing Architecture, aka DITA. Thinking hard and meta about knowledge representation, and documentation authoring and processing.

Persistence, an Overview. Nifty presentation on data persistence in Java.

August 8, 2005

SquareFree's genius web developer tools. Especially: JavaScript Shell, an in-browser shell prompt for JavaScript, with auto-completion of property names. See the bookmarklet version to execute the shell on any page. Mozilla (Netscape, Firefox) only, but still, wow.

A survey of vector graphics packages. Cheat Sheets. JavaScript, MySQL, mod_rewrite, CSS, PHP.

August 5, 2005

The Sims 2, for Mac. Amazon says this came out last October, but it's news to me. I didn't think there would be a Mac version, so I'm pleased to see it.

Successful Strategies for Commenting Code, a summary of advice often given about comment practice.

Perl references quick reference, a summary of Perl's reference/dereference syntax in four rules.

August 4, 2005

Ted's Macintosh Tips and Tricks. Yet another list of Mac OS X software, with some tips and info, to boot.

Everybody Loves Eric Raymond. A bit inside, but otherwise hilarious.

Apple releases fancy new mouse. At $49, reasonably compelling. Like the iPod, it might take a few generations to refine it a bit, but the first offering looks cool. This ArsTechnica review is informative.

The mouse includes some neato changes to standard mice designs, but I think the cool part here is the possibility that Apple will include this mouse with all new Macs at some point (still speculation at this point), and the prospects of Mac OS X (and apps) taking advantage of the mouse's abilities in new ways that we haven't seen yet. We've had an up-down scroll wheel and extra buttons on our (non-Apple) mice for a while, and 2D scroll apparatuses showed up in some mice last year already. But if Apple makes sure everyone has these features, then apps can really start to take advantage. Use the scroll ball to edit video! Squeeze the sides for drag-and-drop of heavy objects... or something...

P.S. Why do people like wireless mice and keyboards so much? Good for laptops, sure, but why else? I've seen a bunch of complaints about Apple not releasing a Bluetooth model of the Mighty Mouse right away, and an equal helping of speculation that of course they will do so. (It's standard Apple practice to launch a new product with one and only one version, then release variants later. It focuses our attention on the message, without the distraction of choice.)

August 3, 2005

How do you rip a clip from a DVD on OS X.

GROW RPG, a new animated story maze from EyezMaze.

Lussumo Vanilla, new PHP/MySQL GPL'd forum software. At first glance, Vanilla looks like an improvement over the bizarrely standard set of "features" found in the rest of the world's forum software.

August 2, 2005

My trusty Brother HL-1240 laser printer has lasted over eight years, and it still works fairly well. That's longer than I've known my wife. I love the crisp look of laser, and its 250 sheet paper cassette is very handy. Ultimately, my only real complaint is that it blows a raunchy toner-smelling air into the room while it prints, and causes the lights to dim. But its occasional PostScript hiccups (resulting in dozens of lost pages and frustrating re-prints) and incompatibility with my Airport Extreme have finally compelled me to look for another printer.

Having considered this move several times in the past year, I didn't take long to decide on the Canon PIXMA iP4000 Photo Printer. (CNet review.) It's fast, it's inexpensive, the print quality is good, and it has an excellent combination of features. Some of my favorite features are ones I didn't realize it had when I bought it, such as the two paper sources (manual feed and paper cassette) and quiet print mode.

My favorite feature: automatic two-sided printing. It prints one side, then sucks the page back in and leans the print head up to print on the other side. With my Brother, I had to draw a little diagram and tape it to the side to remind me how to stick odd-numbered pages into the paper cassette to do double-sided prints, and I would still get it wrong. Canon, I love you.

The iP3000 and the iP4000 have about a $50 price difference, and I admit my motivation to go for the iP4000 was purely because the store (I bought it from a store!) didn't have a 3000 in stock. The 3000 prints in four colors: cyan, yellow, magenta and black. The 4000 boasts five colors. I tried to get the salesman (I talked to a salesman!) to tell me if the print quality is noticably better with five colors, and he said he assumed so, but didn't have a print sample to illustrate. When I got it home, I discovered that the 4000's five colors are cyan, yellow, magenta, black, and... black. The fifth "color" is another black cartridge. The CNet review clarifies: the three colors and one black are dye-based (for photos), the remaining black is pigment-based (for text). Knowing this after the fact, I consider this worth the extra $50 for the iP 4000, but I feel silly having sprung for the higher model for lesser reasons.

Another note about the advertised features, and my apparent gullibility when it comes to product descriptions: The feature list says "up to 25 ppm black, 17 ppm color." When I read that, I said, out loud, "Really? An inkjet printer can do 25 ppm?" It sure can—if the pages are blank. It feeds quickly, that's nice, and the black print head is extra large so it can print in fewer passes since the last inkjet printer I've used—which must have been an HP DeskJet 500, given how new I apparently am to all this. But this Canon will never be any faster than my old 12 ppm (regardless of page contents) Brother laser printer in practice. CNet clocks the Canon at 6.69 ppm for text in their testing (4 ppm to 5 ppm on average), and describes this as "brisk". It is, compared to other inkjets.

Also: Borderless photo printing on 4" x 6" photo paper. And, it can keep a stack of 4" x 6" photo paper in its paper cassette.

I like the iP 4000, and will enjoy having a color inkjet as my primary printer. But as a writer (I'm a writer!) and a lover of type, the fuzziness of inkjet'ed text already makes me pine for my eight-year-old laser printer. Maybe I'll keep little Bro around, just for old times' sake.