<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Altran CIS bloggen &#187; Konferenser</title>
	<atom:link href="http://blogg.altran.se/cis/index.php/category/konferenser/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogg.altran.se/cis</link>
	<description>Altran CIS bloggen</description>
	<lastBuildDate>Wed, 08 Feb 2012 00:09:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Öredev 2011 &#8211; UX i fokus, arkitektur på topp</title>
		<link>http://blogg.altran.se/cis/2011/11/21/oredev-2011-ux-i-fokus-arkitektur-pa-topp/</link>
		<comments>http://blogg.altran.se/cis/2011/11/21/oredev-2011-ux-i-fokus-arkitektur-pa-topp/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 21:21:40 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[Systemutveckling]]></category>
		<category><![CDATA[User Interface]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=1216</guid>
		<description><![CDATA[Användarupplevelse,  eller user experience (UX), var i fokus på årets upplaga av Öredev som  hade många intressanta och underhållande föreläsningar att bjuda på. Att  UX var i fokus märktes framför allt på konferensens keynotes som  behandlade ämnen som vikten av att sätta användaren i fokus för att ett  system ska [...]]]></description>
			<content:encoded><![CDATA[<p><span id="internal-source-marker_0.49880673724802915" style="font-size: 15px; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Användarupplevelse,  eller user experience (UX), var i fokus på årets upplaga av Öredev som  hade många intressanta och underhållande föreläsningar att bjuda på. Att  UX var i fokus märktes framför allt på konferensens keynotes som  behandlade ämnen som vikten av att sätta användaren i fokus för att ett  system ska bli framgångsrikt, hur regler påverkar hur vi kommunicerar  med varandra och hur användargränssnitt har utvecklats fram till nu och  vad vi kanske kan förvänta oss att få se i framtiden. UX var även ett av  de 15 spår som man kunde följa under konferensen. Även om UX inte är  min specialitet så måste jag säga att man hittat väldigt bra föreläsare  och aktuella ämnen att ta upp och jag är faktiskt förvånad över hur  mycket konkreta tips jag fick med mig hem att jobba vidare med. </span></p>
<p><span style="font-size: 15px; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Mitt  fokus på konferensen låg dock inom 3 andra spår. Java, arkitektur och  excellence. Excellence handlar om att kontinuerligt sträva efter att  lära sig och bli bättre. Arkitekturspåret handlade till stor del om hur  man kan optimera för att hantera förändring i system, vilket i min  tolkning handlade mycket om att bättre kunna hantera arkitekturfrågor i  ett agilt sammanhang. Java spåret innehöll blandade godbitar av teknisk  natur, bland annat om Java EE 6, REST-services och MongoDB.</span></p>
<p><span style="font-size: 15px; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Två  föreläsningar som i min mening var konferensens allra bästa gavs av  Greg Young och Udi Dahan. Greg Young höll en föreläsning under med  titeln <em>How to get productive in a project within 24 hours</em> som handlade  om hur man kan utnyttja statistik ur versionshanteringssystem och code  metrics för att effektivt hitta ställen i koden som kan vara potentiella  problemområden. Kanske inte så mycket nytt, men en lite annorlunda  tillämpning av informationen och framlagt på ett väldigt engagerat sätt. </span></p>
<p><span style="font-size: 15px; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Udi  Dahan höll en väldigt intressant föreläsning med titeln <em>Domain models  and composite</em> som handlade om vanligt förekommande problematik i  domänmodeller och tankar om hur man kan tackla den typen av problematik.  Kortfattat kan man säga att det handlade om hur relationer kan orsaka  stora problem när en domänmodell förändras och hur men kan bryta ut  relationer ur modellen och klargöra affärsmässiga behov för att kunna  dela upp modellen i mindre och mer lätthanterliga bitar. Med relationena  på behörigt avstånd kan man sedan jobba med kompositer av objekt när  man bygger sin funktionalitet. Med andra ord föreslås en annan sorts  normalisering än vad man oftast finner i våra system, för att bättre  kunna hantera förändringar. En lysande föreläsning i min mening. </span></p>
<p><span style="font-size: 15px; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><em><span style="color: #808080;">/Jonas Holmer</span></em><br />
</span><br />
<span style="color: #808080;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/11/21/oredev-2011-ux-i-fokus-arkitektur-pa-topp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne 2011 – Ett stort steg i rätt riktning</title>
		<link>http://blogg.altran.se/cis/2011/10/12/javaone-2011/</link>
		<comments>http://blogg.altran.se/cis/2011/10/12/javaone-2011/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 09:53:04 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Konferenser]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=1168</guid>
		<description><![CDATA[”Moving Java Forward” var slagordet för årets JavaOne och med några dagars distans till det hela så är omdömet genomgående positivt. Om vi börjar med det praktiska så var fjolårets JavaOne lite av ett organiserat kaos efter att Oracle valt att flytta konferensen från San Franciscos stora konferenscenter Moscone till några närliggande hotell. Även årets [...]]]></description>
			<content:encoded><![CDATA[<p style="MARGIN-BOTTOM: 0cm">”Moving Java Forward” var slagordet för årets JavaOne och med några dagars distans till det hela så är omdömet genomgående positivt. Om vi börjar med det praktiska så var fjolårets JavaOne lite av ett organiserat kaos efter att Oracle valt att flytta konferensen från San Franciscos stora konferenscenter Moscone till några närliggande hotell. Även årets JavaOne höll till på samma hotell men trots att det, enligt Oracle, var ungefär dubbelt så många deltagare i år så var känslan snarare att det var färre. Mer utrymme, fler sessioner och större föreläsningssalar gjorde att allt nu till största del flöt på relativt smidigt.</p>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">Vad det gäller själva utvecklingen av Java så är det positivt att denna nu tagit ordentlig fart igen. Under JavaOne presenterades en såväl hoppfull som tydlig roadmap som kan sammanfattas som följer:</p>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm"><strong> Java 7, släpptes nu i somras med bland annat följande innehåll: </strong></p>
<ul>
<li>
<p style="MARGIN-BOTTOM: 0cm">Nytt API för filer vilket innebär att det nu är lättare att hantera kataloger och filer på disk. Exempelvis finns nu ”oneliners” för att flytta eller kopiera en fil:</p>
<p style="MARGIN-BOTTOM: 0cm">Files.copy(source, target);</p>
</li>
</ul>
<ul>
<li>
<div style="MARGIN-BOTTOM: 0cm">ProjectCoin, en mängd mindre ändringar som förenklad hantering av ”Generics” och ”MultiCatch”.</div>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">InvokeDynamic, bättre stöd för alternativa JVM-språk.</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Fork/Join-framework, bättre stöd för parallellism och datorer med flera kärnor.</p>
</li>
</ul>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm"><strong>Java 8, släpps sommaren 2013 innehållandes bland annat: </strong></p>
<ul>
<li>
<p style="MARGIN-BOTTOM: 0cm">Project Lambda, stöd för closure-liknande syntax.</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Project Jigsaw, modularisering av Java-plattformen.</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Nashorn, ny Javascript-hantering.</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Nytt API för att hantera datum och tid.</p>
</li>
</ul>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm"><strong>Java 9, ska vara klar till sommaren 2015 och även om innehållet nog mest för tolkas som visioner så nämndes i alla fall bland annat följande: </strong></p>
<ul>
<li>
<p style="MARGIN-BOTTOM: 0cm">”Self tuning JVM”</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Multitenancy – stöd för att köra flera applikationer i samma JVM</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">Stöd för stora data (&gt; 4Gb)</p>
</li>
<li>
<p style="MARGIN-BOTTOM: 0cm">”Reification” &#8211; Bland annat genom att avskaffa ”Type erasure”.</p>
</li>
</ul>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">Det talades också en hel del om JavaFX 2 som ska vara plattformsoberoende och utvecklingsspråket ska vara Java. Inget mer JavaFX-script eller liknande alltså. Vidare är det tänkt att JavaFX 2 ska släppas som en del av JavaSE 8 och kommer således vara tillgängligt från och med sommaren 2013. Det visades en demo på JavaFX och det ser helt klart spännande ut, både rent grafiskt men inte minst det faktum att de kunde köra på såväl Windows som Android och IOS.</p>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">Vad det gäller Enterprise-delarna av Java så låg fokus kring JEE7 och ”molnet”. JEE7 ska kunna erbjuda ”Platform as a Service” och därmed förbättrat stöd för exempelvis att köra flera olika applikationer samtidigt och även bättre skalbarhet.</p>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">Utan att gå in alltför djupt på innehållet i de över 400 sessioner som hölls så var det mycket fokus på bland annat modularisering (Jigsaw, OSGi med mera), JavaFX samt alternativa JVM-språk (som Scala, Groovy, Clojure, Mirah och Gosu).</p>
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">
<p style="MARGIN-BOTTOM: 0cm">//Magnus Sundström och Tobias Modig</p>
<p style="MARGIN-BOTTOM: 0cm">
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/10/12/javaone-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scandianavian Developer Conference 2011, dag ett</title>
		<link>http://blogg.altran.se/cis/2011/04/06/scandianavian-developer-conference-2011-dag-ett/</link>
		<comments>http://blogg.altran.se/cis/2011/04/06/scandianavian-developer-conference-2011-dag-ett/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 11:31:24 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Konferenser]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=984</guid>
		<description><![CDATA[Då var det dags för en handfull  Altrankonsulter att bege sig till Svenska Mässan där årets upplaga av Scandinavian  Developer Conference hölls. Första dagen började  med en introduktion av Emily Bache, följt av en femtiominuters Key Note av  Alistair Cockburn (uttallas  kobörn).
Dr. Cockburns  dragning hette “On beyond Agile: The [...]]]></description>
			<content:encoded><![CDATA[<p>Då var det dags för en handfull  Altrankonsulter att bege sig till Svenska Mässan där årets upplaga av <a href="http://www.scandevconf.se/">Scandinavian  Developer Conference</a> hölls. Första dagen började  med en introduktion av Emily Bache, följt av en femtiominuters Key Note av  <a href="http://alistair.cockburn.us/">Alistair Cockburn</a> (uttallas  <em>kobörn</em>).</p>
<p>Dr. Cockburns  dragning hette “On beyond Agile: The New Face of Software Engineering”.  Det handlade om  hur man måste anpassa sig efter storlek på  projekt. Alistair betonade bla vikten av kommunikation ansikte mot ansikte. Det  optimala är att två personer diskuterar vid en Whiteboard. Går inte detta så kan  man spela in en video där man diskuterar problemet som andra sedan får titta på.  Detta ger långt mer än att läsa ett dokument.</p>
<p>Sedan var det dags för oss att  dela upp oss och bege oss iväg till de olika föreläsningarna. Det fanns olika  spår (t.ex. .Net, Java och Web), men man behövde inte följa ett visst spår utan  kunde välja själv vilken föreläsning man ville höra på.</p>
<p>Det här gick vi och  såg:</p>
<h2>Setting Up and Running a Space for  Programmers</h2>
<p>Föreläsare: <a href="http://emmanuelgaillot.blogspot.com/">Emmanuel Gaillot</a></p>
<p>Om man vill bli bättre på något  måste man träna, så också programmering. Ett sätt att göra detta på är att  samlas i en så kallad Coding Dojo. Dojo är japanska och betydet ungefär  träningsplats.   Konceptet som Emmanuel pratade om  gick ut på att man har en person som har förberett ett problem som ska lösas på  ungefär en timma. Denna person programmerar sin lösning och alla deltagare får  kommentera och komma med frågor och förslag. På detta sätt kan man:<br />
-         Träna tills det sitter i ryggmärgen,  vilket gör att arbetet blir omedvetet och man inte behöver tänka på   &#8221;hur&#8221;<br />
-         Träna på att programmera med publik. Det  är en bra förberedelse för att börja jobba med parprogrammering<br />
-         Träna på att läsa och prata om kod, t ex  som i en code review<br />
-         Träna på att få en bra attityd mot sitt  eget sätt att koda<br />
-         Träna på att jobba under viss tidspress,  och lära sig ta rätt beslut vid rätt tidpunkt</p>
<p>Samma plats, samma tid. En gång  per vecka. Vid början av varje möte bestämmer man när nästa möte ska vara och  ser tillbaka på föregående möte.</p>
<p>Utse en Do Jo Cho som ansvarar  för allt praktiskt, lokalbokning, nycklar, etc. Dock är inte den personen  ansvarig för själva mötet. Där har gruppen delat ansvar. Alla tar med ett  kodexempel och gruppen röstar om vilket av dem man kör.</p>
<p>Separera socialisering med  allvar, men ha med båda.</p>
<p>Håll hårt på de regler som är  uppsatta men bryt dem medvetet ibland. Kör tex ett kodexempel utan att använda  iterationer eller utan tester. Exempel på regler:</p>
<ul>
<li>Ingen design utan kod</li>
<li>Ingen kod utan test. Man kan utnyttja  detta till göra flera lösningar med samma testfall</li>
<li>Ingen diskussion från gruppen medans  testet visar rött</li>
</ul>
<p>Målet är att göra klart lösningen  elller att i alla komma fram till något. Det som händer, händer. Lär av  misstagen lär dig att lyssna. Presentera resultatet i en blogg elller wiki,  gärna publikt så att andra kan ta del av det.</p>
<p>Det finns en del exempel att  hitta:<br />
<a href="http://codingdojo.org/">http://codingdojo.org/</a><br />
<a href="http://codekata.pragprog.com/">http://codekata.pragprog.com/</a></p>
<p><a href="http://codekata.pragprog.com/"></a> /Emil och Tomas</p>
<h2>Fractal TDD: Using tests to drive  system design</h2>
<p>Föreläsare: <a href="http://www.scandevconf.se/2011/conference/speakers/steve-freeman/">Steve Freeman</a></p>
<p>Något förvirrad föreläsning om  vilka fel man gör när man skapar tester. Några exempel på fel: &#8211;         Testerna är duplicering av  kod &#8211;         För många assert &#8211;         Faking av fel objekt &#8211;         Setupen av test är för  krånglig   /Emil  och Tomas</p>
<h2>HTML5: The JavaScript  Part</h2>
<p>Föreläsare: <a href="http://www.augusttechgroup.com/tim/about/">Tim Berglund</a></p>
<p>En bra föreläsare denna  svenskättade amerikan som pratade om vilka delar som är nytt i JavaScript i  nästa version av HTML. En del stöds redan av de flesta webbläsare. Internet  Explorer var ofta ett undantag märkte vi&#8230;</p>
<p>Följande delar togs  upp:</p>
<ul>
<li>Canvas. Tim visade hur man kan använda ”Canvas”  för att rendera grafik direkt på websidan. Man har programmatisk access för  varje pixel. Ramverk finns för att förenkla kodandet.</li>
<li>Geolocation. Geolocation API kan användas för att  tala om för browsern var den är. Specen säger inte hur man får reda på detta  (tex via gps), men den hanterar privacy (får man kolla) och  noggrannhet.</li>
<li>Web storage</li>
<li>Web workers</li>
<li>Web sockets</li>
</ul>
<p>Tim Berglund rekommenderade boken  ”JavaScript: The Good Parts”.</p>
<p>/Emil och Ingrid</p>
<h2>A (gentle) (yet performative) (and  test-driven) incursion in Haskel</h2>
<p>Föreläsare: <a href="http://emmanuelgaillot.blogspot.com/">Emmanuel Gaillot</a></p>
<p>En kodkata där vi fick se en del  av ett program för uträkning av bowlingresultat byggas upp med hjälp av Haskel  och TDD. Kul att se ett programmeringsspråk som fungerar väldigt annorlunda mot  C# jag normalt sitter med.</p>
<p>/Emil</p>
<h2>Railsify your web  development</h2>
<p>Föreläsare:  <a href="http://www.scandevconf.se/2011/conference/speakers/thomas-lundstrom/">Thomas  Lundström</a></p>
<p>Ganska torr genomgång av vilka  saker som ingår i Rails och vad man ska tänka på om man vill ”railifiera” sitt  webprojekt i .Net eller Java.</p>
<p>De här tolv sakerna bör man  implementera:</p>
<ol>
<li>BDD – Behaviour Driven Development</li>
<li>TDD – Test Driven  Development</li>
<li>MVC – Model View Controller</li>
<li>Collaborative database  development</li>
<li>App-private database</li>
<li>RESTful URLs</li>
<li>DevOps</li>
<li>Convention over  Configuration</li>
<li>DRY – Don’t Repeat Yourself</li>
<li>Scaling out</li>
<li>OSS – Open Source Software</li>
<li>Reference management</li>
</ol>
<p>Saker man inte bör  använda:</p>
<ul>
<li>Active Record Pattern</li>
<li>Scuffolds</li>
</ul>
<p>/Emil</p>
<h2>jQuery and Sinatra, a Classy  Combination</h2>
<p>Föreläsare: <a href="http://anders.janmyr.com/">Anders  Janmyr</a></p>
<p>Mycket kod som visade hur man  ganska enkel kan bygga en webbsida med mycket funktionalitet med  javascriptbibilioteket jQuery och REST-ramverket Sinatra. Imponerande hur  kraftfullt javascript är, om man vet hur man ska använda det.   Det finns även  testverktyg:</p>
<ul>
<li>Javascript: Qunit</li>
<li>Sinatra: Rspec med  Rack-Test</li>
</ul>
<p>/Emil och Ingrid</p>
<h2>Test-First Development v. Next  with Pex and Moles</h2>
<p>Föreläsare:  <a href="http://www.scandevconf.se/2011/conference/speakers/david-starr/">David Starr</a> (Pluralsight)</p>
<p>Intressant  session som hölls av en kul, storväxt och verbal föreläsare som inledde med  orden &#8221;<em>It&#8217;s gotta be fun for you to see an American &#8211; you get to see  real-life <strong>fat</strong> people</em>!&#8221;</p>
<p><strong></strong> <strong><span style="text-decoration: underline;">Pex</span></strong> är ett  automatiserat &#8221;white-box&#8221; unit testing-verktyg för Visual Studio 2010 (tror att  det även kan funka i 2008).  Du kan utifrån en metod i din  kod, högerklicka och välja Run Pex, och Pex skapar utifrån koden, m h a  Reflection, &#8221;enhetstester&#8221; för att se att koden uppfyller de <span style="text-decoration: underline;">Code  Contracts</span> som finns och att metoden klarar av olika typer av  input-parametrar (testar &#8221;boundary conditions&#8221;).  Dessa tester kan sedan  automatiskt konverteras till &#8221;vanliga&#8221; enhetstester och läggas till befintlig  test-svit. Code coverage blir automatiskt hög.  Davids erfarenhet är att Pex ej  är en ersättning för dina vanlig enhetstester, utan ett komplement och används  främst för att testa . Pex är även bra på att hitta vad du missat i dina tester.  Han trycker även på att Pex verkligen är &#8221;Test-First&#8221;, eftersom du utifrån ett  tomt metod-skal först får ett falerande Pex-test. Du bygger sedan inkrementellt  på din metod, och kör sedan Pex enligt devisen  &#8221;Red-Green-Refactor&#8221;.</p>
<p><strong></strong> <strong><span style="text-decoration: underline;">Moles</span></strong> &#8211; är enligt  David inget mocking-ramverk, utan är en stub-teknik som jobbar med &#8221;re-routing&#8221;  för att &#8221;stubba&#8221; properties och metoder. Med Moles kan vilken .NET-metod som  helst &#8221;re-routas&#8221; med hjälp av en delegat. Vid enhetstestning kan alltså Moles  användas för att isolera bort miljö-beroenden såsom filsystem, databaser mm,.  Moles möjliggör testning av static properties eller sealed types.  Bl a. så är det svårt att skapa  enhetstester för kod som går mot SharePoint:s objektmodell, eftersom det har  krävts att testerna körts på en SharePoint-server, men här kan Moles förbigå  SharePoint:s objektmodell och möjligöra enhetstester i denna miljö.</p>
<p><a href="http://research.microsoft.com/en-us/projects/pex/">http://research.microsoft.com/en-us/projects/pex/<br />
</a><a href="http://elegantcode.com/">http://elegantcode.com/<br />
</a><a href="http://www.pex4fun.com/">http://www.pex4fun.com/</a></p>
<p>/Tomas</p>
<h2>But what about  performance?</h2>
<p>Föreläsare: <a href="http://www.thekua.com/atwork/">Patrick  Kua</a> (Thoughtworks)</p>
<p>Patrick Kua började med att gå  igenom några värdering som används inom agil utveckling:</p>
<ul>
<li>User stories</li>
<li>Visualisera dessa</li>
<li>Bry sig om &#8221;hantverket&#8221; (Clean  Code)</li>
<li>Continous Deployment</li>
<li>Feedback &#8211;         Gör detta iterativt</li>
</ul>
<p>Det är ett glapp här, varför  missar man prestanda-tester? Oftast kommer detta i slutet av ett projekt,  väldigt nära den slutliga releasen.  Istället för:<br />
iteration 1 =&gt; iteration 2  =&gt; &#8230;  =&gt; iteration n =&gt; Performance test<br />
bör det se ut så  här:<br />
iteration 1  inkl. perf test =&gt; iteration 1 inkl. perf test =&gt; &#8230; iteration n inkl.  perf test.</p>
<p>Oftast är den &#8221;normale&#8221;  prestandatestaren inte van vid det agila arbetssättet (de kommer som sagt oftast  in sent i projekt eller då system redan är i produktion&#8230;), då därför är det  bra att par-jobba med andra ur teamet. På detta sätt kommer testaren in i  arbetssättet, och kunskap om prestand-testning sprids inom teamet. Till slut  kanske inte denna testare finnas med på heltid, utan viss testning kan överlåtas  till andra i teamet (cross-discipline teams) Kua pratar om att det är viktigt  att hitta andra användare, som ej är end-users, t ex support-personer, dba:s mm  &#8211; och låta dessa skriva user stories utifrån sitt perspektiv av systemet.</p>
<p>Performance user stories är user  stories skrivna med fokus på prestanda:<br />
&#8221;<strong><span style="text-decoration: underline;">So  that</span></strong> investors have a high-quality experience as the business grows,  <strong><span style="text-decoration: underline;">As the</span></strong> Operations Manager <strong><span style="text-decoration: underline;">I want</span></strong><span style="text-decoration: underline;"> </span>the  portfolio value page to render within 0,2 s when  10 000 users  logged in&#8221;.</p>
<p>Det gjordes även en referens till  Cockburns key note där han nämnde &#8221;walking skeleton&#8221; (dvs den minsta  implementationen av ett system end-to-end, GUI till t ex databas). När det finns  ett &#8221;walking skeleton&#8221; av systemet, i detta läge kan prestanda-test påbörjas. På  detta sätt kan prestandetestning också göras inkrementellt och byggas på  allteftersom systemet växer.</p>
<p>Det talades även om att gå från  automatiserade tester automatiserad test-orkestrering, vilket skulle leda till  snabb feedback om systemets prestanda.<br />
Om kontinuerlig integration  (continuous integration &#8211; CI) finns på plats är det relativt enkelt att även få  med &#8221;Continuous Performance Testing&#8221;.</p>
<p><strong></strong> <strong>Performance Champion</strong> är en  ny roll som Patrick Kua introducerar och som skall ingå i scrum-teamet. Denne  ansvarar för att sprida kunskap om vad kostnaden är för dålig prestanda, tar  fram de &#8221;performance characteristics&#8221; systemet har, analyserar risk/påverkan och  potentiella konsekvenser relaterat till prestanda.</p>
<p><strong></strong> <strong>Result repositories</strong> &#8211; data  från historiska prestandatester skall sparas, för att lättare kunna analysera  skillnader/trender.</p>
<p><strong></strong> <strong>Result visualization -</strong> rådata är svår att analysera med ögat, men genom att göra den visuellt  representerad kan mönster, och förhoppningsvis orsaker, hittas.</p>
<p>/Tomas</p>
<h2>Full speed ahead with Entity  Framework!</h2>
<p>Föreläsare: <a href="http://www.scandevconf.se/2011/conference/speakers/anders-bratland/">Anders Bratland</a></p>
<p>Med Microsofts release av Entity  Framework har OR-mappers kommit att bli en del av vår vardag. Ni som har använt  Entity Framework har säkert märkt att det ibland lämnar mycket att önska  prestandamässigt, och Anders Bratland gick här igenom ett antal viktiga saker  att tänka på för att öka prestandan. <strong></strong> <strong>What´s Your  Pain?</strong> Hur vet du om det är EF eller  databasen som är långsam? Använd SQL Profiler och EF  Profiler. Nedan följer några problem och  lösningar som presenterades:</p>
<p><strong></strong> <strong>1. Deferred  Execution</strong></p>
<p><strong></strong>Problem: Vi vet inte är när vår linq-fråga kommer  att ställas. Vår fråga kan komma att bli exekverad  mer än en gång.</p>
<p>Lösning: Tänk på att LINQ-satsen du använder mot  data contextet är en query och inte datat i sig och därför kan exekveras mot  databasen varje gång du använder den i koden. Det kan därför vara bättre att  istället returnera det materialiserade datat (mha ToList() eller liknande)  istället för queryn i sig.</p>
<p><strong></strong> <strong>2. Change  Tracking</strong></p>
<p>Problem: Min applikation använder sig mycket av  read-only data och spenderar mycket resurser på att hålla koll på  förändringar.</p>
<p>Lösning: Ladda entiteter med MergeMode =  NoTracking. Slå av change tracking om du inte  behöver den funktionen, eftersom det ger onödig overhead.</p>
<p><strong></strong> <strong>3. Precompiled  Queries</strong></p>
<p>Problem: Samma query körs flera gånger kompileras  dynamiskt varje gång.</p>
<p>Lösning: Förkompilera din query.</p>
<p>Kommentar: Är själva frågan &#8221;tung&#8221; spelar detta  mindre roll då tiden för kompileringen blir förhållandevis liten. Detta ger en  prestandaförbättring endast främst på frågor som besvaras lätt av  databasen.</p>
<p><strong></strong> <strong>4. Batch-jobb</strong></p>
<p>Problem: Jag vill göra insert eller update på en  massa data.</p>
<p>Lösning: Om du ska inserta stora mängder data,  använd inte Entity Framework eftersom det suger i det fallet! Använd istället  något av följande alternativ:</p>
<ul>
<li>SqlBulkCopy</li>
<li>ADO.NET</li>
<li>Nhibernate + HQL</li>
</ul>
<p><strong></strong> <strong>5.  GetObjectByKey</strong></p>
<p>Problem: DB anropas även om den redan har blivit  uppladdad</p>
<p>Lösning: Använt ditt EntityContext med  GetObjectByKey eller TryGetObjectByKey. Finns entiteten  inläst hämtas den därifrån annars från databasen.</p>
<p><strong></strong> <strong>The secret  cliffhanger:</strong></p>
<p>It´s still SQL,  remember the database!</p>
<ul>
<li>Index</li>
<li>Normalisering</li>
<li>Statistic</li>
</ul>
<p><strong></strong> <strong>Avlsutningsvis:</strong></p>
<ul>
<li>What´s YOUR pain? Lös inte problem som  som inte existerar.</li>
<li>EF är inte en religon utan ett verktyg!  Använd det där det passar.</li>
<li>Kom ihåg att använda Eager Loading där  det behövs, för att undvika onödiga roundtrips till databasen (googla på ”select  N+1”)</li>
<li>Shape your results! Dvs hämta endast det  data du behöver från databasen.</li>
</ul>
<p>/Alexander och Tommy</p>
<h2>JDK7</h2>
<p><a href="http://www.scandevconf.se/2011/conference/speakers/henrik-stahl/">Henrik Ståhl</a> från  Oracle gick igenom en del av vad som kommer i JDK7.   Några exempel är: ·         InvokeDynamic. Stöd för dynamiskt typade  språk i JVM:en. Ny Java bytekod gör att dessa språk kan köra mycket snabbare i  JVM:en. ·         Project Coin: Små förändringar i  språket. Tex: strängar i switch, underscore i literals m.m.  ·         NIO.2:  Filsystem provider  för zip/jar archives. ·         Internationalization: Stöd för fler  tecken med Unicode 6.0   JDK7 beräknas vara tillgängligt i  slutet av juli, och JDK8 väntas till höst/vinter 2012.</p>
<p>/Ingrid</p>
<h2>Your first Android  app</h2>
<p><a href="http://www.scandevconf.se/2011/conference/speakers/par-siko/">Pär Sikö</a> och <a href="http://www.scandevconf.se/2011/conference/speakers/martin-gunnarsson/">Martin Gunnarsson</a> från  Epsilon visade hur man gör en enkel Android app från grunden.   De använde Eclipse med Android  plugin för att skapa en app som listar olika sorters ”fulcola”, samt visar mer  info om vald cola. De introducerade begrepp som  Intents, Views, Activities och Services. Appen använde sig av Internet  permission för att kontakta ”fulcola”-servern.</p>
<p>/Ingrid</p>
<h2>Java EE 6</h2>
<p><a href="http://blog.adam-bien.com/">Adam Bien</a> gjorde en  presentation i raketfart av JEE6. Allt skedde i NetBeans IDE där han byggde en  applikation kallad  ”VikingsAndVolvos” (för det är ju sånt vi  svenskar gillar).   VikingsAndVolvos blev en  fungerande end-to-end Java EE6 applikation med BeanValidation, CDI, EJB3.1, JPA2  och JSF2.</p>
<p>/Ingrid</p>
<h2>NoSQL – Smackdown</h2>
<p><a href="http://www.augusttechgroup.com/tim/about/">Tim Berglund</a> från The August  Technology Group gick igenom ett antal ”icke-relations databaser”.   Han beskrev CAP-teoremet som en  tradeoff mellan följande egenskaper, där ett distribuerat system aldrig kan  garantera alla delar utan max två av delarna. ·         Consistency (alla noder ser samma data  samtidigt) ·         Availability (nodfel hindrar inte övriga  noder) ·         Partition Tolerance (systemet funkar  trots enstaka förlorade meddelanden)   De databaser han rekommenderade  mest var Cassandra och MongoDB. Dessa uppfyllde båda C och P delen i  CAP. <em></em> <em>Cassandra:</em> En väldigt  skalbar databas som används av bla Facebook, twitter mfl. Implementerad i Java6   <em></em> <em>Mongo DB:</em> Implementerad i  C++ och byggd för snabbhet. Används av bla sourceforge   Andra databaser som nämndes var:  <em>Redis </em>(Impl i ANSI C, väldigt liten) och <em>Neo4J</em> (graph  database)   Tim rekommenderade boken  ”Cassandra: The Definite Guide” av Eben Hewitt</p>
<p>/Ingrid</p>
<h2>Developing iPad applications in  .NET</h2>
<p>Föreläsare: <a href="http://www.rayneronline.com/blog/">Paul  Rayner</a> Utvecklar du i dagsläget i .NET  eller Java och är intresserad av iPhone/iPad utveckling men känner att steget  till Objective-C är för stort? Prova MonoTouch, en implementation av Mono (open  source C# .NET), så kan du fortsätta utveckla i ett språk du är van  med!   Dock krävs det fortfarande en Mac  att utveckla på&#8230; Surt.   <a href="http://monotouch.net/">http://monotouch.net/</a></p>
<p>/Tommy</p>
<h2>Practical multi-core programming  in .NET</h2>
<p>Föreläsare: <a href="http://www.scandevconf.se/2011/conference/speakers/tiberiu-covaci/">Tiberiu Covaci</a> Som någon har sagt angående  övergången från allt högre klockfrekvenser på processorer till att istället öka  antalet kärnor i processorn: ”The free lunch is over”. Detta syftar på att  utvecklare tidigare fått lösningar på prestandaproblem genom att nästa  generation processor hela tiden varit snabbare, och därför inte krävt någon  större förändring av hur man faktiskt implementerar programmen. Fler  processorkärnor istället för högre hastighet kräver nu att utvecklare nu måste  börja parallellisera sin kod för att dra nytta av kapaciteten.   I .NET finns tex Task Parallel  Library och Parallel LINQ (PLINQ). Extremt förenklat kan man exempelvis använda  Parallel.Invoke för att starta ett antal tasks parallellt, samt Parallel.ForEach  för att göra en ”parallell-foreach”. Inget nytt för många av er, men det tål att  påminnas om!</p>
<p><a href="http://blog.multi-core.net/">http://blog.multi-core.net/</a><br />
<a href="http://msdn.microsoft.com/en-us/library/dd460693.aspx">http://msdn.microsoft.com/en-us/library/dd460693.aspx</a></p>
<p>/Tommy</p>
<h2>Creating Silverlight Applications  for Windows Phone 7 (WP7)</h2>
<p>Föreläsare:  <a href="http://www.pontus-wittenmark.com/">Pontus Wittenmark</a></p>
<p>Sessionen bestod i främst live  demos och hur man enkelt kunde producera en WCF-service och hur man kan skapa en  klient-applikation för WP7.</p>
<p>Strikta hårdvarukrav<br />
Utifrån en apputvecklares  perspektiv är android grymt krångligt eftersom appen måste anpassas för så många  olika hårdvarusystem. Eftersom WP7 har strika  hårdvarukrav kan utvecklarna lättare anpassa sitt program efter hårdvaran. En  annan fördel med den strikta hårdvarukraven är bland annat att du i princip vet  vad du får i prestanda oavsett tillverkare och modell.</p>
<p>Processorer ska vara minst en  ARM-processor på 1 GHz, upplösningen ska vara 800&#215;480, de tre knapparna under  skärmen plus kameraknappen måste finnas (och vara i den ordningen), kameran  måste vara 5 MP, blixt måste finnas, 256 MB RAM och 8 GB minne är lägstanivån.</p>
<p>För att bygga applikationer till  Windows Phone 7 kan man antigen använda XNA som är anpassat mot för  spelutveckling eller så kan man använda Silverlight. Förutom att man kan skriva  WP7-appar i Silverlight, är det också ett browser plug-in som finns för Windows,  OS X och Linux.</p>
<p>Verktyg<br />
För att bygga apppar  krävs:</p>
<ul>
<li>Visual Studio  2010 / VS Express för Windows Phone</li>
<li>Windows Phone Developer  Tools</li>
</ul>
<p>För att publicera appar  krävs:</p>
<ul>
<li>App Hub Account</li>
<li>Phone  (rekommendation)</li>
</ul>
<p>Har du tidigare utvecklat  Silverlight för webben eller WPF-lösningar är det ganska enkelt, för att inte  säga väldigt enkelt att bygga dina egna appar för WP7.</p>
<p>Några saker att tänka på  dock:</p>
<ul>
<li>Det finns ingen socket  support</li>
<li>WCF, REST, JSON fungerar  fint</li>
<li>Dina appar kan inte starta  andra appar</li>
<li>Däremot finns det s.k.  Launchers och Choosers &#8211; enkla att använda</li>
</ul>
<p>Skillnaden mellan en Launcher och  en Chooser är att Launcher inte returnerar något medan en Chooser, ex. CameraCaptureTask kan returnera en bild.</p>
<p>Exempel på  Launchers:</p>
<ul>
<li>PhoneCallTask</li>
<li>SmsComposeTask</li>
<li>EmailComposetask</li>
<li>WebBrowserTask</li>
</ul>
<p>Exempel på  Choosers:</p>
<ul>
<li>EmailAdressChooserTask</li>
<li>SavePhoneNumberTask</li>
<li>PhotoChooserTask</li>
</ul>
<p>Toombstoning<br />
Så som WP7 är utvecklat idag så  avslutas din applikation (gäller applikationer som utvecklats av tredje part) om  det exempelvis inkommer ett telefonsamtal, sms, påminnelser eller om du startar  en annan app.</p>
<p>Detta innebär kanske lite oväntat  att det är du som utvecklare som blir skyldig till att hålla illusionen vid liv  din applikation &#8221;hållts vid liv&#8221;.</p>
<p>För att åstadkomma denna  illusion, kan du använda dig av följande fyra events och spara ner/läsa upp data  (IsolatedStorage) till/från din app:</p>
<ul>
<li>Application_Launching - När  appen startas</li>
<li>Application_Deactivated - När  en app till bakgrundsläge</li>
<li>Application_Activated &#8211; När en  app frångår bakgrundsläge</li>
<li>Application_Closing &#8211; När man  backar från appen till &#8221;startsidan&#8221;</li>
</ul>
<p>Som tidigare påpekades är det  riktigt bra stöd för utvecklare till WP7 plattformen och har du pysslat med  Silverlight eller WPF tidigare är tröskeln mycket låg och Visual Studio är en  ytterst bekant miljö&#8230;</p>
<p>Mer info: <a href="http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx">http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx</a></p>
<p><a href="http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx"></a>/Alexander</p>
<p>===</p>
<p>TACK FÖR OSS!<br />
/Alexander, Emil, Ingrid, Tomas och Tommy</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/04/06/scandianavian-developer-conference-2011-dag-ett/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Konferens i Varberg</title>
		<link>http://blogg.altran.se/cis/2011/03/29/konferens-i-varberg/</link>
		<comments>http://blogg.altran.se/cis/2011/03/29/konferens-i-varberg/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 06:59:13 +0000</pubDate>
		<dc:creator>Altran Young Professional Program</dc:creator>
				<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[Soft skills]]></category>
		<category><![CDATA[Young Professional Program]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=967</guid>
		<description><![CDATA[Här kommer nästa YPP-iga Altranare. Jag heter Henric Holmberg och har precis avslutat mina studier till Högskoleingenjör i Datateknik och via en snabb mellanlandning på ett stort svenskt telekombolag hamnat på Altran.
Det har nu hunnit gå cirka en och en halv månad sedan jag började äventyret som trainee på Altran. Den första tiden här har [...]]]></description>
			<content:encoded><![CDATA[<p>Här kommer nästa YPP-iga Altranare. Jag heter Henric Holmberg och har precis avslutat mina studier till Högskoleingenjör i Datateknik och via en snabb mellanlandning på ett stort svenskt telekombolag hamnat på Altran.</p>
<p>Det har nu hunnit gå cirka en och en halv månad sedan jag började äventyret som trainee på Altran. Den första tiden här har varit väldigt rolig och med många nya intryck. Jag har fått känna på att komma ut på uppdrag ute hos kunder och där tagit de första stapplande stegen i att bli den erfarna Documentum-konsult som både jag och Altran hoppas och vet att jag en dag kommer att bli. För att jag på bästa sätt ska komma in i rollen som konsult har jag fått gå en veckolång introduktionskurs i Documentum. Att lära sig nya kunskaper är ju inte allt, jag har även fått tillfälle att lära känna många av mina fantastiskt trevliga kollegor som arbetar här på Altran.</p>
<p>Hur kommer det sig att jag fastnade för Altran? Nu är det så här att jag älskar utmaningar och brinner för att lära mig nya och spännande saker; och vad är då bättre än att med hjälp utav medarbetare, coach och mentor, alla med hög kompetens, få möjligheten att lära mig och utvecklas inom de områdena som jag intresserar mig för!</p>
<p>Den här veckan bär det iväg till konferens i Varberg. Alla nyanställda ska samlas där för en introduktionskonferens, lunch till lunch, där vi ska lära känna varandra och företaget ännu lite bättre. Detta ska bli himla flott och jag ser fram emot trevliga möten, goda middagar och att bli lite bortklemad på något spa.</p>
<p>Eftersom jag är en av de lyckliga få som ingår i YPP-programmet så ska jag stanna kvar en dag extra på konferensanläggningen och där påbörja vår första softskills-kurs; allt för att vi på bästa sätt ska komma in i konsultrollen. Till kursen har alla deltagare fått göra en förberedande uppgift där vår personlighet kartlagts för att se hur vi fungerar i ett team. Så nu kommer det fram vem man egentligen är… Dr Jekyll eller Mr Hyde?</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/03/29/konferens-i-varberg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QCON London 2011 Second day first half</title>
		<link>http://blogg.altran.se/cis/2011/03/12/qcon-2011-second-day-first-half/</link>
		<comments>http://blogg.altran.se/cis/2011/03/12/qcon-2011-second-day-first-half/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 10:49:09 +0000</pubDate>
		<dc:creator>Christoffer Noring</dc:creator>
				<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[QCON]]></category>
		<category><![CDATA[Architecure]]></category>
		<category><![CDATA[Innovation]]></category>
		<category><![CDATA[Practice]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=948</guid>
		<description><![CDATA[The second day I decided to try to follow the tracks Architecture and Software Craftmanship more in . First out was the key note speech by Patrick Copeland, director of engineering at Google. He talked about “Innovation at Google”. He differed between Top-down Innovation and Entrepreneurial Innovation were the former meant innovation performed at a [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The second day I decided to try to follow the tracks Architecture and Software Craftmanship more in . First out was the key note speech by Patrick Copeland, director of engineering at Google. He talked about “Innovation at Google”. He differed between Top-down Innovation and Entrepreneurial Innovation were the former meant innovation performed at a company by a select few and the latter being more like Googles’ model and have all employee spend some part of their time dedicated to innovation. He made a point of that a company should aim at trying to “build the right it” and not “building it right“. Also ideas in themselves didn’t have value but the people who realize them. Building something new is &#8221;1% inspiration and 99% perspiration&#8221;. Copeland then introduced the concept “Thoughtland” where everything is possible, good ideas, bad ideas, which is basically unrealized ideas. Then a number of cases where mentioned, first off IBMs attempt to invent the &#8221;speech-to-text apparatus&#8221;. At this point the concept of &#8221;Pretendotype&#8221; or &#8221;Pretotyping&#8221; was introduced meaning that you should fake creating a product and thereby test the validity of the idea. This is just what IBM did by having users think that the speech-to-text existed when in actuality it was a person listening and typing it all on a computer screen. At this point it was realized that the idea had flaws such as causing a sore throat with the users, after some usage, as well as being hard to control. Also a graph of usage over time was introduced to analyze how the idea stood the test of time. If frequent usage still was the case after a long time then the idea was valid, otherwise he said “we will not retreat – we will advance in another direction”, bringing down some laughs saying this. Then he gave the general recipe for innovation which was try out some pretendotypes followed by a quick launch  on a small user group, followed by abandon or repeat until achieving the previously mentioned high stable usage over time. First after that real prototyping can take place.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Next lecture was on the track ARCHITECTURES YOU ALWAYS WONDERED ABOUT and OnLives game streaming product held by Charles Jablonski. The idea with  OnLives product is basically about playing video games without actually owning anything more than a computer screen or tv. All the processing is made in the cloud and the resulting image is sent to you. He made a point of this not being able just 24 to 18 months ago both due to the limitations in computer screens as well as the speed of the internet. The general response time to aim at is 16 to 80 miliseconds, he explained, for the user to perceive it as happening in real time. This is an example of software as a service, Saas. The data is always there, its always backed up. Other examples of these cloud based applications are Facebook, Google Docs and Chrome OS. Jablonski at this point started to tell about what kind of user experience they were to give the user, back when they were still thinking how to build it. It was decided that the desktop with all its thick client behaviour would not be possible as the response time on a lot of features could not be met. So desktop was out of the question but they on the other hand gave the user a live streamed game that would have virtually no loading time at all compared to its pc equivalency. They hade to however come up with their own operating system but instead of letting os interactions be handled by sys call, as is customary, it was done by database queries. Telling more about the system he  explained the concept of watchdogs. It means that there are guards in the system who constantly keeps watch of all users experience and ensures that if a connection is failing or not living up to OnLives quality another set of resources are allocated and the game session is seamlessly moved to that new allocation and the previous resources are garbage collected. OnLive works by a piece of hardware being connected to your tv or computer. One interesting fact was that that the server hall, their &#8221;cloud&#8221; is made out of custom built servers where among other things the graphics cards are custom built in the sense that the fans for example actually move in the other direction and that extra cooling has been added. Jablonski said an ordinary graphics card would physically melt if running around the clock for three months.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The next lecture was a really good one covering the mental mind of people namely that how to better ourselves in what we do. It was in the track SOFTWARE CRAFTMANSHIP and called &#8221;Deliberate practice&#8221; and was held by Jon Jagger.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">He started off by talking about being adaptable and that there was a contradiction between being adapted and being adaptable, i.e too specialized means to rigid and unable to cope to change, like a frog. The total absence of meaningful practice keeps teams from becoming effective learning units he said.  Talking about software removing bad practices can actually be compaired to traning a dog in the sense that inefficient behavior is removed by adding more effective behavior. Research has showed that there exist no effective way to enhance forgetting and supressung memory directly hence the need to basically overwrite it with learning a  good behaviour.  Focus on what you do good and ignore the bad. Jagger then told of the importance of keeping your brain constantly challenged, for example try using your off hand and learn to write with it a par level with your main hand , doing what you are not good at isn’t necessarily fun. Also challenge yourself with a task that is just beyond your current ability. The essence of practice is constantly trying to do things one cannot do comfortably. Work hard but work smart. Act your way into a new way of thinking , boyds law. The meaning here is you cant change how you think but you can act the part. The next driving point was that he downplayed peoples &#8221;natural talent&#8221; and said it was the amount of hours put in that took you someplace. As he said there exist, according to research, no fast tracks to learning. Even the ones we call geniuses have worked enormous amount of hours to get where they are, also effort gives meaning to life. We can not all strive to do something perfect but we shouldnt stop trying, &#8221;improvement is easier than perfection&#8221;, Chinese proverb. &#8221;Analysis paralysis&#8221; is a term he mentions, meaning  left brainers are at fault at trying to analyze tasks too much, Jagger said talking about development teams. For the agile manifesto to work sometimes you need to just start implementing it.  He said he has seen development teams spend as much as half the day analyzing. At this point he was making several quick points, among them &#8221; You do deliberate practice to improve your ability to perform a specific task, not to complete it&#8221;.  &#8221;The speed of an iteration trumps the quality of and iteration&#8221;. &#8221;Practicing without feedback is like bowling against a curtain&#8221;. Talking about feedback he said  &#8221;Just calling it feedback doesn’t mean it has actually fed back&#8221;.  It hasn’t fed back until the system changes course.</div>
<p>The second day I decided to try to follow the tracks Architecture and Software Craftmanship more in detail . First out was the key note speech by Patrick Copeland, director of engineering at Google. He talked about “Innovation at Google”. He differed between Top-down Innovation and Entrepreneurial Innovation were the former meant innovation performed at a company by a select few and the latter being more like Googles’ model and have all employee spend some part of their time dedicated to innovation. He made a point of that a company should aim at trying to “build the right it” and not “building it right“. Also ideas in themselves didn’t have value but the people who realize them. Building something new is &#8221;1% inspiration and 99% perspiration&#8221;. Copeland then introduced the concept “Thoughtland” where everything is possible, good ideas, bad ideas, which is basically unrealized ideas. Then a number of cases where mentioned, first off IBMs attempt to invent the &#8221;speech-to-text apparatus&#8221;. At this point the concept of &#8221;Pretendotype&#8221; or &#8221;Pretotyping&#8221; was introduced meaning that you should fake creating a product and thereby test the validity of the idea. This is just what IBM did by having users think that the speech-to-text existed when in actuality it was a person listening and typing it all on a computer screen. At this point it was realized that the idea had flaws such as causing a sore throat with the users, after some usage, as well as being hard to control. Also a graph of usage over time was introduced to analyze how the idea stood the test of time. If frequent usage still was the case after a long time then the idea was valid, otherwise he said “we will not retreat – we will advance in another direction”, bringing down some laughs saying this. Then he gave the general recipe for innovation which was try out some pretendotypes followed by a quick launch  on a small user group, followed by abandon or repeat until achieving the previously mentioned high stable usage over time. First after that real prototyping can take place.</p>
<p>Next lecture was on the track ARCHITECTURES YOU ALWAYS WONDERED ABOUT and OnLives game streaming product held by Charles Jablonski. The idea with  OnLives product is basically about playing video games without actually owning anything more than a computer screen or tv. All the processing is made in the cloud and the resulting image is sent to you. He made a point of this not being able just 24 to 18 months ago both due to the limitations in computer screens as well as the speed of the internet. The general response time to aim at is 16 to 80 miliseconds, he explained, for the user to perceive it as happening in real time. This is an example of software as a service, Saas. The data is always there, its always backed up. Other examples of these cloud based applications are Facebook, Google Docs and Chrome OS. Jablonski at this point started to tell about what kind of user experience they were to give the user, back when they were still thinking how to build it. It was decided that the desktop with all its thick client behaviour would not be possible as the response time on a lot of features could not be met. So desktop was out of the question but they on the other hand gave the user a live streamed game that would have virtually no loading time at all compared to its pc equivalency. They hade to however come up with their own operating system but instead of letting os interactions be handled by sys call, as is customary, it was done by database queries. Telling more about the system he  explained the concept of watchdogs. It means that there are guards in the system who constantly keeps watch of all users experience and ensures that if a connection is failing or not living up to OnLives quality another set of resources are allocated and the game session is seamlessly moved to that new allocation and the previous resources are garbage collected. OnLive works by a piece of hardware being connected to your tv or computer. One interesting fact was that that the server hall, their &#8221;cloud&#8221; is made out of custom built servers where among other things the graphics cards are custom built in the sense that the fans for example actually move in the other direction and that extra cooling has been added. Jablonski said an ordinary graphics card would physically melt if running around the clock for three months.</p>
<p>The next lecture was a really good one covering the mental mind of people namely that how to better ourselves in what we do. It was in the track SOFTWARE CRAFTMANSHIP and called &#8221;Deliberate practice&#8221; and was held by Jon Jagger.</p>
<p>He started off by talking about being adaptable and that there was a contradiction between being adapted and being adaptable, i.e too specialized means to rigid and unable to cope to change, like a frog. The total absence of meaningful practice keeps teams from becoming effective learning units he said.  Talking about software removing bad practices can actually be compaired to traning a dog in the sense that inefficient behavior is removed by adding more effective behavior. Research has showed that there exist no effective way to enhance forgetting and supressung memory directly hence the need to basically overwrite it with learning a  good behaviour.  Focus on what you do good and ignore the bad. Jagger then told of the importance of keeping your brain constantly challenged, for example try using your off hand and learn to write with it a par level with your main hand , doing what you are not good at isn’t necessarily fun. Also challenge yourself with a task that is just beyond your current ability. The essence of practice is constantly trying to do things one cannot do comfortably. Work hard but work smart. Act your way into a new way of thinking , boyds law. The meaning here is you cant change how you think but you can act the part. The next driving point was that he downplayed peoples &#8221;natural talent&#8221; and said it was the amount of hours put in that took you someplace. As he said there exist, according to research, no fast tracks to learning. Even the ones we call geniuses have worked enormous amount of hours to get where they are, also effort gives meaning to life. We can not all strive to do something perfect but we shouldnt stop trying, &#8221;improvement is easier than perfection&#8221;, Chinese proverb. &#8221;Analysis paralysis&#8221; is a term he mentions, meaning  left brainers are at fault at trying to analyze tasks too much, Jagger said talking about development teams. For the agile manifesto to work sometimes you need to just start implementing it.  He said he has seen development teams spend as much as half the day analyzing. At this point he was making several quick points, among them &#8221; You do deliberate practice to improve your ability to perform a specific task, not to complete it&#8221;.  &#8221;The speed of an iteration trumps the quality of and iteration&#8221;. &#8221;Practicing without feedback is like bowling against a curtain&#8221;. Talking about feedback he said  &#8221;Just calling it feedback doesn’t mean it has actually fed back&#8221;.  It hasn’t fed back until the system changes course.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/03/12/qcon-2011-second-day-first-half/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>QCON London 2011 first day second half</title>
		<link>http://blogg.altran.se/cis/2011/03/11/qcon-london-2011-first-day-second-half/</link>
		<comments>http://blogg.altran.se/cis/2011/03/11/qcon-london-2011-first-day-second-half/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 21:20:24 +0000</pubDate>
		<dc:creator>Christoffer Noring</dc:creator>
				<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[QCON]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=940</guid>
		<description><![CDATA[Just before breaking for lunch a nice little mobile lecture took place.
IOS4 AND ANDROID track Introduction to iOS4 software development by Adrian Kosmaczewski
This lecture was about giving a brief insight in what it means to develop for iOS. It meant to cover Objective-C , the framework Cocoa , Tools, Developing for the web or native [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Just before breaking for lunch a nice little mobile lecture took place.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">IOS4 AND ANDROID track Introduction to iOS4 software development by Adrian Kosmaczewski</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">This lecture was about giving a brief insight in what it means to develop for iOS. It meant to cover Objective-C , the framework Cocoa , Tools, Developing for the web or native and lastly app creation in general.  The basics of objective-c were covered first in a comparison between objective-c and c#/ java, himself being a former .net developer. Most concepts had an equivalent in each language although objective-c lacked the concept of namespaces. Also notable was that garbage collection was left entirely to the developer where java and .net developers have enjoyed having this handled automatically. One might argue that there is performance to be gained if learning to handle memory management properly as well as making you a better coder for learning this. Also the concept of virtual memory is nonexistent which means that when the memory is out the application will quit on you. However there seems to be a way of capturing the warning that occurs just before the memory runs out. The basic tools for development are Xcode and Interface Builder but it seems that Apple is looking to merge the two into a single program in a near future.  Also several frameworks for web app development were mentioned. Kosmaczewski was pushing a lot for his blog, http://kosmaczewski.net/ where a lot of issues regarding concepts such as build servers, continuous integration etc is covered more in detail. One interesting tool is Static Analyzer which analyzes objective-c code and points out potential bugs and best practice which resembles the Resharper product for Visual Studio.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The next track that I chose to follow was the SOFTWARE ARCHITECTURE IMPROVEMENTS and especially the lecture titled &#8221;Putting the &#8216;re&#8217; into architecture&#8221; by Kevlin Henney.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">He started off with a really striking quote &#8221;Estimates are like fiction you are writing &#8211; it’s made up&#8221;. With that said it is sometimes really difficult to foresee all the factors and pitfalls when implementing software and estimates are really hard to make. The lecture continued with another quote &#8221;That which is overdesigned, too highly specific, anticipates outcome; the anticipation of outcome guarantees, if not failure, the absence of grace&#8221; &#8211; Wiliam Gibson.  Architecture was defined as “decisions that shape a system, where significant is measured by cost of change”. He also made a point that not just the architects’ acts as architects for example managers’ act as architects when they make decisions that makes impact on the system. Software construction was also compared to that of a living garden rather than a house. Also there were talks on stability in a system and the impact of a planned change and the methods to analyze it. Employing a dot technique to point out the location of the bugs would give you an estimate of which modules were affected and to what degree but it would not give you an answer. More bugs in one module and less in another could indicate bad code but also that the module with the lesser amount of bugs consisted of codes not being used or that other metrics such as the number of lines of code should be taken into account as the most affected module could be a really large module. The main point to all of this was to learn to ask better questions rather than finding the answer.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">NEXT GENERATION FINANCIAL TECHNOLOGY Complex Event Processing : DSL for high frequency trading by Richard Tibetts.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Financial systems are characterized by ultra low latency and large data volumes which poses significant requirements on any application or system built to handle the data. StreamBase is a company that invented a graphical language, that has the ability to act as a connection point for more than 100+ adapters and also aims to decrease time to market and time to change considerably. As speed is key StreamBase uses Janino compiler to generate java bytecode and issues such as optimizing garbage collection, array definition etc are matters that needed addressing when creating the language.It is built using c++ but also java. Tibetts went really in detail at this stage but I think it suffices to say that optimization on all aspects of a language was the driving theme to creating the StreamBase language.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">For the last lecture of the day I chose to yet again follow the mobile development track and got to listen to a funny but to the point presentation on usability issues when developing iPhone apps.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">IOS4 AND ANDROID “Making apps that dont suck” by Mike Lee</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The lecturer Mike Lee came dressed as a pirate with a “expect the unexpected” premise. He started off showcasing an app for gaming that seemed to firstly consist of an endless number of popup screens that basically did all wrongs possible. The popups did everything from confusing to disappointing to outright annoying the user and the general lesson learnt was that you as a developer will never get a second chance to do a first impression. He also made a point of saying the user deserved nothing but the best so only do what you are good at, if you’re not a graphical artist then hire one or as he said &#8221;design is the cheapest awesome money can buy&#8221;. Then came a general advice to app developers to try creating something that lasts rather than trying to make money off of a “crap application”. Next lesson to learn was that communication with a user is important when it comes to feedback and here he said “feedback is a chance to improve yourself not to prove yourself” meaning that developers should treat a bug report from a user as something important and ignore the fact it might be the 1500th time the same bug is reported, in other words be humble.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">This concluded a very interesting first day</div>
<p>Just before breaking for lunch a nice little mobile lecture took place.</p>
<p>IOS4 AND ANDROID track Introduction to iOS4 software development by Adrian Kosmaczewski</p>
<p>This lecture was about giving a brief insight in what it means to develop for iOS. It meant to cover Objective-C , the framework Cocoa , Tools, Developing for the web or native and lastly app creation in general.  The basics of objective-c were covered first in a comparison between objective-c and c#/ java, himself being a former .net developer. Most concepts had an equivalent in each language although objective-c lacked the concept of namespaces. Also notable was that garbage collection was left entirely to the developer where java and .net developers have enjoyed having this handled automatically. One might argue that there is performance to be gained if learning to handle memory management properly as well as making you a better coder for learning this. Also the concept of virtual memory is nonexistent which means that when the memory is out the application will quit on you. However there seems to be a way of capturing the warning that occurs just before the memory runs out. The basic tools for development are Xcode and Interface Builder but it seems that Apple is looking to merge the two into a single program in a near future.  Also several frameworks for web app development were mentioned. Kosmaczewski was pushing a lot for his blog, http://kosmaczewski.net/ where a lot of issues regarding concepts such as build servers, continuous integration etc is covered more in detail. One interesting tool is Static Analyzer which analyzes objective-c code and points out potential bugs and best practice which resembles the Resharper product for Visual Studio.</p>
<p>The next track that I chose to follow was the SOFTWARE ARCHITECTURE IMPROVEMENTS and especially the lecture titled &#8221;Putting the &#8216;re&#8217; into architecture&#8221; by Kevlin Henney.</p>
<p>He started off with a really striking quote &#8221;Estimates are like fiction you are writing &#8211; it’s made up&#8221;. With that said it is sometimes really difficult to foresee all the factors and pitfalls when implementing software and estimates are really hard to make. The lecture continued with another quote &#8221;That which is overdesigned, too highly specific, anticipates outcome; the anticipation of outcome guarantees, if not failure, the absence of grace&#8221; &#8211; Wiliam Gibson.  Architecture was defined as “decisions that shape a system, where significant is measured by cost of change”. He also made a point that not just the architects’ acts as architects for example managers’ act as architects when they make decisions that makes impact on the system. Software construction was also compared to that of a living garden rather than a house. Also there were talks on stability in a system and the impact of a planned change and the methods to analyze it. Employing a dot technique to point out the location of the bugs would give you an estimate of which modules were affected and to what degree but it would not give you an answer. More bugs in one module and less in another could indicate bad code but also that the module with the lesser amount of bugs consisted of codes not being used or that other metrics such as the number of lines of code should be taken into account as the most affected module could be a really large module. The main point to all of this was to learn to ask better questions rather than finding the answer.</p>
<p>NEXT GENERATION FINANCIAL TECHNOLOGY Complex Event Processing : DSL for high frequency trading by Richard Tibetts.</p>
<p>Financial systems are characterized by ultra low latency and large data volumes which poses significant requirements on any application or system built to handle the data. StreamBase is a company that invented a graphical language, that has the ability to act as a connection point for more than 100+ adapters and also aims to decrease time to market and time to change considerably. As speed is key StreamBase uses Janino compiler to generate java bytecode and issues such as optimizing garbage collection, array definition etc are matters that needed addressing when creating the language.It is built using c++ but also java. Tibetts went really in detail at this stage but I think it suffices to say that optimization on all aspects of a language was the driving theme to creating the StreamBase language.</p>
<p>For the last lecture of the day I chose to yet again follow the mobile development track and got to listen to a funny but to the point presentation on usability issues when developing iPhone apps.</p>
<p>IOS4 AND ANDROID “Making apps that dont suck” by Mike Lee</p>
<p>The lecturer Mike Lee came dressed as a pirate with a “expect the unexpected” premise. He started off showcasing an app for gaming that seemed to firstly consist of an endless number of popup screens that basically did all wrongs possible. The popups did everything from confusing to disappointing to outright annoying the user and the general lesson learnt was that you as a developer will never get a second chance to do a first impression. He also made a point of saying the user deserved nothing but the best so only do what you are good at, if you’re not a graphical artist then hire one or as he said &#8221;design is the cheapest awesome money can buy&#8221;. Then came a general advice to app developers to try creating something that lasts rather than trying to make money off of a “crap application”. Next lesson to learn was that communication with a user is important when it comes to feedback and here he said “feedback is a chance to improve yourself not to prove yourself” meaning that developers should treat a bug report from a user as something important and ignore the fact it might be the 1500th time the same bug is reported, in other words be humble.</p>
<p>This concluded a very interesting first day</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/03/11/qcon-london-2011-first-day-second-half/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QCON London 2011 first day first half</title>
		<link>http://blogg.altran.se/cis/2011/03/09/qcon-london-2011-first-day-first-half/</link>
		<comments>http://blogg.altran.se/cis/2011/03/09/qcon-london-2011-first-day-first-half/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 21:43:33 +0000</pubDate>
		<dc:creator>Christoffer Noring</dc:creator>
				<category><![CDATA[QCON]]></category>
		<category><![CDATA[Architecure]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=932</guid>
		<description><![CDATA[
The conference started with an introduction speech with Craig Larman a real uml guru, talking about large scale scrum projects operating on several sites spread out across the world. He talks about the importance of not having  component teams as they tend to tasks in a waterfall like approach. It’s also important to find good [...]]]></description>
			<content:encoded><![CDATA[<div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; font: normal normal normal 13px/19px Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-family: 'Times New Roman'; line-height: normal; font-size: small; padding: 0.6em; margin: 0px;">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The conference started with an introduction speech with Craig Larman a real uml guru, talking about large scale scrum projects operating on several sites spread out across the world. He talks about the importance of not having  component teams as they tend to tasks in a waterfall like approach. It’s also important to find good ways of cooperating and on equal terms. The last excludes using project manager software that teams in certain countries will not be able to afford the license on. So basically use tools that are as simple as possible, google docs, invest in large whiteboards and so on. With his own words “using project management software is like applying lipstick to a pig”. Larman was responsible for a setup consisting of almost a thousand coders and asked what to change if doing it again- he said only use 10 really good coders to code everything</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I then chose to follow the track of NEXT-GENERATION  FINANCIAL TECHNOLOGY and its first lecture was titled “Large scale integration” by John Davies. There seemed to be several protocols involved for sending data at high speed as the lecture revolved around banking systems. For banking system speed is key as well as correctness. Davies narrowed it down to talk about front end and back end protocols and used the FIX protocol as an example for the front end. The important part on the front end is for a handshaking procedure to proceed really fast meaning that all things xml was out of the question and FIX in its very nature is very simple. It consists of key value pairs where the key is an number representing the type of data and value the actual value. The key value pair statements are separated by spaces. An example part of a fix message is 52=2010-01-01  142=STRING where 52 means a date data type and the 142 points out a string type value. He then continued on to talk about the back end protocols and gave an example of FPML which is an xml based really verbose protocol, more than 3000 elements, having more than 46 different standards that changes on a monthly basis. He then continued on to mention SWIFT which are three things; a security network, a standards body and a connectivity provider. Moreover it’s been around for 30 years with an availability of 99.98 % and has “NEVER lost a message”. Sending a SWIFT message is also something you don’t do manually as it has a load of complicated rules that could easily be overlooked and the SWIFT network will fine you heftily if a message is poorly constructed. Davies then went on to talk about his own company and their solution which holds a client base of 75 % of the worlds banks including citigroup and bank of england. The solution in itself seemed to be made out of a relational database although coated with a cache like layer. So the architectural would be that of several services talking to the cache oblivious of the exact nature of the data backend. The data carriers, so called integrations objects are made out of POJOs which have format and parse functionality and data binds to the actual unformatted raw data. He also made a point of the integration object are created to be treated like xml nodes without the creation of the actual xml thus enabling the usage of XPATH on the objects, which is used for selection as well as routing of the objects. The integration objects can consist of any type of raw data made in any format such as the previously mentioned FPML type and so on. FPML on the other hand presents a problem to the cache due to its size but this is solved as it is stored as a BLOB.</div>
<p>The conference started with an introduction speech with Craig Larman a real uml guru, talking about large scale scrum projects operating on several sites spread out across the world. He talks about the importance of not having  component teams as they tend to tasks in a waterfall like approach. It’s also important to find good ways of cooperating and on equal terms. The last excludes using project manager software that teams in certain countries will not be able to afford the license on. So basically use tools that are as simple as possible, google docs, invest in large whiteboards and so on. With his own words “using project management software is like applying lipstick to a pig”. Larman was responsible for a setup consisting of almost a thousand coders and asked what to change if doing it again- he said only use 10 really good coders to code everything</p>
<p>I then chose to follow the track of NEXT-GENERATION  FINANCIAL TECHNOLOGY and its first lecture was titled “Large scale integration” by John Davies. There seemed to be several protocols involved for sending data at high speed as the lecture revolved around banking systems. For banking system speed is key as well as correctness. Davies narrowed it down to talk about front end and back end protocols and used the FIX protocol as an example for the front end. The important part on the front end is for a handshaking procedure to proceed really fast meaning that all things xml was out of the question and FIX in its very nature is very simple. It consists of key value pairs where the key is a number representing the type of data and value the actual value. The key value pair statements are separated by control -A character (0&#215;01). An example part of a FIX message is 52=2010-01-01  142=STRING where 52 means a date data type and the 142 points out a string type value. He then continued on to talk about the back end protocols and gave an example of FPML which is an xml based really verbose protocol, more than 3000 elements, having more than 46 different standards that changes on a monthly basis. He then continued on to mention SWIFT which are three things; a security network, a standards body and a connectivity provider. Moreover it’s been around for 30 years with an availability of 99.98 % and has “NEVER lost a message”. Sending a SWIFT message is also something you don’t do manually as it has a load of complicated rules that could easily be overlooked and the SWIFT network will fine you heftily if a message is poorly constructed. Davies then went on to talk about his own company, c24, later sold to Iona technologies, and their solution which included a majority of  UKs investment banks including citigroup and royal bank of Canada and also US Federal Reserve. The solution in itself seemed to be made out of a relational database although coated with a cache like layer. So the architectural would be that of several services talking to the cache oblivious of the exact nature of the data backend. The data carriers, so called integrations objects are made out of POJOs which have format and parse functionality and data binds to the actual unformatted raw data. He also made a point of the integration object are created to be treated like xml nodes without the creation of the actual xml thus enabling the usage of XPATH on the objects, which is used for selection as well as routing of the objects. The integration objects can consist of any type of raw data made in any format such as the previously mentioned FPML type and so on. FPML on the other hand presents a problem to the cache due to its size but this is solved as it is stored as a BLOB.</p>
<p>More on architecture, iOS and a pirate for the second half so stay tuned..</p>
<p>/Chris</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2011/03/09/qcon-london-2011-first-day-first-half/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TechEd Europe 2010 &#8211; Sammandrag av tredje dagen</title>
		<link>http://blogg.altran.se/cis/2010/11/12/teched-europe-2010-sammandrag-av-tredje-dagen/</link>
		<comments>http://blogg.altran.se/cis/2010/11/12/teched-europe-2010-sammandrag-av-tredje-dagen/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 07:25:03 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[ECM]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Webb]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SP2010]]></category>
		<category><![CDATA[TechEd]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=819</guid>
		<description><![CDATA[Applied Software Testing with Visual Studio 2010
 
Dagens första session handlade om test och vad Visual Studio 2010 erbjuder för verktyg och vad man bör tänka på. Det Microsoft har haft i åtanke med Visual Studio är att det skall vara det kompletta verktyget för systemutveckling och alla där till hörande aktiviteter. Det är en fin [...]]]></description>
			<content:encoded><![CDATA[<div dir="ltr"><span style="font-family: Tahoma; color: #000000; font-size: x-small;"><strong>Applied Software Testing with Visual Studio 2010</strong></span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Dagens första session handlade om test och vad Visual Studio 2010 erbjuder för verktyg och vad man bör tänka på. Det Microsoft har haft i åtanke med Visual Studio är att det skall vara det kompletta verktyget för systemutveckling och alla där till hörande aktiviteter. Det är en fin tanke, men frågan är hur många som i praktiken faktiskt använder Visual Studio som det ultimata verktyget. Just testdelarna följer ju inte med i standardversionerna utan kräver att man kör Ultimate eller den särskilda testversionen. I många projekt jag själv jobbat i har man istället använt open source alternativ och tredjepartsprodukter för att komplettera sin verktygslåda med test- och planeringsverktyg.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Nåväl, om man nu sitter på Ultimate licensen så ingår det ju faktiskt och helt klart är det rätt trevliga funktioner som erbjuds. Eftersom allt är integrerat så hänger user stories, testfall, buggar och källkod ihop och det är enkelt att följa utvecklingen av en särskild feature/funktionalitet genom hela livscykeln. Att allt är samlat på samma ställe (Team Foundation Server) gör det hela enkelt ur ett administrationsperspektiv. Vill man t.ex. göra ändringar i sin infrastruktur behöver man inte leta runt i hela serverparken och se till att man får med sig all data ur olika system till den nya plattformen man tänkt sig migrera till.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Jag skall inte gå in i detalj på varje enskilt testverktyg som ingår i VS2010 utan nöjer mig med att säga att det finns väldigt bra möjligheter till planering och uppföljning där man både före och under projektets gång enkelt kan plocka fram den information man är intresserad av, såsom olika dashboards för buggar, autmatiska byggen, senaste incheckningar, färdiga och godkända testfall osv osv (lång mening detta!). Kort sagt finns det man behöver tillgängligt med grafer och siffror och det som slår mig är att det som presenteras ser snyggt ut och man begriper direkt vad man tittar på.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Förutom presentation av vad som finns tillgängligt i Visual Studio gick föreläsaren också igenom vad man bör tänka på rent allmänt i mjukvaruprojekt sett ur ett testperspektiv. Mycket kretsade kring automatisering och där bör man först ställa sig några frågor innan man sätter igång.</span></div>
<ul style="font-family: Tahoma; font-size: 10pt;" dir="ltr">
<li>
<div><span style="font-family: tahoma;">Can this be automated?</span></div>
</li>
<li>
<div><span style="font-family: tahoma;">Cost of autmation?</span></div>
</li>
<li>
<div><span style="font-family: tahoma;">Cost of maintaining autmation?</span></div>
</li>
<li>
<div><span style="font-family: tahoma;">Benfits of automating this?</span></div>
</li>
<li>
<div><span style="font-family: tahoma;">How should we automate?<br />
</span><span style="font-family: tahoma;">- Unit testing of this feature<br />
</span><span style="font-family: tahoma;">- Web performance test of this feature<br />
</span><span style="font-family: tahoma;">- etc</span></div>
</li>
<li>
<div><span style="font-family: tahoma;">What should we automate in the project?<br />
</span><span style="font-family: tahoma;">- Deployment?<br />
</span><span style="font-family: tahoma;">- Test cases<br />
</span><span style="font-family: tahoma;">- etc</span></div>
</li>
</ul>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Kontentan är att man tidigt i projektet skall skaffa sig en teststrategi med releaseplanering, iterationsplanering osv just ur testperspektivet. Vilka tester är viktigast? Ett kul exempel som föreläsaren tog upp var &#8221;What would make Steve look bad?&#8221;. Det handlade helt enkelt om att identifiera vilka funktioner som kommer få din chef/beställare/projektgrupp att få stå med mössan i hand och skämmas om de inte fungerar. Testfall som täcker in de viktigaste funktionerna alltså. Dessa bör alltid vara högt prioriterade och skall identifieras så snabbt som möjligt, återkomma i flera av projektets faser osv.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Ja, det var något om testning och VS2010. Otroligt mycker mer finns självfallet att berätta/beskriva, men det får bli i ett annat forum. Nu skall jag vidare och få en introduktion till Microsoft CRM2011 för utvecklare.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">//David.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;"><strong>Developer Introduction to CRM 2011</strong></span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">För att få en inblick i Microsofts CRM produkt hoppade jag in på en session om just detta som var riktad mot utvecklare. Det handlade alltså om den kommande versionen (2011) av Microsoft Dynamics CRM, eller xRM som de nu vill kalla det. Det behöver inte nödvändigtvis vara Customer Relationship Management, det kan vara &#8221;Any Relationship Management&#8221;. Man planerar att släppa den riktiga releaseversionen i Januari 2011.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Hur som helst så gick man igenom produkten i helikopterperspektiv och påpekade flitigt att oavsett om du vill jobba i molnet eller lokalt &#8221;on the premises&#8221; så spelar det ingen roll. Du kan starta på det ena sättet och sedan byta om du vill. De demonstrationer som gjordes under sessionen använde naturligtvis online varianten och det flöt faktiskt på riktigt bra genom alla tre gränssnitt som demonstrerades. Dessa var Outlook, webbläsaren och Windows Phone. I webbgränssnittet kunde alla snabbt konstatera att den välkända ribbonkontrollen återfinns även i denna produkt. Tydligen delar CRM 2011 och SP2010 samma kodbas så allt som går att göra i SP2010 gällande ribbon, contextmenyer etc fungerar på precis samma sätt i CRM 2011.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">I outlook integreras CRM 2011 riktigt fint och allt du kan göra med &#8221;vanliga&#8221; outlookobjekt såsom flaggning, kategorisering etc, går också att göra med dina CRM objekt. Vill du knyta mail i inkorgen till CRM går det också som en dans (förhoppningsvis utan felaktiva danssteg) genom att enkelt länka ihop mailet med aktuell &#8221;kund&#8221;. När väl första mailet är knutet så åker framtida konversationer automatiskt in i CRM och kopplas ihop så att det går att följa upp dessa t.ex. i webbgränssnittet utan att du har Outlook till hands.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Som utvecklare finns det riktigt bra möjligheter att jobba med CRM 2011 då det är byggt i .NET 4 och exponerar alla businessobjekt, webbservicar och annat som behövs för att bygga den specifika affärslogiken man behöver. För att nämna några intressanta features som erbjuds till dig som utvecklare så finns bl.a. möjligheten att skapa plugins som exekverar din egen kod, t.ex. vid sparaoperationer. Du kan jobba med &#8221;secured fields&#8221; som innebär att du kan styra på fältnivå vem som får ta del av informationen på ett objekt i CRM (t.ex. kundobjekt). Det finns också en audit history tillgänglig där man kan se vem som uppdaterat vad mm. Ja, detta var några exempel men det finns ju mycket mycket mer. Kort sagt får man ganska mycket funktionalitet &#8221;out of the box&#8221; som man kan utnyttja och enkelt bygga vidare på. </span><span style="font-family: tahoma; font-size: x-small;">För den som vill veta mer ur just utvecklarperspektivet finns ett whitepaper att tanka hem här: <a href="http://blogg.altran.se/cis/wp-admin/redir.aspx?C=38053cf52cf74cc48822cb39bd1b1ee1&amp;URL=http%3a%2f%2ftinyurl.com%2fcrmdevwp" target="_blank">http://tinyurl.com/crmdevwp</a>. </span><span style="font-family: tahoma; font-size: x-small;">Det finns också information att ta del av på channel9, <a href="http://blogg.altran.se/cis/wp-admin/redir.aspx?C=38053cf52cf74cc48822cb39bd1b1ee1&amp;URL=http%3a%2f%2fchannel9.msdn.com%2ftags%2fcrm" target="_blank">http://channel9.msdn.com/tags/crm</a>.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Nu på eftermiddagen blir det till att besöka utställningen lite mer här på TechEd och spana in intressanta produkter särskilt inom SharePointområdet. Jag har redan identifierat att det finns ett stort utbud (kanske för stort tom) av migreringsverktyg för att migrera från allt möjligt in till SP2010. Stannar man till och pratar lite med utställarna blir de ofta eld och lågor och trycker giveaways i dina händer innan du hinner blinka samtidigt som de scannar din namnbricka för att få dina kontaktuppgifter. Nåja, det får man väl stå ut med även om jag känner att jag inte behöver fler tshirts med olika företagsloggor&#8230;</span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">//David.</span></div>
<hr />
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr"><span style="font-family: Tahoma; color: #000000; font-size: x-small;"><strong>Managed Extensibility Framework in action</strong></span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Managed Extensibility Framework (MEF) är ett nytt ramverk i .NET 4.0 som kan användas till att upptäcka och ladda komponenter i runtime. Det är på sätt och vis ett IoC ramverk på samma sätt som Unity eller Spring.Net men med skillnaden att det går att ladda klasser från komponenter utanför den egna applikationens gränser. Så istället för att referera en dll genom att i Visual Studio lägga till en referns kan detta göras i runtime.</span></div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Den stora fördelen här är givetvis att man får en lösare koppling.</span></div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;"><span style="font-family: tahoma;">MEF innehåller två grundläggande delar; hitta den/de komponenter som ska laddas och använda dem. </span>  </span></div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Att hitta komponenterna görs genom att man med en speciella typer av providers talar om för applikationen var komponeterna finns.</span></div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">För att man därefter ska kunna kommunicera med dem krävs att man har skapat ett kontrakt. Men det är inte ett kontrakt i form av ett interface som de flesta utveckare är vana vid. Kontrakten utgörs i sin enklaste form av textsträngar som används till att peka på den egentliga implementationen av en metod.</span></div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">Mot slutet ställdes frågan - vad ska man använda? MEF eller någon annant IoC-ramverk? Som i så många andra fall är svaret; det beror på&#8230;</span></div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">Vill man kunna ladda externa komponenter dynamiskt är MEF vägen att gå. Om det man ska ladda finns i den egna applikationen kan man lika gärna använda Unity eller Spring.Net. </span> </div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">//Jonas.</span></div>
<div dir="ltr"> </div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;"><strong>Entity Framework deep dive</strong></span></div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">I denna session var det publiken som bestämde vad föreläsarna skulle prata om genom omröstning. Valen föll på performance, repository pattern och flerskiktade applikationer. För var och en av områdena visades en hel del kod och det hela blev till slut en slags checklista med saker och ting man bör tänka på inom respektiva område.</span></div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Personligen tyckte jag att performance-delen var den mest intressanta. Om den kan man genrellt säga att ju mer du kan förkompilera (Linq-frågor, vyer, lagrade procedurer, mm) desto bättre prestanda. Den svagaste länken här är Linq-frågorna som i vissa fall inte lämpar sig att förkompilera. </span></div>
<div dir="ltr"><span style="font-family: tahoma; font-size: x-small;">Repository patter är relativt välkänt och jag blev förvånad över att det var så många som ville höra med om det. Det är i sig ingen nyhet och med EF är det inga konstigheter heller. Mest intressant var att de visade hur man skriver enhetstester mot sig repository genom att mocka kontexten (dvs databasen). Det man måste hålla koll på är de interface som olika klasser har och som instantieras i samband med kontexten skapas.    </span> </div>
<div dir="ltr"> </div>
<div dir="ltr"><span style="font-family: Tahoma; font-size: x-small;">//Jonas.</span></div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/11/12/teched-europe-2010-sammandrag-av-tredje-dagen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dag 2 på Øredev 2010</title>
		<link>http://blogg.altran.se/cis/2010/11/11/dag-2-pa-oredev/</link>
		<comments>http://blogg.altran.se/cis/2010/11/11/dag-2-pa-oredev/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 21:02:55 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[RavenDb]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=809</guid>
		<description><![CDATA[Wow och pust ännu en het dag på Øredev. I år så anordnades Øredev Open på kvällen. Div kommunities träffades. SweNug hade en grym träff med korta presentationer bl.a. Lanserades Mighty Moose av bla Greg Young,  en asyncron smart testrunner som bara kör testerna som har påverkas av en förändring i källkoden. Analysen körs när [...]]]></description>
			<content:encoded><![CDATA[<p>Wow och pust ännu en het dag på Øredev. I år så anordnades Øredev Open på kvällen. Div kommunities träffades. <a href="http://www.swenug.se/">SweNug</a> hade en grym träff med korta presentationer bl.a. Lanserades Mighty Moose av bla Greg Young,  en asyncron smart testrunner som bara kör testerna som har påverkas av en förändring i källkoden. Analysen körs när du sparar din källkod. Vi fick också en galen presentation av RavenDb kul och den gjorde en verkligen nyfiken på RavenDb.</p>
<p>Övrigt att nämna under dagen var <strong>Patterns of Parallel Programming</strong> &#8211; <strong>Ade Miller</strong> kanske inget nytt för oss insatta men det tål att trycka på detta är något du måste lära dig. Kärnorna i processorerna blir bara fler men dem ser inte ut att bli snabbare.</p>
<p>Intressant var också <strong>Glenn Blocks</strong> dragning om <strong>RX Framework</strong>. Huvudbudskapet handlar om push istället för pull och ett asynkront tankesätt. Pull är en standard IEnumerable&lt;Customer&gt; medans du i RX har en IObservable&lt;Customer&gt;. Där du som intressent prenumererar på en collection och lyssnar på events.</p>
<p>Eller&#8230; Rx is a library for composing asynchronous and event-based programs using observable collections.</p>
<p>Fungerar i javascript också. En cool demo visades med flygande bokstäver. Ska finnas bland demos om du laddar ner från <a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx">http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx</a>.</p>
<p><strong>Roy Osherove</strong> och <strong>Reviewing Unit Tests</strong> var en matnyttig dragning fokus på att unit tester och i viss mån integrationstester ska vara Trust worthy, maintainable och readable. Viktigt också att ha unit tests och integration tests i olika projekt. Då också att man skiljer på unit tests och integration tests. Det som skiljer är att unit tests alltid går bra eller alltid fallerar. Integration test är sådana tester som har beroenden till resurser som kräver konfiguration tex en databas eller ett filsystem. Mer finns att läsa i hans bok <strong>The art of unit testing</strong>.</p>
<p>Har ni hört talas om Razor? Inte jag, men å andra sidan har jag varit insnöad i Windows Forms världen ett tag nu. <strong>Asp .Net MVC 3</strong> presenterades av <strong>Brad Wilson</strong>. Vet du inte vad Razor är så är det (en av flera) View engines som du kan använda i MVC 3. Den har förenklad syntax och vad jag tyckte ett tydligare sätt att kombinera kod och html i dina vyer.</p>
<p><strong>Jon Skeet </strong>hade en spännade dragning om vad man kan hitta på för konstigheter i C#. Är man intresserad hittar man mer här: <a href="http://msmvps.com/blogs/jon_skeet/">http://msmvps.com/blogs/jon_skeet/</a></p>
<p>//Mattias</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/11/11/dag-2-pa-oredev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dag 1 på Øredev 2010</title>
		<link>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/</link>
		<comments>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 23:10:05 +0000</pubDate>
		<dc:creator>Kompetensfabriken</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Konferenser]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Øredev]]></category>

		<guid isPermaLink="false">http://blogg.altran.se/cis/?p=792</guid>
		<description><![CDATA[Key Note
Jeffrey Norris från NASA gav oss alla en bra start på Øredev. Han visade på det viktiga med att vara agil genom att resa tillbaka i tiden och peka på hur Bell och hans team var agila på sin tid. Han visade också på konsekvenserna av att inte vara det. VISION, RISK och COMMITMENT [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Key Note<br />
</strong>Jeffrey Norris från NASA gav oss alla en bra start på Øredev. Han visade på det viktiga med att vara agil genom att resa tillbaka i tiden och peka på hur Bell och hans team var agila på sin tid. Han visade också på konsekvenserna av att inte vara det. VISION, RISK och COMMITMENT var hans ledord. Fler paralleller till landningen på månen. Där visades en riktig cool 3D simulering i realtid av de ingående delarna i raketen och månlandaren. Jeff bollade med de olika delarna och de projicerades i 3D.</p>
<p><strong>Embracing HTTP in the .Net &#8211; Glenn Block</strong><br />
Det har efterfrågats en närmare kontakt med http i WCF det finns nu att ladda ner på <a href="http://wcf.codplex.com">http://wcf.codplex.com</a> Det man får är bla en stark typning i accessen till http stacken. Något som jag kanske inte dirket känt ett behov av, än&#8230;</p>
<p>Men det som också erbjuds i och med det är att man kan koppla på processors på den inkommande ellet utgående http strömmen. I och med det så kan man utan att ändra på en befintlig metod, som tex returnerar en IEnumerable, erbuda olika content types att efterfrågas tex json eller odata. Du gör inte detta på din metod utan konfigurerar detta på applikationsnivå.</p>
<p><strong>Android outside a phone &#8211; Chris Hughes</strong><br />
Jag hade hoppas på några coola demos. Men tyvärr hade blivit av med sina prylar (inte här i Sverige) så det blev det inte. Utan presentationen var tekniktung på lågnivå blan komponenter och C kod. Men tydligt blev att Android är lättare och betydligt billigare att använda för att styra diverse devices. Kul var det när Chris berättade om att han hade laddat in Android på en iPhone 3G och kopplat den till en dammsugare. Han kunde nu schemalägga städningen. Dammsugaren hade hela planlösningen klart för sig. Men framför allt så kunde dammsugaren jaga katten <img src='http://blogg.altran.se/cis/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Unleash Your Domain &#8211; Greg Young</strong><br />
Greg berättade om deras applikation som kör över 10 00 transaktioner över en rik modell. Och nyckeln är att dem använder sig av state transitions. Det handlar också om en CQRS modell där för att förenkla det hela Commands och Query har varsin modell. Query delen använder sig av en databas i första normalform. Medans Commands delen använder en databas i tredje eller fjärde normalformen. Klart spännande och man får läsa på mer&#8230; Bla här kan man läsa mer <a href="http://elegantcode.com/2009/11/11/cqrs-la-greg-young/">http://elegantcode.com/2009/11/11/cqrs-la-greg-young/</a> och hur mycket som helst ska finnas här <a href="http://cqrsinfo.com/">http://cqrsinfo.com/</a></p>
<p><strong>Making Java and .Net play well together &#8211; Ted Neward</strong><br />
Ted pratade om varför detta kan behövas och han presenterade ett antal olika metoder beroende på vilka krav man har på snabbhet tex. Spontant kan man tänka sig saker som att använda en databas för att flytta information eller BizTalk och MQSeries (om man nu har dem produkterna). Men det går också att lösa out-of process med tex sockets eller RPC och web services. Det finns även lösningar för In-process med div verktyg tex IKVM och JNBridge.</p>
<p>//Mattias</p>
]]></content:encoded>
			<wfw:commentRss>http://blogg.altran.se/cis/2010/11/11/dag-1-pa-%c3%b8redev-2010-mattias-almens-reflektioner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

