Tools

Dodge Caravan


I got sent to Denver (okay, Longmont) for a few days to do some setup work for our office here, and the folks at Budget begged me to take a free upgrade to a minivan, to help alleviate their shortage of smaller vehicles.

Anyway, it’s got a gutless engine, poor sound insulation, and a whopping big blind spot when you’re merging, but otherwise it’s actually a pretty nice travel-mobile. Very comfortable to drive, plenty of room for adult passengers, and decent handling for its size. It’s no comparison to my Lexus RX-300, but still, a lot better than I expected.

Audio cleanup?


While my Japanese class is going well so far (the pace is a bit slow, due in part to the overhead of community-college drop/add handling), I’ve found one serious annoyance: the audio CDs are crap.

There’s nothing wrong with the content; the material is presented clearly by native speakers, and the original mastering was well-done. Unfortunately, it was mastered for cassette tape, and the CDs were apparently converted from that format. How well was this done? Here’s a thousand words on the subject:

Situational Functional Japanese Audio CDs

That’s what it looked like when I loaded a track into Audacity. I can crank up the gain, but then the hiss becomes objectionable, and Audacity’s noise filter introduces some rather obnoxious artifacts, even at its gentlest setting. I’ll be using these CDs until March, so it’s worth a little time and money to me to get them cleaned up. Any recommendations for a good tool?

Sake cheat card


After trying out a few types of sake and doing a little reading on the subject, I decided to gather up all of the useful information commonly printed on labels and menus, and arrange it on a double-sided 3x5 card. It was as much an excuse to play with the new version of Adobe Illustrator as anything else, but it should come in handy the next time I try to figure out what to buy at Mitsuwa.

Photoshop tips


Apropos of nothing, I thought I’d mention that the two most recently posted pictures here were resized in Photoshop CS, using the new(-ish) Bicubic Sharper resampling method, available in the Image Size dialogue box. I hadn’t seen any mention of it until about two weeks ago, and had been using Mac OS X’s command-line tool sips for quick resizing.

Bicubic Sharper is much better than the standard Photoshop resizing, sips, or iPhoto. It’s particularly good for rendered images with fine detail. I’ve been working on a Roborally tile set for Dundjinni, creating my basic floor texture with Alien Skin Eye Candy 5: Textures. Dundjinni expects 200x200 tiles, but Eye Candy renders best at larger sizes. Resizing down from 800x800 using the straight Bicubic method produced an unusable image. Bicubic Sharper? Dramatically better.

I found the tip in a discussion of photo-processing workflow, which makes sense. For a long time, photographers have been making Unsharp Mask the final step in their workflows, because if they sharpened at full size, the slight softness introduced by resizing for print or web use would force them to use Unsharp Mask again, which tends to look pretty nasty. Integrating it into the resizing algorithm takes advantage of the data you’re discarding, reducing the chance of introducing distracting artifacts.

fun with Google Maps


Looks like they ripped out my old apartment building in Columbus and replaced it with something bigger and better. Good thing, too, since it burned down at least once, while I was living there (hmm, now there’s an old Usenet post I should resurrect here; I used to use it as a great counter-example to the “ban guns because they make domestic squabbles fatal” argument).

The concrete canyon Brian and I lived in before that is still there, though, and probably unchanged. Trigger-happy towing, unsafe parking, and next door to a neighborhood pool; a bunch of kids once broke into my car just to steal the change from my ashtray so they could get in. Cute girls running around, though, and our storage closet was big enough to hide a dozen illegal immigrants in. Two dozen if they were close friends.

America’s Largest Community Of Brick Homes hasn’t changed a bit. Nearly 50,000 houses based on four floorplans, so you always knew where the bathrooms were at your friend’s houses. Not the easiest neighborhood to deliver pizza in, especially in Dominos’ 30-minutes-or-free days, but the tips were always good.

As for the first home I remember, Old Powell Road is almost unrecognizable. They got rid of the sharp curves that used to send cars into the abandoned gravel pit (that, along with date-rape attempts, was the most common reason someone would knock on our front door after dark), the formerly-toxic landfill appears to be capped and made pretty, but it’s still sparsely developed. The house is long-gone, but I knew that already.

These days home looks like this:

Home sweet home

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…

Why I just deleted Konfabulator


It lasted about fifteen minutes on my laptop. Why? First, because the supplied widgets were primarily designed to be pretty. The weather and calendar widgets are translucent; you can’t make them not be translucent, even if you have wallpaper on your screen that makes them unreadable. The (thankfully not translucent) to-do list doesn’t allow you to edit in-place; anything you want to do with a to-do item involves popping up a bog-standard Mac dialog box and clicking “Okay”, which pretty much renders it useless as a “quick! write that down!” tool or organizing tool. Most of the other standard widgets are similarly long on chrome and short on function, to the point that I have trouble remembering them mere minutes after trying them out.

I was already underwhelmed by the contents of their user-submitted widget gallery, so I’m left with no possible reason to purchase this product, nor can I imagine it ever becoming a significant commercial success. This renders the whole “Apple stole our idea” and “Dashboard was designed to be a Konfabulator killer” claims completely moot. Konfabulator in its current form could never have made its way onto the desktops of a significant percentage of Mac users; it’s just not that interesting.

Will there be a lot of high-chrome, low-content Dashboard gadgets? Sure; as the man said, 90% of everything is crap. The difference is that you don’t need to learn a proprietary development environment to create gadgets for Dashboard. Hell, you don’t even need to learn JavaScript; Dashboard will cheerfully run Flash applications with a trivial DHTML wrapper. You can also embed Java applications, QuickTime videos, etc.

Konfabulator can’t do any of that.

If, for instance, I wanted to build a nice kana/kanji chart around this remarkable collection of QuickTime videos that demonstrate the correct stroke order for the entire hiragana and katakana syllabaries as well as all 1,945 Jōyō kanji, I could (and likely will, if only for my personal use), because a Dashboard gadget is just a web page, and web pages can have embedded QuickTime videos.

The closest thing they’ve got over in Konfab-land is the new Kanji-A-Day widget, which uses /usr/bin/curl to scrape a Japanese web site and import its content into a (cough) pretty window. Maybe that’s the one that will justify the $25 they want for the product…

Apple's Dashboard: sample gadget


I’m not really a programmer; I’ve been a Perl hacker since ’88, though, after discovering v1.010 and asking Larry Wall where the rest of the patches were (his reply: “wait a week for 2.0”). If I’m anything, I’m a toolsmith; I mostly write small programs to solve specific problems, and usually avoid touching large projects unless they’re horribly broken in a way that affects me, and no one else can be persuaded to fix them on my schedule.

So what does this have to do with learning Japanese? Everything. I’m in the early stages of a self-study course (the well-regarded Rosetta Stone software; “ask me how to defeat their must-insert-CD-to-run copy-protection”), and authorities agree that you must learn to read using the two phonetic alphabets, Hiragana (ひらがな, used for native Japanese words) and Katakana (カタカナ, used for foreign words). A course that’s taught using Rōmaji (phonetic transcriptions using roman characters) gives you habits that will have no value in real life; Rōmaji is not used for much in Japan.

So how do you learn two complete sets of 46 symbols plus their variations and combinations, as well as their correct pronunciations? Flashcards!

The best software I’ve found for this is a Classic-only Mac application called Kana Lab (link goes direct to download), which has a lot of options for introducing the character sets, and includes recordings of a native speaker pronouncing each one. I’ve also stumbled across a number of Java and JavaScript kana flashcards, but the only one that stood out was LanguageBug, which works on Java cellphones (including my new Motorola v600).

When the misconceptions about Apple’s upcoming Dashboard feature in OS X 10.4 were cleared up (sorry, Konfabulator, it will kill your product not by being a clone, but simply by being better), I acquired a copy of the beta (why, yes, I am a paid-up member of the Apple Developer Connection) and took a look, with the goal of building a functional, flexible flashcard gadget.

Unfortunately, I’ve spent the past few years stubbornly refusing to learn JavaScript and how it’s used to manipulate HTML using the DOM, so I had to go through a little remedial course. I stopped at a Barnes & Noble on Sunday afternoon and picked up the O’Reilly JavaScript Pocket Reference and started hacking out a DHTML flashcard set, using Safari 1.2 under Panther as the platform.

Note: TextEdit and Safari do not a great DHTML IDE make. It worked, but it wasn’t fast or pretty, especially for someone who was new to JavaScript and still making stupid coding errors.

I got it working Tuesday morning, finished off the configuration form Wednesday afternoon, and squashed a few annoying bugs Wednesday night. Somewhere in there I went to work. If you’re running Safari, you can try it out here; I’ve made no attempt to cater to non-W3C DOM models, so it won’t work in Explorer or Mozilla.

There’s a lot more it could do, but right now you can select which character sets to compare, which subsets of them to include in the quiz, and you can make your guesses either by clicking with the mouse or pressing the 1-4 keys on the keyboard. I’ve deliberately kept the visual design simple, not just because I’m not a graphic designer, but also to show how Apple’s use of DHTML as the basis for gadgets makes it possible for any experienced web designer to come in and supply the chrome.

So what does it take to turn my little DHTML web page into a Dashboard gadget?

more...

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