Navigation

Search

Categories

On this page

Encoding Problems
XHTML 2.0 Moving Along
Time Zone Headaches
The Beginning

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 83
This Year: 0
This Month: 0
This Week: 0
Comments: 20

Sign In

# Friday, December 20, 2002
Encoding Problems
Friday, December 20, 2002 8:25:07 PM UTC ( Blog )

I’ve been having some encoding problems with my RSS stream. There seems to have been some disagreement between my RSS generator, my web server, some RSS consumers and UTF-8. Hopefully it’s working better now.

Thanks to my friend Clemens for the heads up!

Comments [0] | | # 
# Wednesday, December 18, 2002
XHTML 2.0 Moving Along
Wednesday, December 18, 2002 9:14:33 PM UTC ( General )

The HTML Working Group has released the third Working Draft for XHTML 2.0!

All we need now is for Visual Studio and Internet Explorer to officially support XHTML versions 1.0 and 1.1 ;)

Comments [0] | | # 
Time Zone Headaches
Wednesday, December 18, 2002 8:43:54 PM UTC ( Architecture )

Globalization has never been an easy aspect of any development project. Lately I’ve been evaluating the requirements needed to serve users from different time zones, and at first sight this appeared to be a fairly manageable task. After all it’s just about storing all your dates in UTC time and then adding or subtracting the time difference to get the users local time. Or so it seemed…

First of all, there is no nice way of retrieving the local time zone from the user’s browser, short of using Passport and forcing the user to share his or hers time zone information. So, the user will have to choose the time zone he or she wants to use, and I guess the time zone support is worth the extra seconds spent during user registration.

Then, I entered the domain of the DST (daylight savings time/ summer time) monster. At first I thought it would be fairly easy to find a standard for this, or that Windows or the .NET framework would be nice enough to provide me with the necessary functionality.

The .NET framework does not, to my knowledge, support the ability to have different time zones attached to different threads, like they have with CultureInfo. But Windows 2000 does have a function that allows me to convert a given UTC date to a specific local time zone, just as long as I supply the time zone information; UTC offset and DST information. And it’s even possible to extract this information for every registered time zone from the Windows Registry. It’s not elegant, but it should work as long as I inserted the time zone conversion in the user interface layer. And I could even write my own .NET TimeZone implementation.

This could have been the end of my problems, but of course it wasn’t. As it turns out DST settings tend to vary between countries, and sometimes between regions within the same country and time zone. And to top it off, it varies from year to year. I’m not talking about fairly deterministic things like the last Sunday in March, but more like the time when Sydney had special DST settings during the Sydney 2000 Olympic Games and the fact that several countries, including Norway, decided to ignore DST for several non-consecutive years. I guess that is why Microsoft decided to releases a time zone editor for Windows. At least I can find comfort in the fact that the European Union has created a DST standard, but it doesn’t help historic dates much though.

So, I guess the only way to handle this problem is to create a time zone for each different combination of DST settings and UTC offsets, and collect all the relevant time zone information in a large table. I was hoping it wouldn’t have to come to that :(

Comments [0] | | # 
# Tuesday, December 17, 2002
The Beginning
Tuesday, December 17, 2002 10:35:49 PM UTC ( Blog )

I just modified my homepage to use XHTML 1.1, and while I was at it; I threw in a primitive web log and a RSS 2.0 feed.

So I guess that would make this my first log entry.

Comments [0] | | #