“Alcohol is like love. The first kiss is magic, the second is intimate, the third is routine. After that you take the girl’s clothes off.”
— Raymond ChandlerDetails on nearly three million customers stolen. So, how’s that switch to renting your software by the month working out?
[Update: turns out the iPhone hotspot does not route traffic over the iPhone VPN; boo, hiss. I’ll need to rig up a wireless router behind an OpenVPN box to avoid the risk of tripping the region-detection]
The Kindle Paperwhite will not speak to a shared wireless connection hosted on my laptop. It will, however, speak to an iPhone’s built-in hotspot, and the iPhone has a VPN client compatible with HideMyAss VPN, allowing me to pretend that my shiny new second-generation Paperwhite is located in Japan and eligible to purchase and download Kindle books without violating the publishers’ geographic restrictions on ebook licensing.
With that out of the way, the standard DeDRM and KindleUnpack scripts trivially converted my new books into clean XHTML, which required about 60 lines of Perl to massage into input for Yomitori. Diffing the text of Asobi ni Iku Yo book 1 confirmed the accuracy of my new source.
Now if I can figure out the new inline footnote support, I can merge the vocabulary into the main book the way I do for the HTML output, and switch from dual PDFs to a single MOBI file. But that comes later; right now, the complete text of Miniskirt Space Pirates book 1 is waiting on my Kindles, without all the OCR errors I was wading through the last time.

What I want to know is, has some poor soul been maintaining epgparser all this time, or did they finally break free from Andrew’s giant hairy Perl script?
(and when I say “hairy”, I mean “had to run as root so it could newfs file systems, and no one could ever figure out why it needed 4GB of RAM and ran for 26 hours a day”)
The hardest part of getting my Japanese-novel-hacking scripts working on Windows was figuring out how to build the Text::MeCab Perl module. Strawberry Perl includes a complete development environment, but the supplied library file libmecab.lib simply didn’t work. I found some instructions on how to build MeCab from source with MinGW, but that was not a user-friendly install.
However, there were enough clues scattered around that I was able to figure out how to use the libmecab.DLL file that was hidden in another directory:
copy \Program Files\MeCab\sdk\mecab.h \strawberry\c\include copy \Program Files\MeCab\bin\libmecab.dll \strawberry\perl\bin cd \strawberry\perl\bin pexports libmecab.dll > libmecab.def dlltool -D libmecab.dll -l libmecab.a -d libmecab.def move libmecab.a ..\..\c\lib del libmecab.def cpanm --interactive Text::MeCab
The interactive install is necessary because there’s no mecab-config shell script in the Windows distribution. The manual config is version: 0.996, compiler flags: -DWIN32, linker flags: -lmecab, encoding: utf-8.
While checking up on Mouretsu Pirates movie news, I happened to spot director Sato’s twitter profile pic.

I hereby predict that the unbeatable Berg-Katze will be undone by…
(…poor man’s spoiler-hiding ahead…)
Like most people, I skipped the theatrical release of Disney’s John Carter. Watching it for free last night confirmed that this was the correct decision. The story’s a mess; either I dozed off during key plot points, or they left them out. I suspect the latter, but have no desire to go back through it again and find out. Odd pacing, too, and perhaps the worst-integrated flashback I’ve ever seen; it really felt like a few seconds from a completely different movie, and I briefly wondered if it was a glitch in the playback.
I’m glad it tanked, because I really wouldn’t want to see what they’d do to the rest of the novels if they made a sequel. There are plenty of flaws in the original stories, and things that wouldn’t translate well to a modern film, but the choices they made for this one just didn’t work. It felt like they deleted about twenty minutes of story-telling to get the runtime down to “way too long”.