<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2589343630458375844</atom:id><lastBuildDate>Tue, 07 Jul 2009 19:13:11 +0000</lastBuildDate><title>Binary Headaches</title><description /><link>http://peterblomqvist.blogspot.com/</link><managingEditor>peter_blomqvist@telia.com (Peter Blomqvist)</managingEditor><generator>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/BinaryHeadaches" type="application/rss+xml" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-7063511866081006694</guid><pubDate>Tue, 07 Jul 2009 18:44:00 +0000</pubDate><atom:updated>2009-07-07T21:13:11.303+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><category domain="http://www.blogger.com/atom/ns#">Testing</category><category domain="http://www.blogger.com/atom/ns#">WCF</category><title>How to get the Using statement to work when dealing with interfaces directly.</title><description>&lt;p&gt;Just recently I did some coding in a project and was faced with something that took me awhile to figure out so I thought I'd write a line or two about it. But before we continue let me state that this post deals with WCF based services in a VB.NET application. &lt;/p&gt;&lt;p&gt;The thing is that personally I'm not very fond of using the "Add Service Reference" in Visual Studio (there are obviously situations where it is useful but most of the times I prefer to have more control over the generated proxy), so what I usually end up doing is to spawn up my own proxy using the &lt;strong&gt;ChannelFactory&lt;/strong&gt; and simply add a reference to the assembly containing the service contracts.&lt;/p&gt;&lt;p&gt;The problem arises when you start working with interfaces to make sure that you can inject your dependencies into your code to be able to implementing proper unit-test. When you do this and try to use the &lt;strong&gt;Using &lt;/strong&gt;statement to implement the disposable pattern and make sure your resources are release in a timely fashion.&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:8e291394-ad7a-43e0-ad78-733c93a5654a" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:white;" &gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; factory &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; ChannelFactory(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; ChannelFactory(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService)(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;MyBinding&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; myInterface &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; factory.CreateChannel()&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;span style="color:#000000;"&gt; myInterface&lt;br /&gt;    ...&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;span style="font-family:Georgia;"&gt;This example code will generate the following complier error:&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;'Using' operand of type '…IMyService' must implement 'System.IDisposable'.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So after banging my head against the monitor for awhile I stumbled upon a blog with an example where the author used the As operator to perform a cast in the using statement, so I figured that this hade to be doable in VB.NET as well.&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;pre&gt;&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:0743f8f4-d4d4-4939-9983-2e12d2563797" class="wlWriterEditableSmartContent"&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; factory &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; ChannelFactory(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService) &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; ChannelFactory(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService)(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;MyBinding&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; myInterface &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;as&lt;/span&gt;&lt;span style="color:#000000;"&gt; IMyService &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; factory.CreateChannel() &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;DirectCast&lt;/span&gt;&lt;span style="color:#000000;"&gt;(myInterface, IDisposable)&lt;br /&gt;    ...&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family:Georgia;"&gt;The above code will work and even though it isn’t as slick as it’s counterpart in C# it will do the trick. Now we are able to both utilize the disposable pattern to make sure we are not forgetting to release our resources and still make use of dependency injection in our code and improve our testability.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;There is no magic here once you think a little about it what the using statement wants is simply a reference to an instance that implements the &lt;strong&gt;IDisposable&lt;/strong&gt; interface which the proxy returned by &lt;strong&gt;CreateChannel&lt;/strong&gt; does. So we just need to give the compiler a little nudge to get it to work.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-7063511866081006694?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/07/how-to-get-using-statement-to-work-when.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-1286735900327351577</guid><pubDate>Tue, 30 Jun 2009 17:58:00 +0000</pubDate><atom:updated>2009-06-30T20:23:57.605+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ALM</category><title>Need help selling ALM? (or Application Lifecycle Management explained)</title><description>&lt;p&gt;David Chapell just released a set of papers the could help you out if your in a shop with a poor ALM implementation and you need some help selling ALM to your management. &lt;/p&gt;&lt;p&gt;All papers where sponsors by Microsoft but they are not aimed specifically at Microsoft Visual Team System but rather at the concepts behind ALM and how it aligns to business strategies and processes.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.davidchappell.com/WhatIsALM--Chappell.pdf"&gt;What is Application Lifecycle Management?&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.davidchappell.com/ALMandBusinessStrategy--Chappell.pdf"&gt;Application Lifecycle Management and Business Strategy&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.davidchappell.com/ALMasABusinessProcess--Chappell.pdf"&gt;Application Lifecycle Management as a Business Process&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.davidchappell.com/ALMToolEvolution--Chappell.pdf"&gt;Tools for Team Development: Why Vendors are Finally Getting It Right&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you want to read Mr. Chapell's original post you can find it &lt;a href="http://www.davidchappell.com/blog/2009/06/perspectives-on-application-lifecycle.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-1286735900327351577?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/06/need-help-selling-alm-or-application.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-5298152770664902477</guid><pubDate>Fri, 12 Jun 2009 16:52:00 +0000</pubDate><atom:updated>2009-06-12T18:53:10.052+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Presentation</category><category domain="http://www.blogger.com/atom/ns#">Design</category><category domain="http://www.blogger.com/atom/ns#">Communication</category><title>The Way of the Whiteboard: Persuading with Pictures - MIX Videos</title><description>&lt;a href="http://2.bp.blogspot.com/_XY57yl89XM0/SjKGF9PGn9I/AAAAAAAAAKc/uCNzSrX5DNM/s1600-h/back+of+the+napkin.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 130px; height: 130px;" src="http://2.bp.blogspot.com/_XY57yl89XM0/SjKGF9PGn9I/AAAAAAAAAKc/uCNzSrX5DNM/s200/back+of+the+napkin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5346483144537579474" /&gt;&lt;/a&gt;&lt;br /&gt;A picture is truely worth a thousand words ... I just realzied that I've forgotten to post this (I wanted to read Dan's book first, which I have done now). The book which I can recommend if you wish to get some inspiration and ideas on how to communicate best with picture is called &lt;a href="http://www.amazon.com/Back-Napkin-Solving-Problems-Pictures/dp/1591841992/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1244824983&amp;sr=8-1#"&gt;The back of the napkin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyway Dan held a very inspiring talk at MIX09 earlier this year called &lt;a href="http://videos.visitmix.com/MIX09/C16F"&gt;The Way of the Whiteboard: Persuading with Pictures&lt;/a&gt; and even if you do not intend to read the book you should take an hour out of your scheadule and watch this video.&lt;br /&gt;&lt;blockquote&gt;Hear Dan Roam talk about persuading people with pictures. Whether convincing leadership to back a project, getting a VC to fund a business, building consensus on a project team, or selling a new technology platform within an organization, nothing is more powerful than a simple picture for discovering and developing technological concepts and business ideas. This session shows how to use the pictures we've created to persuade other people to take action.&lt;/blockquote&gt;&lt;strong&gt;Power to the all the black pens out there you know who you are...&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-5298152770664902477?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/06/way-of-whiteboard-persuading-with.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_XY57yl89XM0/SjKGF9PGn9I/AAAAAAAAAKc/uCNzSrX5DNM/s72-c/back+of+the+napkin.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-6918650874922335148</guid><pubDate>Fri, 12 Jun 2009 16:23:00 +0000</pubDate><atom:updated>2009-06-12T18:32:58.384+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Presentation</category><category domain="http://www.blogger.com/atom/ns#">Design</category><title>From Business To Buttons 09: The Zen of presentation design &amp; delivery</title><description>If you like me where unable to attend &lt;a href="http://www.businesstobuttons.com"&gt;From Business to Buttons 2009&lt;/a&gt; and watch &lt;a href="http://www.presentationzen.blogs.com/"&gt;Garr Reynolds&lt;/a&gt; deliver his keynote about the Zen of presentation.&lt;br /&gt;&lt;blockquote&gt;Over the years presentation software such as PowerPoint has gotten better, but presentations largely have not. The presentation tools have advanced, but we have not. Why? Part of the problem has been a focus only on how to use the tools themselves rather than on how to clarify and amplify our ideas and messages through through fundamental design and storytelling principles.&lt;/blockquote&gt;You are able to watch a recording of the session here:&lt;br /&gt;&lt;embed src="http://blip.tv/play/g9NcgYjRYgA" type="application/x-shockwave-flash" width="400" height="330" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-6918650874922335148?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/06/from-business-to-buttons-09-zen-of.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-7290244601455078092</guid><pubDate>Tue, 02 Jun 2009 19:10:00 +0000</pubDate><atom:updated>2009-06-12T18:54:06.407+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Communication</category><category domain="http://www.blogger.com/atom/ns#">Innovation</category><title>Lets do the wave together</title><description>If you haven't already checked it out you should really take an hour and a half from your scheadule and take a look at the unveiling of the new project from the creators behind Google Maps. &lt;br /&gt;&lt;br /&gt;They announced Google Wave at the annual Google developer conferance and I'm dying to get an account for this piece of communications software, it will most likely change the way you communicate digitally like ICQ did way back in 1996 with instant messenging.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v_UyVmITiYQ&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The product will be open source (at least the majority of the code) and it will have a where rich extensibility API and last but not least everything is based on open protocols. In the launch they previewed serveral very cool bots that where built ontop of the APIs, these bots where able to participate in realtime in the conversations providing services such as translation and spellchecking.&lt;br /&gt;&lt;br /&gt;By far the two coolest features of the product was the instantaneous syncronization of the changes in a messages (at one point in the demo they where five people simultaneously editing the same wave message) and the playback feature where you could be thrown into a conversation and simply play it back to see how it had evolved over time.&lt;br /&gt;&lt;br /&gt;Read more about it in the following post: &lt;a href="http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html"&gt;Went Walkabout. Brought back Google Wave.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-7290244601455078092?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/06/lets-do-wave-together.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-5055481968591966487</guid><pubDate>Sun, 26 Apr 2009 18:46:00 +0000</pubDate><atom:updated>2009-04-26T20:56:12.672+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFSAdminTool</category><category domain="http://www.blogger.com/atom/ns#">CodePlex</category><category domain="http://www.blogger.com/atom/ns#">TFS 2008</category><title>TFS Administration Tool Version 1.4 in now available for download</title><description>Today we release v1.4 of TFS Administration Tool (you can download it &lt;a href="http://tfsadmin.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24283#DownloadId=66678"&gt;here&lt;/a&gt;) which closes a total of seventeen work items from the list of feature requests and defects.&lt;br /&gt;&lt;br /&gt;The major thing in this release is the support for Reporting Services for SQL Server 2008, you can read more about the details of the release over at the blog of &lt;a href="http://manicprogrammer.com/cs/blogs/michaelruminer/archive/2009/04/26/team-foundation-server-administration-tool-version-1-4-has-been-released-on-codeplex.aspx"&gt;Michael Rumiers&lt;/a&gt; who is the co-ordinator for the project.&lt;br /&gt;&lt;br /&gt;And be sure to stay tuned and check in often at the projects &lt;a href="http://tfsadmin.codeplex.com/"&gt;homepage&lt;/a&gt; since we are working hard already on a possible new version with a lot of new features previously unavailable in the tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-5055481968591966487?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/04/tfs-administration-tool-version-14-in.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-6763660655163250474</guid><pubDate>Sun, 22 Mar 2009 22:24:00 +0000</pubDate><atom:updated>2009-03-22T23:37:03.520+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MiX09</category><category domain="http://www.blogger.com/atom/ns#">Azure</category><category domain="http://www.blogger.com/atom/ns#">SQL Services</category><title>What's New in Microsoft SQL Data Services</title><description>Nigel Ellis one of the architects on the SDS team gave a very intressting talk at Mix09 which you can view here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://videos.visitmix.com/MIX09/T06F"&gt;What&amp;#39;s New in Microsoft SQL Data Services - MIX Videos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a talk that really doesn't present any really new fantastic technologies and that's the beuty of it all. The key take away from the session is that it most likely will just work provided your using the basic relational functionality of SQL Server.&lt;br /&gt;&lt;br /&gt;You can expect to get your hands on a &lt;strong&gt;&lt;em&gt;public CTP around July 09&lt;/em&gt;&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;Some things that I found very intressting was the talk about data partioning that would let us use distributed queries in a very easy way. Also coupled with the data syncronization features (based on the sync framework) that will enable tight integration with onpremise instances of SQL Server, we can expect to actually start pushing out parts of our applications in cloud bursting scenarios (this was a headache for me prio this release it was simply not worth the effort on a exsisting application).&lt;br /&gt;&lt;br /&gt;So what is &lt;strong&gt;not in v1&lt;/strong&gt;:&lt;br /&gt;&lt;blockquote&gt;Distributed Transaction&lt;br /&gt;Distributed Queries&lt;br /&gt;Hosted CLR&lt;br /&gt;Spatial Data&lt;br /&gt;Service Broker&lt;br /&gt;Reporting&lt;br /&gt;Business Intelligence&lt;br /&gt;Reference Data&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-6763660655163250474?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/03/whats-new-in-microsoft-sql-data.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-7769885865758232504</guid><pubDate>Fri, 13 Mar 2009 20:52:00 +0000</pubDate><atom:updated>2009-03-13T22:25:29.807+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Azure</category><category domain="http://www.blogger.com/atom/ns#">SQL Services</category><category domain="http://www.blogger.com/atom/ns#">Cloud Computing</category><title>Sql Data Services - A real cinderella story!</title><description>About 2 weeks ago David Robinson of the Sql Data Services team announce that they where planning to announce some really mind blowing changes to SDS at MIX09. &lt;br /&gt;&lt;br /&gt;Earlier this week (I've been a little slow on my blog reading) he announce what's comming and sure enough:&lt;br /&gt;&lt;blockquote&gt;                Tables?...Check&lt;br /&gt;                Stored Procedures?...Check&lt;br /&gt;                Triggers?...Check&lt;br /&gt;                Views?...Check&lt;br /&gt;                Indexes?...Check&lt;br /&gt;                Visual Studio Compatibility?...Check&lt;br /&gt;                ADO.Net Compatibility?...Check&lt;br /&gt;                ODBC Compatibility?...Check&lt;/blockquote&gt;Personally I have been spending some time trying to figure out how to best model and implementing a solution ontop och both SDS as well as Azure Storage. So I'm naturally curious about whats going to happen with the ACE model (which in the first place felt some what strange since the Azure storage platform offers similar support, not to mention that it is rather limiting compare to a traditional relational model) and sure enough it is a deadend in SDS (personally I think this is very good that Microsoft is drawing a clear line and positioning the two different technogies like this, it will be a major improvement for the Azure platform making it an even stronger platform for the cloud):&lt;br /&gt;&lt;blockquote&gt;What about the ACE (Authority, Container, Entity) data model and developer experience? Since Windows Azure storage has a similar data model (property bag) and developer experience, we will stop supporting the current ACE Model sometime in the future.&lt;/blockquote&gt;So when will we get our hands on this goodiebag? Well acording to the SDS team the CTP will be around summertime 2009. So in the meantime go ahead an read the original posts to get more details on this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/ssds/archive/2009/03/10/9469228.aspx"&gt;The no spin details on the new SDS features&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/ssds/archive/2009/03/12/9471765.aspx"&gt;First round of Questions and Answers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-7769885865758232504?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/03/sql-data-services-real-cinderella-story.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-1415586424169249673</guid><pubDate>Fri, 13 Mar 2009 20:24:00 +0000</pubDate><atom:updated>2009-03-13T21:25:33.244+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">TED 2009</category><title>Minority Report is coming to a neighbourhood near you!</title><description>Yesterday I watch a presentation from TED 2009 where &lt;a href="http://www.ted.com/index.php/speakers/pattie_maes.html"&gt;Pattie Maes&lt;/a&gt; from MIT Media Lab's new Fluid Interfaces Group demos a new technology that see called Sixth Sense (there are seems to come alot of intressting innovations from the Fluid Interfaces Group, I recently blogged about another new technology called &lt;a href="http://peterblomqvist.blogspot.com/2009/02/siftables-toy-blocks-that-think.html"&gt;Siftables&lt;/a&gt; which also came out of this lab).&lt;br /&gt;&lt;br /&gt;It basically comes down to a device that is pieced together from equipment about $300 consisting of a projector and some mirrors hooked up to your cellphone that enabled you you to project and interact with information on any surface (just like Tom Cruise in Minority Report altough still abit rough around the edges), this opens up alot of oppertunities but instead of reading my ramblings take 15 minutes out of your schedule and whats the demo: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html"&gt;Pattie Maes demos the Sixth Sense | Video on TED.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-1415586424169249673?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/03/minority-report-is-coming-to.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-3687561747397605418</guid><pubDate>Tue, 03 Mar 2009 20:23:00 +0000</pubDate><atom:updated>2009-03-03T21:39:25.747+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Build Automation</category><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">MSBuild</category><category domain="http://www.blogger.com/atom/ns#">Team Build</category><title>Finally a proper book about MSBuild and Team Build</title><description>&lt;a href="http://1.bp.blogspot.com/_XY57yl89XM0/Sa2Ulcd4r_I/AAAAAAAAAJ0/2ktZtoUZqe8/s1600-h/msbuild.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://1.bp.blogspot.com/_XY57yl89XM0/Sa2Ulcd4r_I/AAAAAAAAAJ0/2ktZtoUZqe8/s200/msbuild.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5309062906757296114" /&gt;&lt;/a&gt;&lt;br /&gt;I just finnished reading &lt;a href="http://www.amazon.com/Inside-Microsoft%C2%AE-Build-Engine-PRO-Developer/dp/0735626286/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1236111495&amp;amp;sr=8-2"&gt;Inside the Microsoft® Build Engine: Using MSBuild and Team Foundation Build&lt;/a&gt; and even though I know of several posting about this book I figure they could do with some more praise :)&lt;br /&gt;&lt;br /&gt;I approached this book with and expectation that I already knew my fair share about the build process in Team System but was pleasantly suprised that there where a few nuggets that I was unaware of so it paid of to read it after all. Otherwise I must say that the book is well structured and is down to earth with a lot of practical examples from real world scenarios. I truely wish that I would have had access to this book back in 2005 when I started out with build automation in Team System.&lt;br /&gt;&lt;br /&gt;The book is a must read for anyone considering working with build automation using Team System (atleast until VSTS 2010 comes out and changes it again). Also if you want to truely understand MSBuild and how your projects are built by Visual Studio (although you will come along way when working with Visual Studio without reading one single row of MSBuild script). &lt;br /&gt;&lt;br /&gt;Personally I will keep my copy on my desk as a reference and flip through it when working with the nitty gritties of the build scripts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-3687561747397605418?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/03/finally-proper-book-about-msbuild-and.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_XY57yl89XM0/Sa2Ulcd4r_I/AAAAAAAAAJ0/2ktZtoUZqe8/s72-c/msbuild.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-1439237408921907978</guid><pubDate>Mon, 02 Mar 2009 19:22:00 +0000</pubDate><atom:updated>2009-03-02T20:40:53.011+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DaaS</category><category domain="http://www.blogger.com/atom/ns#">Cloud Computing</category><title>FathomDB a relational database in the cloud</title><description>I've been playing around with how to store your data in a cloudbased environment, mainly I've been looking at the various offerings from Microsoft (Azure Storage &amp; SQL Data Services).&lt;br /&gt;&lt;br /&gt;Even though I like the concept of being able of putting my data in the cloud, I find the current data model available some what limiting when compared to a regular relational database.&lt;br /&gt;&lt;br /&gt;Well the other day I stumbled upon a new product called &lt;a href="http://fathomdb.com/about/home"&gt;FathomDB&lt;/a&gt;, which comes to the rescue with a DaaS (Database-as-a-Service) offering. Initially they offer MySQL running on Amazons EC2 platform but it sounds as they will offer more backend platforms and possibly more database engines in the future. &lt;br /&gt;&lt;br /&gt;I'm currently waiting for my beta account and will probably blog more about my experiences with FathomDB in the future. &lt;br /&gt;&lt;br /&gt;It's also worth noting if your intressted in DaaS that there is alot of buzz about Microsoft going to offer SQL Server as a DaaS also. At the very least we can expect some intresting news in mid march when Mix09 takes place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-1439237408921907978?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/03/fathomdb-relational-database-in-cloud.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-9151774793179924421</guid><pubDate>Wed, 25 Feb 2009 20:54:00 +0000</pubDate><atom:updated>2009-02-25T22:03:33.728+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio 2010</category><title>Visual Studio 2010 IDE Goes WPF!</title><description>I just went through my backlog of blog posts (incredible how fast they pile up) and stubled upon a post by Jason Zander from the Visual Stduio 2010 team about the new look and feel of the IDE. As indicated by the CTP bits from PDC08 and the new .NET 4.0 designers we could expect more changes in the good old Visual Studio IDE. It looks very slick as you can see in the screenshoot in Jasons post &lt;a href="http://blogs.msdn.com/jasonz/archive/2009/02/20/a-new-look-for-visual-&lt;br /&gt;studio-2010.aspx"&gt;A New Look for Visual Studio 2010&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-9151774793179924421?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/visual-studio-2010-goes-wpf.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-611635750290523487</guid><pubDate>Sat, 14 Feb 2009 11:25:00 +0000</pubDate><atom:updated>2009-02-15T15:29:30.830+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VSTS 2008</category><category domain="http://www.blogger.com/atom/ns#">MSBuild</category><category domain="http://www.blogger.com/atom/ns#">Team Build</category><title>Problems with getting the new TargetsNotLogged feature to work in VSTS2008 SP1</title><description>I guess many people have hade similar experiences as us since upgrading to TFS 2008 with build logs being way to verbose. Fourtunately SP1 fixed this problem for us like Aaron Hallberg describes in his post &lt;em&gt;&lt;a href="http://blogs.msdn.com/aaronhallberg/archive/2008/05/05/orcas-sp1-tfs-build-changes.aspx"&gt;"Orcas SP1 TFS Build Changes"&lt;/a&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Unfourtunately there was a misstake in this patch which lead to only the first project reference got eliminated (also described by Aaron in this post &lt;em&gt;&lt;a href="http://blogs.msdn.com/aaronhallberg/archive/2009/01/30/targetsnotlogged-hotfix-available.aspx"&gt;"TargetsNotLogged Hotfix Available"&lt;/a&gt;&lt;/em&gt;). But the good news is we have a &lt;a href="http://code.msdn.microsoft.com/KB958845"&gt;hotfix&lt;/a&gt; (kinda obvious by the title in the above mentioned post).&lt;br /&gt;&lt;br /&gt;So why the heck am I writing this post? Well as it turns out there seems to be a glitch in the installer when installing SP1 on a build server, the problem is that the new version of the file &lt;em&gt;"Microsoft.TeamFoundation.Build.targets"&lt;/em&gt; is not installed. So what you need to do is to copy it from a development machine running any team edition and replace the one on your build servers, you can find the file under the following path: &lt;em&gt;C:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild&lt;/em&gt;. &lt;br /&gt;&lt;br /&gt;Don't forget to make sure that you are copying the file from a machine that has SP1 installed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE 2009-02-15:&lt;/strong&gt; As Buck points out in the comment you only have this problem if you can keep your fingers out of the cookie jar :) (I know I couldn't) and have made any changes to your &lt;em&gt;"Microsoft.TeamFoundation.Build.targets"&lt;/em&gt; file. If this is the case then the installer will not replace it since it doesn't consider it to be the same file since it used the original datestamp on the file when patching.&lt;br /&gt;&lt;br /&gt;Also I missed that my good friend &lt;a href="http://olausson.net/blog/default.aspx"&gt;Mathias Olausson&lt;/a&gt; also posted some notes on this issue in particular he some info on how you could quickly verify if you have this problem or not which I completely forgot about:&lt;br /&gt;&lt;blockquote&gt;open your "Microsoft.TeamFoundation.Build.targets" file and check that it contains the line &amp;ltTargetsNotLogged Condition=" '$(TargetsNotLogged)' == '' "&amp;gtGetTargetPath;GetNativeManifest;GetCopyToOutputDirectoryItems...&lt;/blockquote&gt;have a look a &lt;a href="http://olausson.net/blog/2009/02/12/ImprovedBuildPerformanceWithTeamBuildSP1HotfixKB958845.aspx"&gt;Improved build performance with Team Build SP1 + hotfix KB958845&lt;/a&gt; to read the whole post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-611635750290523487?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/problems-with-getting-new.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-4078436144536860231</guid><pubDate>Thu, 12 Feb 2009 20:59:00 +0000</pubDate><atom:updated>2009-02-12T22:02:50.129+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">TED 2009</category><title>Siftables, the toy blocks that think</title><description>I just watch the latest talk from TED 2009 given by &lt;a href="http://web.media.mit.edu/~dmerrill/siftables.html"&gt;David Merrill&lt;/a&gt; who is a grad student at MIT, where he is working on new technologies for interacting with digital media. In his talk he gives and absolutely awsome demo on their current project called Siftables, it is really awsome and I think this will have some major impact on how we think about interacting with computers atleast when it comes to dealing with digital media.&lt;br /&gt;&lt;br /&gt;It's a short presentation only 7 mins so take a break from whatever your doing and have a look: &lt;strong&gt;&lt;a href="http://www.ted.com/talks/david_merrill_demos_siftables_the_smart_blocks.html"&gt;David Merrill demos Siftables, the smart blocks&lt;/a&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-4078436144536860231?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/siftables-toy-blocks-that-think.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-7128486160806113193</guid><pubDate>Tue, 10 Feb 2009 11:03:00 +0000</pubDate><atom:updated>2009-02-10T12:04:19.447+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Azure</category><title>Getting started with Azure: Watch thoose VM hours!</title><description>About a week or two ago I recieved my invitation to participate in the Azure CTP, unfourtunately I was in the middle of reinstalling with Windows 7 Beta 1 then and discovered that the Azure SDK didn't function properly at the momement so I had to setup yet another development machine.&lt;br /&gt;&lt;br /&gt;Anyways, I'm finally on track with the Azure stuff and started playing around it. It was a breeze to get a simple hello world kind of service up and running, altough I'm expecting to hit some snags later on once I get into more details in a more real world like scenario.&lt;br /&gt;&lt;br /&gt;The warning though as the title of this post states is that you can go through your alloted VM hours quickly if you don't cleanup apropriately. I did some experimenting afer talking to a good friend that knew about some problems with running out of the alloted hours.&lt;br /&gt;&lt;br /&gt;The VM hours starts ticking as soon as you have started to deploy to the staging server no matter what state your service is in once you've uploaded it the clock starts ticking. Given that you get 2000 VM hours you can run a service for 83 days, I'm not sure what the deal is if you upload multiple services since I didn't try that. So the leasson is delete your services if you aren't working with them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-7128486160806113193?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/getting-started-with-azure-watch-thoose.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-8258004456827310545</guid><pubDate>Fri, 06 Feb 2009 20:45:00 +0000</pubDate><atom:updated>2009-02-06T21:47:10.599+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS 2008</category><title>Monitoring the health of your TFS servers using "TFS Performance Report Pack"</title><description>Grant Holliday is surely a swell dude :) before he joined Microsoft to work with Team System he gave us an awsome report to track performance on our TFS through a performance heat map report (you can find it &lt;a href="http://ozgrant.com/2008/04/05/tfs-performance-heat-map-reporting-services-report/"&gt;here&lt;/a&gt; if you aren't already running it be sure to give it a try).&lt;br /&gt;&lt;br /&gt;No he is back with even more goodies in what look like it will become part of a future power tools release, namely the TFS Performance Report Pack which is loaded with reports to monitor the health of your TFS servers (you can download it and read more about the reports &lt;a href="http://blogs.msdn.com/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx"&gt;here&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-8258004456827310545?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/monitoring-health-of-your-tfs-servers.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-7414957448449526166</guid><pubDate>Wed, 04 Feb 2009 13:24:00 +0000</pubDate><atom:updated>2009-02-04T22:48:08.568+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows 7</category><category domain="http://www.blogger.com/atom/ns#">ITunes 8</category><title>Win7 From the Trenches: Update on running ITunes 8 in VirtualBox</title><description>Just wanted to give some feedback on running ITunes 8 in a virtualized environment, even though it works good enough I have had to revert to using my server (running Windows 2008) as my ITunes machine :) abit weird but hey I need my ITunes...&lt;br /&gt;&lt;br /&gt;The reason for this has to do with the fact that my laptop has a wireless network adapter that do not support &lt;a href="http://en.wikipedia.org/wiki/Promiscuous_mode"&gt;promiscuous mode&lt;/a&gt;. This results in me having to use the "NAT" feature of VirtualBox and it is simply dead slow, it is impossible to work with any kind of downloads from ITunes. &lt;br /&gt;&lt;br /&gt;So unless your network card supports &lt;em&gt;"promiscuous mode"&lt;/em&gt; you shouldn't use the solution describe in my previous post: &lt;a href="http://peterblomqvist.blogspot.com/2009/01/win7-from-trenches-getting-itunes-8-to.html"&gt;Win7 From the Trenches: Getting ITunes 8 to run on Windows 7 Beta 1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-7414957448449526166?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/win7-from-trenches-update-on-running.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-5742542485354328059</guid><pubDate>Wed, 04 Feb 2009 13:19:00 +0000</pubDate><atom:updated>2009-02-04T22:48:26.395+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows 7</category><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><title>Win7 From the Trenches: Enabling Hyper-V Remote Administration</title><description>As I've written in my earlier posts I had some problems locating the Hyper-V administration console under Windows 7 Beta 1. As it turns out it's actually quite easy (found a nice little post on the subject &lt;a href="http://blogs.msdn.com/dstfs/archive/2009/01/22/hyper-v-remote-administration-from-windows-7.aspx"&gt;here&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;All you have to do is download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82516c35-c7dc-4652-b2ea-2df99ea83dbb&amp;displaylang=en"&gt;Remote Server Administration Tools for Windows 7&lt;/a&gt;&lt;br /&gt; and install it, unfourtunatelly this simple puts the bits on your machine (this is what got me) and you have to explicitly enable this particular feature.&lt;br /&gt;&lt;br /&gt;Todo this you'll have to open your control panel and click on the &lt;em&gt;“Turn Windows Features on or off”&lt;/em&gt;, then you'll have to locate the "Remote Server Administration Tools" and under there you'll find it under &lt;em&gt;"Role Administration Tools"&lt;/em&gt;. Great so now your set to go, right?&lt;br /&gt;&lt;br /&gt;Nopes if your like me and simply are running in workgroup mode at home the admin tool will not work very well with the hyper-v server unless you do some configuring. Personally I have given up at the moment I did follow the guidance provided by the eminient John Howard in his post: &lt;a href="http://blogs.technet.com/jhoward/archive/2008/11/14/configure-hyper-v-remote-management-in-seconds.aspx"&gt;Configure Hyper-V Remote Management in seconds&lt;/a&gt;. It simply won't work for me and I'll give it another try once I have some time over to create an proper domain for my machines in my home network.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-5742542485354328059?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/02/win7-from-trenches-enabling-hyper-v.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-3525728677154067086</guid><pubDate>Fri, 23 Jan 2009 17:00:00 +0000</pubDate><atom:updated>2009-02-04T22:50:45.064+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows 7</category><category domain="http://www.blogger.com/atom/ns#">ITunes 8</category><title>Win7 From the Trenches: Getting ITunes 8 to run on Windows 7 Beta 1</title><description>As I stated in my previous post on my first take on working with Windows 7 I am a IPod user and can not do without my IPod Touch thus I have an urgent need to have ITunes 8 working on my machine. First and for most let me state that if you are using ITunes 8 heavily you should probably consider not converting your primary box to running Windows 7 since the solution I am going to present is not for the faint of heart...&lt;br /&gt;&lt;br /&gt;Actually it not a fix to get ITunes running on Win7 rather it is a workaround that involves a virtual machine running on your Win7 box so you'll have to do the following:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1,&lt;/strong&gt; Install &lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; and create a virtual machine select Windows XP as the target OS and create a virtual hard drive that can fit both the OS as well as the size of your ITunes library. &lt;br /&gt;&lt;br /&gt;You might be wondering why you have to use VirtualBox? Instead of VirtualPC, well the answer is simple. VirtualPC have no support for USB devices in the guest OS (VMWare does but that ain't free and VirtualBox is).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2,&lt;/strong&gt; Boot your virtual machine and install Windows XP as your would do using any virtualization tool. Once your done patching install ITunes 8.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3,&lt;/strong&gt; Time for some configuration of the virtual machine. Make sure you map the network correctly so that you can subscribe to podcasts and purchase new applications and songs. Set up a shared directory on the host machine where you can copy your ITunes library (or do it via usb or the network if you prefer). Finally plugin your IPod so it gets detected by the host and create a usb filter on your virtual machine for your IPod.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4,&lt;/strong&gt; Boot up the virtual machine containing your ITunes installation and copy over your existing library to your virtual machine from whatever source you choosed in the previous step. Finally you'll need to authorize the virtual machine to get the syncronization to work (otherwise it will delete all your purchased stuff from your IPod) you can always deauthorize it later once ITunes starts working on Win7.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5,&lt;/strong&gt; Make sure your virtual machine has focus (I usally put it in full screen mode when syncing) and plugin your IPod (most of the times it just works but from time to time it will not work then unplug it and try another usb port and it should work).&lt;br /&gt;&lt;br /&gt;So there you have it, quite abit of work to get it to work. I didn't do any screendumps with detailed instructions since I don't know if there is an huge audience for this post but if that is the case leave a comment to let me know and I'll put together a details instruction. Also I will keep trying any new versions of ITunes on Win7 and let you know if I find a version that seems stable enough to use.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update 2009-02-04:&lt;/strong&gt; Please read my follow up post about performance as well which you can find &lt;a href="http://peterblomqvist.blogspot.com/2009/02/win7-from-trenches-update-on-running.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-3525728677154067086?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/01/win7-from-trenches-getting-itunes-8-to.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-6583395545066942199</guid><pubDate>Wed, 21 Jan 2009 20:43:00 +0000</pubDate><atom:updated>2009-01-21T21:51:27.213+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows 7</category><title>I'm in beta heaven or is it hell? First impressions on Windows 7 Beta 1</title><description>A couple of weeks ago when Microsoft released the first public beta version of Windows 7, I kind of had a brain meltdown and decided it was fun to go all out with the beta testing and switch over my main development machine to Windows 7 :)&lt;br /&gt;&lt;br /&gt;In retrospect I'm not sure it was a good investment timewise since I've been suffering abit with some application compalitbilities (I'll go into more details later) and thus I've been dedicating a considerable ammount of time to work around my problem areas.&lt;br /&gt;&lt;br /&gt;First out I gotta say that I really enjoy the new taskbar (it grows on you quickly) and the overall stability and performance are really good for a beta 1, that stated lets have a quick look on my pain points.&lt;br /&gt;&lt;br /&gt;First and foremost I'm an avid user of my IPod Touch and could not imagine life without it and alas it works crappy on Windows 7 (altough that was not all that suprisingly since it had it's fair share of problems on Vista as well). I simply can't get ITunes 8 to work properly (altough I have a work around in the works I'll post more on that later) it crashes my machine with an ugly BSOD or it simply hangs so bad that I have to power off to be able to shutdown the computer. Another really problematic issue with this is that most of the time it won't even start it just spawns up a process without any user interface (you'll see the process but you can't touch it). So if you really rely on your ITunes 8 to function properly you should probably consider testing Windows 7 on another machine.&lt;br /&gt;&lt;br /&gt;Then it was time to install some virus protection and Norton AntiVirus 2009 didn't work properly I was unable to run any updates if just didn't work. However this seems to be a passing problem since after running windows update and rebooting a couple of this all of the sudden it started to work. But fourtenately there seems to be a quick uptake on the antivirus market to support Windows 7 read more in this post &lt;em&gt;&lt;a href="http://windowsteamblog.com/blogs/windows7/archive/2009/01/14/anti-virus-solutions-for-the-windows-7-beta.aspx"&gt;Anti-Virus Solutions for the Windows 7 Beta&lt;/a&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;After a couple of weird crashes I started to snoop around the device manager and saw a few driver related problems but I managed to work them out by going to HP's homepage and download the Vista drivers and so far it seems to work properly (not so many crashes anymore). I still experience some problems when playing movies using Windows Media Player, from time to time it simply freezes and I have to reboot or it won't start playback of the movie at all (currently I don't know why and it is not that frequent so I'm not gonna dig to deep into that).&lt;br /&gt;&lt;br /&gt;Another issue that bugged me (both very breifly since the problem solver in windows actually told med exactly what to do to solve the problem ... wooot that's not allways the case) but is has to do with running msi installations and you can read more about the problem is this post &lt;em&gt;&lt;a href="http://arstechnica.com/journals/microsoft.ars/2009/01/20/delete-regkey-to-fix-msi-installer-bug-in-windows-7-beta/"&gt;Delete regkey to fix msi installer bug in Windows 7 beta&lt;/a&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;After awhile I started to turn my attention to the sidebar gadgets (Windows 7 has done away with the sidebar that was introduced in Vista, I'm still not totally comfy with that) which now can be place anywhere you like on the desktop. I quickly discovered that nothing happened when I tried to add a gadget, this turned out to be caused by the fact that I've disabled UAC and then you can't have gadgets :( I really hope they work this out in later versions. If you are really diehard about the sidebar you can still enable it just follw the instructions in this blog post &lt;em&gt;&lt;a href="http://www.mydigitallife.info/2008/12/30/workaround-to-run-windows-vista-bar-style-sidebar-in-windows-7/"&gt;Workaround to Run Windows Vista Bar Style Sidebar in Windows 7&lt;/a&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;One thing I still haven't solve it the fact that I can't seem to get the Hyper-V Administration Console to work (I just can't find it! And yes I've downloaded and installed the update) when I get the time to work this out I'll post how I managed to do it.&lt;br /&gt;&lt;br /&gt;Finally and equally bad as the ITunes problem is the fact that the Azure SDK CTP doesn't function properly on Windows 7 so I end up running my Azure labs in an virtual machine instead. I'm currently considering to try out the MED-V Beta 1 to get the development environment to run seamlessly in the host os but I'm not sure I'm that brave (MED-V is currently not supported on Windows 7). Anyway if you want more details on the Azure SDK issue go to this post &lt;em&gt;&lt;a href="http://www.azurejournal.com/2009/01/windows-azure-sdk-jan-2009-ctp-doesnt-work-on-windows-7-beta/"&gt;Windows Azure SDK Jan 2009 CTP doesn’t work on Windows 7 Beta  AzureJournal - Windows Azure Blog&lt;/a&gt;&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;That's all folks :) I'm gonna keep posting on the topic whenever I bump into problems and solve them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-6583395545066942199?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/01/im-in-beta-heaven-or-is-it-hell-first.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-4748302917422738553</guid><pubDate>Wed, 21 Jan 2009 08:35:00 +0000</pubDate><atom:updated>2009-01-21T09:36:31.791+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Virtualization</category><title>MED-V 1.0 available as Beta (finally a windows alternative to VMWare Fusion and Parallels Desktop)</title><description>I read about MED-V (Microsoft Enterprise Desktop Virtualization) a while back and was happy to see this addtion to the microsoft virtualization family. &lt;br /&gt;&lt;br /&gt;The main goal with the product is to let you deal with noncompatile applications when upgrading your os, atleast that seems to be the major benefit altough if you read more about it on the official MED-V &lt;a href="http://www.microsoft.com/windows/enterprise/products/med-v.aspx"&gt;website&lt;/a&gt; it looks like there might be some intressting areas of application in the future.&lt;br /&gt;&lt;br /&gt;You can go download the &lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=665"&gt;beta&lt;/a&gt; and start playing around with it but once it becomes final you will only be available through the &lt;em&gt;"Microsoft Desktop Optimization Pack"&lt;/em&gt; which you only get if you have purchased a &lt;em&gt;"Windows Client Software Assurance"&lt;/em&gt; license.&lt;br /&gt;&lt;br /&gt;You might wonder what my intrest in this product is since after all my main line of work is not dealing with the infrastructure (although I need to keep tabs on it)? The thing is that in dealing with architectural issues and process development I tend to work alot with products in beta of alot of virtual machines with different configurations to evaulate new ideas and technologies. &lt;br /&gt;&lt;br /&gt;It mainly boils down to one thing that has bugged me alot since I saw such products as &lt;a href="http://www.vmware.com/vmwarestore/fusion-recommended.html?src=refpropil&amp;pt=0001"&gt;VMWare Fusion&lt;/a&gt; and &lt;a href="http://www.parallels.com/landingpage/dskd10/?gclid=CK3rwritm5gCFQ6wQwodYzVFmg"&gt;Parallels Desktop&lt;/a&gt; on the Mac. I really missed the ability to run applications in a seamless fashion without having to dealing with switching between different virtual machine. It finally looks like I will be able to do this with MED-V, a little word of warning though beta 1 does not support Windows 7 as a host environment yet altough there are rumors that it will become available soon.&lt;br /&gt;&lt;br /&gt;For more information read the following posts on the subject:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/springboard/archive/2009/01/15/beta-1-for-microsoft-enterprise-desktop-virtualization-1-0-med-v-is-now-available.aspx"&gt;"Springboard Series - The Resource for Windows Desktop IT Professionals : Beta 1 for Microsoft Enterprise Desktop Virtualization 1.0 (MED-V) is now available"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/mdop/archive/2009/01/15/microsoft-enterprise-desktop-virtualization-med-v-beta-is-publicly-available.aspx"&gt;Microsoft Enterprise Desktop Virtualization (MED-V) Beta is publicly available&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-4748302917422738553?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/01/springboard-series-resource-for-windows.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-4962290567916790672</guid><pubDate>Mon, 05 Jan 2009 19:36:00 +0000</pubDate><atom:updated>2009-01-05T20:42:49.505+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Extending</category><category domain="http://www.blogger.com/atom/ns#">TFS 2008</category><title>I've got an itch..... To code :)</title><description>I find myself suffering abit from lack of pet projects to code on and I thought I'd just ask you guys that read my blog if there are any particular needs that needs to be addressed when using TFS 2008?&lt;br /&gt;&lt;br /&gt;Please post any ideas as comments in response to this post and maybe we can get something going for 2009 (kind of miss working on &lt;a href="http://www.codeplex.com/tfsbuildlab"&gt;TFSBuildLab&lt;/a&gt;). So get those creative juices flowing so we can start building some usefull extensions to TFS 2008.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-4962290567916790672?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/01/ive-got-itch-to-code.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-6858029318709895180</guid><pubDate>Thu, 01 Jan 2009 22:18:00 +0000</pubDate><atom:updated>2009-01-01T23:19:16.189+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Security</category><category domain="http://www.blogger.com/atom/ns#">Books</category><category domain="http://www.blogger.com/atom/ns#">Architecture</category><title>Geekonomics ... What does a bug really cost?</title><description>&lt;a href="http://2.bp.blogspot.com/_XY57yl89XM0/SV0eiONicGI/AAAAAAAAAJk/lwQLsz0keN4/s1600-h/geekonomics.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 87px; height: 130px;" src="http://2.bp.blogspot.com/_XY57yl89XM0/SV0eiONicGI/AAAAAAAAAJk/lwQLsz0keN4/s200/geekonomics.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5286415110882095202" /&gt;&lt;/a&gt;I recently finnished reading &lt;a href="http://www.amazon.com/Geekonomics-Real-Cost-Insecure-Software/dp/0321477898/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1230839228&amp;sr=8-1"&gt;Geekonomics: The Real Cost of Insecure Software&lt;/a&gt; which is a very well written analysis of the problems caused by insecure software (or poorly written software if you like). This is a book that should be read by preferably everyone invovled in the development process, but at the very least all you architects out there should consider it a must read.&lt;br /&gt;&lt;br /&gt;It paints a pretty grim picture, but is in now way exaggerated. Technology is digging itself deeper and deeper into the very fabric of our socities which brings us great advantages but also presents some very dangerous scenarios. This is a subject that has been nagging in the back of my head for about a decade or so (about the time when my first son was born), mostly when you talk on a topic like this people tend to think you are exaggerating. However as the book clearly shows there are numerous of well documented cases where the shit really hit the fan.&lt;br /&gt;&lt;br /&gt;One such case is the hacker attack on Estonia in 2007 that more or less shutdown the goverment in Estonia just because they decided to take down a russian war monumental. Another incident is in the epilogue of the book which is a little nugget about when when world war 3 almost started due to a a software glitch in the russian radar system. &lt;br /&gt;&lt;br /&gt;So whats the deal why do we have all these problems with software? Well there are many factors but one prominent one is the fact that most software vendors are operating in a marketbased economy without any governmental regulations in place. The market is supposed to be selfregulatory, but when competition is driven by constantly creating new features and not necessarily by utility secure software is not allways on top of the list. Writing truely secure software is very hard and comes with a high monetary cost but little or no &lt;em&gt;"bling bling"&lt;/em&gt;. The whole software industry is operating in a &lt;em&gt;"just ship it"&lt;/em&gt; mode or as Guy Kawasaki very eloquently put it:&lt;blockquote&gt;&lt;strong&gt;“Don't worry, be crappy. Revolutionary means you ship and then test...”&lt;/strong&gt;&lt;/blockquote&gt;The author concludes that the tipping point for when it is impossible to take back control over software is rapidly approaching. We need to put into place govermental regulations for markets that affect our infrastructure as a whole, licensing of software developers needs to be put into place and we need to take away the absolute immunity granted to the software manufactors by adhesion contracts.&lt;br /&gt;&lt;br /&gt;He also proposes a intressting idea about vunerability taxes that would work similar to pollution taxes the more defects you unleash on the market the higher the taxation. This an intressting concept but it has some issues when applied in a competitive market.&lt;br /&gt;&lt;br /&gt;Personally I think that we need to put all the above into place but we also need to apply the mentality of &lt;strong&gt;"act local, think global"&lt;/strong&gt; and as software developers we need to take pride in what we do and consider our work more of a craftmanship.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-6858029318709895180?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2009/01/geekonomics-what-does-bug-really-cost.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_XY57yl89XM0/SV0eiONicGI/AAAAAAAAAJk/lwQLsz0keN4/s72-c/geekonomics.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-4154485274808181785</guid><pubDate>Wed, 03 Dec 2008 18:00:00 +0000</pubDate><atom:updated>2008-12-03T19:07:00.955+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Vista SP2</category><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><title>Sadly no Hyper-V on Vista SP2</title><description>I was really happy after reading Mary-Jo Foleys post on &lt;a href="http://blogs.zdnet.com/microsoft/?p=1745"&gt;Vista SP2: What’s inside?&lt;/a&gt; which indicated that Vista SP2 would include Hyper-V support. &lt;br /&gt;&lt;br /&gt;Unfourtunately my crappy laptop is only x86 I searched around abit and a found this little tadbit of info at &lt;a href="http://blogs.technet.com/springboard/archive/2008/12/02/windows-vista-sp2-what-s-inside-what-s-important.aspx"&gt;the springboard&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Hyper-V * &lt;br /&gt;Windows Vista SP2 includes Hyper-V™ technology, enabling full virtualization of server workloads&lt;br /&gt;&lt;br /&gt;*To clarify, Hyper-V is not included in Windows Vista SP2, it is part of the Windows Server 2008 service pack. This means that when you install SP2 for Windows Server 2008, or if you install a slipstreamed version of Windows Server 2008 with SP2, the RTM version of the Hyper-V role will be included. Hyper-V was released after Windows Server 2008, which means that the role you currently install is a pre-release role and needs to be updated to bring it up to RTM. This update will be applied (only if necessary) automatically when you install SP2.&lt;/blockquote&gt;&lt;br /&gt;So I guess no Hyper-V on Vista :( and since there started to popup postings about this I thought I'd just share this before people start formating the hard drives in euphoria (I know I almost did).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-4154485274808181785?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2008/12/sadly-no-hyper-v-on-vista-sp2.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2589343630458375844.post-2530546052661853718</guid><pubDate>Mon, 01 Dec 2008 09:28:00 +0000</pubDate><atom:updated>2008-12-01T10:40:36.838+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">M</category><category domain="http://www.blogger.com/atom/ns#">PDC08</category><category domain="http://www.blogger.com/atom/ns#">Oslo</category><category domain="http://www.blogger.com/atom/ns#">Modeling</category><category domain="http://www.blogger.com/atom/ns#">Quadrant</category><title>Random thoughts on how "Oslo" is going to affect the every day life of an developer on the Microsoft platform...</title><description>I've been pondering abit on how this "Oslo" business is going to affect me as a developer, in what ways will it change the way I architect and implement the applications I'm working on? I'm sure that this will be a journey that will take a while and surely will result in further postings on the subject. &lt;br /&gt;&lt;br /&gt;The eminent mister Aaron Skonnard has written a looong and very well written article &lt;a href="http://www.pluralsight.com/community/blogs/aaron/archive/2008/11/03/introducing-quot-oslo-quot.aspx"&gt;Introducing "Oslo"&lt;/a&gt; that I recommend that you read. I will not go into that detail but rather skim the surface and inject a few of my own reflections on how this will affect me as a developer.&lt;br /&gt;&lt;br /&gt;"Oslo" is a modeling platform that consists of three things:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_XY57yl89XM0/STGWtNeaKpI/AAAAAAAAAH4/q8SwJLm8n-A/s1600-h/oslo1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_XY57yl89XM0/STGWtNeaKpI/AAAAAAAAAH4/q8SwJLm8n-A/s200/oslo1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274162342083046034" /&gt;&lt;/a&gt;A Language called "M" used for authoring models and textual DSLs. I think Don Box summed it up is pretty good as usally in his presentation of the language at PDC08. &lt;br /&gt;&lt;br /&gt;He states that is a language about data, in fact the process of capturing, schematizing and transforming data. He also clearly states that "M" is not a object oriented language and neither a replacement for T-SQL. &lt;br /&gt;&lt;br /&gt;"M" actually consists of three parts: &lt;strong&gt;MSchema&lt;/strong&gt; which is what you use to schematize your data, &lt;strong&gt;MGrammar&lt;/strong&gt; lets you create textual DSLs and finally &lt;strong&gt;MGraph&lt;/strong&gt; which is what is the compile result of the input to the "M" compiler.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_XY57yl89XM0/STGWtKlvPFI/AAAAAAAAAIA/5K75Ta5nzMg/s1600-h/oslo2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 120px; height: 120px;" src="http://3.bp.blogspot.com/_XY57yl89XM0/STGWtKlvPFI/AAAAAAAAAIA/5K75Ta5nzMg/s200/oslo2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274162341308480594" /&gt;&lt;/a&gt;A tool called "Quadrant for interacting visually with models. This is a very slick WPF based application which is extremly customizable. It looks very nice but it feels a little bit like drowning :) when you start using it.&lt;br /&gt;&lt;br /&gt;Hopefully this will be easier to work with when it release since some of the slides at the PDC08 hints at different SKUs are to be made avaiable but I am speculating here so don't hold me acountable :) the once mentention where:&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;Quadrant Web Editor (ASP.NET)&lt;br /&gt;Quadrant Service Editor (WCF/WF)&lt;br /&gt;Quadrant Entity Editor (Entity Framework)&lt;br /&gt;Quadrant Schema Editor (SQL/XML)&lt;/strong&gt;&lt;/blockquote&gt;The way you work with "Quadrant" is to create workspaces of infinite size that are zoomable (a really cool feature is to popup a model element to the foreground, letting you work with a part of the model while have a nice overview picture of the complete model). The vision behind this is to be working with large wall mounted multitouch screens in the conference rooms (remember Minority Report, we are not that for from this now).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_XY57yl89XM0/STGWtQQIGmI/AAAAAAAAAII/TJhWj9K75ks/s1600-h/oslo3.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 120px; height: 120px;" src="http://1.bp.blogspot.com/_XY57yl89XM0/STGWtQQIGmI/AAAAAAAAAII/TJhWj9K75ks/s200/oslo3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5274162342828448354" /&gt;&lt;/a&gt;A Repository for storing and sharing your models. The vision is that most products from Microsoft will use the repository for storing their configuration data and such, first out is the new application server "Dublin" and then in future versions System Center and Team Foundation Server has announce that they will move towards using the repository.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So to be able to start talking about what we can use this model driven platform for we kind of need to define &lt;strong&gt;what a model is&lt;/strong&gt;, or atleast what Microsoft are talking about in regards to "Oslo". You can categories models into three general categories: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Models for communication&lt;/em&gt;&lt;/strong&gt;, this is typically you boilerplate UML diagrams of your applications that you produce upfront and often then forget about. The main thing here is to communicate intent when creating your software and bridge the gap in between users and developers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Models assisting development&lt;/em&gt;&lt;/strong&gt;, pretty much when you take the communication models and generate code from this. Serves as a great kickstart when working with greenfeild development but in my personal experience the efforts that went into reverse enginering of code into model and vice versa (like in tools such as Rational Rose) never really succeded altough people keep trying.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Models driving development&lt;/em&gt;&lt;/strong&gt;, this is about declarative programming and there is a whole slew of examples such as HTML, CSS, XAML, BPEL, .NET Attribute, .NET Configuration and COM+ to name a few. This is the space where Microsoft wants to change the way we do software with "Oslo".&lt;br /&gt;&lt;br /&gt;A few examples of applications that are model driven (or data driven if you prefer it) you can look a Microsoft Sharepoint and Microsoft Dynamics. Both these applications are all about customization and they are driven by a repository containing their models. You have most likely written something similar yourselves (I know I have) maybe not on the magnitued of Sharepoint but still model driven applications are not really not that uncommon. The definition of model in this context is that the way the application looks and functions is driven by a model in some form of a repository).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's enough background for now, what are we gonna do with this Oslo stuff then? Well for one thing we will be using it all over the place when working with various microsoft products. It's not going to change our everyday situation as developers very much since we will continue to work in pretty much the same fashion as previously, but there are a whole new range of integration possibilities that opens up once we go for the central repository with the models both for us and for Microsoft. &lt;br /&gt;&lt;br /&gt;I can see three areas of usage for the everyday developer using Oslo today:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Modeling our domains&lt;/strong&gt; in a more friendly fashion and then use the complier to generate the SQL statements needed to create the database. One thing that will be a challenge with this however would be dealing with none greenfeild development and evolving your schema overtime. From what I have seen so far these areas are yet to be solved fully.&lt;br /&gt;&lt;br /&gt;One really nice feature here would be the fact that we can really easily create a textual DSL for working with the domain that our users could understand and use for populating the needed configuration data, we might be able to simplify data entrance to such a degree that writing a maintenance client wouldn't be needed. I seriously doubt that this would work for more complex data, but it is still an intressting idea since we could infer compliance through the DSLs syntax and thus prevent corrupt data from being inserted.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Simplify and automate development&lt;/strong&gt;, this is an area where "Oslo" really shines. Since it is so easy to create a textual DSL and with the available framework that we are provided with we could easliy create an simplified version of for instance WiX (which is in itself is an abstraction over MSI) adding yet another layer of abstraction over the installation process.&lt;br /&gt;&lt;br /&gt;Altough you can almost always speed up development or solve a tough problem using another layer of abstraction there is one drawback with this approach and that is the fact that the more layers of abstraction the more power over the details we loose. Thus abstracts like these pretty much always leads to homogenity across an domain which is good for performance but bad for innovation.&lt;br /&gt;&lt;br /&gt;I can personally see a bunch of places that we can use "Oslo" in our own frameworks we have build at my work. In these situations we strive for homogenity and speed of development and really the reason for not rolling your own little DSL is the sheer costs assosiated with writing compilers and such.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Drive our application with models&lt;/strong&gt;, this is the most intresting one in my oppinion. I remember an application that I wrote back in 1998 where we wanted to produce a dynamic user interface based on templates (we even went the extra mile to build a template designer as well) using java and reflection and even though this was a very fun ride it cost alot of money to implement. Had we done this targeting "Oslo" and WPF instead it would have been a breeze in comparision you can check out Josh Williams post &lt;a href="http://blogs.msdn.com/joshwil/archive/2008/11/12/using-mgrammar-to-create-net-instances-through-xaml.aspx"&gt;Using MGrammar to create .Net instances through Xaml&lt;/a&gt; for a really cool example of dynamically producing XAML using a textual DSL.&lt;br /&gt;&lt;br /&gt;Erik Wynne Stepp also wrote a good &lt;a href="http://erikwynne.blogspot.com/2008/11/oslo-42.html"&gt;post&lt;/a&gt; on the subject of dynamic interfaces and the impact of "Oslo" which is a good read as well.&lt;br /&gt;&lt;br /&gt;If you want to get more information about what "Oslo" is about you can watch and read the following material:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/sv-se/oslo/default(en-us).aspx"&gt;"Oslo" Developer Center&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/TL23/"&gt;A Lap around "Oslo"&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/TL27/"&gt;"Oslo": The Language&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/TL28/"&gt;"Oslo": Repository and Models&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/TL31/"&gt;"Oslo": Building Textual DSLs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc2008/TL18/"&gt;"Oslo": Customizing and Extending &lt;br /&gt;the Visual Design Experience&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.biztalkgurus.com/media/p/21922.aspx"&gt;First Look at M – Oslo’s Modeling Language&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.biztalkgurus.com/media/p/21920.aspx"&gt;First Look at Quadrant - Oslo’s Modeling Tool&lt;/a&gt;   &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.modelsremixed.com/"&gt;Models Remixed&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd129870.aspx"&gt;MGrammar in a Nutshell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd129869.aspx"&gt;MGrammar Language Specification&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2589343630458375844-2530546052661853718?l=peterblomqvist.blogspot.com'/&gt;&lt;/div&gt;</description><link>http://peterblomqvist.blogspot.com/2008/11/random-thoughts-on-how-oslo-is-going-to.html</link><author>peter_blomqvist@telia.com (Peter Blomqvist)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_XY57yl89XM0/STGWtNeaKpI/AAAAAAAAAH4/q8SwJLm8n-A/s72-c/oslo1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>
