During this weekend I went to the Seattle Code Camp v3.0. The talks were mostly oriented towards .NET,so it was a good opportunity for me to get a better understanding of all those buzzwords that are unknown to the world of drivers. I also had the opportunity to talk to many interesting people and listen to their ideas about .NET and software development in general.
I started my first day at the code camp by going to Jason Haley's talk, which focused on the .NET Reflector (nothing to do with the UMDF Reflector 🙂 ), which is the most commonly used .NET dissassembler. Jason covered both the reflector, as well as some plug-ins. I had seen the Reflector in use before, however it was a nice overview. I've been reading Jason's link-blog very often and fortunately we had the time during the break to discuss a little bit more.
After his talk, it was time for me to understand what Silverlight and WPF (Windows Presentation Foundation) are. I've heard lots of good stuff about them, however I had no idea what they actually do (apart from the fact that they have to do with the way that applications look). So, after looking at some cool demos in Kelly White's talk, Adam Kinney explained all the theory behind it (what Silverlight is, what are the differences between v1.0 and 2.0, what are the differences between Silverlight, WPF and Flash etc). Adam also went through the development of a cool app that can be shown both in a web browser (using Silverlight) and in the Vista sidebar (using WPF).
Then I decided to move to a bit more familiar space by going to Wayne Berry's talk on hashing. Wayne showed some practical aspects of how hashing is implemented in applications (as opposed to the mathematical theory behind it), as well as potential pitfalls that developers face. Jim McKeeth also had a very interesting talk on implementing cryptography using the Win32 CryptoAPI, however I had to miss it, because I wanted to go to see the xUnit.NET talk from Brad Wilson and James Newkirk. The xUnit.NET talk presented some really cool ideas on unit testing, however I hope that Brad will upload his Cryptography presentation to the web, since he did the same with his "Advanced Downloads" presentation. Now that I'm thinking about it, the Cryptography talk was the only non-.NET talk of the event and I didn't go to it!
Anyway, the next morning, it was time to understand WCF (Windows Communication Foundation). Robert Green gave an excellent presentation. He explained what WCF is and he created a service that could be reached both through TCP and through HTTP (depending on the client being local or remote) and showed how easy interoperability has become with the use of WCF.
The last talk that I went to was Charles Sterlings' talk on how Visual Studio 2008 Team System's features that are related to Application Lifecycle Management. Ok, first of all, I'd like to say that Charles is an excellent presenter. He had only demos and no slides (!) His whole talk was interactive and he actually asked us (the viewers) to do the demos for him (!) I also got a T-shirt with the Visual Studio logo 🙂 Anyway, during his talk I couldn't prevent myself from (mentally) comparing the tools that are being used by application-developers to the ones that are being used by driver developers. Charles was showing all these cool features that VS2008 has and I just had to think that in order to compile a driver I need to go to a command prompt and type bcz (ok I know that I can use batch files, in order to call bcz from VS, however this is not the main point)... Also, I'm using an editor without Intellisense (and that's even more important than the previous issue)... No help-file integration... I was feeling like a prehistoric person in the middle of modern New York. I know that Doron has also blogged about this feeling. When I told a couple of .NET developers about the tools in driver-land they couln't believe their ears. Anyway, hopefully sometime in the future, driver developers might reach a critical mass and things might change... Until then...
Unfortunately I had to leave before the end of the event, otherwise I would like to see more stuff about WCF and Ajax. However, the event was very well organized (kudos to everybody, who helped organize it). I understood several buzzworks (Silverlight, Moonlight, WPF, WCF, etc). All the talks were really interesting and I'm sure that all the visitors enjoyed it. I know that I'll definately go to Seattle Code Camp v4.0 🙂