Web OS? Here comes Project Gazelle

Very interesting… http://research.microsoft.com/apps/pubs/default.aspx?id=79655#

The Multi-Principal OS Construction of the Gazelle Web Browser

Helen J. Wang, Chris Grier, Alexander Moshchuk, Sam King, Piali Choudhury, Herman Venter
19 Feb. 2009

Web browsers originated as applications that people used to view static web sites sequentially. As web sites evolved into dynamic web applications composing content from various web sites, browsers have become multi-principal operating environments with resources shared among mutually distr…

Other interesting links:

http://weblog.infoworld.com/fatalexception/archives/2009/02/gazelle_the_bro.html

http://weblog.infoworld.com/enterprisedesktop/archives/2009/03/is_version_8_th.html

LinqBinding Markup Extension

Earlier today on Twitter Aaron Erickson was berating the inability to write linq statements directly in Xaml. While I’m not totally convinced that is a good idea to begin with I decided to come up with a little proof of concept to see if it’s even feasible. I was able to get about half way to what I would like to see by creating a custom markup extension called LinqBinding. The result allows you to create bindings such as this:

<sys:String x:Key=”query”>id &gt; 1 &amp;&amp; id &lt; 4 || name==”six”</sys:String>
<ListBox ItemsSource=”{e:LinqBinding {StaticResource query}, Binding={Binding}}” />
The query in the string is the linq statement you would put into the where clause normally. I was unable to figure out how to use a Binding statement to a TextBox instead of having the hard-coded string but I’m pretty confident it is possible somehow (I’ll leave that for another blog post for now).
In order to accomplish this I used the code found in the Dynamic Linq examples talked about by Scott Guthrie in his blog.
Here is the sample: LinqExtensionSample.zip

Silverlight and Interoperability

I read something interesting on Scott Guthries blog about the release of Silverlight 2:

Interoperability

Today we are also announcing that Microsoft is partnering with Soyatec to sponsor additional tools for developing Silverlight applications using the cross platform Eclipse development platform.  Click here to learn more about this and download the free Silverlight Eclipse plugin.  Click here for a step-by-step tutorial that walks-through how to use their Eclipse tools today to build a Silverlight 2 application.

We are also announcing today that we are releasing the Silverlight XAML vocabulary and schema under the Open Specification Promise (OSP), which enables anyone to create products that read and write XAML for Silverlight.

This is a bit surprising but a good move I think. Scott Guthrie and the ASP team have also been creating the ASP MVC framework under an open source license so it shouldn’t be too much of a shock to see the focus on interoperability with Silverlight. I do like this trend though, I feel like it’s important to focus on interoperability and support open source as much as possible.

CSharp is C plus plus plus plus

I learned something interesting today while reading one of the RSS feed items in the Visual Studio start page. The article in question is an interview with Anders Hejlsberg who says that the idea for the # in C# came from taking C++++ and stacking the pluses (amongst other reasons). I always wondered why they ended up going with the # symbol…

The A-Z of Programming Languages: C#

Flash vs. Silverlight, Indeed

I was just looking at indeed.com and decided to put in Flash vs. Silverlight. The results are pretty interesting:

At the time of this posting flash goes from 0% in May ’05 to about 100% in Sept ’07 while silverlight has gone from 0 at May ’07 to 1,300% in Oct. ’07. I guess we can see that Microsoft has done a good job of getting people excited about Silverlight. Now all they need to do is devliver the goods.

Also, one other interesting thing is how F# creates a graph that sort of looks like the New York skyline:

That seems pretty ironic from a functional language.