July 4, 2004
@ 08:40 PM

In The Problem With Online Music Tim Bray writes

The New York Times today hits the nail on the head: if you’re buying music over the net, you’re buying it in severely damaged condition. When I plug my computer into the really good stereo at home, the difference between the way music sounds coming off CD or vinyl or a good FM signal, and the crippled version from MP3 compression isn’t subtle. I used to think that if you were listening to music on headphones on a bus or train or plane or in a crowd, the MP3 lossage really didn’t matter much.

Then there are people like me who have a Bose sound system in their car but find out much to our chagrin that MP3s playing off of an iPod sound better than CDs since the iPod has EQs and the car stereo does not.


 

In chapter 26, of The Dilbert Principle Scott Adams proposes guidelines for good management which should promote a healthy workplace. On pages 317 & 318 he writes

Rule for "one off" activities: consistency. Resist the urge to tinker. It's always tempting to "improve" the prganizational structure, or to rewrite the company policy to address a new situation, or to create committee to improve employee morale. Individually, all those things seem to make sense. But experience shows that you generally end up with something that is no more effective than what you started with.
...
The best example of a fruitless, "one off" activity that seems like a good idea is the reorganization. Have you ever seen an internal company reorganization that dramatically improved either the effectiveness of the employees or quality of the product?

I found this excerpt particularly relevant because at my day job [at Microsoft] reorganizations are a way of life. Based on conversations with coworkers and my experiences being in Redmond just over 2 years, the average product team goes through one reorganization a year. The average B0rg drone has the line between them and the CEO in the org chart altered at least once a year. At least one news publication has described it as Microsoft's Annual Spring Reorg. When I first got to Microsoft I'd heard people joke about this but having gone through 2 changes in management and 2 team reorgs in as many years the jokes don't seem as far fetched any more. 

About a year ago [or longer] there was a 'meet-the-CEO' style meeting where Steve Ballmer gave a talk followed by a Q & A session with employees in one of teh conference rooms. I didn't attend because I knew the room would be filled to capacity but did watch the live Webcast. One of the things he talked about was the negative effect of frequent reorgs. Paraphrasing, I believe he said with reorgs we take teams of people who've learned how to work together and function as a team and disrupt them by asking them to start the team building process all over again with new counterparts. Recently I noticed another detriment to regular reorganizations which involve changes of management.

Our team recently had a project post mortem where we discussed what things had gone right or wrong on the journey towards getting to beta 1 of v2.0 of the .NET Framework. One of the things that came up were issues with some management decisions that were made at the start of the project which were reinforced during the middle of the project by new management. What I found interesting was that the main management folks who had made these decisions weren't part of the post mortem because they'd been reorged away. Our team has had 3 general managers in the 2.5 years I've been working here and we've been working on Whidbey for almost the entire time. What struck me is that it means that these folks who are now off in other parts of the B0rg cube haven't had to see the pros and cons of the various decisions they made unfold over time or what the ramifications of various trade offs and risky bets they made have been. The entire point of gaining experience is to learn from it. Frequent reorganizations prevent this learning process from occuring. 

Thanks, Dilbert.  


 

Categories: Life in the B0rg Cube

At Microsoft one of our goals in developing software is that backwards compatibility when moving from one version of software to the next is high priority. However in certain cases the old behavior may be undesirable enough that we break compatibility. An example of such undesirable behavior are bugs that lead to incorrect results or security issues. Below is a list of breaking changes in the System.Xml namespace in beta 1 of v2.0 of the .NET Framework.

  1. Extension of xs:anyType which changes the content type to mixed="false" results in error.
  2. Add an enumeration member to XmlWriter.WriteState to indicate that the writer is in error state. Change writer to disallow further writes when in error state.
  3. ##other namespace constraint now treated correctly on wild cards.
  4. Instances of DateTime object returned by XmlValidatingReader that represent xs:time and other date & time related W3C XML Schema types now initialized using DateTime.MinValue
  5. Incorrect implementation of XSD derivation hierarchy for xs:ENTITY and xs:NCName corrected.
  6. XSD List Types Not Validated Correctly.
  7. Changed to reliably fail when XmlTextReader source stream switches encoding between calls to ResetState()
  8. XmlTextReader should apply the same security restrictions as the XmlReaders that can be created via the static XmlReader.Create() methods

I was directly involved in the decision making process for most of these breaking changes since many are in the W3C XML Schema area which I am responsible for. If any further clarifications about any of the breaking changes is needed, please post a comment with your question below.


 

Categories: Life in the B0rg Cube | XML

July 4, 2004
@ 04:24 AM

I just noticed that the most recent version of RSS Bandit has had over 20,000 downloads in just over a month. It seems like every day I find a new blog post from someone who's switched to RSS Bandit or just started using it as their first aggregator describing their improved user experience compared to other aggregators. Thanks for the support, there is even better stuff on the way.

I've been busy with work so in the meantime Torsten and Phil have been working on bug fixes for some of our most pressing user requests. In between releases we try to produce stable builds which early adopters can test to see if certain persistent bugs have been fixed. These RSS Bandit daily builds do not have an installer but can be downloaded and run directly by double-clicking on the RssBandit.exe icon after unzipping the folder. For example, the 6/15/2004 build fixes an issue with downloading feeds from behind a firewall. It should be noted that these interim builds are not expected to be release quality and have not been tested as rigorously as a full release that ships with an installer. However if you are interested in keeping pace with RSS Bandit development and providing feedback in making it an even better aggregator then keeping up with our daily builds is one way to do that. 

My workload at my day job has eased, so in the next few weeks I have time to work with Torsten on fixing a number of our reported bugs as well as prioritizing and implementing various feature requests. One thing I have noticed is that a number of people would like to get insight into our plans for the next release. The first cut at this was my prioritized Top 10 list of features for the next version of RSS Bandit. However that list doesn't take into account a number of smaller feature items we'd like to do nor does it give much detail about what we will do. Both Torsten and Phil would like to see proper specifications for the next release (requirements document, design docs, etc) which I'd gladly write since writing specs is something I was doing for fun before it became my day job. However this is work that would take away from coding time and since there'd only be one or two other readers of the document(s) I'm unsure as to whether just adding more detail to our existing communication practices isn't a better bet for the long run.

Whatever is decided, we will be blogging about features as they are being implemented and providing builds which showcase the new features so we can get feedback from users.  The only question is how detailed we will be about discussing features before they actually show up as downloadable bits.


 

Categories: RSS Bandit

July 4, 2004
@ 01:20 AM

After being confused by a number of blog posts I read over the past few hours it just hit me that both Sun and Apple are using the code name Tiger for the next version of their flagship software product. That clears up a bunch of confusion.


 

Categories: Technology

July 3, 2004
@ 06:49 PM

I just got back from vacation. A week on the beach, sans laptop, sipping mai tais is good for the soul.

Whenever I travel by air I try to use the flight time to catch up on reading popular fiction. This time around I planned to do something different and finish reading Michael Brundage's XQuery: The Xml Query Language but forgot it in my mad dash to the airport. I decided to fallback on a tradition I started a few years ago and searched for a book by Terry Pratchett at one of the airport bookstores. In the past year or two I have noticed that I have been unable to find books by Terry Pratchett in airport bookstores in the United States although I did buy some of his books at Heathrow airport last year. At first, I thought it was because he hadn't published anything new recently but I noticed books from authors that are much longer in the tooth like Jeffrey Archer, Jackie Collins, Robert Ludlum, Sidney Sheldon, Mario Puzo, Danielle Steele and Anne Rice. The conclusion I can draw is that there is some Clear Channel-like company that owns a majority of the bookstores located in airports in the United States which has placed an embargo on the works of Terry Pratchett. I ended up settling for the turgid prose of Anne Rice's Memnoch the Devil and Scott Adams' excellent The Dilbert Principle.

Memnoch the Devil was disappointing. I'd enjoyed the previous books in the series (Interview with the Vampire, The Vampire Lestat and Queen of the Damned) although I did find the subsequent book in the series, The Vampire Armand, quite dreadful and threw it away without finishing it. The book was fairly unimaginative [especially compared to what authors like Neil Gaiman have done with similar themes], predictable and most annoyingly inconsistent with the very religious works it was supposed to be based on.

The Dilbert Principle was very entertaining and had me introspective about work. I definitely feel there's a lot in the book that rings through about Microsoft as is probably true with any large company. I did find some of his ideas on how to create an enjoyable and challenging workplace spot on although I doubt they'll ever penetrate the consciousness of Corporate America.

*sigh*

I now need to catch up on email. Over 500 messages in my Yahoo! inbox (over 450 from the atom-syntax mailing list) and about 700 in my work inbox. Then there's the 1000 unread blog entries in RSS Bandit. Welcome to information overload...


 

Categories: Ramblings

I'm in the end stages of doing the spec work for the various components in the System.Xml namespace  I am responsible for in the Whidbey betas. After the 4th of July holidays we plan to start doing initial brain storming for what feature work we should do in Orcas/Longhorn. I thought it would be valuable to have various users of XML in the .NET Framework suggest what they'd like us to do in the Orcas version of System.Xml. What changes would people like to see? For example, I'm putting Schematron and XPathReader on the 'nice to have' list. No idea is too unconventional since this is the early brainstorming and prototyping phase.

Caveat: The fact that a technology is mentioned as being on our 'nice to have' list or is suggested in a comment to this post is not an indication that it will be implemented in future versions of the .NET Framework.


 

Categories: Life in the B0rg Cube | XML

June 24, 2004
@ 06:21 AM

Few things are as nice as spending all day writing about XML technologies while sipping Belvedere and listening to G-Unit mix tapes interspersed with Bon Jovi's Crossroad album.

Definitely a good day.


 

Categories: Ramblings

June 23, 2004
@ 03:18 PM

From an E! Online article entitled Method Man Raps Fox

The show debuted last Wednesday to an audience of 8 million--a decent showing for a summer series. But critics assailed the sitcom as nothing more than a collection of racial stereotypes.

Method Man says that while the urban comedy retains a certain hip-hop flavor, it's doesn't jibe with the original subversive vision he and Method & Red's producers intended. Aside from the watered-down subject matter, Method Man lashed out at "lame jokes" that have managed to find their way into scripts and he bemoaned the use of a laugh track, which he said he never agreed to.
...
Method launched into his tirade against the Man after hearing an acting coach on local L.A. radio who said the duo's show smacked of "coonery," i.e., the racial stereotypes prevalent in era of Jim Crow, and criticism from such outlets as BET.com, which labeled Method & Red "unfunny" and attacked it for aiding a "downward spiral in black entertainment" by offering "a benign buffoonish broth ready for mainstream consumption."

"I'm no coon," the Soul Plane star vented. "I'm being criticized by people who have never set foot in the ghetto, who have never put up a brick inside the ghetto. I'm from the ghetto. We can't all be the Cosbys. There needs to be a yin and yang as far as what is shown of black people on television. But I don't want us to be used as a scapegoat for their crusades."

Everytime I've seen ads for this shitty show I've cringed. Movies like Soul Plane and Method & Red remind me a lot of Chris Rock's famous Niggas vs. Black People skit. I can't wait for this idiotic show to get cancelled.


 

Dave Winer recently wrote

We added a link to a page of encoding examples for descriptions, under Elements of <item>. The change is also noted on the Change Notes page.

I was one of the people that gave feedback on making this clarification to the RSS 2.0 specification and I'm glad it's made it in. Funny enough, not even a week goes before I've had a need to forward the link to an RSS feed producer explaining how to properly escape the content in <description> elements. In this case it was the Microsoft Research RSS feeds. Its pretty clear that this clarification was needed if the folks at MSR didn't get it right the first time they took a shot at it.