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.


HTML and .Net in the Browser

June 8, 2007

An very interesting video on the building Silverlight applications that run in the browser, render content with HTML but use .Net code to execute client side page logic. .Net is much quicker then javascript running in the browser so there is value if you need more client side grunt. But the marshalling and interconnectivity between managed code and javascript/DOM is still very much ‘Alpha’

Long and not speed-up-able (see previous post) but worth a look…

Why Databinding Sucks…

May 20, 2007

Back from my holiday to sunny Lanzarote and still wandering around in sandals hoping London starts to warm up.

But back to business…

A recent theme for me is: ‘time saving’ frameworks, wasting my time. The Rails movement has had great success with the prescriptive data layer and recently Microsoft Atlas has jumped on the drag and drop AJAX bandwagon. I’ve used many others but Data Binding is the greatest of these bastions of pain wrapped in hope.

It always starts the same. Flashy Data-Binding demo; click, click, click and your DB table is a HTML table… WOW that’s great. So you try it out and hey-presto the demo works for you too… WOW that’s great. So you start building strongly typed dataset or transfer objects so that the click, click, click bit still works. And hey, now you have a handy way of structuring your data. You’ve got 2 copies of your data structure but that’s OK, you still have a warm fuzzy feeling from the first WOW.

So now you start binding your table. But real world tables aren’t like in the demo. You need custom formatting so you learn the magic binding syntax great but now you have procedural code in your mark up… Darn. You need more that alternating colors, that’s tricky… Darn. You need complex content in a cell so you need the ‘more generic’ template column but then getting hold of the contained controls is fiddly …Darn. You want to light the rows up using CSS alone so you finally have to fall back on the ‘more generic’ Repeater. But hey you can’t expect a framework to do everything right? But now you start realizing that it’s been a long time since the first WOW and your deep into ‘Darn’ territory.

Cut to a few weeks later …

Everything is difficult, you can’t find where things are done, you’ve used so many hacks to get around the foibles and inconsistencies of the Data-Binding framework that no two pages work quite the same. You’re fearful of touching anything in case it blows up. Even having giving up on some features because they just didn’t fit, you’ve booby trapped yourself into paralysis and you long to throw away all the code…

Repeat as needed.

Now I’m not saying that there is no value in Data-Binding. But the big question is: why? Why use Data-Binding at all? The ‘hello data’ demo looked good, but that’s because it used intelligent defaults to make it look smarter than it truly was. And what did it do for you? Mainly: Assignment in a loop. In retrospect typing foreach a couple of times no longer looks very taxing.

The moral? You can’t get away without using 3rd party libraries. But be careful to choose the ones that solve real problems not the ones with the best 3-minute demo.

RubyCLR and Ruby in the Browser

May 1, 2007

John Lam recently got hired by Microsoft and now we know why.

The RubyCLR is out! Ruby is certainly the flavour of the month and it has some excellent language features that improve code brevity, readability and expressiveness.

The introduction of the RubyCLR tied to the fact that there will be Ruby support in the Silverlight Mini-CLR means that Microsoft is really embracing Ruby as a core .net platform language. But more interestingly: you can now build a ‘cross platform’ application that is the same language for the back-end and front-end. Cool!

I tried out Ruby in Steel a long time ago but always felt it was a bit of an un-supported hack. And ‘unsupported’ on the Microsoft stack is often the kiss of death. This new official Ruby support certainly gives me (and no doubt many others) the confidence to do my next project in Ruby.

Roll on Siverlight!

Firefox IDE

April 10, 2007

Jeff Atword read my mind and recently wrote how Firefox is his primary Web Development IDE. And he’s not wrong, what go me thinking about it was the very cool JavaScript debugging support. Magic. Although it’s tough to get OnLoad stuff debugged it a real life saver.

What’s really cool is that the Web is implicitly open source and now with a lot of sites moving towards AJAX, as Tim O’Reilly notes [pdf], there’s an unprecedented amount of production code not just a View Source away, but even better, a Breakpoint away.

The video by firebug creator Joe Hewitt I found in this Ajaxian article is very cool.