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.

Spot the Bug

February 10th, 2008

A future exam question: Identify the elementary programming error in the following actual output from a real web store.

Bonus credit: describe both the quick emergency fix for the problem, and the longterm fix for the problem.

Greetings from CellularFactory.com.

We thought you'd like to know that we shipped your items, and that this completes 
your order. Your order number is ###### Please keep this number for any future 
requests

You can track the status of this order, and all your orders, online by visiting our 
page at http://www.CellularFactory.com/help/shipping.jsp

The following items have been shipped to you by CellularFactory.com:
---------------------------------------------------------------------
Qty      Item                   Price       Shipped      Subtotal
---------------------------------------------------------------------
1      Travel Charger                   5.89      2008-02-09      5.89
---------------------------------------------------------------------

Shipped via USPS (estimated arrival date: about 4-6 days after)
---------------------------------------------------------------------
Item Subtotal
5.89
Shipping & Handling:
3.99
Total:
9.879999999999999
--------------------------------------------------------------------

This shipment was sent to:

Read the rest of this entry »

Yes, the Feeds are Broken

January 14th, 2008

This weekend I finally noticed that the Atom and RSS feeds from this site are 404. I’m not sure why exactly yet. It may have to do with the upgrade to WordPress 2.3.2 or it my be a result of the switch to shared hosting on pair.com. I’m out of town at the moment but I hope to fix it tomorrow.

elharo.com also seems to be completely down. I’m not sure why. I may just need to reboot the server when I get home. I haven’t yet transitioned that site to pair.com. Instead it’s still sitting on the Mac Mini in my office.

Update: I think I have the feed problem figured out now. Holler if anything still looks broken. It seems that the .htaccess file did not get uploaded when I uploaded the rest of the files from the old site. Hidden files are evil.
Read the rest of this entry »

Google for Christmas

December 22nd, 2007

This morning I’m sitting at the computer pruning my address book for Christmas cards. (Yes. I’m running late.) As usual I discover a few incomplete addresses. Missing zip codes are especially common. I know there’s a zip code lookup finder on the USPS web site somewhere, but rather than Googling for it on a whim I paste an address into the Firefox location bar.

101hudsonzipcode.png

Bam! Up pops the complete address including zip code! Five or six more and I’m done. Easiest data cleaning I’ve ever done, and maybe a few more people can get their cards before New Years.
Read the rest of this entry »

Happy 30th Birthday Internet!

November 22nd, 2007

The Internet is 30 today. Exactly 30 years ago today on November 22, 1977 the first three networks were connected to become the Internet. These three were:

  • ARPAnet
  • A lossy packet radio network (the lossiness of this network greatly influenced the design of TCP/IP)
  • The Atlantic Packet Satellite Network (a.k.a. SATNET)

There were computer networks before this, but this was the first network of networks that deliberately attempted to connect heterogeneous systems without regard for platform. It was the thing which grew into today’s Internet. Except for one brief discontinuity in 1983 when the entire Internet was turned off to switch over to TCP/IP, there’s a continuous progression from then to now.
Read the rest of this entry »