Archive for mars, 2009

The City of Dreams – Västerås Dag 2

Posted in Okategoriserade on mars 23rd, 2009 by erik – Be the first to comment

Läs om första dagen!

Andra dagen började med en storfräsare som anlände i tajt skinnjacka och ett glänsande leende, Ivar Jacobson:

Be Smart – What they don’t teach you about software at school hette hans session i stora kongresshallen. Jacobson berättade bl a om att det är väldigt inne och användbart med kunskap om utvecklingsprocesser, och att det säljer böcker (som han ju skriver). Men det är ingen som egentligen läser böckerna, och därmed åker han runt och berättar om vad som står i böckerna som står hemma i våra bokhyllor.

En av de många poängerna han gjorde var att man inte ska skriva så mycket dokumentation. Alla utvecklare “hatar” att dokumentera, och eftersom folk inte läser det Jacobson skriver i sina böcker, så kommer de verkligen inte att läsa det som står i dokumentationen för något system.

Han menade också att utvecklingsprocesser är riktigt styrda av modet. Med handräckning i publiken visade det sig att SCRUM användes av säkert 80%, medan äldre beprövade tekniker övergavs.

From good to great developer – why does it matter and how can we achieve it? med Chris Hedgate var kanske mer inriktat mot projektledare än utvecklare tyckte jag, men en riktigt kul genomkörare. Han par-programmerade med en docka och tryckte på att man varje gång när man går in och ändrar eller lägger till någonstans i koden så ska man förbättra den existerande koden. Om det så bara är att ändra ett litet variabelnamn eller skriva om en hel metod.

Windows 7 in the eyes of a security geek gjorde att jag tog ett kliv från utvecklar-sessionerna in i en tekniker-session. Riktigt underhållande med Marcus Murray och Hasain Alshakarti från Truesec. Murray visade slides i OneNote som han ritade direkt i med sin touch-skärm medan Hasain demade på en burk vid sidan av. Packat med ny information för mig, eftersom det här inte är mitt område, men matnyttigt.

Bl a trycktes det hårt på att man aldrig ska använda ett administratörskonto när man arbetar i Windows Vista och 7. De flesta är ju vana med det efter Windows XP(?) Murray själv hade ett ett config-konto för installation, och ett vanligt user-konto som han använde “till vardags”. Ibland var han en “dålig människa” och körde “Run as administrator” på sitt användarkonto, när man får fylla i sitt lösenord för att kunna installera – men han rekommenderade det verkligen inte eftersom en keylogger lätt kan snappa upp lösenordet och sen göra vad som helst. Gissar att fler försöker hacka Marcus dator än min dock =) (Kolla in en hacking-video jag hittade med grabben.)

En intressant nyhet i Windows 7 är nåt som kallas Direct Access som är ett alternativ till VPN över Internet, där man kan logga in direkt i ett företags intranät mha IPv6. Han menade att denna funktion kunde vara det som gör att IPv6 faktiskt börjar implementeras av företag och så småningom ISP:er.

ASP.NET MVC for smart people var ytterligare en session med Mr Scott Galloway från Corps, som visade lite snabbt hur man utvecklar med MVC-ramverket istället för vanliga ASP.NET forms. Bra om man vill ha mer kontroll över sin applikation, men kräver mycket mer jobb och kunskap. Vill du se en lite mer detaljerad session om MVC rekommenderar jag Scott Hanselmans “Creating NerdDinner.com” från Mix.

Slutligen gick jag på den enda sessionen som blev ett bottennapp för mig: Öppna upp din applikation med Managed Extensibility Framework med Magnus Mårtensson från Dotway. Talaren inledde med att berätta vitt och brett om hur just han kunde så mycket om MEF, fått kontakt med Microsoft och att han var en av två moderator på Codeplex för MEF osv. osv. Jag satt tyst och frågade mig själv vad MEF var för någonting. Det visade sig till slut vara ett ramverk som gör det enklare att använda dll:er i sina applikationer, ladda in externa moduler i run-time och kunna använda dessa direkt. Sen följde kodsnutt på kodsnutt som visade en massa grejer man kunde göra på en massa olika sätt, som gick mig lite över huvudet… Men men, jag såg två personer i publiken som konstant nickade uppskattande, så det var nog några som fick något ut av det hela :-)

Förutom sessioner, hands-on-labs, Microsoft utställningar fanns också “Black Box” på plats. Till dagarna inredd helt i svart, helt utan fönster, helt (eller knappt) utan syre. En av de stora magneterna i Black Box var en Microsoft Surface som jag tidigare lekt lite med på Microsoftkontoret. Det dröjer kanske innan man får hem en sån som soffbord, vem vet.

På det hela taget en mycket lyckad tillställning, TechDays 2009, må jag säga!

The City of Dreams – Västerås Dag 1

Posted in Okategoriserade on mars 23rd, 2009 by erik – Be the first to comment

imageJag var på TechDays som gick av stapeln i förra veckan på Aros kongress center i Västerås! Microsofts första och största evenemang i Sverige för tekniker, utvecklare och IT-chefer och en minivariant av deras Europa-event TechEd.

Det är hittills dåligt med bilder från eventet, men det kommer väl. En video finns att titta på, samt en hel hög med podcasts från Microsofts Dag König.

Under 2 dagar med 100 sessioner och 100 talare så fanns ingen tid att förlora då jag noggrant ringade in sessionerna i agendan:

Keynote, som inleddes av Troed Troedsson “framtidsvisionär”, var en riktigt lyckad tillställning. Även här drog det gamla “min dotter kan mer om teknik än jag”-skämtet ner skrattsalvor från åhörarna, men jag måste tillstå att hans poäng var träffande. Vi går från att ha varit ett kunskapssamhälle, där skolan stått som ett “torn” av kunnande i samhället och lärarna haft mångdubbelt längre utbildning än andra invånare, till ett kommunikationssamhälle där det mer och mer handlar om att kunna kommunicera på rätt sätt. Idag är skolan snarare ett “hål” av kunnande där lärare har lägre utbildning än de flesta och eleverna sms:ar under bänken. Nja, det är väl kanske att hårddra det lite… men visst har han en poäng när Ericsson vill göra sig av med äldre anställda och rekrytera människor som kan “sms:a i mörkret”. Troedsson tryckte hårt på att det handlar om att hänga med i kommunikationssamhället och att människor som påstår att “ungdomar har inget sinne för kvalité” är helt ute och cyklar.

Keynote följdes sen av Microsofts Sverige-VD Peter Kopelman och vidare några demos av Windows 7, Windows Azure m.m. från Johan Lindfors.

“Det såg ju så bra ut på papper” – Vanliga ASP.NET produktionsproblem
En session med Tess Ferrandez och Mikael Deurell som visade på diverse fallgropar här och där i ASP.NET-utveckling som de ofta stöter på ute hos kunder som har problem. Riktigt intressant med två talare som kompletterar varandra bra (och vet om det). Jag gillar Deurells förmåga att se och låta riktigt sorgsen och besviken ut när han frågar åhörarna “varför gör ni inte bara så här? Det är ju så enkelt.”

En hel del info om hur man använder DebugDiag var intressant, ett område jag inte vandrat i tidigare.

ASP.NET 4.0 med Scott Galloway, en skotte som varit på Microsoft i Redmond i många år och är projektledare i ASP.NET-teamet. Han inledde konstaterande att han skulle ha skippat “that lager for lunch”, och sen följde de största nyheterna i ASP.NET 4.0. Den största nyheten för mig är att man nu kan definiera vilka id:n html-objekt ska ha i den färdiga koden – något som skötts internt av ASP.NET och varit nästintill omöjligt att kontrollera tidigare.

Best practises för källkodshantering med Mathias Olausson gav en inblick i hur man kan använda Team Foundation Server för att dels checka in och ut källkod i projekt, men framförallt hur man använder work-items på ett smart sätt för att kunna få bra historik över ändringar i koden, samt hur man lägger ändringar “på hyllan” som man inte är klar med och låter någon annan ta vid där man slutade. Användbart.

Silverlight Futures med Fredrik Normén visade lite nyheter i Silverlight 3 men konstaterade gång på annan att han inte fick säga så mycket. Nu vet vi dock allt efter att SL3 släpptes på Mix i veckan! Normén konstaterade att det är tydligt att Microsoft lägger mest krut på Silverlight nu, med tanke på hur relativt lite nyheter det finns i ASP.NET 4.0, där det knappt går att komma längre. (MVC och jQuery då? frågar jag mig.)

Den största nyheten med Silverlight 3 är att man likt Adobe Air nu kan köra en SL-applikation som ett vanligt program utan webbläsaren. Det möjliggör också att man kan skriva offline-applikationer som så fort de kommer online kan synka ändringar med servern. En möjlighet alltså att skriva cross-platform applikationer (fungerar inte för Linux än, eftersom Moonlight projektet ligger lite efter med att porta SL, av förklarliga anledningar) i .NET utan problem! Programmen körs dock fortfarande inne i webbläsarens sandbox, vilket gör det säkert och bra :)

Fortsättning följer… här!

Visual Studio och ESET NOD32

Posted in Visual Studio on mars 10th, 2009 by erik – Be the first to comment

Jag använder antivirusprogrammet NOD32 i mina datorer, och det fungerar riktigt smärtfritt. Däremot har jag tidigare haft problem med Visual Studio 2008:s inbyggda Development Server tillsammans med antivirusprogrammet. 

Nu efter en uppdatering av NOD så slutade den vips att fungera ännu en gång, och hur mycket jag än försökte och slet mitt hår så fick jag inte igång debugservern…

… ända till jag läste igenom de 50+ kommentarerna som fanns på denna sida.

Har du samma problem som jag kommer här en lösning:

Dubbelklicka på NOD32:s ikon i aktivitetsfältet, och i det öppnade fönstret klicka F5 för att få upp de avancerade inställningarna. I trädlistan hittar du: Antivirus and antispyware -> Protocol filtering. Välj här HTTP and POP3 ports.

Se till att Dev-servern startas om och testa om det tog.

Om inte, öppna Windows hosts-fil i en text editor genom att t ex i Kör (Windowstangenten+R) skriva:

notepad C:\Windows\System32\drivers\etc\hosts

Har du där en rad som heter ::1 localhost, kommentera bort den med ett # i början av raden:

#::1 localhost

Om du inte har en sådan rad kan du lägga till den bortkommenterade raden (frågan är om detta gör någon skillnad, men det är värt ett försök enl. en bloggkommentar).

Testa nu att starta om dev-servern och testköra din applikation. Först här fungerade det för mig.

Snabbschack

Posted in Schack on mars 3rd, 2009 by erik – Be the first to comment

Vad gör stormästarna för att slappna av mellan sina partier? Jo, spelar en blixt förstås…!

Spelar du snabbschack på nätet handlar det om att inte råka släppa pjäsen på fel ruta genom att strula till det med musen, IRL handlar det om att inte råka sprätta ner alla pjäser när man sträcker sig efter klockan. Notera att enligt reglerna måste man slå på klockan med samma hand som man flyttar pjäsen.

Maxim Dlugy och Hikaru Nakamura:

Sockets i Silverlight

Posted in Silverlight on mars 1st, 2009 by erik – Be the first to comment
Sockets är till skillnad från WCF Duplex Polling ingen nymodighet utan har funnits sedan början av 70-talet då det amerikanska försvaret satsade resurser på att bygga vad som skulle bli framtidens nätverk och Internet. Wikipedia definierar det lite knepigt, men här är min tolkning av deras tolkning:
En socket är en grunka som kombinerar en lokal IP adress och ett portnummer till en användbar enhet som man kan använda i ett program, mycket liknande en ända av en telefonanslutning, som fungerar som en brygga mellan ett telefonnummer och personen som har telefonnumret.
Man upprättar alltså en anslutning genom att använda sig av sitt programmeringsspråks implementation av sockets och kan skicka data fram och tillbaka mellan två sockets (som kan finnas på två olika datorer) så länge anslutningen är öppen. Det här gör att ena sidan inte behöver “fråga” den andra sidan om något nytt har hänt, utan informationen pushas fram och tillbaka.
Det finns ett par olika typer av sockets, beroende på vilket protokoll man använder sig av. UDP använder man när man har en anslutning som liknas vid en ström som flödar, och det är inte jätteviktigt om allt som skickas kommer fram - t ex ip-telefoni, strömmande video eller snabba nätverksspel. TCP gäller när man vill upprätta en helt tillförlitlig anslutning - vilket innebär att alla paket som skickas från ena ändan kommer att komma fram. Försvinner något paket på vägen så skickas det automatiskt igen.
När det gäller Silverlight och sockets är valet inte speciellt svårt, eftersom det i nuläget endast är TCP-sockets som är möjliga att använda sig av.
I Silverlight 2 Beta 1 fanns det en begränsning i att socketanslutningen mellan en klient och en server måste ske på samma maskin - alltså att hemsidan som silverlight-klienten finns på behöver vara på samma server som applikationen den ansluter sig mot. Nu i den skarpa versionen är det dock möjligt att ansluta till en socket-server på annat håll, men socket-servern måste tillhandahålla ett policydokument på en annan port innan anslutningen kan upprättas.
Det är inte så krångligt som det låter och allt finns utförligt förklarat på MSDN och med fungerande exempel på en policy-server hos Dan Wahlin.
Ett riktigt saftigt exempel på en socketimplementation för Silverlight finns i en artikel i MSDN magazine. Vill man bara ha en enkel översikt är dock Dan Wahlins basketexempel, som jag pekade på i föregående inlägg, att föredra. Då var det Duplex Polling, men samma funktionalitet finns även implementerad med sockets:
Snart börjar det förresten bli läge att visa lite från mitt snabbschacksprojekt, eftersom jag har ryggraden i princip färdig för en socketserver, som blir den teknik jag till slut valt att använda.