JensGustavsson.se
Förstasidan | Arkiv | Artiklar | CodeCompanion | Länkar | Vem är Jens Gustavsson?
Förstasidan : JensGustavsson.se

Vetenskaplig artikel

För ett par dagar sedan presenterade min före detta kollega John Wilander en artikel med titeln "The Impact of Neglecting Domain-Specific Security and Privacy Requirements" på NordSec 2007 i Reykjavík. Jag är medförfattare till artikeln och har samarbetat med John med de intervjuer som ligger som grund för den. Men det är John som är expert på datasäkerhet, och det är han som ska ha äran av forskningsresultaten.

Skadlig kod

Ibland undrar jag vad programmering gör med hjärnan. Kan det vara så att den blir påverkad av att man mentalt befinner sig i den virtuella världen inuti datorn, där reglerna från den fysiska världen inte gäller? Kan det vara så att man blir påverkad?

I den fysiska världen, när man till exempel ska bygga en altan, kommer jag ofta på mig själv att sakna undo. Nej, jag vill inte såga av plankan där, en decimeter längre ska den vara. Jag bara testade. Undo! Undo! Men det fungerar inte. Och man får åka en extra tur till brädgården. En annan sak jag inte kan förstå är varför det inte finns några loopar. Nu har jag lyckats skruva i en skruv precis på rätt sätt, gör om det tre gånger för varje planka. Va? Ska jag göra det själv? Och igen och igen? Varför då? For-i-lika-med-1-to-1000 för bövelen!

Kan det vara så att de fysiska skadorna på händer, rygg, nacke och ögon som programmeringen ger bara är en petitess jämfört de mentala skadorna? Kanske borde man skola om sig till vaktmästare...

Code Complete

Jag har inte läst den senaste upplagan av Steve McConnells bok Code Complete, men jag blir sugen att göra det efter att ha läst Joakim Sundéns recension av den: http://joakimsunden.blogspot.com.

(Ta mig dit!)

Coder's Dojo

Jag är intresserad av pedagogik i allmänhet och systemutvecklingspedagogik i synnerhet, så när jag hörde talas om Coder's Dojo spetsade jag öronen. Det är en sorts programmeringsträning i grupp som jag aldrig hade prövat. Idén är att samla ett gäng programmerare och tillsammans jobba med ett programmeringsproblem. Man skulle kunna tänka sig massor av varianter på detta, men vad jag förstått kommer tankarna från agile-världen och därifrån kommer även principer som ska göra träningen effektiv. Till exempel att hela träningsgruppen har en gemensam dator och att man turas om att hålla i tangentbordet i femminuterspass. Programmeringsuppgifterna är också väl valda för att innehålla intressanta utmaningar samtidigt som det ska vara snabbt för deltagarna att sätta sig in i uppgiften.

Häromdagen var jag med på en träningssession här i Linköping och det var en trevlig erfarenhet. Thomas Nilsson och Andreas Larsson gjorde ett storartat jobb med att organisera och moderera. Vi jobbade med att skapa ett system för poängberäkning av bowlingresultat. En kul grej är att samma programmeringsproblem återanvänds flera gånger. När jag var med var det tredje gången gruppen övade på samma problem. Tanken är att man får förståelse genom att verkligen vrida och vända på samma problem. Det är kanske dags att fundera över dina träningsvanor?

(Ta mig dit!)

Dagens mediahändelse

Jag antar att alla redan sett att jag är med i dagens Computer Sweden. ;-)

Handbok: Att ställa krav på underhållbarhet

Tidigare har jag och Magnus Österlund skrivit om vad man ska tänka på när man försöker få med krav på underhållbarhet i kravspecifikationer. Nu har vi publicerat en första version av en handbok baserad på dessa tankar. Den finns publicerad på Dataföreningens community-sajt och tanken är att samla in idéer från läsare och på så sätt succesivt förbättra handboken. Så läs gärna och kom med förbättringsförslag.

(Ta mig dit!)

Snart är Java 6 här

Namngivningsavdelningen på Sun har bytt strategi. Istället för att försöka förvirra världen med konstiga namn på Java har de gått i motsatt riktning och förenklat. Därför kom min förutsägelse att nästa Java-version skulle heta "Java(TM) 2 Platform Mumbo Jumbo... (Läs artikeln)

Datatypen decimal i C#

Datatypen decimal är en kul sak som jag blev glad när jag hittade i C#. Den kan man, inte helt otippat, använda för att representera decimaltal. Alltså tal som har ett decimalkomma i sig. På så sätt liknar den datatyperna float och double som fungerar på... (Läs artikeln)

Ställ rätt krav för god förvaltningsbarhet

Den 28 februari ska jag hålla en presentation i Dataföreningens regi. Den kommer att handla om hur kravspecifikationer från svenska myndigheter behandlar krav på förvaltningsbarhet och underhållbarhet. Jag kommer också att ge konkreta råd om hur man bör formulera sådana krav. Presentationen är resultatet av en studie som jag gjort tillsammans med Magnus Österlund från Ida Infront AB.

Presentationen är den 28 februari, kl. 17.30 i IT-ceum, Mjärdevi Teknikringen 10 i Linköping. Anmälan kan göras här och sista datum för det är 26 februari.

Debuggning är roligare än du tror!

I november skrev jag att jag inte tycker om när mjukvara strular. Alltså när färdiga produkter inte gör vad de ska så att jag som kund får ägna min kraft åt tråkig felsökning. Att däremot leta efter fel under programutveckling tycker jag kan vara ganska trevligt. Det är ett knep och knåparbete, ungefär som att lösa korsord. Den stora skillnaden jämfört med när färdiga produkter inte fungerar är att man i någon mån har kontroll över situationen, man har ofta de verktyg och den kunskap som behövs för att hitta felet.

Men varför har då debuggning rykte om sig att vara så tråkigt? Jag tror att det egentligen inte har med själva debuggningsarbetet att göra utan med arbetssituationen. För det första är det lätt att uppleva debuggning som onödigt arbete, systemet skulle ju kunna ha fungerat perfekt från början. För det andra är det är väldigt svårt att uppskatta hur lång tid det kommer att ta att hitta felet. Det kan ta ett par minuter och det kan ta flera veckor. Och osäkerhet leder lätt till frustration. För det tredje är man är inte säker på att det kommer att vara lätt eller ens möjligt att rätta felet. Och som utvecklare har man ett visst ansvar för att inte ha tänkt helfel från början.

Härom veckan fick jag tillfälle att jobba med debuggning i en annorlunda arbetssituation. Jag hade jag nöjet att få hjälpa en kund att hitta och rätta en specifik bugg. Som konsult utifrån slapp jag alla tre orosmoment: som nykomling i projektet med debuggning som enda uppdrag är det svårt att se det som onödigt arbete och med betalning per timme är det inte heller särskilt problematiskt att inte veta hur lång tid buggen tar att hitta och ta bort. Det blir helt enkelt mycket lättare än vanligt att se arbetet som ett trevligt knep och knåp. Och känslan av triumf när man dödat buggen är ju också skön.

Slutsats: debuggning är kul! Det är ofta bara en lite stressad situation när man debuggar. Försök glömma det och se det som ett korsord, eller en sån där sudoku som hela världen verkar ha snöat in på.

januari 2006 « 

RSS