January 2004 - Posts
Gunnerson today posted a couple bits on method inlining in .NET:Why doesn't C# have an 'inline' keyword?
More on inlining...
Fowler discusses his experience with very few defects on projects utilizing extreme programming. This shouldn't surprise anyone doing test driven development, as the benefits are obvious from day one, especially when starting with a clean slate.
I've been doing TDD for a while on things I've worked on myself, particularly libraries, but only recently have I been involved in a project where the entire thing is being done in a test-first manner. The results are phenomenal and productivity is definitely improved. TDD can be a tough sell since writing the testing code can eat up a good chunk of development time, particularly early in the development lifecycle when people want to see results, but the time is easily recouped as the project progresses and bugs that would otherwise go unnoticed cause tests to fail, resulting in a quick resolution.
I've always said that .NET made programming fun again and with things like patterns, TDD, refactoring and the like it just keeps getting better. Happiness!
I've been working with Web Service Enhancements (WSE) 2.0 technology preview for a few weeks and I love it. If SoapService/SoapClient and soap.tcp indicate the direction we're heading toward Indigo, then sign me up.
While working on the exception management infrastructure for a web service-enabled application, I ran into an interesting situation I hope will either be documented better (if it's by design) or fixed by the time it's RTM. I couldn't find any information regarding it on the internet, so I thought I'd toss out something for Google to swallow up. Note: I haven't tested this with WSE 1.0 or ASP.NET's WebMethods framework, so there's a chance the issue is not in WSE 2.0 TP.
One of the overloaded ctors for SoapException has a “detail” parameter of type XmlNode. I had created an XML node with additional info and was passing it in to the ctor. After throwing and subsequently catching the SoapException in the caller, the Detail property was null. I confirmed that, before throwing the exception in the web service, the Detail property was set.
The documentation for SoapException.Detail states:
In building an XmlNode for the Detail property, the Name and Namespace properties of DetailElementName can be used to ensure consistency with the SOAP specification. [Emphasis mine.]
It turns out that you must use the values represented by the Name and Namespace properties of DetailElementName or the Detail node is lost before it's received by the caller.
Trend Micro, as well as some others, have offered free virus scanning for quite some time. I like to run a scan every couple days when viruses/trojans are flying around the web like crazy, as they are now. This is the one I use:
Trend Micro HouseCall
"The legal entity exists, but I shut the lights out," said former UnitedLinux general manager Paula Hunter in an interview Thursday at the LinuxWorld Conference and Expo.
Open-source shifts spell an end for UnitedLinux [news.com]
Gartner: Windows 9.x Support Extension an Attempted Linux Deterrent [ENT News]
You don't say! What would the world do without high-priced analysts to state the obvious and make inaccurate predictions year after year?
The essence of Gartner's argument is that the move was motivated by Microsoft's self-interested fears of revenue loss from customer defections rather than benign concern that customers' experience a comfortable progression through Microsoft's successive operating systems.
Show me a company that isn't driven by revenue and I'll show you a company that's soon to be out-of-business.
Analyst rant complete. Onward:
This must've been a tough decision for Microsoft. Considering application compatibility is quite good on Windows (when you compare it to other operating systems), people generally don't have a reason to upgrade. Sure their OS crashes occasionally, but when that's all you've ever experienced it's just a fact of life.
One of the things that distinguishes Longhorn from all previous versions of Windows is that Longhorn itself is an application framework. Windows XP and those before it were service platforms; you have your i/o services, print services, network services and so on. Over the years Microsoft added more and more services, and applications consumed more of these services, but Windows was still a service platform. This is why Linux is a potential competitor on the desktop. If Linux can provide the services required by business applications, and currently that's not much more than i/o, print and network services (ie. support a browser), then it is a threat. The UIs of several distros already mimic Windows' and most "suite" applications read/write Microsoft formats.
This is why Longhorn must be a success. By providing an application framework with a unified data store, web services-based messaging infrastructure and easy-to-use graphics/media services, Microsoft is providing a real foundation to build next-generation apps. The question that's been on my mind for quite a while is: Do people need these kinds of apps? The demos are very cool, but people are still getting things done on mainframes, Win NT servers and Win 98 boxes. Applications have been moving back to the server for years with a (sometimes) platform-agnostic interface in a web browser. Will Longhorn usher in another swing back to the desktop, or more appropriately, to a cooperative environment? Time will tell.
This brings me back to the Win 9x support extension. If I was Microsoft, I would keep people on Windows, no matter what version, until Longhorn ships. People will need to buy new computers eventually for whatever reason. If Joe Director can save money now by getting a supported Linux distro on an existing computer and use free suite applications that work with MS Office, why not switch? (Yes, it's not that simple.)
By losing near-term revenue on loss of upgrades driven purely by dropped support, they are increasing the chances people will be on Windows when Longhorn ships, see how it can benefit them, then "lock them in" to the new application framework, ensuring long-term profitability. Considering the amount of cash they have in the bank, this is a gamble they should take.
 Throughout I'm stating things simply. Management does come into play in bigger organizations and can be a significant driver for upgrades.
If you purchased a PowerEdge 1650 between January and May last year, there's a good chance your motherboard may overheat, emit smoke, then shut down. Not good if you're trying for the elusive five nines.
Dell fixes smoking PowerEdge servers [Computerworld]
In an earlier post I mentioned the new NCovers, one of which I couldn't get to produce any output. The author was nice enough to write me to figure out what was going wrong, but when I tried to reproduce the problem it worked. Probably operator error.
It works well! I'm sure the honorable Hanselman will be adding this to his c:\utils very soon.
Seems like every year someone claims Moore's Law is finally going to bite the dust, then someone else says it's still going strong. This time the latter is Pat Gelsinger from Intel.
Intel CTO Pat Gelsinger predicts that by 2010, the chips at the heart of PCs will have 10 billion transistors, run at 30 GHz and process 1,099,511,627,776 instructions per second.
I sure hope so. Today I checked out a WMV HD video at AtomFilms and my 2.4Ghz couldn't keep up.
Extending Moore’s Law [ZDNet TechUpdate]
More Posts Next page »