September 25, 2003
@ 12:58 AM

I'm trying to get my hands on a download for Emacs 21. Since the GNU Project server got hacked there doesn't seem to be a public FTP site where I can grab the bits from. This is a shame since James Clark's excellent nXML is only available for Emacs 21.

More below on me trying to broaden my horizons by attending a rave, T-shirts that get you in trouble with members of the opposite sex, more discussion on the exception issue from my last post, GTA on XBox and more.

 


 

Categories:

One of the most frustrating things about working on software is that programmers tend to treat guidelines and best practices as if they were written in stone and handed down by a diety from above. In the .NET Framework developers are encouraged to use exceptions for signalling errors while error codes are frowned upon. On the surface, it sounds like a great idea to get rid of error codes until you create an application or API where lots of different errors could occur. For example, if you are writing an XML parser or a W3C XML Schema validator then avoiding error codes makes it difficult for users of your API to target certain classes of exceptions.

Last night I fixed a bug in RSS Bandit that had to do with invalid characters in XML feeds where I realized the only way to tell that such an exception had been thrown by the application was to write

if((e is XmlException) && (e.Message.IndexOf("invalid character")!= -1)){
msg = e.Message.Substring(5);
}
the above is dumb code. The fact that it is hard to internationalize is quite a problem and one that wouldn't exist if the XmlException class had an error code. Chalk up another one to religious adherrence to software design guidelines.

More below on iPod annoyances, quirky behavior in Soul Calibur 2 on XBox, slashbots on XML in Microsoft Office, and RSS Bandit on MSDN again and a bunch of other random stuff.

 


 

Categories:

September 19, 2003
@ 12:58 AM

The table of contents of A First Look at ADO.NET and System.Xml v 2.0 is available online. This basically lists what I've been working on for the past year and a half. Last year I was testing the stuff described in Chapter 8 while most of this year I've been involved in design work for the stuff described in Chapter 6 (and some of chapter 5). My boss wrote a few of the chapters in the book so I'm definitely going to pick up a copy and display it prominently in my office to score some suckup points. :)

I saw an episode of the Yu-Gi-Oh a few days ago and was struck by how blatantly the cartoon is just a 30 minute advertisment for the Yu-Gi-Oh card game. I guess this is how my mom would have felt if she had ever watched an episode of Transformers during the eighties.

Favorite Pokemon ripoff cartoon?

 


 

Categories:

September 15, 2003
@ 12:58 AM

It's been almost ten days since I last wrote a diary. Below are the ten entries that have crossed my mind each day since then.

 


 

Categories:

September 6, 2003
@ 12:58 AM

I picked up a 30GB iPod from BestBuy on my way back from work only to get home and find out I need an iPod Dock Connector to FireWire and USB 2.0 Cable. So my iPod is currently a $500 paper weight until I swing by either BestBuy or the Apple store in Bellevue and spend even more money on overpriced but sexy Apple products. I am particularly irritated by the "helpful" BestBuy staff that hovered all around me while I picked out the iPod and escorted me to the checkout line but didn't point out that I might require accesories if I was a Windows user. Of course, I should have done my homework. Impulse buys are always a bitch.

Some thoughts below on corporate outsourcing of IT workers, the futility of Free Software or Open Source projects that attempt to clone large proprietary software systems that are basically moving targets, and a look at the OPML spec used by a large number of blogging software.

 


 

Categories:

Yesterday I noticed via Mark Pilgrim that Microsoft has launched Microsoft.com Web Services that enable you to retrieve information from various Microsoft developer related websites such as MSDN. The first XML Web Service they've exposed is GetTopDownloads. Of course, my first instinct was to expose the XML Web Service as an RSS feed so I could keep track of the MSFT Top 10 downloads in RSS Bandit. Unfortunately, on installing the necessary bits that were supposed to plugin to Visual Studio.NET so I could program against the XML Web Service it turned out that the install broke my existing Visual Studio setup.

Undaunted I decided to borrow a leaf from Sam Ruby and Phillip Pearson who coded against the Microsoft.com XML Web Service without fancy SOAP toolkits. Below is code that retrieves the Top 10 downloads for the "en-US" culture from the Micrsoft.com XML Web Service then generates the Microsoft Top 10 Downloads (en-US) RSS feed using just the vanilla .NET Framework 1.0 without any fancy XML Web Service plugins.

Enjoy the code, subscribe to the RSS feed and hang loose.

 


 

Categories:

September 3, 2003
@ 12:58 AM

I picked up Soul Calibur II for the XBox last week and I have to admit it is still the greatest fighting game of all time. I haven't been impressed with many of the new characters (Spawn was particularly dissappointing) except for Talim who has the most innovative weapon of the new entrants. The ability to buy and thus alternate between weapons is an interesting new feature and I've already found my favorites for the characters I use. In combination with the announcement that Vice City will be coming to XBox it looks like my XBox may be coming out of retirement now that I've stopped playing Halo, DOA 3 and Brute Force.

Thoughts below on violating NDAs, software patents, Bumbershoot and more on the lucrative lifestyle of the authors of computer books.

Poll: Would you put software patents on your resume?

 


 

Categories:

Raymond Chen is an old school MSFT guy (as in from the Windows 95 days) and he has a bunch of entries on his blog gives the history behind some common and not so common Windows annoyances. My favorites have been Why isn't my time zone highlighted on the world map? and Why do you have to click the Start button to shut down?. The entry on Hardware backwards compatibility is another good one.

I'm now inspired to do my part to give "why" behind an annoyance that faces Windows users. A number of people have emailed me to complain that when they try to download RSS Bandit they end up with a 0Kb zip file on their hard drive at the end of the download attempt. Well, this is due to a bug in Internet Explorer 5.5 and 6.0. The workaround for this problem is described in Microsoft KnowledgeBase Article 308090

More below on the growing iPod mania on my team, an XQuery birds-of-a-feather at the Microsoft Professional Developer's Conference, writing technical books and blogs being quoted by the press.

 


 

Categories:

The major news services (e.g. Reuters) are agog with the news that the deaths of two U.S. soldiers in Iraq on Tuesday pushed the death toll to 140 since May 1, when Bush declared major fighting over. This is greater than the U.S. toll of 138 dead between the March 20 start of the war and May 1. Some would have expected this news to encourage the current US administration to keep a low profile with regards to comments about the War On TerrorismTM but in fact not only is GW's resolve as strong as ever he has hinted at more preemptive strikes against "known enemies". Definitely someone from the "The Best Defence is a Good Offence" school of thought.

Random observations below on Yahoo and Rolling Stone's adoption of RSS, supposed Outlook viruses, Python on the .NET framework and more.

 


 

Categories:

August 24, 2003
@ 12:58 AM

Download it here. New features and bug fixes described below.

 


 

Categories: