Monthly Archives: September 2012

JavaZone 2012

Onsdag 12. og torsdag 13. foregikk JavaZone i Oslo Spektum, og jeg var tilstede som førstereisgutt! Jeg tenkte å oppsummere her hva jeg fikk med meg, med fokus på foredragene, selv om det skal nevnes at stand-området var stort, med mye som foregikk der også. Med 20 minutter mellom hvert foredrag ble det tid til å spise endel is, sushi, burger, kaffe og annet snacks mens en snakket med kjente og ukjente.

Anyways, jeg ankom Oslo tirsdag kveld, og måtte innom Håndtverkerstuene, kjent for godt ølutvalg! God mat og øl som Haandbryggeriets Krøkkebic gjorde det verdt et besøk, men vi gav oss tidlig for å være opplagte til neste dag.

Etter en grei hotellfrokost gikk turen til spektum, og etter å ha vendt øynene til mørket inne i salen, fått seg en kaffe og snakket med litt kjentfolk var det tid for “åpningsshow”. Hvem og hva er jeg fortsatt ikke helt sikker på, en surrealistisk greie med jodling i 20 minutter, sært!

Dog, klokka 9 begynnte foredragene, første for min del var Kevlin Hennly. Tittelen var “Functional progamming you already know”, med et mål om å vise funksjonelle prinsipper uten å vise kode fra funksjonelle språk. Artig foredrag, holdt av en fyr som kan kunsten å holde foredrag ble dette en god start. Neste foredrag ble “How to write highly portable Android applications. Foredraget startet med endel stats om Android, fragmentering etc, før en egenutviklet app ble brukt som basis for å vise hvordan man får samme “look and feel” på flere versjoner. Litt mye detaljer for en stakkar som aldri har skrevet kode for Android, men det må vel kanskje forventes på et intermediate-foredrag?

Etter en pause og en burger ble neste noe jeg følte meg mer hjemme på; lyntaler om webutvikling. jQuery og ytelse, SASS, som virker som en fornuftig måte å håndtere css på, HTML5 og muligheter for å bruke det nuh, gui-testing med Selenium, dos and dont’s, samt scoping i Javascript ble hver presentert på 10 min. Mye hadde jeg (heldigvis) oversikt over, men noe var også nytt. Lyntaler er et genialt konsept for å vekke interesse rundt noe, og jeg fikk notert endel som skal sjekkes ut ved anledning!

“A good API is hard to find” hørtes ut som et relevant tema, og foredragsholderen skuffet ikke. Etter å ha konstatert at i Norge ler ingen av vitser eller stiller spørsmål fikk vi en beskrivelse av hvordan webarkitektur har dreid seg mot utstakt bruk av APIer (som, såklart, er REST). Derretter ble vi ledet gjennom en liste av dont’s, forklaring på hvorfor ikke, samt forslag til hva man burde gjøre. Godt å se at vi gjør det meste riktig 🙂

Inspirert av hvor godt lyntaler fungerte, samt den spennende tittelen: “How about learning f**** programming?”, ble det igjen lyntalesesjon. Alternative språk, dvs Rust og Lisp (Clojure) ble presentert. I tillegg ble det forklart hvordan man kan kalle andre “jvm-språk” fra Java. Metaprogramming i Ruby ble også omtalt, litt mindfuck kanskje? Så, det omtalte “f**** programming”: essensen var (fremført med mye innlevelse) utviklere er værre moteslaver enn Paris Hilton, og kunne vi brukt de nye, flotte rammeverkene våre til håndvesker hadde vi alle sprada rundt med dem. Det vi heller burde fokusere på er automatiserte enhetstester, refaktorering og design, grunnkunnskaper alle som kaller seg utviklere burde ha!

Deretter fant jeg ut at et foredrag som siterer Churchill i beskrivelsen kan ha noe for seg, og dro dermed for å se Tim Berglund. Han åpnet med å si at det nok blir en smule vidløftig, uten en eneste linje kode. På tross av, eller kanskje på grunn av, dette var det atter et meget godt foredrag av en som kan kunsten. Tittelen “And then our buildings shape us” beskriver vel grunnidéen; gjennom eksempler fra musikk, arkitektur og litteratur ble det argumentert for at de rammene vi setter for en stil ender opp med å begrense oss også. Anvendt på utviklere er analogien at de språkene og rammeverkene vi kan og bruker påvirker de valgene vi tar, og hva vi annser som mulig. Gode poenger, som bygger godt oppunder poenget om at man burde lære seg mer enn ett språk!
Mest på grunn av navnet, men også på grunn av anbefalinger fra kolleger som kjente konseptet, ble Zombie TDD neste post på programmet. Ideen er “enkel”: utvikle et zombie-spill i nettleseren, vha TDD i Javascript. Mest for å vise hvordan man kan gjøre tdd i Javascript, men også fordi det er gøy! To meget flinke Javascript-utviklere med mye kunnskap, humor og emacs-konfigurering av en annen verden spant gjennom mye kode, fikk vist mye teknikker og kode. Absolutt en time jeg ikke angrer på. Og, sjekk ut http://zombietdd.com!

Med ølserveringen i gang ble det tid til å hente seg noe ræl fra et stort oslobryggeri og benke seg for paneldebatt. Tema: “Making the programming pain stop”. Med bla.a., Roy Osherove og Kevlin Henney i panelet var ikke problemet mangelen på profilerte debattanter, men debatten ble litt for mye om alt; dårlige rammeverk (med tilhørende bashing av Spring og Maven), problemer med software-kontrakter, smidige metoder, ledelse og “utvikler: kunstner eller håndtverker?”. Mye gode poenger, men mangel på rød tråd og litt fraværende ordstyring gjorde at jeg ikke følte meg så mye smartere etterpå. Dog, oppsummeringen var: lær å lære, lær deg nye språk og jobb med egne prosjekter, noe det er vanskelig å være uenig i!

Med det var programmet for dag 1 over, neste stopp Rockefeller og AweZone. Jeg ankom mitt i settet til Bekk Band, en salig miks av coverlåter og trylleshow, fremført med mye sjarm! Etter noen timer med mer gul guffe fra nevnte bryggeri entret Turboneger scenen; kjent stil, mye staffasje og show, men også referanser til HTML og Alan Turing. Etter konserten ble det en tur på Tilt, for noe skikkelig øl!

Torsdagen startet med oppdagelsen at Turboneger hadde stukket av med stemmen min, men ellers var formen fin. Denne formiddagen hadde mye webutvikling, og showet ble sparket i gang av Nathaniel Schutta, som snakket om “Javascript libraries you arent using, yet”. Bjørner Ramsrud har skrevet en god gjennomgang her, men jeg vil legge til at her hadde vi enda en dyktig foredragsholder!
Neste foredrag var også Javascript, Christian Johansen fra ZombieTDD-teamet gikk gjennom hvordan og hvordan skrive kode i funksjonell stil i JavaScript. Meget lærerikt og inspirerende foredrag, som virkelig gav meg noe å tenke på!

Neste foredrag ble innledet med en advarsel om at her blir det ingen slides, men vi fikk se litt katter før Bodil Stokke liveprogrammerte en twitter-feed med Backbone.js, et mv*-bibliotek for Javascript. Jeg bruker dette selv, men lærte absolutt noe nytt. Litt forvirrende med bruken av Coffescript, men ikke værre enn at jeg hang med!
Nestemann var inne på samme temaet, live hipsterkoding med Java Play, Coffescript, Backbone.js og bla. Her fikk vi bevist demo-effekten til det fulle, alt tryna på værst tenkelige måte! På tross av dette en god gjennomføring, selv om det ble litt vel mye på en gang.

Deretter fulgte et foredrag av en traver i gamet, Trygve Reenskaug, kjent som den som lanserte begrepet MVC, og utvikler siden 1957! Han presentere DCI-paradigmet, og jeg skal ærlig innrømme at jeg slet litt med å henge med! Dog, sitatet “I hate computers” kommer jeg til å huske 😉

Det nest siste foredraget jeg så var om bildebehandling i en Java webapp. Jeg ville kanskje ha foretrukket mer eksempler, men mye godt arbeid, som er opensourcet, det liker jeg!
Dagen (og dermed konferansen) ble avsluttet med samme foreleser som startet den. Denne gangen snakket Nathaniel Schutta om native apps vs. HTML5. Igjen, godt presentert, vel mye Apple kanskje, mye gode refleksjoner og statistikk. Konklusjonen? “Well, it depends!” Det eneste som ikke er å anbefale er hybride apps, for hvis noen påstår de har en silver bullet har de noe å selge. Så; gjør det som er riktig for din situasjon, og gjør det i dag, mobil er her nå!

Med det var JavaZone 2012 over, på vei ut ble standene rigget ned, og nesa ble vendt mot Trondheim. En smule sliten, uten stemme men full av inspirasjon og nye tanker. Det er vel poenget med en konferanse, så jeg er absolutt fornøyd. Synd det er et år til neste gang. Hvis noe frister finner du masser av foredrag på Vimeo: http://vimeo.com/javazone