Off topic

Her finner du alt som IKKE har med programmering å gjøre. Tidligere hadde bloggen mange flere kategorier som “filosofi”, “venner”, “ferier og reise”, “foosball” etc. – nå finner du alle disse tingere her.

Rest in Peace

Tre giganter fra datamaskinen og programmeringens historie har falt bort denne måneden.

Den mest kjente er åpenbart Steve Jobs, grunnleggeren av Apple Inc, som døde 5. oktober. Takket være Jobs ble Steve Wosniaks Apple II den aller første kommersielle suksessen i PC-markedet, og de ble begge superkjendiser. I nyere tid sto han i spissen for markedsføringen av en ny revolusjon – nemlig iPod, iPhone og iPad.

Men bare en uke senere, 12. oktober, døde en minst like betydningsfull person. Dennis Ritchie utviklet programmeringsspråket C, og sammen med Ken Thompson stod han også bak operativsystemet UNIX. C har hatt en enorm innflytelse på hvordan vi programmerer i dag, og man kan se igjen spor av Dennis’ arbeid i nær sagt alle dagens programmeringsspråk. Og UNIX har hatt tilsvarende innflytelse på utviklingen av senere OS’er og andre softwaresystemer.

Jeg skrev om Dennis i julekalenderen min i fjor.

Og i går – 24. oktober – døde den tredje giganten denne måneden, professor John McCarthy. Han er mest kjent for å ha funnet opp programmeringsspråket LISP så tidlig som i 1958, et språk som førtsatt er i aktiv bruk i dag, og som har påvirket de fleste andre språk som har kommet etter. McCarthy forsket på hvordan hjernen fungerer, og regnes som grunnleggeren av fagfeltet kunstig intelligens.

Jeg skrev også om McCarthy i julekalenderen.

Tre mennesker er døde, men deres livsverk lever videre i milliarder av systemer, brukes daglig av mennesker over hele verden, og er med på å forme den verden vi lever i.

Takk for alt!

Mine verktøy

Har du lyst til å få et innblikk i hvilke verktøy jeg bruker for å få gjort det jeg gjør? Hvilken maskinvare jeg bruker, og hvilke programmer jeg har installert? Har du lyst til å sammenligne det mot andre, norske utviklere, eller andre som bruker datamaskinen mye i sin hverdag?

Da bør du ta turen innom mine verktøy, hvor du i dag kan lese alle detaljer om min digitale hverdag!

mine_verktoy

Datamaskiner, mobiltelefoner, webtjenester, programmer og annen teknologi danner rammen for vårt arbeid og fritid. Mine Verktøy er en samling av intervjuer der ulike mennesker forteller hva slags teknologi de bruker til daglig.

Siden drives av Thomas Kjeldahl Nilsson, og konseptet er opprinnelig basert på The Setup.

Informatisk julekalender: Luke 18

nygaard_dahl

Ole-Johan Dahl er velkjent som Norges aller fremste informatiker gjennom tidene. Sammen med Kristen Nygaard utviklet han programmeringsspråket Simula på 60-tallet – og med det ble de også opphavsmennene til objektorientert programmering. De var først ute med klasser og objekter, og introduserte blant annet arv, virtuelle metoder og multi-threading, abstraksjoner som hjelper utviklere å håndtere en større grad av kompleksitet.

Som nordmenn kan vi være stolte av det disse karene gjorde i løpet av sin tid på Norsk Regnesentral. Simula ble ikke et spesielt populært programmeringsspråk i seg selv, men inspirerte utviklingen av andre, betydningsfulle språk som Smalltalk, Objekt Pascal og C++. På 90-tallet ble objektorientering den dominerende programmeringsmetodologien.

I løpet av perioden 2000 til 2002 ble Nygaard og Dahl anerkjent for sitt arbeide med både Turingprisen, John von Neumann-medaljen, og hver sin Kommandør av Sankt Olavs Orden-tittel.

Informatisk julekalender: Luke 17

knuth

Nei, dette er ikke skomaker Andersen – dagens hyllest går til den berømte Donald Ervin Knuth. Han er mer eller mindre opphavsmannen bak analysen av algoritmer. Han utviklet matematiske teknikker for grundig kompleksitetsanalyse, og populariserte asymptotisk notasjon (også kalt Big-O notasjon) som alle informatikere må lære på Universitetet.

Knuths livsverk er bok-serien The Art of Computer Programming, som er den ultimate bibelen innen læren om algoritmer. Bruken av ordet “art”, eller kunst, er ikke tilfeldig. Her forklarer Knuth hva som er forskjellen mellom vitenskap og kunst, og deretter hvorfor programmering er en kunst:

“Science is knowledge which we understand so well that we can teach it to a computer; and if we don’t fully understand something, it is an art to deal with it.”

“Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.”

Knuth er også utvikleren bak typografisystemet TeX, og det relaterte font-definisjonsspråket/systemet METAFONT. Han implementerte disse for å kunne skrive bøkene sine enklere. Knuth er kjent for å ha mye humor, og det kan man blant annet se i versjonsnumrene på disse produktene. Første versjon av TeX var nummer 0, og det var en normal stigning opp til 3. Deretter kom 3.1, etterfulgt av 3.14, så 3.141 osv – regner med du ser mønsteret.

Det jeg synes er mest interessant blant Knuths mange bidrag til faget er det han kalte litterær programmering. Ideen er at kilekoden til et program skal kunne leses som en historie fra topp til bunn. Det skal designes slik at det gir leseren all den informasjonen han trenger i riktig rekkefølge. Man skal altså legge mye større vekt på leseren, gjerne på bekostning av å gjøre jobben enkel for kompilatoren.

TeX er skrevet i denne stilen, og flere sier dette er det vakreste koden som noen gang er skrevet. TeX er skrevet i programmeringsspråket WEB, som er en blanding av TeX-markup og Pascal, designet spesifikt for denne oppgaven. Kildekoden kan så konverteres til f.eks. PDF, og den versjonen refereres til som TeX: The Program.

Videomontage sommer 2010

Jentungen vokser raskt. Her er en montage fra i sommer. Hun ser allerede helt anderledes ut enn i denne videoen.

Sommertur 2010

BC_og_Nelsson Turens nest-mest omtalte bilde :)

Jeg er på en solid opptur etter en legendarisk PSWinCom-helg på Sørlandet. Turene våre er veldig godt organiserte, inneholder litt for enhver smak, og gjengen har et godt samhold og et alltid upåklagelig humør. Jeg kan ikke forestille meg at noen andre har så bra firmaturer som oss. Jeg har sagt det mange ganger før, men PSWinCom er en helt unik gjeng som jeg er stolt av å få være en del av.

Det er mye jeg kunne ha fortalt om. Og noen ting vi kanskje bør holde for oss selv. Jeg synes Henriks oppsummering var ganske bra:

“Denne helga har eg: Sett en løve på en halv meters avstand. Holdt en tarantell og en boa-slange. Nesten blitt tissa på av Mr. Nelson apekatter. Drukke meg fra sans og samling. Møtt mange kåte og galne folk fra Setesdalen. Hørt på Abba i en maxitaxi som gynga så masse at eg lurte på om eg var i en båt. Drukke enda meir. Spydd. Gått i Knut Hamsuns fotspor. Sett en av Ibsens tidlige arbeidsplasser. Tøffa gjennom blindleia i båten som General Franco forærte sin datter i 1940. Ete masse god mat. Drukke litt til.., og no e eg faktisk litt sliten. Men fornøgd! Aldri et kjedelig øyeblikk på tur med PSWinCom!”

Takk til Anne Grethe som styrte showet, som var flink til å passe på tiden, og sendte ut nabovarsel i forkant! Takk til Audun som ofret foten for laget sitt. Takk til Espen, den eneste som mener det ble kåret en vinner i vollyballturneringen. Og takk til Bjørn for den vakre talen “til minne om” Espen. Takk til deejay Veronika som holdt meg med røyk. Takk til BC for mye underholdning.

Takk til Gro som ble bedre og bedre i ryggen jo mer du drakk. Takk til Rune med de vanskelige servene, som dro nystemten med rusten whiskeystemme. Takk til Ivar for måten du suste ned tømmerrenna. Takk til Henrik som drakk tequila. Takk til Ingebjørg som fortjent fikk salgs- og markedsavdelingens hederspris og en nydelig sang. Og takk til Roald som holdt fortet hjemme i Bergen.

Takk for en flott opplevelse!

Alle artikler fra 2009

Det ble hele 98 blogposter i 2009!!! Det er nesten to poster i uken det. Siden jeg er stolt av både antallet og innholdet, og i tilfelle du har gått glipp av noe, presenterer jeg her den komplette listen med artikler fra 2009…

Design, clean code o.l.

Dette er kategorien med de artiklene jeg har jobbet mest med, hvor jeg virkelig forsøker å lære bort noe nyttig. Jeg håper jeg får tid til å skrive enda flere slike poster i året som kommer.

.net ninja

Dette er artikler med litt mer subjektivt innhold, meningsytringer om hva det vil si å jobbe for å bli en dyktig utvikler. Forhåpentligvis finner du noen inspirerende ord til ettertanke her.

NNUG og andre community-relaterte ting

Jobbrelatert

Bøker

Jeg leste mange, essensielle programmeringsbøker i 2009, og jeg kan anbefale dem alle på det varmeste…

Verktøy etc.

Diverse prosjekter

Stort sett ting jeg har startet på, og i noen tilfeller klart å fullføre :)

Diverse

Et usedvanlig år..

Da nærmer det seg slutten av et veldig spesielt år. 2009 var ikke bare det året jeg slanket meg 10 kilo.., for deretter å legge dem på meg igjen. Det var nemlig også det året jeg tok skikkelig tak i min egen karriære, og jobbet målrettet med å bli en mye bedre utvikler. Jeg byttet også jobb i 2009, jeg blogget ekstremt mye, og jeg ble med i NNUG-styret i Bergen. Og sist men ikke minst vil jeg alltid huske 2009 som det året jeg ble pappa til verdens søteste jente.

Her er noen tanker rundt året som har vært. Jeg er ganske stolt av hva jeg har gjort, så dette kan tendere mot selvskryt. Er du ikke fan av det får du surfe videre…

.Net ninja-initiativet

28. desember 2008 satte jeg meg selv et nyttårsforsett: Jeg skulle jobbe målrettet og strukturert med å utvikle mine ferdigheter som programmerer. Jeg hadde store forhåpninger, men ingen anelse om at det skulle forandre mitt forhold til faget mitt så mye som det har gjort. I løpet av året har jeg lest en rekke med fantastiske bøker, hørt på hundrevis av podcasts, sansynligvis kodet mer enn noensinne (både på jobb og fritid), og diskutert mer programmering med andre enn noen gang før. Jeg har fokusert mye på grunnleggende objektorientering, patterns og refakturering. Jeg har praktisert testdreven utvikling/design, tidvis parprogrammering, og lært meg å bruke mocking og Inversion-of-Control containers. Og jeg har utviklet min daglige bruk av C#, gjennom en dypere forståelse av ting som generics, linq og lambda.

Nå på slutten av året har jeg også tatt opp igjen Ruby. Jeg begynte så smått å lære meg dette programmeringspråket i 2006, men det ble for lite brukt, så da klarte jeg ikke holde kunnskapen ved like. Nå leser jeg The Ruby Way, og har flere småprosjekter på gang. Jeg tror tillegget av et dynamisk språk til “min portefølje” vil kunne gjøre meg til en enda bedre utvikler. Så det blir mer om Ruby her til neste år…

NNUG / Community

Som jeg allerede har nevnt inviterte Jon Arild meg med i NNUG-styret i starten av året, og i februar holdt jeg et foredrag om objektorienterte databaser (del 1 og del 2) som ble svært godt mottatt. Jeg har blitt en mere aktiv deltager i det norske .Net-miljøet, bl.a. gjennom bruk av twitter og gjennom bloggen min. Jeg har blogget MYE i år, et naturlig resultat av at jeg har lært så mye nytt, og jeg tror mine blogposter har vært inkludert i Microsofts nyhetsbev hele fire ganger nå.

NNUG-året i Bergen har forresten også vært helt eksepsjonelt; vi har blant annet hatt besøk av “kjendiser” som Jimmy Nilsson, Mary Poppendieck, Jeremy D. Miller, Greg Young, og sist men ikke minst Scott Hanselmann (introdusert av selveste Carl Franklin). MSDN Live i mars og september var også bra, og årets høydare var Norwegian Developers Conference i Oslo.

Farvel Contiki, hei PSWinCom

I sommer takket jeg farvel til CMA Contiki, og begynte som teamleder/seniorutvikler i telekom-selskapet PSWinCom. Det var en svært vanskelig avgjørelse å ta, men i ettertid er jeg veldig fornøyd med utfallet. I PSWinCom har jeg fått anledning til å innføre og praktisere mange av de smidige prinsippene som var vanskelig å gjennomføre i Contiki. Vi har et dyktig og motivert team som er villige til å lære nye ting.

Domenet vi jobber i har også gitt meg mange, nye utfordringer. Vi jobber med en ekte serviceorientert (SOA), event-drevet, asynkron arkitektur med høy throughput. Vi bruker mye windows-services, køer og parallellprosessering, som fører til mange problemer jeg aldri har måttet forholde meg til tidligere. For ikke å snakke om et utall integrasjonspunkter med protokoller av ulik art. Hva mer kan en utvikler ønske seg?

Og så ble jeg pappa..

Samme hvor mye jeg har fått til i løpet av året så er dette det mest fantastiske. Dette er en blog om programmering, så jeg skal ikke kjede dere for mye, og henviser derfor bare til en liten videosnutt (tidligere publisert på facebook):

Om 2010 blir bare halvparten så spennende som 2009 har vært så kommer det til å bli et fabelaktig år. Mitt nyttårsforsett denne gangen er rett og slett å fortsette som jeg gjør nå. Takk til alle som har fulgt utviklingen på bloggen min – jeg ønsker dere en riktig God Jul og et Godt Nytt År alle sammen!!!

Vinner av fantasy premier league for andre året på rad

Advarsel: Selvskryt følger..

Som jeg gjorde i fjor vant jeg også i år den private Fantasy Premiere League konkurransen mellom mine kollegaer.

Contiki Winners 08/09

Nytt av året var at alle managere i Fantasy Premiere League automatisk ble med i sin egen serie, kalt Head to Head. Og jammen vant jeg ikke den også. Man skulle nesten tro jeg hadde peiling på engelsk fotball.

Head to Head 08/09

Som du kan se i den første tabellen var vi bare fire kolleger/venner som spilte 08/09-sesongen. Når den nye sesongen starter i høst håper jeg vi kan bli noen flere, så hvis du er interessert så må du skrike ut. Lurer du på hva det hele dreier seg om så finner du Fantasy Premiere League her.

Jamen så putt koppene inn i vaskemaskinen da vel for svingende!!!

Jeg har kjøkkentjeneste på jobben denne uken, og i morgen kommer jeg til å henge opp følgende plakat inne på kjøkkenet:

Dirty Dishes


Torbjørn: La oss anta to ulike definisjoner av Template Method pattern - de to ytterpunkte...

Lars-Petter: Hei igjen. Siden du inviterer til å ta diskusjonen i bloggen, og har tatt deg t...

Torbjørn: Lars-Petter: Det er én måte å se det på. Det er absolutt fortsatt Template M...

Lars-Petter: Hei. Har du ikke i prinsippet her gått over fra Template Method (arv) til Strat...

Christian Abildsø: I alle fall i C#, så føles dette som kode som blir mer fleksibel men vanskelig...

Torbjørn: Hei Henrik, og takk for tilbudet. Ble oppmerksom på Rasberry Pi for under en uk...

Henrik Sandaker Palm: Ang. større hobby prosjekt. Du er som er en slik rakker på programmering har j...

Øivind Nilsen: Slutt å bruke mobilnummeret mitt som eksempel !...

Bjørn Einar Bjartnes: Jeg har også latt meg fascinere av Clojure, uten at jeg har kommet så veldig l...

Bjørn Einar Bjartnes: Sweet :) Jeg tror egentlig jeg liker det som det er, med musikk. Litt av utford...

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • Template Method del 4: Multippel arv
  • Template Method Intermesso
  • Template Method del 3: Bare funksjoner
  • Template Method del 2: På vei mot funksjonell programmering
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (35)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (77)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (60)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (77)
  • Ruby (27)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (20)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta