Takk for nå!

Saturday, June 9th, 2012
1 kommentar

Keynote: “NDC wants to be the best developer event in the world”.
I think they are there already.

Gill Cleeren

Norwegian Developers Conference 2012 er over. Og jeg er sliten men inspirert og veldig fornøyd. Tanker inspirert av de opplevelsene jeg har hatt denne uken kommer til å prege denne bloggen i månedene som kommer, det er helt sikkert!

Jeg har lyst å takke alle de hyggelige menneskene jeg har møtt, lyttet til og snakket med i løpet av konferansen. Dette har vært en berikende opplevelse, og jeg er veldig glad for at jeg fikk være med.

Her følger noen flere bilder fra konferansen, og noen ting som foreløpig ikke fortjener sin helt egen blogpost, men som er verdt å nevne :)

Den store festen

WP_000569

Tradisjon tro var det en stor fest på torsdagskvelden. Det startet med at Microsoft annonserte sin nye Azure release, som blant annet inkluderer virtual machine hosting (Linux i Microsoft-skyen) og git-publisering – ganske kult. Desverre var selve presentasjonen også ganske pinlig, noe det allerede er sagt nok om på twitter.

Deretter var det live musikk fra Carl Franklin, Donkeyboy og sist men ikke minst Loveshack.

WP_000571

Vim vs. Emacs

Det var veldig hyggelig å endelig få møte mange utviklere som jeg tidligere bare har hatt kontakt med via twitter. En av dem var Magnar Sveen. Og hans ferdigheter i Emacs var ekstremt imponerende og inspirerende:

emacs

Så nå må jeg igang å trene – jeg har også lyst å bli så god som han er. Noen ressurser å begynne med:

Noen høydepunkter

Det var veldig mye bra å lytte til i løpet av konferansen, men jeg kan i alle fall trekke frem noen personlige høydepunkt jeg sitter igjen med: Aral Balkans keynote var “top notch”. Jeg ble imponert og inspirert av Gojko Adzic’s foredrag Reinventing Software Quality. Det var veldig spesielt å se Trygve Reenskaug snakke om (mangelen på) utvikling i softwarebransjen de siste 50+ årene. Jonathan Rasmusson var en rollemodell for hvordan jeg selv ønsker å være i min teamleder-rolle. Og .NET Rocks! paneldebatt om hvor vi er i dag i forhold til smidig utvikling var underholdene og bekreftet mine egne tanker.

Men jeg ble også inspirert av for eksempel Bodil Stokke. Hun holdt en behagelig presentasjon av Clojure server side og client side, og brukte et egetutviklet IDE hun bør være stolt av:

WP_000576

Igor Tkachev var en utvikler jeg hadde hentet inn for å snakke om programmeringsspråket Nemerle. Han var kanskje ikke en førsteklasses foreleser, men han var dyktig i det han holdt på med, og holdt en presentasjon om funksjonell programmering som jeg tror imponerte mange. Han fikk virkelig frem styrken som ligger innbakt i pattern matching.

Siste sesjon

Den absolutt siste sesjonen jeg gikk på, før jeg måtte dra og stå i “streikekø” på Gardermoen, var Computas-gutta’s .NET in the physical and meta-physical world.

WP_000584 

Jonas Winje, Einar W. Høst og Bjørn Einar Bjartnes er noen hyggelige nerder som var godt forberedt, og som gjorde et anderledes og meget underholdene show.

Her er bilde av kamera-feeden som viser det Commodore 64-inspirerte grensesnittet til trioens .NET Lisp, kjørende på Gadgeteer hardware:

WP_000585

Et av eksperimentene ble også nesten litt skummelt:

“Jesus Christ….a volunteer nearly got murdered by a couple of mad scientists on stage”

Ashic Mahtab

Bjørn Einar skulle demonstrere .NET Gadgeteers tvilsomme real-time egenskaper gjennom et sikkerhetssystem for sin radiostyrte bil. Han skulle kjøre mot en frivillig person som stod på scenen, bilen skulle oppdage at den var i ferd med å kollidere, og svinge til siden…

WP_000590

Bilen skjøt avgårde som en rakett, svingte, men ikke nok, traff forsøkskaninen, og rekosjerte av scenen.

WP_000591

Jeg fikk desverre ikke fanget selve hendelsen med kamera, men forhåpentligvis vil det bli mulig å få oppleve dette når NDC publiserer videoene.

Og da gjenstår det bare å si..

Alle forelesningene fra NDC 2012 vil som sagt bli gjort tilgjengelige, og det er bra siden det ikke var mulig å klone seg selv og få oppleve alle de spennende sesjonene på en gang. Med over 160 talks var det selvfølgelig noen som ikke fungerte så bra som vi hadde håpet, men det skulle nesten bare mangle. Følg med her i tiden fremover for anbefalinger i forhold til hvilke videoer du bør ta en titt på…

Takk for denne gang!

There are conferences, and then there’s ‪#ndcoslo.
So well run, such great talks.
Honored to be here.

Rob Conery

NDC: Åpningsdagen

Thursday, June 7th, 2012
Ingen kommentarer

Første dag av NDC 2012 har vært helt strålende. Det hele startet med en inspirerende keynote fra Aral Balkan, hvor han oppfordrer utviklere å gi sine brukere superkrefter gjennom produktene vi lager. Du kan allerede se den online på Vimeo.

I løpet av dagen har jeg hørt på Dan North, Fred George, og den levende legenden Trygve Reenskaug. Guillermo Rauch fortalte meg historien til JavaScript på serveren (som startet for 16 år siden), “Peli” fra Microsoft Research viste hva Fakes kan brukes til, og Igor Tkachev holdt en imponerende presentasjon av funksjonell programmering i Nemerle.

Notater fra de ulike foredragene kommer på bloggen etterhvert.

Og så samlet vi sammen alle foreleserne og dro dem med ut på Oslofjorden i en partybåt…

NDC_BOAT_BAND

Over ser du turens båt-band: Vagif Abilov på et funky keyboard, Carl Franklin i storform på gitar og vokal, og Svein Arne Ackenhausen på trommer. Knallbra!

Her er en link til en liten stemningsvideo – siste låten i det vi legger til kai, hvor Dan North har tatt over trommesettet.

Nå gjelder det å få seg litt søvn, sånn at jeg er klar for morgendagen. Da satser jeg på å få med meg forelesningene til blant andre Philip Laureano og Adam Dymitruk, paneldebatten til .NET Rocks, og selvfølgelig den store festen på kvelden. Jeg kommer til å være såååå sliiiiten etter dette her :p

Høy IQ-faktor i Oslo akkurat nå!

Wednesday, June 6th, 2012
Ingen kommentarer

Nå er NDC2012 pre-conference workshop-dagene vel gjennomført, og i morgen braker det løs med selve konferansen i Oslo Spektrum. Geeks fra hele verden har flydd inn, og utviklerne som deltar vil kunne velge blant over 160 foredrag av høyeste kvalitet.young_mccoy_battle

I går og i dag deltok jeg på Greg Youngs workshop. Han er skummelt intelligent, men samtidig en dyktig pedagog. Det han fikk oss til å kode disse dagene var egenlig ganske enkle greier, men de inneholdt noen fundamentale og spennende budskap. Han hjalp oss å se hvordan man kan redusere noen problemer som virker vanskelige til noe som blir helt trivielt.

Hva jeg har lært av Greg

Første dag lagde vi et testrammeverk som genererer detaljert dokumentasjon om koden som testes. Vi lekte med Lambda Calculus og funksjonelle pipelines, og jeg fikk parprogrammert i både C# og Clojure.

For noen år siden deltok jeg på en workshop med Scott Bellware. Han lærte oss å skrive context specifications – tester som dokumenterer koden bedre, får deg til å tenke på hvilken adferd du ønsker at systemet skal ha, og som også kan generere dokumentasjon. Siden har jeg blant annet brukt ting som Gherkin og SpecFlow til å skrive akseptansetester som tar dette enda lengre.

Men Greg har fått meg til å innse hva som er problemet med det jeg har gjort til nå; SpecFlow-testene og koden som kjører under dem henger ikke sammen. Det blir det samme problemet som man har med kommentarer i kode – etterhvert begynner de å divergere, og slutter å fortelle sannheten.

Testrammeverket vi lagde med Greg produserer dokumentasjon som er tettere koblet sammen med koden som faktisk kjører i testene.

Læresetning å huske: Alle tester kan modelleres som en komposisjon av fem funksjoner!

For eksempel i Clojure:

(-> given
    transition-to-when
    when
    transition-to-then
    then)

Det er det at det er en funksjons-komposisjon, en pipeline, som er det viktige. Og at output fra hvert av disse stegene kan bli til dokumentasjon som forretningsfolk kan forstå.

Andre dag av workshopen dreide seg om Pi Calculus, Actor Model og message based finite state machines. Greg illustrerte noen av fordelene med å modellere problemer med disse teknikkene, og hvordan problemer som i utgangspunktet kan virke vanskelige plutselig blir ganske enkle. Som å skrive enhetstestet kode som er avhengig av tid.

Hjerne er nå full av ideer, og disse to dagene har gitt meg ting jeg helt sikkert kommer til å jobbe og eksperimentere med i mange måneder fremover. Noen flere blogposter blir det nok også…

GeekBeer etc.

Det sosiale aspektet ved en konferanse som dette må ikke undervurderes. Det er som sagt mange spennende utviklere som har tatt turen til Oslo denne uken. Diskusjonene og læringsprosessen har begge dagene fortsatt til langt ut på kvelden.

Og nå i kveld var det GeekBeer utenfor Østbanehallen. Det virket som om de fleste foreleserne som allerede var ankommet tok turen ut for å møte sitt publikum, og stemningen var upåklagelig..

På bildet lengre oppe ser du (fra høyre) Greg Young, IL Ninja Philip Laureano og .NET-hacker John McCoy. Det utartet seg nesten til en “battle” mellom Greg og John da de diskuterte avanserte finurligheter rundt hvordan man kan analysere og endre kjørende .NET-kode. Jeg er fortsatt svimmel av å forsøke å henge med på hva de to snakket om!

I mine øyne har NDC 2012 allerede vært en stor suksess. Og konferansen har ikke begynt engang! Hvor skal dette ende?

NodeJS vs. ASP.NET

Wednesday, May 16th, 2012
Ingen kommentarer

Jeg har snakket om det før – det blir mye spennende web-teknologi på NDC i år. Og nå avslører vi at det hele kommer til å kulminere i et svært oppgjør mellom de to største leirene…

NDC_CAGE_MATCH_500

Daminan Edwards jobber på ASP.NET-teamet hos Microsoft, og står bak open source-prosjektet SignalR, som hjelper deg å lage real-time, multi-user interaktive webapps i .NET. Rob Conery er en velkjent ex-Microsofter som nå er helfrelst på NodeJS. I en munter setting ledet av Jon Galloway vil du få oppleve de to teknologiene side om side – og endelig skal vi få se hva som er best!

Det er fortsatt ledige biletter til NDC 2012, og folkene fra Programutvikling kan hjelpe deg med å få hotellrom. Ikke gå glipp av Nord-Europas beste utviklerkonferanse!

NDC2012 wallpaper

Saturday, April 21st, 2012
Ingen kommentarer

Gleder du deg til Norwegian Developers Conference? Mens du venter på at det skal bli juni kan du laste ned min nye NDC2012 Wallpaper, som viser den fantastiske samlingen med over 100 profilerte utviklere og forelesere vi har fått tak i til konferansen.

Klarte ikke å motstå fristelsen til å plassere mitt eget bilde der også :D

Det var mye å få oversikt over, så om jeg har glemt noen eller gjort noen andre feil så er det bare til å si fra! Enjoy!

NDC 2012 agendaen: Agile & Craftsmanship

Monday, March 19th, 2012
2 kommentarer

Det kan være vanskelig å skaffe seg den komplette oversikten over agendaen for Norwegian Developers Conference 2012 – det er jo så mange tema og navn å holde orden på. Jeg gjør mitt beste for å vise vei i mylderet av presentasjoner, og har nå kommet til det andre av konferansens hovedtema…

agenda_agile

NDC er en smidig konferanse, og tiltrekker seg noen store navn på dette feltet. Her har jeg valgt ut de mest spennende foredragene og foredragsholderne.

Smidige teams og prosjekter

Dan North er en fyr du absolutt ikke bør gå glipp av. I foredraget Embracing Uncertainty vil han snakke om kjernen i smidig utvikling. Dette kommer til å bli et av høydepunktene om du spør meg.

Jonathan Rasmusson, forfatteren av boken The Agile Samurai, er også en veldig spennende foreleser. Han vil holde to foredrag om smidig ledelse under konferansen.

Konferansedeltagere som vil lære mer om Scrum får også muligheten til å tilbringe en hel dag med Mike Cohn. I år vil han blant annet fokusere på ting som estimering, planlegging, user stories, og hvordan man skalerer scrum til distribuerte team.

I tillegg vil jeg nevne at Cory Foy vil snakke om Kanban, og at Paul Goddard og Geoff Watts vil holde en tre timers lang workshop de har valgt å kalle Game Oriented Agile Learning.

Bli en bedre utvikler

Craftsmanship handler om hvordan vi enkeltvis utøver faget vårt, og hvordan vi blir bedre utviklere. Robert C. Martin‘s sesjoner representerer som regel høydepunktene for meg på konferanser som dette, og i Professional Software Development vil han snakke om hva det vil si å være en profesjonell utvikler i 2012.

I følge ryktene er Venkat Subramaniam en utrolig dyktig og populær foreleser. Han vil blant annet snakke om betydningen av kodekvalitet. Roy Osherove er også med, og vil i år fortelle deg hvordan du kan bli en bedre utvikler ved å bryte ut av din komfort-sone.

Og så er du nesten nødt til å få med deg Greg Young. Jeg vurderer faktisk å delta på hans pre-conference workshop også. Under konferansen vil han snakke om hvordan man raskest mulig kommer igang med å levere reell verdi på et nytt prosjekt.

Når utviklerne tar kontrollen

NDC 2012 vil også gi deg et par foredrag som snakker om hva som skjer når utviklerne kaster bort alle formaliteter og tar styringen selv. I Programmer Anarchy vil Fred George fortelle om steget etter Agile, og morromannen Zach Holman vil gi oss et innblikk i hvordan ting fungerer internt hos GitHub.

Det blir også flere DevOps-relaterte sesjoner. David Farley er en av forfatterne bak boken Continuous Deliver, som ble kåret til den aller viktigste og beste boken for utviklere i fjor. Han kommer til NDC for å snakke om dette.

Noen andre potensielle høydepunkt

En sesjon jeg er litt spent på er Hadi Hariri‘s Developers: The Prima Donnas of the 21st Century. Det høres ut som om han vil provosere litt, og det kan jo bli gøy. Ellers vil jeg nok ta turen innom You had me at Halo, et foredrag om hva vi kan lære av online gaming for å skape bedre kommunikasjon og samarbeid i distribuerte utviklerteam.

Som du ser er det nok av sesjoner som vil fortelle deg hvordan du både som individuell utvikler og som teammedlem bør forholde deg til softwareutvikling. Dette er presentasjoner som vil gi både nyttige tips og inspirasjon til å bli bedre utviklere, og jeg gleder meg sykt mye til noen av disse.

Tidligere poster om de røde trådene: Webutvikling på NDC 2012.

NDC 2012 agendaen: Webutvikling

Saturday, March 17th, 2012
1 kommentar

I fjor var jeg (som nevnt tidligere) så heldig å bli invitert til å få være med å forme 2012-utgaven av Norwegian Developers Conference. Vi har jobbet hardt med å velge ut de beste av over 500 foreslåtte foredrag, og nå er endelig agendaen lansert.

Vi har forsøkt å fokusere agendaen rundt noen tydelige tema, men innholdet er likevel ganske variert, og det kan nok være vanskelig å få en god oversikt. Det er jo tross alt tre fulle dager med i år åtte tracks hver dag, pluss workshops. Derfor vil jeg nå skrive en rekke blogposter som tar for seg de ulike hovedtemaene for konferansen – de røde trådene – og trekke frem noen av de forelesere og foredragene jeg mener folk bør få med seg.

Og her kommer den første…

agenda_web

Webben er en sentral plattform for de aller fleste utviklere, og er selvfølgelig også et av de viktigste fokusområdene for NDC 2012. Det skjer mye på denne fronten, og det kan være vanskelig å henge med. NDC vil forsøke å gi deg en god oversikt over mulighetene som finnes, og det blir flere muligheter for dypdykk i utvalgte teknologier.

ASP.NET

Det er mange som kommer til Oslo i sommer får å høre hva som er nytt for webutviklere på .NET-plattformen. Og vi har vært så heldige å få med oss Brad Wilson, som er utvikler på ASP.NET MVC-teamet hos Microsoft. Han vil introdusere deg for det som nå heter ASP.NET Web API, som gjør det enklere å lage gode html-baserte API’er. Dominick Baier vil så fortelle deg alt du trenger å vite om sikkerhet knyttet til Web API.

HTML5 og CSS3

Alle snakker om HTML5 for tiden, og det vil man gjøre under konferansen også. Jeg vil trekke frem Lea Verou, som er spesielt dyktig på og kjent for sine presentasjoner om CSS. Bruce Lawson er også med, og vil blant annet holde et foredrag om HTML5 Multimedia. Og Jon Galloway (kjent fra podcastet Herding Code) vil lære “gamle grinebitere” å bli glad i HTML og CSS.

Remy Sharp fra jQuery-teamet er det nok også spennende å få med seg. Han vil kaste lys over noen av de delene av HTML5 som folk ikke snakker så mye om, men som likevel er viktige.

Grafikk og Canvas

Rob Ashton er også tilbake i år, og vil nå snakke om noe han brenner veldig for – nemlig WebGL, et subset av OpenGL for browseren. David Geary er også en interessant fyr med de spennende sesjonene: Mind-blowing Apps with HTML5 Canvas og HTML5 Game Development. Hvem har vel ikke lyst til å lære å lage kule spill for web?

Node.js

Node.js lar deg kode JavaScript på serveren, og har vært veldig populært en stund nå. Sara Chipps, kjent fra Girl Develop It, vil vise nybegynnere hvordan man lager en webapplikasjon med Node.js på 60 minutter. Rob Conery er tilbake i år også, og vil følge opp med et noe mer avansert node.js-foredrag.

Web Sockets

Guillermo Rauch er mannen bak JavaScript-bibloteket Socket.io. Å få ham til Norge er ganske stort! Guillermo vil holde sesjoner om både web sockets og node.js. Konferansen vil dessuten ha foredrag som omfatter SignalR – et .NET-rammeverk for full duplex mellom browser og webserver uten å nødvendigvis kreve støtte for web sockets.

Konklusjon

Som du forstår er programmet tettpakket med innhold om webutvikling, og om du ønsker å få med deg alt i denne røde tråden så rekker du ikke stort annet. Personlig er jeg veldig interessert i web sockets, så det må jeg få med meg. Og så har jeg veldig lyst å bli inspirert av David Geary’s presentasjoner.

Lykke til med dine egne valg, og følg med videre for flere poster om agendaen for NDC 2012!

Siste kommentarer

Torbjørn
PS: Takk til Børge Hansen, som delte SCARF-modellen med meg!...
Børge Hansen
Denne likte jeg veldig godt. Du skriver godt og har gode betraktninger  Keep it up – flere trenger å tørre å lære mer om ledelse – du l...
Tormod
Er egentlig ikke overrasket. F# sin fortè er programmererens produktivitet/kvalitet og anledning til parallell kjøring. Men kjøremotoren har ...
Stian
Ville også prøvd med et større problem (x100 eller x1000 f.eks). Når man snakker så små brøkdeler av et sekund som her så kan tiden for en ell...
Torbjørn
Har ikke sjekket - tar en titt i morgen hvis tid :)...
Einar W. Høst
Mhp tco: hva sier ILSpy?...
Torbjørn
Har ikke sett noe på PSeq før, men kjenner til den typen funksjoner fra blant annet Clojure. Og problemet med slike funksjoner i sammenhenger som de...
Håvard
Veldig bra sammenligning! Har du sett på ytelsen av PSeq.* fra powerpakken? Tipper den vil gi performancehit på små mengder, men kan kanskje resul...
Torbjørn
Jeg kom på en demonstrasjon-variant til jeg burde inkludere, nemlig bruk av list comprehension (en type computation expression (også kalt monads)). ...
Einar W. Høst
Interessant, det blir en trade-off mellom eleganse og fart på en måte. Den funksjonelle løsningen med vanlig filter er ren og pen, mens den imperat...
Creative Commons-lisens
Innholdet på denne bloggen er tilgjengelig under Creative Commons Navngivelse-Ikkekommersiell-DelPåSammeVilkår 3.0 Norge lisens.

Programmeringsbloggen
Kjempekjekt.com

© 2006-2013 Torbjørn Marø

Jeg har vært en profesjonell programmerer siden 1999, og dette er min blogg. Målet med bloggen er å stimulere meg selv og alle andre til kontinuerlig eksperimentering og læring.

Jeg forsøker å være allsidig, og programmerer blant annet i C#, Ruby, Erlang og Clojure.

Jeg praktiserer TDD og andre smidige utviklingspraksiser. Jeg er opptatt av kvalitet og ren kode.

Dette og ganske mye mer kan du lese om på denne bloggen!