<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35731207</id><updated>2012-01-02T10:59:15.160+01:00</updated><category term='Twitter'/><category term='VIsual Studio 2010'/><category term='Team Foundation Server'/><category term='LEAP'/><category term='Sprint Planning'/><category term='Konferens'/><category term='Quadrant'/><category term='nunit'/><category term='Azure'/><category term='M'/><category term='Visual Studio 2008'/><category term='Mesh'/><category term='SQL Azure Federations'/><category term='Parallel Extensions'/><category term='SQL Azure'/><category term='Domännamn'/><category term='Surface'/><category term='TechDays'/><category term='Musik'/><category term='BCL'/><category term='Cloud'/><category term='Windows 7'/><category term='LINQ'/><category term='reSharper'/><category term='Intervju'/><category term='Cert'/><category term='Unit Test'/><category term='Music'/><category term='FlightChallenge'/><category term='SharePoint'/><category term='SP1'/><category term='WP7'/><category term='Volta'/><category term='Microsoft Surface'/><category term='TechEd'/><category term='Blogging'/><category term='Utbildning'/><category term='Estimering'/><category term='Team System'/><category term='Agile'/><category term='Oslo'/><category term='PDC'/><category term='IE8'/><category term='Scrum'/><category term='VS2010'/><category term='Tools'/><category term='MIX11'/><category term='Agile 2008'/><category term='EssUP'/><category term='Planning Poker'/><category term='WPF'/><category term='Seminarium'/><category term='Silverlight'/><title type='text'>Björn Eriksen</title><subtitle type='html'>Windows Azure Champ och Architect Evangelist @ Microsoft DPE i Stockholm.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>97</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35731207.post-1724273863839312620</id><published>2011-12-20T15:35:00.003+01:00</published><updated>2012-01-02T10:59:15.373+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LEAP'/><title type='text'>LEAP – Lead Enterprise Architect Program</title><content type='html'>&lt;p&gt;&lt;em&gt;The Lead Enterprise Architect Program (LEAP) is a program that aims to give understanding of the strategic core components of the Microsoft platform.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;LEAP consists of five master class training sessions as well as three days of sessions at Microsoft headquarters in Redmond, Seattle.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-AsqPv-IXEhk/TvCdPyyKaaI/AAAAAAAAAug/Zr9BoDcY_X8/s1600-h/LEAP%252520Sweden%2525202012%252520-%252520Invitation%25255B6%25255D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="LEAP Sweden 2012 - Invitation" border="0" alt="LEAP Sweden 2012 - Invitation" src="http://lh3.ggpht.com/--RSyjvrUYO4/TvCdQsncxUI/AAAAAAAAAuk/NX4eJKuPbeY/LEAP%252520Sweden%2525202012%252520-%252520Invitation_thumb%25255B4%25255D.jpg?imgmax=800" width="648" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Vill du lära dig mer om Microsofts plattform? Då är LEAP-programmet för dig!&lt;/p&gt;  &lt;p&gt;Under fem Master Classes kommer vi att gå igenom olika delar av vår plattform. Programmet avslutas med en resa till Redmond där talare från Microsoft Corporation fördjupar ytterligare inom olika ämnen.&lt;/p&gt;  &lt;h3&gt;Schema&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;15:e februari (halvdag inklusive middag)&lt;/strong&gt;     &lt;br /&gt;Application architecture on the Microsoft Platform&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;16:e februari&lt;/strong&gt;     &lt;br /&gt;Cloud computing for Architects&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8:e mars&lt;/strong&gt;     &lt;br /&gt;Identity &amp;amp; Access Management&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4:e april&lt;/strong&gt;     &lt;br /&gt;Integration on premises and in the cloud&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3:e maj&lt;/strong&gt;     &lt;br /&gt;Business Intelligence and Enterprise Search&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;29:e – 31:a maj&lt;/strong&gt;     &lt;br /&gt;Tre heldagar med sessioner på Microsofts huvudkontor i Redmond samt evenemang!&lt;/p&gt;  &lt;h3&gt;Registrering&lt;/h3&gt;  &lt;p&gt;Kostanden för programmet är SEK 19.900. Deltagaren är själv ansvarig för alla kostnader relaterat till resa och uppehälle, både för Master Classes i Stockholm samt för dagarna i Redmond. Mat och transporter ingår i Redmond.&lt;/p&gt;  &lt;p&gt;Sista dag för anmälan är den 31:a januari och anmälan sker genom mail till &lt;a href="mailto:beriksen@microsoft.com"&gt;beriksen@microsoft.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="https://beriksenfiles.blob.core.windows.net/public/LEAPSweden2012.pptx" target="_blank"&gt;Här&lt;/a&gt; finns en presentation med all information!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Ltgd1KYj80k/TwF_74eZTRI/AAAAAAAAAuw/aGav9T4r33U/s1600-h/leapsquare%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="leapsquare" border="0" alt="leapsquare" src="http://lh4.ggpht.com/-UHhgMQN3smY/TwF_8u_EUuI/AAAAAAAAAu0/ms5FDBhnILc/leapsquare_thumb.png?imgmax=800" width="244" height="244" /&gt;&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/35731207-1724273863839312620?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1724273863839312620/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1724273863839312620' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1724273863839312620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1724273863839312620'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/12/leaplead-enterprise-architect-program.html' title='LEAP – Lead Enterprise Architect Program'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/--RSyjvrUYO4/TvCdQsncxUI/AAAAAAAAAuk/NX4eJKuPbeY/s72-c/LEAP%252520Sweden%2525202012%252520-%252520Invitation_thumb%25255B4%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7584982726739024092</id><published>2011-12-13T14:09:00.001+01:00</published><updated>2011-12-13T17:01:08.237+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure Federations'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>SQL Azure Federations</title><content type='html'>&lt;p&gt;I den stora uppdatering av Windows Azure kom även många intressanta uppdateringar till SQL Azure. Den som sticker ut för mig som mest intressant är att vi nu har släppt SQL Azure Federations. Med hjälp av SQL Azure Fedrations kan man bygga in möjligheten att skala ut en databas till flera instanser för att dela på last.&lt;/p&gt;  &lt;p&gt;Här kommer ett SQL Script går igen olika steg för att visa på användning av SQL Azure Federation.&lt;/p&gt;  &lt;p&gt;Observera att detta script endast går att köra i SQL Azure och kommer att skapa två databaser. Självklart blir du därför debiterad för två databaser. I SQL Azure Federations ugår ingen extra kostnad för federeringen men man får betala för varje databas som skapas. Ett exempel är om man har 6GB data i en databas blir man debiterad för en 10GB databas. Om man väljer att skapa en federation och dela upp dessa databaser på tio 1GB federations members blir man debiterad för elva 1 GB databaser. En för varje federation member plus en för en federation root.&lt;/p&gt;  &lt;p&gt;&lt;img alt=" " src="https://public.bay.livefilestore.com/y1pN_sSVHwsPVKBJrgkEiOwkizkr3Pxd-8x0y4GBBXcVgGySksUhhmtvuqmrtqnRGx7Meyk4co8E5L2EwToBYC5Vw/figure3.jpg?psid=1" width="625" height="270" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: green"&gt;-- Skapa en ny databas. Det blir automatiskt en Web Edition med maxstorlek på 1GB     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;CREATE DATABASE &lt;/span&gt;Sales    &lt;br /&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Skapa en Federation     &lt;br /&gt;-- Eftersom att SQL Azure inte har stöd för use måste du manuellt ändra din connection&lt;/span&gt;&lt;span style="color: green"&gt;     &lt;br /&gt;-- use Sales      &lt;br /&gt;-- Ge din federation ett lämpligt namn och välj vilken datatyp du ska federera på.      &lt;br /&gt;-- Datatypen måste överensstämma med datatypen i den tabell som du sedan vill federera      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;CREATE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId &lt;span style="color: blue"&gt;BIGINT RANGE&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Använd kommandot USEFEDERATION för att dirigera trafik till den federation som innehåller det     &lt;br /&gt;--&lt;/span&gt;&lt;span style="color: green"&gt; CustomerId som skickas in     &lt;br /&gt;-- FILTERING=OFF kommer att reutnera alla rader i den federationen      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId &lt;span style="color: gray"&gt;=&lt;/span&gt;0&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;span style="color: blue"&gt;WITH RESET&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;FILTERING&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;OFF     &lt;br /&gt;GO      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Skapa en tabell i denna, än så länge enda federation     &lt;br /&gt;-- Observera raden FEDERATED ON, det är det som visar vilken kolumn tabellen ska federeras på.      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;SET ANSI_NULLS ON     &lt;br /&gt;GO      &lt;br /&gt;SET QUOTED_IDENTIFIER ON      &lt;br /&gt;GO      &lt;br /&gt;CREATE TABLE&lt;/span&gt;[dbo]&lt;span style="color: gray"&gt;.&lt;/span&gt;[Customer]&lt;span style="color: gray"&gt;(     &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;[CustomerID] [bigint] &lt;span style="color: gray"&gt;NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;[FirstName] [nvarchar]&lt;span style="color: gray"&gt;(&lt;/span&gt;50&lt;span style="color: gray"&gt;) NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;[LastName] [nvarchar]&lt;span style="color: gray"&gt;(&lt;/span&gt;50&lt;span style="color: gray"&gt;) NOT NULL,     &lt;br /&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;CONSTRAINT&lt;/span&gt;[PK_Customer] &lt;span style="color: blue"&gt;PRIMARY KEY CLUSTERED     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;(     &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;[CustomerID] &lt;span style="color: blue"&gt;ASC     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;)      &lt;br /&gt;)&lt;/span&gt;FEDERATED &lt;span style="color: blue"&gt;ON&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId &lt;span style="color: gray"&gt;=&lt;/span&gt;CustomerID&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Lägg till ett par kunder i tabellen     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;1&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Jules'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Winnfield'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;2&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Vincent'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Vega'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;3&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Butch'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Coolidge'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;4&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Marsellus'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Wallace'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;5&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Mia'&lt;/span&gt;&lt;span style="color: gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'Wallace'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;6&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Esmeralda'&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Villalobos'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;insert into &lt;/span&gt;Customer &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;7&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Captain'&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Koons'&lt;/span&gt;&lt;span style="color: gray"&gt;)     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Skapa en referenstabell. Referenstabeller kopieras till varje federation när man gör en split.     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;font color="#008000"&gt;-- För att skapa en referenstabell låter utesluter man bara DEDERATED ON&lt;/font&gt;      &lt;br /&gt;SET ANSI_NULLS ON      &lt;br /&gt;GO      &lt;br /&gt;SET QUOTED_IDENTIFIER ON      &lt;br /&gt;GO      &lt;br /&gt;CREATE TABLE &lt;/span&gt;[dbo]&lt;span style="color: gray"&gt;.&lt;/span&gt;[SomeReferenceTable]&lt;span style="color: gray"&gt;(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[ReferenceID] [bigint] &lt;span style="color: gray"&gt;NOT NULL,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[SomeData] [nvarchar]&lt;span style="color: gray"&gt;(&lt;/span&gt;8&lt;span style="color: gray"&gt;) NULL,     &lt;br /&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;CONSTRAINT &lt;/span&gt;[PK_SomeReferenceTable] &lt;span style="color: blue"&gt;PRIMARY KEY CLUSTERED      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;(     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[ReferenceID] &lt;span style="color: blue"&gt;ASC     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: gray"&gt;)      &lt;br /&gt;)      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO &lt;/span&gt;&lt;span style="color: green"&gt;--Note the lack of the FEDERATED ON keyword.     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Insert into &lt;/span&gt;SomeReferenceTable &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;1&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Hello'&lt;/span&gt;&lt;span style="color: gray"&gt;);     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Insert into &lt;/span&gt;SomeReferenceTable &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;2&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'SQL'&lt;/span&gt;&lt;span style="color: gray"&gt;);     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Insert into &lt;/span&gt;SomeReferenceTable &lt;span style="color: blue"&gt;values&lt;/span&gt;&lt;span style="color: gray"&gt;(&lt;/span&gt;3&lt;span style="color: gray"&gt;, &lt;/span&gt;&lt;span style="color: red"&gt;'Feds'&lt;/span&gt;&lt;span style="color: gray"&gt;);     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- För att visa vilka federations som finns kan man ställa en fråga mot federation_member_distributions     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION &lt;span style="color: blue"&gt;ROOT WITH RESET     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;&lt;span style="color: green"&gt;sys&lt;/span&gt;&lt;span style="color: gray"&gt;.&lt;/span&gt;federation_member_distributions &lt;span style="color: blue"&gt;ORDER BY &lt;/span&gt;federation_id&lt;span style="color: gray"&gt;, &lt;/span&gt;range_low&lt;span style="color: gray"&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Be om en connection till den federation som innehåller CustomerId = 1     &lt;br /&gt;-- Med FILTERING=OFF kommer alla rader att returneras från den federation&lt;/span&gt;&lt;span style="color: green"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId&lt;span style="color: gray"&gt;=&lt;/span&gt;1&lt;span style="color: gray"&gt;) &lt;/span&gt;&lt;span style="color: blue"&gt;WITH RESET&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;FILTERING&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;OFF     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;Customer&lt;/p&gt;  &lt;p&gt;&lt;span style="color: green"&gt;-- Be om en connection till den federation som innehåller CustomerId = 1     &lt;br /&gt;-- Med FILTERING=ON kommer bara de rader som har CustomerId = 1 att returneras.&lt;/span&gt;&lt;span style="color: green"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId&lt;span style="color: gray"&gt;=&lt;/span&gt;1&lt;span style="color: gray"&gt;) &lt;/span&gt;&lt;span style="color: blue"&gt;WITH RESET&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;FILTERING&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;ON     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;Customer    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: green"&gt;-- Nu kommer magin! Med hjälp av ALTER FEDERATION kan man göra en online split för federatioen.     &lt;br /&gt;-- Här väljer vi att slita vid CustomerId = 5.      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Det innebär att med CustomerId &amp;lt; 5 kommer att hamna en federation member     &lt;br /&gt;-- medan CustomerId &amp;gt;= 5 kommer att hamna i en annan federation member&lt;/span&gt;&lt;span style="color: green"&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION &lt;span style="color: blue"&gt;ROOT WITH RESET     &lt;br /&gt;GO      &lt;br /&gt;ALTER &lt;/span&gt;FEDERATION CustomerFederation SPLIT AT &lt;span style="color: gray"&gt;(&lt;/span&gt;customerId&lt;span style="color: gray"&gt;=&lt;/span&gt;5&lt;span style="color: gray"&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Det tar ett tag för federations att skapas men under hela tiden kommer din databas att vara tillgänlig.     &lt;br /&gt;-- Ställ regelbundet frågor mot federation_member_distributions för att se när det kommer in en ny rad i tabllen.&lt;/span&gt;&lt;span style="color: green"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION &lt;span style="color: blue"&gt;ROOT WITH RESET     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;&lt;span style="color: green"&gt;sys&lt;/span&gt;&lt;span style="color: gray"&gt;.&lt;/span&gt;federation_member_distributions &lt;span style="color: blue"&gt;ORDER BY &lt;/span&gt;federation_id&lt;span style="color: gray"&gt;, &lt;/span&gt;range_low&lt;span style="color: gray"&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;GO     &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: green"&gt;-- Ställ ytterligare några frågor mot olika Federations för att se hur data har blivit fördelat på två databaser.     &lt;br /&gt;-- Referenstabeller ligger kopierat lokalt till varje databas.&lt;/span&gt;&lt;span style="color: green"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId&lt;span style="color: gray"&gt;=1&lt;/span&gt;&lt;span style="color: gray"&gt;) &lt;/span&gt;&lt;span style="color: blue"&gt;WITH RESET&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;FILTERING&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;OFF     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;Customer    &lt;br /&gt;&lt;span style="color: blue"&gt;select &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;from &lt;/span&gt;SomeReferenceTable    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: blue"&gt;USE &lt;/span&gt;FEDERATION CustomerFederation&lt;span style="color: gray"&gt;(&lt;/span&gt;customerId&lt;span style="color: gray"&gt;=&lt;/span&gt;5&lt;span style="color: gray"&gt;) &lt;/span&gt;&lt;span style="color: blue"&gt;WITH RESET&lt;/span&gt;&lt;span style="color: gray"&gt;, &lt;/span&gt;FILTERING&lt;span style="color: gray"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;OFF     &lt;br /&gt;GO      &lt;br /&gt;SELECT &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;FROM &lt;/span&gt;Customer    &lt;br /&gt;&lt;span style="color: blue"&gt;select &lt;/span&gt;&lt;span style="color: gray"&gt;* &lt;/span&gt;&lt;span style="color: blue"&gt;from &lt;/span&gt;SomeReferenceTable    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-Ov2tP58xnq8/TudObS4uN_I/AAAAAAAAAuM/9P1tU7kzi-8/s1600-h/federations%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="federations" border="0" alt="federations" src="http://lh3.ggpht.com/-kdS5Zyc58nk/TudOb7ioVtI/AAAAAAAAAuQ/dBuH1mNwU0o/federations_thumb%25255B2%25255D.png?imgmax=800" width="655" height="231" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Från den det nya administrationsverktyget kan man nu också se en visuell bild av federationerna i databasen och där kan man även splitta en federation.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;span style="color: green"&gt;-- För att droppa databasen måste man koppla upp sig mot master databasen     &lt;br /&gt;-- Vid drop av Federation Root droppas också alla Federations Members.      &lt;br /&gt;-- use master      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Drop DATABASE &lt;/span&gt;Sales&lt;/p&gt;  &lt;h3&gt;Scott Guthrie, Dave Campbell, and Mark Russinovich in the line up!&lt;/h3&gt;  &lt;p&gt;Om du läser det här idag, den 13 december, missa då inte vårt live online event om Windows Azure som startar kl 18.00: &lt;a href="http://LearnWindowsAzureEvent.com"&gt;http://LearnWindowsAzureEvent.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Läser du det här senare kan du kolla på alla sessioner online:   &lt;br /&gt;&lt;a href="http://ch9.ms/lwa"&gt;http://&lt;/a&gt;&lt;a href="http://ch9.ms/lwa"&gt;ch9.ms/lwa&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/35731207-7584982726739024092?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7584982726739024092/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7584982726739024092' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7584982726739024092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7584982726739024092'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/12/sql-azure-federations.html' title='SQL Azure Federations'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-kdS5Zyc58nk/TudOb7ioVtI/AAAAAAAAAuQ/dBuH1mNwU0o/s72-c/federations_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1181336360033496366</id><published>2011-12-12T18:55:00.001+01:00</published><updated>2011-12-13T17:01:43.684+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Ny release av Windows Azure!</title><content type='html'>&lt;p&gt;Tidigare idag släppte vi ett antal uppdateringar och förbättringar till Windows Auzre. Dessa syftar mycket till att utvecklare enklare ska komma igång med Cloud Computing i allmänhet och Windows Azure i synnerhet.&lt;/p&gt;  &lt;p&gt;I den här releasen är det stort fokus på att det ska bli enklare att komma igång. Hela sign up-processen är omgjord och innefattar nu bara tre steg. Förutsatt att du har ett Live ID så kan du logga in på &lt;a href="http://www.windowsazure.com"&gt;http://www.windowsazure.com&lt;/a&gt; och direkt ta del av ett erbjudande som ger dig gratis användning av Windows Azure i tre månader. För varje månad kan du konsumera tjänster enligt följande:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Compute:&lt;/strong&gt; 750 hours of a Small Compute Instance* (can run one small instance full-time or other sizes at their &lt;a href="https://www.windowsazure.com/en-us/offers/#equivalent-ratios"&gt;equivalent ratios&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Storage:&lt;/strong&gt; 20GB with 50k Storage transactions &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Data Transfers:&lt;/strong&gt; 20GB outbound / Unlimited inbound data transfer &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Relational Database:&lt;/strong&gt; 1GB Web Edition SQL Azure database &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Access Control:&lt;/strong&gt; 100k transactions &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Service Bus:&lt;/strong&gt; Free through March 31, 2012 &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Caching:&lt;/strong&gt; 128MB cache &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;För samtliga konton som inkluderar resurser (gratis eller via t ex MSDN) har vi nu också gränser för hur mycket man kan spendera. För gratiskonton är den satt till $0. Det innebär att om man använder upp sin gratistid under en månad kommer kontot att spärras tills nästa period faktueringspåbörjas. Det fungerar ungefär som ett kontantkort till en mobiltelefon (förutom att man inte kan ta emot “samtal” när resurserna har tagit slut).&lt;/p&gt;  &lt;p&gt;Om du har ett MSDN-konto knutet till ditt Live ID kommer vi att märka det när du signar up och automatiskt få ta del av det som ingår i ditt MSDN-konto. Det är fortfarande så att du behöver ange ett kreditkort eftersom att om du väljer att ta bort spärren och spendera mer än det som ingår kommer du att få betala allt överskjutande enligt listpriser.&lt;/p&gt;  &lt;p&gt;En av de vanligaste frågorna jag möter när jag träffar kunder och individuella utvecklare som vill in på Windows Auzre är hur man kan vara säker på att man inte får en räkning på sitt kreditkort vid slutet av månaden som inte är så trevlig. “Tänk om jag startar upp tio instanser och glömmer att ta ner dem?” Well, you can stop worry and start to love Windows Auzre!&lt;/p&gt;  &lt;p&gt;Mer om nyheterna finns att läsa här: &lt;a title="http://blogs.msdn.com/b/windowsazure/archive/2011/12/12/improved-developer-experience-interoperability-and-scalability-on-windows-azure.aspx" href="http://blogs.msdn.com/b/windowsazure/archive/2011/12/12/improved-developer-experience-interoperability-and-scalability-on-windows-azure.aspx" target="_blank"&gt;http://blogs.msdn.com/b/windowsazure/archive/2011/12/12/improved-developer-experience-interoperability-and-scalability-on-windows-azure.aspx&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Scott Guthrie, Dave Campbell, and Mark Russinovich in the line up!&lt;/h3&gt;  &lt;p&gt;Om du läser det här idag, den 13 december, missa då inte vårt live online event om Windows Azure som startar kl 18.00: &lt;a href="http://LearnWindowsAzureEvent.com"&gt;http://LearnWindowsAzureEvent.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Läser du det här senare kan du kolla på alla sessioner online:   &lt;br /&gt;&lt;a href="http://ch9.ms/lwa"&gt;http://&lt;/a&gt;&lt;a href="http://ch9.ms/lwa"&gt;ch9.ms/lwa&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/35731207-1181336360033496366?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1181336360033496366/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1181336360033496366' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1181336360033496366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1181336360033496366'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/12/ny-release-av-windows-azure.html' title='Ny release av Windows Azure!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2679919498515395316</id><published>2011-11-28T08:45:00.000+01:00</published><updated>2011-12-08T10:14:47.216+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Windows Azure Sweden Tour 2011</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;img border="0" height="166" src="http://3.bp.blogspot.com/-GORSt4XFLAU/TtM7tQQkCFI/AAAAAAAAAsc/2C6w47BZfuU/s640/Windows%2BAzure%2BSweden%2BTour%2B2011.jpg" width="640" /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Nu är det dags för Windows Azure Sweden Tour 2011 (och 2012). Vi kommer att besöka tre orter i december och en i februari.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div style="margin: 0cm 0cm 0pt;"&gt;&lt;i&gt;&lt;span lang="SV" style="font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: SV;"&gt;Häng med på en introduktion tillmolnet och Windows Azure Plattform! Vi kommer under dessa sessioner ge enintroduktion till cloud computing och Microsofts plattform för att byggamolnbaserade lösningar. Vi börjar dagen med några centrala begrepp och en inblicki varför man ska bry sig om molnet för att sedan gå igenom de olika tjänsternai plattformen. Vad behöver man veta för att bygga en webbapplikation i WindowsAzure? Hur skapar man en SQL databas i molnet? Vilka andra tjänster behöver mankänna till?&lt;/span&gt;&lt;/i&gt;&lt;span lang="SV" style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: SV;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I Luleå är det samma innehåll på förmiddag respektive eftermiddag. I Malmö, Stockholm och Göteborg är det heldagar.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Mer information och anmälan till respektive event finns här:&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="SV" style="mso-ansi-language: SV;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500586&amp;amp;Culture=sv-SE" target="_blank"&gt;Malmö 12 december (heldag)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="SV" style="mso-ansi-language: SV;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500587&amp;amp;Culture=sv-SE" target="_blank"&gt;Stockholm 14 december (heldag)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="SV" style="mso-ansi-language: SV;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500588&amp;amp;Culture=sv-SE" target="_blank"&gt;Göteborg 14 december (heldag)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="SV" style="mso-ansi-language: SV;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500026&amp;amp;Culture=sv-SE" target="_blank"&gt;Luleå&amp;nbsp;23&amp;nbsp;februari 2012&amp;nbsp;(förmiddag)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="SV" style="mso-ansi-language: SV;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032500027&amp;amp;Culture=sv-SE" target="_blank"&gt;Luleå&amp;nbsp;23 februari 2012&amp;nbsp;(eftermiddag)&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Föreläsare på de olika eventen kommer att vara &lt;a href="http://twitter.com/bjorn_eriksen" target="_blank"&gt;Björn Eriksen&lt;/a&gt; och &lt;a href="http://twitter.com/krist00fer" target="_blank"&gt;Kristofer Liljeblad&lt;/a&gt; från Microsoft, &lt;a href="http://twitter.com/P2Piter" target="_blank"&gt;Peter Larsson&lt;/a&gt; från &lt;a href="http://www.connecta.se/" target="_blank"&gt;Connecta&amp;nbsp;&lt;/a&gt;samt &lt;a href="http://twitter.com/noopman" target="_blank"&gt;Magnus Mårtensson&lt;/a&gt; från &lt;a href="http://www.diversify.se/" target="_blank"&gt;Diversify&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2679919498515395316?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2679919498515395316/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2679919498515395316' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2679919498515395316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2679919498515395316'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/11/windows-azure-sweden-tour-2011.html' title='Windows Azure Sweden Tour 2011'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-GORSt4XFLAU/TtM7tQQkCFI/AAAAAAAAAsc/2C6w47BZfuU/s72-c/Windows%2BAzure%2BSweden%2BTour%2B2011.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Finlandsgatan 36, 164 74 Kista, Sverige</georss:featurename><georss:point>59.416497 17.9217035</georss:point><georss:box>59.414477 17.916768 59.418517 17.926638999999998</georss:box></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2640985749729460978</id><published>2011-05-11T16:52:00.001+02:00</published><updated>2011-05-11T16:52:10.025+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Full screen out of browser (OOB) i SL4</title><content type='html'>&lt;p&gt;För att skapa en applikation i Silverligt 4 som kör out of browser, i full screen, finns det en del saker att tänka på. Det första man måste göra är att högerklicka på projektfilen Silverlightprojektet och välja egenskaper. På fliken för Silverlight markerar man att man vill ha stöd för out of browser.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/Tcqiim9ivRI/AAAAAAAAAmg/dVqBkx_6DAE/s1600-h/Dialog%5B3%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Dialog" border="0" alt="Dialog" src="http://lh5.ggpht.com/_zHNvN5eY_4U/Tcqij8Mn3ZI/AAAAAAAAAmk/2rnIk8xTfY4/Dialog_thumb%5B1%5D.png?imgmax=800" width="644" height="341" /&gt;&lt;/a&gt;&lt;/p&gt;      &lt;p&gt;När den checkboxen är markerad kan man klicka på knappen för Out-of-Browser Settings.&lt;/p&gt;  &lt;p&gt;I den dialog som dyker upp kan man ställa in vad applikationen ska heta, hur stor den ska vara när den startar, beskrivningar samt sätta ikoner. Längst ner på den dialogrutan finns det också några viktiga checkboxar. Den sista av de tre markerar man om man vill att applikationen kan köra med eleveted trust. Detta är ett krav för att senare kunna sätta applikationen i full screen mode.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_zHNvN5eY_4U/TcqikbjkVMI/AAAAAAAAAmo/Z69Y7NOqUuU/s1600-h/oob%5B3%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="oob" border="0" alt="oob" src="http://lh6.ggpht.com/_zHNvN5eY_4U/TcqilqFZcMI/AAAAAAAAAms/9IYP3vflyk8/oob_thumb%5B1%5D.png?imgmax=800" width="378" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Om en Silverlight-applikation inte kör under elevated trust kan man fortfarande sätta den i full screen men då är det bara om det är på uppmaning av användaren, t ex genom att hon eller han klickar på en knapp. Om man försöker sätta applikationen i full screen genom kod i t ex Application_Startup kommer den kodraden att ignoreras.&lt;/p&gt;  &lt;p&gt;Men om man kör i elevated trust kan man, genom kod när applikationen startar, direkt sätta den i full screen. Observer att anropet till att förändra propertien IsFullScreen måste ske iett anrop till Dispatcher.BeginInvoke.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:39c53d53-2a4a-4b32-8dc8-2810d728c44b" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; Application_Startup(&lt;span style="color:#0000ff"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af"&gt;StartupEventArgs&lt;/span&gt; e)&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;Deployment&lt;/span&gt;.Current.Dispatcher.BeginInvoke(() =&amp;gt; SetFullScreen());&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;    &lt;span style="color:#0000ff"&gt;this&lt;/span&gt;.RootVisual = &lt;span style="color:#0000ff"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af"&gt;MainPage&lt;/span&gt;();&lt;/li&gt; &lt;li&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;    &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:9ee9526e-ad5c-4a3a-bdba-0237cf58ac9d" class="wlWriterEditableSmartContent"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt; &lt;div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px"&gt;Code Snippet&lt;/div&gt; &lt;div style="background: #fff; max-height: 300px; overflow: auto"&gt; &lt;ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"&gt; &lt;li&gt;&lt;span style="color:#0000ff"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff"&gt;void&lt;/span&gt; SetFullScreen()&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;{&lt;/li&gt; &lt;li&gt;    &lt;span style="color:#2b91af"&gt;Application&lt;/span&gt;.Current.Host.Content.IsFullScreen = &lt;span style="color:#0000ff"&gt;true&lt;/span&gt;;&lt;/li&gt; &lt;li style="background: #f3f3f3"&gt;}&lt;/li&gt; &lt;/ol&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2640985749729460978?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2640985749729460978/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2640985749729460978' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2640985749729460978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2640985749729460978'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/05/full-screen-out-of-browser-oob-i-sl4.html' title='Full screen out of browser (OOB) i SL4'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_zHNvN5eY_4U/Tcqij8Mn3ZI/AAAAAAAAAmk/2rnIk8xTfY4/s72-c/Dialog_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4960353204584098592</id><published>2011-04-10T16:16:00.003+02:00</published><updated>2011-04-10T16:29:02.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIX11'/><category scheme='http://www.blogger.com/atom/ns#' term='FlightChallenge'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Flight Challenge - Sprint 2</title><content type='html'>Efter fem timmar i luften är jag klar med sprint två. Är nu klar med MainView där man väljer användare och kan skapa nya användare, MyFriendaView där man listar alla sina vänner och kan lägga till nya vänner samt en påbörjad FriendPanormaView som visar all info om en vän. En av kontrollerna i panoramavyn ska innehålla bilder kopplade till vännen. Till den vyn har jag också lagt till en CameraCaptureTask som används för att ta en ny bild. Jag har dock ingen aning om hur jag ska kunna visa upp den bild som tagits så det får bli ett uppdrag för uppehållet i Chicago. Roten i min objektmodell är en lista av User-objekt. Den listan sparas också ner när applikationen deaktiveras och laddad när den aktiveras. Efter stoppet i Chicago med tillgång till Internet så blev koden för att ta en bild med hjälp av CaptureCameraTask enligt följande:&lt;br /&gt;&lt;br /&gt;        private void AddNewPicture()&lt;br /&gt;        {&lt;br /&gt;            var cameraCaptureTask = new CameraCaptureTask();&lt;br /&gt;            cameraCaptureTask.Completed += cameraCaptureTask_Completed;&lt;br /&gt;            cameraCaptureTask.Show();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        void cameraCaptureTask_Completed(object sender, PhotoResult e)&lt;br /&gt;        {&lt;br /&gt;            if (e.TaskResult == TaskResult.OK)&lt;br /&gt;            {&lt;br /&gt;                var image = new BitmapImage();&lt;br /&gt;                image.SetSource(e.ChosenPhoto);&lt;br /&gt;                SelectedFriend.Images.Add(image);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;Efter mellanlandningen i Chicago var jag dock tvingad att ge upp. För lite ström och för lite utrymme i planet satte stopp för FlightChallenge denna gång. Jag tänkte dock fortsätta med projektet så jag återkommer!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4960353204584098592?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4960353204584098592/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4960353204584098592' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4960353204584098592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4960353204584098592'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/04/flight-challenge-sprint-2.html' title='Flight Challenge - Sprint 2'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6693855955564326202</id><published>2011-04-10T16:07:00.004+02:00</published><updated>2011-04-10T16:16:44.952+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIX11'/><category scheme='http://www.blogger.com/atom/ns#' term='FlightChallenge'/><category scheme='http://www.blogger.com/atom/ns#' term='WP7'/><title type='text'>Flight Challenge</title><content type='html'>- Skrivet på planet på väg till Chicago -&lt;br /&gt;&lt;br /&gt;Några dagar innan resan till Mix 2011 i Las Vegas fick jag en utmaning av mina gamla kollegor på Connecta. Utmaningen gick ut på att bygga en app till Windows Phone 7 på resan till Las Vegas. Inte nog med att tiden är begränsad så är det också ont med ström i economy class. Men utrustad med två datorer och ett stopp i Chicago på tre timmar bara för att ladda batterier så ska det nog gå vägen. &lt;br /&gt;&lt;br /&gt;Innan jag åkte hemifrån såg jag till att jag hade allt jag behövde installerat. Det inkluderade Visual Studio 2010 med Windows Phone 7 SDK, Expression Blend 4, MVVM Light Toolkit och Windows Phone Training Kit och underbara ReSharper! &lt;br /&gt;&lt;br /&gt;När jag hade checkat in på Arlanda började jag skissa på gränssnitt och datamodell till min app. Och appen då? Jag har två döttrar som är 6 &amp; 9 och vi pratar ofta om vilka appar man skulle kunna utveckla. Ofta handlar det om något kopplat till Lady Gaga men den jag ska bygga idag heter Mina Vänner. I Mina Vänner kan man registrera sig som användare och sedan lägga till sina vänner. Man tar en bild på vännen och så får han eller hon svara på några frågor om sig själv. Det finns en uppsjö av sådana böcker som ockå används flitigt hemma. &lt;br /&gt;&lt;br /&gt;Nu är första sprinten avklarad och jag har skapat grundstrukturen i projektet, min datamodell, min första Vy och tillhörande VyModell. Det är lite svårt att styra över sprintlängden utan jag får anpassa mig efter serveringstiderna. Levererat värde än så länge är att jag kan skapa nya användare och lista existerande användare. &lt;br /&gt;&lt;br /&gt;Målet för nästa sprint är att jobba med persistering av objektmodellen så att saker sparas när man avslutar. Jag behöver också snart lägga till möjligheten att kommunicera mellan vymodeller i form av Messaging (tack MVVM Light) samt navigering till nya vyer. &lt;br /&gt;&lt;br /&gt;Man kan även följa utmaningens framgång eller fall på Twitter och #FlightChallenge.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-xdZkbVDVY4g/TaG7ne914sI/AAAAAAAAAmM/2XEOTgcGCIM/s1600/capture1.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 220px; height: 400px;" src="http://2.bp.blogspot.com/-xdZkbVDVY4g/TaG7ne914sI/AAAAAAAAAmM/2XEOTgcGCIM/s400/capture1.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5593958499172606658" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6693855955564326202?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6693855955564326202/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6693855955564326202' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6693855955564326202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6693855955564326202'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/04/flight-challenge.html' title='Flight Challenge'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-xdZkbVDVY4g/TaG7ne914sI/AAAAAAAAAmM/2XEOTgcGCIM/s72-c/capture1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2408345873386781022</id><published>2011-04-10T15:53:00.004+02:00</published><updated>2011-04-10T16:06:57.935+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIX11'/><title type='text'>Nytt jobb - nya ambitioner!</title><content type='html'>&lt;div&gt;Tiden går så extremt snabbt. Sedan en tid tillbaka har jag börjat på DPE på Microsoft som Plattformsevangelist och idag när jag kollade igenom min blogg så är det ju inte ofta jag kommer med nya inlägg. Har nu varit på Microsoft i precis en månad och ambitionen är helt klart att väcka bloggandet till liv igen.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Fokus i min nya roll kommer initialt att vara Windows Azure men jag kommer också att jobba en hel del med Microsoft Surface och ser väldigt mycket fram emot Surface 2.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;De första fyra veckorna har varit mycket intensiva. Techdays där jag pratade om Windows Azure + Windows Phone = Love!, Windows Azure Acceleration Labs med kunder, lite affärsutveckling på Surface och en del Windows Phone 7.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Igår anlände jag till Las Vegas för att vara med på MIX11. Ska bli extremt kul! Resan hit var lång men gick bra och igår kväll var jag bara och promenerade runt på en massa hotell och casino.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Idag är det heldag med DPE från hela världen som sedan avslutas med middag.&lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 600px; DISPLAY: block; CURSOR: hand" id="BLOGGER_PHOTO_ID_5593955806472790882" border="0" alt="" src="http://1.bp.blogspot.com/-NzIFER03FpU/TaG5Kv4LY2I/AAAAAAAAAmA/MmGAS9OExwY/s400/Mandalay-Bay-Resort-exterior.jpg" /&gt; &lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2408345873386781022?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2408345873386781022/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2408345873386781022' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2408345873386781022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2408345873386781022'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2011/04/nytt-jobb-nya-ambitioner.html' title='Nytt jobb - nya ambitioner!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NzIFER03FpU/TaG5Kv4LY2I/AAAAAAAAAmA/MmGAS9OExwY/s72-c/Mandalay-Bay-Resort-exterior.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2993253919639454967</id><published>2010-12-15T21:14:00.001+01:00</published><updated>2010-12-15T21:21:02.956+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>CommunicationObjectFaultedException i Azure 1.3</title><content type='html'>&lt;p&gt;Igår uppdaterade jag ett Azure-projekt till SDK 1.3 och ett skumt fel dök upp. Jag fick följande exception:&lt;/p&gt;  &lt;p&gt;Microsoft.WindowsAzure.ServiceRuntime Critical System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.&lt;/p&gt;  &lt;p&gt;Konverteringen funkade bra och mina tester funkade bra så jag checkade gladeligen in. Skulle sedan lägga till ett projekt, labba lite med det och då när jag skulle testköra allt tillsammans: CommunicationObjectFaultedException!!!&lt;/p&gt;  &lt;p&gt;Med SDK 1.3 så dyker det här felet upp om i Windows Azure compute emulator när en web.config för en Azure roll är markerad som read only. Felet kommer inte att dyka upp när man deployar till Windows Azure eftersom att attribut på filerna resettas när man gör en deployment.&lt;/p&gt;  &lt;p&gt;För att komma runt problemet måste man antingen ta bort read only-flaggan på varje web.config eller checka ut filen.&lt;/p&gt;  &lt;p&gt;Mer info finns här: &lt;a title="http://msdn.microsoft.com/en-us/library/gg508669.aspx" href="http://msdn.microsoft.com/en-us/library/gg508669.aspx"&gt;http://msdn.microsoft.com/en-us/library/gg508669.aspx&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/35731207-2993253919639454967?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2993253919639454967/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2993253919639454967' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2993253919639454967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2993253919639454967'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/12/communicationobjectfaultedexception-i.html' title='CommunicationObjectFaultedException i Azure 1.3'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2888657583521647955</id><published>2010-11-30T18:39:00.006+01:00</published><updated>2010-11-30T18:54:49.025+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Windows Azure SDK 1.3 är släppt</title><content type='html'>I dagarna släpptes version 1.3 av Azure SDK och Azure Tools for Visual Studio. Mycket av det som lanserades på PDC10 är nu tillgängligt och så även den nya Management Portalen. Den är numera helt byggd i Silverlight och är en mycket trevligare upplevelse än tidigare.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://4.bp.blogspot.com/_zHNvN5eY_4U/TPU3muySn8I/AAAAAAAAAj0/zQqx9hlXDMc/s1600/portal_start.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 194px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5545399654710157250" border="0" alt="" src="http://4.bp.blogspot.com/_zHNvN5eY_4U/TPU3muySn8I/AAAAAAAAAj0/zQqx9hlXDMc/s400/portal_start.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;Det kan initialt vara lite svårt att hitta sina existerande tjänster eftersom det första du möts av är dokumentationen. Men klicka på New Hosted Service i The Ribbon och sedan Cancel så kommer man till administrationsgränssnittet. Jag antar att det inte är den rätta vägen men det är den enda jag har hittat!&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zHNvN5eY_4U/TPU4jgz9jaI/AAAAAAAAAkE/iIwFnYLcmGE/s1600/portal_main.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 195px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5545400698931088802" border="0" alt="" src="http://3.bp.blogspot.com/_zHNvN5eY_4U/TPU4jgz9jaI/AAAAAAAAAkE/iIwFnYLcmGE/s400/portal_main.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;Väl framme så ser man alla sina tjänster, sina storage accounts, sina affinity groups osv.&lt;br /&gt;&lt;br /&gt;En ny detalj som var något som länge har varit efterfrågad är möjligheten att vara flera personer som administrerar ett konto. Dvs att det kan vara en person som registrerar tjänsten medan det finns flera som administrerar den. Tidigare har man varit tvingad att dela konto och lösenord mellan varandra och det har verkligen inte känts optimalt. Nu finns dock möjligheten att lägga till administratörer! Klicka bara på User Management i menyn och sedan på Add New Co-Admin i the Ribbon. Great!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zHNvN5eY_4U/TPU55sVL8ZI/AAAAAAAAAkc/7nBdWHlfATY/s1600/potal_user.JPG"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 263px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5545402179491983762" border="0" alt="" src="http://1.bp.blogspot.com/_zHNvN5eY_4U/TPU55sVL8ZI/AAAAAAAAAkc/7nBdWHlfATY/s400/potal_user.JPG" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2888657583521647955?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2888657583521647955/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2888657583521647955' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2888657583521647955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2888657583521647955'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/11/windows-azure-sdk-13-ar-slappt.html' title='Windows Azure SDK 1.3 är släppt'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zHNvN5eY_4U/TPU3muySn8I/AAAAAAAAAj0/zQqx9hlXDMc/s72-c/portal_start.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6467555618932270539</id><published>2010-10-29T21:22:00.001+02:00</published><updated>2010-10-29T21:22:35.340+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>VM Role</title><content type='html'>&lt;p&gt;Igår på PDC10 tillkännagavs en ny roll i Windows Azure – Virtual Machine Role (VM Role). Denna roll kompleterar de tidigare rollerna Web Role och Worker Role. Med en VM Role kan man köra en image, en VHD (virtual hard disk), av en Windows Server 2008 R2 i Windows Azure. Ett scenario med en VM role är att enklare kunna flytta line of business-applikationer till Windows Azure.&lt;/p&gt;  &lt;p&gt;Den VHD man laddar upp måste köra Windows Server 2008 R2 64 bit. Det är samma operativsystem som alla roller kör i Windows Auzre och det enda som kan hanteras. Observera att när man jobbar med en VHD i Windows Azure så får man själv ta ansvar för att t ex uppdatera operativsystemet vilket är något som man slipper med de andra rollerna.&lt;/p&gt;  &lt;p&gt;När man har laddat upp en VHD och skapat en VM role kan man skala ut den på samma sätt som man gör med andra roller. Genom att sätta de antal instanser man vill ha så kommer Windows Azure att spinna igång det antalet och lastbalansera mellan dessa. Dessa kommer dock att helt sakna tillstånd. Man kan aldrig garantera att en användare kommer tillbaka till samma instans och därför kan inget rörande ett tillstånd eller applikationsdata sparas direkt i en vm roll. Så innan man kan flytta sin applikation till en VM Role i Windows Azure måsta man lösa lagring av data.&lt;/p&gt;  &lt;p&gt;Ett exempel på hur man kan göra det, är att flytta datalagring till Azure Storage eller till SQL Azure. Ett annat alternativ är att använda Azure Connect. Med Azure Connect kan man koppla ihop roller i Azure med servrar eller databaser on premises. Jag fick en fråga av en kollega om man skulle kunna installera Sharepoint i VM Role och köra den i Windows Azure och det skulle alltså vara fullt möjligt med Azure Connect. På en VHD kan man installera t ex Sharepoint och konfigurera den att använda en SQL Server på en annan maskin. VHD:n med Sharepoint laddas upp till Windows Azure och ansluts till den lokala domänen där SQL Servern ligger. &lt;/p&gt;  &lt;p&gt;Jag tror inte att det är ett vettigt scenario att installera Sharepoint på en VM Role i Windows Azure. Aktuella scenarios är om man har en lång installation, en installation som inte går att scripta eller en installation som är känslig och komplex. Om man har något av dessa scenarios så kan Windows Azure VM Role vara rätt väg att gå.&lt;/p&gt;  &lt;p&gt;Prissättningen för VM Role kommer att se likadan ut som för andra typer av roller och man betalar per timme och för storleken på instansen. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6467555618932270539?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6467555618932270539/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6467555618932270539' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6467555618932270539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6467555618932270539'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/10/vm-role.html' title='VM Role'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6559694599296541886</id><published>2010-10-28T21:27:00.001+02:00</published><updated>2010-10-28T22:54:59.445+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Nyheter i Windows Azure.</title><content type='html'>&lt;p&gt;Idag på Keynote på PDC lanserades en hel del nyheter rörande Windows Azure. Här är några av dessa sammanfattade:&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Virtual Machine Role.&lt;/b&gt; För att enklare ge stöd för existerande applikationer som är utvecklade för Windows visades en Virtual Machine Role. Det här var väntat och har pratats om en del den sista tiden. Med en VM Role kan man ladda upp en färdigkonfigurerad virtuell maskin direkt till Windows Azure. På sikt kommer man också att direkt kunna skapa virutella maskiner direkt i Windows Azure.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Flera administratörer för ett konto.&lt;/b&gt; Det här är en liten förändring men ack så efterlängtad och viktig. Jag anser att ett delat konto för att deploya och hantera roller är den största säkerhetsrisken med Windows Azure. Det är nu löst och man kan hantera flera användare genom administrationsportalen för Windows Azure.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Ny portal.&lt;/b&gt; Portalen för Windows Azure har länge varit eftersatt. Begränsad funktionalitet och en väldigt begränsad upplevelse för användaren. Nu kommer en helt ny portal som är baserad på Silverlight. Den nya portalen är ännu inte tillgänglig och jag har bara sett den i demo på scen än så länge men det ser väldigt bra ut!&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Utökade rättigheter och fullständig IIS.&lt;/b&gt; Med utökade rättigheter (elevated privileges) kan man göra saker som tidigare inte varit möjligt som t ex att installera ett com-objekt under uppstart. Med fullständig IIS kan man i en Web Role ha flera web sites och Virtual Applications. Tidigare har en web role kört i en Hosted Web Core som var isolerad från IIS. Numera kommer man att köra direkt i w3wp-processen. &lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Windows Azure Virtual Network.&lt;/b&gt; Roller i Azure kan ingå i ett virtuellt nätverk med andra domäner. På så sätt kan man t ex lägga till en maskin i Windows Azure till ditt eget lokala nätverk.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Remote Desktop.&lt;/b&gt; Med Remote Desktop kan man, direkt från utveckalarportalen klicka på Connecta och öppna en Remote Desktop till den aktuella instansen i Windows Azure. När man deployar en app till Windows Azure kan man välja att konfigurera för Remote Desktop. Självklart används certifikat för säker access. När man har remote desktop mot en instans i Windows Azure kan man se vad som är deployat, ändra filer och inställningar. Dessa förändringar är så klart stateless och kan förloras men det kan vara bra vid en felsökning. Om man gör det här i en produktionsmiljö kan det vara bra att plocka bort den aktuella instansen från lastbalanseraren så att den inte träffas av webbtrafik under tiden. Det kan man göra via PowerShell cmdlets på den aktuella instansen.&lt;/p&gt;  &lt;p&gt;· Windows Azure Marketplace. På PDC09 visades Dallas för första gången. Genom oData kan man komma åt olika datakällor, antingen gratis eller som man betalar för. Dessa datakällor kan man använda i sina egna appliktioner. Alla dessa datakällor samlas nu i det som kallas Windows Azure Marketplace. Inom kort kommer även en nya del av Windows Azure Marketplace som innehåller delar eller hela applikationer som man kan köpa eller använda.&lt;/p&gt;  &lt;p&gt;Det var mycket mer som visades. Mer information kommer att komma vad tiden lider och en bra källa är &lt;a href="http://blogs.msdn.com/b/windowsazure/" target="_blank"&gt;Windows Azure Team Blog&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/35731207-6559694599296541886?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6559694599296541886/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6559694599296541886' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6559694599296541886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6559694599296541886'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/10/nyheter-i-windows-azure.html' title='Nyheter i Windows Azure.'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1867672995741973320</id><published>2010-08-20T11:30:00.001+02:00</published><updated>2010-08-20T11:30:01.907+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Certifikat för utveckling i Windows Azure med SDK 1.2</title><content type='html'>&lt;p&gt;I juni släpptes en ny version av Windows Azure SDK (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&amp;amp;displaylang=en" target="_blank"&gt;version 1.2&lt;/a&gt;). Den innehöll många mycket bra nyheter som gör livet som Azure-utvecklare mycket enklare.&lt;/p&gt;  &lt;p&gt;Fullt stöd för Visual Studio 2010 RTM samt stöd för .NET 4 var väntat (och efterlängtat!). En annan nyhet är två tillägg till Server Explorer. Dessa ger möjlighet att få en read only-vy av de tjänster man har i Azure Compute samt Azure Storage.&lt;/p&gt;  &lt;p&gt;Numera är det möjligt att deploya direkt från Visual Studio. Tidigare kunde man bara bygga paket och fick själv ladda upp dessa genom portalen alternativt med hjälp av PowerShell. Det här är ett enormt lyft och gör hantering av deployment samt historik av deployade paket mycket enklare.&lt;/p&gt;  &lt;p&gt;Alla externa verktyg som på något sätt ska komma åt Windows Azure Managements api måste använda sig av ett X.509-certifikat. Man kan använda ett existerande certifikat eller utfärda ett nytt eget. Enklaste sättet att utfärda ett eget certifikat är att använda Visual Studio.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Klicka på Windows Azure Compute i Server Explorer och välj Add Slot…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/TG5LA1YdKMI/AAAAAAAAAdE/9Zumx9P1lSk/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_zHNvN5eY_4U/TG5LBT0cT3I/AAAAAAAAAdI/TXPjQt2l5to/image_thumb%5B21%5D.png?imgmax=800" width="304" height="179" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Högerklicka på den vita rutan och välj New…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_zHNvN5eY_4U/TG5LB0PQSTI/AAAAAAAAAdM/sNlmscV8If4/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_zHNvN5eY_4U/TG5LCSYG-QI/AAAAAAAAAdQ/iCHP3RE6PcA/image_thumb%5B31%5D.png?imgmax=800" width="304" height="309" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Skapa ett nytt certifikat genom att välja &amp;lt;Create…&amp;gt; i rullistan i steg 1.&lt;/li&gt;    &lt;li&gt;Kopiera pathen till filen som representerar certifikatet genom att klicka på länken i steg 2.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Oavsett om man väljer ett existerande certifikat eller om man har utfärdat ett eget måste man ladda upp det till Azure Portalen.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Logga in på portalen och klicka på Account&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/TG5LCyVd6aI/AAAAAAAAAdU/G46hcy3TKWY/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_zHNvN5eY_4U/TG5LDYcdDRI/AAAAAAAAAdY/iBpyzWgpp6I/image_thumb%5B10%5D.png?imgmax=800" width="504" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Klicka på Manage My API Certificates och ladda där upp det certifikat som du precis kopierat pathen till.&lt;/li&gt;    &lt;li&gt;Klicka på Account igen och kopiera ditt Subscription ID som finns längst ner på sidan.&lt;/li&gt;    &lt;li&gt;Ge dina rättigheter ett vänligt namn.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_zHNvN5eY_4U/TG5LDjI7KlI/AAAAAAAAAdc/pKGXHHEJA_I/s1600-h/image%5B22%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_zHNvN5eY_4U/TG5LEfuRcHI/AAAAAAAAAdg/whuO24v1eac/image_thumb%5B41%5D.png?imgmax=800" width="304" height="313" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Du kan nu lista de slots du har för din tjänst i Azure och lägga till respektive slot du vill kunna granska i Server Explorer.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Cerebrata Cloud Storage Studio&lt;/h3&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Samma certifikat som nu finns uppladdat i Windows Azure-portalen kan också med fördel användas av andra verktyg. Jag är ett fan av Cerebratas Cloud Storage Studio där det också finns möjlighet att övervaka tjänster i Azure, göra nya deployments, starta och stoppa tjänster samt byta mellan Staging och Produktion.&lt;/p&gt;  &lt;p&gt;I Cloud Storage Studio är det bara att klicka på Connect to Hosted Service, klistra in sitt Subscription ID från Azure-portalen samt peka ut certifikatet. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_zHNvN5eY_4U/TG5LE-9irAI/AAAAAAAAAdk/0AFfn6dIB6U/s1600-h/image%5B27%5D.png"&gt;&lt;img title="image" border="0" alt="image" src="http://lh4.ggpht.com/_zHNvN5eY_4U/TG5LFYuUsLI/AAAAAAAAAdo/ckDFcAq86lw/image_thumb%5B50%5D.png?imgmax=800" width="304" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Om det certifikat som ska användas är genererat av Visual Studio enligt ovan så hittar man det under:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Certifikate Store&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Certificates – Current User&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;My&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_zHNvN5eY_4U/TG5LFtl5FmI/AAAAAAAAAds/pcAgOlVSzDw/s1600-h/image%5B37%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_zHNvN5eY_4U/TG5LGIpH59I/AAAAAAAAAdw/qmV4t6mEyGo/image_thumb%5B64%5D.png?imgmax=800" width="304" height="203" /&gt;&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/35731207-1867672995741973320?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1867672995741973320/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1867672995741973320' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1867672995741973320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1867672995741973320'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/08/certifikat-for-utveckling-i-windows.html' title='Certifikat för utveckling i Windows Azure med SDK 1.2'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_zHNvN5eY_4U/TG5LBT0cT3I/AAAAAAAAAdI/TXPjQt2l5to/s72-c/image_thumb%5B21%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8479617999989335166</id><published>2010-03-24T15:31:00.002+01:00</published><updated>2011-04-10T15:53:03.272+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='TechDays'/><title type='text'>TechDays 2010</title><content type='html'>&lt;p&gt;Två intensiva dagar i Örebro är över för denna gång och jag måste säga att TechDays 2010 var ett klart lyft jämfört med 2009!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Lyckligtvis fick jag möjlighet att hålla min session, A Lap Around Visual Studio 2010 under dag 1 vilket gjorde att jag sedan kunde ta det lugnt och bara “vara” resten av tiden. Sessionen var relativt välbesökt men i en lokal som tar 1400 personer är det svårt att uppskatta hur många det var på plats. Allt flöt på bra och jag har fått mycket positiv feedback efteråt. Ska bli spännande att se utvärderingarna! Jag fokuserade på nyheterna i IDE’n, nyheterna i språken med en demo om Covariance, visa lite av parallell extensions och avslutade med lite nyheter i WPF 4. Det är så klart svårt att täcka speciellt mycket på bara en timme men det kändes ändå som att det blev en bra översikt över nyheterna.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Direkt efter min session hoppade jag in i en Taxi och åkte till Örebro Universitet för att köra min session igen på TechDays@Campus. Ett mycket bra initiativ från Microsoft och Örebro Universitet! Studenterna fick möjligheten att se keynote från dag 1 streamat och hade sedan valt ut fyra sessioner som de vill ha levererade på plats. Före mig hade Magnus Mårtensson pratat om Azure Storage, Tiberiu Covaci om parallell computing och Tess Ferrandez om ASP.NET debugging. Gruppen var lite sliten och något desarmerad när jag kom dit kl 15.00 och jag antar att Tess session kanske var lite väl komplex. Jag började med att fråga hur många som hade använt någon version av Visual Studio och såg tre händer… Det gjorde att jag fick ändra lite i min session, hoppa över några demos och prata mer om hur det har varit tidigare och visa tydligare visa på förändringar.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Connecta var med som utställare och vi hade även tagit dit vårt Surface bord. Som vanligt drog Sonicspree mycket folk!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="TechDays - Surface" border="0" alt="TechDays - Surface" src="http://lh5.ggpht.com/_zHNvN5eY_4U/S6oo_NIyP5I/AAAAAAAAAWI/7lfwloGf42U/TechDays%20-%20Surface%5B7%5D.jpg?imgmax=800" width="484" height="644" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;På kvällen var det underhållning med Henrik Schyffert som alltid är helt lysande!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="imac" border="0" alt="imac" src="http://lh5.ggpht.com/_zHNvN5eY_4U/S6oo_xwT6SI/AAAAAAAAAWM/4DrDoL9S3fY/imac%5B4%5D.jpg?imgmax=800" width="484" height="644" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;//Björn&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8479617999989335166?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8479617999989335166/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8479617999989335166' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8479617999989335166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8479617999989335166'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/03/techdays-2010.html' title='TechDays 2010'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_zHNvN5eY_4U/S6oo_NIyP5I/AAAAAAAAAWI/7lfwloGf42U/s72-c/TechDays%20-%20Surface%5B7%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5507778275422263118</id><published>2010-02-26T00:09:00.001+01:00</published><updated>2010-02-26T00:09:16.742+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><title type='text'>Visual Studio 2010 - IDE</title><content type='html'>&lt;p&gt;Det finns en hel del nyheter i IDE’n i Visual Studio 2010. Den är numera byggd i WPF vilket kommer att möjliggöra tredjepartstillverkare att bygga mycket intressanta tillägg framöver!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;New Project:&lt;/strong&gt;     &lt;br /&gt;Precis som tidigare har man möjlighet att välja vilket ramverk man ska jobba med. Det innebär att man kan tidigt börja använda VS2010 även om man inte är redo att gå upp till .NET 4. Men i New Project är den mest välkomna nyheten att man nu kan söka bland installerade mallar. Sökrutan högst upp till höger filtrerar bland alla installerade mallar oavsett i vilken nod i trädet man står i när man startar sökningen. Jag hade önskat att man skulle ha gjort en större förändring och tydligare framhäva möjligheten att söka eftersom att det är så otroligt snabbt sätt att hitta den mall man behöver. Samma sökmöjlighet finns även när man väljer Add New Item. Som vanligt finns det också en hel del mallar att ladda ner i &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/site/search?f%5B0%5D.Type=SearchText&amp;amp;f%5B0%5D.Value=templates&amp;amp;f%5B1%5D.Type=VisualStudioVersion&amp;amp;f%5B1%5D.Value=10.0&amp;amp;f%5B1%5D.Text=Visual%20Studio%202010&amp;amp;f%5B2%5D.Type=RootCategory&amp;amp;f%5B2%5D.Value=templates&amp;amp;f%5B2%5D.Text=Templates" target="_blank"&gt;Visual Studio Gallery&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDA7eoWyI/AAAAAAAAAVQ/9zONkO2I67I/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDBTiq2OI/AAAAAAAAAVU/grKzm87Ztfk/image_thumb%5B4%5D.png?imgmax=800" width="688" height="492" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Extensions Manager:&lt;/strong&gt;    &lt;br /&gt;Under Tools – Extension Manager hittar man en ny dialog som kan användas för att installera olika tillägg till Visual Studio. Det är relativt enkelt att skapa egna och det finns även många att ladda ner. Tillägg man kan hitta i det online gallery som är integrerat i Visual Studio kan vara små små förändringar eller större verktyg som t ex ReSharper. Det pratades tidigt i utvecklingen av VS2010 att man skulle kunna skinna IDE’n och med ett liten tillägg som heter Visual Studio Color Theme Editor är det i alla fall möjligt att enkelt ändra det färgschema som VS2010 använder. Nedan finns två exempel på teman som jag skapat. Ett som är lite mer nertonat a la Expression och det andra med lite mer klara färger.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_zHNvN5eY_4U/S4cDB1O5erI/AAAAAAAAAVY/f56wQrnkGwI/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDCWzO-OI/AAAAAAAAAVc/6it6NI8ZqPU/image_thumb%5B7%5D.png?imgmax=800" width="415" height="262" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://lh5.ggpht.com/_zHNvN5eY_4U/S4cDC4POxlI/AAAAAAAAAVg/7OPx-9nLIco/s1600-h/image%5B24%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_zHNvN5eY_4U/S4cDDbm9NHI/AAAAAAAAAVk/LjqsHJaXgd4/image_thumb%5B24%5D.png?imgmax=800" width="415" height="262" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ett av mina favorit-tillägg är ItallicComments. Ett litet tillägg som gör så att kommentarer i kod blir kursiva.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDDh7xTpI/AAAAAAAAAVo/aSCmaU2CR5U/s1600-h/image%5B25%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDEBgHxJI/AAAAAAAAAVs/x1HSO5Hv6DE/image_thumb%5B25%5D.png?imgmax=800" width="415" height="266" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IntelliSense:&lt;/strong&gt;    &lt;br /&gt;Ända sedan jag testade Visual Assist från Whole Tomato för ett antal år sedan har jag önskat att få IntelliSense som är implementerad som “innehåller” istället för “börjar med” och nu kommer den nyheten till VS2010. Det finns också stöd för att göra sökningar med Pascal Casing men det är en funktion som jag har märkt att jag aldrig använder. Det känns som att det tar längre tid att komma på vad det är för Pascal Casing på AreAnyTouchesCapturedWithin än att skriva t ex Touch. Men med nya IntelliSense kan man alltså också skriva AATCW.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Call Hierarcy:&lt;/strong&gt;    &lt;br /&gt;För att förenkla för utvecklare att förstå hur kod hänger ihop har man lagt till ett par intressanta nyheter. Ett sådant är Call Hierarcy som visar vad som anropar en metod samt vad den metoden i sin tur anropar. Ställ dig på en metod och tryck CTRL+K, T så kommer Call Hierarcy-fönstret fram. Calls to visar vilka anrop som kommer in till metoden och Calls From visar vad den i sin tur anropar. Mycket värdefull hjälp för att framför allt snabbt få koll på vem som anropar en metod som man ska ändra!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDE3hk_OI/AAAAAAAAAVw/wkNW3lF-bHU/s1600-h/image%5B30%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDFIprTwI/AAAAAAAAAV0/_oN6K7wB2Qs/image_thumb%5B34%5D.png?imgmax=800" width="415" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Pin:&lt;/strong&gt;    &lt;br /&gt;Det finns många möjligheter att pinna saker i VS2010. Den mest uppenbara är att man t ex kan pinna sln-filer så att de alltid finns med i Recent Projects-listan. En lite mer dold feature är att man kan pinna inspektioner som man gör under debugging. När man gör en mouse over på en variabel under debugging får man som vanligt upp information om vilket värde den variabeln håller. Den visualiseringen har nu en liten nål så att man kan pinna den och behöver då inte längre hålla kvar musen där för att se dess värde. Efter det att man har pinnat visualiseringen kan man också expandera fram ett kommentarsfält. Hela den här visualiseringen går också att pinna så att även om man scrollar så ligger den kvar på samma ställ samt att man även enkelt kan flytta den. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDFigZ6XI/AAAAAAAAAV4/xYjBFxLo9I8/s1600-h/image%5B36%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_zHNvN5eY_4U/S4cDF8w7XVI/AAAAAAAAAV8/9m97G3FF9LE/image_thumb%5B41%5D.png?imgmax=800" width="285" height="166" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDGSX-0iI/AAAAAAAAAWA/8BktGNkZZME/s1600-h/image%5B41%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_zHNvN5eY_4U/S4cDG9F1IeI/AAAAAAAAAWE/MrcwjAdWbNg/image_thumb%5B47%5D.png?imgmax=800" width="436" height="166" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Det är var några av de nya features som finns i VS2010 som gör livet som utvecklare lite enklare och trevligare!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5507778275422263118?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5507778275422263118/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5507778275422263118' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5507778275422263118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5507778275422263118'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/02/visual-studio-2010-ide.html' title='Visual Studio 2010 - IDE'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_zHNvN5eY_4U/S4cDBTiq2OI/AAAAAAAAAVU/grKzm87Ztfk/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-9084673158259995951</id><published>2010-02-23T11:33:00.001+01:00</published><updated>2010-02-23T11:33:21.871+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Problem med CSS i Azure</title><content type='html'>&lt;p&gt;Förra veckan blev jag tvingad att installera om min dator från scratch. Det var strul med SQL Server Express, Visual Studio 2010 och Azure som föranledde det hela. Det hela gick som vanligt väldigt smidigt och snart var jag igång med Windows 7 Ultimate och Visual Studio 2010 Ultimate RC.&lt;/p&gt;  &lt;p&gt;Ett problem som dock dök upp var att jag inte längre fick med mig CSS filen för den site jag jobbar med när jag startade projektet i Azure Development Fabric i Visual Studio. Det funkade bra att deploya till Windows Azure eller att enbart starta upp web projektet. Det visade sig att det var en Windows Feature som jag missat. Aktivera den och din css kommer att hänga med och allt funkar fin-fint igen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_zHNvN5eY_4U/S4Ou7RzNhRI/AAAAAAAAAVI/ezPoA76-98w/s1600-h/StaticContent%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="StaticContent" border="0" alt="StaticContent" src="http://lh4.ggpht.com/_zHNvN5eY_4U/S4Ou8eZfBII/AAAAAAAAAVM/WtJcDtCkmeQ/StaticContent_thumb%5B3%5D.png?imgmax=800" width="352" height="465" /&gt;&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/35731207-9084673158259995951?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/9084673158259995951/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=9084673158259995951' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/9084673158259995951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/9084673158259995951'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/02/problem-med-css-i-azure.html' title='Problem med CSS i Azure'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_zHNvN5eY_4U/S4Ou8eZfBII/AAAAAAAAAVM/WtJcDtCkmeQ/s72-c/StaticContent_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2965470626848537148</id><published>2010-02-01T23:37:00.001+01:00</published><updated>2010-02-01T23:37:27.656+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Timeout för kö-meddelanden i Windows Azure</title><content type='html'>&lt;p&gt;En fråga som har dykt upp många gånger sista tiden i mitt projekt men som vi aldrig sök upp svaret på är hur det funkar med timeout för meddelanden i en kö i Windows Azure Queue Storage. Windows Azure garanterar att meddelanden som placeras i köer kommer att hanteras minst en gång. När man gör ett GET-anrop via REST, alternativt GetMessage() från StorageClient, kan man skicka med en alternativ parameter som sätter hur lång tid timeouten ska vara. Om man inte har tagit bort meddelandet innan tiden för timeouten så dyker meddelandet upp på kön igen.&lt;/p&gt;  &lt;p&gt;var message = c.GetMessage(TimeSpan.FromSeconds(10));&lt;/p&gt;  &lt;p&gt;Om man inte anger någon tid sätts den till 30 sekunder vilket också är maxtiden för ett meddelande idag. Det har pratats om att möjliggöra längre intervall men det har ännu inte dykt upp. Oavsett hur lång tid man skulle kunna sätta måste applikationer byggas så att dess funktioner är idempotenta. Med idempotent menas att om man anropar en funktion två gånger ska det ge samma resultat, f(f(x)) = f(x).&lt;/p&gt;  &lt;p&gt;Ett exempel kan vara att en worker role hämtar ett meddelande och börjar hantera det. När den är klar ska det utföras en loggning till Azure Table Storage som av någon anledning tar väldigt lång tid eller misslyckas. Då dyker meddelandet upp på kön igen och en annan instans av samma worker role kan få tag i meddelandet och påbörja att hantera det på nytt. Då måste applikationen hantera den situationen och inte förändra slutresultatet.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2965470626848537148?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2965470626848537148/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2965470626848537148' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2965470626848537148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2965470626848537148'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/02/timeout-for-ko-meddelanden-i-windows.html' title='Timeout för kö-meddelanden i Windows Azure'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5671160481515257827</id><published>2010-01-17T23:16:00.002+01:00</published><updated>2010-01-22T13:44:03.860+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Azure Development Storage i SQL Server 2008 R2</title><content type='html'>&lt;p&gt;Sista tiden har jag utvecklat en hel del mot Windows Azure i Visual Studio 2010 och om man som jag inte gillar SQL Express utan vill använda SQL Server 2008 R2 till Development Storage är det väldigt enkelt att fixa till det. När man startar ett Windows Azure projekt första gången skapas en lokal SQL Server Express-databas med tabeller för köer, blobbar och tabeller. För att istället skapa databasen i en icke-express-variant av SQL Server måste man först själv skapa databasen som behövs med hjälp av ett program i Windows Azure SDK.&lt;/p&gt;&lt;p&gt;I katalogen C:\Program Files\Windows Azure SDK\v1.0\bin\devstore finns filen dsinit.exe. Det är den som exekveras när man startat ett Azure projekt första gången och skapar upp databasen. Starta en command prompt och exekvera dsinit.exe enligt följande för att installera den på default-instasen:&lt;br /&gt;&lt;strong&gt;dsinit.exe /sqlinstance:.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Eller om man vill installera den på en namngiven instans:&lt;br /&gt;&lt;strong&gt;dsinit.exe /sqlinstance:myLocalInstance&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Updatera sedan DSService.exe.config och lägg till attributet dbServer enligt nedan:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;service name="Blob" url="http://127.0.0.1:10000/" dbServer="ComputerName\NamedInstance"/&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&amp;lt;service name="Queue" url="http://127.0.0.1:10001/" dbServer=" ComputerName\NamedInstance "/&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&amp;lt;service name="Table" url="http://127.0.0.1:10002/" dbServer=" ComputerName\NamedInstance "/&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Man kan också använda dsinit.exe om man vill rensa allt innehåll i databasen, dvs tömma köer, blobbar och tabeller med:&lt;br /&gt;&lt;strong&gt;dsinit.exe /sqlinstance:myLocalInstance /forceCreate&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Det finns en del forum, blogger och liknande som hänvisar till att man ska göra ändringarna i DevelopmentStorage.exe.config men det var det gamla namnet och numera heter den DSService.exe.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5671160481515257827?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5671160481515257827/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5671160481515257827' title='6 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5671160481515257827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5671160481515257827'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2010/01/azure-development-storage-i-sql-server.html' title='Azure Development Storage i SQL Server 2008 R2'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8149470427545095108</id><published>2009-11-19T17:39:00.001+01:00</published><updated>2009-11-19T17:39:14.784+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDC'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Podcast för MSDN Radio med Dag König</title><content type='html'>&lt;p&gt;Igår var jag med och spelade in en podcast med Dag König från Microsoft för MSDN Radio. Vi samlades runt en soptunna och pratade om vad vi hade upplevt så långt på PDC09. Den finns att ladda ner på &lt;a title="http://bit.ly/1ooTeW" href="http://bit.ly/1ooTeW"&gt;http://bit.ly/1ooTeW&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Som alltid gör Dag ett lysande jobb som intervjuare och gör det väldigt enkelt att vara med som deltagare!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/SwV0sJqhqMI/AAAAAAAAAUs/PgJD-c7ofwg/s1600-h/podcast%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="podcast" border="0" alt="podcast" src="http://lh6.ggpht.com/_zHNvN5eY_4U/SwV0sWXLALI/AAAAAAAAAUw/lccY28Hu4Xw/podcast_thumb%5B1%5D.jpg?imgmax=800" width="550" height="418" /&gt;&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/35731207-8149470427545095108?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8149470427545095108/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8149470427545095108' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8149470427545095108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8149470427545095108'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/11/podcast-for-msdn-radio-med-dag-konig.html' title='Podcast för MSDN Radio med Dag König'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_zHNvN5eY_4U/SwV0sWXLALI/AAAAAAAAAUw/lccY28Hu4Xw/s72-c/podcast_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6444323616699286197</id><published>2009-11-19T17:30:00.001+01:00</published><updated>2009-11-19T17:30:01.245+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='PDC'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>PDC 2009 – Pre conference workshop</title><content type='html'>&lt;p&gt;Första dagen spenderade jag på en workshop med kille från Nya Zeeland (Chris Auld) som pratade om Windows Azure. Architecting and Developing for Windows Azure och där och då bestämde jag mig för att mitt fokus skulle helt och hållet ligga på Windows Azure under veckan. Det har inte riktigt gått att hålla fullt ut eftersom att en del sessioner har visat sig för tråkiga eller för att andra har varit för intressanta för att missa.&lt;/p&gt;  &lt;p&gt;Förra veckan släpptes Nov SDK för Windows Azure med flera nyheter. B la så går det nu att använda Visual Studio 2010 för att bygga applikationer för Azure men än så länge är det bara .NET Framework 3.5 SP1 som stöds. .NET 4 kommer så klart inom kort. En annan nyhet är att Worker Roles nu också kan ta emot externa anrop. Tidigare har det bara varit Web Role som kunnat göra det men nu alltså även Worker Role. Vad innebär då det? Vad är det för skillnad då på en Web och en Worker? En skillnad är att en Web Role är hostad i IIS vilket en Worker Role inte är. Det skulle då t ex kunna innebära att du skulle kunna bygga din egen web server och hosta den i en Worker Role.&lt;/p&gt;  &lt;p&gt;En annan nyhet i Nov SDK är att det nu också finns stöd för scale up, dvs olika storlekar av virtuella maskiner. &lt;/p&gt;  &lt;p&gt;Under Chris dragning blev det också tydligt att det är applikationer som kräver möjlighet till elasticitet eller extrem ökning av krav på resurser som lämpar sig bäst för Azure. Detta är för att den största anledningen till att flytta eller bygga en applikation på en molnplattform är en ekonomisk och inte en teknisk. Det pratas dock om att det kan komma en annan prismodell för applikationer som inte kräver lika stor flexibilitet eller last där man kanske betalar en fast månadskostnad och då inte har samma möjligheter att skala upp men mer om det när det närmar sig årsskiftet.&lt;/p&gt;  &lt;p&gt;Windows Azure är tillgängligt idag, den 1 januari kommer det att börja synas hur mycket en körande applikation kostar och from den 1 feb så startar faktureringen.&lt;/p&gt;  &lt;p&gt;Chris tog också upp en del patterns för utveckling av applikationer mot Windows Azure och hur de kan påverka den totala prisbilden av en applikation eftersom att delar av plattformen betalas per transaktion. Värt att tänka på är att ibland de-normalisera och duplicera data beroende på om den totala kostnaden för lagring blir billigare än kostnaden för transaktioner. Det dyker alltså upp helt nya faktorer för att fatta beslut för hur arkitekturen ska se ut för en applikation. En refactoring som inte är genomtänkt skulle t ex kunna innebära att man ökar den totala kostnaden för applikationen.&lt;/p&gt;  &lt;p&gt;En viktig sak att tänka på när man jobbar med köer är Idempontency. För mig som inte är så mattematiskt bevandrad var det ett nytt begrepp som innebär att f(x) = f(f(x). Dvs att ett anrop till en funktion ska alltid ge samma resultat oavsett om den anropas flera gånger. Windows Azure garanterar att meddelanden i en kö blir hanterade minst en gång. Så även om den VM som just nu hanterar ett meddelande går ner så kommer någon annan att hantera det meddelandet senare. Dock så kan det hända att ett meddelande blir hanterat flera gånger och vi måste hantera det i våra applikationer.&lt;/p&gt;  &lt;p&gt;Hela konferensen är väldigt bra organiserad. Det är stora rum och aldrig något problem att få plats på en session. Enda nackdelen är att LA Convention Center är gigantiskt och det är fem – tio minuters promenad från en sal längst bort i hörnan till andra sidan. Det gör att det ibland blir svårt att hinna med alla roliga saker som Ask the Experts och Hands on Labs. Att det varje dag är lunch-sessioner gör inte direkt att man får mer tid!&lt;/p&gt;  &lt;p&gt;Nu är det dags för en session av en av mina favorittalare: Clemens Vasters som ska prata om “Building Hybrid Cloud Applications With the Service Bus”. Senare ska jag skriva ett inlägg med länkar till de videor jag kan rekommendera.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Panorama från pre conference workshop&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_zHNvN5eY_4U/SwVygnGY1vI/AAAAAAAAAUc/ObIPIGLZULw/s1600-h/preconf%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="preconf" border="0" alt="preconf" src="http://lh3.ggpht.com/_zHNvN5eY_4U/SwVyhFDNaYI/AAAAAAAAAUg/TWSSXhlROKU/preconf_thumb%5B1%5D.jpg?imgmax=800" width="574" height="248" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Container från ett datacenter till Windows Azure&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_zHNvN5eY_4U/SwVyhmgaMMI/AAAAAAAAAUk/l-YeGqLdV9w/s1600-h/azure%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="azure" border="0" alt="azure" src="http://lh6.ggpht.com/_zHNvN5eY_4U/SwVyh5FhTbI/AAAAAAAAAUo/4incfyDgMIw/azure_thumb%5B2%5D.jpg?imgmax=800" width="580" height="442" /&gt;&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/35731207-6444323616699286197?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6444323616699286197/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6444323616699286197' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6444323616699286197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6444323616699286197'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/11/pdc-2009-pre-conference-workshop.html' title='PDC 2009 – Pre conference workshop'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_zHNvN5eY_4U/SwVyhFDNaYI/AAAAAAAAAUg/TWSSXhlROKU/s72-c/preconf_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7865423279907540479</id><published>2009-11-06T21:55:00.001+01:00</published><updated>2009-11-06T21:55:27.591+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Seminarium'/><title type='text'>Seminarium om Visual Studio 2010</title><content type='html'>&lt;p&gt;Idag körde Connecta och Addskills ett seminarium tillsammans om nyheterna i Visual Studio 2010. Jag höll en övergripande presentation om nyheterna i verktyget, ramverket och språken. Salong 1 på Sergel var platsen för dagen och de 512 platserna var fyllda till bredden. Fantastiskt kul att det var så många som kom!&lt;/p&gt;  &lt;p&gt;Med mig från Connecta var också Hans Sterby och Daniel Karlsson som pratade om F# och Workflow Foundation.&lt;/p&gt;  &lt;p&gt;Allt gick helt enligt planerna, inga demo som kraschade eller någon som tappade tråden.&lt;/p&gt;  &lt;p&gt;Fick många frågor av vad den application launcher jag använde under presentationen heter. Det är RocketDock och finns att ladda ner på: &lt;a title="http://rocketdock.com/" href="http://rocketdock.com/" target="_blank"&gt;http://rocketdock.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Om det är någon av er som läser det här så tar jag gärna feedback på min presentation. Något man hade velat se mer eller mindre av? Ris eller ros?&lt;/p&gt;  &lt;p&gt;Vi kommer även att köra en repris den 22 januari och till den finns det fortfarande platser kvar. Anmäl dig &lt;a href="http://www.addskills.se/nyheter_press/nyheter/Seminarieinbjudan-Nyheterna-i-Visual-Studio-2010/" target="_blank"&gt;här&lt;/a&gt; nu!&lt;/p&gt;  &lt;p&gt;Mvh Björn&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/SvSNPTcZUaI/AAAAAAAAATs/X5RdlAlgvn8/s1600-h/panorama%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="panorama" border="0" alt="panorama" src="http://lh5.ggpht.com/_zHNvN5eY_4U/SvSNP-PBGOI/AAAAAAAAATw/KfTaeFDhmmQ/panorama_thumb%5B2%5D.jpg?imgmax=800" width="846" height="285" /&gt;&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/35731207-7865423279907540479?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7865423279907540479/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7865423279907540479' title='3 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7865423279907540479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7865423279907540479'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/11/seminarium-om-visual-studio-2010.html' title='Seminarium om Visual Studio 2010'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_zHNvN5eY_4U/SvSNP-PBGOI/AAAAAAAAATw/KfTaeFDhmmQ/s72-c/panorama_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1676985893135716102</id><published>2009-10-16T21:50:00.003+02:00</published><updated>2009-10-23T18:09:03.721+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><category scheme='http://www.blogger.com/atom/ns#' term='BCL'/><title type='text'>SortedSet&lt;T&gt; i Visual Studio 2010</title><content type='html'>&lt;p&gt;En grymt bra nyhet i Base Class Library (BCL) i .NET Framework 4.0 är SortedSet&amp;lt;T&amp;gt;. Den ligger i System.Collections.Generic och implementerar funktionalitet som jag många gånger har implementerat själv. Precis som HashSet&amp;lt;T&amp;gt; som var en nyhet i .NET 3.5 erbjudet SortSet möjligheten att skapa en collection som bara innehåller unika element. Skillnaden är att SortedSet också returnerar elementen sorterade.&lt;/p&gt;&lt;p&gt;Det innebär att om man matar in följande i en SortedSet&amp;lt;String&amp;gt;:&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;static void Main(string[] args)&lt;br /&gt;{&lt;br /&gt;    var s = new SortedSet&amp;lt;string&amp;gt;();&lt;br /&gt;    s.Add("Hello");&lt;br /&gt;    s.Add("Visual Studio 2010");&lt;br /&gt;    s.Add("Is");&lt;br /&gt;    s.Add("So");&lt;br /&gt;    s.Add("Cool");&lt;br /&gt;    s.Add("Cool");&lt;br /&gt;    s.Add("Cool");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    foreach (var word in s)&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine(word);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Så blir output:&lt;br /&gt;Cool&lt;br /&gt;Hello&lt;br /&gt;Is&lt;br /&gt;So&lt;br /&gt;Visual Studio 2010&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Algoritmen som ligger bakom sorteringen i collectionen är en self-balancing red-black tree och det har jag inte tänkt ge mig in på att förklara hur det funkar. Det finns det redan &lt;a href="http://en.wikipedia.org/wiki/Red-black_tree" target="_blank"&gt;någon&lt;/a&gt; som gjort så bra ;-)&lt;/p&gt;&lt;p&gt;Add-metoden på både SortetSet och HashSet returnerar true eller false beroende på om det det element som skickades in adderades till collectionen eller inte.&lt;/p&gt;&lt;p&gt;En annan metod som är intressant är GetViewBetween(T lowerValue, T upperValue). Om man exekverar den på ett SortedSet så får man ett subset som innehåller alla element från det som är specificerat som lowerValue till upperValue. Det som är dock inte som man skulle kunna med tanke på namnet att den returnerar alla element som ligger &lt;em&gt;mellan&lt;/em&gt; de två värdena utan den tar även med de värden man har angett.&lt;/p&gt;&lt;pre&gt;&lt;br /&gt;var s = new SortedSet&amp;lt;int&amp;gt;();&lt;br /&gt;s.Add(1);&lt;br /&gt;s.Add(5);&lt;br /&gt;s.Add(5);&lt;br /&gt;s.Add(3);&lt;br /&gt;s.Add(2);&lt;br /&gt;s.Add(9);&lt;br /&gt;s.Add(4);&lt;br /&gt;s.Add(11);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var s2 = s.GetViewBetween(4, 9);&lt;br /&gt;&lt;br /&gt;foreach (var number in s2)&lt;br /&gt;{&lt;br /&gt;    Console.WriteLine(number);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Get då output:&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;9&lt;/pre&gt;&lt;p&gt;Om man försöker lägga till ett element till s2 som är utanför gränsvärdena får man ett ArgumentOutOfRangeException.&lt;/p&gt;&lt;p&gt;Jag ser väldigt många användningsområden för SortedSet och ser väldigt mycket fram emot att få börja använda .NET 4.0!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-1676985893135716102?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1676985893135716102/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1676985893135716102' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1676985893135716102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1676985893135716102'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/10/sortedset-i-visual-studio-2010.html' title='SortedSet&amp;lt;T&amp;gt; i Visual Studio 2010'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1728016619041544413</id><published>2009-10-15T11:17:00.000+02:00</published><updated>2009-10-23T18:09:33.297+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Surface'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><title type='text'>Multi touch i VS2010</title><content type='html'>&lt;p&gt;Touch och multi touch är något som har legat mig varmt om hjärtat senaste året. Det hela började med att vi på Connecta köpte ett Microsoft Surface-bord för snart ett år sedan. Redan då pratade Microsoft om vikten av att börja jobba med och lära sig multi touch och nu ser vi Windows 7 och WPF 4.0 komma med inbyggt stöd för multi touch.&lt;/p&gt; &lt;p&gt;I WPF 4.0 har man lagt till ett antal event till UIElement som rör muti touch. De berörda .NET API:er är baserar på native Win32 API som bara är tillgängliga i Windows 7. UIElement är den basklass som definierar kärnan för visuella kontroller för layout, input och events. De event som finns idag (beta 1 av VS2010) är: ManipulationStarted Event, ManipulationCompleted Event, ManipulationDelta Event, ManipulationInertiaStarting Event och ManipulationBoundaryFeedback Event. Som standard får ett UIElement aldrig händelser rörande Manipulation om inte ManipulationMode är satt till ett annat värde än None. Med hjälp av ManipulationMode kan man styra vilken typ av manipuleringar man ska kunna göra på ett objekt. Det kan t ex vara translatera på X och/eller Y-axeln, rotera, eller skala. &lt;/p&gt; &lt;p&gt;I beta 1 av .NET Framework 4.0 finns eventen för manipulering med men det finns inte några WPF-kontroller som använder sig av dem. I kommande versioner kommer det att man enkelt bara slå på touch-kontroller på t ex sliders eller scrollviewers direkt i XAML.&lt;/p&gt; &lt;p&gt;När man fångar ManipulationDelta på ett Window får man ManipulationDeltaEventArgs. Den kan man sedan använda för att ta reda på vilken förändring som har inträffat. Med metoden GetDeltaManipulation får man ut en System.Windows.Input.Manipulation som innehåller all transformationsdata som fanns när eventet inträffade. Den informationen kan man sedan använda för att utföra translateringar på objektet. Lite komplext men ett kodexempel gör det nog enklare att förstå!&lt;/p&gt; &lt;p&gt;Observera att ManipulationDelta aldrig kommer att exekveras med en vanlig mus utan det måste vara något slags touch device. Med hjälp av ett projekt på CodePlex som heter &lt;a href="http://multitouchvista.codeplex.com/" target="_blank"&gt;Multi-Touch Vista&lt;/a&gt; kan man simulera användandet av flera touchpunkter med vanlig mus eller touch pad.&lt;/p&gt; &lt;p&gt;I xaml-filen lägger jag till en bild i en canvas. Till den kopplar jag en MatrixTransform så att jag sedan kan komma åt den från kod. Jag lägger också till en event handler för ManipulationDelta.&lt;/p&gt;&lt;pre&gt;&amp;lt;Window   x:Class="WpfApplication13.Window1"&lt;br /&gt;        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;br /&gt;        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&lt;br /&gt;        Title="Window1" Height="300" Width="300" &lt;br /&gt;        WindowState="Maximized" ManipulationDelta="Window_ManipulationDelta"&amp;gt;&lt;br /&gt;    &amp;lt;Window.Resources&amp;gt;&lt;br /&gt;        &amp;lt;MatrixTransform x:Key="InitialMatrixTransform"&amp;gt;&lt;br /&gt;            &amp;lt;MatrixTransform.Matrix&amp;gt;&lt;br /&gt;                &amp;lt;Matrix OffsetX="200" OffsetY="200"&amp;gt;&amp;lt;/Matrix&amp;gt;&lt;br /&gt;            &amp;lt;/MatrixTransform.Matrix&amp;gt;&lt;br /&gt;        &amp;lt;/MatrixTransform&amp;gt;&lt;br /&gt;    &amp;lt;/Window.Resources&amp;gt;&lt;br /&gt;    &amp;lt;Canvas&amp;gt;&lt;br /&gt;        &amp;lt;Image Width="100" Source="/WpfApplication13;component/Images/Sonicspree.jpg" ManipulationMode="All" RenderTransform="{StaticResource InitialMatrixTransform}" &amp;gt;&amp;lt;/Image&amp;gt;&lt;br /&gt;    &amp;lt;/Canvas&amp;gt;&lt;br /&gt;&amp;lt;/Window&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;I code behind använder jag ManipulationDelta för att flytta bilden baserat på input:&lt;/p&gt;&lt;pre&gt;private void Window_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)&lt;br /&gt;{&lt;br /&gt;    var delta = e.GetDeltaManipulation(this);&lt;br /&gt;    var image = e.OriginalSource as Image;&lt;br /&gt;    var matrix = ((MatrixTransform)image.RenderTransform).Matrix;&lt;br /&gt;    var originalCenter = new Point(image.ActualWidth / 2, image.ActualHeight / 2);&lt;br /&gt;&lt;br /&gt;    //Translate on the x and y-axis&lt;br /&gt;    matrix.Translate(delta.Translation.X, delta.Translation.Y);&lt;br /&gt;&lt;br /&gt;    //Get the new center point and rotate around that based on the delta&lt;br /&gt;    var center = matrix.Transform(originalCenter);&lt;br /&gt;    matrix.RotateAt(delta.Rotation, center.X, center.Y);&lt;br /&gt;    center = matrix.Transform(originalCenter);&lt;br /&gt;&lt;br /&gt;    //Scale the matrix based on the delta&lt;br /&gt;    matrix.ScaleAt(delta.Scale, delta.Scale, center.X, center.Y);&lt;br /&gt;&lt;br /&gt;    //Apply the new MatrixTransform&lt;br /&gt;    image.RenderTransform = new MatrixTransform(matrix);&lt;br /&gt;&lt;br /&gt;    e.Handled = true;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Notera de två röda prickarna som symboliserar de två möss jag har koppad till den här datorn. Koden i exemplet är baserat på en &lt;a href="http://www.youtube.com/watch?v=0DM7NQJ0NA4" target="_blank"&gt;video&lt;/a&gt; på You Tube som också visar applikationen in action.&lt;/p&gt;&lt;pre&gt;&lt;a href="http://lh3.ggpht.com/_zHNvN5eY_4U/Stg6Orc834I/AAAAAAAAATY/W6bm4k3pDuo/s1600-h/MultiTouchVS2010%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MultiTouchVS2010" border="0" alt="MultiTouchVS2010" src="http://lh3.ggpht.com/_zHNvN5eY_4U/Stg6PGu-QiI/AAAAAAAAATc/_e9Gr_tpTBM/MultiTouchVS2010_thumb%5B3%5D.jpg?imgmax=800" width="850" height="638"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-1728016619041544413?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1728016619041544413/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1728016619041544413' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1728016619041544413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1728016619041544413'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/10/multi-touch-i-vs2010.html' title='Multi touch i VS2010'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_zHNvN5eY_4U/Stg6PGu-QiI/AAAAAAAAATc/_e9Gr_tpTBM/s72-c/MultiTouchVS2010_thumb%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6403467450441899654</id><published>2009-09-07T15:37:00.003+02:00</published><updated>2009-10-23T18:09:33.298+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><title type='text'>Historical debugging</title><content type='html'>&lt;div&gt;En ny feature i Visual Studio 2010 är Historical Debugging. Den funktionen erbjuder oss möjligheten att debugga applikationer som redan har kört. Det vanliga sättet att felsöka en applikation idag är att man sätter ett antal breakpoints och kör sedan sin app för att se om man fastnar eller om det smäller. Det är en procedur som ofta är väldigt tidskrävande.&lt;br /&gt;&lt;br /&gt;Man kan jämföra Historical Debuggin med svarta lådan i ett flygplan. Med Historical Debugging påslaget information om viktiga händelser som har inträffat i applikationer under exekvering. Därifrån kan man sedan gå tillbaka till ett tillstånd när t ex ett exception inträffade eller en LINQ-fråga exekverades mot databasen och återskapa vad som hände vid just den tidpunkten.&lt;br /&gt;&lt;br /&gt;Historical Debugging slås på under Options och man kan där också välja hur mycket information som ska sparas. Antingen bara events eller så väljer man att få hela kakan med events, metoder och parametrar. De tre knapparna under som är disablade i beta 1 visar att man kommer att kunna importera och exportera insamlat data. Det kommer att innebära att man kan exporera en debugginghistorik och dela med sig av den till en annan användare!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zHNvN5eY_4U/SqUM7qcVn4I/AAAAAAAAATE/UXfD1Fzj5gU/s1600-h/historicaldebugging.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5378719549108887426" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_zHNvN5eY_4U/SqUM7qcVn4I/AAAAAAAAATE/UXfD1Fzj5gU/s400/historicaldebugging.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tyvärr ser det ut som att Historical Debugging bara kommer att finnas med som en feature i Developer och Test-versionerna av Visual Studio Team System 2010. Det är tråkigt men förståeligt för att utöka användandet av Team System.&lt;br /&gt;&lt;br /&gt;Efter det att exekveringen av applikationen är klar och data är insamlat kan man välja var i listan man vill ”gå in i” applikationen igen. Därifrån kan man sedan enkelt steppa vidare i koden och se exakt vad som händer. Med Historical Debugging påslaget kommer det också att vara möjligt att stega bakåt vid vanlig debugging.&lt;br /&gt;&lt;br /&gt;Förutom att det finns stöd i Visual Studio kommer det även att finnas stöd i Camano som är en ny test case management-klient. Det innebär att en testare kan köra applikationen i Camano och, direkt från det verktyget, leverera en felrapport till Team Foundation Server. Utvecklaren kan sedan plocka upp den rapporterade buggen, använda data från Historical Debugging och pdb-filer med källkod för att se exakt vad det var testaren såg när felet inträffade. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6403467450441899654?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6403467450441899654/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6403467450441899654' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6403467450441899654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6403467450441899654'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/09/historical-debugging.html' title='Historical debugging'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zHNvN5eY_4U/SqUM7qcVn4I/AAAAAAAAATE/UXfD1Fzj5gU/s72-c/historicaldebugging.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6882552946814595799</id><published>2009-08-24T16:48:00.000+02:00</published><updated>2009-08-24T16:52:11.833+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><category scheme='http://www.blogger.com/atom/ns#' term='reSharper'/><category scheme='http://www.blogger.com/atom/ns#' term='nunit'/><title type='text'>Dags att använda nUnit igen...</title><content type='html'>För ett par dagar sedan började jag jobba med NUnit igen. Sista tiden har jag använt mig av Visual Studios unit testing men nu ska vi använda oss av NUnit i projektet som jag sitter i. Det första jag gjorde var att lägga till tangentbordsgenvägar för att kunna köra respektive debugga det test som är i fokus (CTRL +R, T och CTRL + R + T) samt genväg för att köra alla test i en solution (CTRL + R, A). Can’t live without them! Som tur var så använder jag mig av ReSharper som också har en integrerad test runner i Visual Studio.&lt;br /&gt;&lt;br /&gt;Sedan skapade jag ett nytt class library och la till referens till nunit.framework och konverterade ett par test som var skrivna med Visual Studios testramverk till NUnit.&lt;br /&gt;&lt;br /&gt;En sak som jag alltid har gillat med NUnit är deras Asserts som är mycket mer avancerade än Visual Studios. Det är kanske inte alltid man behöver det men det ökar läsbarheten att kunna skriva:&lt;br /&gt;&lt;br /&gt;Assert.That(expected, Is.EqualTo(actual));&lt;br /&gt;&lt;br /&gt;Istället för:&lt;br /&gt;&lt;br /&gt;Assert.AreEqual(expected, actual);&lt;br /&gt;&lt;br /&gt;Så efter att ha copy/paste:at in mina tester och bara uppdaterat attributen till classen och testmetoderna var det bara att köra.&lt;br /&gt;&lt;br /&gt;Alla test fungerade bra i NUnits egna testrunner men ett av testen misslyckades i ReSharpers integrerade testrunner i Visual Studio. Det test som rapporterades som misslyckat var ett test som hade attributet [ExpectedException]. Det visade sig att ReSharper inte kan hantera det attributet. Istället för att använda ett attribut för att markera att man förväntar sig ett fel från en metod får man använda sig av en annan assert från NUnit:&lt;br /&gt;&lt;br /&gt;var ex = Assert.Throws&lt;someexception&gt;(() =&gt; target.MethodThatWillReturnException());&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6882552946814595799?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6882552946814595799/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6882552946814595799' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6882552946814595799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6882552946814595799'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/08/dags-att-anvanda-nunit-igen.html' title='Dags att använda nUnit igen...'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1999703792993777415</id><published>2009-06-16T08:45:00.001+02:00</published><updated>2009-10-23T18:09:33.298+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><title type='text'>Nyheterna i Visual Studio 2010 Redux</title><content type='html'>Jag skrev ett inlägg om Visual Studio 2010 i samband med att första CTP släpptes i november 2008. Nu när beta 1 funnits tillgänglig ett tag tänkte jag ta upp det igen.&lt;br /&gt;&lt;br /&gt;Initialt tänkte jag fokusera på nyheterna i Visual Studio 2010 och Team Foundation Server 2010 medan nyheterna C# 4.0 får vänta lite…&lt;br /&gt;&lt;br /&gt;Mellan varje release av Visual Studio släpps det ett antal tillägg som varje användare får ladda ner och installera själv. Vi har sett det med tidigare med t ex tilläggen till .NET Framework 3.0 och ASP.NET Ajax. Det är funktioner eller utökningar som först har släppts separat för att sedan inkluderas i nästa release av Visual Studio. Det fortsätter även för Visual Studio 2010 som t ex kommer att inkludera ASP.NET MVC, Windows Azure Tools, F#, P-LINQ och JQuery.&lt;br /&gt;&lt;br /&gt;Parallell utvecklings kommer att bli mycket enklare i Visual Studio 2010. Det inte bara genom nyheter i språken som P-LINQ utan även en hel del nyheter i IDE´n som ska ge ett bättre stöd. Felsökning och analyser med parallell exekvering ska bli också bli enklare.&lt;br /&gt;&lt;br /&gt;Det har länge varit känt att Visual Studio 2010 är omgjord och numera utvecklad i WPF. Detta gör att vi kommer att få se många add-ins till Visual Studio 2010 som antagligen kommer att vara väldigt kreativa. Det kommer också att finnas en hel del nyheter direkt i Visual Studio 2010 där man kommer att använda IDE´n för att göra utvecklare mer produktiva.&lt;br /&gt;&lt;br /&gt;Förutom en hel del nyheter och uppdateringar av Team Foundation Server 2010 så kommer även efterlängtade uppdateringar av Visual Studio Team System 2010 Architecture Edition samt Test Edition. Dessa två roller har varit i fokus för nya funktioner och bland nyheterna finns stöd för UML, nya arkitekturdiagram och ett helt nytt verktyg för att köra tester som ser mycket intressant ut.&lt;br /&gt;&lt;br /&gt;Det här är delar av det som jag tänkte blogga om framöver som rör Visual Studio 2010!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-1999703792993777415?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1999703792993777415/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1999703792993777415' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1999703792993777415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1999703792993777415'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/06/nyheterna-i-visual-studio-2010.html' title='Nyheterna i Visual Studio 2010 Redux'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7147408933582487307</id><published>2009-05-26T20:11:00.004+02:00</published><updated>2009-09-10T16:21:43.166+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Hur spenderar jag min tid online?</title><content type='html'>&lt;p&gt;Jag finns med på en del olika sociala nätverk där mitt mått av agerande skiljer sig lite. Jag skriver på två egna bloggar. Dels den här, där jag skriver lite allmänt som rör min profession, och dels en &lt;a href="http://surfacedeveloper.blogspot.com/"&gt;blogg om utveckling på Microsoft Surface&lt;/a&gt;. Om det är inlägg som handlar om agil systemutveckling så hamnar det istället på Projektbloggen på &lt;a href="http://www.projectplace.se/Kunskapsplatsen/Projektbloggen/Projektbloggen/Tags/Bjorn-Eriksen/"&gt;Projectplace&lt;/a&gt;. Sedan finns jag med på &lt;a href="http://www.linkedin.com/pub/bj%C3%B6rn-eriksen/0/99/480"&gt;LinkedIn&lt;/a&gt;, &lt;a href="http://twitter.com/bjorn_eriksen"&gt;Twitter&lt;/a&gt; och &lt;a href="http://www.facebook.com/home.php?#/profile.php?id=768448011"&gt;Facebook&lt;/a&gt;. Jag har under en tid funderat på vad man ska använda alla dessa kanaler till och känner kanske att det inte ger så mycket att agera på alla. Så när Johan Lindfors twittrade och &lt;a href="http://blogs.msdn.com/johanl/archive/2009/05/24/hur-spenderar-jag-min-tid.aspx"&gt;bloggade&lt;/a&gt; samma fråga så började jag fundera lite mer på allvar&lt;br /&gt;&lt;br /&gt;Mina bloggar är inte så mycket att fundera på. De har alla olika syften och det känns rätt att separera dem. På surfacedeveloper valde jag t ex att skriva alla inlägg på engelska eftersom att jag där ser en potentiellt större skara läsare medan mina inlägg som rör agile hamnar på projektplatsen. Övriga diverse inlägg som det här hamnar på min mer allmänna blogg. Det är ett upplägg som fungerar bra!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;När det sedan gäller de andra tre, LinkedIn, Twitter och Facebook så tänker jag mig att jag har en idé frågan är bara om jag kan genomföra den...&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;LinkedIn.&lt;/strong&gt;&lt;br /&gt;Här är jag inte någon speciellt aktiv användare. Jag skickar sällan meddelanden till andra men svarar om jag får ett skickat till mig. Mitt primära användningsområde för LinkedIn är att hitta kontaktpersoner till nya kontakter. Ett exempel är när jag får en ny rekryteringsansökan så kollar jag gärna upp personen på LinkedIn för att se om det finns någon i mitt kontaktnät som känner personen. Där hittar man också ofta länkar till bloggar eller en mer utförlig anställningshistorik. Jag har inte kommit upp till 100% på min profil och det känns som vanligt att det var ganska enkelt att komma upp till 80% men de sista 20% kostar så mycket extra så vi får se om jag någon gång når 100%.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Facebook&lt;/strong&gt;&lt;br /&gt;Jag kommer inte riktigt ihåg när jag gick med på Facebook eller vem som bjöd in mig men jag har i alla fall varit med ett längre tag. Facebook var kul i början. Jag var aktiv med att göra statusuppdateringar, spela bilspel, svara på quizar osv osv. Dvs sånt som man gör på Facebook. Det hela började med att jag hade några kompisar på min lista men snart så blev mitt nätverk bredare och bredare och nu finns det personer på min lista som jag bara har träffat en gång. Efter ett tag lessnade jag totalt och kan inte längre säga att jag är en aktiv Facebookare. (Update: Sedan jag köpte en IPhone 3GS har jag kommit igång med Facebookandet igen!)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;Twitter&lt;/strong&gt;&lt;br /&gt;Länge var jag mot Twitter. Jag såg ingen som helst mening med att skriva meddelande på 120 tecken eller heller att det skulle ge mig något att läsa så korta meddelanden som andra skrivit. Vad skulle det ha för nytta? Känslan var samma som när SMS kom i mitten av 90-talet. Jag hade väldigt svårt att se hur någon skulle vilja sitta och skriva ett meddelande på en mobiltelefon. Detta trots att jag brukar vara en early adopter! Jag kunde se nyttan i att twittra runt en konferens eller liknande och hade läst twitter feeds både från TechDays och TechEd. Men efter att ha kommit igång så är jag nu fast. Grymt kul helt enklet! Twitter är det jag gillar bäst med Facebook – statusuppdateringar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Men det är också i och med att jag börjat använda Twitter som de olika nätverkens roll börjar visa sig och här är min grand plan.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bloggar&lt;/strong&gt; – Låt står. Som sagt så tycker jag att det fungerar bra som det är nu.&lt;br /&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt; – Låt stå. Inga planer på förändring.&lt;br /&gt;&lt;strong&gt;Facebook&lt;/strong&gt; – Bara personliga vänner och inga jobbkontakter. (Update: Bara personer jag träffat i verkliga livet. Jobbkontakter är alltså helt okej på min Facebook.)&lt;br /&gt;&lt;strong&gt;Twitter&lt;/strong&gt; – Bara jobbkontakter och inte kompisar eller folk som blir för personliga. Ska jag vara helt ärlig så är jag inte intresserad av att följa folk som Twittrar om vad de ska shoppa på vägen hem eller annat privat. Här är jag beredd att göra undantag om det också är undantag att sådana inlägg kommer och personen har något yrkesrelaterat som är intressant att följa. Jag har redan tagit bort personer från min Twitter som jag inte tycker är intressanta.&lt;br /&gt;&lt;br /&gt;För att leva som jag nu lär så måste jag alltså börja rensa i min friends list på Facebook och bland de jag följer på Twitter. Eller egentligen bara Facebook eftersom att min Twitter-lista är ganska kort och redan rensad från någon enstaka som jag la till som jag sedan tyckte var för privat.&lt;br /&gt;&lt;br /&gt;Om någon nu märker att jag plockar bort dem som ”vän” så är det inget personligt utan bara en anledning till att jag behöver fokusera och hantera mitt liv online!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7147408933582487307?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7147408933582487307/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7147408933582487307' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7147408933582487307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7147408933582487307'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/05/hur-spenderar-jag-min-tid-online.html' title='Hur spenderar jag min tid online?'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4408530054882764664</id><published>2009-05-09T00:14:00.003+02:00</published><updated>2009-05-09T00:29:25.317+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Domännamn'/><title type='text'>Domännamn och Windows Azure</title><content type='html'>När man skapar och deployar ett projekt till Windows Azure får man två olika miljöer, Staging och Production. Bägge dessa är tillgängliga via en url. Till Staging är det en relativt krånglig url enligt mallen http://{GUID}.cloudapp.net medan i produktion blir urlen enligt den något enklare mallen http://{projectname}.cloudapp.net. Bägge är åtkomliga så snart den virtuella servern har startat igång och du har fått status Started. Observera första gången man skapar ett nytt projekt kan det fortfarande ta lite tid att komma åt den trots att status är Started.&lt;br /&gt;&lt;br /&gt;Men om man istället vill ha en cool webadress till sin molnapplikation, hur gör man då? Det har den Steve Marx en lösning för på sin blog &lt;a target="_blank" href="http://blog.smarx.com/posts/custom-domain-names-in-windows-azure"&gt;Hello my name is Smarx&lt;/a&gt;. Efter ikväll kan jag också garantera att hans exempel fungerar perfekt. Så för ca 80 SEK har jag nu ett coolt namn till min kommande killer-cloud-application.&lt;br /&gt;&lt;br /&gt;Man registrerar helt enkelt ett domännamn och gör sedan en CNAME-pekning och en Forward från den nya domänen till http://{projectname}.cloudapp.net. Funkar hur bra som helst! Steve Marx visar i sin blogg exakt hur man går tillväga och tipsar om att registrera domänen genom &lt;a target="_blank" href="http://www.godaddy.com/"&gt;godaddy.com&lt;/a&gt;. Det funkar bra men det är otroligt många steg där de försöker sälja på dig alla möjliga varianter av domännamn och tjänster innan man är klar. Men bestäm dig innan och behåll fokus så kommer du till slut till Final Checkout!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4408530054882764664?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4408530054882764664/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4408530054882764664' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4408530054882764664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4408530054882764664'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/05/domannamn-och-windows-azure.html' title='Domännamn och Windows Azure'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6361326270189020002</id><published>2009-05-07T23:51:00.002+02:00</published><updated>2009-05-07T23:58:46.508+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Windows Azure Geo-Location</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;För två veckos sedan hade jag ett seminarium tillsammans med Addskills som handlade om Windows Azure. Allt flöt på mycket bra och jag tror att deltagarna var nöjda. Under två 75-minuters pass pratade jag om Azure Services, Windows Azure, .NET Services, SQL Services och Live Services.&lt;br /&gt;&lt;br /&gt;En sak som jag nämde var att det kommer att finnas möjlighet att styra var i världen ens applikation eller data finns. Att kunna styra geografisk placering är ett krav för många organisationer som t ex har lagliga krav på sig att deras data inte får lämna en viss region. VI kommer antagligen inte att få se datacenter ner på landsnivå men det finns ett planerat på Irland vilket kommer att möjliggöra att behålla data inom EU.&lt;br /&gt;&lt;br /&gt;Möjligheten att styra geografisk placering på WIndows Azure presenterades på MIX09 och förra veckan dök möjligheten upp även för oss användare. Varje applikation placeras i en Affinity Group som sedan knyts till en geografisk placering. I dagsläget finns bara USA Anyware, USA Northwest och USA Northeast.&lt;br /&gt;&lt;br /&gt;Om man redan har en tjänst på Windows Azure hamnar den på USA Anyware och får det härliga namnet &lt;i&gt;Unaffinitized&lt;/i&gt;. Ett ord som jag inte lyckas hitta någon översättning på. Det finns dock inte någon möjlighet att editera en existerande applikation. Jag testade att stänga ner mina tjänster för att få ändra min Geo-location men det finns ingen länk att göra det. När man laddar sidan så visas under en kort tid en Edit-länk men den försvinner sedan och om man klickar på den innan den försvinner får man ett System.InvalidOperationException.&lt;br /&gt;&lt;br /&gt;Allt eftersom att nya datacenter kommer online så kommer det att finnas fler möjligheter att placera sina applikationer.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6361326270189020002?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6361326270189020002/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6361326270189020002' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6361326270189020002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6361326270189020002'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/05/windows-azure-geo-location.html' title='Windows Azure Geo-Location'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-863319711192907062</id><published>2009-03-16T23:49:00.000+01:00</published><updated>2009-03-16T23:51:07.054+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferens'/><title type='text'>Dags för TechDays!</title><content type='html'>&lt;p&gt;Imorgon är det dags för Microsofts konferens TechDays i Västerås. Jag och Pelle Johansson kommer att köra en session imorgon som heter ”Rundra gränssnitt i en fyrkantig värld” som handlar om hur man kan använda WPF när man bygger addins till Office. Ikväll var vi på tech-check i hörsalen som vi blivit tilldelade. Inget var klart men det är några sessioner innan oss imorgon så det löser sig nog. Hörsalen för övrigt den näst största salen på konferensen och jag tror att den tar ca 150 personer. Vi har hård konkurrens av andra intressanta sessioner som behandlar nyheterna i VS2010 Team System med Magnus Juvas, Modelling in Oslo med Johan Lindfors och Alan Smith, ASP.NET 4.0 med Scott Galloway från ASP.NET teamet i Redmond plus några till. Men med 1300 deltagare så finns det några att dela på.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Just nu sitter vi på Pelles hotellrum i Västerås och slipar på presentationen. Ska bli skönt att köra under första dagen så att man får möjlighet att ta det lugnt och skönt imorgonkväll!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-863319711192907062?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/863319711192907062/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=863319711192907062' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/863319711192907062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/863319711192907062'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/03/dags-for-techdays.html' title='Dags för TechDays!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5782322894581504196</id><published>2009-02-25T09:30:00.000+01:00</published><updated>2009-02-25T09:32:32.754+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Intervju'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Surface'/><title type='text'>Intervjuad på MSDN Radio</title><content type='html'>Förra veckan intervjuades jag på MSDN Radio. Det var Dag König på Microsoft som intervjuade mig om Microsoft Surface. Vi pratade om Surface i allmänhet, utveckling på Surface och vad vi på Connecta har för planer med vårt bord.&lt;br /&gt;&lt;br /&gt;Intervjun är ca 20 minuter och börjar 27 minuter in i programmet. Mer om Surface hittar ni på min andra blog: &lt;a target="_blank" href="http://surfacedeveloper.blogspot.com"&gt;http://surfacedeveloper.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5782322894581504196?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5782322894581504196/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5782322894581504196' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5782322894581504196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5782322894581504196'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/02/intervjuad-pa-msdn-radio.html' title='Intervjuad på MSDN Radio'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8983592912493465364</id><published>2009-01-15T15:58:00.002+01:00</published><updated>2009-01-15T16:03:05.224+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Scrum i Praktiken</title><content type='html'>Igår kom mitt första inlägg på &lt;a target="_blank" href="http://www.projectplace.se/Kunskapsplatsen/Projektbloggen/"&gt;Projektbloggen&lt;/a&gt; upp. Det är en omskrivning av en artikel jag skrev 2007.&lt;br /&gt;&lt;br /&gt;---------------------------------------------------&lt;br /&gt;Scrum sägs vara en enkel metod för att hantera komplexa projekt. Det stämmer väldigt bra. Grunderna i Scrum är enkla att beskriva och enkla att förstå. Svårigheten är kanske att veta hur man ska använda den i ett verkligt projekt. Hur använder man Scrum i en organisation som annars kanske jobbar enligt vattenfallsmetoden? Hur anpassar man sig till en organisation som har en fungerande releasehantering enligt t.ex. ITIL?&lt;br /&gt;&lt;br /&gt;En del i enkelheten i Scrum är att det bara finns tre olika roller: Scrum master, produktägare och utvecklare.&lt;br /&gt;&lt;br /&gt;• Scrum mastern ansvarar för att processen följs och agerar mentor eller coach till teamet och produktägaren.&lt;br /&gt;• Produktägaren är den person som prioriterar kraven efter affärsvärde och styr vad som ska utvecklas i produkten eller systemet. &lt;br /&gt;• Utvecklare är medlemmarna i teamet som ansvarar för att leverera. Det spelar ingen roll om din expertis är inom programmering, arkitektur eller test, i Scrum benämns du ändå som utvecklare.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sprintar&lt;/strong&gt; &lt;br /&gt;All utveckling inom Scrum sker inkrementellt i iterationer som kallas för sprintar. Längden på en sprint är individuell men mellan 14 och 30 dagar. I början av projektet kan man experimentera med olika sprintlängder. Det är dock viktigt att sedan bestämma sig och hålla sig till samma sprintlängd. Anledning till att jag tycker att man ska hålla en given sprintlängd är för att man vill ge teamet en känsla över hur långt man ska ha kommit efter en viss tid in i sprinten. Det underlättar också när man estimerar då man enklare kan använda sig av teamets hastighet.&lt;br /&gt; &lt;br /&gt;Den första dagen i en sprint spenderar teamet tillsammans med produktägare och Scrum master för att komma fram till vad teamet ska leverera när sprinten är slut. Dagen är uppdelad på två möten, ett där teamet och produktägaren förhandlar om innehållet och ett där teamet tidsuppskattar och bryter ned kraven till uppgifter. Efter dag ett lämnar Scrum över kontrollen till teamet och kräver bara att en gång per dag få status om hur projektet går. Detta sker genom ett dagligt möte som varar max 15 minuter där teamet lämnar status till varandra om hur arbetet fortskrider.&lt;br /&gt; &lt;br /&gt;Nu ska teamet börja jobba. Klockan tickar… Bara 29 dagar kvar till en potentiellt levererbar produkt ska vara klar. Vad ska vi göra nu? Hur ska vi kunna leverera den kvalitet som förväntas? Hur ska vi kunna testa den här funktionen som har beroende mot andra externa system som vi inte har tillgång till? Frågorna hopar sig och som sagt… tick tack, tick tack...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fokus och ostördhet&lt;/strong&gt;&lt;br /&gt;I det här läget är det många som tar hjälp av eXtreme Programming för att t.ex. få till automatiserade byggen, enhetstester och kontinuerlig integrering. Scrum säger väldigt lite om vad som händer i sprinten, utan betonar att teamet ska lämnas ostört och få möjlighet att fokusera på leveransen. Scrum och XP fungerar väldigt bra tillsammans även om XP i sig är en helt komplett metod. Det som skiljer XP från många andra agila metoder är att den ger väldigt många rekomendationer till vad teamet kan göra under en iternation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Utbildningar&lt;/strong&gt;&lt;br /&gt;På marknaden idag finns det en del utbildningar som riktar sig mot Scrum masters men få som riktar sig mot utvecklare i ett Scrum-projekt. Då menar jag inte själva utvecklingen i C#, VB.NET eller Java, utan snarare vad man kan göra för att förbättra kvaliteten och öka produktiviteten i leveranserna. För just produktivitet betonas väldigt tydligt i Scrum.&lt;br /&gt;Ett exemple på en sådan utbildning är Scrum i Praktiken på Addskills. Den kursen riktar in sig mot just teammedlemmar i ett Scrum-projekt. Första dagen handlar om Scrum och om estimering och andra dagen handlar om practises från XP.&lt;br /&gt;&lt;br /&gt;Själv gick jag min Scrum Master-utbildning på Citerus i Uppsala med Tobias Fors och Mikael Lundgren och det var en helt fantastisk kurs som jag varmt kan rekomendera.&lt;br /&gt;&lt;br /&gt;Någon som har gått eller sett någon annan utbildning i Scrum som inte är någon av de officiella Certified Scrum *-utbildningar?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8983592912493465364?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8983592912493465364/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8983592912493465364' title='3 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8983592912493465364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8983592912493465364'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/01/scrum-i-praktiken.html' title='Scrum i Praktiken'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6989217842647850699</id><published>2009-01-14T11:17:00.003+01:00</published><updated>2009-01-14T11:23:31.039+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Surface'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Ny blog!</title><content type='html'>För några dagar sedan skapade jag en ny blog. Måste också säga att blogger.com är helt lysande!&lt;br /&gt;&lt;br /&gt;Den nya bloggen heter &lt;a target="_blank" href="http://surfacedeveloper.blogspot.com/"&gt;Surface Developer&lt;/a&gt;. Vad den kommer att handla om känns överflödigt att berätta!&lt;br /&gt;&lt;br /&gt;Jag har valt att skriva Surface Developer på engelska av den anledningen att det känns som att det här kan finnas en internationell skara läsare.&lt;br /&gt;&lt;br /&gt;Mina första inlägg har handlat om problemen att få Surface SDK´n att fungera på Windows 7 men nu är det klart!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6989217842647850699?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6989217842647850699/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6989217842647850699' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6989217842647850699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6989217842647850699'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/01/ny-blog.html' title='Ny blog!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8494314054130679177</id><published>2009-01-12T20:10:00.004+01:00</published><updated>2009-01-12T20:19:48.889+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Dags för Windows 7</title><content type='html'>I helgen laddade jag ner Windows 7 och installerade på min bärbara dator. Först gav jag mig på en uppgradering men eftersom att det är Windows 7 Ultimate och jag bara har Windows Vista Enterprise så fungerade det inte. Full install var dock väldigt smidig. Bara att mounta imagen och sedan installera direkt från Vista. Hela gamla innehållet på C-disken sparades i en katalog som döptes till Windows.old.&lt;br /&gt;&lt;br /&gt;Sedan var det dags för installation av Office Ultimate och då dök det hittills enda problemet upp. Sedan länge har jag haft Daemon Tools som favoritprogram för simulering av cd-drive men den installationen fungerade inte. Datorn hamnade bara i en oändlig omstarts-loop…&lt;br /&gt;&lt;br /&gt;Efter en stunds letande hittade jag en rekommendation att använda &lt;a target="_blank" href="http://www.poweriso.com"&gt;PowerISO&lt;/a&gt; tillsammans med Windows 7 och det visade sig fungera alldeles utmärkt. Än så länge har jag inte sett några begränsningar i den gratisversion som jag laddade ner.&lt;br /&gt;&lt;br /&gt;Installationen av Office funkade perfekt. Jobbets version av F-secure, anslutning till domänen på och konfigurering av Outlook fungerade också smidigt.&lt;br /&gt;&lt;br /&gt;Beta 1 av Windows 7 finns publikt tillgänglig för &lt;a target="_blank" href="http://www.microsoft.com/windows/windows-7/beta-download.aspx"&gt;nerladdning&lt;/a&gt; samt genom ett msdn-abonnemang. Den helt publika länken kommer att finnas tillgänglig tills de kommer upp till 2,5 miljoner nerladdningar och installationen slutar fungera efter den 1 augusti 2009. Men innan dess har ju i alla fall beta 2 kommit så då får man ta resan en gång till.&lt;br /&gt;&lt;br /&gt;Hittils så är känslan av Windows 7 bara positiv. Den känns mycket smidigare och snabbare än Vista. Har faktiskt otroligt liten koll på vad som är nytt men det lär visa sig...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8494314054130679177?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8494314054130679177/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8494314054130679177' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8494314054130679177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8494314054130679177'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/01/dags-fr-windows-7.html' title='Dags för Windows 7'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5638348959175291097</id><published>2009-01-08T12:35:00.002+01:00</published><updated>2009-01-08T12:39:05.169+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Surface'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Tillbaka!</title><content type='html'>Första dagen tillbaka efter en ganska lång ledighet över julen vilket har varit otroligt skönt. Omställd till att äta frukost kl 11 var det lite tungt att kliva upp tidigt imorse och försöka få upp barnen i tid till dagis och annat. Men det funkade till slut!&lt;br /&gt;&lt;br /&gt;Har medvetet varit så frånkopplad som möjligt under ledigheten och fick börja dagen med att skriva upp en lista med allt som måste göras. Enklaste sättet att ta reda på det är att gå igenom senaste månadens mail och lägga. Tyvärr funkar jag så att det som inte finns i ett mail, det finns inte. Så drygt 800 mail senare känner jag mig lite mera uppdaterad. (nej, jag har inte läst alla idag…)&lt;br /&gt;&lt;br /&gt;På listan hamnade saker som att planera lite utbildningar, teamkonferens, skriva till blogginlägg, avsluta personer som tyvärr valt att sluta på Connecta och planera för såna som börjar nästa vecka.&lt;br /&gt;&lt;br /&gt;Det verkar dock som att andra har jobbat medan jag varit ledig för det har hänt saker sista veckorna!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;&lt;br /&gt;I ett av mina många mail fanns inbjudningskoderna till Windows Azure Services så nu ska det bli kul att testa det på riktigt också. Passande nog har min artikel om Windows Azure, som jag skrivit för Addskills, också publicerats. Den finns med i &lt;a target="_blank" href="http://www.addskills.se/boka-och-bestall/kurskatalog/"&gt;årets kurskatalog&lt;/a&gt;. Där finns också min kollega Hans Sterby med som har skrivit en artikel om F#.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Månadens profil på MSDN&lt;/strong&gt;&lt;br /&gt;I höstas blev jag intervjuad av Johan Lindfors på Microsoft vilket resulterade i att jag blev &lt;a target="_blank" href="http://msdn.microsoft.com/sv-se/dd345822.aspx"&gt;månadens profil i december&lt;/a&gt;. Grymt kul!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TechDays&lt;/strong&gt;&lt;br /&gt;Den 17 och 18 mars kommer Microsofts konferens TechDays att hållas i Västerås och under julledigheten har &lt;a target="_blank" href="http://www.microsoft.com/sverige/techdays09/sv/about.aspx"&gt;siten&lt;/a&gt; fått ett uppdaterat innehåll. Nu finns en hel del av sessionerna och talarna med. Från Connecta får ni hålla utkik efter fyra talare på tre sessioner:&lt;br /&gt;• Varför F# och vad är funktionell programmering? – Hans Sterby&lt;br /&gt;• SharePoint Workflows, experiences from the field – Daniel Karlsson (med Mattias Lindberg från Microsoft)&lt;br /&gt;• Runda gränssnitt i en fyrkantig värld - Hur man kan kombinera styrkan i WPF för rika gränssnitt med Office 2007 – Pelle Johansson &amp; Björn Eriksen&lt;br /&gt;Missa inte chansen att delta i vad jag tror kommer att bli en riktigt bra konferens på (nästan) hemmaplan.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Projectplace&lt;/strong&gt;&lt;br /&gt;Från januari kommer jag att börja skriva inlägg på &lt;a target="_blank" href="http://www.projectplace.se"&gt;Projcetplace&lt;/a&gt; blogg. Projectplace har funnits sedan 1998 och erbjuder ett webbaserat projektverktyg. Det är den webbplats jag brukar referera till när man säger att Software As A Service är något nytt. Där kommer jag att skriva om allt möjligt som har med agile och Scrum att göra.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Microsoft Surface!&lt;/strong&gt;&lt;br /&gt;Nu är det äntligen klart. Vi kommer att beställa ett Surface-bord till Connecta! Mycket mer om detta senare!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5638348959175291097?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5638348959175291097/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5638348959175291097' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5638348959175291097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5638348959175291097'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2009/01/tillbaka.html' title='Tillbaka!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7684327966708547748</id><published>2008-11-29T17:47:00.001+01:00</published><updated>2008-11-29T17:47:40.273+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><title type='text'>Rendering i WPF</title><content type='html'>&lt;p&gt;N&amp;#228;r det g&amp;#228;ller rendering av grafik i WPF pratar man om att den sker i olika lager, eller tiers. Ett tier definieras av vilka m&amp;#246;jligheter och vilken prestanda grafikh&amp;#229;rdvaran har p&amp;#229; den dator som k&amp;#246;r applikationen och desto h&amp;#246;gre tier man k&amp;#246;r p&amp;#229; desto b&amp;#228;ttre prestanda f&amp;#229;r man. WPF har tre olika Tiers.&lt;/p&gt;  &lt;p&gt;Tier 0: P&amp;#229; tier 0 har man ingen h&amp;#229;rdvaruacceleration utan all rendering utf&amp;#246;rs av mjukvaran och exekveras p&amp;#229; datorns CPU. Man hamnar p&amp;#229; tier 0 om man har en DirectX-version l&amp;#228;gre &amp;#228;n 7.0.&lt;/p&gt;  &lt;p&gt;Tier 1: P&amp;#229; tier 1 har man delvis tillg&amp;#229;ng till h&amp;#229;rdvaruacceleration. Minnet p&amp;#229; grafikkortet m&amp;#229;ste vara +30MB och versionen av DirectX &amp;#228;r st&amp;#246;rre &amp;#228;n 7.0 och mindre &amp;#228;n 9.0.&lt;/p&gt;  &lt;p&gt;Tier 2: H&amp;#228;r har man h&amp;#229;rdvaruacceleration p&amp;#229; alla element som har st&amp;#246;d f&amp;#246;r h&amp;#229;rdvarurendering. T ex s&amp;#229; d&amp;#246;k det upp st&amp;#246;d f&amp;#246;r h&amp;#229;rdvarurendering av bitmap effects som Blur och DropShadow. F&amp;#246;r att komma upp i tier 2 m&amp;#229;ste man ha DirectX-version som &amp;#228;r h&amp;#246;gre &amp;#228;n 9.0, minst 120MB grafikminne samt lite andra grejer.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;DirectX&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Den senaste version av DirectX f&amp;#246;r XP &amp;#228;r nio och Microsoft har sagt att de bara kommer att sl&amp;#228;ppa DirectX 10 f&amp;#246;r Vista (och senare). Det finns en version av DirectX 10 f&amp;#246;r XP men den &amp;#228;r inte fr&amp;#229;n Microsoft. Vilken version som k&amp;#246;rs av DirectX f&amp;#229;r man enklast fram genom att k&amp;#246;ra dxdiag fr&amp;#229;n en commandopromt.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;RenderCapability&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;F&amp;#246;r att ta reda p&amp;#229; vilket tier man exekverar p&amp;#229; kan man anv&amp;#228;nda sig av RenderCapability.Tier. Den returnerar en Int32 som man f&amp;#229;r g&amp;#246;ra en right-shift-operation p&amp;#229; f&amp;#246;r att f&amp;#229; reda p&amp;#229; vilket tier den motsvarar.&lt;/p&gt;  &lt;p&gt;RenderCapability.Tier returnerar f&amp;#246;ljande f&amp;#246;r respektive lager:&lt;/p&gt;  &lt;p&gt;Tier 0: 0&lt;/p&gt;  &lt;p&gt;Tier 1: 65536&lt;/p&gt;  &lt;p&gt;Tier 2: 131072&lt;/p&gt;  &lt;p&gt;och koden f&amp;#246;r att g&amp;#246;ra en right-shift &amp;#228;r:&lt;/p&gt;  &lt;pre&gt;var tier = (RenderCapability.Tier &amp;gt;&amp;gt; 16).ToString();&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Microsoft har en bra beskrivning av vad som skiljer de olika lagren p&amp;#229; &lt;a href="http://msdn.microsoft.com/en-us/library/ms742196.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms742196.aspx&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/35731207-7684327966708547748?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7684327966708547748/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7684327966708547748' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7684327966708547748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7684327966708547748'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/rendering-i-wpf.html' title='Rendering i WPF'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-78450517177552834</id><published>2008-11-21T07:43:00.001+01:00</published><updated>2008-11-21T07:43:54.751+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Parallel Extensions'/><title type='text'>Parallellisering</title><content type='html'>&lt;p&gt;Det &amp;#228;r inte direkt n&amp;#229;gon nyhet att processorutvecklingen den senaste tiden g&amp;#229;r mot fler k&amp;#228;rnor ist&amp;#228;llet f&amp;#246;r snabbare processer. Intels snabbaste processor f&amp;#246;r desktop ligger idag p&amp;#229; 3,2GHz och har fyra k&amp;#228;rnor. Tidigare har man kunnat f&amp;#246;rlita sig p&amp;#229; &amp;#8221;the quake optimization rule&amp;#8221; men det kommer inte att funka l&amp;#228;ngre. F&amp;#246;r att skriva applikationer som drar nytta av processorerna m&amp;#229;ste vi som utvecklare ge oss in i parallellisering. Det kommer ocks&amp;#229; att komma st&amp;#246;d f&amp;#246;r parallellisering i ramverket genom Parallel Extensions. P&amp;#229; PDC tidigare i &amp;#229;r var det inte mindre &amp;#228;n nio sessioner om parallel programming.&lt;/p&gt;  &lt;p&gt;Teamet p&amp;#229; Microsoft som jobbar med fr&amp;#229;gorna har en &lt;a href="http://blogs.msdn.com/pfxteam/" target="_blank"&gt;blog&lt;/a&gt; och en site med gott om &lt;a href="http://msdn.microsoft.com/sv-se/concurrency/default(en-us).aspx" target="_blank"&gt;information&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Om det &amp;#228;r n&amp;#229;gon som undrar vad &amp;#8221;the quake optimization rule&amp;#8221; &amp;#228;r s&amp;#229; &amp;#228;r det ett utryck jag h&amp;#246;rde Ted Neward s&amp;#228;ga p&amp;#229; &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=377" target="_blank"&gt;.NET Rocks&lt;/a&gt;. T&amp;#228;nk dig att n&amp;#229;gon s&amp;#228;ger till dig att din applikation g&amp;#229;r f&amp;#246;r sakta. Du tar en vecka p&amp;#229; dig och kollar igenom koden och sedan s&amp;#228;ger du att du beh&amp;#246;ver ca 18 m&amp;#229;nader p&amp;#229; dig f&amp;#246;r att dubbla prestanda. Du f&amp;#229;r godk&amp;#228;nt p&amp;#229; projektet och kan sedan g&amp;#229; hem och spela Quake i 18 m&amp;#229;nader och v&amp;#228;nta p&amp;#229; n&amp;#228;sta generations processor.&lt;/p&gt;  &lt;p&gt;Det h&amp;#228;r baserar p&amp;#229; Mores lag men det kommer inte att fungera l&amp;#228;ngre om vi inte har applikationer som drar nytta av alla dessa k&amp;#228;rnor.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-78450517177552834?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/78450517177552834/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=78450517177552834' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/78450517177552834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/78450517177552834'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/parallellisering.html' title='Parallellisering'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-736668888050585679</id><published>2008-11-11T00:51:00.004+01:00</published><updated>2009-10-23T18:09:33.299+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='VIsual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='VS2010'/><title type='text'>Nyheter i Visual Studio 2010</title><content type='html'>&lt;p&gt;Idag efter Keynote på TechEd blev jag lite nyfiken på att labba lite med Visual Studio 2010. Jason Zander visa på lite nyheter som jag tänkte kolla in. Så ikväll när jag kom till hotellrummet laddade jag in den CTP av Visual Studio 2010 som finns att ladda ner och här är lite grejer som jag hittade:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;När man ska skapa ett nytt projekt i VS2008 så ligger alla templates för Visual Basic på den lite undanskymda platsen Other Languages. Nu har den flyttats upp och ligger bredvid C#. En liten förändring men ack så viktigt för att VB-utvecklarna ska känna sig lika viktiga.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Implicit Line Continuation. Jason visade lite vb-kod idag och visade då hur man kunde plocka bort Line Continuation-tecknet. När man läser på så visar det sig att man inte längre behöver använda sig av det för många, vanligen förekommande, fraser. Dvs det går inte alltid att ta bort det. Ett exempel när man inte längre behöver det är i LINQ. Så när man tidigare fick skriva:   &lt;br /&gt;   &lt;br /&gt;Dim procs = From p In Process.GetProcesses() _&lt;br /&gt;                    Where p.ProcessName.StartsWith("s") _&lt;br /&gt;                    Select p&lt;br /&gt;&lt;br /&gt;kan man nu helt enkelt ta bort de tecknet på varje rad.       &lt;br /&gt;&lt;br /&gt;Dim procs = From p In Process.GetProcesses()&lt;br /&gt;                    Where p.ProcessName.StartsWith("s")&lt;br /&gt;                    Select p&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;VB får nu också en del som kom i C# 3.0 som Auto Implemented Properties och Collection Initializers.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Den stora nyheten i C# är ju så klart möjligheten att hantera dynamiska typer men mer om det en annan gång.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;En nyhet i Visual Studio är att man kan generera klasser, metoder och properties direkt från kod. Det innebär att man först kan skapa ett unit test och där skapa en instans av ett objekt som inte finns (ännu). Sedan använda sig av den smart tag som dyker upp och väljer att generera den klassen. Man får då upp en dialogruta där man får välja i vilket projekt den ska skapas och vilken synlighet den ska ha. En bug här är dock att om man har sitt testprojekt och sin klass som testas i olika namespace så kommer det genererade klassen att hamna i fel namespace. För er som använder er av ReSharper så är det här så klart ingen nyhet ;-)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;En annan nyhet i Visual Studio är de verktyg som finns för att lätta få en överblick över ett projekt. T ex finns det en funktion som kallas Architecture Explorer. Med hjälp av den får man en överblick över hela sitt projekt med alla referenser och kan använda det diagrammet för att navigera i sin lösning. Bilden nedan visar ett AssemblyDiagram. De olika pilarna visar på var det finns beroenden och bredare pilar betyder ett större beroende.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zHNvN5eY_4U/SRjKdGixHII/AAAAAAAAAJQ/KVoxiDQH5n0/s1600-h/AssemblyDiagram.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 800px;" src="http://4.bp.blogspot.com/_zHNvN5eY_4U/SRjKdGixHII/AAAAAAAAAJQ/KVoxiDQH5n0/s400/AssemblyDiagram.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5267182365531249794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Jag tror att den här typen av diagram kommer att bli väldigt bra verktyg framöver just för att få en bättre överblick över ett projekt. Jag skulle kunna tänka mig att ladda in ett existerande projekt bara för att få ut ett sådant diagram för att t ex använda i en dokumentation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-736668888050585679?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/736668888050585679/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=736668888050585679' title='6 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/736668888050585679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/736668888050585679'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/nyheter-i-visual-studio-2010.html' title='Nyheter i Visual Studio 2010'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zHNvN5eY_4U/SRjKdGixHII/AAAAAAAAAJQ/KVoxiDQH5n0/s72-c/AssemblyDiagram.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4991855325214379420</id><published>2008-11-10T11:51:00.005+01:00</published><updated>2008-11-10T22:54:45.006+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cert'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>Certified at TechEd</title><content type='html'>Nytt för i år är att man kan skriva cert på TechEd. Jag vet att de hade den möjligheten för en massa år sedan men de senaste åren har de inte haft det. Nu finns det dock en del av labb-arean där man kan signa upp sig för att skriva cert. Så jag anmälde mig igår för att ta det fruktade &lt;a href="http://www.microsoft.com/learning/en/us/Exams/70-536.aspx" target="_blank"&gt;70-536&lt;/a&gt; .NET Framework - Application Development Foundation. Jag var så nöjd att jag hade en promotion-kod som gav mig 25% rabatt tills en annan MCT sa att man som MCT har 45% rabatt på alla cert, alltid. Det kan ju vara bra att veta till nästa gång.&lt;br /&gt;&lt;br /&gt;Jag har förberett mig ganska länge, läst, sett den en-timmes &lt;a href="https://mcp.microsoft.com/mcp/multimedia/livemeetings/06112008.38/start.htm" target="_blank"&gt;"cram session"&lt;/a&gt; som finns tillgänglig online och labbat och googlat en hel del. Jag tycker att det brukar funka rätt bra om man kollar på Skills Measured och sedan läser på och labbar om de olika delarna. När jag gick igenom alla frågor så trodde jag att jag skulle hamna runt 800 poäng men jag lyckades skriva 982! Tror bara jag hade en fråga fel.&lt;br /&gt;&lt;br /&gt;Done that, been there, got the t-shirt... Den här gången var det en t-shirt med texten Certified at TechEd Developers Barcelona.&lt;br /&gt;&lt;br /&gt;Så nu är det dags för lunch och sedan är det Keynote med Jason Zander.&lt;br /&gt;&lt;br /&gt;Ja just det... nu ska &lt;a href="http://bjorneriksen.blogspot.com/2008/11/p-vg-till-teched.html" target="_blank"&gt;parentesen&lt;/a&gt; bort. Hasse är på väg hit så från imorgon är vi full styrka på plats.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4991855325214379420?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4991855325214379420/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4991855325214379420' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4991855325214379420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4991855325214379420'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/certified-at-teched.html' title='Certified at TechEd'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4448256557445241361</id><published>2008-11-09T13:35:00.003+01:00</published><updated>2008-11-09T13:43:53.306+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>Stuck in SharePoint-land!</title><content type='html'>När det gäller labbarna på TechEd så blev det SharePoint i år igen. Så nu har jag ca 40 olika labbar som jag ska handleda under veckan och vid flera pass är jag ensammen på 28 platser... Kan bli en utmaning! Jag hade önskat dubbla pass på måndag morgon men fich istället dubbla pass på måndag kväll. Annars passar mitt schema in med de sessioner jag vill se.&lt;br /&gt;&lt;br /&gt;Det var en del nya labbar, bla annat en om hur man skapar Silverlight 2.0 Webparts i SharePoint som var riktigt bra. Det var en del fel i materialet som vanligt och hela labben gick inte att slutföra. Jag fattar inte vad de som korrekturläser och kollar labbarna håller på med.&lt;br /&gt;&lt;br /&gt;Som alltid är allt väldigt välordnat och infrastrukturen fungerar felfritt.&lt;br /&gt;&lt;br /&gt;Som jag skrev i ett tidigare inlägg så verkar TechEd EMEA lite nerprioriterat i år och det märks också en del konstnadsbesparingar. T ex så får vi som jobbar här fått en tom väska. Det brukar annars vara fyllt med goodies och det ryktas om att lunchen vid två av dagarna bara är en lite lunch-påse istället för den buffé som normalt dukas upp.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4448256557445241361?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4448256557445241361/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4448256557445241361' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4448256557445241361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4448256557445241361'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/stuck-in-sharepoint-land.html' title='Stuck in SharePoint-land!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6949585260222247791</id><published>2008-11-08T21:25:00.004+01:00</published><updated>2008-11-08T21:48:18.862+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>På väg till TechEd!</title><content type='html'>Sitter nu på Arlanda på väg till TechEd i Barcelona. Det blir fjärde i ordningen, en i Amsterdam -99 och nu för tredje året i rad i Barcelona. Tyvärr så kommer circus-TechEd att flytta till Berlin från 2009... Även om innehållet är det viktiga så går det inte att komma ifrån att 20 grader i november, tapas och FC Barcelona höjer stämningen på konferensen en aning!&lt;br /&gt;&lt;br /&gt;Det känns som att årets TechEd har kommit lite i skuggan av PDC och att alla announcements redan är gjorda så det ska bli spännande att se vad de har att komma med på Keynote på måndag.&lt;br /&gt;&lt;br /&gt;Årets uppställning från Connecta består av undertecknad, Magnus Hjelmqvist och Daniel Joelsson. Magnus kommer att fokusera på Microsoft Dynamics och allt som har med IT-driven affärsutveckling medan Daniel kommer att fokusera på sessionerna om arkitektur, Entity Framework, Visual Studio 2010, LINQ och C#. Själv kommer jag att försöka se lite av Best of PDC, en hel del om WPF och säkerligen några arkitekturdragningar. Har också hört rykten om att Mikael Deurell ska sjunga på scen under Tess Ferrandez dragning och det får man ju inte missa.&lt;br /&gt;&lt;br /&gt;Tyvärr kunde min kollega Hans Sterby inte följa med i år. Han var uttagen till att jobba i labbarean men tack vare det helt rätta beslutet att prioritera familjen så blir han kvar hemma.&lt;br /&gt;&lt;br /&gt;I år kommer ni att känna igen oss från Connecta genom våra fina tröjor (om jag nu får de andra att använda dem). Hasses fick bli i parentes eftersom att han inte är med...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zHNvN5eY_4U/SRX6bB3pgMI/AAAAAAAAAJI/1-H9fAVWHQI/s1600-h/tshirts.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 600px;" src="http://1.bp.blogspot.com/_zHNvN5eY_4U/SRX6bB3pgMI/AAAAAAAAAJI/1-H9fAVWHQI/s400/tshirts.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5266390681544917186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Veckan kommer att bli ganska fullpackad. Det börjar med labb-genomgång imorgon kl 09.00 då jag också får tilldelat vilka pass jag får samt vilka labbar jag kommer att jobba med. Förra året var det SharePoint som gällde men i år hoppas jag på WPF eller ADO.NET. På tisdag kväll är det Architect Chillout Session med Mikael Deurell och på onsdag är det Country Drinks.&lt;br /&gt;&lt;br /&gt;På torsdag kommer min sambo ner och spenderar helgen tillsammans med mig för att sedan åka hem på söndag. Jag stannar dock kvar och deltar i Visual Studio Team System Partner Summit från söndag till tisdag. Det kommer att bli en liten konferens för de partners till Microsoft som är med i Team System Inner Circle och kommer att ha talare som Sam Guckenheimer, Brian Harry och Ivar Jacobson.&lt;br /&gt;&lt;br /&gt;Det kommer att bli tio otroligt spännande och inspirerande dagar men oj oj vad jag kommer att sakna mina barn!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6949585260222247791?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6949585260222247791/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6949585260222247791' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6949585260222247791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6949585260222247791'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/11/p-vg-till-teched.html' title='På väg till TechEd!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zHNvN5eY_4U/SRX6bB3pgMI/AAAAAAAAAJI/1-H9fAVWHQI/s72-c/tshirts.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-1478756165882763627</id><published>2008-10-31T23:51:00.009+01:00</published><updated>2008-11-01T01:19:49.880+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Konfiguration av Cloud Services-projekt</title><content type='html'>&lt;div&gt;Förutom den vanliga web.config så har man också tillgång till två andra config filer i ett projekt av typen Web Cloud Service. Dessa heter &lt;em&gt;ServiceConfiguration.cscfg&lt;/em&gt; samt &lt;em&gt;ServiceDefinition.csdef&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zHNvN5eY_4U/SQuO0xnHUSI/AAAAAAAAAIQ/f8jKU9ky9xs/s1600-h/ServicesConfiguration.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263457626834293026" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_zHNvN5eY_4U/SQuO0xnHUSI/AAAAAAAAAIQ/f8jKU9ky9xs/s400/ServicesConfiguration.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;ServiceDefinition.csdef&lt;/strong&gt;&lt;br&gt;Den här filen innehåller definitionen av tjänsten man bygger, dvs vilka roller den är uppbygd av. En Web Role innehåller också InputEndpoints som definierar vilket protokoll som används (http eller https) samt vilken port man kommunicerar på. Servicedefinitionen byggs in i projektet och laddas upp till molnet.&lt;br /&gt;&lt;br /&gt;En tjänst i molnet kan alltid som mest innehålla en Web Role och en Worker Role. Ett projekt kan innehålla flera Web Role men det kan bara vara en som är associerad med tjänsten. Att associerad och av-associerad roller med en tjänst gör man enkelt genom att högerklicka på Roles-noden.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;ServiceConfiguration.cscfg&lt;/strong&gt;&lt;br&gt;ServiceConfiguration kan laddas upp separat för att förändra tjänsten i molnet efter det är publicerad. De man kan ställa in i konfigurationsfilen är t ex antalet instanser som körs av tjänsten och par av namn och värde som man kan använda sig av i applikationen.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Antalet instanser som körs av en Web Role respektive Worker Role kan vara olika till antalet så man kan alltså köra en Web Role och tre Worker Roles.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;En liten lustig grej när man ska lägga till &lt;em&gt;ConfigurationSettings&lt;/em&gt; som man sedan kan läsa in i applikationen är att man måste lägga till den både i &lt;em&gt;ServiceConfiguration&lt;/em&gt; och i &lt;em&gt;ServiceDefinition &lt;/em&gt;men med skillnaden att man bara lägger till värdet i &lt;em&gt;ServiceConfiguration&lt;/em&gt;. Om man bara lägger till den i ServiceConfiguration så får man ett något anonymt felmeddelande när man kör applikationen: Invalid Configuration File.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Exempel på hur de två konfigurationsfilerna ser ut med ConfigurationSettings elementet rätt konfigurerat:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zHNvN5eY_4U/SQuZVNQBHlI/AAAAAAAAAJA/zi00dJ63nC4/s1600-h/config2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zHNvN5eY_4U/SQuZVNQBHlI/AAAAAAAAAJA/zi00dJ63nC4/s400/config2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5263469179125702226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zHNvN5eY_4U/SQuXRG68F1I/AAAAAAAAAIY/r_a1mrjHSC0/s1600-h/config1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263466909683947346" style="CURSOR: hand;" alt="" src="http://2.bp.blogspot.com/_zHNvN5eY_4U/SQuXRG68F1I/AAAAAAAAAIY/r_a1mrjHSC0/s400/config1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;För att sedan läsa in data från konfigurationsfilen anävänder man den statiska metoden GetConfigurationSetting på RoleManager:&lt;br /&gt;var firstName = RoleManager.GetConfigurationSetting("FirstName");&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;RoleManager kan man också använda för att skriva logmeddelanden till consolen i det simulerade molnet:&lt;br /&gt;RoleManager.WriteToLog("Information", "Hello World");&lt;br /&gt;&lt;br /&gt;Värt att veta är dock att om man börjar ändra i associeringen av roller till en tjänst så uppdateras också konfigurationsfilerna vilket innebär att om man har ConfigurationSettings så försvinner dessa...&lt;br /&gt;&lt;br /&gt;Trots det så är jag än så länge positivt överraskad av hur stabilt och långt utvecklat allt är. Det är ju trots allt bara CTP än så länge!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-1478756165882763627?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/1478756165882763627/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=1478756165882763627' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1478756165882763627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/1478756165882763627'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/konfiguration-av-cloud-services-projekt.html' title='Konfiguration av Cloud Services-projekt'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zHNvN5eY_4U/SQuO0xnHUSI/AAAAAAAAAIQ/f8jKU9ky9xs/s72-c/ServicesConfiguration.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6680822360431438207</id><published>2008-10-31T21:07:00.007+01:00</published><updated>2008-10-31T22:23:50.542+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Äntligen installerat Azure!</title><content type='html'>&lt;p&gt;Ikväll bestämde jag mig för att installera Windows Azure och allt som har med den att göra. Eftersom att min dator var helt ny och fräsh så tänkte jag att jag skulle, för en gångs skull, göra allt i en virtuell maskin. Så en Windows Server 2008 fick agera mål för mina installationer. Det dröjde dock inte länge förrän problemen började hopa sig. Det första som behövdes var SP1 för .net Framework och SP1 och Visual Studio 2008 och det tar ju sin lilla tid att genomföra dessa installationer.&lt;br /&gt;&lt;br /&gt;Det verkliga problemet var dök upp när jag skulle installera SP1 för VS och inte hade tillräckligt med diskutrymme. Min disk är satt att växa automatiskt med det funkade inte så bra när installationsprogrammet kollar efter ledigt diskutrymme innan installationen kan starta - suck. Så jag gav upp till slut upp den virutella och satsade på att installera allt direkt på datorn istället.&lt;br /&gt;&lt;br /&gt;Så efter några trevliga prerequisits som tex ASP.Net MVC och PowerShell är jag nu klar med hela insallationen av följande:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=129448" target="_blank"&gt;.NET Services SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=129449" target="_blank"&gt;Microsoft SQL Services SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=128752" target="_blank"&gt;Windows Azure Tools for Microsoft Visual Studio and the Windows Azure SDK &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;Så nu är det då äntligen dagsa att se vad VS har att erbjuda!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I VS har man lite nya project templates tillgängliga som alla ligger under Clode Services. Det är &lt;em&gt;Blank Cloud Service&lt;/em&gt;, &lt;em&gt;Web Cloud Service&lt;/em&gt;, &lt;em&gt;Worker Cloud Service&lt;/em&gt; och den sammanslagna &lt;em&gt;Web And Worker Cloud Service&lt;/em&gt;. Den största skillanden mellan Web Cloud och Worker Cloud så är det att Web Cloud har en IIS installerat i sin virtuella maskin och kan därför ta emot requester utifrån och hosta asp.net samt WCF-tjänster. Worker Cloud kan bara kommunicera med andra genom köer i storage molnet. Användningen för ett Worker Cloud är om man har något som kommer att ta lång tid eller kräver extra kraft att utföras. Då kan man bygga den delen i ett Worker Cloud som man kommunicerar med genom en kö.&lt;/p&gt;&lt;p&gt;Nu har jag implementerar lite enkel logik i mitt Web Cloud-projekt - tycker F5...&lt;/p&gt;&lt;p&gt;Det första som händer när man tycker F5 för att köra igång sitt projekt är att Development Storage konfigureras. Han inte riktigt med att se exakt vad som hände men det skapades en databas för Cloud Storage (Blob, Queue och Table) och det konfigurerades några konton.&lt;/p&gt;&lt;p&gt;Applikationen drar sedan igång och det ser ut precis som en vanlig webapp. Inga skillnader alls. Förutom att man i sin tray, där man normalt brukar ha Cassini när man startar en webapp, så har man nu två nya ikoner. &lt;em&gt;Deveopment Fabric&lt;/em&gt; och &lt;em&gt;Development Storage&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Development Fabric är den del av utvecklingsmiljön som simulerar molnet. Det är här ens applikation körs. Bilden nedan visar hur det ser ut när man har konfigurerat sin applikation att köra på en viruell maskin.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zHNvN5eY_4U/SQtzwF2jkLI/AAAAAAAAAIA/6Zj-DGyklN8/s1600-h/AzureFabric1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263427859554472114" style="WIDTH: 600px; CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_zHNvN5eY_4U/SQtzwF2jkLI/AAAAAAAAAIA/6Zj-DGyklN8/s400/AzureFabric1.jpg" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Om man sedan ändrar i en konfigurationsfil och skriver att&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;role name="WebRole"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Så får man istället två virtuella maskiner att köra sin applikation på:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zHNvN5eY_4U/SQt1jvIz3YI/AAAAAAAAAII/J7oiq0NmzAQ/s1600-h/AzureFabric2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5263429846321847682" style="CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_zHNvN5eY_4U/SQt1jvIz3YI/AAAAAAAAAII/J7oiq0NmzAQ/s400/AzureFabric2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Nästa steg är att publicera sin applikation till molnet. För att göra det högerklickar man på det projekt som innehåller konfigurationen för tjänsten i molnet coh väljer Publish. Då får man logga in med sitt live ID och då gäller det ju också att man har ett konto i molnet vilket jag inte har... ännu :-(&lt;/p&gt;&lt;p&gt;Nästa steg blir att börja labba med de olika tjänsterna i molnet. .Net Services och Storage Services... men mer om det senare!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6680822360431438207?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6680822360431438207/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6680822360431438207' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6680822360431438207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6680822360431438207'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/ntligen-installerat-azure.html' title='Äntligen installerat Azure!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zHNvN5eY_4U/SQtzwF2jkLI/AAAAAAAAAIA/6Zj-DGyklN8/s72-c/AzureFabric1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4590969590339305835</id><published>2008-10-31T07:57:00.004+01:00</published><updated>2008-10-31T08:50:26.746+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mesh'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Live Mesh</title><content type='html'>Sedan en tid tillbaka använder jag Live Mesh vilket är den första applikationen som är utvecklad på Azure. Den använder sig av Live Services på Azure Services Platform. &lt;br /&gt;&lt;br /&gt;Live Mesh är ett "desktop in the cloud" där du får utrymme att spara upp till 5gb data. Det data som du sparar i molnet kan du sedan välja hur det ska synkas till de enheter du har lagt till i ditt "system". Mesh finns idag för XP och Vista. MAC och Mobil finns som CTP. När man sparar en fil i en mesh-folder på din lokala dator (som för dig som användare ser ut precis som en vanlig folder) så synkas den direkt till andra enheter. Man kan också logga in på sitt Live Desktop och hantera filer därifrån.&lt;br /&gt;&lt;br /&gt;Bilden visar enheterna i min "Device Ring":&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zHNvN5eY_4U/SQqvKnFTxGI/AAAAAAAAAHw/eC7r6yRKlF4/s1600-h/mesh.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 600px;" src="http://2.bp.blogspot.com/_zHNvN5eY_4U/SQqvKnFTxGI/AAAAAAAAAHw/eC7r6yRKlF4/s400/mesh.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5263211711360648290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;På sikt ska man även som utvecklare kunna kunna bygga mesh-enablade web-applikationer som görs tillgängliga genom en applikationskatalog i molnet. Användare väljer en applikationen som sedan installeras till den användarens moln och kommer sedan också att synkas till alla enehter. Det blir då sedan möjligt att köra applikationen lokalt med lokalt data eller i molnet. Mesh-applikationer kommer att kunna byggas med olika tekniker som t ex Silverlight, DHTML eller Flash.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fram till ny har Live Mesh bara varit tillgängligt för USA (även om det har gått att klämma sig in genom att ändra lite inställningar på sitt Live-konto) men nu är en publik beta tillgänglig worldwide. Så nu är det dags att surfa in till &lt;a href="http://www.livemesh.com" target="_blank"&gt;www.livemesh.com&lt;/a&gt;, lämna fast mark och kliva in i molnet!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4590969590339305835?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4590969590339305835/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4590969590339305835' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4590969590339305835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4590969590339305835'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/live-mesh.html' title='Live Mesh'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zHNvN5eY_4U/SQqvKnFTxGI/AAAAAAAAAHw/eC7r6yRKlF4/s72-c/mesh.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-55812697463376107</id><published>2008-10-29T10:54:00.003+01:00</published><updated>2008-10-29T10:59:25.688+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>Azure</title><content type='html'>David Chappell har skrivit en helt fantastikt bra artikel om &lt;a href="http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.docx" target="_blank"&gt;The Azure Services Platform&lt;/a&gt; som går igenom de olika delarna i plattformen samt de olika tjänster man kan använda sig av som utvecklare.&lt;br /&gt;&lt;br /&gt;Det ska bli riktigt kul att börja testa och självklart har jag anmält mig på &lt;a href="http://www.microsoft.com/azure/default.mspx" target="_blank"&gt;Azure-siten&lt;/a&gt; för att få tillgång till CTP av tjänsterna.&lt;br /&gt;&lt;br /&gt;Redan idag går det dock bra att ladda ner och bygga appar som sedan körs i det simulerade molnet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-55812697463376107?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/55812697463376107/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=55812697463376107' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/55812697463376107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/55812697463376107'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/azure.html' title='Azure'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7561722380243398044</id><published>2008-10-28T13:00:00.005+01:00</published><updated>2008-10-28T13:56:53.021+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='M'/><category scheme='http://www.blogger.com/atom/ns#' term='Oslo'/><category scheme='http://www.blogger.com/atom/ns#' term='Quadrant'/><title type='text'>Oslo är här!</title><content type='html'>Igår släpptes de första bitarna &lt;a href="http://douglaspurdy.com/2008/10/27/download-the-oslo-ctp/" target="_blank"&gt;(hyper early CTP)&lt;/a&gt; till Oslo. Men vad är Oslo och var ska man börja?&lt;br /&gt;&lt;br /&gt;Oslo kodnamnet för Microsofts nya plattform för modeldrivna applikationer. I kärnan finns tre delar:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ett nytt språk, M&lt;/b&gt;&lt;br /&gt;M är namnet på Oslos nya språk för att skapa modeller. Modellering som teknik är inget nytt utan något vi har använt oss av länge. Vi modellerar idag våra applikationer i Visio, på en servett eller på en whiteboard. Problemet med det här är att det ofta blir en första vision av systemet som man sedan inte underhåller över tiden. Med M får vi nu möjligheten att skapa modeller i ett deklarativt språk. På de modeller vi bygger i M kan vi sedan skapa domänspecifika språk (DSL).&lt;br /&gt;&lt;br /&gt;M består av tre olika delar. MGraph, MSchema och MGrammar. Mer om dessa senare...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ett verktyg, Quadrant&lt;/b&gt;&lt;br /&gt;Tanken med Quadrant är att det är ett verktyg där man kan få en textbaserad eller visuell representation av en modell. Precis som i t ex xaml-editorn i Visual Studio så kan man göra förändringarna där man själv känner sig bekväm. Det är bara två olika vyer av samma källa. Quadrants användarupplevelse ska påminna om den i Office.&lt;br /&gt;&lt;br /&gt;Flera olika roller inom en organisation, som t ex analytiker, arkitekt, utvecklare och IT Chef, kan samarbete runt dessa modeller i Quadrant genom att använda en vy som passar för deras behov. Det kommer också att vara möjligt att uppdatera modellerna direkt i Visual Studio, BizTalk, SharePoint, Visio etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;En central lagringsplats för modeller, Repository&lt;/b&gt;&lt;br /&gt;All data om de modeller som skapas sparas i en central lagringsplats som kallas för The Oslo Repository. Den baserars på SQL Server och därför kan man också använda alla vertyg man normalt använder mot SQL Server även mot The Oslo Repository.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Var börjar jag?&lt;/b&gt;&lt;br /&gt;En bra start är att kolla på &lt;a href="http://msdn.microsoft.com/Oslo/" target="_blank"&gt;http://msdn.microsoft.com/Oslo/&lt;/a&gt;. Där kan man ladda ner SDK och läsa på en hel del.&lt;br /&gt;&lt;br /&gt;Rekomenderade bloggar:&lt;br /&gt;&lt;a href="http://douglaspurdy.com/" target="_blank"&gt;http://douglaspurdy.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pluralsight.com/community/blogs/dbox/default.aspx" target="_blank"&gt;http://www.pluralsight.com/community/blogs/dbox/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I ett avsnitt av &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=385" target="_blank"&gt;.NET Rocks!&lt;/a&gt; med just Douglas Purdy och Don Box pratade de om Oslo. Vid ett tillfälle nämnde Don en session på PDC som handlar om hur man kan använda Oslo för att skapa textbaserade DSL och uttryckte det som: "If ýou want the power of Anders (Hejlsberg) in your hands...".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7561722380243398044?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7561722380243398044/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7561722380243398044' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7561722380243398044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7561722380243398044'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/oslo-r-hr.html' title='Oslo är här!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8618806909916093665</id><published>2008-10-25T23:56:00.004+02:00</published><updated>2008-10-26T00:13:57.402+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDC'/><title type='text'>Ny logga för .NET!</title><content type='html'>Idag släpptes en ny officiell logga för .NET! Anledningen är för att synka med Microsofts värderingar om vad de tycker att .NET står för: konsistent, robust och lysande användarupplevelse (fritt översatt). &lt;br /&gt;&lt;br /&gt;Läs mer på &lt;a href="http://blogs.msdn.com/msmossyblog/archive/2008/10/25/embrace-the-new-net-logo.aspx"  target="_blank"&gt;Scott Barnes blogg&lt;/a&gt; och på &lt;a href="http://www.hanselman.com/blog/PDC2008NewNETLogo.aspx" target="_blank"&gt;Scott Hanselmanns dito&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 600px;" src="http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/New.NETLogo_14BC/newdotnetlogo_2.png"/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8618806909916093665?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8618806909916093665/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8618806909916093665' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8618806909916093665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8618806909916093665'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/ny-logga-fr-net.html' title='Ny logga för .NET!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8791091154235015584</id><published>2008-10-10T09:05:00.002+02:00</published><updated>2008-10-10T09:15:47.452+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDC'/><title type='text'>PDC online!</title><content type='html'>Tyvärr så har jag inte möjligheten att vara med på &lt;a target="_blank" href="http://www.microsoftpdc.com/"&gt;PDC&lt;/a&gt; i år. Ser dock fram emot att följa PDC Online. &lt;a target="_blank" href="http://blogs.msdn.com/johanl/"&gt;Johan Lindfors&lt;/a&gt; har lovat att han ska blogga live från keynotes och sessioner och idag läste jag att alla sessioner kommer att finnas online inom &lt;a target="_blank" href="http://blogs.msdn.com/pdc/archive/2008/10/09/countdown-to-pdc2008-ambush-dan-and-brian-taking-over-their-c9-show-for-10-groovy-minutes.aspx"&gt;24 timmar&lt;/a&gt; efter framförandet!&lt;br /&gt;&lt;br /&gt;På TechEd i Orlando tidigare igår sände de keynotes live och om det blir något liknande så lovar jag att det kommer att kommer att hålla väldigt hög kvalitet!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8791091154235015584?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8791091154235015584/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8791091154235015584' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8791091154235015584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8791091154235015584'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/10/pdc-online.html' title='PDC online!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6502504881656675441</id><published>2008-09-30T21:14:00.002+02:00</published><updated>2008-09-30T21:19:40.383+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team System'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><title type='text'>Scrum med ITMaskinen</title><content type='html'>I fredags hade jag unge herr &lt;a href="http://blogs.msdn.com/deurell/" target="_blank"&gt;Deurell&lt;/a&gt; en föreläsning för ITMaskinen om agile, Scrum och hur man kan använda Microsofts verktyg för att lyckas. Min roll var så klart att prata om agile och Scrum och Micke pratade om TFS och vikten av test med hjälp av Team System.&lt;br /&gt;&lt;br /&gt;Läs mer i inlägget &lt;a href="http://blogs.itmaskinen.se/post/2008/09/30/De-tre-vise-mannen-och-Scrum.aspx" target="_blank"&gt;De tre vise männen coh Scrum&lt;/a&gt; på ITMaskinens eminenta bloggsida.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6502504881656675441?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6502504881656675441/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6502504881656675441' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6502504881656675441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6502504881656675441'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/09/scrum-med-itmaskinen.html' title='Scrum med ITMaskinen'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-504494422041012449</id><published>2008-09-21T23:58:00.003+02:00</published><updated>2008-09-22T00:03:40.709+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cert'/><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd Developers i Barcelona!</title><content type='html'>Nu är det klart! Jag och min kollega Hans Sterby kommer att åka till TechEd Developers i Barcelona i november!&lt;br /&gt;&lt;br /&gt;För mig blir det tredje året i rad och det är andra året jag åker dit som så kallad MCT-Proctor. Det innebär att jag kommer att, i egenskap av MCT, jobba som handledare i labb-arean på konferensen.&lt;br /&gt;&lt;br /&gt;Nu återstår det att se vilket ämne man blir placerad på. Hoppas på WPF men det kan nog hända att det blir ADO.Net 3.5 med tanke på att jag klarade beta-certet jag skrev i april.&lt;br /&gt;&lt;br /&gt;Jag har sagt det tidigare och säger det igen, skriv beta-cert.. det lönar sig!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-504494422041012449?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/504494422041012449/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=504494422041012449' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/504494422041012449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/504494422041012449'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/09/teched-developers-i-barcelona.html' title='TechEd Developers i Barcelona!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7933961391092586548</id><published>2008-08-18T13:17:00.002+02:00</published><updated>2008-08-18T13:32:24.976+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='reSharper'/><title type='text'>De små nyheterna...</title><content type='html'>I  (som jag skrev om i &lt;a href="http://bjorneriksen.blogspot.com/2008/08/de-sm-nyheterna-som-gr-en-lycklig.html" target="_blank"&gt;mitt förra inlägg&lt;/a&gt;) skrev jag om att man efter att ha installerat SP1 för Visual Studio 2008 fick man tillgång till "Close All" när man högerklickar på en flik. Det visade sig att det stämmer inte alls...&lt;br /&gt;&lt;br /&gt;Idag när min kollega Pär skulle köra "Close All" i Visual Studio 2008 efter att ha installerat SP1 upptäckte vi att den funktionen inte alls kommer från SP1 utan från reSharper.&lt;br /&gt;&lt;br /&gt;Ytterligare kärlek till reSharper alltså!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7933961391092586548?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7933961391092586548/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7933961391092586548' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7933961391092586548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7933961391092586548'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/de-sm-nyheterna.html' title='De små nyheterna...'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8833751991083882198</id><published>2008-08-12T16:01:00.004+02:00</published><updated>2008-08-12T16:26:59.886+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='SP1'/><title type='text'>De små nyheterna som gör en lycklig!</title><content type='html'>Igår släpptes Service Pack 1 för Visual Studio 2008 och Framework 3.5 vilket självklart måste laddas ner och installeras. För en gångs skull hade jag inte installerat någon av betaversionerna vilket gjorde att installationen var helt smärtfri.&lt;br /&gt;&lt;br /&gt;De stora nyheterna är att Entity Framework och ADO.NET Data Services är släppt men ibland är det de små nyheterna som gör en lycklig! Upptäckte precis att de nu har implementerat Close All när man högerklickar på en tab!!!&lt;br /&gt;&lt;br /&gt;Tidigare har man antingen varit tvingad att välja Close All But This och sedan stänga det fönster som blev kvar alternativt gå till Window - Close All Documents. Men nu - vilken time saver!!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/EllenHilma/SKGcZcoRFwI/AAAAAAAAAHE/B-LcxkFMhbo/CloseAll.gif.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8833751991083882198?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8833751991083882198/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8833751991083882198' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8833751991083882198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8833751991083882198'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/de-sm-nyheterna-som-gr-en-lycklig.html' title='De små nyheterna som gör en lycklig!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/EllenHilma/SKGcZcoRFwI/AAAAAAAAAHE/B-LcxkFMhbo/s72-c/CloseAll.gif.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2387521376088207073</id><published>2008-08-12T13:51:00.002+02:00</published><updated>2008-08-12T14:08:32.855+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='reSharper'/><title type='text'>reSharper 4.0</title><content type='html'>Ibland är man efter sin tid men jag känner om och om igen att jag alltid är efter Mikael Deurells tid! Under många år har han pratat om sin &lt;a target="_blank" href="http://blogs.msdn.com/deurell/archive/2007/05/06/resharper-i-love-you.aspx"&gt;kärlek till reSharper&lt;/a&gt; och jag vet att om några år kommer jag också att prata om &lt;a target="_blank" href="http://blogs.msdn.com/deurell/archive/tags/DFO/default.aspx"&gt;DFO&lt;/a&gt;, &lt;a target="_blank" href="http://blogs.msdn.com/deurell/archive/tags/PowerShell/default.aspx"&gt;PowerShell&lt;/a&gt; och &lt;a target="_blank" href="http://blogs.msdn.com/deurell/archive/tags/Debugging/default.aspx"&gt;production debugging&lt;/a&gt;. Men nu är det reSharper som gäller! Har precis installerat version 4.0 i min Visual Studio 2008 där jag jobbar i ett Visual Basic-projekt och visst... Det är kärlek!&lt;br /&gt;&lt;br /&gt;Okej, i VB är den absolut inte perfekt. T ex så är den inte helt med när det gäller dess rekomendationer om Imports och LINQ och inte heller funkar Split declaration and assignment när man använder LINQ. Den missar nämligen att lägga in den line continuation som VB kräver. Men vad gör väl det när man får tillgång till refactoring som Extract Method...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2387521376088207073?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2387521376088207073/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2387521376088207073' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2387521376088207073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2387521376088207073'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/resharper-40.html' title='reSharper 4.0'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-3830139592386740064</id><published>2008-08-08T16:16:00.001+02:00</published><updated>2008-08-08T16:16:44.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferens'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agila människor är speciella... Del 2</title><content type='html'>&lt;p&gt;Ig&amp;#229;r kv&amp;#228;ll p&amp;#229; avslutningsmiddagen f&amp;#246;r konferensen fick jag svar p&amp;#229; vad de asiatiska dansarna gjorde. De var alla japaner som f&amp;#246;rberedde ett upptr&amp;#228;dande p&amp;#229; middagen. En av dem fick en utm&amp;#228;rkelse fr&amp;#229;n Agile Alliance och han tog med sig sina landsm&amp;#228;n upp p&amp;#229; scen och sj&amp;#246;ng s&amp;#229;ngen Dear XP. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-3830139592386740064?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/3830139592386740064/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=3830139592386740064' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3830139592386740064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3830139592386740064'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/agila-mnniskor-r-speciella-del-2.html' title='Agila människor är speciella... Del 2'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5348778967595892865</id><published>2008-08-07T14:32:00.001+02:00</published><updated>2008-08-07T14:32:48.643+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferens'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agila människor är speciella...</title><content type='html'>&lt;p&gt;Imorse n&amp;#228;r jag hade h&amp;#228;mtat frukost och var p&amp;#229; v&amp;#228;g till en TDD-clinic i C# s&amp;#229; gick jag f&amp;#246;rbi ca 20 asiatiska killar och tjejer som stod och dansade en dans, spelade i maraccas samtidigt som de kollade p&amp;#229; en sk&amp;#228;rm. Exakt vad de gjorde d&amp;#228;r kl &amp;#229;tta p&amp;#229; morgonen &amp;#228;r f&amp;#246;r mig fortfarande en g&amp;#229;ta men de var i alla fall glada!&lt;/p&gt;  &lt;p&gt;Det som man ser p&amp;#229; den h&amp;#228;r konferensen &amp;#228;r att folk som jobbar med agile utvecklig &amp;#228;r helt klart passionerade f&amp;#246;r det de g&amp;#246;r!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5348778967595892865?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5348778967595892865/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5348778967595892865' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5348778967595892865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5348778967595892865'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/agila-mnniskor-r-speciella.html' title='Agila människor är speciella...'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4427939677479524673</id><published>2008-08-07T01:22:00.002+02:00</published><updated>2008-08-07T14:33:59.786+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimering'/><title type='text'>Vad betyder affärsvärde?</title><content type='html'>&lt;p&gt;Jag har f&amp;#246;ljt och varit inblandad i en tr&amp;#229;d i ett forum p&amp;#229; &lt;a href="http://www.pellesoft.se/communicate/forum/view.aspx?msgid=263923&amp;amp;forumid=81" target="_blank"&gt;Pellesoft.se&lt;/a&gt; som handlar om vad v&amp;#228;rde betyder i ett agilt projekt. Man pratar hela tiden om att man ska leverera aff&amp;#228;rsv&amp;#228;rde tidigt och ofta men vad betyder v&amp;#228;rde. Den enkla definitionen av aff&amp;#228;rsv&amp;#228;rde &amp;#228;r enligt mig &amp;#8221;n&amp;#229;got som best&amp;#228;llaren kan anv&amp;#228;nda i sin verksamhet f&amp;#246;r att tj&amp;#228;na pengar&amp;#8221;.&lt;/p&gt;  &lt;p&gt;En definition av v&amp;#228;rde som Tom och Kai Gilb har &amp;#228;r:   &lt;br /&gt;&lt;i&gt;Value is a perceived benefit: that is, the benefit we think we will get from something. It&amp;#8217;s is relative to a stakeholder.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Allts&amp;#229; v&amp;#228;rde &amp;#228;r n&amp;#229;got som &amp;#228;r relevant f&amp;#246;r en intressent och som den intressenten uppfattar som en f&amp;#246;rdel. &lt;/p&gt;  &lt;p&gt;Om man sedan pratar om aff&amp;#228;rsv&amp;#228;rde s&amp;#229; m&amp;#229;ste man ocks&amp;#229; definiera vem intressenten &amp;#228;r och i en f&amp;#246;rs&amp;#228;ljningssituation pratar man om tre olika typer av k&amp;#246;pare:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Ekonomisk&lt;/b&gt;: Den ekonomiska k&amp;#246;pare &amp;#228;r den som skriver under kontraktet, ser till att projektet f&amp;#229;r de ekonomiska resurser det beh&amp;#246;ver och den enda person som kan s&amp;#228;ga ja till ett projekt.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Teknisk:&lt;/b&gt; Den tekniska k&amp;#246;pare &amp;#228;r den eller de som ansvarar f&amp;#246;r att projektet eller produkten som k&amp;#246;ps in m&amp;#246;ter tekniska specifikationer och organisationens normer. Tekniska k&amp;#246;pare kan s&amp;#228;ga nej till ett projekt eller en produkt.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Anv&amp;#228;ndare:&lt;/b&gt; Slutanv&amp;#228;ndare av en produkt eller system. Kan ocks&amp;#229; s&amp;#228;ga nej.&lt;/p&gt;  &lt;p&gt;N&amp;#228;r man har slutf&amp;#246;rt en f&amp;#246;rs&amp;#228;ljning och f&amp;#229;tt ett signerat avtal &amp;#228;r det allt f&amp;#246;r ofta som tekniska k&amp;#246;pare och anv&amp;#228;ndare tar &amp;#246;ver projektet och den ekonomiska k&amp;#246;parens behov (eller utlovat aff&amp;#228;rsv&amp;#228;rde), samt hur de ska levereras, f&amp;#246;rbises.&lt;/p&gt;  &lt;p&gt;Okej, s&amp;#229; vidare till en definition av aff&amp;#228;rsv&amp;#228;rde:   &lt;br /&gt;&lt;i&gt;Business Value is the perceived benefit the Economic Buyer (and ideally the organization) will get from making investments to improve something of importance to them.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&amp;#196;ff&amp;#228;rsv&amp;#228;rde &amp;#228;r allts&amp;#229;, precis som v&amp;#228;rde, en uppfattad f&amp;#246;rdel som den ekonomiska k&amp;#246;paren kommer att f&amp;#229; ut av en investering.&lt;/p&gt;  &lt;p&gt;Hur m&amp;#228;ter man d&amp;#229; aff&amp;#228;rsv&amp;#228;rde? Aff&amp;#228;rsv&amp;#228;rde kan vara sv&amp;#229;rt att m&amp;#228;ta direkt men det kan m&amp;#228;tas om man anv&amp;#228;nder en teknik som kallas Measurable Objectives. D&amp;#228;rf&amp;#246;r kan vi s&amp;#228;ga att vi levererar aff&amp;#228;rsv&amp;#228;rde om vi &amp;#228;r p&amp;#229; v&amp;#228;g att uppfylla den ekonomiska k&amp;#246;parens m&amp;#228;tbara m&amp;#229;l. Dessa m&amp;#228;tbara m&amp;#229;l bryts sedan ner till features som implementeras i systemet och varje feature uppfyller en eller flera av de &amp;#246;vergripande m&amp;#229;len.&lt;/p&gt;  &lt;p&gt;Jag var p&amp;#229; en presentation idag av Ryan Shriver, &lt;a href="http://www.theagileengineer.com" target="_blank"&gt;www.theagileengineer.com&lt;/a&gt;, och vi gjorde ett antal &amp;#246;vningar runt Measurable Objectives vilket var v&amp;#228;ldigt intressant. Han hade &amp;#228;ven ber&amp;#228;kningar d&amp;#228;r man kunde avg&amp;#246;ra hur v&amp;#228;l olika features man planerar att implementera uppfyller m&amp;#229;len och vilken relation det finns mellan kostnad f&amp;#246;r implementationen och levererat aff&amp;#228;rsv&amp;#228;rde. Detta kan man sedan d&amp;#229; anv&amp;#228;nda f&amp;#246;r att avg&amp;#246;ra om man ska implementera feature A eller B.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4427939677479524673?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4427939677479524673/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4427939677479524673' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4427939677479524673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4427939677479524673'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/vad-betyder-affrsvrde.html' title='Vad betyder affärsvärde?'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6048391150160646352</id><published>2008-08-06T16:30:00.001+02:00</published><updated>2008-08-06T16:30:36.885+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Planning Poker'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimering'/><title type='text'>Agile estimering och plannering</title><content type='html'>&lt;p&gt;Tidigare har jag f&amp;#246;respr&amp;#229;kat att anv&amp;#228;nda T-shirt sizing n&amp;#228;r man estimerar produktbacklog och sedan story points till sprintbacklog-tasks men efter att ha lyssnat p&amp;#229; Mike Cohn idag s&amp;#229; f&amp;#229;r jag nog t&amp;#228;nka om! Visserligen ska man inte &amp;#228;ndra det som funkar och i de projekt jag har varit med s&amp;#229; har det fungerat riktigt bra. Men de nackdelar med t-shirt sizing som han tar upp g&amp;#229;r ju inte att bortse ifr&amp;#229;n.&lt;/p&gt;  &lt;p&gt;Ett problem &amp;#228;r att anv&amp;#228;nda M, L och XXL n&amp;#228;r man estimerar features p&amp;#229; produktbackloggen &amp;#228;r att man inte kan addera dessa tillsammans och en kund kommer alltid att vilja veta n&amp;#228;r man ska vara klar med ett projekt. Att d&amp;#229; svara att vi &amp;#228;r klara om 4 small, 3 medium och 2 large funkar inte. Man m&amp;#229;ste ha estimat som g&amp;#229;r att addera s&amp;#229; att man kan ta reda p&amp;#229; vilken hastighet man har och d&amp;#228;rmed ocks&amp;#229; kunna s&amp;#228;ga n&amp;#228;r i tiden man kommer att vara klar.&lt;/p&gt;  &lt;p&gt;S&amp;#229; vad Mike f&amp;#246;resl&amp;#229;r &amp;#228;r man ska anv&amp;#228;nda story points n&amp;#228;r man estimerar de items man har p&amp;#229; sin produktbacklog. Den typen av estimering g&amp;#246;r man normalt innan f&amp;#246;rsta sprinten n&amp;#228;r man g&amp;#246;r sin releaseplanering. Man b&amp;#246;r f&amp;#246;rs&amp;#246;ka komma igenom hela produktbackloggen men inte l&amp;#228;gga f&amp;#246;r mycket tid p&amp;#229; varje item (ca 20 i timmen b&amp;#246;r man klara av). Nya items kommer att komma in p&amp;#229; produktbackloggen kontinuerligt s&amp;#229; d&amp;#228;rf&amp;#246;r m&amp;#229;ste man ocks&amp;#229; kontinuerligt estimera under varje sprint. F&amp;#246;r att estimera produktbacklogen funkar det alldels utm&amp;#228;rkt att anv&amp;#228;nda sig av Planning Poker och d&amp;#229; beh&amp;#246;ver man heller inte konverera sina estimat till timmar.&lt;/p&gt;  &lt;p&gt;N&amp;#228;r man sedan ska planer det jobb man ska g&amp;#246;ra i f&amp;#246;rsta sprinten m&amp;#229;ste man veta vilken hastighet teamet har. Om man har ett team som har genomf&amp;#246;rt ett antal sprintar &amp;#228;r det ju inget problem men om man har ett nytt team s&amp;#229; finns det &amp;#228;ven tekniker f&amp;#246;r att ta reda p&amp;#229; vilken hastighet teamet kommer att ha. Hastigheten baserar man d&amp;#229; p&amp;#229; hur mycket teamet tror att de kommer att kunna hinna med under n&amp;#228;sta sprint och anv&amp;#228;nder det som teamets hastighet.&lt;/p&gt;  &lt;p&gt;N&amp;#228;r teamet sedan ska bryta ner features fr&amp;#229;n produktbackloggen till uppgifter i sprintbackloggen m&amp;#229;ste uppgifter m&amp;#228;tas i ideala timmar. Vi har gjort s&amp;#229; att vi har spelat planning poker och satt story points p&amp;#229; uppgifterna och sedan r&amp;#228;knat om dessa till ideala timmar. Jag fr&amp;#229;gade Mike vad han tyckte om det och han sa att det &amp;#228;r nog i det l&amp;#228;get b&amp;#228;ttre att g&amp;#246;ra det &amp;#8221;the old fashion way&amp;#8221; och bara s&amp;#228;tta timmar p&amp;#229; de olika uppgifterna. Jag har alltid f&amp;#246;respr&amp;#229;kat att man ska, &amp;#228;ven p&amp;#229; uppgiftsniv&amp;#229;, dra nytta av allas input i estimaten men Mike menar att om man har en databasexpert i temat som s&amp;#228;ger att en uppgift tar fyra timmar s&amp;#229; &amp;#228;r det bara att s&amp;#228;tta fyra timmar p&amp;#229; den uppgiften. Att implemntera en feature p&amp;#229; produktbackloggen blir mest troligt &amp;#228;nd&amp;#229; flera olika uppgifter, tex att skapa en stored procedure, att modifiera objektmodellen, att anpassa gr&amp;#228;nssnittet samt att testa de olika delarna. Och d&amp;#229; &amp;#228;r det b&amp;#228;st att de olika experterna f&amp;#246;r de olika omr&amp;#229;dena f&amp;#229;r s&amp;#228;tta timmar p&amp;#229; uppgifterna.&lt;/p&gt;  &lt;p&gt;Det jag tror att jag kommer att ta med mig till mitt n&amp;#228;sta projekt &amp;#228;r att l&amp;#228;ra mig mer om user stories f&amp;#246;r att f&amp;#229; en b&amp;#228;ttre produktbacklog. Estimera produktbackloggen mha planning poker i story points och sedan bryta ner den till tasks i sprintbackloggen och direkt s&amp;#228;tta optimalatimmar p&amp;#229; dessa.&lt;/p&gt;  &lt;p&gt;Man blir s&amp;#229; lycklig n&amp;#228;r man k&amp;#228;nner att bitar faller p&amp;#229; plats! Nu m&amp;#229;ste bara se till att ocks&amp;#229; uppdatera min &lt;a href="http://www.adskills.se/Utbildning/Kurs/?CourseID=258" target="_blank"&gt;kurs&lt;/a&gt; :-D&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6048391150160646352?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6048391150160646352/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6048391150160646352' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6048391150160646352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6048391150160646352'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/agile-estimering-och-plannering.html' title='Agile estimering och plannering'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5575667986404233290</id><published>2008-08-03T15:43:00.000+02:00</published><updated>2008-08-03T15:44:43.382+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Konferens'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Agile 2008</title><content type='html'>På plats i Toronto och imorgon börjar konferensen Agile 2008. Bor på 24de våningen och idag väcktes jag av ett falskt brandalarm från 15 våningen. Lite lätt jet-laggad kunde jag inte somna om så nu tänkte jag bege mig till Torontos stora turistattraktion – CN Tower med världens högsta, av människan skapade,  observatorium.&lt;br /&gt;&lt;br /&gt;Har för övrigt lite problem med att få ström till min dator. Igår köpte jag en konverterare på Best Buy och den funkade ju bra, till allt utom min dator. Datorn har en bredare kontakt… Någon som har nått tips på var man kan köpa en som funkar även till datorsladdar?&lt;br /&gt;&lt;br /&gt;Annars så ser jag väldigt mycket fram emot att konferensen ska dra igång imorgon! Ska bli skönt att få lite mera kolla på läget för än så länge har jag ingen aning om var de olika föreläsningssalarna ligger. Nåja, det löser sig nog och då kan jag se fram emot föredrag under veckan av så väl Mary Poppendieck och Mike Cohn!&lt;br /&gt;&lt;br /&gt;(I mitt förra inlägg sa jag att mitt nästa inlägg skulle handla om min första erfarenhet från verkligheten med LINQToXML men det får vänta tills jag kommer hem.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5575667986404233290?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5575667986404233290/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5575667986404233290' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5575667986404233290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5575667986404233290'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/08/agile-2008.html' title='Agile 2008'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8863682896853483305</id><published>2008-07-25T13:15:00.003+02:00</published><updated>2008-07-25T13:22:40.150+02:00</updated><title type='text'>Tillbaka från semester</title><content type='html'>Semestern är slut och jag har jobbat en vecka nu. Inte skulle det vara fel med lite mer ledighet men men… Jag är annars tillbaka på samma projekt som innan semestern vilket så klart är skönt (att ha något att komma tillbaka till). Veckan i projektet har bjudit på en hel del arkitekturförändringar då vi har lärt oss en del om komplexiteten i applikationen på sista tiden. Jag skrev lite om projektet som jag jobbar med i ett tidigare &lt;a href="http://bjorneriksen.blogspot.com/2008/05/plugin-pattern-p-webben.html"&gt;blogginlägg&lt;/a&gt; men den fina portaltanken har vi nu lämnat bakom oss. Det blev för mycket strul med kommunikation och svårare att dela state mellan applikationer. För mycket legacy kod och för lite tid helt enkelt.&lt;br /&gt;&lt;br /&gt;Det som har varit glädjande under den här veckan är:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Vi har kommit igång med Scrum på allvar igen i projektet. Vi är nu mitt inne i en två veckors sprint och vår burn-down ser okej ut. Vet dock av erfarenhet att vi borde ha hunnit lite längre för jag tror att en del av uppgifterna är lite tunt estimerade.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Alla våra projekt är konverterade till Visual Studio 2008 och .NET Framework 3.5!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Jag har nyss checkat in mina första rader med LINQ-kod i ett produktionssystem!!! (mer om det i nästa inlägg)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Jag har skrivit mina första enhetstester på produktionskod i Visual Studio 2008.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; &lt;br /&gt;&lt;br /&gt;Den här veckan har också upptäckt att jag är väldigt ifrågasättande vilket inte alltid är så positivt. Det finns en tendens hos mig att ställa frågan Varför? och kanske gör jag det lite för mycket ibland. Jag menar, bara för att jag inte skulle implementera en lösning på samma sätt så betyder det inte att det är en sämre lösning, antagligen snarare tvärt om!&lt;br /&gt;&lt;br /&gt;Veckan som kommer bjuder på upplopp i sprinten samt förberedelse inför &lt;a target="_blank" href="http://www.agile2008.com"&gt;Agile2008&lt;/a&gt; i Toronto!&lt;br /&gt;&lt;br /&gt;Var för övrigt och såg &lt;a target="_blank" href="http://www.imdb.com/title/tt0468569/"&gt;The Dark Knight&lt;/a&gt; igår och jag säger bara oj oj oj! Ser fram emot att se den på IMAX i Toronto nästa helg!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8863682896853483305?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8863682896853483305/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8863682896853483305' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8863682896853483305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8863682896853483305'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/07/tillbaka-frn-semester.html' title='Tillbaka från semester'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-3132642328369294116</id><published>2008-06-12T15:13:00.004+02:00</published><updated>2008-06-12T16:13:20.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Snippet för Singleton</title><content type='html'>Många gånger har jag tänkt att jag ska göra en snippet för att skapa en singleton men det har aldrig blivit av men idag, efter en lyckad release hos kund, så tycket jag att jag kunde ta mig fem minuter för att knåpa ihop en sådan som sedan kommer att spara in de fem minuterna om och om igen. Och om jag sedan också kan spara fem minuter åt någon annan så är väl det toppen!&lt;br /&gt;&lt;br /&gt;Min singleton är baserad på &lt;a target="_blank" href="http://www.dofactory.com/Patterns/PatternSingleton.aspx"&gt;DoFactorys Singleton&lt;/a&gt; med .NET optimized code men jag har bytt ut deras accessor, som är en metod, till en property pga jag tycker att det då blir snyggare att accessa den från annan kod då. Man slipper parenteserna i anropet.&lt;br /&gt;&lt;br /&gt;Skapa en ny fil i Visual Studio av typen XML File,döp den till singleton.snippet, spara den i \My Documents\Visual Studio 2008\Code Snippets\Visual C#\My Code Snippets\ och klistra in följande kod:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 8pt; color: black; background: white;"&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;CodeSnippets&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;CodeSnippet&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;Format&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;1.0.0&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Header&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;singleton&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Shortcut&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;singleton&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Shortcut&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Description&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Code snippet for singleton class&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Description&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Author&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Bj&amp;#246;rn Eriksen - Connecta&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Author&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;SnippetTypes&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;SnippetType&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Expansion&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;SnippetType&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;SnippetTypes&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Header&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Snippet&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Literal&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;className&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ToolTip&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;The name of the class&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ToolTip&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Default&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;SingletonClassName&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Default&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Literal&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Literal&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;methodName&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ToolTip&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;A method in the singleton class&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ToolTip&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Default&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;MethodName&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Default&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Literal&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Code&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: red;"&gt;Language&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;CSharp&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;![CDATA[&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;  public sealed class $className$&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //This is the instance that will hold the instance&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static readonly $className$ instance =&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new $className$();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Private constructor&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private $className$()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //The property used to return the singleton instance&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static $className$ UniqueInstance&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return instance;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Add methods&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void $methodName$()&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: gray;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;]]&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Code&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Snippet&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;CodeSnippet&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;CodeSnippets&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-3132642328369294116?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/3132642328369294116/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=3132642328369294116' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3132642328369294116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3132642328369294116'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/06/snippet-fr-singelton.html' title='Snippet för Singleton'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4466398415869101140</id><published>2008-06-11T07:43:00.001+02:00</published><updated>2008-06-11T07:43:45.057+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Lazy Load och Eager Load med LINQ to SQL</title><content type='html'>&lt;h4&gt;&lt;strong&gt;Lazy Load&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;LINQ to SQL implementerar i grunden ett pattern som heter Lazy Load. Lazy Load inneb&amp;#228;r att man, som i fallet med LINQ to SQL har att g&amp;#246;ra med en databas, bara h&amp;#228;mtar de rader som man beh&amp;#246;ver n&amp;#228;r man faktiskt beh&amp;#246;ver dem. Inom LINQ kallar man det f&amp;#246;r Deferred Query Execution vilket betyder att man kan definiera en fr&amp;#229;ga i ett l&amp;#228;ge men att kopplingen mot databasen sker f&amp;#246;rst n&amp;#228;r man b&amp;#246;rjar iterera resultatet.&lt;/p&gt;  &lt;p&gt;N&amp;#228;r man deklarerar en fr&amp;#229;ga f&amp;#246;r att t ex h&amp;#228;mta alla kunder som finns i en stad som b&amp;#246;rjar p&amp;#229; bokstaven M:&lt;/p&gt; &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red163\green21\blue21;}??\fs24             \cf3 var\cf0  customers = \cf3 from\cf0  c \cf3 in\cf0  db.Customers\par ??                            \cf3 where\cf0  c.City.StartsWith(\cf4 "M"\cf0 )\par ??                            \cf3 select\cf0  c;}&lt;br /&gt;--&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; customers = &lt;span style="color: blue"&gt;from&lt;/span&gt; c &lt;span style="color: blue"&gt;in&lt;/span&gt; db.Customers&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;where&lt;/span&gt; c.City.StartsWith(&lt;span style="color: #a31515"&gt;&amp;quot;M&amp;quot;&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;select&lt;/span&gt; c; &lt;/p&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;s&amp;#229; kommer det att skapas en representation av fr&amp;#229;gan i form av ett Query Expression Tree. Om man d&amp;#229; s&amp;#228;tter break point och debuggar kan man se vilken SQL som kommer att exekveras. Men det &amp;#228;r f&amp;#246;rst n&amp;#228;r man anv&amp;#228;nder n&amp;#229;gon information fr&amp;#229;n resultatet: &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs24             \cf3 foreach\cf0  (\cf3 var\cf0  customer \cf3 in\cf0  customers)\par ??            \{\par ??                \cf4 Console\cf0 .WriteLine(customer.ContactName);\par ??            \} }&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue"&gt;var&lt;/span&gt; customer &lt;span style="color: blue"&gt;in&lt;/span&gt; customers)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(customer.ContactName);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;som raderna faktiskt h&amp;#228;mtas. S&amp;#229; fr&amp;#229;gan ovan genererar &lt;strong&gt;en&lt;/strong&gt; server-round trip som returnerar 13 rader (om man anv&amp;#228;nder sig av Northwinds databas).&lt;/p&gt;  &lt;p&gt;Om man sedan g&amp;#229;r vidare p&amp;#229; varje kund och skriver ut dess ordrar enligt f&amp;#246;ljande: &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;\red163\green21\blue21;}??\fs24             \cf3 foreach\cf0  (\cf3 var\cf0  customer \cf3 in\cf0  customers)\par ??            \{\par ??                \cf4 Console\cf0 .WriteLine(customer.ContactName);\par ??                \cf3 foreach\cf0  (\cf3 var\cf0  order \cf3 in\cf0  customer.Orders)\par ??                \{\par ??                    \cf4 Console\cf0 .WriteLine(\cf5 " - "\cf0  + order.OrderDate.ToString());\par ??                \}\par ??            \} }&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue"&gt;var&lt;/span&gt; customer &lt;span style="color: blue"&gt;in&lt;/span&gt; customers)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(customer.ContactName);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue"&gt;var&lt;/span&gt; order &lt;span style="color: blue"&gt;in&lt;/span&gt; customer.Orders)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot; - &amp;quot;&lt;/span&gt; + order.OrderDate.ToString());&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;s&amp;#229; kommer man att f&amp;#246;r varje kund-objekt generera en ny SQL och h&amp;#228;mta just den kundens ordrar. Det inneb&amp;#228;r att iterationen &amp;#246;ver kundernas ordrar kommer att generera &lt;strong&gt;14&lt;/strong&gt; server-round trips.&lt;/p&gt;  &lt;p&gt;Det h&amp;#228;r kan vara v&amp;#228;ldigt bra i vissa l&amp;#228;gen men mindre bra i andra l&amp;#228;gen. T&amp;#228;nk att man har ett presenteras en tr&amp;#228;dvy d&amp;#228;r alla kund-objekt visas och sedan v&amp;#228;ljer anv&amp;#228;ndaren att bara expandera en av dessa kunder f&amp;#246;r att visa kundens alla ordrar. Ja d&amp;#229; kanske det &amp;#228;r b&amp;#228;ttre att i bara h&amp;#228;mta just den kundens ordrar ist&amp;#228;llet f&amp;#246;r att skicka &amp;#246;ver alla kunders ordrar. &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;Eager Load&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Men om man nu har en s&amp;#229;dan situation d&amp;#228;r man vet att man vill ladda alla kunder och alla dess ordrar, dvs man vill anv&amp;#228;nda sig av Eager Load ist&amp;#228;llet f&amp;#246;r Lazy Load, ja d&amp;#229; finns det f&amp;#246;rst&amp;#229;s en l&amp;#246;sning och det &amp;#228;r &lt;strong&gt;DataLoadOptions&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;F&amp;#246;r att lyckas med Eager Load i LINQ s&amp;#229; skapar man ett objekt av typen DataLoadOptions och anropar en metod som heter LoadWith. I LoadWith anger man vilka objekt man ska ladda samtidigt som det huvudobjekt man h&amp;#228;mtar. Detta g&amp;#246;r man med hj&amp;#228;lp av ett lambdauttryck. DataLoadOptions-objektet l&amp;#228;gger man sedan till i DataContext-objektet. H&amp;#228;r nedan har jag anv&amp;#228;nt mig av en object initializer f&amp;#246;r att s&amp;#228;tta propertyn samtidigt som jag skapar objektet.&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs24             \cf3 var\cf0  dlo = \cf3 new\cf0  \cf4 DataLoadOptions\cf0 ();\par ??            dlo.LoadWith&amp;lt;\cf4 Customer\cf0 &amp;gt;(p =&amp;gt; p.Orders);\par ??            \cf3 var\cf0  db = \cf3 new\cf0  \cf4 NorthwindDataContext\cf0 () \{ LoadOptions = dlo \}; }&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; dlo = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DataLoadOptions&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dlo.LoadWith&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;(p =&amp;gt; p.Orders);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; db = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;NorthwindDataContext&lt;/span&gt;() { LoadOptions = dlo };&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;Den fr&amp;#229;gan som jag st&amp;#228;llde i b&amp;#246;rjan av det h&amp;#228;r inl&amp;#228;gget g&amp;#228;llde att h&amp;#228;mta alla kunder som bor i en stad som b&amp;#246;rjar p&amp;#229; bokstaven M. N&amp;#228;r man d&amp;#229; skapar ett DataLoadOptions-objekt s&amp;#229; &amp;#228;r det ett objekt av typen Customer som man anger som typ till den generiska metoden LoadWith och det h&amp;#228;r objektet &amp;#228;r det som kallas grundobjektet. I lambdauttrycket anger man sedan vilket typ av objekt som man vill ladda samtidigt som det grundobjekt man planerar att h&amp;#228;mta. Detta inneb&amp;#228;r att man med &lt;strong&gt;en&lt;/strong&gt; server-round trip kommer att h&amp;#228;mta kund-objekten samt dessa kunders alla ordrar. &lt;/p&gt;  &lt;p&gt;DataLoadOptions-objektet kan man sedan fylla p&amp;#229; med flera relaterade objekt av andra typer som man vill ladda samtidigt som huvudobjektet. &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs24             \cf3 var\cf0  dlo = \cf3 new\cf0  \cf4 DataLoadOptions\cf0 ();\par ??            dlo.LoadWith&amp;lt;\cf4 Customer\cf0 &amp;gt;(p =&amp;gt; p.Orders);\par ??            dlo.LoadWith&amp;lt;\cf4 Order\cf0 &amp;gt;(o =&amp;gt; o.Order_Details); }&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; dlo = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DataLoadOptions&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dlo.LoadWith&amp;lt;&lt;span style="color: #2b91af"&gt;Customer&lt;/span&gt;&amp;gt;(p =&amp;gt; p.Orders);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dlo.LoadWith&amp;lt;&lt;span style="color: #2b91af"&gt;Order&lt;/span&gt;&amp;gt;(o =&amp;gt; o.Order_Details);&lt;/p&gt; &lt;/div&gt;  &lt;br /&gt;Lazy Load &amp;#228;r ett fantastiskt pattern men det &amp;#228;r v&amp;#228;ldigt viktigt att man k&amp;#228;nner till vilka implikationer det kan f&amp;#229; att anv&amp;#228;nda det. Lazy Load inneb&amp;#228;r alltid ett mer chatty interface vilket som sagt kan vara bra ibland men helt f&amp;#246;r&amp;#246;dande i andra l&amp;#228;gen.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4466398415869101140?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4466398415869101140/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4466398415869101140' title='3 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4466398415869101140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4466398415869101140'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/06/lazy-load-och-eager-load-med-linq-to.html' title='Lazy Load och Eager Load med LINQ to SQL'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4890141943882612317</id><published>2008-05-14T21:49:00.001+02:00</published><updated>2008-05-14T21:49:08.308+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='reSharper'/><title type='text'>reSharper 3.1 med C# 3.0...</title><content type='html'>&lt;p&gt;Ig&amp;#229;r installerade jag reSharper 3.1 p&amp;#229; min Visual Studio 2008. B&amp;#228;ttre intellisense, b&amp;#228;ttre refactoring-st&amp;#246;d och en allm&amp;#228;nt trevligare utvecklingsmilj&amp;#246; var det som lockade. Tyckte ocks&amp;#229; att det skulle bli kul att se vilket extra st&amp;#246;d man fick till de nya features i C# 3.0 s&amp;#229; utan att l&amp;#228;sa p&amp;#229; allt f&amp;#246;r mycket installerade jag den senaste versionen, 3.1. Hoppade direkt in och skapa en ny console application i mitt favorit direcotry d:\junk\ och b&amp;#246;rjade skriva min favorit LINQ-fr&amp;#229;ga: &lt;/p&gt; &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;\red43\green145\blue175;}??\fs24 \cf1 var\cf0  procs = \cf1 from\cf0  p \cf1 in\cf0  \cf4 Process\cf0 .GetProcesses()\par ??          \cf1 select\cf0  p;}&lt;br /&gt;--&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; procs = &lt;span style="color: blue"&gt;from&lt;/span&gt; p &lt;span style="color: blue"&gt;in&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Process&lt;/span&gt;.GetProcesses()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;select&lt;/span&gt; p;&lt;/p&gt; &lt;/div&gt;  &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0px"&gt;Men ist&amp;#228;llet f&amp;#246;r p s&amp;#229; poppade en skum intellisense upp och ville ha en typ av n&amp;#229;tt slag... skrev om skrev om och skrev om men jag fick inte till fr&amp;#229;gan. B&amp;#246;rjade tro att jag hade hamnat i akut LINQ-koma! Men det visade sig s&amp;#229; klart att reSharper 3.1 inte har st&amp;#246;d f&amp;#246;r C# 3.0 utan d&amp;#229; m&amp;#229;ste man v&amp;#228;nta till version 4.0.&lt;/p&gt;  &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0px"&gt;Det alternativ man har &amp;#228;r att ladda ner den &lt;a href="http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds" target="_blank"&gt;senaste nightly builden fr&amp;#229;n reSharper 4.0&lt;/a&gt; men det k&amp;#228;nns lite v&amp;#228;l hard core just nu med tanke p&amp;#229; att vissa av byggena &amp;#228;r taggade som Not Recommended.&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;S&amp;#229;, dags f&amp;#246;r avinstallation. In p&amp;#229; add/remove programs och plocka bort den - gick mycket sm&amp;#228;rtfritt och sedan tillbaka in till Visual Studio igen men...&lt;/p&gt;  &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0px"&gt;Ingen intellisense!&lt;/p&gt;  &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0px"&gt;Det visade sig dock att det bara var en checkbox under Tools/Options/Text Editor/C#. Av n&amp;#229;gon anledning &amp;#229;terst&amp;#228;ller inte avinstallationen av reSharper &amp;quot;Auto list members&amp;quot; - Puh!&lt;/p&gt;  &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;  &lt;p style="margin: 0px"&gt;Men visst &amp;#228;r det s&amp;#229; att man &amp;#228;r lite sugen p&amp;#229; att ladda ner senaste bygget och testa 4.0...&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4890141943882612317?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4890141943882612317/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4890141943882612317' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4890141943882612317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4890141943882612317'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/05/resharper-31-med-c-30.html' title='reSharper 3.1 med C# 3.0...'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7172860313082428402</id><published>2008-05-02T15:39:00.001+02:00</published><updated>2008-05-02T15:39:16.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><title type='text'>Plugin-pattern på webben</title><content type='html'>&lt;p&gt;Martin Fowler har i sin bok Patterns of Enterprise Application Architecture beskrivit ett plugin patter som man kan anv&amp;#228;nda f&amp;#246;r att l&amp;#228;nka ihop applikationer genom konfiguration ist&amp;#228;llet f&amp;#246;r vid kompilering. Min tanke var att bygga en webbapplikation, typ en portal, som sedan blir medveten om att andra applikationer existerar bara genom en konfigurering ist&amp;#228;llet f&amp;#246;r att man m&amp;#229;ste k&amp;#228;nna till den vid utveckling. Min vision var att kunna utveckla och uppgradera portalen f&amp;#246;r sig och sedan utveckla och uppgradera applikationer f&amp;#246;r sig.&lt;/p&gt;  &lt;p&gt;Jag b&amp;#246;rjade med att definiera ett interface som varje applikation m&amp;#229;ste implementera. Det interfacet ska kunna leverera information om applikationen i fr&amp;#229;ga:&lt;/p&gt; &lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs24     \cf3 public\cf0  \cf3 interface\cf0  \cf4 IApplicationInfo\par ??\cf0     \{\par ??        \cf3 string\cf0  ApplicationName \{ \cf3 get\cf0 ; \cf3 set\cf0 ; \}\par ??        \cf3 string\cf0  StartPage \{ \cf3 get\cf0 ; \cf3 set\cf0 ; \}\par ??    \}}&lt;br /&gt;--&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;interface&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IApplicationInfo&lt;/span&gt;&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;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;string&lt;/span&gt; ApplicationName { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Sedan la jag till en PluginFactory med en statisk metod getPlugin. Den metodens uppgift var att l&amp;#228;sa in assemblyt (snyggt ord) fr&amp;#229;n disk och skapa en instans av den klass som implementerar IApplicationInfo och returnera denna...&lt;/p&gt;  &lt;p&gt;&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;}??\fs24                 \cf3 var\cf0  assembly = \cf4 Assembly\cf0 .LoadFrom(assemblyName);\par ??                \cf3 var\cf0  assemblyTypes = \cf3 from\cf0  a \cf3 in\cf0  assembly.GetTypes()\par ??                                    \cf3 select\cf0  a;\par ??\par ??                \cf3 foreach\cf0  (\cf3 var\cf0  t \cf3 in\cf0  assemblyTypes)\par ??                \{\par ??                    \cf3 var\cf0  o = \cf4 Activator\cf0 .CreateInstance(t);\par ??                    \cf3 if\cf0  (o \cf3 is\cf0  \cf4 IApplicationInfo\cf0 )\par ??                        \cf3 return\cf0  o \cf3 as\cf0  \cf4 IApplicationInfo\cf0 ;\par ??                \}\par ??                \cf3 return\cf0  \cf3 null\cf0 ;}&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IApplicationInfo&lt;/span&gt; getPlugin(&lt;span style="color: blue"&gt;string&lt;/span&gt; assemblyName)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;blockquote&gt;     &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; assembly = &lt;span style="color: #2b91af"&gt;Assembly&lt;/span&gt;.LoadFrom(assemblyName);&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; assemblyTypes = &lt;span style="color: blue"&gt;from&lt;/span&gt; a &lt;span style="color: blue"&gt;in&lt;/span&gt; assembly.GetTypes()&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;select&lt;/span&gt; a;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue"&gt;var&lt;/span&gt; t &lt;span style="color: blue"&gt;in&lt;/span&gt; assemblyTypes)&lt;/p&gt;      &lt;p style="margin: 0px"&gt;{&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; o = &lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(t);&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;if&lt;/span&gt; (o &lt;span style="color: blue"&gt;is&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IApplicationInfo&lt;/span&gt;)&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;return&lt;/span&gt; o &lt;span style="color: blue"&gt;as&lt;/span&gt; &lt;span style="color: #2b91af"&gt;IApplicationInfo&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;}&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;return&lt;/span&gt; &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;F&amp;#246;rst placerade jag min PluginFactory i samma Visual Studio 2008 projekt som Portalen men det gjorde att mina enhetstester mot getPlugin blev otroligt sega att k&amp;#246;ra eftersom att den m&amp;#229;ste starta ig&amp;#229;ng webservern f&amp;#246;rst. Det blev dock betydligt b&amp;#228;ttre n&amp;#228;r jag flyttade ut den till ett eget class-library. Ett h&amp;#228;rligt bevis p&amp;#229; hur test-driven utveckling g&amp;#246;r att man fattar beslut tidigt som g&amp;#246;r att ens arkitektur blir mer testbar! &lt;/p&gt;  &lt;p&gt;N&amp;#228;sta steg var att l&amp;#228;gga till en AppSetting i min web.config f&amp;#246;r varje applikation som jag vill att portalen ska k&amp;#228;nna till och anv&amp;#228;nde mig av en LINQ-fr&amp;#229;ga f&amp;#246;r att h&amp;#228;mta ut dessa:&lt;/p&gt;  &lt;p&gt;&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red43\green145\blue175;\red163\green21\blue21;}??\fs24             \cf3 var\cf0  applications = \cf3 from\cf0  a \cf3 in\cf0  \cf4 ConfigurationManager\cf0 .AppSettings.AllKeys\par ??                               \cf3 where\cf0  a.StartsWith(\cf5 "FETApplication"\cf0 )\par ??                               \cf3 select\cf0  \cf3 new\cf0  \{ AssemblyName = \cf4 ConfigurationManager\cf0 .AppSettings[a] \};}&lt;br /&gt;--&gt;&lt;/p&gt;  &lt;div style="font-size: 12pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;var&lt;/span&gt; applications = &lt;span style="color: blue"&gt;from&lt;/span&gt; a &lt;span style="color: blue"&gt;in&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ConfigurationManager&lt;/span&gt;.AppSettings.AllKeys&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;where&lt;/span&gt; a.StartsWith(&lt;span style="color: #a31515"&gt;&amp;quot;PortalApplication&amp;quot;&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;select&lt;/span&gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; { AssemblyName = &lt;span style="color: #2b91af"&gt;ConfigurationManager&lt;/span&gt;.AppSettings[a] };&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Grymt coolt! Refelction, LINQ, plugin-patterns och allt m&amp;#246;jligt coolt men sen d&amp;#229;? Vad har jag vunnit med det h&amp;#228;r j&amp;#228;mf&amp;#246;rt med att bara l&amp;#228;gga in den h&amp;#228;r informationen i web.config eller i en databas. Hur ska jag nu f&amp;#229; mina applikationer att agera i portalen som om de var en del av portalen fr&amp;#229;n f&amp;#246;rsta b&amp;#246;rjan?&lt;/p&gt;  &lt;p&gt;Ju mer jag funderar p&amp;#229; det hela desto mer ser det ut som att det &amp;#228;r Facebook jag vill bygga (fast utan den sociala delen)... F&amp;#246;r det &amp;#228;r ju precis det Facebook &amp;#228;r, en portal med viss gemensam funktionalitet och ett antal tj&amp;#228;nster som sedan applikationsutvecklare kan nyttja f&amp;#246;r att bygga egna applikationer som jackas in i portalen. S&amp;#229; hur har Facebook l&amp;#246;st interaktionen mellan en applikation och portalen? K&amp;#246;r varje applikation i en IFrame eller? &amp;#196;r det n&amp;#229;gon som vet??&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7172860313082428402?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7172860313082428402/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7172860313082428402' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7172860313082428402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7172860313082428402'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/05/plugin-pattern-p-webben.html' title='Plugin-pattern på webben'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5729575074801212456</id><published>2008-04-22T11:57:00.005+02:00</published><updated>2008-04-22T12:16:06.326+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sprint Planning'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Estimering'/><title type='text'>Fråga via Messenger på min blog</title><content type='html'>Det är fantastiskt kul när någon kontaktar mig på Messenger genom min blog. Då känns det verkligen att det finns någon där på andra sidan som läser det man skriver då och då. Idag hände det för andra gången men den här gången var jag på lunch och kunde inte svara :-(&lt;br /&gt;&lt;br /&gt;Frågan handlade om hur man estimerar uppgifter i en sprintplanering i Scrum och om man bör dela upp estimaten för en uppgift i implementation respektive i test.&lt;br /&gt;&lt;br /&gt;På Sprint Definition Meeting (som man har innan Sprint Planning Meeting) kommer teamet överens med produktägaren vilka product backlog items man ska implementera under den kommande sprinten. Dessa bryter sedan teamet ner till uppgifter under sprintplanneringen och varje uppgift estimeras. Dessa uppgifter ska estimeras utifrån ett sedan tidigare definierat klart-begrepp där det i min värld absolut ingår test!&lt;br /&gt;&lt;br /&gt;Så säg att "Klart" för ett specifikt team betyder "Kodat, Verifierat, Granskat, Incheckat", ja då ska estimatet på 5 story points innebära att det är just kodat, verifierat, granskat och incheckat. Om klart-begreppet istället är "Kodat &amp;amp; Incheckat" (vilket det är för många utvecklare) så har man aktivt valt att lägga test utanför sprinten.&lt;br /&gt;&lt;br /&gt;Det kan så klart också vara helt okej att lägga test utanför sprinten. Om man tex har en testavdelning och en testprocess som är implementerad och fungerar bra så tycker jag inte att man ska riva den och flytta in testresurserna i teamen. I alla fall inte initialt, utan då tycker jag att man ska anpassa sig till det man har och se till att man ökar kvaliteten på sina leveranser till testavdelningen tex genom testdriven utveckling.&lt;br /&gt;&lt;br /&gt;John, hoppas att det här var svar på frågan du ställde på messenger och om inte är det bara att du hör av dig igen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5729575074801212456?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5729575074801212456/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5729575074801212456' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5729575074801212456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5729575074801212456'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/04/frga-via-messenger-p-min-blog.html' title='Fråga via Messenger på min blog'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-3097181148634760800</id><published>2008-04-16T10:58:00.002+02:00</published><updated>2008-04-22T12:15:37.803+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Bug vid konvertering till 2008?</title><content type='html'>Idag fick jag en fråga från en tidigare uppdragskollega om att konvertera en web-applikation jag jobbat med till Visual Studio 2008. Han hade försökt men lyckades inte och fick det härliga och informativa System.Runtime.InteropServices.COMException. Inget i event loggen, ingen info i konverteringsloggen, ingenting... Man tackar!&lt;br /&gt;&lt;br /&gt;Det projektet använder sig av EPiServer och Web Application Project (WAP). WAP var ju först en separat download till 2005, ingick sedan i SP1 och är nu en del av VS2008 så jag trodde att felet var där men icke. Felet ligger istället i hur de olika versionerna av Visual Studio hanterar om IIS finns installerat på utvecklarmaskinen eller inte.&lt;br /&gt;&lt;br /&gt;Det finns en inställning under project properties där man kan välja om man ska använda den inbyggda web servern eller om man ska använda IIS. I VS2005 kan man välja det senare alternativet även om man inte har IIS installerat men det kan man inte i VS2008 utan får ”The IIS Web Server is not installed on this computer”.&lt;br /&gt;&lt;br /&gt;Det trevliga COMException får man om man först skapar ett Web Application Project i 2005’an, sätter att den ska använda IIS utan att ha IIS installerat och sedan öppnar det i 2008’an.&lt;br /&gt;&lt;br /&gt;Så lösningen är antingen att se till att IIS är installerat innan konverteringen till 2008 eller så går man in i projektfilen och ändrar &lt;useiis&gt;True&lt;/useiis&gt; till False.&lt;br /&gt;&lt;br /&gt;[Update 2008-04-22]&lt;br /&gt;Buggen är &lt;a target="_blank" href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317124"&gt;verifierad&lt;/a&gt; sedan länge av produktteamet och kommer att rättas i nästa release (SP1).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-3097181148634760800?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/3097181148634760800/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=3097181148634760800' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3097181148634760800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3097181148634760800'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/04/bug-vid-konvertering-till-2008.html' title='Bug vid konvertering till 2008?'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-3322801219983504618</id><published>2008-04-15T09:01:00.003+02:00</published><updated>2008-04-15T09:11:40.735+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>.NET 3.5 Enhancements Training Kit</title><content type='html'>Som jag har skrivit i ett tidigare inlägg på min &lt;a href="http://bjorneriksen.blogspot.com/2008/02/vs2008-net-35-training-kit.html"&gt;blog&lt;/a&gt; så finns det ett VS2008 &amp;amp; .NET 3.5 Training Kit. Det här paketet har varit källan till en hel del när det gäller de seminarier jag har hållit tillsammans med Addskills om nyheterna i VS2008 och .NET Framework 3.5. Demos, slides och exempelkod har nyttjats.&lt;br /&gt;&lt;br /&gt;Nu är det släppt ett liknande training kit för .NET 3.5 Enhancments som berör följande, kommande, tekniker:&lt;br /&gt;- ADO.NET Data Services&lt;br /&gt;- ASP.NET MVC&lt;br /&gt;- ASP.NET Dynamic Data&lt;br /&gt;- ADO.NET Entity Framework&lt;br /&gt;- ASP.NET Ajax History&lt;br /&gt;- ASP.NET Silverlight Controls&lt;br /&gt;&lt;br /&gt;Med tanke på vilken källa till kunskap det förra training kittet har varit så kändes det här som en något perfekt att sätta tänderna i! Men... Det saknas en hel del.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"&lt;strong&gt;Presentations&lt;/strong&gt; will be added in a future release of the training kit."&lt;br /&gt;"&lt;strong&gt;Demos&lt;/strong&gt; will be added in a future release of the training kit."&lt;br /&gt;"&lt;strong&gt;Screencasts&lt;/strong&gt; will be added in a future release of the training kit."&lt;br /&gt;"&lt;strong&gt;Resources&lt;/strong&gt; will be added in a future release of the training kit."&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Det enda som finns med är ett par Hands-on labbar. Lite besviken blev jag men precis som de skriver så kommer det att komma i kommande releaser av training kitet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=355c80e9-fde0-4812-98b5-8a03f5874e96&amp;amp;DisplayLang=en"&gt;.NET 3.5 Enhancements Training Kit&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-3322801219983504618?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/3322801219983504618/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=3322801219983504618' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3322801219983504618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3322801219983504618'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/04/net-35-enhancements-training-kit.html' title='.NET 3.5 Enhancements Training Kit'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7575010045007747733</id><published>2008-04-15T08:51:00.002+02:00</published><updated>2008-04-15T08:59:47.128+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cert'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Dags för beta-cert!</title><content type='html'>Idag släpptes tre nya cert från Microsoft i det som kallas .NET 3.5 exams:&lt;br /&gt;&lt;br /&gt;70-502: Windows Presentation Foundation&lt;br /&gt;70-503: Windows Communication Foundation&lt;br /&gt;70-504: Windows Workflow Foundation&lt;br /&gt;&lt;br /&gt;Dom betatestades under början av året så om det var någon som skrev den under beta-tiden så börjar resultaten att trilla ner nu. Det tar alltså ett par månader från det att man skriver tills man får reda på om man klarade eller inte. Under tiden så utvärderas frågor och feedback, frågor stryks och ändras och sedan sätts en nivå som blir den som gäller för att klara beta-certet. Logga in på MCP-siten - där ser man resutlatet snabbast.&lt;br /&gt;&lt;br /&gt;Det är också två andra cert som just nu beta-testas:&lt;br /&gt;&lt;br /&gt;70-561: Microsoft .NET Framework 3.5, ADO.NET Application Development&lt;br /&gt;70-562: Microsoft .NET Framework 3.5, ASP.NET Application Development&lt;br /&gt;&lt;br /&gt;Betaperioden pågår fram till den 4 maj och det är gratis att skriva. Observera att tiden för certet är fyra timmar och att det är betydligt mycket fler frågor än på ett vanligt cert.&lt;br /&gt;&lt;br /&gt;När man ska anmäla sig till beta-cert behöver man en kod och certen börjar med nummer 71 istället för 70.&lt;br /&gt;&lt;br /&gt;71-561 – beta code = 561B1&lt;br /&gt;71-562 – beta code = 562B1&lt;br /&gt;&lt;br /&gt;Själv ska jag skriva den 29 och 30 april.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7575010045007747733?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7575010045007747733/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7575010045007747733' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7575010045007747733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7575010045007747733'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/04/dags-fr-beta-cert.html' title='Dags för beta-cert!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-942203833102129444</id><published>2008-03-12T08:23:00.002+01:00</published><updated>2008-03-12T08:30:55.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cert'/><title type='text'>Cert som pensioneras under 2009</title><content type='html'>Om ett år, 2009, så kommer ett antal Microsoft-cert som leder fram till MCAD, MCSD och MCDBA att pensioneras. Detta innebär dock inte att man kommer att förlora titeln från sitt transcript. Däremot innebär det att man inte längre kommer att kunna använda något av följande cert i sin examensplan:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-300.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-300: Analyzing Requirements and Defining Microsoft .NET Solution Architectures&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-301.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-301: Managing, Organizing, and Delivering IT Projects by Using Microsoft Solutions Framework 3.0&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-305.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-305: Developing and Implementing Web Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-306.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-306: Developing and Implementing Windows-based Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-310.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-310: Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and the Microsoft .NET Framework&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-315.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-315: Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-316.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-316: Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-320.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-320: Developing XML Web Services and Server Components with Microsoft Visual C# and the Microsoft .NET Framework&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-330.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-330: Implementing Security for Applications with Microsoft Visual Basic .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-340.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-340: Implementing Security for Applications with Microsoft Visual C# .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-228.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-228: Installing, Configuring, and Administering Microsoft SQL Server 2000 Enterprise Edition&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-229.mspx" target="_blank"&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt;Exam 70-229: Designing and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;font-size:78%;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-942203833102129444?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/942203833102129444/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=942203833102129444' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/942203833102129444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/942203833102129444'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/03/cert-som-pensioneras-under-2009.html' title='Cert som pensioneras under 2009'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6769965283939193747</id><published>2008-03-05T21:54:00.001+01:00</published><updated>2008-03-05T21:54:56.034+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><title type='text'>IE8</title><content type='html'>&lt;p&gt;Har just installerat IE8. Den blev som sagt tillg&amp;#228;nglig direkt n&amp;#228;r Scott hade avklarat sitt keynote och installationen gick otroligt smidigt. Kravet p&amp;#229; Vista &amp;#228;r SP1 vilket jag tror inte finns tillg&amp;#228;ngligt f&amp;#246;r svenska Vista &amp;#228;nnu.&lt;/p&gt;  &lt;p&gt;En riktigt cool grej &amp;#228;r att man kan starta IE8 i en simulerad IE7-mode. Som webbutvecklare finns alltid en oro att installera en ny version av en browser eftersom att man oftast utvecklar f&amp;#246;r den version som redan finns. Nu med IE8 kan man med en knapptryckning och en omstart k&amp;#246;ra IE8 som om den vore IE7 vilket &amp;#228;r grymt bra.&lt;/p&gt;  &lt;p&gt;En annan cool grej &amp;#228;r det lilla verktyget Developer Tools som h&amp;#228;nger med IE8. Det &amp;#228;r motsvarande funktionalitet som IE Developer Toolbar dvs att kunna hitta element p&amp;#229; siten osv. Den inneh&amp;#229;ller tre flikar. HTML, CSS och Script. De tv&amp;#229; f&amp;#246;rsta &amp;#228;r ganska sj&amp;#228;lvf&amp;#246;rklarande men den tredje... den tredje &amp;#228;r riktigt ball n&amp;#228;r det g&amp;#228;ller ajax och javascript utveckling eftersom att man d&amp;#228;rifr&amp;#229;n kan kliva in och debugga alla sidor man g&amp;#229;r in p&amp;#229;. Hela sidans kod visas och man kan s&amp;#228;tta breakpoints och debugga d&amp;#228;r och d&amp;#229;!&lt;/p&gt;  &lt;p&gt;WebSlices verkar ocks&amp;#229; r&amp;#228;tt coolt men det har jag &amp;#228;nnu inte kolla p&amp;#229;. Det kommer nog i n&amp;#228;sta post...&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6769965283939193747?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6769965283939193747/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6769965283939193747' title='5 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6769965283939193747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6769965283939193747'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/03/ie8.html' title='IE8'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7039963023077943866</id><published>2008-03-05T21:08:00.001+01:00</published><updated>2008-03-05T21:08:00.263+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Mix08 keynote</title><content type='html'>&lt;p&gt;Sitter hemma och kollar p&amp;#229; en live s&amp;#228;ndning fr&amp;#229;n Mix08 i Las Vegas med Scott Guthrie.&lt;/p&gt;  &lt;p&gt;Lite av det som pratas om:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hard Rock-cafe har byggt en grymt grymt grymt cool applikation baserad p&amp;#229; Silverlight och Depp Zoom. Johan Lindfors visade Deep Zoom p&amp;#229; lanseringseventet men p&amp;#229; det s&amp;#228;tt Hard Rock har anv&amp;#228;nt det &amp;#228;r helt otroligt. Siten finns p&amp;#229; &lt;a title="http://memorabilia.hardrock.com/" href="http://memorabilia.hardrock.com/"&gt;http://memorabilia.hardrock.com/&lt;/a&gt; och handlar om all memorabilia de har. Missa den inte!&lt;/li&gt;    &lt;li&gt;Beta 1 av IE8 kommer att finnas tillg&amp;#228;nglig f&amp;#246;r nerladdning direkt efter keynote. H&amp;#228;r &amp;#228;r l&amp;#228;nken:     &lt;br /&gt;&lt;a title="http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/Install.htm" href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/Install.htm"&gt;http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/Install.htm&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;En ny version av Expression Blend kommer att g&amp;#246;ras tillg&amp;#228;nglig. Den heter 2.5 March Preview och kommer att ytterligare f&amp;#246;rb&amp;#228;ttra hur man jobbar med WPF, Silverlight 1.0 och Silverlight 2. &lt;a title="http://silverlight.net/default.aspx" href="http://silverlight.net/default.aspx"&gt;http://silverlight.net/default.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Silverlight on mobile &amp;#228;r p&amp;#229; god v&amp;#228;g. En demo av en social-n&amp;#228;tverks-app p&amp;#229; Windows Mobile 6 p&amp;#229; en HTC Touch var r&amp;#228;tt cool. Det intressanta &amp;#228;r att man kan nu utveckla en silverlight app i Visual Studio och Blend och sedan publicera den p&amp;#229; mobil utan att &amp;#228;ndra ett smack. Lite kul att Scott Gu ocks&amp;#229; levererar &amp;quot;nyheten&amp;quot; att man ocks&amp;#229; kommer att kunna k&amp;#246;ra Silverlight p&amp;#229; Nokia-telefoner som k&amp;#246;r Symbian OS. Den h&amp;#228;r nyheten tipsade dock min kollega P&amp;#228;r Gradin mig om redan i f&amp;#246;rmiddags p&amp;#229; v&amp;#229;rt uppdrag in the hood...&lt;/li&gt;    &lt;li&gt;Visual Studio 2008 Tools for Silverlight Beta 1 finns tillg&amp;#228;ngligt f&amp;#246;r nerladdning. &lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=E0BAE58E-9C0B-4090-A1DB-F134D9F095FD&amp;amp;displaylang=en&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Jag kan varmt rekomendera att se hela keynoten som kommer att finnas tillg&amp;#228;nglig p&amp;#229; visitmix.com om 24 timmar.&lt;/p&gt;  &lt;p&gt;Det coolaste &amp;#228;r nog &amp;#228;nd&amp;#229; att de spelade Johnny Cash n&amp;#228;r g&amp;#228;sterna skulle komma in p&amp;#229; scen! The man in black rules!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7039963023077943866?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7039963023077943866/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7039963023077943866' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7039963023077943866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7039963023077943866'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/03/mix08-keynote.html' title='Mix08 keynote'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5774215982612887057</id><published>2008-02-29T10:55:00.004+01:00</published><updated>2008-02-29T11:17:23.202+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Utbildning'/><title type='text'>Länkar till scrum &amp; agile</title><content type='html'>I materialet till min &lt;a href="http://www.addskills.se/Utbildning/Kurs/?courseid=258" target="_blank"&gt;Scrum-kurs&lt;/a&gt; som jag ger på Addskills eller på ett företag nära dig har jag en samling med länkar till verktyg, böcker, bloggar osv som kan vara bra att ha. Av någon anledning finns den inte med i det tryckta materialet så nu tänkte jag att jag lägger ut den här istället.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Länkar: &lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mountaingoatsoftware.com/" target="_blank"&gt;http://www.mountaingoatsoftware.com/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.planningpoker.com/" target="_blank"&gt;http://www.planningpoker.com/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/agile" target="_blank"&gt;http://www.infoq.com/agile&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.agilemanifesto.org/" target="_blank"&gt;http://www.agilemanifesto.org/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.agilealliance.org/" target="_blank"&gt;http://www.agilealliance.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;strong&gt;Böcker:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ken Schwaber &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Agile Project Management with Scrum&lt;/li&gt;&lt;li&gt;The Enterprise and Scrum&lt;/li&gt;&lt;li&gt;Agile Software Development with Scrum&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Mike Cohn &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Agile Estimating ang Planning&lt;/li&gt;&lt;li&gt;User Stories Applied: For Agile Software Development&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Jean Tabaka &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Collaboration Explained&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Kent Beck&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Extreme Programming Explained: Embrace Change (2nd Edition)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Martin Fowler &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Refactoring: Improving the Design of Existing Code&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Andy Hunt and Dave Thomas&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pragmatic Unit Testing in C# with NUnit&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;br /&gt;&lt;/ul&gt;&lt;strong&gt;Verktyg:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;nAnt: &lt;a href="http://nant.sourceforge.net/" target="_blank"&gt;http://nant.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CruiseControl.NET: &lt;a href="http://ccnet.thoughtworks.com/" target="_blank"&gt;http://ccnet.thoughtworks.com/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CCNetConfig – Configuration Tool For CC: &lt;a href="http://www.codeplex.com/ccnetconfig" target="_blank"&gt;http://www.codeplex.com/ccnetconfig&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;TFS Plug-in for CC.NET: &lt;a href="http://www.codeplex.com/TFSCCNetPlugin" target="_blank"&gt;http://www.codeplex.com/TFSCCNetPlugin&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;NUnit: &lt;a href="http://www.nunit.org/" target="_blank"&gt;http://www.nunit.org/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CIFactory – Set up CI in a minute: &lt;a href="http://www.cifactory.org/joomla/" target="_blank"&gt;http://www.cifactory.org/joomla/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;nCover – Code Coverage for .NET: &lt;a href="http://ncover.org/site/" target="_blank"&gt;http://ncover.org/site/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;XTUnit – Rollback för nUnit-tester: &lt;a href="http://tools.osherove.com/" target="_blank"&gt;http://tools.osherove.com/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;TestDriven.net: &lt;a href="http://www.testdriven.net/" target="_blank"&gt;http://www.testdriven.net/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5774215982612887057?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5774215982612887057/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5774215982612887057' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5774215982612887057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5774215982612887057'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/02/lnkar-till-scrum-agile.html' title='Länkar till scrum &amp; agile'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8039872678909464750</id><published>2008-02-28T14:34:00.003+01:00</published><updated>2008-02-29T10:58:53.988+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cert'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Cert för Visual Studio 2008</title><content type='html'>I samband med att jag håller kurser och seminarier om Visual Studio 2008 får jag ofta frågor om vad det är för cert på gång för VS2008.&lt;br /&gt;&lt;br /&gt;Microsoft är på väg att släppa sex nya titlar:&lt;br /&gt;• MCTS: .NET Framework 3.5, Windows Presentation Foundation Applications&lt;br /&gt;• MCTS: .NET Framework 3.5, Windows Communication Foundation Applications&lt;br /&gt;• MCTS: .NET Framework 3.5, Windows Workflow Foundation Applications&lt;br /&gt;• MCTS: .NET Framework 3.5, Windows Forms Applications&lt;br /&gt;• MCTS: .NET Framework 3.5, ADO.NET Applications&lt;br /&gt;• MCTS: .NET Framework 3.5, ASP.NET Applications&lt;br /&gt;&lt;br /&gt;Den core-exam 70-536 som funnits länge nu är grundkravet för samtliga titlar.&lt;br /&gt;&lt;br /&gt;Som det ser ut just nu ska de bli tillgängliga i april 2008.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8039872678909464750?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8039872678909464750/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8039872678909464750' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8039872678909464750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8039872678909464750'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/02/cert-fr-visual-studio-2008.html' title='Cert för Visual Studio 2008'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2958779545034812320</id><published>2008-02-19T10:22:00.003+01:00</published><updated>2008-02-19T10:30:38.772+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>VS2008 &amp; .net 3.5 Training Kit</title><content type='html'>Vill passa på att tacka alla som kom på mitt seminarium i Visual Studio. Min tidsplanering under förmiddagen var katastrof men det är ju så kul när det bli mycket frågor så jag hoppas att ni tycker att det också var givande. Under eftermiddagen körde jag ett betydligt högre tempo och han igenom hela materialet... Till och med SharePoint-demo!&lt;br /&gt;&lt;br /&gt;Jag får en del frågor om exemplekod och demoprojekt och tänkte hänvisa till det material som ligger till grund för min presentation. &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8bdaa836-0bba-4393-94db-6c3c4a0c98a1&amp;amp;DisplayLang=en" target="_blank"&gt;Visual Studio 2008 and .NET Framework 3.5 Training Kit&lt;/a&gt; Ett riktigt bra paket som innehåller presentationer, labbar och demos. Väl värt att ladda ner och installera!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2958779545034812320?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2958779545034812320/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2958779545034812320' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2958779545034812320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2958779545034812320'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/02/vs2008-net-35-training-kit.html' title='VS2008 &amp; .net 3.5 Training Kit'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7723489194211801991</id><published>2008-02-12T09:22:00.001+01:00</published><updated>2008-02-12T09:38:55.117+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Super tuesday! - Känns stort!</title><content type='html'>Det snackas om att amerikanska valet hade sin Super Tuesday, dvs den dagen när halva landet går till primärval. Snick-snack, idag är det Super Tuesday, i alla fall för mig! Kan dessa releaser möjlighen ha nått att göra med att Microsoft kör TechReady i Seattle den här veckan??&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Server 2008 RTM&lt;/strong&gt;. It´s out, finally! Gamla goda Longhorn får äntligen se dagens ljus. Känns stort. Produkten kommer att lanseras tillsammans med lanseringen av VS2008 och SQL Server 2008 inom kort vilket osökt leder mig in på nästa puck.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VIP-inbjudan till lanseringen av produkterna&lt;/strong&gt;. Som en av 150 utvecklare har jag fått en inbjudan till lanseringen idag. Känns också stort och speciellt kul i och med att jag har varit ute och pratat om VS2008 i ett par månader nu.&lt;br /&gt;&lt;br /&gt;Sedan finns det inte någon koppling till nästa punken men det känns ändå stort.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Windows Vista SP1 RTM!&lt;/strong&gt; Jag har själv inte haft några problem alls med Vista men har hört att det ska bli bättre och snabbare med SP1 vilket aldrig är fel. Ska nog ändå vänta tills efter fredag innan jag installerar. För på fredag ska jag hålla ett &lt;a href="http://www.addskills.se/Utbildning/Kurs/?CourseID=301" target="_blank"&gt;seminarium i Visual Studio 2008&lt;/a&gt; och väntar ca 100 pers på fm och 100 pers på em. Lite trist om datorn skulle paja idag då!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7723489194211801991?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7723489194211801991/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7723489194211801991' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7723489194211801991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7723489194211801991'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/02/super-tuesday-knns-stort.html' title='Super tuesday! - Känns stort!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7799691993872426883</id><published>2008-02-08T07:36:00.000+01:00</published><updated>2008-02-08T07:55:40.078+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>SharePoint &amp; VS2008</title><content type='html'>När man är ute och pratar om Visual Studio 2008 eller SharePoint får man ofta frågan om hur bra och på vilket sätt de funkar tillsammans. Till VS2005 finns ett tilläggspaket som kallas &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=19F21E5E-B715-4F0C-B959-8C6DCBDC1057&amp;amp;displaylang=en" target="_blank"&gt;SharePoint extensions&lt;/a&gt;. Då får man tillgång till ett antal projekt och itemtemplates samt ett enkelt sätt att deploya till en utvecklingsmiljö.&lt;br /&gt;&lt;br /&gt;I VS2008 och VS Tools for Office (som nu ingår i produkten - lysande! Nu kan äntligen OBA´s ta fart på allvar!!) finns stöd för att bygga SharePoint Workflows. På ett otroligt smidigt sätt kan man bygga ett workflow, deploya och debugga. Antalet steg som man behöver göra är drastiskt minskade! Men allt det andra då? Om man vill bygga en Site Defenition, hur gör man då?&lt;br /&gt;&lt;br /&gt;Eftersom att SharePoint extensions inte finns för VS2008 har jag rekomenderat att avvakta men det finns lösningar. När det gäller VS2008 extensions for SharePoint så kommer det att släppas i juni 2008 och fram tills dess kan man använda sig av &lt;a href="http://blogs.msdn.com/gayanpeiris/archive/2008/01/30/stsdev-simple-tools-for-sharepoint-2007-development.aspx" target="_blank"&gt;STSDEV&lt;/a&gt; som min mentee på Connecta Jouni Pakarinen tipsade mig om. Jag ser fram emot en demo Jouni!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7799691993872426883?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7799691993872426883/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7799691993872426883' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7799691993872426883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7799691993872426883'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/02/sharepoint-vs2008.html' title='SharePoint &amp; VS2008'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7933980879782893750</id><published>2008-01-16T23:26:00.001+01:00</published><updated>2008-01-16T23:26:43.018+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Planning Poker'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><title type='text'>Connectas Planning Poker-kortlekar klara!</title><content type='html'>&lt;p&gt;Nu &amp;#228;r &amp;#228;ntligen Connectas kortlekar f&amp;#246;r Planning Poker tryckta och klara. Det &amp;#228;r inte utan lite stolthet som man f&amp;#229;r b&amp;#246;rja sprida ut kortlekar till agila projekt runt om i organisationen. I det projekt jag jobbar i nu kunde det inte ha kommit l&amp;#228;mpligare utan vi fick direkt anv&amp;#228;ndning f&amp;#246;r dem i en v&amp;#228;ldigt lyckad pokersession i fredags.&lt;/p&gt;  &lt;p&gt;Mest troligt har vi tyv&amp;#228;rr tagit p&amp;#229; oss f&amp;#246;r mycket jobb i den h&amp;#228;r sprinten. Speciellt med tanke p&amp;#229; att jag sj&amp;#228;lv &amp;#228;r hemma med sjukt barn idag och imorgon och h&amp;#229;ller ett &lt;a href="http://www.addskills.se/Utbildning/Kurs/?CourseID=301" target="_blank"&gt;seminarium i Visual Studio 2008&lt;/a&gt; tillsammans med Addskills p&amp;#229; fredag. Det &amp;#228;r r&amp;#228;tt m&amp;#229;nga timmar som f&amp;#246;rsvinner i ett team p&amp;#229; fyra personer i en sprint p&amp;#229; tv&amp;#229; veckor :-S&lt;/p&gt;  &lt;p&gt;Nu har jag precis skickat in mina slides inf&amp;#246;r fredagen och imorgon ska jag n&amp;#246;ta mina demos.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7933980879782893750?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7933980879782893750/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7933980879782893750' title='1 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7933980879782893750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7933980879782893750'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2008/01/connectas-planning-poker-kortlekar.html' title='Connectas Planning Poker-kortlekar klara!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7519784591027524973</id><published>2007-12-08T10:26:00.000+01:00</published><updated>2007-12-08T10:59:00.967+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Volta'/><title type='text'>Microsoft Volta rockar!</title><content type='html'>Tidigare i veckan släpptes en Community Technology Preview av Microsoft Volta. Volta är en extension till Visual Studio 2008 som är till för att hjälpa utvecklare att bygga distribuerade webbapplikationer. Först designar och bygger man en applikation som en klientapplikation. Volta tolkar den .NET-kod man skrivit och skriver om den till JavaScript. Så alla .NET bibliotekt man använt tolkas och konverteras till JavaScript. Det finns också möjlighet att komma åt HTML-DOM-element från .NET koden och manipulera dessa.&lt;br /&gt;&lt;br /&gt;Volta jobbar på MSIL istället för källkod i from av text och använder MSIL-koden för att göra omskrivningen till annan kod. I och med att man använder omskrivning som teknik kan man vara väldigt sent i utvecklingsfasen innan man bestämmer hur man ska distribuera sin applikation mellan olika lager.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Arkitektur refactoring&lt;/strong&gt;&lt;br /&gt;Programmeringsmodellen i Volta tar refactoring till en ny nivå och möjliggör att med hjälp av attribut styra var delar av en applikation ska exekvera. Så bara genom att ange ett attribut på en klass: [RunAtOrigin()] så säger man åt Volta att istället för att skapa JavaScript för den klassen så skapas en WCF-tjänst som automatiskt accessas från JavaScript-klienten. Det möjliggör också att man på ett väldigt enkelt sätt kan bygga in asyncrona mönster i sina applikationer. Det är bara att lägga till ett [Async]-attribut och ge möjlighet att lägga till en callback-metod.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Långt in i framtiden&lt;/strong&gt;&lt;br /&gt;Eftersom att det här är en första CTP av Volta så är det fortfarande på ett väldigt expermintellt stadium och inte ens säkert att det kommer att ingå i någon produkt. Men det är i alla fall grymt coolt!&lt;br /&gt;&lt;br /&gt;Det finns mycket mer att läsa och ett enkelt exempel att följa på: &lt;a href="http://labs.live.com/volta/" target="_blank"&gt;http://labs.live.com/volta/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7519784591027524973?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7519784591027524973/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7519784591027524973' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7519784591027524973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7519784591027524973'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/12/microsoft-volta-rockar.html' title='Microsoft Volta rockar!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4838114724602712570</id><published>2007-12-04T13:44:00.001+01:00</published><updated>2007-12-04T13:44:37.788+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><category scheme='http://www.blogger.com/atom/ns#' term='EssUP'/><title type='text'>EssUp kommer att bli gratis</title><content type='html'>&lt;p&gt;B&amp;#246;rjan av det h&amp;#228;r inl&amp;#228;gget handlar mycket om besvikelse men det kommer att v&amp;#228;ndas lite l&amp;#228;ngre ner&amp;#8230; Jag s&amp;#228;ger inte att det v&amp;#228;nds till odelad positivism men det v&amp;#228;nder i alla fall&amp;#8230;&lt;/p&gt;  &lt;p&gt;P&amp;#229; TechEd Developers i Barcelona i november tr&amp;#228;ffade jag representanter f&amp;#246;r Ivar Jacobsons f&amp;#246;retag Ivar Jacobson Consulting f&amp;#246;r att prata lite mer om deras Essential Unified Process (EssUP). Jag blev ganska besviken ett &amp;#229;r tidigare n&amp;#228;r jag var p&amp;#229; TechEd Developers och lyssnade p&amp;#229; Ivar prata om EssUP f&amp;#246;r f&amp;#246;rsta g&amp;#229;ngen men t&amp;#228;nkte att jag skulle ge den en ny chans.&lt;/p&gt;  &lt;p&gt;&amp;#196;ven denna g&amp;#229;ng blev jag besviken d&amp;#229; jag fick informationen att EssUP bara kommer att vara tillg&amp;#228;ngligt f&amp;#246;r Ivar Jacobson Consultings kunder. Dvs att om man anlitar dom och deras konsulttj&amp;#228;nster s&amp;#229; f&amp;#229;r man ocks&amp;#229; tillg&amp;#229;ng till processen.&lt;/p&gt;  &lt;p&gt;Dag K&amp;#246;nig skrev i ett &lt;a href="http://buzzfrog.blogs.com/zabrak/2007/11/essential-unifi.html"&gt;inl&amp;#228;gg p&amp;#229; hans blog&lt;/a&gt; att han var glad att EssUP sl&amp;#228;pps f&amp;#246;r Team Foundation Server s&amp;#229; jag st&amp;#228;llde fr&amp;#229;gan till honom om det st&amp;#228;mmer att EssUP inte &amp;#228;r gratis. Han st&amp;#228;llde fr&amp;#229;gan vidare till Ivar Jacobson Consulting och fick samma svar: &lt;i&gt;EssUP och EssWork &amp;#228;r idag gratis f&amp;#246;r alla v&amp;#229;ra kunder. Man f&amp;#229;r allts&amp;#229; tillg&amp;#229;ng till allt v&amp;#229;rt IP som en del av ett engagemang (utbildning och/eller konsultuppdrag).&lt;/i&gt; Det h&amp;#228;r k&amp;#228;nns helt galet! Att idag lansera en agil process som &amp;#228;r s&amp;#229; starkt kopplad till ett f&amp;#246;retag k&amp;#228;nns helt fel.&lt;/p&gt;  &lt;p&gt;N&amp;#229;gon dag senare l&amp;#228;ste jag en kolumn i Computer Sweden skriven av Ivar Jacobson och d&amp;#229; t&amp;#228;nkte jag att jag m&amp;#229;ste g&amp;#229; till k&amp;#228;llan f&amp;#246;r att f&amp;#229; r&amp;#228;tt information. S&amp;#229; jag skrev ihop ett mail till Ivar och st&amp;#228;llde samma fr&amp;#229;ga: &lt;i&gt;&amp;#8221;Hur ska jag som frist&amp;#229;ende konsult kunna anv&amp;#228;nda mig av EssUP p&amp;#229; mina kunder om jag inte f&amp;#229;r tillg&amp;#229;ng till materialet?&amp;#8221;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;N&amp;#229;gon dag senare fick jag ocks&amp;#229; ett svar fr&amp;#229;n Ivar! Svaret var v&amp;#228;ldigt positivt men det som &amp;#228;r lite oroande &amp;#228;r varf&amp;#246;r de ger s&amp;#229; olika svar p&amp;#229; samma fr&amp;#229;ga. I alla fall s&amp;#229; var Ivars svar: &lt;i&gt;&amp;#8221;&lt;/i&gt; &lt;i&gt;N&amp;#228;r det handlar om &amp;#8221;produkterna&amp;#8221; EssUP and EssWork s&amp;#229; skall dessa bli fria. Innan de &amp;#228;r fria genomg&amp;#229;r de en f&amp;#246;rfining tillsammans med 10-20 kunder &amp;#246;ver hela v&amp;#228;rlden.Vi vill inte g&amp;#246;ra n&amp;#229;got fritt som man inte kan lyckas med utan hj&amp;#228;lp av oss.&amp;#8221;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;EssUP kommer allts&amp;#229; att bli gratis och helt fritt. Paketet kommer att doneras till Eclipse Process Framework d&amp;#228;r det kommer att finnas en EssWork community. Det finns ocks&amp;#229; verktygsst&amp;#246;d f&amp;#246;r Visual Studio och Eclipse p&amp;#229; klientsidan samt f&amp;#246;r Team Foundation Server och JIRA p&amp;#229; serversidan.&lt;/p&gt;  &lt;p&gt;Jag kommer att skriva fler inl&amp;#228;gg om EssUP inom kort n&amp;#228;r jag b&amp;#246;rjar f&amp;#229; tag i material och testat att installera EssWork p&amp;#229; Team Foundation Server.&lt;/p&gt;  &lt;p&gt;Som sagt &amp;#228;r jag inte odelat positiv till EssUp men jag ska ge det en &amp;#228;rlig chans och min st&amp;#246;rsta besvikelse har v&amp;#228;nt och f&amp;#246;rhoppningsvis kommer jag att hitta delar jag kan anv&amp;#228;nda &amp;#228;ven om det skulle vara Scrum som anv&amp;#228;nds som process.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4838114724602712570?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4838114724602712570/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4838114724602712570' title='2 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4838114724602712570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4838114724602712570'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/12/essup-kommer-att-bli-gratis.html' title='EssUp kommer att bli gratis'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7793138182776979953</id><published>2007-11-26T10:36:00.001+01:00</published><updated>2007-11-26T10:36:17.516+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Musik'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><title type='text'>Sagan om Ringen - live</title><content type='html'>&lt;p&gt;Ig&amp;#xE5;r var jag och en kompis och s&amp;#xE5;g Howard Shore och Kungliga Filharmonikerna framf&amp;#xF6;ra musiken fr&amp;#xE5;n Sagan om Ringen-trilogin. Det var en m&amp;#xE4;ktig upplevelse att se Howard med stor inlevelse dirigerade orkestern och den makal&amp;#xF6;sa k&amp;#xF6;ren. Till st&amp;#xF6;d f&amp;#xF6;r minnet s&amp;#xE5; projicerades ocks&amp;#xE5; illustrationer fr&amp;#xE5;n filmerna p&amp;#xE5; filmdukar runt orkestern. Det blev dock lite v&amp;#xE4;l l&amp;#xE5;ngt kan jag tycka och jag hade vissa stunder lite sv&amp;#xE5;rt att koncentrera mig och b&amp;#xF6;rjade ist&amp;#xE4;llet t&amp;#xE4;nkte p&amp;#xE5; annat. Vilket inte &amp;#xE4;r fel &amp;#x2013; hur ofta f&amp;#xE5;r man m&amp;#xF6;jligheten att sitta och filosofera till en s&amp;#xE5;dan bakgrund!&lt;/p&gt;  &lt;p&gt;Mina funderingar gick oftast till hur mycket en dirigent egentligen tillf&amp;#xF6;r? N&amp;#xE5;gon som vet? H&amp;#xE4;r har vi ett minst sagt h&amp;#xF6;gpresterande team av otroligt skickliga individer och tillsammans presterar n&amp;#xE5;got som i sin helhet ger mycket mer &amp;#xE4;n summan av dess ing&amp;#xE5;ende delar. Men fr&amp;#xE5;gan &amp;#xE4;r; skulle de klara det lika bra utan sin ledare? I det h&amp;#xE4;r fallet &amp;#xE4;r teamet (Filharmonikerna) vana att jobba tillsammans, de kan den dom&amp;#xE4;n de verkar i och k&amp;#xE4;nner till varandras styrkor och svagheter. Men deras Scrum master (dirigenten Howard) har inte jobbat n&amp;#xE5;tt med teamet s&amp;#xE5; vad har han egentligen att tillf&amp;#xF6;ra?&lt;/p&gt;  &lt;p&gt;Jag pratade med en stolt mamma till ett av barnen i k&amp;#xF6;ren som &amp;#xE4;ven var p&amp;#xE5; genrepet och d&amp;#xE4;r hade Howard tydligen avbrutit m&amp;#xE5;nga g&amp;#xE5;nger och guidat orkestern n&amp;#xE4;r de inte spelade som han ville s&amp;#xE5; visst &amp;#xE4;r det s&amp;#xE5; att han g&amp;#xF6;r skillnad. Men eftersom att teamet redan fr&amp;#xE5;n start &amp;#xE4;r s&amp;#xE5; pass h&amp;#xF6;gpresterande s&amp;#xE5; beh&amp;#xF6;vs inte s&amp;#xE5; mycket guidning fr&amp;#xE5;n Scrum Mastern utan han (i det h&amp;#xE4;r fallet) kan bara g&amp;#xF6;ra sm&amp;#xE5; justeringar f&amp;#xF6;r att n&amp;#xE5; perfektion.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7793138182776979953?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7793138182776979953/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7793138182776979953' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7793138182776979953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7793138182776979953'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/sagan-om-ringen-live.html' title='Sagan om Ringen - live'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6294814129983696541</id><published>2007-11-23T11:41:00.001+01:00</published><updated>2007-11-23T11:41:07.231+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Visual Studio 2008 - installation och utbildning</title><content type='html'>&lt;p&gt;Min nerladdning och installation av Visual Studio 2008 gick relativt sm&amp;#xE4;rtfritt. Jag f&amp;#xF6;ljde &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx" target="_blank"&gt;Scott Guthrie's tips&lt;/a&gt; hade inga st&amp;#xF6;rre problem. F&amp;#xF6;rsta g&amp;#xE5;ngen jag k&amp;#xF6;rde installationen s&amp;#xE5; avbr&amp;#xF6;ts den pga att en Windows Update som inte hade blivit klar pl&amp;#xF6;tsligt blev det. Men efter omstart s&amp;#xE5; funkade det dock perfekt. VS2008 &amp;#xE4;r den enda versionen jag har p&amp;#xE5; min maskin men jag har ocks&amp;#xE5; gjort en installation p&amp;#xE5; en virtuell maskin d&amp;#xE4;r jag sedan tidigare hade 2005 - &amp;#xE4;ven det utan problem.&lt;/p&gt;  &lt;p&gt;En kollega till mig har dock haft en hel del problem men han valde att f&amp;#xF6;sta avinstallera VS2005 innan han la in 2008. L&amp;#xE4;s mer om det p&amp;#xE5; &lt;a href="http://workflowfoundation.blogspot.com/2007/11/installation-av-vs2008.html" target="_blank"&gt;hans blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Jag k&amp;#xF6;rde en heldagsutbildning ig&amp;#xE5;r i Visual Studio 2008 p&amp;#xE5; Microsoft f&amp;#xF6;r deras ISV Partners och trodde jag skulle kunna s&amp;#xE4;ga att jag var en s&amp;#xE5;n d&amp;#xE4;r cool kille som h&amp;#xE5;llit utbildning p&amp;#xE5; en betaprodukt. Men eftersom att den sl&amp;#xE4;pptes innan s&amp;#xE5; k&amp;#xE4;nde jag mig tvingad att installera den nya. S&amp;#xE5; nu f&amp;#xE5;r jag v&amp;#xE4;l s&amp;#xE4;ga att jag var ganska tidigt ute att h&amp;#xE5;lla utbildning efter release...&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6294814129983696541?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6294814129983696541/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6294814129983696541' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6294814129983696541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6294814129983696541'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/visual-studio-2008-installation-och.html' title='Visual Studio 2008 - installation och utbildning'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-3710871324924337839</id><published>2007-11-19T15:46:00.001+01:00</published><updated>2007-11-19T15:46:49.462+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>VS 2008 RTM idag!</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Nu s&amp;#xE4;gs det d&amp;#xE5; att Visual Studio 2008 ska vara sl&amp;#xE4;ppt och finnas att ladda ner p&amp;#xE5; MSDN. Problemet &amp;#xE4;r bara det att just nu f&amp;#xE5;r man ett felmeddelande p&amp;#xE5; MSDN n&amp;#xE4;r man f&amp;#xF6;rs&amp;#xF6;ker g&amp;#xE5; in p&amp;#xE5; download-siten.&lt;/p&gt;  &lt;p&gt;Server Error in '/' Application.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;The file '/home.aspx' has not been pre-compiled, and cannot be requested.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;S&amp;#xE5; man f&amp;#xE5;r v&amp;#xE4;l testa ikv&amp;#xE4;ll ist&amp;#xE4;llet...&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-3710871324924337839?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/3710871324924337839/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=3710871324924337839' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3710871324924337839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/3710871324924337839'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/vs-2008-rtm-idag.html' title='VS 2008 RTM idag!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4752353163895674154</id><published>2007-11-16T16:32:00.000+01:00</published><updated>2007-11-16T16:50:54.194+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Utbildning'/><title type='text'>Min Scrum-artikel är online!</title><content type='html'>Jag har skrivit en artikel för AddSkills (fd Jönsson och Lepp) om Scrum och nu, i samband med namnbytet och lanseringen av deras nya site så finns den &lt;a target="_blank" href="http://www.addskills.se/nyheter_press/Artiklar/Scrum/"&gt;online&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Jag har precis avslutat det andra tillfället av min två-dagars-kurs &lt;a target="_blank" href="http://www.addskills.se/Utbildning/Kurs/?CourseID=258"&gt;Scrum i Praktiken&lt;/a&gt; och hade nio mycket nöjda deltagare. De sista sidorna i mitt kursmaterial är lite rekommenderad läsning och länkar. Detta har av någon anledning AddSkills klippt bort så jag tänkte att jag ska få till en blog-post med det innehållet.&lt;br /&gt;&lt;br /&gt;Den här gången har det varit väldigt väldigt mycket frågor om allt från enhetstesting till hur man bemannar Scrum-team och hur 17 man ska kunna estimera i Story Points. Väldigt utmanande och utvecklande!&lt;br /&gt;&lt;br /&gt;Nu när den här kursen är avslutat blir fokus helt på en jump start i Visual Studio som jag ska hålla nästa vecka på Microsoft för Microsofts räkning. Där är maxantalet 50 personer vilket ska bli en ny upplevelse!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4752353163895674154?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4752353163895674154/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4752353163895674154' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4752353163895674154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4752353163895674154'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/min-scrum-artikel-r-online.html' title='Min Scrum-artikel är online!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-9202769655304789733</id><published>2007-11-05T17:46:00.000+01:00</published><updated>2007-11-05T17:48:39.221+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Release av Visual Studio 2008 i november!</title><content type='html'>Idag på Keynote på TechEd developers fick vi den trevliga nyheten att Visual Studio 2008 och .Net Framework 3.5 kommer att släppas på MSDN i november! Som annonserats tidigare så kommer de att lanseras tillsammans med Windows Server 2008 och SQL Server 2008 i februari.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-9202769655304789733?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/9202769655304789733/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=9202769655304789733' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/9202769655304789733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/9202769655304789733'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/release-av-visual-studio-2008-i.html' title='Release av Visual Studio 2008 i november!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-2948652395213854260</id><published>2007-11-02T10:15:00.001+01:00</published><updated>2007-11-02T10:15:35.627+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Blogga med Live Writer</title><content type='html'>&lt;p&gt;Idag laddade jag ner en ny version av &lt;a href="http://download.microsoft.com/download/D/A/F/DAFB8958-4A64-45B9-9E54-80AD7A31B97A/EN/WLinstaller.exe" target="_blank"&gt;Live Messenger (8.5 beta 2)&lt;/a&gt; och d&amp;#xE5; fick man ocks&amp;#xE5; Live Writer p&amp;#xE5; k&amp;#xF6;pet, ja om man nu vill s&amp;#xE5; klart. S&amp;#xE5; jag installerade den och tog hj&amp;#xE4;lp av Ashwini Khares blogpost om hur man konfigurerar Live Writer med Blogger.com som jag anv&amp;#xE4;nder f&amp;#xF6;r min blog.&lt;/p&gt;  &lt;p&gt;S&amp;#xE5; det h&amp;#xE4;r &amp;#xE4;r det f&amp;#xF6;rsta inl&amp;#xE4;gget fr&amp;#xE5;n Live Writer!&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-2948652395213854260?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/2948652395213854260/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=2948652395213854260' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2948652395213854260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/2948652395213854260'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/11/blogga-med-live-writer.html' title='Blogga med Live Writer'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6770351348983150820</id><published>2007-10-30T14:58:00.001+01:00</published><updated>2007-10-30T15:12:30.463+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>Barcelona baby!</title><content type='html'>Nu är det snart dags för TechEd Developers 2007. På lördag morgon går flighten ner till Barcelona. Med på den flighten är också min kollega Hasse Sterby. Vi kommer att åka ner för att jobba som MCT Ambassadörer under TechEd. Det innebär att vi ska jobba med att handleda labbar och få prya hos eliten (&lt;a target="_blank" href="http://blogs.msdn.com/deurell/default.aspx"&gt;MickeD&lt;/a&gt;, &lt;a target="_blank" href="http://fredrik.nsquared2.com/"&gt;FredrikN&lt;/a&gt;, &lt;a target="_blank" href="http://www.lowendahl.net/"&gt;PatrikL&lt;/a&gt;) på Ask The Expert. Största delen av tiden kommer dock att spenderas på föreläsningar. För min del blir fokus Visual Studio 2008 och SharePoint. Men det kommer säkert att bli några sköna dragningar av ett par av mina favoriter från förra året Clemes Vasters &amp; Steve Swartz.&lt;br /&gt;&lt;br /&gt;En annan höjdpunkt blir på söndagen när jag och Hasse ska gå på fotboll på Camp Nou och se FC Barcelona mot Real Betis!&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px;" src="http://guhan.files.wordpress.com/2007/09/campnou2.jpg" border="0" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6770351348983150820?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6770351348983150820/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6770351348983150820' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6770351348983150820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6770351348983150820'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/barcelona-baby.html' title='Barcelona baby!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-4466219073024516699</id><published>2007-10-30T14:38:00.000+01:00</published><updated>2007-10-30T14:50:45.316+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>VPC för Visual Studio 2008 är tidsbestämd...</title><content type='html'>Den vpc som har funnits för beta 2 av Visual Studio 2008 är tidsbestämd till den 1 nov 2007. Nu finns det nya filer att &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;ladda ner&lt;/a&gt; och det är bara vpc-er som berörs eftersom att det är operativsystemet som är tidsbegränsat.&lt;br /&gt;&lt;br /&gt;Mer att läsa finns på &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/29/important-notice-vs-2008-beta2-vpc-images-expiring-on-nov-1st.aspx"&gt;Scott Gu's blogg&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Läste då också att det inte kommer att komma någon publik RC för VS2008 utan att de bara kör en privat RC-test-omgång. Hmmm så jag får väl anta att jag har fel angående min tidigare gissning om att vi kommer att få RC på TechEd...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-4466219073024516699?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/4466219073024516699/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=4466219073024516699' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4466219073024516699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/4466219073024516699'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/vpc-fr-visual-studio-2008-r-tidsbestmd.html' title='VPC för Visual Studio 2008 är tidsbestämd...'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7840609317683778823</id><published>2007-10-27T08:46:00.000+02:00</published><updated>2007-10-27T08:51:01.267+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Dags för en RC snart?</title><content type='html'>Börjar det inte bli dags för en release candidate av Visual Studio 2008 snart? Min gissning är att den dyker upp till TechEd Developers 2007. Förra året släpptes .NET Framework 3.0 och det har ryktats om "great announcments" på årets TechEd i Barcelona. Looking forward to it! 9 dagar kvar säger min &lt;a target="_blank" href="http://www.sharepointblogs.com/tmt/archive/2007/08/23/teched-developers-2007-europe-vista-gadget.aspx"&gt;TechEd Developers 2007 Vista gadget&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7840609317683778823?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7840609317683778823/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7840609317683778823' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7840609317683778823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7840609317683778823'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/dags-fr-en-rc-snart.html' title='Dags för en RC snart?'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7143923117302171124</id><published>2007-10-25T08:45:00.000+02:00</published><updated>2007-10-25T09:02:34.694+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Utbildning'/><title type='text'>Kortlek för Planning Poker</title><content type='html'>På Connecta håller jag på att jobba med att ta fram en kortlek för Planning Poker. Just nu håller vi på att ta fram en design av korten och förhoppningsvis ska de vara klara till i Januari 2008.&lt;br /&gt;&lt;br /&gt;Min plan med kortlekarna är att använda den i min kurs på Jönsson och Lepp som heter &lt;a target="_blank" href="http://www.jonssonlepp.se/Utbildning/Kurs/?CourseID=258"&gt;Scrum i Praktiken&lt;/a&gt; där ett av momenten är att gå igenom och prova på Planning Poker samt att ge den till kunder och annat löst folk som är intresserade.&lt;br /&gt;&lt;br /&gt;Hör gärna av dig om du är intresserad av en kortlek så ska jag se till att skicka en så snart de är klara.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7143923117302171124?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7143923117302171124/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7143923117302171124' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7143923117302171124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7143923117302171124'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/kortlek-fr-planning-poker.html' title='Kortlek för Planning Poker'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6515638379897908452</id><published>2007-10-15T16:38:00.000+02:00</published><updated>2007-10-15T16:46:11.146+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Mat Weddle från Obadiah Parker</title><content type='html'>En cover som ger mig gåshud! Lyssna också på de andra låtarna av Obadiah Parker... Finns att köpa på en iTunes nära dig.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8-8nkkOA_AM"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8-8nkkOA_AM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6515638379897908452?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6515638379897908452/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6515638379897908452' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6515638379897908452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6515638379897908452'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/mat-weddle-frn-obadiah-parker.html' title='Mat Weddle från Obadiah Parker'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-7123903342538028357</id><published>2007-10-15T16:03:00.000+02:00</published><updated>2007-12-10T09:33:26.005+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Manu Chao</title><content type='html'>Igår var jag och min kompis &lt;a href="http://utvecklargodis.blogspot.com/"&gt;Johan&lt;/a&gt; på Hovet och såg Manu Chao. Riktigt bra konsert med grymt ös! Det var länge sedan jag såg att det hoppades så långt bak bland de lyckliga på ståplats. Det enda jag saknade var mera blås och så hade jag velat se King Kong Five i en Radio Bemba-ska-tappning.&lt;br /&gt;&lt;br /&gt;Det var dock riktigt kul att se låtar live som jag aldrig har hört annat än att jag själv valt att spela dem. Att de skulle spela Sidi H'Bibi kändes lika otippat som när Depeche Mode körde sin stenhårda version av &lt;a href="http://www.youtube.com/watch?v=sneTMOB_2Fs"&gt;Photographic&lt;/a&gt; på Stockholms Stadion förra sommaren.&lt;br /&gt;&lt;br /&gt;Kolla in det här klippet för att få en känsla av hur hela kvällen var igår! Grymt med energi!&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/9j8FqIb0Zts" width="425" height="350" type="application/x-shockwave-flash" wmode="transparent"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-7123903342538028357?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/7123903342538028357/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=7123903342538028357' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7123903342538028357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/7123903342538028357'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/manu-chao.html' title='Manu Chao'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-8773677230501789187</id><published>2007-10-02T11:24:00.000+02:00</published><updated>2007-10-02T13:25:48.643+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><title type='text'>NUnit Asserts i VS2008 unit testing</title><content type='html'>Med NUnit 2.4 så kom möjligheten att använda en ny modell för hur man hanterar Asserts, en Constraint-baserad modell. Tidigare var man tvingad att använda olika asserts beroende på vad man vill testa (som t ex Assert.IsTrue() eller Assert.AreEqual) men nu kan man istället använda sig av Assert.That(). En av överlagringarna i Assert.That tar ett Constraint-objekt som inparameter. Constraint-objekt ligger i ett eget namespace i nunit.framework.dll som heter NUnit.Framework.Constraints.&lt;br /&gt;&lt;br /&gt;Utöver det så finns även ett namespace som heter NUnit.Framework.SyntaxHelpers. SyntaxHelpers innehåller en klass som heter Is (eller Iz för VB.Net) och alla metoder i Is returnerar ett object av typen Constraint.&lt;br /&gt;&lt;br /&gt;Detta gör att man kan skriva asserts av typen:&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red43\green145\blue175;\red255\green255\blue255;\red0\green0\blue0;\red163\green21\blue21;}??\fs20 \cf1 Assert\cf0 .That(strMyName, \cf1 Is\cf0 .EqualTo(\cf4 "Bj\u246 ?rn Eriksen"\cf0 ).IgnoreCase);}&lt;br /&gt;--&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That(strMyName, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.EqualTo(&lt;span style="color: #a31515;"&gt;"Bj&amp;#246;rn Eriksen"&lt;/span&gt;).IgnoreCase);&lt;/p&gt;eller&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That(11111.3, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.EqualTo(11111.31).Within(0.1));&lt;/p&gt;eller&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That(50, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.Not.EqualTo(100));&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Det här sättet att skriva asserts tycker jag är väldigt trevligt och man saknar det snabbt om man måste gå tillbaka och skriva på det "gamla" sättet.&lt;br /&gt;&lt;br /&gt;I Visual Studio 2008 finns inte något inbyggt stöd för att använda constraints-baserade asserts men det är ju onekligen en trevlig IDE att använda för unit testing så vad gör man...?&lt;br /&gt;&lt;br /&gt;Det man kan göra är att använda NUnit constraints based asserts i Visual Studios unit testing-ramverk!&lt;br /&gt;&lt;br /&gt;För att få till det hela på ett smidigt sätt så måste man plocka bort using-referensen till Microsoft.VisualStudio.TestTools.UnitTesting; och ersätta den med:&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue255;\red255\green255\blue255;\red0\green0\blue0;}??\fs20 \cf1 using\cf0  NUnit.Framework;\par ??\cf1 using\cf0  NUnit.Framework.SyntaxHelpers;}&lt;br /&gt;--&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;using&lt;/span&gt; NUnit.Framework;&lt;/p&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;using&lt;/span&gt; NUnit.Framework.SyntaxHelpers;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Anledning till detta är att klassen Assert finns med i både NUnit.Framework och i Microsoft.VisualStudio.TestTools.UnitTesting, så kompilatorn vet inte vilken den ska välja. För enkelhetens skulle bör man därför plocka bort using-referensen till Microsoft.VisualStudio.TestTools.UnitTesting istället för den till NUnit. Då blir det enklare när man ska skriva Asserts i sina test-metoder.&lt;br /&gt;&lt;br /&gt;Effekten blir då den att, för attribut och typer som man ska referera från Microsofts test-ramverk så måste man ha kompletta sökvägar t ex:&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red43\green145\blue175;}??\fs20 [Microsoft.VisualStudio.TestTools.UnitTesting.\cf3 TestMethod\cf0 ()]}&lt;br /&gt;--&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;[Microsoft.VisualStudio.TestTools.UnitTesting.&lt;span style="color: #2b91af;"&gt;TestMethod&lt;/span&gt;()]&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I och med Visual Studio 2008 så kommer unit testing att vara med i Professional-versionen och förhoppningsvis leder det till att det blir enklare att införa unit testing i projekten!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-8773677230501789187?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/8773677230501789187/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=8773677230501789187' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8773677230501789187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/8773677230501789187'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/nunit-asserts-i-vs2008-unit-testing.html' title='NUnit Asserts i VS2008 unit testing'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-571279791222636903</id><published>2007-10-02T10:14:00.000+02:00</published><updated>2007-10-02T11:15:41.978+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Källkod till HTML</title><content type='html'>Upptäckte idag att jag hade ett behov av att få över färdigformaterad kod från Visual Studio till html, dvs så att färgkodning och indentering hänger med.&lt;br /&gt;&lt;br /&gt;T ex:&lt;br /&gt;&lt;!--&lt;br /&gt;{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;??\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;}??\fs20         \cf3 public\cf0  \cf3 static\cf0  \cf3 int\cf0  Add(\cf3 int\cf0  tal1, \cf3 int\cf0  tal2)\par ??        \{\par ??            \cf3 return\cf0  tal1 + tal2;\par ??        \}}&lt;br /&gt;--&gt;&lt;br /&gt;&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white;"&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Add(&lt;span style="color: blue;"&gt;int&lt;/span&gt; tal1, &lt;span style="color: blue;"&gt;int&lt;/span&gt; tal2)&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;{&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; tal1 + tal2;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;För att lösa det vände jag mig till Scott Hanselman och hans &lt;a target="_blank" href="http://www.hanselman.com/tools"&gt;Ultimate Developer and Power Users Tool List for Windows&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Där hittade jag en länk till &lt;a target="_blank" href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/"&gt;CopySourceAsHtml&lt;/a&gt; och eftersom att jag försöker använda VS2008 så mycket som möjligt även en länk för att få det att &lt;a target="_blank" href="http://developers.de/blogs/andreas_erben/archive/2007/08/01/using-copysourceashtml-with-visual-studio-2008-beta-2.aspx"&gt;fungera i Visual Studio 2008&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-571279791222636903?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/571279791222636903/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=571279791222636903' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/571279791222636903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/571279791222636903'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/10/kllkod-till-html.html' title='Källkod till HTML'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-992106894113835942</id><published>2007-09-27T10:43:00.000+02:00</published><updated>2007-09-27T10:59:21.398+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><title type='text'>Första Scrum-projekt för kund</title><content type='html'>&lt;p&gt;&lt;br /&gt;I våras var jag på intervju för ett projekt på en av Connectas kunder. Under intervjun pratade vi en del om deras arbetssätt och det som de beskrev var väldigt likt Scrum så mitt förslag var att vi skulle inför Scrum fullt ut. De nappade på förslaget så när jag började så började teamet jobba efter Scrum.&lt;br /&gt;Vi var ett relativt litet team på bara fyra personer och jobbade mot personer som var vana att på att snabbt få resultat. Så här i efterhand skulle vi nog kanske ha haft kortare iterationer men överlag så funkade det rätt bra.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Första iterationen var en katastrof. Vi tog på oss allt för mycket jobb och tog inte tillräckligt med hänsyn till att jag var helt ny i projektet och att en medlem i teamet skulle vara borta en hel del. Andra iterationen gick dock mycket bättre och vi levererade vad vi hade åtagit oss på utsatt tid.&lt;br /&gt;Några saker som jag tar med mig från den tiden är:&lt;br /&gt;• Sätt ett mål för sprinten. Målet för sprinten är otroligt viktigt när man ska fokusera på vad man ska göra och säkerställa att man är på väg i rätt riktning.&lt;br /&gt;• Definiera vad klart betyder!&lt;br /&gt;• Automatisera deployment, byggen och tester.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;De här erfarenheterna är något jag tagit med mig till den kurs jag tagit fram och som jag nu ger på Jönsson och Lepp som heter Scrum i praktiken.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-992106894113835942?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/992106894113835942/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=992106894113835942' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/992106894113835942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/992106894113835942'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/09/frsta-scrum-projekt-fr-kund.html' title='Första Scrum-projekt för kund'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-6384286836597234446</id><published>2007-09-27T10:41:00.000+02:00</published><updated>2007-09-27T10:42:25.030+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>VS2008 Announcements på TechEd?</title><content type='html'>Brian Keller sa just att det kommer att komma många intressanta nyheter om Visual Studio 2008 under TechEd Developers i Barcelona! Han såg väldigt exalterad… kanske dags för en RC?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-6384286836597234446?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/6384286836597234446/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=6384286836597234446' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6384286836597234446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/6384286836597234446'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/09/vs2008-announcements-p-teched.html' title='VS2008 Announcements på TechEd?'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-585191038566590157</id><published>2007-09-27T10:13:00.001+02:00</published><updated>2007-09-27T10:28:02.739+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechEd'/><title type='text'>TechEd Barcelona!</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;I november är det dags för TechEd i Barcelona igen och den här gången ska jag vara där som HOL proctor! Som MCT får man söka som frivillig att jobba under TechEd som HOL proctor och jag och Hasse Sterby från Connect har blivit utvalda. Vi kommer att jobba som handledare på hands on labs och kommer också att få jobba ett pass på ask the expert. Det ska bli grymt kul!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Förhoppningsvis får jag handleda labbarna om Visual Studio 2008 (skulle passa bra med tanke på den Metro-training jag är på nu) så om ni har några frågor om det är det bara att hugga tag i mig på plats.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ser fram emot en vecka i Barca med gott sällskap och goda tapas!&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-585191038566590157?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/585191038566590157/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=585191038566590157' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/585191038566590157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/585191038566590157'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/09/teched-barcelona.html' title='TechEd Barcelona!'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-850312135908515964</id><published>2007-09-27T10:03:00.001+02:00</published><updated>2007-09-27T10:03:05.412+02:00</updated><title type='text'>Metro training i Amsterdam</title><content type='html'>&lt;span xmlns=''&gt;&lt;p&gt;De senaste tre dagarna har jag varit på Metro training i Amsterdam. Det är en utbildning för utbildare och tanken är att man sedan ska hem och leverera utbildningar för partners om Visual Studio 2008. Så det har varit tre dagar med otroligt mycket information om nyheterna i VS2008 och Team Foundation Server.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Så om någon är intresserad av en presentation om Visual Studio 2008, antingen på en övergripande nivå eller inom något ämne mer i detalj är det bara att höra av er!&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-850312135908515964?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/850312135908515964/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=850312135908515964' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/850312135908515964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/850312135908515964'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/09/metro-training-i-amsterdam.html' title='Metro training i Amsterdam'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35731207.post-5211244028028212433</id><published>2007-01-26T20:39:00.000+01:00</published><updated>2007-01-26T23:05:05.663+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Team System'/><category scheme='http://www.blogger.com/atom/ns#' term='Team Foundation Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Unit Test'/><title type='text'>Compare objects in unit test</title><content type='html'>Today I wanted to create some unit tests for a object relationship mapper that Connecta developed for a client. The method I wanted to test was a find method that takes an id for an entity and returns that entity from the database. The entity that I searched for was created in a static method marked with the [&lt;span style="color:#2B91AF"&gt;ClassInitialize&lt;/span&gt;()] attribute.&lt;br /&gt;&lt;br /&gt;By the way, I use Team System for unit testing.&lt;br /&gt;&lt;br /&gt;So, how do I compare the objected that I created with the object that I got from the database? Will I be happy with just comparing what ToString returns or do I take a random number of properties and compare them? No, the only reasonable thing to do is to compare the value of every property on the objects.&lt;br /&gt;&lt;br /&gt;To do this I created a new static class in my test project called &lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #2B91AF"&gt;&lt;br /&gt;ObjectComparer&lt;/span&gt;. &lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #2B91AF"&gt;ObjectComparer&lt;/span&gt;&lt;span lang="EN-US"&gt; has one method called &lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #020002"&gt;CompareObjects&lt;/span&gt; that takes the two objects to compare as in-parameters. Then I use reflection to find the properties on the object and compare the value of every property in the two objects. That worked really well but I soon realized that I needed a way to exclude properties from the compare method. For instance there can be a datetime field that holds a datetime for when the record was created in the database. This field will never be the same in a compare and therefore needs to be ignored. So I added another parameter that will hold a generic list that contains the names of the properties to ignore: &lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #2B91AF"&gt;List&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas"&gt;&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&amp;gt; &lt;span style="color:#020002"&gt;IgnoreList.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #020002"&gt;CompareObjects&lt;/span&gt;&lt;span lang="EN-US"&gt; returns another object called &lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #2B91AF"&gt;ObjectCompareResult&lt;/span&gt; that contains two properties, a Boolean containing the result of the compare and a string containing the possible error message if the compare returns false.&lt;br /&gt;&lt;br /&gt;Here is the code for the method &lt;span lang="EN-US" style="font-size: 11.0pt; line-height: 115%; font-family: Consolas; color: #020002"&gt;CompareObjects:&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-size:12px;font-family:Calibri;"&gt;&lt;br /&gt;public static ObjectCompareResult CompareObjects(object obj1, object obj2, List&amp;lt;string&amp;gt; IgnoreList)&lt;br /&gt;{&lt;br /&gt;    Type objectType1 = obj1.GetType();&lt;br /&gt;    PropertyInfo[] propertyInfos = objectType1.GetProperties();&lt;br /&gt;    foreach (PropertyInfo propertyInfo in propertyInfos)&lt;br /&gt;    {&lt;br /&gt;        if (IgnoreList == null || (IgnoreList != null &amp;&amp; !IgnoreList.Contains(propertyInfo.Name.ToString())))&lt;br /&gt;            if (!propertyInfo.GetValue(obj1, null).Equals(propertyInfo.GetValue(obj2, null)))&lt;br /&gt;                return new ObjectCompareResult(false, String.Format("The value of the property '{0}' is not the same in the two objects. Value from obj1 = '{1}'. Value from obj2 = '{2}'",&lt;br /&gt;                    propertyInfo.Name.ToString(),&lt;br /&gt;                    propertyInfo.GetValue(obj1, null),&lt;br /&gt;                    propertyInfo.GetValue(obj2, null)));&lt;br /&gt;    }&lt;br /&gt;    return new ObjectCompareResult(true);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here is the code for the unit test:&lt;br /&gt;&lt;pre style="font-size:12px;font-family:Calibri;"&gt;&lt;br /&gt;[TestMethod()]&lt;br /&gt;public void FindTest()&lt;br /&gt;{&lt;br /&gt;    MyStorage target = FrameworkUnitTest.Framework_Storage_MyStorageAccessor.CreatePrivate();&lt;br /&gt;    MyEntity expected = myEntity; //Created in the ClassInitialize&lt;br /&gt;    MyEntity actual = target.Find(myId);&lt;br /&gt;    List&lt;string&gt; ignoreList = new List&lt;string&gt;();&lt;br /&gt;    ignoreList.Add("DateCreated");&lt;br /&gt;&lt;br /&gt;    ObjectCompareResult result = ObjectComparer.CompareObjects(expected, actual);&lt;br /&gt;&lt;br /&gt;    Assert.IsTrue(result.CompareResult, result.CompareMessage);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks to my peers for help when it comes to reflection and comparing object values!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35731207-5211244028028212433?l=bjorneriksen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bjorneriksen.blogspot.com/feeds/5211244028028212433/comments/default' title='Kommentarer till inlägget'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35731207&amp;postID=5211244028028212433' title='0 kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5211244028028212433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35731207/posts/default/5211244028028212433'/><link rel='alternate' type='text/html' href='http://bjorneriksen.blogspot.com/2007/01/compare-objects-in-unit-test.html' title='Compare objects in unit test'/><author><name>Björn Eriksen</name><uri>http://www.blogger.com/profile/09832002921122594696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_zHNvN5eY_4U/SWb3Stlm0LI/AAAAAAAAAMo/pzt3Sb5e4kA/S220/Bjoern_DSC_8041.jpg'/></author><thr:total>0</thr:total></entry></feed>
