Average guy, above average luck...the blog of M. Keith Warren

August 2003 - Posts

Longhorn UI Screenshots

WinSupersite has a article with some fascinating screen shots of Longhorn UI. Paul Thurott claims to have independent comfirmation of the authenticity of these images and considering his track record on such matters, you can pretty much bank on this being the real enchilada. No one outside Redmond has the kind of sources that he does.

Check em out here

An argument for breaking the law (I think)

OK, first of all I have no sympathy for people who are “suffering” from outages due to the LoveSan virus. A patch was released weeks ago and Microsoft did everything save running commercials to warn people that there was a flaw and the patch was available. But of course, few listened.

It all makes me wonder why we have not evolved in this fight much in a way that the medical field does. I am talking about vaccination. Vaccines in large part work by giving a small dose of the problem and I do not understand why we do not take that little tidbit and run with it. After knowledge of the vulnerability was available someone could have created a worm vaccine that replicated and propagated itself in an identical fashion but had an actual purpose; to download and install the patch! Doing this coupled with a patch campaign would significantly reduce the attack surface.

It took hours for the LoveSan worm to spread and less than 48 for the spread multiplication factor to begin tailing off. Giving the worm writers the benefit of the doubt I would argue it took just a few days to build the exploit. So why not build a worm vaccine once a potential virus is identified and beat the malicious hacks to the point? Well, first because the ACLU would call it an invasion of privacy and I am pretty sure it would be against the law…But would it not be for the greater good?

C# - using keyword

Most devs I work with are shocked to learn that the using keyword in the C# language is diatic. The obvious is for namespace inclusion but the less often seen use is for aliasing. For example, I hate having to reference the static members of ConfigurationSettings via the fully qualified name of System.Configuration.ConfigurationSettings. This is where aliasing can be cool; just give the class an alias with the using keyword like this:

  using cfg = System.Configuration.ConfigurationSettings;

This will allow you to refer to the members of System.Configuration.ConfigurationSettings using the cfg alias name.

PDC - This should say it all...
Eric G replies to the 'C# is a cheap java knock off' crowd.

In a recent interview with windows enthusiast site ActiveWin, C# PM EricGu gives us this 'short list' of linguistic variances between C# and Java.

  • unsafe code
  • unsigned types
  • user-written value types
  • boxing
  • explicit interface implementation
  • non-virtual methods by default
  • override
  • different method lookup rules
  • attributes
  • foreach
  • multi-dimensional arrays
  • events
  • delegates
  • using
Documentation: One difference between us and them

Lately I have been working on a project with a number of consultants from a local linux/java company. While we go tit for tat on the arguments of Microsoft vs. Linux, they tend to be pretty honest about the fact that their opinions of Redmond are rooted in NT4 experiences. Furthermore any subsequent understandings they have of the monopolistic big brother beast who seeks to squash all other companies comes from the tainted threads of Slashdot.

One concession I have been able to get from these guys is this: Microsoft has great documentation and they make great tools. Of course they follow this with the Stallman worshipper talking point of the day, “…but that don’t matter cuz the OS is chock full of security vulnerabilities” – which of course ignores the facts…but then again these are emotional disestablishmentarianst zealots to whom truth does not really matter.

I say all that because it does raise an interesting point, Microsoft produces an abundance of excellent documentation. MSDN just makes every other developer resource/portal look like a second class citizen in the developer community.

This leads me to question why the community (in general) does not produce more documentation. I have recently been using an excellent .NET charting component that generated wonderful results and excellent customer reaction. BUT the documentation that came with this small component was dismal at best. Even the most popular of windows forms add-ins; DotNetMagic is absent good documentation (OK, so they have a few examples).

Now I don’t believe in leaning on docs as some sort of crunch but I have to believe the C# team is with me on the importance of this one. By adding the XML comment syntax to the language they affirmed that this is a very important element of the development process and one that should be elevated to a stature that puts it in line with syntactical tokens.

VS.NET can produce documentation for the developer provided they build it into their code and there are also some excellent open source tools to facilitate the same. NDoc, is an excellent tool that makes it easier to provide developers with API documentation of the caliber and professionalism that we see from Redmond. So why again do we see such dismal effort on the part of tools vendors and others who write the code that the majority of developers invoke?  How can we fix this fact?

I don’t know, you tell me! Or better yet, tell MSFT!

I would love to see XML comments added to VB.NET as an inherent language element. I would love to see some tools as part of Whidbey that allow make it easier to produce quality doc! I wish Redmond would find a way to embrace the community sites and blogs and integrate them into relevant documentation. Numerous people post tips on their blog like this and this. It would be great if MSDN would crawl these and link to them when relevant.

My wish is that the .NET development community will seize on documentation as a rallying point to prove to the tech world that .NET will win the battle with Java not merely by the might of Microsoft but by the superiority of our ideas and methods. Good documentation as a fundamental principal is a small part of that.

OK…Ranting complete.

More Posts