SilverLight 2.0, Parallel FX and ASP.NET MVC

November 30, 2007

Blizzard of great new stuff for today, summarized nicely by ScottGu.

The new Parallel FX stuff is really quite cool. It’s a cliche to say that the number of CPUs in a typical machine is increasing while each individual CPU is not actually faster. But it’s great to see Joe Duffy release Parallel FX and PLINQ to to actually address the challenge.

All very cool can’t wait till next week for ASP.NET MVC.


Thoughts on Mix:UK

September 18, 2007

I went to Mix:UK last week and have waited a while to let my impressions gel. I find that live blogging this type of thing just makes you a part of the echo chamber.

A number things stick in my mind from Mix:UK

  • ScottGu is a great presenter (slides); he’s super tech-savy, a great speaker and engages the audience brilliantly.
  • WPF is an excellent development platform
  • ASP.NET vNext is looking very crisp
  • Silverlight 1.1 is cool but not ready
  • The DLR is very cool but still not ready
  • Expression Blend is ready and can produce epic results
  • And last but not least: Software Transactional Memory

I must say that Software Transactional Memory (STM) is the thing that sticks in my mind. WPF was very cool, VS2008 had excellent new improvements and the sneak peeks (including a WPF MRI visualizer) were excellent but STM lingers in my mind.

STM has a great appeal because it is a truly revolutionary idea that cuts to the root of a problem. Just as the call stack revolutionised modern programing; I’m sure STM will be the first step into a new concurrent software revolution.

Haskell already has an implementation so I’d love one for the CLR from Simon at MS Cambridge 🙂

Windows Installer Lunacy

June 16, 2007

Scott Guthrie has a monster 20+ page article on installing a Web Site using a Web Deployment project. I’ve written before about how I feel about MSIs but this takes the lunacy to a new level in my opinon.

Scott starts but building a dummy web application then builds an MSI installer to do the following:

  • copy it to disk
  • install a web application
  • inject a connection string

Scott defines a scenario where your client wants to install your application on their servers and would like an installer. As it happens I built something very similar and Scott missed something critical: you need a Database. Well, real-world applications need a Database. So the MSI I built installed a DB also and unlike Scott’s example it had to support updating.

The end result was that the MSI became massive. As much time ended up being spent developing the MSI as the application. However, an MSI cannot predict subtle changes that people have made on their servers, or the indexing service locking your files while you try to upgrade, or the company’s Application pool policy etc. etc.

So you end up with an automatic installer that requires a consultant to go on site and run it. At which point you start teaching the consultant the foibles of the installer and not the structure of the application. Then the chap who wrote the installer leaves and the installer project can’t be maintained because it’s a whirlwind of cryptic property settings and code fragments.

Any why? Why has we travelled down this long, painful and pointless path? To save the 3 steps at the top of the post. 3 very simple steps that anyone who runs a Web Server for a living should take in their stride. Sorry Scott, but your tutorial is a hideous example of over-engineering.

The cardinal rule is: you can’t automate through uncertainty.  Automatic scripts which I spoke about in a previous post can help enormously in many situations but only if you own the environment end to end. And a GUI-based wizard will never help in these situations. Installers are useful for Joe Public user who want Notepad 2 not for Joe Businessman who wants your payroll product.

ScottGu on Silverlight

May 3, 2007

Great Silverlight overview interview with Scott Guthrie from PodTech. Covers Multi-Language support, Mini-CLR, Silverlight Streaming & hosting.

[podtech content=]