Bigger isn’t always better

Thanks to Paul, I stumbled upon one of the best essays I’ve read this year: Code’s Worst Enemy. If you write code for a living, be sure to check it out.

Computers Etc

Apple Wireless Keyboard + Windows = Happy

After using the Apple Wireless Keyboard at the local Apple store, I was hooked. It doesn’t seem to have any lag, the key action is awesome and I really like the lack of cords. The only thing is, I generally work on a Windows XP box, not an Apple machine. So, I did some research and it seemed like the things generally work with XP, though some folks have reported problems. Here’s what I found:

  • If you don’t have built-in bluetooth support, pick up a D-Link DBT-120, the same adapter Apple recommends for Macs without built-in bluetooth support
  • If you’re running SP2 on Windows XP, do not install the Widcomm drivers that come with the adapter. Just plug it in and let Windows use the generic drivers instead. If you use the drivers that ship with the adapter, you’ll have to re-pair the keyboard every time you reboot. Somehow, the pairing info gets corrupted on reboot, so you can’t use the keyboard to login… If you use the generic Microsoft driver, things just work with the keyboard, or at least they did for me. You can’t use some of the cooler Bluetooth profiles, like Audio Gateway, but then I really just want a keyboard that works all the time, so I don’t care.

So, that’s the trick. The crappy Microsoft Bluetooth support is just enough to get me by and I’m quite happy with this little keyboard. Now if I can just find a way to remap the F14-F16 and volume keys to something more useful…


I18N for Windows

The product I work on currently supports English and Japanese via CodePages. I’ve never really dealt with globalized applications before, so I’m doing quite a bit of research on the matter before I jump in. I’m reading Developing International Applications and finding it to be a fascinating read. I’d always wondered what the System.Text.Encoding object was really all about and now I know. If you read Joel Spolsky, you may have seen his article on globalization, which is a nice intro. DIA is a good bit deeper, weighing in at 529 pages of prose and around 520 pages of appendix. It includes code samples in both Win32 and .NET, which is fantastic, and covers ASP, ASP.NET, and Sql Server in some detail. Additionally, it has the simplest explanation of how to conditionally compile your application for Unicode or MBCS and what it really means. It’s just fantastic.

From what I’m reading, I’m realizing that what we’re doing currently is dead wrong. We send down content encoded using old-style code pages instead of UTF-8 encoded Unicode. I’ll have to work on fixing that. The other thing I found out today is that we store our Japanese content in the ISO-2022-JP code page. I’d like to consolidate the content (it’s currently stored in two separate tables as text, not ntext) into one table with ntext, but there seems to be some limitations with collations and indexes that might be troublesome.

Has anyone else dealt with globalized web sites? Does UTF-8 really work as well as advertised? Some experience from the gallery would really be great.