Linux 2008: Still Not Ready for Prime Time

May 25th, 2008

I’ve just spent a couple of hours installing and exploring Ubuntu 8.04. Bottom line: better but still not yet an adequate end user system. Here are the things that absolutely must be fixed before one can plausibly recommend Ubuntu to a non-developer end user (and since Ubuntu is the best desktop Linux out there, these are things that need to be fixed before one can recommend desktop Linux). In roughly increasing order of severity:
Read the rest of this entry »

Setting Up My Home Office

May 18th, 2008

I’m realizing that my productivity since I moved has been severely reduced by the setup of my loft here in Irvine compared to the office I had back in Brooklyn. Herewith are some resolutions and plans for fixing that. Suggestions are appreciated.

Loft office with shag carpet and Aeron chair, quite messy
Read the rest of this entry »

Spot the Bug Part 2

April 1st, 2008

Another future exam question: Identify the intermediate programming error in the following screenshot from a major web standards organization:

28 March 2008: Basic XML Schema Patterns for Databinding Version 1.0 - Last Call Ends NaN

What likely happened here, and how could it have been avoided?

What Version of Xerces are you Using?

March 31st, 2008

XML developers often find themselves struggling with multiple versions of the Xerces parser for Java which support different, slightly incompatible versions of SAX, DOM, Schemas, and even XML itself. Xerces can be hiding in a number of different places including the classpath, the jre/lib/endorsed directory, and even the JDK itself. Here’s how you can find out which version you actually have.
Read the rest of this entry »

The Ten Commandments of Unicode

March 7th, 2008

1. I am Unicode, thy character set. Thou shalt have no other character sets before me.

2. Thou shalt carefully specify the character encoding and the character set whenever reading a text file.

3. Thou shalt not refer to any 8-bit character set as “ASCII”.

4. Thou shalt ensure that all string handling functions fully support characters from beyond the Basic Multilingual Plane. Thou shalt not refer to Unicode as a two-byte character set.

5. Thou shalt plan for additions of future characters to Unicode.

6. Thou shalt count and index Unicode characters, not UTF-16 code points.

7. Thou shalt use UTF-8 as the preferred encoding wherever possible.

8. Thou shalt generate all text in Normalization Form C whenever possible.

9. Thou shalt avoid deprecated characters.

10. Thou shalt not enter the private use area.