February 2004 - Posts
Thurrott, citing unnamed sources, claims that there will be a super-sized update to Windows XP
before Longhorn ships. The functionality will include XP SP2 as well as a number of new things, including Windows Media Player 10. The most interesting aspect of this is that it sounds like a big Plus pack; it may be downloadable from the web and the user may choose which features to install.
CSells points to an MSI containing 19 or so sample MSBuild scripts, each w/a Word doc explaining the details. Since it only contains MSBuild files and Word docs, you can install on just about any OS. Great info!
(Note that the files are installed in “...\My Documents\MSDN\MSBuild Preview Quickstart Tutorials”.)
Could you fill five printed pages? Chris Brumme has in an excellent post that you'll find educational and a little intriguing. The latter because of CIA-like XXXXXXXX markings throughout due to top-secret Whidbey info. Fun stuff.
I often need to quickly look at unformatted XML over and over and over again while debugging. Today was one of those days and I got sick of it, so I wrote this. It's simply an WebBrowser control on a form; when it gets focus it (optionally) automatically displays the contents of the clipboard. I wrote this in a matter of minutes, so there's no error handling or anything else. I figured someone else may find it useful, so if that person is you, good luck.
A couple weeks ago, Scott Mitchell asked “how do you find your technical information?”. My short answer was: book reference -> MSDN documentation -> MSDN online -> .NET newsgroups. Just days later I stumbled upon Scott's data structures article series, and they were exactly the type of information I like to read. Theory first, helpful visuals (no screen shots), references to other articles, and simply a pleasant read. Bravo!
My guess is that 1/2 of the programmers creating solutions with Microsoft technologies don't have a CS degree (myself included). Likewise, their reading is primarily focused on “how” rather than the “why”. How do I bind a DataSet to something, how do I make a Web Service, essentially “how do I solve my current problem?“. There's nothing wrong with this approach, but it does tend to attach a solution to a problem, so in the future when problem x appears, previous solution y is applied without much thought. Learning the “why” adds to the developer's bag of tricks, so when problems are encountered it's not a matter of using a previous solution or finding a new one, but rather how can the problem be approached. It looks like Microsoft is going in the right direction with articles like these, the new-ish focus on abstract concepts/patterns in architecture and the like. Thanks, Microsoft.
Anyway, these articles are a must-read, even if you know all about data structures:
So I ran www.sliver.com/dotnet through the Gematriculator test (since www.sliver.com was 73% evil) and found that my .NET stuff was only 33% evil. Whew!
Check out your own evilness here: http://homokaasu.org/gematriculator/
(Note that the Gematriculator is absolutely correct, so if you don't like the resuts....well, you'll need to live with them.)
If it's not one thing, it's another..
The latest thing the internet evildoers are doing to confuse your parents is called Visual Spoofing. Instead of faking URLs, these smart guys are faking the IE toolbars. Here's the deal: They launch a new browser window with all of the toolbars invisible and replace them with, you guessed it, toolbar images that contain a legit URL, SSL lock and so on.
Article is here. More info and an example of Visual Spoofing is on Don Park's blog.
It's worth mentioning that XP SP2 doesn't allow turning off the status bar, but apparently that alone isn't enough. I hope the IE team gets wind of this and disallows any content from the Internet zone from being displayed in a browser without toolbars.
has written up a very nice overview
of anonymous delegates and how they do their magic. If trying to figure out how they heck they did it made your head spin, be sure to follow that link. I feel like a new man!
Language enhancements aside, the VS.NET Whidbey IDE will definitely be a productivity enhancer. Chances are Microsoft won't support building to older versions of the framework with the new IDE, especially as “defaults“ like partial classes make their way into newer releases.
Unfortunately, not everyone will be able to force their customers to upgrade to a(nother) new version of the runtime, so some of us will be stuck in VS.NET 2003 for a while. The good news is that it should be possible, with a little elbow grease, to use the new IDE and produce 1.x code. Time will tell as things evolve.
In the meantime I've written a very simple (no error handling, etc.) Whidbey -> VS.NET 2003 C# project file converter. (Whidbey does a nice job of converting 2003 files, so I didn't bother with that.) It only generates a VS.NET 2003 C# project file, so you're out of luck if you use any of the new language features and try to compile in 2003. I really want to use this IDE for “real“ work ASAP, so I'll be doing whatever I can to make that possible if it looks like we can't go to v2 in a reasonable amount of time.
You can download it here.
DateTime is just a simple struct, right? How complicated can it be? Complicated enough to warrant a 12 page article about it, full of best practices. Most people take DateTime for granted, but there are some very important gotchas that usually don't come out in testing. I was bitten by one last year (XML Serialization and different time zones) and you could be, too. Read this, especially if you do web services.
Coding Best Practices Using DateTime in the .NET Framework
More Posts Next page »