DevTeach, Day 2

I’m in Markus Egger’s (Pubisher of CoDE Magazine) “Intro to Silverlight” talk, and he just dropped the bombshell that the next version of Silverlight will support out-of-browser experiences!  In 2.0, the browser is required to host the controls, but the next version can stand alone.

“Identifying Performance Benchmarks”.  Awesome.  This session alone will pay for the trip.  Cool tip:

select * from orders

will execute the statement once

select * from orders
go 500

will execute the statement 500 times.  Perfmon + profiler = cool, especially when you overlay perfom stats on top of traces.

DB Maintenance Optimization.  Don’t use Database Maintenance Plans, create your own.  They’re not a great tool.  If you have to, research all their options, and choose as few as you need to–you can do some really dumb things.  Windows 2008 Server has scheduled job to defrag filesystem enabled by default.  Using SQL on a SAN, check out for best practices.  Physical file fragmentation does exist on a SAN, but can be hidden by caching and buffering.  Diskeeper has some guidance.

Expression Blend is cool.  We got Expression Web as part of the conference swag, but we have Blend as part of MSDN.  Blend 2.0 is built in WPF, and parts of VS10 will also be built on WPF.  Blend 2.5 with the Silverlight tools was changed to be an SP.  WPF Spy tools can be used to poke around inside of blend.  Tips: if you don’t know a namespace, hover over the class and hit Ctrl+. to find all namespaces with that class.  I see some great potential for WPF enabled display of information.

Dynamic Data is awesome in theory.  It’s immediately most useful in master data admin pages, but special steps are necessary to secure dynamic data.  This is partly because of issues in securing ASP.NET routing.  Also, since it can rely on Linq to SQL, dynamic SQL is used, and the login user needs access to all tables we want to access, including the master data tables.  There is an example on securing dynamic data on Codeplex (access via and go to samples).

Last session of the day is Query Execution Plans, with Brad McGehee again.  A lot of this I know from Kim Tripp’s webcasts in the past, but SQL 2005 has some differences over SQL 2000.  I’m amazed he can create such bad databases and queries on purpose for the demonstrations.  That takes effort when you’ve spent a lot of time figuring out how to do things correctly.

Tonight DotNetRocks recorded a session, and the Montreal .NET UG hosted a party at a nearby bar.  I ate poutine, which are fries covered with gravy and what translates into “cheese crap”, but what we call curds.  BTDT, and I don’t think I need another helping this week.