“It was very difficult to get the Irish girls to expose their breasts.”

— Insightful commentary from John Boorman, director of Zardoz

Comment spam


Someone finally got around to automating a comment-spamming tool that evaded my trivial protections (rename MT CGI scripts, force preview before post). Naturally, they decided to send six different comments to three or four different articles, about a dozen times each.

Sadly for them, they put their web site into the commenter’s URL field, which I don’t display, so their efforts were in vain. Even worse, from their point of view, they sent them all from the same IP address, which meant it took about thirty seconds to clean things up. And another five to ban their entire netblock at the firewall. I didn’t even need to rebuild, since the comment pages aren’t cached (another trivial change from the defaults).

I think for the next pass, I’ll change the comment URL from /mt/hasturhasturhastur to /murfle/gleep. The best defense against automation is diversity.

Still waiting for Java


Gamer friend Scott just discovered that the reason he was having so much trouble with PCGen under Linux was that the JVM was defaulting to a rather small heap size, effectively thrashing the app into oblivion when he tried to print.

Now, while it’s true that PCGen is as piggy as a perl script when it comes to building complex data structures in memory, it’s still fundamentally a straightforward application, and yet it exceeds the default maximum heap settings. He had plenty of free RAM, gigs of free VM, and here was Sun’s Java, refusing to use any of it unless he relaunched the application with a command-line override. Doing so not only fixed printing, it made the entire application run substantially faster. Feh.

I’d noticed a slowdown with recent versions of PCGen on my Mac as well, but Apple was good enough to compile their JVM with defaults sufficient to at least make it run completely. Sure enough, though, increasing the default heap settings makes it run faster, by eliminating a whole bunch of garbage collection.

In other words, with Java, Sun has managed to replicate the Classic MacOS annoyance of adjusting memory allocation on a per-application basis, and made it cross-platform!

PCGen is still the only major Java app I have any use for on a regular basis, although there’s another one that has recently entered my arsenal of special-purpose tools, Multivalent. I have no use for 99% of its functionality, but it includes robust tools for splitting, merging, imposing, validating, compressing, and uncompressing PDF files, as well as stripping the copy/print/etc limitations from any PDF you can open and read.

There’s another Java application out there that might join the list sometime soon, Dundjinni, but first the manufacturers have to finish porting it from Windows to the Mac…

My Evil Twin


I didn’t know I had one, but then he ordered some Mac stuff from a Yahoo store and accidentally entered my .Mac email address instead of his very similar one. Since the shipping and billing addresses were in Boca Raton, Florida, and I’m in California, this looked an awful lot like identity theft, which makes for a lovely way to spend a Friday evening. After calling all of my credit-card vendors to check for suspicious charges, changing several passwords, and other financial fire-drilling, I thought to look up the phone numbers from the invoice with anywho. Sure enough, there’s a Jay Greely in Boca Raton, and he lives at that address.

Who knew?

Update: Just talked to Jay’s wife, and it turns out that they bought their first Mac yesterday, and he apparently misremembered their shiny new .Mac email address.

...but my friends call me 'Spot'


Okay, which side in the red/blue culture war wants to claim this nutcase as a kindred spirit:

A Brazilian legislator wants to make it illegal to give pets names that are common among people. Federal congressman Reinaldo Santos e Silva proposed the law after psychologists suggested that some children may get depressed when they learn they share their first name with someone's pet, said Damarias Alves, a spokeswoman for Silva.

Headline of the day


Heck, I could have told them this years ago:

Leaders pay tribute to Arafat

Oh, wait, they’re using the other definition of “pay tribute”.

Whom the gods would destroy, they first ask for directions


When I got up this morning, I realized that I was only two lessons away from the end of my first pass through Rosetta Stone‘s Japanese Level I course. At a conservative estimate, that’s 120 hours that I’ve spent learning to recognize, comprehend, and read realistic Japanese phrases spoken by natives. I have a great deal left to learn, but I’ve made substantial progress, to the point that this morning’s lesson was merely daunting rather than discouraging.

It looked something like this: ガソリンスタンドにはどうやってきますか。ガソリンスタンドへの閉鎖されています。って右折します。ブロックって右折して、ブロックって右折します。ブロックって左折するとそこがガソリンスタンドです。

Forty variations on asking directions to a place and being told how many blocks to go and which way to turn. New vocabulary. New kanji. Long, detailed instructions, fortunately accompanied by clear pictures. And I understood most of them right away. I figure I’ve got another 80 hours of drilling as I go back through Level I’s different modes, and then it will be time for Level II, which really piles on the grammar and vocabulary.

Self-study software can’t replace a good face-to-face language course, but the best software is definitely better than a bad course, and there’s a lot to be said for having infinitely patient native speakers available anytime, anywhere. I’ve been quite impressed with Rosetta Stone, both their learning model (which feels oversimplified at first, but is in fact quite sophisticated) and their quality control (I have spotted exactly two errors in the transcription of several thousand phrases, and both were trivial).

Update: turns out this specific lesson is included in Rosetta Stone’s free online demo, which uses pretty much the exact same Flash code that the purchased product does. It’s Japanese Level I, Unit 8, Lesson 10, titled ~にはどうやって行きますか.

sec2pdf: getting started


I often say that I’m not a programmer, I’m a problem-solver who occasionally writes code to eliminate annoyances. One recent annoyance was what passes for “state of the art” in creating star maps for the Traveller RPG.

more...

Um, "what he said"


Dean Esmay answers John Perry Barlow. Personally, I gave up about halfway through the original, bored to tears by Barlow’s frankly one-dimensional characterization of the people he’s trying to “understand”.

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