Jessica turned me on to a new Wiki site created by Adam Nathan that encapsulates all the Win32 API PInvoke definitions. Check it out: www.pinvoke.net. Because it's Wiki, anyone can change it, and hopefully as it catches on people will add in their own tips, tricks and gotchas. A great application of the Wiki model.

Just about anyone who has programmed in the .NET Framework has come across the System.ComponentModel namespace. The Windows Forms, ASP.NET and data classes all implement interfaces from this namespace. But other than that, most people dont know what this namespace is for. Most think it is just a random collection of stuff necessary to support designers. Well, that's partially true: designers make extensive use of this namespace. System.ComponentModel is not just for designers, however. It provides a group of generally useful interfaces and classes you can use in your own applications. In current versions of the .NET Framework all we've really done with component model is provide a useful design pattern; we haven't really made much use of it outside of designers. This post will show you how you can use this namespace in your own applications, utilizing the same design patterns we've used in the designer.

One bad aspect of my job is that I always see the bad stuff.I’m always on the lookout for what we did wrong, what we didn’t do yet, and what we could do better.That kind of environment makes it hard to remember the good stuff we’ve already produced.Last weekend brought a smile to my face, however.

Scoble has a great post about a new MVC tool he's seen that takes MVC a few steps further, where an entire application can be built without using code. There is a long comment thread that is a great intresting read. Yes, this has been done before by many tools. Arguments about how well it scales once you leave the demo and start doing real work with it.

Despite all sorts of problems with this model, it fits in really well with reality. Take the creation of anything worthwhile today: a house, a car, a microprocessor, and you have a few very sharp, very focused individuals who spend a lot of time in very narrow niches designing parts of the whole. But, those few individuals aren't the ones stamping out houses and cars. Their designs are carried as blueprints to people with a different set of skills who actually build the stuff.

Generics are a new feature in the .NET Framework that are at first glance similar to C++ templates. But, they run much deeper. Anyone who has been toying with the upcoming release of the .NET Framework may have seen generics in action in the new generic collection namespace: