“It’s now very common to hear people say, ‘I’m rather offended by that’, as if that gives them certain rights. It’s no more than a whine. It has no meaning, it has no purpose, it has no reason to be respected as a phrase. ‘I’m offended by that.’ Well, so fucking what?”

— Stephen Fry

Text acquisition: complete!


[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.

The end of an era


WebTV goes dark

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”)

Yomitori for Windows


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.

My new favorite Naughty Novel cover art...


Flavor Beauty (amazon):

Ajiwai Bijin

Sato's Marika avatar


While checking up on Mouretsu Pirates movie news, I happened to spot director Sato’s twitter profile pic.

Kaizoku no jikan da!

Gatchaman Crowds: Katze's fatal mistake


I hereby predict that the unbeatable Berg-Katze will be undone by…

(…poor man’s spoiler-hiding ahead…)

more...

John Carter


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”.

iOS7 still a mess


[Update: iOS7 UI errors tumblr; looks like shooting fish in a barrel.]

Most significant line in the Ars Technica review of iOS7:

Nothing is ever illegible, but you may run into mild readability issues that didn’t exist in iOS 6.

The screenshots show that they really don’t care about people with less-than-perfect vision. The spidery little Helvetica Neue text looks gray even when it’s white, and actually setting it in gray is even worse. The fact that they had to add a semi-hidden “bold text” option really reinforces the impression that they’re slaves to a design methodology that didn’t stand up to user testing.

And be sure to check out the “animation durations” video clip on page 3; yes, major interactions with the device will take longer because the designers want you to see what they did to keep the OS from running on older hardware.

Okay, there is a more significant line in the review, if you have an iPhone 5:

Our Verizon iPhone 5 running iOS 7 burns through its battery more than three hours faster than the exact same phone performing the exact same test with the exact same settings under iOS 6.

All devices get worse battery life thanks to Apple’s new design, but only the just-replaced model sucks so horribly that there’s sure to be a major patch coming soon.

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