September 2008

Way to stay classy, leftists

From Instapundit at the Republican convention:

His bus was attacked by protesters who dropped sandbags from an overpass, but he was unscathed.

[Update: Really winning the hearts and minds out there, gang. And I do mean “gang”:

Protesters smashed windows, punctured car tires and threw bottles Monday during an anti-war march to the site of the Republican National Convention.

I hope you brought plenty of bail money. Excuse me, I hope your parents brought plenty of bail money. Or not, preferably. Rot in jail for a while.]

The DNA Experiment: Introduction


When I made my trip to Japan last year, I took a friend. He took a lot of pictures, too, but hasn’t gotten around to posting any of them. We backed everything up onto my laptop, though, and I have his permission to pick through them and post them here.

Obviously we were pretty much always at the same place at the same time, and we even used the exact same model of camera a lot of the time, but we were frequently looking at different things, and sometimes at the same thing in different ways. Today, I went through his pictures and tried to select a representative sample of what he saw in Japan.

I’m posting them in batches, generally without commentary, and for more fun, I’ve randomly shuffled them. Actually, I hadn’t planned on that part, but Aperture does a terrible job of renaming on import, and not only scrambled the file names, but also created a number of duplicates. Since they were already out of order, and I didn’t feel like starting over, I embraced this flaw and randomized the order completely. There are a few cases where pictures really do belong together, but that’s a job for another day.

So, over the next week or two, expect 16 batches of 12 pictures, with one above the fold and the rest below, to keep the page load times reasonable. They’ll all be filed under category DNA.

At least he has taste...

Danny Choo found someone who really, really wants to let people know that he’s a Mari Yaguchi fan. I confess, I didn’t even need to read her name on the armband or the “sekushii beemu” on his chest to recognize her instantly, so I can’t really criticize too much…

Mari Mania!

The DNA Experiment: Batch 1


The DNA Experiment: Batch 2


The DNA Experiment: Batch 3


Upgrading Movable Type

The machine this site runs on hasn’t been updated in a while. The OS is old, but it’s OpenBSD, so it’s still secure. Ditto for Movable Type; I’m running an old, stable version that has some quirks, but hasn’t needed much maintenance. I don’t even get any comment spam, thanks to a few simple tricks.

There are some warts, though. Rebuild times are getting a bit long, my templates are a bit quirky, and Unicode support is just plain flaky, both in the old version of Perl and in the MT scripts. This also bleeds over into the offline posting tool I use, Ecto, which occasionally gets confused by MT and converts kanji into garbage.

Fixing all of that on the old OS would be harder than just upgrading to the latest version of OpenBSD. That’s a project that requires a large chunk of uninterrupted time, and we’re building up to a big holiday season at work, so “not right now”.

I need an occasional diversion from work and Japanese practice, though, and redesigning this blog on a spare machine will do nicely. I can also move all of my Mason apps over, and take advantage of the improved Unicode support in modern Perl to do something interesting. (more on that later)


The DNA Experiment: Batch 4


Dear Macports port maintainers,

Um, “fail”.

building 'pycurl' extension
creating build/temp.macosx-10.3-i386-2.5
creating build/temp.macosx-10.3-i386-2.5/src
-DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
 -I/opt/local/include -I/opt/local/include/python2.5
 -c src/pycurl.c -o
unable to execute -DNDEBUG: No such file or directory
error: command '-DNDEBUG' failed with exit status 1

The DNA Experiment: Batch 5


Dear Open Source community,

This is the sort of attitude that makes me want to bitch-slap some sense into the lot of you.


The DNA Experiment: Batch 6


The DNA Experiment: Batch 7


The DNA Experiment: Batch 8


Baseball + Fist = Strip!

I’m tinkering with a web front-end for my new dictionary lookup tool, and every once in a while I stumble across something entertaining. I’m using full-text indexing (Sphinx) to create a half-assed English-to-Japanese dictionary out of the JMdict data, and one of the words I typed in was “strip”. There were 36 matching records, and one of them caught my eye: 野球拳, “strip version of rock-paper-scissors forfeit game”.

Standard rock-paper-scissors is じゃん拳. 野球 means baseball in every other compound word, but in this one case, it ain’t. I have no idea how it got that way, but this isn’t a dictionary error, as can be seen from this promotional video for the PSP game YA-Q-KEN (warning: poorly-subbed dialogue, delivered by really cute AV actresses). It appears to offer a total of 9 girls willing to work with their hands.

The DNA Experiment: Batch 9


Stop the "/tmpu/"!

I love the feel of the Matias Tactile Pro keyboards. The plastic case is so cheap that my first two are now held together with gaffer tape, but the key action is great. So, back in January, I bought the new 2.0 version, with programmability that I don’t need and a USB 2 “hub” “dock” extension cord that turns out to be spectacularly useless. And the same horribly cheap plastic case.

I haven’t broken the case on the new one yet, but in the past few days, the damn thing’s come close to breaking me. It generates spurious keystrokes, you see, and its current trick is generating “/tmpu/” roughly 1/3 of the time when I type “/tmp/”. If I plug it into a Windows box, it generates “/tmp/u” instead, and more frequently.

For weeks, now, I’ve been wondering about the gradual increase in the number of typos I’ve been generating. I just thought I was tired from all the late-night testing sessions and the stubborn persistence of my sinus whateverthehellitis problem.

Nope, my keyboard is trying to kill me. Do you have any idea how many times a day I type “/tmp/”? Aaaargh.

Silly me,...

…I thought when Apple said that the new iPod Touch was “available immediately in Apple retail stores”, that meant they’d, y’know, have them, at least as display models. Instead, the Valley Fair store had large displays of the older model, at its full (higher) retail price. Old Nano, too.

I wasn’t going to buy one today, but it would have been nice to take a look.

The DNA Experiment: Batch 10


The DNA Experiment: Batch 11


iTunes J-Pop

When I upgraded to iTunes 8.0 and turned on the new Genius feature, I discovered that the US iTunes Store has acquired a rather large catalog of J-Pop, including a significant subset of the various Hello!Project groups’ albums and singles. The iTunes Genius analyzed my collection and gleefully pointed out all of the songs that would be perfect for me.

All of which I already owned. In many cases, it was pointing to the exact same song, from the exact same album. Why? Because the purchased albums have metadata that’s written with kanji and kana, and the iTunes versions are all romanized. Er, mostly romanized. Okay, inconsistently romanized. Album and song titles are usually romanized, artist names are all over the map: kana-ized, Hepburn-romanized, Kunrei-romanized, last-name-first, first-name-first, capitalization and white-space optional; fortunately they seem to stick with the same version for multiple albums.

This makes searching entertaining, but this is a big deal, because all of this stuff is at standard iTunes pricing, which is a helluva lot cheaper than import CDs, and just over half the price of the same tracks in the Japanese iTunes Store.

The Japanese store is the source of the peculiar partial romanization, by the way, and in fact when you view it from the US, all of the navigation is translated as well. I remember that when the store first launched, everything was in Japanese, including song titles, so I’m wondering if they’re geographically localizing not just the menus, but also the song metadata. The search system seems to handle pretty much anything you throw at it, so I wonder if Apple was seeing so many American purchases from the Japanese store through gift cards that they went out of their way to accommodate them, first through romanizing the interface, then through importing popular content.

There are some indexing oddities. If you search for “nakazawa yuuko” in the US store, you’ll get her most recent EP and a stub link that should lead to her audiobooks, but that only works if you’re on the Japanese store. I’m guessing that the stores all talk to each other internally, sharing indexes and content, with flags to indicate what content is importable. Given the price difference, new releases are unlikely to show up for a while.

The DNA Experiment: Batch 12


The DNA Experiment: Batch 13


Dear Apple,

How do I shut off the obnoxious (and inconsistently unavailable) “live preview” of images when I drag them out of Safari? It’s really difficult to drag them into a folder when the mouse cursor (you know, the part that determines where you’re dragging to) is hidden somewhere under the oh-so-spiffy translucent copy of the image.

Dear Matias,

[Update 10/24/08: after informing them on 10/2 that the replacement was also defective and that it was heavily used (the one I exchanged for it was pristine, by the way), I have never heard from them again. Their customer service is as bad as their engineering.]

[Update: the replacement arrived used. Not “previously owned”, used. As in filthy, sticky, and filled with hair and food from the previous owner. It’s also even worse for typing, generating phantom keys under even more conditions, like attempting to type the word “since” (which comes out “sincey”) at a normal speed. It’s junk, and I’ll never buy a keyboard from them again.]

Fuck you. “Thank you sincerely for eventually agreeing to replace the defective product and ship the replacement in parallel.”

When I sent a support message about my still-under-warranty expensive keyboard suddenly generating spurious keystrokes, I expected a better answer than this:

What you are experiencing is called a "shadow key" or "phantom key" or "ghost key". Every keyboard has them (in different locations) but most people don't notice them, because they don't type the key combinations that produce them. They are an artifact of how keyboards are built.

There is a workaround...

You can turn On the Sticky Keys feature on the Universal Access control panel, in System Preferences. This will allow you to press & release the Command and Shift keys together, and then press the key being modified on its own.

We are very sorry for the inconvenience...

This is the most useless “workaround” I’ve ever seen. “Can’t touch-type on your keyboard? DON’T TRY!! Problem solved!”

Never mind that I simply don’t believe their explanation…

The DNA Experiment: Batch 14


The DNA Experiment: Batch 15


Dear Apple,

Please stop. Plugging in my iPod is not an appropriate time for you to be plugging MobileMe. iTunes should never display an ad when I sync my device.

Never mind that I’m already a .Mac user and you damn well know it; I just haven’t enabled it on my iPod Touch, because the sync is still broken and your servers go offline at random intervals. I don’t want to hose my email, bookmarks, calendar, and contacts by syncing them through an unreliable service.

[speaking of which, plugging in an iPod Touch does not trigger a sync; you have to hit the button manually. WTF?]


The DNA Experiment: Batch 16

All done! Once again, we say goodbye to Japan for a while…


Dear Apple,

Please stop making products that subject your customers to electric shocks.

Really, there are better ways to keep the cult alive.

Dictionaries as toys

There are dozens of front-ends for Jim Breen‘s Japanese-English and Kanji dictionaries, on and offline. Basically, if it’s a software-based dictionary that wasn’t published in Japan, the chance that it’s using some version of his data is somewhere above 99%.

Many of the tools, especially the older or free ones, use the original Edict format, which is compact and fairly easy to parse, but omits a lot of useful information. It has a lot of words you won’t find in affordable J-E dictionaries, but the definitions and usage information can be misleading. One of my Japanese teachers recommends avoiding it for anything non-trivial, because the definitions are extremely terse, context-free, and often “off”.


More toying with dictionaries

[Update: the editing form is now hooked up to the database, in read-only mode. I’ve linked some sample entries on it. …and now there’s a link from the dictionary page; it’s still read-only, but you can load the results of any search into the form]

I feel really sorry for anyone who edits XML by hand. I feel slightly less sorry for people who use editing tools that can parse DTDs and XSDs and validate your work, but still, it just strikes me as a bad idea. XML is an excellent way to get structured data out of one piece of software and into a completely different one, but it’s toxic to humans.

JMdict is well-formed XML, maintained with some manner of validating editor (update: turns out there’s a simple text format based on the DTD that’s used to generate valid XML), but editing it is still a pretty manual job, and getting new submissions into a usable format can’t be fun. The JMdictDB project aims to help out with this, storing everything in a database and maintaining it with a web front-end.

Unfortunately, the JMdict schema is a poor match for standard HTML forms, containing a whole bunch of nested optional repeatable fields, many of them entity-encoded. So they punted, and relied on manually formatting a few TEXTAREA fields. Unless you’re new here, you’ll know that I can’t pass up a scripting problem that’s just begging to be solved, even if no one else in the world will ever use my solution.

So I wrote a jQuery plugin that lets you dynamically add, delete, and reorder groups of fields, and built a form that accurately represents the entire JMdict schema. It’s not hooked up to my database yet, and submitting it just dumps out the list of fields and values. It’s also ugly, with crude formatting and cryptic field names (taken from the schema), but the basic idea is sound. I was pleased that it only took one page of JavaScript to add the necessary functionality.

[hours to debug that script, but what can you do?]


The accompanying video made this one clear, but it did take me a moment:



While sorting through old paperwork (pronounced “shredding the bills and pitching the rest”), I found a double-sided glossy color flier from the peak of the local housing bubble about 2.5 years ago, advertising my next-door neighbor’s house for the sweet price of only $815,000. The realtor even registered a domain name for it and everything. Not that he expected me to buy it, of course. He was letting me know it was a seller’s market, and time for me to jump in!

No, it didn’t sell. Not even when he brought in an entire freakin’ tour bus full of potential buyers (which blocked my driveway for about an hour).

It finally sold two months ago, for $429,000. I don’t know what he bought it for, but I’d guess that my neighbor lost at least $150,000. I’d feel worse for him if he hadn’t asked me a few years ago if I had any good ideas for investing half a million dollars.

Amusing thing I hadn’t noticed before: the ad says “large yard - space for RV or boat”. This is a bald-faced lie, and the realtor should be bitch-slapped for making this claim and backing it up with a deceptive photo. Without a cargo helicopter, the only way to get an RV into his back yard would be to knock down the fence, pave over about six feet of my front lawn, relocate the utility box at the curb, and then very, very carefully squeeze it along the side of his house. Which would be illegal, because it would be visible from the street.

You might be able to get a small boat back there by only paving a few feet of my lawn, but you’d have a helluva time getting it back out again.

Wanted Posters

No, this is not the cast of the live-action Negima series, although it might be amusing to map one onto the other. This is Tsunku’s Army, also known as Hello!Project, in their mid-2005 lineup. Yes, some of them really were as young as they look.

Hello Project 2005

Most of them are still associated with the organization, at least on paper. Six are gone for good (three quit, two switched agencies, one was kicked out), but at least a dozen only perform at concerts maybe twice a year, and are otherwise not well-supported by H!P. The two teen groups get most of the promotion, with Morning Musume now third on the priority list.

Tsunku’s attention seems to be focused on bringing in new talent before they need training bras, which may be very Japanese, but doesn’t do anything for me. The only over-25 member who gets any significant promotion is Natsumi Abe. She’s also one of the few who occasionally manages to go on stage in costumes that aren’t hideous or unflattering, so I think she must know where the bodies are buried.

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