<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dennis van der Stelt : PDC08</title><link>http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx</link><description>Tags: PDC08</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Cloud service in Azure : Speedtraps</title><link>http://bloggingabout.net/blogs/dennis/archive/2009/02/23/cloud-service-in-azure-speedtraps.aspx</link><pubDate>Mon, 23 Feb 2009 12:52:51 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:481215</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=481215</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=481215</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2009/02/23/cloud-service-in-azure-speedtraps.aspx#comments</comments><description>&lt;p&gt;For the 828 event next Thursday I’m developing some examples. One of them is where I get all speed traps (Flitsers in Dutch) from &lt;a href="http://www"&gt;http://www&lt;/a&gt;… a source that I won’t mention here. I then want to expose these via WCF via SOAP and REST. Of course this will be so extremely popular, that I have to use Windows Azure and be able to scale immensely so you folks won’t miss out on the latest speed traps.&lt;/p&gt;  &lt;p&gt;Anyway, after first writing “w00t” in the cloud, I now got my first WCF service in the cloud which actually does something.&lt;/p&gt;  &lt;p&gt;You can find the REST version here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://flitsservice.cloudapp.net/speedtraps.svc/Flitsers" href="http://flitsservice.cloudapp.net/speedtraps.svc/Flitsers"&gt;http://flitsservice.cloudapp.net/speedtraps.svc/Flitsers&lt;/a&gt;    &lt;br /&gt;&lt;a title="http://flitsservice.cloudapp.net/speedtraps.svc/Status" href="http://flitsservice.cloudapp.net/speedtraps.svc/Status"&gt;http://flitsservice.cloudapp.net/speedtraps.svc/Status&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And the root location, including MEX and WSDL stuff right here:   &lt;br /&gt;&lt;a title="http://flitsservice.cloudapp.net/speedtraps.svc" href="http://flitsservice.cloudapp.net/speedtraps.svc"&gt;http://flitsservice.cloudapp.net/speedtraps.svc&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Unfortunately you won’t be able to add a reference (proxy class) because of some &lt;a href="http://blogs.msdn.com/davidlem/archive/2009/01/07/windows-azure-and-web-services.aspx"&gt;internal stuff going wrong&lt;/a&gt; inside Azure. But maybe I’ll supply you in the future with that as well, and even a client application. Maybe I’ll create an syndicated version of it, but for now you can read the REST version and use it in your own apps. I have no idea how long this will run though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481215" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Azure/default.aspx">Azure</category></item><item><title>PDC 2009</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/11/04/pdc-2009.aspx</link><pubDate>Tue, 04 Nov 2008 08:51:24 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476516</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476516</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476516</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/11/04/pdc-2009.aspx#comments</comments><description>&lt;p&gt;We’ve already heard it mentioned last week in Los Angeles, but here’s the date already…&lt;/p&gt;  &lt;p align="center"&gt;&lt;img title="SaveDatePDC2009" style="display:inline;" height="121" alt="SaveDatePDC2009" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/SaveDatePDC2009_5F00_4CF983BE.png" width="290" border="0" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476516" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>Entity Framework Futures</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/11/04/entity-framework-futures.aspx</link><pubDate>Tue, 04 Nov 2008 08:46:24 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476515</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476515</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476515</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/11/04/entity-framework-futures.aspx#comments</comments><description>&lt;p&gt;A bit late, but it was still in my drafts folder, I just had to finish it. Timothy Mallalieu presented the session on the future of Entity Framework.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Data Platform      &lt;br /&gt;&lt;/strong&gt;We have so many data storage options and so many needs for data.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Normal data access&lt;/strong&gt;       &lt;br /&gt;Users and applications get data from the database via frameworks or libraries &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Integration/aggregation sync        &lt;br /&gt;&lt;/strong&gt;We get data from the cloud, services, databases, etc. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reporting        &lt;br /&gt;&lt;/strong&gt;Reports get data from a data warehouse &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Management, deployment, policy &amp;amp; security        &lt;br /&gt;&lt;/strong&gt;We have metadata stored in XML, databases, etc. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Models and workflow        &lt;br /&gt;&lt;/strong&gt;We have all kinds of models and workflows needing data. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The question is, how do I get the data I need? There are a lot of options currently.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Core Storage &lt;/li&gt;    &lt;li&gt;Data access API’s and frameworks (like ADO.NET) &lt;/li&gt;    &lt;li&gt;Mid-tier frameworks and technologies (like Astoria) &lt;/li&gt;    &lt;li&gt;Client technologies (custom build, with as example dynamic data) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Entity Framework and EDM are the start for creating data-models and retrieving data. Those were released with .NET Framework 3.5 SP1, but there’s much more to come, starting with SSRS (SQL Server Reporting Services) and synching data for offline usage. These will be discussed this week at PDC.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The new features?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Entity Framework vNext will have the ability to generate the database from the EF model. In the bits that become available, all objects will be dropped from the database though, when refreshing the database from the model. As I understood, this should be fixed in the final .NET 4.0 release, if Entity Framework will be released with .NET.&lt;/p&gt;  &lt;p&gt;Entity Framework vNext will support lazy loading. As in LINQ to SQL it’s a property and you can turn it on and off.&lt;/p&gt;  &lt;p&gt;Entity Framework vNext will support TableValuedFunctions.&lt;/p&gt;  &lt;p&gt;Entity Framework vNext will have support for less XML model, instead you decorate your classes with attributes.&lt;/p&gt;  &lt;p&gt;You can find info on LINQ to SQL and stopping further development on it in &lt;a href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx"&gt;this post&lt;/a&gt; and more in &lt;a href="http://blogs.msdn.com/adonet/archive/2008/10/31/clarifying-the-message-on-l2s-futures.aspx"&gt;this post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;All in all I expected more from the Entity Framework Futures talk. There has been a lot of discussion about the Entity Framework and Tim just showed some v2 features. I expected more on what the grand plan was with Entity Framework. I guess this also involves “Oslo”, M and MEntity. We’ll just have to wait for more to come…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476515" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>Oslo : Building textual DSLs</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/oslo-building-textual-dsls.aspx</link><pubDate>Thu, 30 Oct 2008 19:48:43 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476380</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476380</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476380</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/oslo-building-textual-dsls.aspx#comments</comments><description>&lt;p&gt;This is the geek *** session Don Box mentioned. Chris Anderson and Giovanni Della-Libera are presenting, the entire Oslo team that’s here is inside this room.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3257_5F00_5DDC4A69.jpg"&gt;&lt;img title="IMG_3257" style="display:inline;" height="180" alt="IMG_3257" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3257_5F00_thumb_5F00_09E9218E.jpg" width="240" border="0" /&gt;&lt;/a&gt; &lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3260_5F00_32C410CA.jpg"&gt;&lt;img title="IMG_3260" style="display:inline;" height="180" alt="IMG_3260" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3260_5F00_thumb_5F00_3B83F349.jpg" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;module PDC&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; language Contacts &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; syntax Main = &lt;span style="color:blue;"&gt;checked&lt;/span&gt;:Contact =&amp;gt; &lt;span style="color:blue;"&gt;checked&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; syntax Contact = &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&amp;quot;Contact&amp;quot;&lt;/span&gt; &lt;span style="color:#a31515;"&gt;&amp;quot;:&amp;quot;&lt;/span&gt; a:Alias =&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Contact { Alias { a } };&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; |&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#a31515;"&gt;&amp;quot;Contact&amp;quot;&lt;/span&gt; &lt;span style="color:#a31515;"&gt;&amp;quot;:&amp;quot;&lt;/span&gt; a:Alias &lt;span style="color:#a31515;"&gt;&amp;quot;-&amp;quot;&lt;/span&gt; n:PhoneNumber =&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Contact { Alias { a }, Phone {phone} };&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token Alias = (&lt;span style="color:#a31515;"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;..&lt;span style="color:#a31515;"&gt;&amp;#39;Z&amp;#39;&lt;/span&gt; | &lt;span style="color:#a31515;"&gt;&amp;#39;a&amp;#39;&lt;/span&gt;..&lt;span style="color:#a31515;"&gt;&amp;#39;z&amp;#39;&lt;/span&gt;)+;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token Digit = &lt;span style="color:#a31515;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;..&lt;span style="color:#a31515;"&gt;&amp;quot;9&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token PhoneNumber = Digit#3 &amp;quot;-&amp;quot; Digit#3 &amp;quot;-&amp;quot; Digit#4;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; interleave TokensIHate = &lt;span style="color:#a31515;"&gt;&amp;quot; &amp;quot;&lt;/span&gt; | &lt;span style="color:#a31515;"&gt;&amp;quot;\r&amp;quot;&lt;/span&gt; | &lt;span style="color:#a31515;"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;+;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Tokenize is the first thing to do. The above can transform “Contact : dvdstelt - 425-555-1212”, and it removes weird characters. Chris and Gio than show how lists work, how the recursive results are flattened out, how to add comments and&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3263_5F00_1FFEF146.jpg"&gt;&lt;img title="IMG_3263" style="display:inline;margin:0px 0px 0px 5px;" height="180" alt="IMG_3263" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3263_5F00_thumb_5F00_26161814.jpg" width="240" align="right" border="0" /&gt;&lt;/a&gt; mgx.exe is used to generated an mgx file.&lt;/p&gt;  &lt;p&gt;mgx /r:contacts.mgx input.contacts will generate M language code. The mgx is just a plain .zip file, as said before in one of my posts.&lt;/p&gt;  &lt;p&gt;mgx /r:contacts.mgx input.contacts /t:xaml for transformation to xaml&lt;/p&gt;  &lt;p&gt;You can Integrate MGrammar into the CLR&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use MSBuild tasks, include the .mg file in your solution and setup the msbuild file (csproj) &lt;/li&gt;    &lt;li&gt;Use the MgrammarCompiler, which is an in memory compiler &lt;/li&gt;    &lt;li&gt;DynamicParser &lt;/li&gt;    &lt;li&gt;IGraphBuilder &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A cool example of some MGrammer was grammar code for MSI setup package. MSI is really complex to write, so Chris and Gio build MGrammar to build the MSI. But their MGrammer became so complex, that they wrote another MGrammer code library to generate the other MGrammer code to generate the MSI installer ‘code’. The final result is about 50 lines of MGrammer and 400 lines of C#, pretty maintainable I’d say.&lt;/p&gt;  &lt;p&gt;To sum up, MGrammer is a language for creating textual DSLs. The specification will be released under OSP, as noted on many other weblogs.&lt;/p&gt;  &lt;p&gt;You can build your own language right now! Download at &lt;a href="http://msdn.microsoft.com/oslo/"&gt;http://msdn.microsoft.com/oslo/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476380" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Textual+DSL/default.aspx">Textual DSL</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/M+Language/default.aspx">M Language</category></item><item><title>“M” and MService</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/m-and-mservice.aspx</link><pubDate>Thu, 30 Oct 2008 19:02:25 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476379</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476379</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476379</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/m-and-mservice.aspx#comments</comments><description>&lt;p&gt;I’ve been talking to people and perhaps here on the blog that during the Doug Purdy talk they showed a demo of MService where, with a few lines of code, a REST enabled WCF services with WF activities was created with only so few lines of actual code.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;service Service&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; operation PhotoUpload(stream : Stream) : Text&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; .PostUriTemplate = &lt;span style="color:#a31515;"&gt;&amp;quot;upload&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; index : Text = invoke DateTime.Now.Ticks.ToString();&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; filename : Text = &lt;span style="color:#a31515;"&gt;&amp;quot;d:\\demo\\photo\\&amp;quot;&lt;/span&gt; + index + &lt;span style="color:#a31515;"&gt;&amp;quot;.jpg&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; invoke MService.ServiceHelper.StoreInFile(stream, filename);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;return&lt;/span&gt; index;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; operation PhotoGet(index : Text) : Stream&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; .UriTemplate = &lt;span style="color:#a31515;"&gt;&amp;quot;getphoto/{index}&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; .ContentType = &lt;span style="color:#a31515;"&gt;&amp;quot;image/jpeg&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; filename : Text = &lt;span style="color:#a31515;"&gt;&amp;quot;d:\\demo\\photo\\&amp;quot;&lt;/span&gt; + index + &lt;span style="color:#a31515;"&gt;&amp;quot;.jpg&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;return&lt;/span&gt; invoke File.OpenRead(filename);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; endpoint HttpEndpoint&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Binding = WebHttpBinding;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Address = &lt;span style="color:#a31515;"&gt;&amp;quot;http://localhost:8080/service/&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Add breakpoints, post a photo or get one and the breakpoints are hit under debugging. You can see activities and endpoints in the locals window.&lt;/p&gt;  &lt;p&gt;At the bottom you can see the endpoint defined. The first operation is PhotoUpload and it invokes code to store a file. Runtime this results in a WF activity storing the file on disc. The second operation is the get and it invokes a file read activity.&lt;/p&gt;  &lt;p&gt;In the PhotoUpload operation you also see the invoke of DateTime.Now.Ticks.ToString(), which will result in a code-activity in WF, running the specified code.&lt;/p&gt;  &lt;p&gt;This is just it, a REST enabled service for uploading, storing and retrieving images.&lt;/p&gt;  &lt;p&gt;Remember that this is MService, including a WF/WCF runtime that understands the language ‘M’, hosted inside Dublin.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476379" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/M+Language/default.aspx">M Language</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/AppFabric/default.aspx">AppFabric</category></item><item><title>“Oslo” repositories and models</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/oslo-repositories-and-models.aspx</link><pubDate>Thu, 30 Oct 2008 16:54:14 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476373</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476373</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476373</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/30/oslo-repositories-and-models.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3245_5F00_13846271.jpg"&gt;&lt;img title="IMG_3245" style="display:inline;margin-left:0px;margin-right:0px;" height="335" alt="IMG_3245" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3245_5F00_thumb_5F00_3EA8ADDE.jpg" width="251" align="right" border="0" /&gt;&lt;/a&gt;&lt;/strong&gt;Just saw Chris Sells show a session on some other expects of Oslo that wasn’t introduced yet.&lt;/p&gt;  &lt;p&gt;It was again stated that the repository in Oslo is a normal SQL Server database. All your models are just SQL in the database and everything is designed for extensibility.&lt;/p&gt;  &lt;p&gt;Some of the core features are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Repository capabilities&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Repository features are built on SQL Server        &lt;ul&gt;         &lt;li&gt;Repository install also runs on useful features, e.g. replication and mirroring &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;      &lt;li&gt;Repository features are:        &lt;ul&gt;         &lt;li&gt;Catalog &lt;/li&gt;          &lt;li&gt;Secure views &lt;/li&gt;          &lt;li&gt;Auditing &lt;/li&gt;          &lt;li&gt;Versioning &lt;/li&gt;          &lt;li&gt;Claims-based security, etc &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;The Oslo SDK provides tools to&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Define new models : Intellipad, Visual Studio language services &lt;/li&gt;      &lt;li&gt;Compile models : m.exe, msbuild build tasks &lt;/li&gt;      &lt;li&gt;Deploy models : mx.exe &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Again, once your models are in the database, it’s just plain SQL data.     &lt;br /&gt;Currently only SQL Server is supported, but of course the next logical step is XML and especially web services to &lt;u&gt;put your models in the cloud&lt;/u&gt;!!!&lt;/p&gt;    &lt;li&gt;&lt;strong&gt;Deployment       &lt;br /&gt;&lt;/strong&gt;&lt;/li&gt; Application model can be used to define applications to be deployed.     &lt;br /&gt;E.g. define a web service in the repository and deploy it without writing a line of code.    &lt;br /&gt;    &lt;br /&gt;The demo shown has in the database a few rows of data in the application model on a WCF service with WF. When deploying, it’s gathering data from the database and transforming it to something the runtime can understand. In the demo shown, the extension isn’t .svc but .xamlx    &lt;br /&gt;&lt;strong&gt;     &lt;br /&gt;&lt;/strong&gt;mx.exe packages SQL for deployment to repository nodes    &lt;ul&gt;     &lt;li&gt;Packages can come from M files&lt;/li&gt;      &lt;li&gt;packages can be exported from repository nodes&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Security       &lt;br /&gt;&lt;/strong&gt;Security is claims-based.&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Identity becomes just one of several possible claims &lt;/li&gt;      &lt;li&gt;Claims presented to authorize operations against resources &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Repository tables keep track of claims, resources and operations&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Triggers implemented on /t:Repository-generated views to check claims. Everything is stored in again in tables. &lt;/li&gt;      &lt;li&gt;Views protect against direct access to tables &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Domain-specific security containers&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Use “folders” to partition data &lt;/li&gt;      &lt;li&gt;Apps decide which data goes into what folder &lt;/li&gt;      &lt;li&gt;Security checks happen on folder boundaries &lt;/li&gt;      &lt;li&gt;Must call the field “Folder” for compiler to find it &lt;/li&gt;      &lt;li&gt;Folder ID must exist in the Item.Folders table&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Versioning&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Data change synchronization&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Between nodes using SQL Server Replication and Occasionally Connected Systems&lt;/li&gt;        &lt;li&gt;Import/Export using SQL Server Change Tracking, e.g. repository &amp;lt;-&amp;gt; file system&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Schema evolution&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Extend M type and provide backwards compatibility for old clients w/ computed values&lt;/li&gt;        &lt;li&gt;SQL Server Integration Services (SSIS) for data migration&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476373" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/M+Language/default.aspx">M Language</category></item><item><title>"Oslo": Customizing and Extending the Visual Design Experience</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/29/quot-oslo-quot-customizing-and-extending-the-visual-design-experience.aspx</link><pubDate>Wed, 29 Oct 2008 21:54:19 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476345</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476345</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476345</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/29/quot-oslo-quot-customizing-and-extending-the-visual-design-experience.aspx#comments</comments><description>&lt;p&gt;Together with Alex Thissen, Paul Gielens, Marco Stolk and Dries Marckmann we’ve been reflecting our thoughts on “M”. Right now we’re all at another Oslo talk about Quadrant.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why “Quadrant”?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;As more software becomes more model-driven, the volume of data in the system grows &lt;/li&gt;    &lt;li&gt;We need a tool that lets people query, update, and visualize that data in ways that make sense for the task at hand. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;What is “Quadrant”?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Quadrant” is a tool for interacting with data      &lt;ul&gt;       &lt;li&gt;Flexible, focused design surfaces &lt;/li&gt;        &lt;li&gt;Default experiences over arbitrary data &lt;/li&gt;        &lt;li&gt;Rich declarative customization &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;“Quadrant” is completely data-driven, every bit of data in SQL Server. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;“Quadrant” is the tool to work with. You have a canvas where you can drag everything you’re working with on that canvas. Icons that are blue can be dragged out and placed on the canvas again to get a full view on that item again. That way you can drill down in all models. Everything of course in WPF and this provides a great visual experience, or at least this is the idea I get from looking at the screen.&lt;/p&gt;  &lt;p&gt;Terminology and features in quadrant&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;u&gt;Canvas        &lt;br /&gt;&lt;/u&gt;You can use the canvas to view the model. The model is loaded by Quadrant and you can drag models onto the canvas. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;Repository Explorer&lt;/u&gt;       &lt;br /&gt;At the bottom-left corner you have the explorer from which you can select everything related to applications, models, workflows, activities, etc. Everything that is data and is represented as a model. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;Shapes&lt;/u&gt;       &lt;br /&gt;Shapes are the squares on the canvas and are a model or a part of a model &lt;/li&gt;    &lt;li&gt;&lt;u&gt;Hyper icons        &lt;br /&gt;&lt;/u&gt;Hyper icons are the blue icons I talked about. They can be dragged out of the shape and become a new shape themselves. &lt;/li&gt; &lt;/ul&gt;  &lt;p align="center"&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3234_5F00_7B5AC040.jpg"&gt;&lt;img title="IMG_3234" style="display:inline;" height="180" alt="IMG_3234" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3234_5F00_thumb_5F00_629B7330.jpg" width="240" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3235_5F00_7089F0C6.jpg"&gt;&lt;img title="IMG_3235" style="display:inline;" height="180" alt="IMG_3235" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3235_5F00_thumb_5F00_0AD5AA12.jpg" width="240" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3236_5F00_77189AB0.jpg"&gt;&lt;img title="IMG_3236" style="display:inline;" height="180" alt="IMG_3236" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3236_5F00_thumb_5F00_5615023C.jpg" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Using Quadrant Takeaways&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Quadrant” connects people to data &lt;/li&gt;    &lt;li&gt;Diverse data sets &lt;/li&gt;    &lt;li&gt;Diverse interaction styles &lt;/li&gt;    &lt;li&gt;Extensible      &lt;ul&gt;       &lt;li&gt;Create new or extend existing models &lt;/li&gt;        &lt;li&gt;Create new or extend existing editing experiences &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3238_5F00_34698F2B.jpg"&gt;&lt;img title="IMG_3238" style="display:inline;" height="225" alt="IMG_3238" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3238_5F00_thumb_5F00_360A3532.jpg" width="300" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Customizing “Quadrant” Takeaways&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Quadrant is a model-driven application &lt;/li&gt;    &lt;li&gt;Customization via data stored in repository &lt;/li&gt;    &lt;li&gt;View specification based on query/functional evaluation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Quadrant Architecture&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The shell and surface has some core services like drag/drop, undo/redo, error handling, search, etc. The composition engine is getting data from a dataflow engine, giving queryable data, having target data, configuration and view state, which is all coming from M.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3239_5F00_2D861441.jpg"&gt;&lt;img title="IMG_3239" style="display:block;float:none;margin-left:auto;margin-right:auto;" height="225" alt="IMG_3239" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/IMG_5F00_3239_5F00_thumb_5F00_1ADD2C58.jpg" width="300" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Where are we?&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Quadrant” is a flexible tool for interacting with diverse data &lt;/li&gt;    &lt;li&gt;“Quadrant” uses the repository for both specification and state &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476345" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/M+Language/default.aspx">M Language</category></item><item><title>Best PDC session so far : Lap around “Oslo”</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/best-pdc-session-so-far-lap-around-oslo.aspx</link><pubDate>Tue, 28 Oct 2008 22:38:02 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476311</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476311</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476311</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/best-pdc-session-so-far-lap-around-oslo.aspx#comments</comments><description>&lt;p&gt;I’m at the “Lap around ‘Oslo’” talk together with &lt;a href="http://www.alexthissen.nl/"&gt;Alex Thissen&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/pgielens/"&gt;Paul Gielens&lt;/a&gt;. This is by far the best session I’ve seen so far!&lt;/p&gt;  &lt;p&gt;The talk began about models. We were looking at modeling and modeling domains, but what is a model? We have…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Drawings&lt;/strong&gt;       &lt;br /&gt;Models used to communicate with others, for example DataFlow or Use Case. See &lt;a href="http://bloggingabout.net/blogs/dennis/archive/2005/10/13/9767.aspx"&gt;UML as Sketch&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Model-Assisted        &lt;br /&gt;&lt;/strong&gt;Models used to understand or manipulate code, for example StaticStructure or Sequence &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Model-Driven&lt;/strong&gt;       &lt;br /&gt;Models executed by runtimes directly, for example HTML, CSS, XAML, BPEL &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;According to Douglas Purdy, Don Box says we’re on a 30 year journey and we’re 15 years in. We had COM(+), .NET 1.0, Web Services, .NET 3.0 and now we’re entering the next phase. Oslo is the next level for a model-driven platform. We’ve been heading there via configuration, attributes and doing more and more declarative instead of typing everything out. A great example for declarative development is of course LINQ.&lt;/p&gt;  &lt;p&gt;Why is this happening? Transparency (better understand your application), flexibility (add changes to your application faster) and productivity. We need models&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So what is Oslo?      &lt;br /&gt;&lt;/strong&gt;It is &lt;em&gt;the platform&lt;/em&gt; for model-driven development. Microsoft will bring us Oslo with the following components:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“M”      &lt;br /&gt;The language for authoring models &amp;amp; DSLs &lt;/li&gt;    &lt;li&gt;“Quadrant”      &lt;br /&gt;The tool for interacting with models &amp;amp; DSLs &lt;/li&gt;    &lt;li&gt;Repository      &lt;br /&gt;The database for storing &amp;amp; sharing models, this will be SQL Server. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;“M” gives you the modelling and textual DSLs. According to &lt;a href="http://douglaspurdy.com/"&gt;Douglas Purdy&lt;/a&gt; and to &lt;a href="http://www.pluralsight.com/community/blogs/dbox/archive/2008/10/08/talks-i-want-to-see-pdc.aspx"&gt;Don Box&lt;/a&gt;, this is going to be the next big thing. I could not agree more. I am &lt;strong&gt;SO&lt;/strong&gt; excited about what I just saw. Take the example they’ve shown.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;Module Microsoft.Samples&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:green;"&gt;// MusicItem is the schema&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; type MusicItem&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:green;"&gt;// Primary key&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Id : Integer64 = AutoNumber();&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Album : Text; &lt;span style="color:green;"&gt;// Album is constraint by type&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Artist : Text;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:green;"&gt;// Rating is constraint and expression&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; Rating : Integer32 where value &amp;lt;= 3;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; } where identity Id;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:green;"&gt;// * is 0..n multiplicity&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; MusicLibrary : MusicItem*;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;The above declares a schema named “MusicItem” and a collection of those in a “MusicLibrary”. We compile this and than populate the result in the database.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:green;"&gt;// M compiler&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:green;"&gt;// Repository is the database. When choosing -t:xml we generate XML&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;m.exe myfile.m /p:image -t:Repository&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:green;"&gt;// Populating&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;mx.exe /i:myfile.mx /db:repository /ig /f&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;mx uses the compiled “binary” (this is a zip archive actually) and generates T-SQL.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;create table [Microsoft.Samples].[MusicLibrary]&lt;/p&gt;    &lt;p style="margin:0px;"&gt;(&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; -- the rest&lt;/p&gt;    &lt;p style="margin:0px;"&gt;)&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;You can fill the database with the following&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;Module Microsoft.Samples&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; MusicLibrary&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Album = &lt;span style="color:#a31515;"&gt;&amp;quot;Slippery when wet&amp;quot;&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Artitst = &lt;span style="color:#a31515;"&gt;&amp;quot;Bon Jovi&amp;quot;&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Rating = 3&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; },&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Album = &lt;span style="color:#a31515;"&gt;&amp;quot;Into the dark&amp;quot;&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Artitst = &lt;span style="color:#a31515;"&gt;&amp;quot;Europe&amp;quot;&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Rating = 2&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&amp;#160; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;This creates two rows in the table MusicLibrary. But this is all the language “M”. How about a &lt;strong&gt;textual DSL&lt;/strong&gt;? How’s this for coding:&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;quot;SomeAlbum&amp;quot;&lt;/span&gt; by &lt;span style="color:#a31515;"&gt;&amp;quot;Led Zeppelin&amp;quot;&lt;/span&gt; &lt;span style="color:blue;"&gt;is&lt;/span&gt; awesome!&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;quot;Back in Black&amp;quot;&lt;/span&gt; by &lt;span style="color:#a31515;"&gt;&amp;quot;AC/DC&amp;quot;&lt;/span&gt; &lt;span style="color:blue;"&gt;is&lt;/span&gt; so so.&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#a31515;"&gt;&amp;quot;Bad&amp;quot;&lt;/span&gt; by &lt;span style="color:#a31515;"&gt;&amp;quot;Michael Jackson&amp;quot;&lt;/span&gt; &lt;span style="color:blue;"&gt;is&lt;/span&gt; terrible.&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;The above code can be transformed into the exact same code-block as above, where we filled the database with two records. How is this achieved? Take a look at the following code.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;module Microsoft.Samples&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; import Language;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; language MusicLibraryLanguage&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; syntax Main = s:Statement+ =&amp;gt; MusicLibrary(valuesof(s){l&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; syntax Statement = al:Grammar.TextLiteral &lt;span style="color:#a31515;"&gt;&amp;quot;by&amp;quot;&lt;/span&gt; ar:Gramar.TextLiteral &lt;span style="color:#a31515;"&gt;&amp;quot;is&amp;quot;&lt;/span&gt; ?????&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; =&amp;gt; { Album {al}, Artist {ar}, Rating&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; @{(Classification[&lt;span style="color:#a31515;"&gt;&amp;quot;keyworkd&amp;quot;&lt;/span&gt;]} &lt;span style="color:green;"&gt;// colorize &amp;quot;awful&amp;quot;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token Rating1 = &lt;span style="color:#a31515;"&gt;&amp;quot;terrible&amp;quot;&lt;/span&gt; | &lt;span style="color:#a31515;"&gt;&amp;quot;awful&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token Rating2 = &lt;span style="color:#a31515;"&gt;&amp;quot;so so&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; token Rating3 = &lt;span style="color:#a31515;"&gt;&amp;quot;awesome&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; syntax Rating = Rating1 =&amp;gt; 1 | Rating2 =&amp;gt; 2 | Rating3 =&amp;gt; 3;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; interleave skippable = Base.Whitespace&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;I lost the code where it says “????”. The above code tells to look at &lt;em&gt;by&lt;/em&gt; and &lt;em&gt;is&lt;/em&gt; and takes the text there and parse it. It than looks at the rating and gives it an actual number. The &lt;em&gt;Classification&lt;/em&gt; keyword makes the words “terrible” and “awful” become &lt;strong&gt;bold&lt;/strong&gt; in the editor.&lt;/p&gt;  &lt;p&gt;Now is this awesome or what? I’m so excited by this. This is one of the biggest steps in my history of developing software. You can now write code like&lt;/p&gt;  &lt;p&gt;Give me a table called “Customers” with a primary key called “Id” and make it an integer with identity on, seeding from 1.&lt;/p&gt;  &lt;p&gt;The best thing is, if you can think of a way to make that sentence shorter or more self-explaining, go ahead! Use MGrammer to define your own textual DSL.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;MService&lt;/strong&gt;     &lt;br /&gt;Another great demo was when they showed MService. With only a few lines of code (my battery ran flat, so I could not copy the code, but I photographed it and it &lt;em&gt;will&lt;/em&gt; come in this blog!) they created a WCF service where they could upload an image and request it again, using a WF workflow. In about 38 lines of code, { and } on empty lines included!!!     &lt;br /&gt;    &lt;br /&gt;Courtesy of Paul Gielens, I got the code from his weblog. The following starts a REST enabled WCF Service with a WF Writeline activity. Not a Console.Writeline, but a real WF activity.&lt;/p&gt;  &lt;div style="border-right:#cccccc 1pt solid;padding-right:1pt;border-top:#cccccc 1pt solid;padding-left:1pt;font-size:10pt;background:#f5f5f5;padding-bottom:1pt;overflow:auto;border-left:#cccccc 1pt solid;width:100%;color:black;padding-top:1pt;border-bottom:#cccccc 1pt solid;font-family:lucida console;"&gt;   &lt;p style="margin:0px;"&gt;module Service25 &lt;/p&gt;    &lt;p style="margin:0px;"&gt;{ &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; service Service &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; { &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; operation Echo(str : text) : Text &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; { &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .UriTemplate = &lt;span style="color:#a31515;"&gt;&amp;quot;echo/{str}&amp;quot;&lt;/span&gt;; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WriteLine { Text = &lt;span style="color:#a31515;"&gt;&amp;quot;Message : &amp;quot;&lt;/span&gt; + str } &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;return&lt;/span&gt; str; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; } &lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Debugging&lt;/strong&gt;     &lt;br /&gt;At first I thought this was an awesome code generator. But boy was I wrong. They showed debugging and hitting breakpoints inside the textual DSL!!! The stack and locals windows showed the WCF channels and WF activities active. Can you believe it? Probably not, you just have to watch the stream on Channel9.&lt;/p&gt;  &lt;p&gt;I’m now going to follow Don Box, hold on for more!&lt;/p&gt;  &lt;p&gt;Loving it, loving it, loving it, as Don Box would say!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476311" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Oslo/default.aspx">Oslo</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Textual+DSL/default.aspx">Textual DSL</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/M+Language/default.aspx">M Language</category></item><item><title>CodeRush Xpress</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/coderush-xpress.aspx</link><pubDate>Tue, 28 Oct 2008 17:57:33 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476295</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476295</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476295</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/coderush-xpress.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://community.devexpress.com/blogs/markmiller/"&gt;Mark Miller&lt;/a&gt; from DevExpress &lt;a href="http://community.devexpress.com/blogs/markmiller/archive/2008/10/27/announcing-coderush-express-for-c.aspx"&gt;just announced&lt;/a&gt; CodeRush Xpress for C# developers, for free!!! In a partnership with Microsoft, DevExpress is making this tool available for Visual Studio. It’s a selection of CodeRush and Refactor! Pro features.&lt;/p&gt;  &lt;p&gt;Refactor! Pro is one of my favorite tools available for Visual Studio. I haven’t really used CodeRush yet, but I will definitely install CodeRush Xpress.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://devexpress.com/CodeRushX"&gt;Go get it here…&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476295" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Utilities/default.aspx">Utilities</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>PDC 2008 Photos</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/pdc-2008-photos.aspx</link><pubDate>Tue, 28 Oct 2008 17:39:49 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476294</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476294</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476294</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/pdc-2008-photos.aspx#comments</comments><description>&lt;p&gt;A lot of photos, many many more to come…&lt;/p&gt;  &lt;p&gt;Most are Los Angeles, Santa Monica beach and other locations. PDC 2008 isn’t that interesting to look at! ;-)&lt;/p&gt;  &lt;p&gt;&lt;a title="http://flickr.com/photos/dvdstelt/sets/72157608454625991/" href="http://flickr.com/photos/dvdstelt/sets/72157608454625991/"&gt;http://flickr.com/photos/dvdstelt/sets/72157608454625991/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476294" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>PDC 2008 : Keynote 2</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/pdc-2008-keynote-2.aspx</link><pubDate>Tue, 28 Oct 2008 17:07:04 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476292</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476292</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476292</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/pdc-2008-keynote-2.aspx#comments</comments><description>&lt;p&gt;Scott Guthrie is talking… Very fast what he’s talking about…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;WPF 4.0 has touch &lt;/li&gt;    &lt;li&gt;.NET 4.0 can be loaded in the same process as .NET 2.0 &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 is build in WPF &lt;/li&gt;    &lt;li&gt;Ability to create awesome visualizers in Vsual Studio 2010      &lt;br /&gt;Scott just shows us a 200 line code visualizer that replaces the normal /// comments with a nice box with much richer presentation       &lt;br /&gt;This runs on &lt;a href="http://code.msdn.microsoft.com/mef"&gt;MEF&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;MVC will be released in upcoming months &lt;/li&gt;    &lt;li&gt;jQuery intellisense support for Visual Studio 2008 &lt;a href="http://jquery.com/"&gt;right now&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;ASP.NET news      &lt;ul&gt;       &lt;li&gt;Better deployment options, like having multiple web.config files (or deltas) under the normal web.config &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;IIS smooth streaming for (amongst others) Silverlight streaming video will be released &lt;/li&gt;    &lt;li&gt;Silverlight      &lt;ul&gt;       &lt;li&gt;1 in 4 machines have Silverlight installed, according to ScottGu &lt;/li&gt;        &lt;li&gt;New controls like Charting, TreeView, Dock Panel, etc.          &lt;br /&gt;Full access to source code, of course &lt;/li&gt;        &lt;li&gt;Updated Silverlight designer in Visual Studio 2010, based on WPF work done for VS2010&lt;/li&gt;        &lt;li&gt;Run Silverlight inside and &lt;strong&gt;outside the browser&lt;/strong&gt; &lt;/li&gt;        &lt;li&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Strange, nothing about Silverlight 2.0 on mobile. There is a session about it though, but I’m going to “Oslo” sessions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476292" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>Silverlight 2.0 on mobile announced today</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/silverlight-2-0-on-mobile-announced-today.aspx</link><pubDate>Tue, 28 Oct 2008 16:58:46 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476290</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476290</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476290</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/28/silverlight-2-0-on-mobile-announced-today.aspx#comments</comments><description>&lt;p&gt;Yesterday Alex and I spoke to some people and from two resources we got to learn that Silverlight for mobile devices will most likely be revealed today at the keynote by Scott Guthrie.&lt;/p&gt;  &lt;p&gt;The best is, it’s already able to run managed code. So that means Microsoft is skipping the first version and is immediately releasing Silverlight 2.0 for mobile devices.&lt;/p&gt;  &lt;p&gt;More on this today, most likely on many weblogs!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476290" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>PDC2008 keynote : Windows Azure</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/27/pdc2008-keynote.aspx</link><pubDate>Mon, 27 Oct 2008 16:22:25 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476243</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=476243</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=476243</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/27/pdc2008-keynote.aspx#comments</comments><description>&lt;p&gt;Blogging live at the PDC 2008 keynote…&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure      &lt;br /&gt;&lt;/strong&gt;This new version of Windows was just announced. We’ve got desktop and server (back-end) versions of Windows and this should be the web tier, the operating system for the cloud. Windows Azure is about scaling up and keeping your applications and services up 24/7, no need to take them offline when updating. It contains Live Services, .NET Services, SQL Services, SharePoint Services, Dynamics CRM Services. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/servicesPlatform_5F00_452ED4A8.jpg"&gt;&lt;img title="servicesPlatform" style="display:block;float:none;margin-left:auto;margin-right:auto;" height="226" alt="servicesPlatform" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/servicesPlatform_5F00_thumb_5F00_4958AC6D.jpg" width="490" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Microsoft is betting big on Windows Azure and cloud computing and will be offering the following products in Microsoft Online Services initiative.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Exchange online &lt;/li&gt;    &lt;li&gt;SharePoint online &lt;/li&gt;    &lt;li&gt;Dynamics CRM online &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Bluehoo      &lt;br /&gt;&lt;/strong&gt;On demo website running in the cloud is a cool website running on Azure. &lt;a title="http://keynote.bluehoo.com/" href="http://keynote.bluehoo.com/"&gt;http://keynote.bluehoo.com/&lt;/a&gt;     &lt;br /&gt;It’s a social networking site where you can install software on your mobile and see other mobile devices (using bluetooth) around you. If they’ve installed Bluehoo on their mobile you can chat and share interests, etc.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://m.bluehoo.com"&gt;http://m.bluehoo.com&lt;/a&gt; is the address to go to with your mobile. It seems an awesome app, we’ll have to try it!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476243" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>PDC session schedule online</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/16/pdc-session-schedule-online.aspx</link><pubDate>Thu, 16 Oct 2008 17:25:54 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:475629</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=475629</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=475629</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/16/pdc-session-schedule-online.aspx#comments</comments><description>&lt;p&gt;I just noticed the PDC session schedule is online. This means you can find out which sessions are in which slot(s) and you can finally start really planning sessions. This is always extremely difficult as I always want to be in multiple rooms at the same time! :-) I haven’t figured out if some sessions are repeated, as this makes choices sometimes more easy.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/pdcschedule_5F00_181BF9FE.png"&gt;&lt;img title="pdcschedule" style="display:inline;" height="347" alt="pdcschedule" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/dennis/pdcschedule_5F00_thumb_5F00_2F868862.png" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;Very nice is that you can click sessions in the agenda and mark them so you’ll know which one you want to visit. You can also create a printable version you can take with you to the PDC. Or if you have Windows Mobile (or Outlook on your laptop) you can import the schedule. That should make it also very easy to see where to be at which time! :)&lt;/p&gt;  &lt;p align="left"&gt;Go check out &lt;a href="https://sessions.microsoftpdc.com/timeline.aspx"&gt;your own schedule here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update : &lt;/strong&gt;The future of C# by Anders Hejlsberg will be given twice. Once on day one and once on day 3. That’s good, because on day 3 I have 2 other sessions in the same slot.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=475629" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item><item><title>PDC 2008 : Sessions &amp; hard drive</title><link>http://bloggingabout.net/blogs/dennis/archive/2008/10/01/pdc-2008-sessions-amp-hard-drive.aspx</link><pubDate>Wed, 01 Oct 2008 08:21:07 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:474943</guid><dc:creator>Dennis van der Stelt</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/rsscomments.aspx?PostID=474943</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/dennis/commentapi.aspx?PostID=474943</wfw:comment><comments>http://bloggingabout.net/blogs/dennis/archive/2008/10/01/pdc-2008-sessions-amp-hard-drive.aspx#comments</comments><description>&lt;p&gt;I just got a question from &lt;a href="http://bloggingabout.net/blogs/dries/"&gt;Dries&lt;/a&gt; which &lt;a href="https://sessions.microsoftpdc.com/ScheduleBuilder.aspx"&gt;sessions&lt;/a&gt; I intend to visit during the PDC. Although there isn&amp;#39;t a final list yet and especially tracks and times are still missing, I do have some favorites. I&amp;#39;ll post the list below for no reason at all, just that PDC is going through my mind like 24 hours a day right now. Besides &lt;a href="http://www.littlebigplanet.com/"&gt;LittleBigPlanet&lt;/a&gt; by the way, although they are hard to match together. Anyway, the list is quite large and I hope I don&amp;#39;t have to choose between 3 or 4 sessions held at once.&lt;/p&gt; &lt;p&gt;I&amp;#39;m extremely interested in Oslo and the new programming bits, .NET 4.0 and especially the CLR and type advances and of course the next version of WCF with the new modeling extensions presented at PDC. I&amp;#39;m also interested in Visual Studio and Team Foundation Server and Velocity, Pex and some other stuff, but I won&amp;#39;t hesitate to drop those against the previously mentioned stuff. I&amp;#39;m looking forward to sessions from Don Box, Justin Smith, Nicholas Allen and of course Anders Hejlsberg on the future of C#.&lt;/p&gt; &lt;p&gt;Also, the &amp;#39;goods&amp;#39; (as in demos, whitepapers, vpc images, etc) is an ridiculous amount to put on DVDs so they&amp;#39;re giving every attendee a 160GB external drive which is black and PDC08 branded. Awesome!&lt;/p&gt; &lt;p&gt;The list below is alphabetically, like on the site&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&amp;quot;Oslo&amp;quot;: Customizing and Extending the Visual Design Experience&lt;/li&gt; &lt;li&gt;&amp;quot;Oslo&amp;quot;: The Language&lt;/li&gt; &lt;li&gt;&amp;quot;Rosario&amp;quot;: A Sprint with the Next Version of Microsoft Visual Studio Team System&lt;/li&gt; &lt;li&gt;&amp;quot;Zermatt&amp;quot;: Deep Dive&lt;/li&gt; &lt;li&gt;A Lap around &amp;quot;Oslo&amp;quot;&lt;/li&gt; &lt;li&gt;A Lap around Building Block Services&lt;/li&gt; &lt;li&gt;Access Control across the Building Block Services&lt;/li&gt; &lt;li&gt;Architecture without Big Design Up Front&lt;/li&gt; &lt;li&gt;Deep Dive: Building an Optimized, Graphics-Intensive Application in Microsoft Silverlight&lt;/li&gt; &lt;li&gt;Entity Framework Futures&lt;/li&gt; &lt;li&gt;FAST: Building Search-Driven Portals with Microsoft Office SharePoint Server 2007 and Microsoft Silverlight&lt;/li&gt; &lt;li&gt;Hosting Workflows and Services&lt;/li&gt; &lt;li&gt;Microsoft .NET Framework: CLR Futures&lt;/li&gt; &lt;li&gt;Microsoft .NET Framework: Declarative Programming Using XAML&lt;/li&gt; &lt;li&gt;Microsoft .NET Framework: Developing RESTful Services&lt;/li&gt; &lt;li&gt;Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and Code&lt;/li&gt; &lt;li&gt;Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio&lt;/li&gt; &lt;li&gt;Project Velocity: Under the Hood&lt;/li&gt; &lt;li&gt;Securing Your Service Using the Federated Identity Services&lt;/li&gt; &lt;li&gt;Service Bus Building Blocks: Connectivity, Messaging, Events, and Discovery&lt;/li&gt; &lt;li&gt;SharePoint: Microsoft Visual Studio 2008 Extensions&lt;/li&gt; &lt;li&gt;Team Foundation Server: Cool New Features&lt;/li&gt; &lt;li&gt;The Future of C#&lt;/li&gt; &lt;li&gt;The Future of Programming Languages&lt;/li&gt; &lt;li&gt;Under the Hood: Advances in the .NET Type System&lt;/li&gt; &lt;li&gt;WCF 4.0: Building WCF Services with WF in Microsoft .NET 4.0&lt;/li&gt; &lt;li&gt;WCF: Tips and Tricks for Performance and Scale&lt;/li&gt; &lt;li&gt;WF 4.0: A First Look&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=474943" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/Personal/default.aspx">Personal</category><category domain="http://bloggingabout.net/blogs/dennis/archive/tags/PDC08/default.aspx">PDC08</category></item></channel></rss>