May 2006



Sometimes I love this job, he thought, drinking in the sight of the full moon hanging in front of him, eclipsing the stars. He reached out with a gloved hand. So close I can almost touch it…

“Grab that ass and you’re a dead man, Guri.”


Gosh, I could have sworn that one was taken…

I’m a bit surprised that FHM’s streaming video feature, Webtv, hasn’t gotten them in trouble with the folks at WebTV. Sure, they stopped calling the product that well before I left, but the trademarks are still out there, scattering little motes of mindshare.

To the best of my knowledge, there are still several hundred thousand people in the US with WebTV-branded boxes attached to their television sets, vigorously navigating through email, ebay, chat, and porn.

PDF::API2,, kanji fonts, and me

I’d love to know why this PDF file displays its text correctly in Acrobat Reader, but not in (compare to this one, which does). Admittedly, the application generating it is including the entire font, not just the subset containing the characters used (which is why it’s so bloody huge), but it’s a perfectly reasonable thing to do in PDF. A bit rude to the bandwidth-impaired, perhaps, but nothing more.

While I’m on the subject of flaws in, let me point out two more. One that first shipped with Tiger is the insistence on displaying and printing Aqua data-entry fields in PDF files containing Acrobat forms, even when no data has been entered. Compare and contrast with Acrobat, which only displays the field boundaries while that field has focus. Result? Any page element that overlaps a data-entry field is obscured, making it impossible to view or print the blank form. How bad could it be? This bad (I’ll have to make a screenshot for the users…).

The other problem is something I didn’t know about until yesterday (warning: long digression ahead). I’ve known for some time that only certain kanji fonts will appear in when I generate PDFs with PDF::API2 (specifically, Kozuka Mincho Pro and Ricoh Seikaisho), but for a while I was willing to work with that limitation. Yesterday, however, I broke down and bought a copy of the OpenType version of DynaFont’s Kyokasho, specifically to use it in my kanji writing practice. As I sort-of expected, it didn’t work.

[Why buy this font, which wasn’t cheap? Mincho is a Chinese style used in books, magazines, etc; it doesn’t show strokes the way you’d write them by hand. Kaisho is a woodblock style that shows strokes clearly, but they’re not always the same strokes. Kyoukasho is the official style used to teach kanji writing in primary-school textbooks in Japan. (I’d link to the nice page at sci.lang.japan FAQ that shows all of them at once, but it’s not there any more, and several of the new pages are just editing stubs; I’ll have to make a sample later)]

Anyway, what I discovered was that if you open the un-Preview-able PDF in the full version of Adobe Acrobat, save it as PostScript, and then let convert it back to PDF, not only does it work (see?), the file size has gone from 4.2 megabytes to 25 kilobytes. And it only takes a few seconds to perform this pair of conversions.

Wouldn’t it be great to automate this task using something like AppleScript? Yes, it would. Unfortunately, is not scriptable. Thanks, guys. Fortunately, Acrobat Distiller is scriptable and just as fast.

On the subject of “why I’m doing this in the first place,” I’ve decided that the only useful order to learn new kanji in is the order they’re used in the textbooks I’m stuck with for the next four quarters. The authors don’t seem to have any sensible reasons for the order they’ve chosen, but they average 37 new kanji per lesson, so at least they’re keeping track. Since no one else uses the same order, and the textbooks provide no support for actually learning kanji, I have to roll my own.

There are three Perl scripts involved, which I’ll clean up and post eventually: the first reads a bunch of vocabulary lists and figures out which kanji are new to each lesson, sorted by stroke count and dictionary order; the second prints out the practice PDF files; the third is for vocabulary flashcards, which I posted a while back. I’ve already gone through the first two lessons with the Kaisho font, but I’m switching to the Kyoukasho now that I’ve got it working.

Putting it all together, my study sessions look like this. For each new kanji, look it up in The Kanji Learner’s Dictionary to get the stroke order, readings, and meaning; trace the Kyoukasho sample several times while mumbling the readings; write it out 15 more times on standard grid paper; write out all the readings on the same grid paper, with on-yomi in katakana and kun-yomi in hiragana, so that I practice both. When I finish all the kanji in a lesson, I write out all of the vocabulary words as well as the lesson’s sample conversation. Lather, rinse, repeat.

My minimum goal is to catch up on everything we used in the previous two quarters (~300 kanji), and then keep up with each lesson as I go through them in class. My stretch goal is to get through all of the kanji in the textbooks by the end of the summer (~1000), giving me an irregular but reasonably large working set, and probably the clearest handwriting I’ve ever had. :-)

The New MacBook: not for me

When I first looked at one, I saw some reflections from the glossy screen, but it wasn’t obnoxious. Also, while I didn’t particularly like the keyboard (anything short of a Matias Tactile Pro simply can’t be good), it wasn’t worse than my current PowerBook, just different.

Today, the local Apple Store had them set out near the windows. Afternoon sun bouncing off of the buildings across the street gave me a more realistic test of the screen’s usability, and it failed. The reflections produced by diffused store lighting were easy to ignore; the image of the street outside was not. I see a big market in add-on glare hoods.

I wouldn’t have been in the market for one for a few more months anyway, but now I’m definitely waiting to see if they deal with the problem. Right now, I’m more likely to buy a Pro in September, just because of the screen. There’s not much size (or weight) difference between the MacBook and the 15-inch MacBook Pro, and the high-glare screen is still an option.

Also, the exterior of the matte black models were all smudged with fingerprints, visible from ten feet away, and they just put them on display…

Must… Stop… Can’t… Stop…

Lots of people upload videos to Youtube. Lots of people upload music videos to Youtube. Lots of people upload music videos from the 80s to Youtube. This guy cataloged a whole bunch of them. And for every one he’s got listed, there’s a half-dozen more linked to them. Days could pass before I escape this trap.

Automating PDF cleanup with Acrobat and AppleScript

As I mentioned earlier, I’m generating lots of PDF files that don’t work in, and are also a tad on the large side. Resolving this problem requires the use of Adobe Acrobat and Acrobat Distiller. Automating this solution requires AppleScript. AppleScript is evil.

Just in case anyone else wants to do something like this from the command line, here’s what I ended up with, which is run as “osascript pdfcleaner.scpt myfile.pdf”:

on run argv
    set input to POSIX file ((system attribute "PWD") & "/" & (item 1 of argv))
    set output to replace_chars(input as string, ".pdf", ".ps")
    tell application "Adobe Acrobat 7.0 Standard"
        open alias input
        save the first document to file output using PostScript Conversion
        close all docs saving no
    end tell
    tell application "Acrobat Distiller 7.0"
        Distill sourcePath POSIX path of output
    end tell
    set nullCh to ASCII character 0
    set nullFourCharCode to nullCh & nullCh & nullCh & nullCh
    tell application "Finder"
        set file type of input to nullFourCharCode
        set creator type of input to nullFourCharCode
    end tell
    tell application "Terminal"
    end tell
end run
on replace_chars(this_text, search_string, replacement_string)
    set AppleScript's text item delimiters to the search_string
    set the item_list to every text item of this_text
    set AppleScript's text item delimiters to the replacement_string
    set this_text to the item_list as string
    set AppleScript's text item delimiters to ""
    return this_text
end replace_chars

[I wiped out the file type and creator code to make sure that the resulting PDFs opened by default with, not Acrobat; I swiped that code from Daring Fireball. The string-replace function came from Apple’s AppleScript sample site.]

Lost in translation: “bokeh”

Every once in a while, I suddenly remember that I’m studying Japanese, and that I have the resources to figure out what things really mean, not just what other people claim they mean. Usually, this involves song lyrics or anime dialog, but today I was reminded of the trendy photographic term bokeh, and decided to sort it out.

Googling the term will turn up dozens of sites that carefully explain that bokeh refers to the quality with which a photographic lens renders the out-of-focus area of images, with a mix of technical jargon and artistic handwaving, and tell you that “boke” is the Japanese word for blur.

There are objective, measurable differences in how lenses render blurred areas of the picture. Minolta even made a monster of a portrait lens specifically designed to produce glorious blur (I tried it out side-by-side with a conventional lens here). Once artists get hold of a word, though, there’s no telling what it might mean, and I’ve seen a number of pretentious explanations of the true meaning of bokeh.

So you’ll understand my amusement when I looked it up and discovered that boke actually means “out of touch with reality”. Less politely, “idiot” or “senile fool”.

The actual Japanese photographic term is ピンぼけ (for the kana-impaired, “pinboke”). It’s a compound word; pin from the Dutch brandpunt = “focus”, and boke from the verb 暈ける (“bokeru”) = “to fade”.

[update! a comment on the Wikipedia page led me to an alternate choice: ぼけ味 (“bokeaji”), which is a combination of ピンぼけ and 味 (“aji”), meaning “flavor”. Supporting evidence for that can be found on Japanese camera sites like this and this (second one mildly NSFW).]

Oh, and the real “Japanese word for blur”? 不鮮明 (“fusenmei”). A related word that might come in handy occasionally is ぶれ (“bure”), meaning “camera shake”.

More for the pile…

Today I did my part to keep the Cha-Cha Maru afloat. No, I didn’t send Robert a box of Chachamaru cookies, or a case of Chachamaru for kitchen. I just ordered a few more anime DVDs to add to The Great Unwatched Pile on my coffee table, which I hope to make at least a small dent in soon.

  • Ah! My Goddess TV, discs 4 & 5 (good stuff).
  • My-HiME, discs 1 & 2 (fluff! super-powered schoolgirls with mecha!).
  • Kaleido Star New Wings, discs 2 & 3 (if it's even half as good as season 1, it's worth every penny).
  • Girls Bravo, discs 5 & 6 (well-drawn plot-free fluff).
  • Tenjho Tenge, discs 5 & 6 (hot girls, big fights, trainwreck of a plot)
  • Maburaho, discs 6 & 7 (yes, I know Yuna turns into a nagging bitch; I always liked Kuriko better anyway, even though the phony-widow landlady is the real prize).
  • Daphne in the Brilliant Blue, disc 7 (wins the award for "most obvious use of fan-service to hide the inept scattering of plot crumbs", but Maia's adventures are fun, and the series has inspired two of my Bad Haiku: "pointy chin, nice ass, / someday there will come a plot; / meanwhile, that must chafe." and 「その服に寒いよね。でも、お尻いい。」
  • DearS, disc 4 (they had to do some plot surgery to the manga to tell a complete story, and they left a lot of threads dangling for a second season that will never come, but I really like it, and you can never go wrong with dancing chibi in the credits).
  • Burst Angel, discs 5 & 6 (pretty drawings, poorly-integrated CGI, trainwreck of a story).
  • Crest of the Stars, box set (recommended by some guy I trust).
  • Stratos 4, box set (likewise).
  • Tsukuyomi: Moon Phase, manga volume 3 (nekomimi gothloli vampire, what's not to like?)
  • Hyper Police, manga volume 6 (I always thought the anime deserved a second season...).
  • Haibane Renmei, original soundtrack (I can never manage to get that song out of my head, so it might as well be on my iPod).

I think I’m way overdue for twin posts on music and manga, especially since I just finished region-converting my dozenth Hello!Project DVD. The latest one is the concert video Folk Songs 3, which not only has the usual cute jpop idol girls, but an older male vocalist whose work I’ve acquired an interest in recently, Gen Takayama.

And I’m still trying to relocate the reference in one of my books to the original Cha Cha Maru. I’m sure the ship in Plastic Little played some part in the naming of the robot girl in Negima, but the name 茶々丸 goes back at least to the Ashikaga period. Tea cookies, kitchen cleansers, pet hunter ships, and robot girls are an odd group to be tied together by a name, and I just want to know how it got started.

[ah, there he is! I knew I’d run across a Chachamaru in the Ashikaga period. Turns out he was even in the Ashikaga family, and a rather ruthless fellow. I doubt there’s anyone named after him.]

[…and another Chachamaru reference in anime: apparently it’s the name of a bar in Maison Ikkoku]

iPod + keyless ignition + quiet engine = …

Jeff learned an important lesson about technology today.

Con report

I had an epiphany this weekend at KublaCon, sometime before we ran Rory’s usual monstrous Dwarven Forge MasterMaze D&D adventure (this time with added “live” roleplaying).

I do not like cons.

I do not like gamers.

I particularly do not like loud, clueless, obnoxious, asocial, grotesquely obese, unbathed gamers whose greatest ambition in life seems to be saving money on a hotel room by sleeping on a chair in the hallway. Cons are full of people combining at least two of the above characteristics, frequently more.

In truth, I don’t much like people in general. I’d like to use the term “energy vampires”, but it looks like the woo-woo pop psychology cranks have already sucked it dry of meaning. Besides, they seem to think that only some small minority of the population consists of soul-draining monsters, whereas for me, there are very few people who do not eventually wear down my thin veneer of sociability to reveal the cranky bastard within. And I can only recharge when I’m alone.

[our event went surprisingly well, by the way]

[and a lot of cute JAL stewardesses stay in that hotel…]

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