Friday, November 20, 2009

Silverlight 4 Beta släppt på PDC.

Såg att Microsoft släppt Silverlight 4 Beta på PDC, här finns en beskrivning av vad som är nytt: http://silverlight.net/getstarted/silverlight-4-beta/#whatsnew Intressant att se att det kommer stöd för utskrifter.

Thursday, November 19, 2009

Spara "sessionsvariabler" i WCF.

I vår loggninglösning så sparas SessionsID och Användarnamn och propageras mellan tjänster så att man kan hålla ihop anrop från en klient till underliggande tjänster. Dessa sparas som sessionsvariabler i ASP.Net och som static variabler i windows applikationer.

I ASP.Net så är det lätt att spara undan variabler i en session genom att spara i den collection som finns t.ex i Page objektet:
page.Session["SessionID"] = session.ToString();

Men i WCF är det inte lika lätt att se hur man sparar undan variabler. Detta beror till stor del på att WCF är gjort för att vara mer generellt och klara olika typer av underliggande tekniker. Man får läsa på en del innan man förstår hur det hänger ihop, här finns en bra beskrivning av InstanceContextMode:
http://msdn.microsoft.com/en-us/magazine/cc163590.aspx

Lösningen på problemet fann jag här: http://blogs.msdn.com/drnick/archive/2007/02/15/stashing-data-in-extensible-objects.aspx genom att skapa ett ExtensionObjekt som lagras på InstanceContext så uppnådde jag samma funktionalitet som tidigare i ASP.Net, dvs sessionsvariablen lever under anropets tid.

if (OperationContext.Current.InstanceContext.Extensions.Find() == null)
{
OperationContext.Current.InstanceContext.Extensions.Add(new SessionMessageInstanceContext());
}
OperationContext.Current.InstanceContext.Extensions.Find().ServiceCallCounter++;

Monday, October 26, 2009

IntelliTrace i VS2010

Lyssnade på en presentation där dom nämnde att det skulle gå att titta på variabler så som dom såg ut vid exekveringen, dvs kunna backa tillbaka i callstacken och se hur variablerna så ut vid ett anrop. Har gogglat lite och hittat lite material om detta Historical Debugging eller IntelliTrace som det heter nu i o med VS2010 Beta2. Här finns en bra genom gång av detta http://blogs.msdn.com/habibh/archive/2009/09/21/coverage-of-the-visual-studio-2010-historical-debugger.aspx Lite synd är att det bara verkar fungera att spara information i från en applikation som startas med VS eller med MS Test applikationer, Jag skulle vilja bygga in detta i min egen applikation så man kan spåra dom fel som inte går att fånga i debuggern. Ska kolla mer på detta senare...

Wednesday, October 21, 2009

Se vilka filer som är utcheckade i TFS.

När man ska merga från utvecklings-grenen i TFS till release-grenen, så är det viktigt att filerna är inchekade. TFS verkar sakna möjligheten att kontrollera vilka som har filer utcheckade/förändrade. Lite gogglade på Internet gav dock detta blogginlägg http://blog.markjordan.org/archive/2008/03/13/64.aspx

Så om ni är som jag lite utav VSS och TFS-polis och gärna vill att saker ska vara incheckade kolla era projekt med:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\tf.exe status $/myProject /user:* /recursive /login:myDomain\myUsername,password

Tuesday, October 13, 2009

RT90 som SWEREF99 via ArcIMS

Vi hade ett litet problem med ett kartlager som inte fungerade i produktionsmiljön efter våran konverteringen av alla kartlager till SWEREF99. För att få det att fungera så blev vi tvungna att ta till on-the-fly projicering via ArcGIS och ArcIMS. Via ArcIMS gick det att sätta upp ett FeatureCoordsys i konfigurationen http://www.esri.com/news/arcuser/0205/files/georef_arcims.pdf http://webhelp.esri.com/arcims/9.3/General/mergedProjects/ArcXMLGuide/elements/featurecoordsys.htm lite lurigt var att datum projiceringen bara fungerar till WGS_1984, men som tur är så är det i SWEREF i princip samma. Efter att ha prövat ett gäng med RT90 till WGS_1984 så hittade vi en transformation som fungerade 8195 http://webhelp.esri.com/arcims/9.3/General/mergedProjects/ArcXMLGuide/elements/dattrans_alpha.htm. That saves the day!

Saturday, October 10, 2009

Introduktion till .Net 4.0

Oj, oj nu blev det tätt mellan blogginläggen men jag har även kollat på denna presentation som jag tycker var bra: http://www.msdev.com/Directory/Description.aspx?eventId=1271

Installation
Side-by-side, fungerar med tidigare versioner.

Dynamiska språk

IronPython, IronRuby, Nytt i .Net 4.0 är Dynamic Language Runtime, Ligger som ett lager ovan på CLR

C#

Named parameters

  • Lägga parametrar i olika ordning
  • Default värde
  • Optional parameters

VB.Net

Multi-line Lambda

F#

Nytt språk, som kommer. Funktionellt språk som innebär att man beskriver vad man ska gör i större grad än hur man vill att datorn ska exekvera. Ett steg längre ifrån hårdvaran.

MEF
Plug-In ramverk för Applikationer

  • Attribut för Import, Export
  • CompositionContainer, Catalog
  • System.System.CompositionModel.Composition för Hosting

Threads

  • CountDown Events
  • Barriers
  • Ger möjlighet att vänta in delprocesser

CodeContract

Assert i all ära men här kommer det som chefen vill att man ska göra, dvs beskriva vad gränssnitten stöder och på så sätt få bättre kvalité på koden.

  • System.Diagnostics.contracts
  • PreConditions
  • PostConditions
  • Invariants

.Net 4.0 och Visual Studio 2010.

Sprang på en presentation som Scott Guthrie http://channel9.msdn.com/posts/matthijs/Scott-Guthrie-Visual-Studio-2010-and-NET-Framework-40/ gjort om .Net 4.0 och VS2010. Intressant en och halvtimmes genomgång av "vissa delar" som kommer i VS2010. Några grejer som fastnade...
Fokus på att läsa och hitta i kod:
  • Markerar parametrar, så "highlightas" parametrarna i koden.
  • intellisence, sökbar med regexp, behöver inte vara objekt namn eller metod namn... Sök på en del av ett metodnamn så kommer namnen som matchas upp. Fungerar även med camelCase,dvs heter metoden GetParameterValue så går det att söka på GPV.
  • Ctrl - Shift - I, snabb sökning. Visar alla ställen i koden då
  • Call Hirarchy. Visar varifrån en metod anropas.

Debug History

  • Möjlighet att gå tillbaka och se värden på variabler mm.
  • Göra en dump av debug history i felhanteringen, och på så sätt få tillbaka läget som kunden eller testaren hade vid fel tillfället! Detta borde vara alla utvecklares våta dröm :)

web platform installer

IIS SEO Toolkit

  • Produkt för att kolla upp felaktigheter i dina siter som gör att du hamnar lågt i sökmotorerna sökningar.
  • http://www.iis.net/extensions/SEOToolkit
  • Installeras på en klient så man bheöver inte skräpa ned servern.
  • Fungerade både mot IIS6 och IIS7.

Customized config

VS2010 skapar som standardmässigt två anpassade configfiler Debug och Release (Ifall man valt att skapa projekt för 4.0). dessa innehåller kod för förändringar som krävs av web.config till Debug resp Release så har man conscction parametrar mm i web configen så får man ett ställ där man kan byta ut dessa. Tidigare han man varit tvungen att hacka detta i msbuild eller ha olika configfiler som länkats med i bygget.

Wednesday, September 30, 2009

IronPython

Tittar lite på dynamiska språk, verkar som att Python kommer bli standarden i ESRIs produkter i framtiden, åtminsone pekar man på avsikterna i detta dokument http://downloads2.esri.com/support/TechArticles/ArcGIS_931_and__94_Deprecation_Plan.pdf Sprang på ett bra genomgång av vad som är nytt i VS2010 http://www.msdev.com/Directory/Description.aspx?eventId=1271 där man bla berättade om dom dynamiska språken IronPython och IronRuby som .Net stödjer via DLR Dynamic Language Runtime som ligger som en smet över CLR. Testade att installera och köra lite IronPython. Installationen hittar man här http://ironpython.codeplex.com/ en bra tutorial finns här http://docs.python.org/tutorial/ om man vill lära sig att använda språket. Obesrvera att man kommer åt alla klassbibliotek i .Net från IronPython vilket innebär att man inte är begränsad på något sätt när man använder dom dynamiska språken.

Thursday, September 17, 2009

F# funktionellt språk från Microsoft.

Hittade igår en bra show som jag kollat på http://channel9.msdn.com/pdc2008/TL11/ som beskriver hur man använder F# på riktigt. Om jag förstått det hela rätt så är grejen att man beskriver vad man vill göra istället för hur datorn ska utföra det man vill att den ska göra (Imperativt C#, VB.Net). Dvs man kan skala bort mycket av den logik som man t.ex. i C# använder för att beskriva flödet datat ska ta i en applikation for, if else... Istället beskriver man vad man vill göra med informationen. Detta är extremt bra när man vill exekvera saker parallellt och asynkront, annars krävs en väldigt stor mängd kod för att göra och kontrollera anropen så dom blir parallella och asynkrona. F# verkar ha tagit syntaxen från OCml och fått tillgång till .Net ramverkets klassbibliotek. Språket verkar extremt kraftfullt, största problemet blir nog att lära sig tänka rätt. http://msdn.microsoft.com/sv-se/fsharp/default(en-us).aspx

Tuesday, September 15, 2009

Anropa en konstruktor med parametrar via generics.

En kollega hade förra veckan problem med att få generics http://en.wikipedia.org/wiki/Generic_programming att fungera med konstruktorn i VB.Net. Det visade sig vara lite knivigt att kunna anropa en konstruktor med parametrar i en metod som utnyttjar generics. Lyckades dock tillslut hitta en bra beskrivning av vad hur man ska göra. Vart? jo i en blogg så klart! http://www.dalun.com/blogs/05.27.2007.htm I vårt fall så gick det bara att köra med reflection http://en.wikipedia.org/wiki/Reflection_(programming)) eftersom vi skulle bygga en proxy komponent för WCF konfiguration och vi kunde inte exponera vilka typerna är inkapslat i komponenten snarare än något som skickas in via komponenten. Lösningen med både generics och reflection känns en aning som överkill men den fungerar.

Sunday, September 13, 2009

Löpteknik

Jag har senaste veckorna suttit och läst på lite om diverse olika löptekniker. Känns som att det finns en hel del som talar för att man tjänar på att inte sätta i hälen först. Sprang på en bra blogg http://gullfot.blogspot.com/2008/05/lpteknik.html som inspirerade mig att googla runt och läsa mer.

Chi Running http://www.chirunning.com som tar fasta på vad som är naturligt dvs hur springer du ifall du springer barfota, knappast med hälen först. Chi verkar iförsta hand vända sig till dom som springer längre än en mil. Här menar man att mid foot strike (MSF) är det enda vettiga eftersom det är mer ekonomiskt än att landa på balls of your feet (BOF), dessutom måste du bygga upp väldigt mycket benstyrka i vader mm, men varför skulle man vilja det när det finns är mindre slitsamt att landa med MSF?

Newton running http://www.newtonrunning.com tar fasta på dom fysikaliska lagarna, även här utgår man från hur man landar ifall man springer barfota. Dom har en väldigt talande beskrivning av skillnaden mellan mid/fore foot och heel isättning http://www.newtonrunning.com/run-better/optimal-running-form. Kroppen behöver mindre kompenserande rörelse i överkroppen för att löpa på främre delen av foten. Vilket gör att mindre energi behöver användas för varje steg. Känner igen det gungandet från löparspåren faktiskt.

Pose tekniken http://www.posetech.com/ har fått sitt namn från den posé som man gör vid växlingen mellan varje steg. Här fokuserar man på att landa på böjt ben och på BOF. http://www.posetech.com/pose_method/pose-method-of-running-technique.html

Många referenser går tillbaka till en bok "Running fast and injury free" som är skriven av Gordon Pirie http://wwww.gordonpirie.com/, och det löpsteg han beskriver är i mångt och mycket det som går igen i dom olika teknikerna jag hittat på nätet. Man ska INTE landa på hälen utan landa på fore foot och rulla över ned på hälen så att den hjälper till just i fasen då hela tyngden av kroppen paserar över benet. Gordon spyr galla över alla ortopediska skor som skofabrikanterna spottar ur sig och menar på att det är skor som tvingar folk att landa på hälen som rår för många skador inom löpningen.

Läst en massa för och emot på nätet om att löpa på främre delen av foten. Känslan är att det är lite som inom hästsporten en häst har olika gångarter beroende på fart där trav fungerar bra tills dom uppnår en viss fart där galopp tar vid eftersom det blir det minst energikrävande steget givet den högre farten. Så borde det även vara oss kan man tycka, när vi går sätter vi i hälen först men när vi löper så sätter vi i steget med främre delen av foten för att snabbare kunna sätta i nästa steg. Dvs springer man väldigt långsamt så kanske det är naturligare att landa på hälen, men jag tänker springa snabbt. :)

Monday, August 31, 2009

Arena 42

Xlent och Ivar Jacobsson finns på Arena42, kom och snacka Essup med Ivar! Mer info finns här:
http://kampanj.xlent.se/arena42/

Tuesday, August 18, 2009

Replikering av geodatabase i ArcSDE.

Har suttit och läst igenom hur man sätter upp och replikerar geodatabaser i ESRI ArcSDE. Mycket bra kapitel om detta finns här:
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Understanding_distributed_data
Verkar finnas några om och men som är viktiga att komma ihåg att man måste ha en ArcSDE som parent och child om det ska gå att sätta upp en en- och tvåvägs-replikering, annars så fungerar det bara att ha en checkout replikering. Sen trycker dom på att man ska ha koll på sitt senario gång på gång i texten, så jag antar att det kan bli struligt om man vill byta replikeringsmetod i efterhand.

Har även kollat upp hur man i ArcObjects kan trigga igång en synkronisering och det verkar vara busenkelt: http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/8280cca2-b4cf-4d37-8b28-4ee02aaf37e5.htm

Saturday, July 11, 2009

Hur mycket ansträngde sig FMV för klimatet vid sin upphandling?

En udda postning för att komma från mig men ibland kokar man över...
Det är intressant att se att Näringsministern vill att privatpersoner och företag ska anstränga sig mer i klimatfrågan. Samtidigt så väljer FMV inte att satsa på BAE Hägglunds SEP som är ett miljövänligare alternativ med sin hybriddrift som även är intressant ur civilt perspektiv. Hyckleri är det om man vill att andra ska ta kostnaden för att vara miljövänliga, samtidigt som staten själv inte tar ett miljöansvar i sina upphandlingar!

http://www.centerpartiet.se/Nyheter/Arkiv-2009/Kl-19-Maud-Olofssons-tal-i-Almedalen/

Friday, July 10, 2009

Windows 7

Har använt Windows 7 ett tag nu på hemma datorn och jag måste säga att jag gillar den, fick avsmak direkt när jag testade Vista men det känns som att Microsoft lärt sig av misstagen och gjort GUI:t betydligt trevligare. Inbillar mig inte att den kräver mindre resurser men det känns som att man i Windows 7 använder resurserna till rätt saker. :)

ArcGIS Silverlight API 1.0 är släppt.

Hade nästan missat detta men nu är version 1.0 av ESRIs Silverlight APIer är släppt. Kul att se för det innebär att man kan börja bygga saker på den plattformen.
http://resources.esri.com/arcgisserver/apis/silverlight/

Thursday, May 28, 2009

Visual Studio 2010.

Installerat Visual Studio 2010 Beta 1, så nu blir det till att testa, känns som att det är mycket nytt i den här versionen. Inte minst nya språket F#. http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

Monday, May 11, 2009

Silverlight 3 Beta kan det vara något?

Tänker kolla in Betan på Silverlight 3 http://silverlight.net/getstarted/silverlight3/default.aspx känns om att det börjar bli en mogen plattform att bygga applikationer, vad sägs om över 60+ nya komponenter känns som att det börjar likna något :) Sen fungerar verkar det som Betan på Silverlight APIerna mot AGS http://forums.esri.com/Thread.asp?c=158&f=2455&t=280971 är betydligt mer stabila mot Silverlight ett skäl om något att testa version 3 :)

Friday, May 08, 2009

2 kg GIS och ett knippe GPS!

Äntligen har vi fått upp vårt GIS erbjudande på vår kampanj site! Kolla gärna in det och hör av er :)
http://kampanj.xlent.se/Ovik/2kg_gis_och_ett_knippe_gps.htm

Thursday, May 07, 2009

XLENT Technology först med Ivar Jacobsons nya utvecklingsmetodik

Pressmeddelande om Essup är släppt:
Som den första och hittills enda partnern till Ivar Jacobson International, kan XLENT Technology nu erbjuda systemutveckling med Ivar Jacobssons nya arbetssätt: Essential Unified Process (EssUP). Det innebär snabbare och bättre resultat, samtidigt som kunderna kan kontrollera att IT-projektet träffar de affärsmässiga målen.
http://www.newsdesk.se/view/pressrelease/xlent-technology-foerst-med-ivar-jacobsons-nya-utvecklingsmetodik-292007