torsdag 5 november 2009

Øredev 2009 – summering av konferensdag 2

Dag två inleds även den med en föga inspirerande keynote. Rebecca Wirfs-Brock pratar om RDD eller Responsibility-Driven Development. Jag vet inte om jag var morgontrött eller om det bara var en trött dragning.

På dagens första session pratar Ajaxian-killarna, Ben Galbraith och Dion Almaer, om ”The future of the Web”. Det mesta de visar finns dock redan tillgängligt i de flesta moderna webbläsare (läs inte IE).

Vi får bland annat se litet demonstrationer av det slag du kan läsa mer om här. Det är också litet kul att raljera över hur det går för Microsoft i det nya webbläsarkriget.

Jag tar med mig följande i att läsa och titta mer på-listan:
jQuery
Remy Sharp kör en snabbintroduktion till jQuery och gör sedan en live-demo i Firebug där han presenterar ett taggmoln baserat på de Twitterlistor han är med i. Riktigt imponerande Ruby on Rails-effekt att se någon rabbla ur sig klamrar, hakar och parenteser i sådan fart.

Imponerande också att det låter sig göras med endast ett tjugotal rader i en Firebugkonsoll.

Spring Roo
Nästa session värd att nämnas presenteras av den övertrevlige Australienska dammsugarförsäljaren, Dr. Ben Alex. (Han är inte dammsugarförsäljare, men hade verkligen alla attribute - på ett bra sätt.) Jag frågade honom om det gick att göra en specifik sak och han svarade - "Gosh yes!!" och visade mig snabbt hur.

I ett rasande tempo drar han några inledande bilder om vad Spring Roo är för något. Enkelt uttryckt är det ett textbaserad RAD-verktyg för Java, likt rake för Rails. En av skillnaderna är att resultatet av roo är standard-Java-prylar som Spring, Hibernate, jsp, etc. Dessutom kan du använda roo för befintliga projekt eller börja med roo och sedan ta bort det helt ur projektet.

Jag skall absolut titta närmare på detta, inte minst som ett verktyg för juniora utvecklare. Koden som produceras av roo är nämligen full av bra kodmönster.

Dagens sista session var så himla bra att den förtjänar en egen bloggpost på Athegabloggen.

onsdag 4 november 2009

Øredev 2009 – summering av konferensdag 1, del 2

Maten är verkligen förvånansvärt bra här på Øredev, trots att vi är så många som är hungriga samtidigt.

Fast by Default
Eftermiddagen inleds med en session om hur man får verkligt snabba webbplatser. Vem passar då bättre än Steve Sauders, skaparen av bland annat YSlow, som är ett FireBug-tillägg för att mäta hur snabb en webbplats är?

Steve slår hål på myten att det är långsamma servrar som gör att en webbplats är långsam. Börjar du mäta på det ser du ofta att endast en tiondel av tiden det tar för en sida att visas i din webbläsare spenderas på servern. 90% av tiden går alltså till att parsa JavaScript, CSS och ladda bilder. Värst av allt är stora, tunga JavaScript i headern som låser all annan aktivitet tills de kört klart. Detta resulterar allt som oftast i att en vit sida och en snurrande webbläsarlogo visas för den väntande användaren.

Han avbryter plötsligt sitt anförande med en fråga om vilka som läser hans blogg, båda två som räckte upp handen fick varsin bok, ”Even Faster Websites”. Jag är övertygad om att han har många fler läsare än så i rummet.

En webbplats upplevs mycket snabbare om den växer fram jämfört med att sitta och titta på en vit sida. Ett av Steves råd är därför att dela på det JavaScript som behövs för att rendera sidan och resten. Avvakta sedan med att köra "resten". Det finns flera tekniker för detta. Den som fick mig att rycka litet i mungipan var den som GMail Mobile använder. Så genial i sin enkelhet.

För att kunna ladda in JavaScriptet men inte köra det (vilket skulle låsa webbläsaren) gömmer man det i en kommentar. Sidan laddar snabbt och när en funktion behövs, evaluerar man den genom att ta bort kommentaren och skicka innehållet till den ökända eval-metoden.


<script type="text/javascript">
function alwaysNeeded() { ... }
</script>

<script type="text/javascript" id="onDemandJs">
/*
function notNecisarilyNeeded() { ... }
*/
</script>




SproutCore är ett ramverk som är värt att titta vidare på om snabba webbplatser är viktigt för dig.

Steve försökte också resonera kring en webbplats snabbhet som en konkurrensfördel. Vad anser du? Väljer du Aftonbladet före Expressen för att den ena är snabbare än den andra?

Resten av dagen spenderade jag på några mer eller mindre intressanta dragningar:
  • Java Testing on the Fast Lane - Andres Almiray
  • Taking web applications to the desktop with Adobe AIR - Piotr Walczyszyn
  • Scala for Java Programmers - Joakim Ohlrogge, Enno Runne

Øredev 2009 – summering av konferensdag 1, del 1

Kurrning i ottan och en tripple shot-latte senare sitter jag och försöker hålla mig vaken på morgonflyget ner till Malmö. Taxichauffören är inte billigast, men slutar aldrig prata. Fråga mig om hur smutsig taxiverksamheten är i Malmö, så kan jag numera nästan allt. När jag kliver ur är det nära att jag blåser bort, trots varningar från samma chaufför blir jag helt tagen av hur mycket det blåser här nere.

Oracle föregår med samma goda exempel som förra året (då jag bara hörde om det ryktesvägen) genom att erbjuda riktigt underbart baristakaffe som alternativ till de stora kaffetunnorna med halvfärskt bryggkaffe.





Marc Lesser – Accomplishing More By Doing Less
Öppningen av konferensen ackompanjeras av en serie missljud i bakgrunden. Det låter som om någon försöker lära sig att spela fiol. Jag tror det är vinden som spökar. Det blir extra tydligt eftersom konferensens första keynote är Zen-gurun Marc Lesser som inleder med att låta alla sitta helt tysta och inte göra någonting under 60 sekunder.

Marc pratar om att få mer gjort genom att göra mindre och går igenom "the Less Manifesto" som handlar om att hitta sätt att eliminera problem som uppstår på grund av fruktan, antaganden, distraktioner, motstånd och upptagenhet (fritt översatt).

Varje session utvärderas genom att man efteråt får lägga en röd, gul eller grön lapp i en korg. Röd lap för under förväntan, gul för som förväntat och grön för över förväntan. Marc får tyvärr en röd lapp av mig.

Ioke – A Folding Language
Ola Bini tar oss vidare in i Iokes, för mig okända, värld. Ioke är ett experiment som han roat sig med för att utforska vad som händer om man lägger allt annat åt sidan och bara fokuserar på hur expressivt ett språk kan bli. Det ska i första hand kommunicera med utvecklarna, inte kompilatorn. Han kör växelvis snygga bilder varvat med live-kodexempel i Emacs. Klassisk Ola-stil.

Några grunder jag tar med mig om Ioke:
  • Språket är utvecklat enligt TDD
  • Inga globala (eller lokala) scope
  • Multipelt arv möjligt, i runtime
  • Inga nyckelord gör det möjligt att prata svenska i koden (eller mandarin som Ola demonstrerade)
  • Conditions används istället för Exceptions och ger exempelvis möjlighet att dynamiskt försöka laga något som gått sönder (jämför med Java som dör med en stacktrace)


JavaScript: The Good Parts
Evangelisten som gett JavaScript en pånyttfödelse, Douglas Crockford, var mycket inspirerande att lyssna på. Han menar inledningsvis att JavaScript är världens mest populära (och impopulära) programmeringsspråk. Eftersom det kan exekveras i nästan alla webbläsare kan du nå en miljardpublik. Av olika anledningar är det också språket som alla använder utan att bry sig om att lära sig det först, vilket bidrar till dess oförtjänt dåliga rykte.

Dagens första asgarv fick jag när Douglas pratade om eval: ”If you find yourself wanting to use eval, step away from the machine... (konstpaus) and maybe never come back”.

Det viktigaste han ville förmedla till oss var att förstå hur closures fungerar i allmänhet och i JavaScript i synnerhet. Exempelvis:
var myObject = function() {
var privateVar = 'This variable is private!';

return {
showPrivateVar
: function () {
alert
(privateVar);
}
}
}();
I det här fallet innehåller inte myObject en anonym funktion utan det den faktiskt returnerar - ett funktionsobjekt. Ett funktionsobjekt består av en funktion samt en referens till det scope den skapades i. Detta gör att privateVar blir tillgänglig när vi anropar showPrivateVar, men inte i det globala scopet. Faktum är att det enda som hamnar i det globala scopet i det här fallet är myObject.

Douglas är troligen litet påverkad av tidsskillnaden eftersom han avslutar med ”Thank you and good night!”.

Lunch!

torsdag 29 oktober 2009

Min första iPhoneapplikation

Igår var det Hackday på Aftonbladet. Ivriga Twitter-anhängare, vet förmodligen redan det mesta, #ha3ckday. För mig var det en resa i frustrationens tecken.

Min idé (inspirerad av Fredrik Söder på Athega) var att göra en applikation där du kan få en anpassad vy över det senaste som hänt inom dina intresseområden. Du kanske är intresserad av Sport, Mode och Resor och vill snabbt se vad som hänt inom dessa områden medan du väntar på din tur i apotekskön.

Vidare kan en inloggad Aftonbladetanvändare få alla sina tjänster samlade i en och samma app.

Till slut kom jag i mål med en fungerande applikation, men då hade jag lämnat Aftonbladets lokaler och familjen sov för länge sedan.



En redogörelse för vilka tekniska fallgropar jag ramlade i får jag återkomma till i kommande inlägg.

Idag demonstrerades flera imponerande endagshack såsom experiment med HTML5, CSS3, Android, interaktiv nyhetskarta, 3D med webkit, Google Wawe-robot, mm.

fredag 9 oktober 2009

Aftonbladet igen!

Efter pappaledighet med en dag i veckan på SvD och semester är jag sedan en månad ungefär tillbaka på Aftonbladet.

Jag hamnade rakt in i hetluften med frontar och cachear som inte levererade som de skulle. Det har återigen varit mycket lärorikt.

Hur vi löste det får jag återkomma till, men mer minne, nyare memcached och sinnrik cachening av gemensamma delar av aftonbladets sidor har gett resultat. Upptid i oktober är hittills 100%!

Av helt andra anledningar är det härligt att vara tillbaka på Sveriges största nättidning. Eller vad sägs om ”Hemlig lesbisk stad i Norrland” eller Bråkstakar nedslagna av kampsportande transvestiter?!

torsdag 9 juli 2009

Snart semester, och en kraftig nostalgitripp

Vad har hänt?
Pappaledigheten är sedan ett par veckor slut och det känns riktigt bra att bli vuxen igen på heltid. Jag ser verkligen fram emot att ta tag i alla nya utmaningar och spännande projekt. Tur att min sommarsemester börjar imorgon!

Athega har haft sin sommarkonferens som förutom, bastu, båt och öl ägnades åt att dyka ner i HTML5. Det finns mycket spännande att titta närmare på, det kan jag lova.

Jag har avslutat mitt en-dag-i-veckan-gigg på SvD för den här gången. Det var ett perfekt sätt för mig att inte tappa fotfästet under pappaledigheten och samtidigt göra litet nytta (se bilden till höger).

Veckans koll
Jag har bloggat om både canvas i HTML5 och om Escenic-taggen ancestorView sedan sist.

Under semestern kommer jag att försöka hinna med att testa GWT och Googles App Engine på riktigt. Det beror på hur mycket det regnar.

Veckans visuella
Min gamla hemmamapp fick sig en liten genomgång idag och där hittade jag vår kära gamla Athegaman. Han presenterade oss mellan 1997 och 1999. Tyvärr sparade inte Way Back Machine bilder på den tiden. Hade de gjort det, då hade nostalgitrippen varit komplett.



Trevlig sommar och semester!

fredag 15 maj 2009

Pappaledig i maj och California Games

Precis så här ska det vara att vara pappaledig. Sovande barn, sittandes på en parkbänk vid Sickla sjö med en hyfsat snabb Internetlänk!
Den 26:e börjar dagis och min pappaledighet lider mot sitt slut.

Vad har hänt?
Veckans jobbdag har jag ägnat åt att få bukt med prestandaproblem på E24. Genom att optimera några sidor och skruva litet på minneskonfigurationen, ser det litet bättre ut. Hoppas det håller.

Peter på Athega har varit på årets upplaga av RailsConf och är saligt ivrig och varmpratande om Rails i synnerhet och hela Rails-communityt i allmänhet. Det litet roliga är att om man söker på railsconf på Google kommer Athegas blogginlägg om detta på både fjärde och femte plats i träfflistan. Bra bloggat, Peter!

Veckans koll

Jag har för en tid sedan köpt ett Wii till min äldsta son, han är ju i alla fall tre nu. Något jag sett fram emot ända sedan vi gick och vankade i sjukhuskorridorerna, väntandes på nedkomst, var just att få sitta i TV-soffan och exempelvis köra bil med min son (eller dotter, jag visste ju inte då vad det skulle bli). Nintendo är proffs på spelidéer och spel för barn och Mario Kart fungerar hur bra som helst.

Efter en vecka var jag tvungen att prova litet vad mer man kunde göra med ett Wii. Förutom att jag ville kunna använda den som mediecenter, ramlade jag nästan av stolen när den välkända Commodore 64-skärmen visades på min 40"-TV. Kolla dessutom denna lista med titlar som The Last Ninja och California Games.

Men jag vidhåller, det är min sons Wii!

Veckans visuella
Om man har för mycket tid över och står bredvid en röntgenmaskin, vad gör man då?

Wii nunchuck