Skip to content

BJUG Localization talk

I’m giving a talk tomorrow (Thursday) in Boulder at BJUG at 6:00. The topic will be “Internationalization and Localization in the Real World”:

This is not another rehash of the Internationalization Trail fromthe Java Tutorial website. Rather, Dan examines one website that is supporting a large number of locales in the real world and looks at how i18n and l10n were implemented in the real world. This includes the nuts and bolts of loading multi character data, framework tools that helped, how users were associated with locales, what parts of the i18n API were not used, and issues to be aware of.

Afterwards, there will be pizza and pop, then a talk about Services Oriented Architecture. Hope to see you there.

Useful Tools: wget

I remember writing a spidering program to verify url correctness, about six years ago. I used lwp and wrote threads and all kinds of good stuff. It marked me. Used to be, whenever I want to grab a chunk of html from a server, I scratch out a 30 line perl script. Now I have an alternative. wget (or should it be GNU wget?) is a fantastic way to spider sites. In fact, I just grabbed all the mp3s available here with this command:

wget -r -w 5 --random-wait http://www.turtleserviceslimited.org/jukebox.htm

The random wait is in there because I didn’t want to overwhelm their servers or get locked out due to repeated, obviously nonhuman resource requests. Pretty cool little tool that can do a lot, as you can see from the options list.

IVR UI Guidelines

I was just complaining today to some friends that IVR systems (interactive voice recognition, or, the annoying female voice who ‘answers’ the phone and tries to direct you to the correct department when you call your credit card company) need some guidelines because it seems like every system does things just a little bit differently–enough to annoy the heck out of me. Well, lo and behold, google knows. Here is a paper on the topic and here’s a coffee talk on the topic by a former coworker (today must be a day for references to former coworkers).

Some of my frustrations with IVR systems are due to the very market forces that drive companies to use them (making it hard to reach an operator helps when trying to cut labor costs) and some are due to limitations on audio as an information conveyance (typically, reading is quicker than listening).

Updated Sep 12 2006 with correct link and tags.
[tags]IVR, interactive voice recognition, inovdesigns[/tags]

New tech comic

Jut got an email from an old coworker who used to do some pretty great comic strips. (Nothing nationally syndicated that I know of.) He’s started a new one, Bug Bash, that is ‘updated weekly, technology-focused, and based loosely on my experiences at “a large northwest software company.” ‘

Take a look…

Dropping the .com from package names

Dion wonders whether you need fully qualified package names on your java packages. For instance, is code that I write with this package declaration: package com.mooreds.foo; that much better than package mooreds.foo;?

Given that there are no other mooreds MLDs (from a search at network solutions):

mooreds.net is available.
mooreds.org is available.
mooreds.info is available.
mooreds.tv is available.
mooreds.us is available.
mooreds.cc is available.
mooreds.name is available.
mooreds.bz is available.
mooreds.co.uk is available.
mooreds.de is available.
mooreds.be is available.
mooreds.co.nz is available.
mooreds.at is available.
mooreds.com is unavailable.

I think the answer is that it doesn’t matter very much right now. And the chances of it mattering in the future are slim. I’d have to write some code with the same classname as another ‘mooreds’ packager, and want to import that code. Improbable, but possible. And if this situation arose, I’d have to rename my class, use a different package name (after all, packages don’t have to be meaningful) or use a different class.

What are the benefits of leaving off the com. declaration? Well, it saves everyone who wants to use it four characters of typing per import (those who don’t use auto importers). Four characters!

So, it’s safe to say that package mooreds.foo; and package com.mooreds.foo; probably won’t hurt anything, but given the cost benefit analysis, I can’t see why anyone wouldn’t use the full package declaration: package com.mooreds.foo; .

Now, if someone is using a domain they don’t own, well, that’s just braindead. 15$ and a credit card will get you a domain name. If you can’t afford that, then choose a TLD of your own creation; package lalala.mooreds.foo; won’t collide with anyone who is following the spec, and has an even smaller chance of colliding with someone who isn’t than just dropping the TLD.

In a different vein, I used to give an unusual name for restaurant waitlists, but oftne when they called out ‘Archibald’ I wasn’t attuned to it like I was to ‘Dan’ and more often than not, I missed my seating. Similarly, if you use a domain that someone else owns as your package name, well, you’re looking for trouble that you don’t really need to. I mean, really, isn’t software hard enough?

Installing eRoom 7 on Windows XP Pro

This is a quick doc explaining how to install eRoom 7 on Windows XP Professional. It assumes that Windows XP Pro is installed, and you have the eRoom 7 setup program downloaded. This is based on the events of last week, but I believe I remembered everything.

1. Install IIS.

2. Make sure the install account has the ‘Act As Part Of The Operating System’ privilege. Do this by opening up your control panel (changing to the classic view if need be), double clicking Adminstrative Tools, then Local Security Policy, then expanding the Local Policies node, then clicking the User Rights Assignment node. Double click on ‘Act as part of the operating system’ (it’s the 2nd entry on my list) and add the user that will be installing eRoom.

3. Restart.

4. Run the eRoom setup program. At the end, you’ll get this message:

Exception number 0x80040707
Description: Dll function call crashed ISRT._DoSprintf

5. Re-register all your eRoom dlls by opening up a cmd window, cding to C:\Program Files\eRoom\eRoom Server\ and running

regsvr32.exe [dllname]

for each dll in that directory.

6. Run the eRoom MMC plugin: Start Menu, Run, “C:\Program Files\eRoom\eRoom Server\ERSAdmin.msc”

You should then be able to create a site via this screen.