PerSalmi.NET

Swedish .Net software developer...
# 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, 27 February 2009 22:37:02 (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, 14 January 2009 22:04:15 (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, 08 January 2009 10:13:29 (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, 07 November 2008 18:24:29 (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, 03 November 2008 19:26:06 (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, 03 November 2008 19:25:23 (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, 03 November 2008 19:24:31 (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, 03 November 2008 19:24:01 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008 | Windows Live
# Wednesday den 29 October 2008

Eftersom PDC2008 pågår för fullt och luften är full av annonseringar av ny teknik så kanske jag ska komma med en nyhet själv också: Combitechs bloggportal

image

För tillfället är vi bara två som bloggar för Combitechs räkning men det kommer inom kort att dyka upp fler bloggare med inriktning på olika områden. Redan nu vet vi att det kommer bloggar om kvalitet, test, kravhantering, modellbaserad utveckling förutom att våra kursledare kommer att använda bloggportalen för information till våra kursdeltagare.

Wednesday, 29 October 2008 00:09:13 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
Combitech | Jobb | Läsning
# Tuesday den 28 October 2008

scottgu Showen går vidare med Scott Guthrie som visar nyheter om applikationsutveckling med Windows 7. Han visar kodexempel med tillägg för att bygga funktioner för den nya taskbar som finns i Windows 7 direkt i WPF XAML.

En nyhet här är att man släpper en Ribbon UI kontroll för WPF tillsammans med ett nytt WPF kontroll toolkit den här veckan. Toolkitet innehåller bland annat Gridkontroll, kalender, datepicker och Ribbonkontrollen. Det ska vara anpassat till .NET Framework 3.5 SP1 som runtime.

 wpftoolkit

 

Visual Studio 2010 kommer att vara WPF baserad och ha stöd för multipla skärmar! Möjligheterna att bygga ut VS2010 IDE med nya funktioner som avancerade visualizers blir därmed väldigt bra. Nyheter för webbutveckling som känns intressanta är jQuery med IntelliSense, MVC paketet och hantering av flera konfigurationer i webbapplikationer, så man har stöd för utveckling, staging och drift konfigurationer. Silverlight får ett kontrolltoolkit med nånga vanliga kontroller samt kontroller för grafer och diagram. En ny stor Silverlight release kommer under nästa år med stöd för utanför-browsern-upplevelser och Silverlight på Windows Mobile.

NET4feat

David Treadwell fortsätter presentationen med att prata om Windows Azure plattformen ur utvecklarsynvinkel. Live tjänsterna ska bli lättare att anpassa, tex utseendemässigt för Windows Live Id inloggning. En intressant del som nämns är OpenId integration i Windows Live Id.

Live Framework introduceras för att ge utvecklare möjligheter att jobba mot Windows Live tjänsterna i Mesh-konceptet, nu hoppas vi bara på att de lättar lite på locket och släpper Mesh till fler länder som tex SVerige…

En liten skojig detallj är texten på Davids tröja: 0x007fff

Som avslutning visades Office 14 där Office Web Applications tydligen ingår som en grundläggande del för att man ska kunna nå och arbeta med sina dokument var man än befinner sig. 

Tuesday, 28 October 2008 19:51:48 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | PDC 2008 | Silverlight | Windows 7 | Visual Studio | WPF

Ray Ozzie inleder med en historisk återblick på PC utvecklingen under de sista 20 åren, och leder det fram till att vi fortfarande bara skrapat på ytan av vad man kan åstadkomma med PC, telefoner och webben. Det knyts ihop till att Azureplattformen kommer att ge oss sammanhängande värld med applikationer och data tillgängliga från alla enheter.

windows7demo Steven Sinofsky och Julie Larson-Green drar igång den första officiella demon av  Windows 7. WIndows 7 kommer att vara klientoperativsystemet som delar kärna med nästa serverversion som blir Windows Server 2008 R2. Demon blir en genomgång av nya desktoppen med ribbongränssnitt, fräcka mediafunktioner med delning i nätverk, förbättrad användning av nätverksresurser på enklare sätt… Ska bli intressant att installera på någon egen maskin!

multitouchVi pratade om att touch skärmar inte slagit igenom på allvar, men om det inte gör det nu när Windows 7 får stöd för multitouch så blir jag besviken. Andra nyheter är att man försökt minska minnesförbrukningen, mindre disk IO, strömsparfunktioner bland annat för DVD uppspelning. Startmenyn ska vara snabbare och boottiden ska minskas. Att framtiden innehåller rejält med parallellism och många kärnor märks genom att Windows 7 har stöd för 256 processorer.

En cool feature är att diskhanteringen stödjer att man skapar och monterar virtuella hårddiskar direkt i operativsystemet, man kan även boota direkt från VHD filer! Lite andra detaljer verkar vara nya Paint och Notepad med helt nya användargränssnitt och stöd för de (kontroversiellt) standardiserade xml-dokumentformaten.

Kan ju fortsätta med grejer som BitLocker stöd på USB-minnen, förbättrat multimonitor stöd, multimonitorstöd även i Remote Desktop(!), inställningar för UAC-känsligheten mm.

Vägen fram till att Windows 7 släpps går via en pre-beta version som blir tillgänglig idag, den är inte helt komplett funktionsmässigt. En betaversion ska komma i början av 2009. Sedan blir det ett Release Candidate program innan RTM, men här är inga tider satta ännu.

Tuesday, 28 October 2008 17:53:41 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
PDC 2008 | Windows 7
Hanselman1

Ok, applikationern för småbarn? Alla som velat lära sig nån ny kodteknik har slagits av att det är riktigt svårt att komma på bra exempelapplikationer att bygga för att få med alla olika teknikområden. Scott Hanselman har skapat Baby Smash som ett veritabelt nöjesfält med alla attraktioner på en gång… om man kallar MEF, WPF, SIlverlight 2, WCF, ASP.NET MVC, Dynamic Data, Entity Framework, REST web services med WCF och ADO.NET Data Services mm.

Ta ett dopp i .NET havet genom att kolla in Baby Smash på Baby Smash! by Scott Hanselman. Utvecklingscentret för Baby Smash finns på BabySmash - WindowsClient.net. Måste säga att Scott fortfarande är en av de mest underhållande talare jag sett.

Tuesday, 28 October 2008 01:55:18 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | PDC 2008 | WPF

Man ska ju gå ut hårt och öka mot slutet har jagbhört så idag direkt efter första keynoten så drog jag till med en stenhård tekniksession om utökningar av COM interop stödet i .NET 4.0.

Nyckeldelarna i dessa förbättringar är:

  • Type Embedding
  • Type Equivalence

image Lite snabbt förklarat går type embedding ut på att lösa problemet med att .NET applikationer som utnyttjar COM Interop belastas med stora automatgenererade interop-assemblies. Genom att de nya kompilatorerna kan strippa ner dessa interop-assemblies till att bara innehålla wrappers för metoder som används och baka in denna nya lättviktiga interop-del med projektens huvudsakliga output assembly så sparar man en hel del utrymme. Det hela förenklar installation och minskar minnesanvändningen hos interop beroende applikationer avsevärt. Funktionen kallas även “NoPIA”. VS 2010 har stöd för att aktivera type embedding på en refererad assembly genom en flagga i referensens propertyinställningar. För att utnyttja det krävs förstås en omkompilering av applikationen och att man faktiskt har den COM komponent som man ska använda installerad…

Type equivalence innebär att interface med samma guid behandlas som ekvivalenta typer av CLR. Det gör att man med .NET 4.0 tex kan utveckla på en PC med Office 2007 och bygga interop dela mot Office och kompilera sin applikation för att sedan installera och köra på klienter som har Office 2003 installerat. Vi får alltså mycket enklare utvecklingsscenarier och kan köra samma bygge på flera målplattformar. Givetvis är det inte begränsat till interop mot Office, det var bara ett exempel… :-)

Tuesday, 28 October 2008 01:54:01 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | PDC 2008
PhilHaackSitter på en demo/kodintensiv session med Phil Haack från Microsoft som går igenom ASP.NET MVC. MVC står i för Model-View-Controller och ger en liknande programmeringsmodell för ASP.NET webbapplikationer som man har i Ruby-on-Rails. För tillfället är det en betaversion som  finns att hämta på: ASP.NET MVC, målsättningen är att det ska vara klart för release inom tre månader. En bra artikel för att komma igång där Scott Guthrie samlat lite länkar till tutorials och annat finns på ASP.NET MVC Beta Released - ScottGu's Blog.

Ett problem med den typ av ramverk som RoR och även ASP.NET MVC utgör har plågats av rätt svaga egenskaper i fråga om skalning när lasten ökar. Jeff Atwood (bloggar på http://codinghorror.com) har byggt stackoverflow.com ihop med Joel Spolsky. Det är en communitysajt med forum och lite annat smått och gott. Stackoverflow är byggd med ASP.NET MVC och drivs med två servrar med 4 Gb minne / 8 CPUer var. Så ASP.NET MVC klarar hyffsad last eftersom man har ca 350.000 besök dagligen.

Lite fler länkar med ASP.NET MVC info:

http://haacked.com

Hanselman om ASP.NET MVC

Tuesday, 28 October 2008 01:53:11 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
ASP.NET | PDC 2008
# Monday den 27 October 2008

Söndagen här i Los Angeles blev som väntat fullspäckad. Vi började med att ta oss till konferenscentret för registrering och fick ut våra PDC-kit med lite information och prylar. Tvärt mot alla förutspåelser var det i år inte någon riktig väska utan nåt slags enkel påse. Efter lite inledande orientering på området var det dags för min endags crash-course i WPF och XAML med Charles Petzold.

DSC00077

Petzold som är en legend inom utveckling på Windows levererade en ganska omfattande genomgång av WPF under dagen. Jag uppfattade det i alla fall så men det kan ju också bero på att jag inte jobbat så mycket med WPF och XAML innan. Fokus låg i alla fall på hur några grundläggande koncept i WPF fungerar. Ett stort antal kontroller gicks igenom tillsammans med koncept som koordinatsystem, databindning, animering och dependency properties. Charles kodar XAML direkt för hand och det blir väldigt bra koppling mellan orsak och verkan i hans XAML verktyg “XAML Cruncher”. Det var en kompakt genomgång över många XAML konstruktioner, dock inte med hjälp av designverktyg som Expression Blend vilket kanske hade varit intressant att se eftersom det är troligt att Blend kommer att användas när man väl kommer till ett kommersiellt WPF projekt.

Något av det mest intressanta var att få veta vilka frågor jag ska fundera över när man ska bygga en egen WPF kontroll. Kontentan av det var “Koda för XAML, inte istället för det” när du vill bygga eget.

Kvällen avslutade vi med ett kort besök på The Palm med den sk  svenskkvällen. Det blev lite plockmat och prat med folk man i vissa fall inte sett på massor med år. Imorgon börjar PDC på allvar och det ganska tidigt på morgonen…

Monday, 27 October 2008 09:00:40 (W. Europe Standard Time, UTC+01:00)  #    Comments [0]
.Net | PDC 2008 | WPF
# Tuesday den 14 October 2008

Idag verkar vara dagen då Silverlight 2 släpps officiellt i RTW-version. Vissa av utvecklingsverktygen för VS2008 kallas fortfarande “RC1”, frågan är vad det betyder i praktiken…

 image

Nerladdningslänkar:

  1. Silverlight run-time
  2. Silverlight Tools
    Add-on for Visual Studio 2008 SP1 for developing Silverlight 2 applications 
  3. Expression Blend 2 Service Pack 1
    Expression Blend 2 SP1 allows you to harness the power of XAML, .NET and Silverlight 2 to deliver compelling user experiences for both connected desktops and the web.
  4. Deep Zoom Composer
    Prepare images for use with the Deep Zoom feature in Silverlight 2
Tuesday, 14 October 2008 11:38:33 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | Silverlight | Webb | Verktyg | Visual Studio
# Monday den 6 October 2008

Så kunde tidningsrubriken ha sett ut om det hela hamnat i kvällspressen…

image

Hur går det då till när man blir svårt biten av AutoEventWireup? Jo, just nu jobbar jag med en kund där vi driver flera projekt för att lyfta applikationer till nyare run-time plattform. Just den applikation som vållade rejält huvudbry är en ASP.NET applikation som ska migreras från .Net 1.1 till modern 3.5 miljö. Allt väl så långt, Visual Studio 2008 och den inbyggda wizarden hade inga som helst problem att uppgradera projektet. Det var givetvis en del varningar om uppdaterade APIer för klientscriptblock mm, men det var inga problem att fixa.

Till en början såg det också ut som applikationen fungerade hyffsat, det visade sig dock att så inte riktigt var fallet. Något skumt inträffade när man ville gå vidare och detaljstudera information som laddats från en databas via COM-objekt som inte rörts i uppgraderingen, COM-delarna var C++ baserade och ingick i ett annat projekt. Ok, då är det väl något problem med COM-objekten när de anropas via COM Interop från .NET CLR under 2.0 tänker man och börjar debugga.

Debuggingen tog tid… Allt såg rätt ut på .NET sidan, anropen till COM-lagret gav förväntade resultat tillbaks till .NET applikationen i de första stegen, men i övergången mellan två aspx-sidor verkade något mycket skumt hända. Efter övergången var allt man fick tillbaks från COM anropen tomma strängar. Hade vi lyckats trigga något fel för att vi låg på gränsen till något som ändrats drastiskt mellan .NET 1.1 och 2.0? Nej, verkade inte så… Debugging ner i COM-lagret gav inte direkt några ledtrådar heller. Det hela började kännas mycket skumt. Varför funkade 1.1 versionen av applikationen så bra medan den konverterade 2.0 versionen visade tomma fält utan att generera några exceptions eller felmeddelanden? Allt funkade ju men ändå inte.

Till sist började jag om från början med debuggingen och satte brytpunkter i varenda metod i code-behind filerna för alla sidor som var inblandade i scenariot som uppvisade fenomenet med de tomma fälten. Pang! Där var problemet! För länge sedan hade någon implementerat en Page_Unload metod i code-behind filen och mappat upp eventet i InitializeComponent vilket var påbjudet i 1.1. Sedan hade den utrensning av dataobjekt som skedde i Page_Unload fått gå i pension när applikationen byggdes ut och mappningen av eventet till Page_Unload handlern hade tagits bort medan själva koden för Page_Unload fick ligga kvar, den kunde ju vara bra att ha nångång… I just det här fallet var den inte så bra att ha, vid konverteringen av projektet mellan 1.1 och 2.0 så ändrar nämligen Visual Studio standardbeteendet på inställningen av AutoEventWireup från false till true, det gör i sin tur att Page_Unload koden som legat och slumrat i godan ro nu vakande till och fick chansen att exekvera just vid växlingen mellan två sidor där jag satt och debuggade.

Det är ju klart att om man helt plötsligt kör lite kod som tömmer alla laddade dataobjekt och sen visar de tomma strukturerna i ett formulär så är det inte mycket mer än tomma fält att förvänta sig. Slutsatserna av det hela blir:

  • Använd ordentlig versionshantering
  • Ta bort kod som inte ska användas

Kom ihåg! Du kan plocka tillbaks gammal kod från versionshanteringen om du skulle behöva det, men spar den inte i det levande dokument som koden faktiskt är.

En liten reflektion om sökmotorer som kommer upp just vid denna debugsession är att det gäller att drabbas av ett fel vid rätt tidpunkt, eller man kanske ska uppgradera sina projekt vid rätt tidpunkt. För Google och de andra motorerna prioriterar givetvis träffar som är aktuella tidsmässigt, mitt problem visade sig finnas dokumenterat på en del sidor men de var inte direkt aktuella, det är ju något år sedan uppgradering mellan 1.1 och 2.0 var hett, så jag fick inte träff på de beskrivningar som låg nära mitt verkliga problem med den ändrade standardinställningen för AutoEventWireup förrän mycket långt ner i sökresultaten. Och det är väl knappt någon som tittar längre på sökresultatlistorna än 10-20 träffar neråt… grejer som får sämre ranking än så kan väl inte vara något att ha… :-)

Ett par länkar till info om AutoEventWireup i alla fall då, så det blir lite teknisk slutknorr på detta:

Monday, 06 October 2008 13:16:20 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
.Net | ASP.NET | Visual Studio
# 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, 18 September 2008 10:30:59 (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, 13 September 2008 01:09:44 (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
PDC 2008 | Windows Vista
# Wednesday den 10 September 2008
PDC2008Brain

Sista veckan i oktober drar jag och min kollega på Mats Sjövall till Los Angeles för en vecka på Microsoft PDC 2008, där vi bevakar konferensen för Combitechs räkning. Det ska bli väldigt intressant och säkerligen en hektisk vecka som riskerar att spränga hjärnans informationsbank.

Som det ser ut just nu kommer vi att följa lite olika spår under konferensen för att få maximal täckning av allt material som presenteras, schemat med sessioner är ju inte komplett ännu men det kommer troligen att bli svårt att välja eftersom en hel del föredrag inte verkar annonseras förrän första dagen på konferensen.

Klart är i alla fall att vi även kommer att vara på förkonferensdagarna om Team System och WPF. Jag själv tänkte ta tillfället i akt att se legenden Charles Petzold prata om WPF, men det är ruskigt svårt att bestämma sig.

 

Jag är riktigt sugen på se Concurrent, Multi-core Programming on Windows and .NET med David Callahan, Joe Duffy och Stephen Toub. Får fundera på det valet ännu ett tag.

Av det jag har hunnit läsa igenom om sessionerna så ser det bl. a. ut att bli en del intressant om flertrådad programmering som känns rätt aktuellt just nu. Givetvis är C# 4.0 högintressant liksom nyheter i nästa version av Visual Studio, en del Windows Mobile sessioner blir det troligen också med tanke på att jag sitter i ett uppdrag med Windows Mobile enheter just nu. Sen får vi se vad mer som lockar, Oslo-projektet, cloud-grejer och annat…

Om det är fler som läser detta som ska till PDC så vore det kul om ni hör av er! Vi kommer att bo på Millennium Biltmore Hotel.

Wednesday, 10 September 2008 21:21:19 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
PDC 2008
# Friday den 29 August 2008

Hittade denna plugin för att spela video från SVT Play. På Min Hembio.com har det diskuterats under rätt lång tid men jag upptäckte detta lilla guldkorn först förra helgen.

Ladda ner och installera från Stefan N. på SkyDrive! Tyvärr verkar det bara fungera på 32-bitars versionen av Windows Vista.

Kolla på forumet om ni vill delta i diskussionen: MinHembio.com SVT Play

Friday, 29 August 2008 23:47:58 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Digital Tv | Windows Vista
# Wednesday den 27 August 2008

image

Microsoft har nu släppt SQL Server Express 2008 som släpat någon vecka efter de större varianterna av SQL Server 2008. Nerladdning finns på http://www.microsoft.com/express/sql/download/.

Det här släppet kommer ganska lägligt eftersom jag precis ska börja med en del underhåll och uppdatering av en webbapplikation som bygger på Express-varianten av databasservern.

Wednesday, 27 August 2008 23:53:14 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
SQL Server

image

Nu finns Internet Explorer 8 Beta 2 klar för nerladdning! 

Enklast att hitta rätt version för ditt operativsystem är via Internet Explorer 8 Beta 2 nerladdningslänkar.

För att kolla upp vad som är nytt eller ändrat, se Internet Explorer 8 Beta 2 Release Notes.

Uppdatering! Ta en titt på A Comprehensive Look at Internet Explorer Beta 2 för att få en snabbgenomgång av vad som är nytt i lite trevligare form än den vanliga release notice texten.

Wednesday, 27 August 2008 22:27:39 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Internet Explorer
# Friday den 22 August 2008

Man kan faktiskt underhålla projekt som fortfarande kör under .NET Framework 1.1 med Visual Studio 2008 som utvecklingsmiljö. Eftersom Visual Studio har blivit mycket trevligare att jobba med sedan 2003 versionen så kan det vara värt att kolla in in Jimmy Skowronskis artikel Working with .NET 1.1 in Visual Studio 2008 and Team Server om man måste jobba med .NET 1.1 baserade projekt.

Nu kom jag in på ämnet äldre utvecklingsmiljöer… Jag jobbar just nu med en kund där vi under våren har lyft upp en hel del projekt till Visual Studio 2008 från ett antal olika gamla miljöer det är både .NET och native-projekt. Det är fantastiskt hur mycket bättre utvecklingsmiljön i Visual Studio blivit. Det blir riktigt tydligt när man tar ett hopp direkt från Embedded Visual C++ 4.0 med ett projekt till Visual Studio 2008. MFC kändes dock fräschare 1996 än det gör idag. Så jag är väldigt glad att få all hjälp jag kan av verktygsmiljön.

När jag nu jobbar mer med C++ än på många år så är det att par detaljer som jag slås av. Kompileringstiderna för C++ är definitivt inte roliga, det hjälper inte att 2008 är snabbare än de äldre kompilatorerna. Som min kollega Kalle sa så känns det som flaskhalsen vid kompilering av C++ är hårddiskprestanda medan kompilering av C# kod verkar begränsas av hur snabbt Visual Studio lyckas scrolla output-fönstret för kompilatorns output-meddelanden. Idag blev det extra påtagligt när jag byggde ett litet konverteringsverktyg i C# efter flera veckors C++ hackande. Blixtsnabb kompilering och en GUI-designer för Windows applikationer värd att döda för jämfört med vad man har i C++/MFC-projekt. Utvecklingen går verkligen framåt.

Friday, 22 August 2008 22:47:13 (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]
Visual Studio
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 © 2018 Per Salmi

Bloggmotor: newtelligence dasBlog 2.3.12105.0

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

Datorer
All Content Copyright © 2018, Per Salmi