“Difference between being a Cubs fan and a socialist? A Cubs fan can point to a success every 108 years.”

— Iowahawk

Remembering Zork, Haiku Edition


the quiet forest
a white house stands before you
you see a mailbox.

climbing the dark stairs
you were eaten by a grue
GET THE LAMP next time.

(maybe more later…)

Dear Apple,


Please quit fucking with the concept of “plain-text” email in Mail.app. Your latest trick, stripping out leading tabs when text is cut-and-pasted using the Emacs key bindings, is a damned nuisance.

Oh, and while you have developers doing something useful, give me a switch to turn off the anti-WYSIWYG text-wrapping feature, shut off the foolish “unpack ‘safe’ files” feature in Safari, and don’t let the finder launch shell scripts that are pretending to be innocent data files.

Love, J

PS: please fix my Quad G5 correctly this time. Diagnostic LED #7 is not my friend.

Update: Well, time will tell if my Quad G5 is truly fixed, but at least they got it back to me quickly (after replacing one of the CPUs they replaced last time).

A Republican Victory in 2008...


Here’s a nice demonstration of how the Republican Party started winning national elections, and why it will continue to do so for the foreseeable future:

The Littlest Democrat

In addition to winning hearts and minds, one must also acquire a clue.

How to kill a browser


As a general rule, I have little use for Internet Explorer. Not just because I use a Mac, but because it’s not a particularly good browser. The Windows version, for instance, ships unable to view many foreign-language web sites correctly (and even after you turn on support for that language, it may not be 100%), and still doesn’t support transparency in PNG images (my site logo does not have a grayish box around it).

Back in the days when I ran several hundred Solaris servers for Microsoft, my only real use for IE was filing expense reports. Maybe the occasional internal web site that used ActiveX controllers or NTLM authentication, but that was pretty rare.

On my Mac, I hadn’t fired it up in months. All I’d done recently was copy it to my teacher’s Mac, after one of her “helpful” support techs had deliberately removed it from her hard drive (“you don’t need that any more”). Good thing, too, since we discovered that it rendered all of the Japanese text on her Tamura Ryuichi site incorrectly.

[For future reference, the problem was that the text-encoding Content-Type META tag had not been placed immediately following the HEAD tag; the designer had placed it after the TITLE tag, indented with whitespace. Most browsers saw it and correctly rendered the page, but IE for Mac ignored it. Placing it immediately after the HEAD tag fixed the problem. More on Unicode and using it in browsers here.]

This week I found myself with an understandable but annoying need for Mac IE: getting my alumni discount at the Microsoft online company store. Forget buying stuff, you can’t even browse the product categories in Safari or Firefox.

Unfortunately, it didn’t work. As in, “I’m sorry, I refuse to run on this machine, and here’s a cryptic dialog box explaining why”. Microsoft’s knowledge base article on this subject says “try repairing permissions, rebooting, or reinstalling the operating system”. The first two did nothing, the third was out of the question.

You can’t download Mac IE from Microsoft any more, so I couldn’t reinstall it. I got a fresh copy from a co-worker’s machine, and that didn’t work either. The error dialog referred to components of CarbonLib, specifically JNIlib, so I did some searching.

Java. Duh. A while back I followed instructions similar to these to switch the default version of Java on my machine from 1.4.2 to 1.5; Apple supplies both, and gives you a tool to tell GUI Java apps which one to use (Java Preferences.app, buried in /Applications/Utilities/Java/J2SE 5.0), but there’s no supported way to set the default for apps launched from the command line. I’ve now forgotten why I needed it at the time…

Switching the symlinks back to 1.4.2 and rebooting fixed IE. This suggests that IE may die for good when Apple decides that 1.5 should become the system default.

Textbook-style Japanese font


While I was helping my teacher out with her computer (most recently using the terrific Linotype FontExplorer X to coerce Word’s font cache into recognizing her copy of Adobe Garamond), she mentioned that one of her friends had a very nice 教科書体 (literally “textbook-style”) kanji font. Much like western fonts, most kanji fonts don’t look like handwritten characters; Kyoukasho-tai fonts do.

While my teacher is off in Osaka this week, her friend took over the class, and I remembered to ask her what the font was and where she got it. As it turns out, it’s something that Microsoft included on the Office.X CD, as part of the Value Pack. DFPKyoKaSho-W3, or, thanks to the miracle of text-encoding mismatches, “ÇcÇeÇoã≥â»èëëÃW3” (the actual file name as it appears in the Finder).

Here’s how it compares to Adobe Kozuka Mincho:

Kyoukasho vs. Mincho

Update: people who don’t have a copy of Office.X and don’t use ebay can purchase DF Kyokasho from Linotype’s online store for the low, low price of $490. This is actually a pretty good deal; Microsoft’s bundled version is an old-fashioned Mac-only font suitcase, while Linotype’s is a cross-platform Unicode font in OpenType format. And they sell a slightly heavier weight as well, which I think looks better at larger sizes.

QuickTime Player gripes


I’ve been transcoding a bunch of video clips recently, to load onto my PSP and inflict on my friends, and ran into a limitation of QuickTime Player that bugs the hell out of me: you can’t jump to a specific time in the video, even in the A/V Controls dialog. You can adjust playback speed, jog/shuttle around, and drag the playhead around, but none of these methods have any actual precision. There’s a perfectly good time counter in the window, but you can’t do anything with it.

Fortunately, it’s a scriptable app, and Apple supplies a library of sample code that includes a “Move to X in Front Movie” in the navigation section. Being sample code, it’s not directly useful (hint: divide everything by 60 * time_scale and get rid of the check for integer input), but it’s better than nothing.

A few minutes of work could turn this into a Dashboard Widget that significantly extended QP’s navigation options. Hmm, maybe I should see if someone’s done it already, or if the widget world is still composed almost exclusively of screen scrapers and search boxes.

Update: I hacked on Apple’s sample widgets and created QuickNudge. No error checking, no spiffy icon, but it lets me adjust the playhead in precise increments. I haven’t written the “set playhead to time X” part yet, but I included the necessary AppleScripts.

Bargain Brushwork


Over the holidays, I visited with family, and my mother wanted to know the meaning of some of the Chinese/Japanese characters she’d hung on her walls. Most of them were in fact Chinese, but I was still able to give her the general meaning. Some were in a calligraphic style that made it difficult to count strokes, others simply weren’t in Japanese-oriented dictionaries, but one set of prints in particular stood out.

stroke art

When I showed this picture to my Japanese teacher, a Shodou artist, she almost fell off her chair laughing. Why? Because they mean “11¥, 12¥, 13¥, 14¥”. When I first saw them, I said, “Mom, you didn’t buy art, you bought the price tags!”

The Collected Poetry of Tamura Ryuichi


Yes, this is a bit outside my usual range, but my Japanese teacher did the translations, and everyone’s linking to an old, dead site. CCC Books is the new one. It includes some samples.

[Update: Sigh. A search for “Tamura Ryuichi” produces completely different results from a search for “Ryuichi Tamura”, complicating our efforts to replace the old, dead link with the new one…]

“Need a clue, take a clue,
 got a clue, leave a clue”