It’s been an exciting past two days. Unfortunately FireFox ate my Day 2 report. So I’ll have to resummarize it. (I’ve downloaded BlogJet, which is a well-respected offline blogging package, to craft up this blog post and prevent a repeat performance of yesterday.) I saw some great talks and the highlights from Day 2 included:

  • Live from Tech-Ed: .NET Rocks! Show by Carl Franklin and Richard Campbell, hosts of .NET Rocks, where they talked to two members of the team building Visual Studio Team System for Database Professionals. This new SKU of VSTS brings refactoring, unit testing (written in T-SQL), test data generation, schema diffing, and source control to database gurus. We don’t get any nice design surfaces for modelling or the ability to design logical model and then build physical model. Those are features they’re thinking about for vNext along with supporting databases other than SQL Server. The team’s dev cycle is only 9 months and they plan to ship by the end of the year. Not bad for a major product release. This looks to be a promising SKU for the data-inclined.
  • Windows Communication Foundation: More Than Just SOAP by Steve Maine where he showed off some nifty tricks on making WCF produce RSS and ATOM feeds. Very neat stuff. He talked about the extensibility of the WCF pipeline. Steve is a smart guy and it was neat to see some of the crazy stuff you can do to extend WCF.
  • Windows Vista: Kernel Changes by Mark Russinovich and David Solomon where they talked about all the changes that are coming in the Windows Kernel, both for Vista and “Longhorn” Server. Deep stuff. These guys just make your head hurt, but in a good way. One neat change is that applications can reserve I/O bandwidth and boost themselves up to a “real-time” mode. This means that Windows Media Player 11 won’t stutter or drop clip when your virus scanner kicks in. The music/video will just keep on playing as if nothing happened. They also talked about User Account Protection (UAC), new synchronization primivitives in the OS, user-mode device drivers, and other nerdy stuff. I loved it! 
  • CLR: IronPython and .NET Scripting Languages by Mahesh Prakriya and John Lam (creator of RubyCLR) where they tried to convert us to dynamic language zealots. Dynamic languages are scripting languages on steroids. All the good things of scripting (easy development, flexibility, terse yet readable syntax) without the bad (read VBScript). RubyCLR is a bridge (like COM Interop) that allows Ruby to call into .NET and vice-versa. Ruby code still runs in the Ruby interpreter (irb.exe) and .NET code still runs inside the CLR. People are working on compiling Ruby to IL so that it can run directly in the CLR. Microsoft is even working at making the CLR friendlier for dynamic languages. I’m not going to be dropping C# anytime soon, but I might take John up on his offer of one hour to show me the zen of Ruby. If you’ve never tried Ruby, I would recommend taking TryRuby for a spin. Mahesh talked about IronPython, which is a super-fast Python implementation for .NET. IronPython actually compiles Python code to MSIL. Both guys gave a great talk, but John definitely stole the show (in a good way).