PerSalmi.NET

Swedish .Net software developer...
# Tuesday den 17 March 2009

Veckans konferenser, både MIX 09 i Las Vegas och den svenska upplagan av TechDays som går i Västerås hoppas jag ger upphov till en del kul nyheter. Tyvärr blev det inte något deltagande på TechDays, lite synd eftersom det inte är så ofta vi har såpass stora event i Sverige. Att IE 8 ligger bra till för att släppas i skarp version i veckan är kanske inte en högoddsare, men det jag egentligen hoppas på är en uppdaterad CTP av Visual Studio 2010. Kanske för mycket att hoppas på… men man vet aldrig.

image En grej förutom Silverlight 3 som det antagligen kommer nyheter om från MIX är Microsoft Web Platform, det ryktas om en portal för att hitta färdigpackade applikationer klara att installera för att snabbt komma igång med innehållshantering, bloggmotorer och andra typer av applikationer.

Vi får se, enklast blir väl att ge sig till tåls och kolla på MIX09  Web Design and Development Conference, March 18 – 20, 2009 samt hålla utkik efter videosessioner som ska finnas tillgängliga inom 24 timmar efter att livesessionerna gått.

Nej, nu är det dags att fylla iPoden med Dag Königs TechDays Radio avsnitt inför bilresan imorgon.

Tuesday, March 17, 2009 10:08:37 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Webb

Varför är det så att en del problem dyker upp igen och igen när man sitter och utvecklar och varje gång man letar efter lösningen känner man igen sig väldigt väl… lite för väl? Till sist slutar det med att man kommer på vad det är och inser att detta har jag bråkat med förrut, fått frågor om och till och med hjälpt andra med flera gånger under de senaste åren. Ja, det är väl just detta kriterie som gör att en fråga hamnar på en FAQ lista och ställs gång efter gång.

Hur var det nu med COM Interop då? Jo, just detta teknikområde tycks rymma oändliga möjligheter att glömma nån liten detalj och sedan sitter man och felsöker och timmarna bara rusar iväg.

image Dagens scenario var en .NET assembly med några interface som skulle anropas från en native-klient på en testmaskin med en nära nog produktionsmässig installation av operativsystem och verktyg. Det är nästan lustigt hur felsökningen långsamt letar sig fram till en lösning. Först testas det på en utvecklarmaskin, där det förstås fungerar. Sedan börjar någon gå på spåret att det kan vara rättigheter som saknas, nähä, inte det heller. Är det verkligen rätt fil vi installerar, det är ju mer än en gång man trott det men haft fel… Man tänker så det knakar, pratar med fler kollegor, börjar gräva i registryt… Skumt, inget spår av den aktuella GUID som borde finnas där. Men vi har ju gjort registreringen av komponenten om och om igen, fram och tillbaks. Nåväl, efter lång felsökning och en god portion frustration, tankar kring att implementera en annan lösning utan COM och lite andra mindre framgångsrika försök hittades felet och avhjälptes under stort jubel. Projektkollegan som hade spenderat mest tid med felsökningen tyckte att lösningen borde vi nog skriva upp och rama in för framtiden. Vi får se om en bloggpost kan vara jämförbart med en inramning.

En .NET assembly som innehåller ett COM gränssnitt och ska bli åtkomlig från COM klienter ska genomgå följande steg för att man ska undvika frustration:

  • Registrera .NET assemblyn för att COM-runtime systemet ska kunna lokalisera den
  • Generera ett COM Type Library för att klienten ska kunna interagera med de publika typer som finns i assemblyn
  • Driftsätta assemblyn antingen i samma katalog som klienten eller i Global Assembly Cache 

Verktyget för att göra detta är RegAsm. Syntaxen är som följer:

Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.3074
Copyright (C) Microsoft Corporation 1998-2004.  All rights reserved.

Syntax: RegAsm AssemblyName [Options]
Options:
    /unregister          Unregister types
   
/tlb[:FileName]      Export the assembly to the specified type library and register it
    /regfile[:FileName]  Generate a reg file with the specified name instead of registering the types. This option cannot be used with the /u or /tlb options
    /codebase            Set the code base in the registry
    /registered          Only refer to already registered type libraries
    /asmpath:Directory   Look for assembly references here
    /nologo              Prevents RegAsm from displaying logo
    /silent              Silent mode. Prevents displaying of success messages
    /verbose             Displays extra information
    /? or /help          Display this usage message

Hade vi inte använt RegAsm då? Jodå, men den lilla väsentliga parametern /tlb hade fallit bort.
Enklaste fallet att registrera och generera rätt Type Library blir så här:

C:\dotnet>RegAsm MyNETAssembly.dll /tlb

Observera att verktyget TlbExp också finns tillgängligt men det skapar enbart type library filen utan att göra korrekt registrering av den. Så RegAsm är trevligare.

Nu återstår att se hur länge det tar att felsöka nästa gång det händer… Men “lagen om att det inte får gå för lätt” kommer väl nu att slå in och se till att det blir ett annat problem vi får leta efter nästa gång.

Tuesday, March 17, 2009 9:23:32 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
.Net | COM
# Saturday den 14 March 2009

image Gänget bakom MSDN Managed Newsgroup Support har startat upp ett projekt för att bygga upp en Visual Studio Solution med kodexempel för C#, VB och C++. Nu är det ju inte unikt att det publiceras exempelkod, men att ha en enda källa som tar ett samlat grepp på ett antal grundläggande teknikområden och låter de ingående exempelprojekten samspela och kombineras i alla tänkbara varianter känns fräscht. Det är ofta man hittar exempel som går i en riktning tex interop från C# klient till C++ server medan det man egentligen letar efter är det omvända. Här vrider man och vänder på de flesta kombinationer!

Anledningen att jag fastnade för projektet direkt jag såg det är att vi under ganska lång tid jobbat med ett brownfield (C++) system där olika delar bytts ut och strukturerats om och därmed har nya delar gjorts i managedkod (C#), jag tror knappt det är någon variant av interop som inte varit inblandad i det hela. Hade detta funnits och våra google-master-skills hade låtit oss hitta det förra sommaren så hade det varit perfekt.

I dagsläget finns följande tekniker med i projektet:

  • COM & ActiveX
  • Dataaccess
  • Office-anpassning
  • Klassbibliotek
  • RPC & IPC

Kolla in All-In-One Code Framework på CodePlex. Förhoppningsvis kommer det att växa med massor av exempel, tekniker och kombinationer ganska snart. Förresten, det vore inte dumt att blanda in Windows Mobile i leken också för att öka på antalet möjliga kombinationer i de fall det är teknik som är tillämpbar på telefoner och handenheter.

Saturday, March 14, 2009 12:57:07 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | C# | C++ | VB | Visual Studio
# Friday den 27 February 2009

Jag har periodkonsumerat podcasts sen jag impulsköpte en iPod Classic 160 Gb för något år sedan och sedan råkade impulsköpa en Zune 120 på PDC 2008 nu i höstas. Vet inte varför men kanske bara för att Zune inte finns att köpa i butik här hemma. Jag hade i och för sig tillgång till portabla mediaspelare sen tidigare men det hade liksom inte blivit av att jag lyssnade på så mycket material som jag egentligen tänkt mig. Ett tag innan iPod-köpet använde jag den dåvarande HTC Mteor-mobilen och fick i mig en del .NET Rocks avsnitt medan jag bullrade runt på gräsmattan med åkgräsklipparen. Jag brukade hinna med ett par avsnitt innan gräset var i rätt längd, en bieffekt av att bo på landet med för mycket gräsmatta...

iPod Flera faktorer har dock gjort att det ändå inte blivit så värst mycket podradio under sista året trots både iPod och Zune, i någon osorterad form är de väl ungefär dessa:

  • Bytte jobb och fick lite mindre restid till jobbet
  • Använder en annan bil, inte lika smidig anslutning av spelaren till bilstereon
  • Gräsklippningen är säsongsberoende

Men nu går det mot ljusare tider och grässäsongen kommer oundvikligen att vara i full gång om någon månad.

Här på Combitech var lurar med inbyggd mediaspelare en av julklapparna för ett par år sedan. Ett bra initiativ om man ser till att podradio kan fungera som ren kompetensutveckling. De funkade dock inte så bra ihop med rejäla Peltor-kåpor på gräsklipparen.

Nåja, jag tänkte i alla fall dra av en liten lista med vettiga podradiokanaler, som tips till de som hittat hit.

Friday, February 27, 2009 10:37:02 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Kompetensutveckling | Podradio
# Wednesday den 14 January 2009

Tim Sneath har postat en intressant artikel med 30 tips som kanske inte är helt självklara att lista ut på egen hand när man prövar på betaversionen av Windows 7.

Tim Sneath : The Bumper List of Windows 7 Secrets

image

Själv testade jag också Google Chrome på Windows 7, både på den tidigare pre-betaversionen jag fick med mig från PDC i höstas och nu på den riktiga betaversionen och det är väl inte helt klarlagt men det verkar som Chrome har en del problem på den nyare Windows 7 versionen. Så detta tips om att lägga till “--in-process-plugins” som kommandoradsargument på startgenvägen kanske kan ge nåt, se How to Run Google Chrome on Windows 7 64 bit Version för utförligare info.

Slutligen ett tips för de som gräver lite djupare när det gäller utveckling för Windows 7 så finns nu uppdaterade SDK för 7:an och dess tillhörande .NET ramverk att ladda ner, se Beta Release of Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1.

Wednesday, January 14, 2009 10:04:15 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Windows 7
# Thursday den 8 January 2009

Nu finns Windows 7 och Windows Server 2008 R2 tillgänglig i sin första (och enda?) betaversion på MSDN och TechNet.

image 

Nerladdning pågår kan man väl säga… :-)

Om du saknar MSDN eller TechNet prenumeration så kommer nerladdningsfiler i form av ISO-avbildningar att finnas på Windows 7 sidan från och med den 9:e januari. Tydligen tänker sig Microsoft begränsa nerladdningarna av Windows 7 på den publika webbsajten till 2,5 miljoner nerladdningar så om man vill utnyttja möjligheten att pröva på betaversionen så gäller det att vara snabb.

Själv har jag ju kört den version (build 6801) som distribuerades på PDC 2008 på både min Dell Latitude D630 jag använder i jobbet och en Asus Eee Pc 901 med förvånansvärt bra stabilitet, men nu ska de uppgraderas snarast.

Thursday, January 8, 2009 10:13:29 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Windows 7
# Friday den 7 November 2008

Den förhandsversion av Windows 7 som delades ut till alla deltagare på PDC förra veckan bar build nummer 6801 medan man visade upp en annan version på själva keynoteföredraget. En skillnad mellan dessa versioner var att den vi fick med oss hem och installerade för test och demo inte hade den mest uppenbara, synliga uppdateringen av Windows taskbar, den sk SuperBar.

Nu är det så att det går att aktivera SuperBar även i Windows 7 build 6801. Kolla på Flashy Windows 7 bits protected by elaborate scheme, workaround - Within Windows och följ instruktionerna där! För att få den nya layouten enligt denna bild:

SuperBar

Här har jag testat detta på min x64 installation på en Dell Latitude D630, så det verkar fungera både på 32-bits och 64-bits versionerna.

Friday, November 7, 2008 6:24:29 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008 | Windows 7
# Monday den 3 November 2008

Eftersom vi diskuterat att använda SQL Servers nya datatyper för geometrisk och geografisk information i kombination med WPF så kollar jag in en session här på PDC om hur de geometriska datatyperna och operationer på dem fungerar under ytan. Det är en hel del rätt komplexa problem, mest av matematisk natur, man ställs inför i hanteringen. Avrundningsfel i flyttalsberäkningar, vilket alltid finns, i de vanliga flyttalstyperna i både databaser och programmeringsspråk ställer till otäcka effekter när man tex vill kontrollera om en linje skär en bestämd punkt.

sqlspatial Lösningen på problemet blir ett mycket finurligt system där man använder en grid som alla former “snappas” till så att punkter ligger på heltalskoordinater, vissa undantag finns tex för skärningar mellan linjer där en exakt skärning inte kan beräknas i heltal. Dessa specialfall blir på uttryck som bubblar med i alla beräkningar för att hålla undan eventuella avrundningsfel.

Lite extra verktyg för spatialdata finns på SQL Server Spatial Tools – Home.

Ett problem många råkar på med geometriska datatyper är att index inte används fast de finns, det var en ganska rejäl djupdykning i det problemet så då rekommenderar jag att man kollar sessionen på Channel 9.

Nyheter som kommer framöver är bland annat kartkontroller för Reporting Services, förbättrad indexhantering, modelloberoende hantering av 3D koordinater och stöd för rasterhantering.

Monday, November 3, 2008 7:26:06 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008 | SQL Server

ef2I Entity Framework gruppen har man funderat kring användning av data access och att användare av data har olika profiler. Sedan har man kollat vad som kan göras för att underlätta livet tillsammans med EF för de olika användartyperna. Tidsramen för de här ändringarna är .NET Framework 4.0.

Agilekillen
Typisk i ALT.NET rörelsen, här är konkurrenten tekniskt sett NHibernate. Från den här gruppen har man tagit till sig massor av feedback. Det har ju kommit en hel del hårda omdömen om EF från ALT.NET-håll, kanske mest beroende på att många investerat tungt i kompetens på NHibernate och nu riskerar att förlora mark när det finns en liknande teknik från Microsoft, men det har även varit konstruktiv kritik. Resultatet är att man kommer att kunna använda en “enbart-kod-variant” och låta EF skapa lagringen.

Den modellbaserade utvecklaren
Här är modell-först en ny variant att använda för att utifrån en modell skapa databasstrukturen. Man har också ett round-trip-stöd för att uppdatera modellen baserat på databasändringar. Templatemotorn T4 används här tillsammans med workflow och ger en kodgenererande funktion som ska kunna återanvändas.

Ramverksutvecklaren
Här kom det krav på att lazy-loading skulle vara en valfri möjlighet, vilket det kommer att bli. Ytterligare ett tillägg är tabellvärda funktioner. Även funktioner som definieras i modellen finns att tillgå, sk EdmFunctions. Dessa definieras i EDM modellens XML beskrivning.

LINQ ses som ett sätt att hämta objekt från databasen. Men om vi man inte vill ha objekt? Med hjälp av ExecuteQuery på ett data context kan man få ut en DataReader för att direkt få “rader” när man inte bryr sig om objektstruktur!

Detta kommer nog att kräva lite med utforskande labbar för att sjunka in.

Dagens citat: “ADO.NET Data Services (Astoria) – the Red Bull of data access”  - den ger dig vingar…

Monday, November 3, 2008 7:25:23 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | PDC 2008

Rick Rashid presenterar sig  själv och Microsofts forskningsbolag, Rick har varit inblandad i många stora framsteg  som NUMA, Mach kärnan, mikrokernel, Allegiance bland annat.

Målet för MSR är att säkra framtiden för MS produkter och snabbt föra fram forskningsresultat i produkter. Bolaget är organiserat i samma anda som många universitet med stor öppenhet för att lätt kunna samarbeta med olika unversitet. Verksamheten finns spridd över alla världsdelar utom Afrika.

MSR1 Teknikprojekt som har sina rötter i MSR är bland annat:

  • ClearType
  • TabletPC
  • SQL Server Data Mining
  • Robotics Studio

MSR har en tävling på:  www.robochamps.com – där kan man tex pröva på att programmera en egen Mars-sond för att utforska planeten.

Just nu jobbar man mycket med multicore och parallellism och framöver ser man mer forskning kring mediahantering och enheter samt avancerade användargränssnitt.

DryadLINQ är ett annat projekt för att automatiskt skapa frågeplaner i en distribuerad miljö där exekveringen sker i kluster om 1000-tals noder. Dryad är ett av de projekt som är på väg ut i verkligheten och testas nu på universitet.

MSR2 Ytterligare ett forskningsområde är energieffektiva datorer och på vilka sätt programvara kan användas för optimering av energiförbrukning. Här blir det en demo av temperaturövervakning av keynote lokalen… Tempen gick tydligen upp en del när det strömmade in tusentals deltagare igår för att se Windows 7 för första gången. Tekniken med utplacerade sensorer används nu i forskningsprojekt kopplade till miljöpåverkan och global uppvärmning.

Ett intressant område där man är aktiva är beräkningsverktyg och teorier för medicinsk forskning. Det gäller tex analys av DNA och statistik kring virus och vacciner. Verktyg inom detta område finns tillgängliga på Microsoft Computational Biology Tools.

Inom utbildningsområdet finns ett kul projekt för att ge barn av idag enkla möjligheter att lära sig programmering, Boku är ett kombinerat spel/programmeringsmiljö där barn kan programmera en liten robot med ett grafiskt system som lär ut vanliga programmeringskoncept. Allt i en riktigt färgglad miljö. En  äldre artikel om Boku finns här: Boku i InformationWeek

Till sist får vi se en demo av en uppföljare till den sk Surface tekniken som kallas SecondLight och klarar att projicera och spåra bilder på ytor som finns ovanför den stora touchskärmen i Surface-bordet. Klart spejsat!

Monday, November 3, 2008 7:24:31 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008

Man blir lite sur när det ser ut så här:

image

Inte lätt att prova på Mesh-tjänster när det är begränsat till användare i USA…

Monday, November 3, 2008 7:24:01 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008 | Windows Live
# Thursday den 18 September 2008

Nu finns Internet Explorer 8 Beta 2 tillgänglig i svensk version. Just nu ser det ut att vara 32-bitarsversioner för Windows XP och Vista som finns ute, men av länkarna på nerladdningssidorna så är 64-bit varianter på väg.

IE8 Worldwide sites

Välj språk och ladda ner från Internet Explorer 8: Worldwide sites

Thursday, September 18, 2008 10:30:59 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Internet Explorer | Windows Vista | Windows XP
# Saturday den 13 September 2008

Så kan man knåpa ihop en riktigt onödig SideBar gadget som visar hur långt det är kvar till PDC 2008 och samtidigt håller koll på de senaste nyheterna om konferensen…

image

Uppdaterat: Ladda ner på PDC 2008 Countdown SideBar Gadget

Ladda ner här och döp om så den får extensionen .gadget istället för .zip så blir det lätt att installera genom att dubbelklicka: PDC2008CountDown.zip (60,42 KB) 

Saturday, September 13, 2008 1:09:44 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
PDC 2008 | Windows Vista
Blog & Contact
Per Salmi
Per Salmi
Min LinkedIn Profil

Jag arbetar på Combitech AB i Linköping med konsultuppdrag och utbildning inom Microsoft .NET området. Kontakta mig gärna om ni har frågor, behov av konsulttjänster eller är intresserade av utbildning inom .NET.

Copyright © 2020 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

Sign In
Statistics
Total Posts: 73
This Year: 0
This Month: 0
This Week: 0
Comments: 0

Datorer
All Content Copyright © 2020, Per Salmi