Tech.Ed Day 1 Roundup

Posted 04 December 2008, 23:19 | by | | Perma-link

Well, these are only nearly three weeks late, but better that than not at all - and I've written most of them up now...

Having been organised, and registered on Sunday, I was able to take a leisurely commute in to Barcelona, check out my route, and then have some free time at the convention centre - which I put to good use by going to the Hands on Labs and doing the ASP.Net MVC lab - I've been playing around porting this site to the technology, so it was only once I got to exercise 4 that I really learnt anything new. My only real complaint with the lab was the "voodoo magic" of some of the set-ups - for example, why was the site in the forums exercise loading /Forum when it should have been loading the default controller first - checking the "default" default.aspx page I saw that had be changed to perform this redirect instead - it would have been nice to have that called out.


This focused quite heavily on Visual Studio 2010 - including some elements not announced at PDC, so yay!

The standout demos for me where:

  • Architecture Analysis: At first glance this looks a lot like some of the things coming out of NDepend - graphical representation of dependencies, etc
  • Sequence Diagram Generation: Most handy - I see the value of these, but have never really drawn any - generally sticking to Class Diagrams and Use Cases.
  • Testing: Some fairly big changes coming here. The VS For Testers allows you to open up a test plan, and start going through it - while you are doing this, VS is recording a screen cast of what you are doing, as well as the state of the machine the application is running on (usually a Virtual Machine of some kind). Once the tester finds a bug, VS will create a bug issue in TFS, attach the video and machine states to issue, and allow it to be assigned to a developer. The developer can then review the video, and step through the code at the point of failure - no more "Works on my machine"!
    • Lab Management: As an addition to the testing, the management of the testing labs has been greatly improved for your long suffering System Administrator.
  • Many more snippets: I've not really used these all that much as I have ReSharper and its Live Templates, but some of these look quite handy - lots of HTML based ones for example.
  • Config Transforms: There's no getting away from it, there are settings in the application config file that are platform dependent, no matter how hard you try - with Config Transforms you define a build configuration, and part of that can include transformations to the config file - by default this includes ensuring that debug="true" is removed in release builds.
  • SharePoint Development: A new SharePoint Server Explorer has been included in VS. It can talk to remote SharePoint setups - you no longer need to run VS on a server. VS will also now properly keep track of all assets added to the solution, and generate the packages for deployment correctly.

TLA201: Introduction to F#

My first breakout session, and I go to something designed to melt my brain. F# is Microsoft's functional programming language offering running on the CLR - I've been reading up on this mostly via Matthew Podwysocki on the few take-homes I had were:


Like var in C#, but it's static. Use the mutable keyword to change the value - this is deliberately ugly so that you don't do it very often.


Pipelining, allows you to compose operations as you go along, piping the result through each successive operation.

fun ->

Defines a new inline function.

The "Extract Method" refactoring was quite clean though - select the block of code you wish to make a method, hit [Tab] to indent it, and then add let [functionName] parameter = in front of it, and you're done.
For asynchronous programming (one of the strengths of a functional, immutable language) you wrap it inside an async{  } block, and can then call Async.Parallel and Async.Run.

WUX312: Web and User Experience/ASP.Net AJAX

A good overview of the different flavours of web development from Microsoft, from straight web forms through what Stephen Walther calls "AJAH - Asynchronous JavaScript And HTML - a.k.a. The Update Panel" all the way up to ASP.Net AJAX with jQuery and ASP.Net MVC.

Some of the nice new things are Template controls - declare them using $create, and then use placeholders like {{title}} to replace data.

It was good to see someone else talking about accessibility for a change - Stephen pointed out that both FireFox and IE8 support ARIA, and it's also a lot better in ASP.Net 4.0 - the control adaptors for example are built in, rather than being an optional extra.

Another useful titbit - the ActionResult of an MVC control can actually be a JSON object Smile

Filed under: Conferences, Tech.Ed