ESPENS HJEMMESIDE @ UiO

Litt om meg

Bildet mitt

Mitt navn er Espen Helgedagsrud, og jeg studerer for tiden informatikk ved Universitetet i Oslo. Helt spesifikt går jeg på profesjonsstudiet "Systemutvikling: modellering og programmering" (mest kjent som SUMP) og sikter på en mastergrad i feltet.

På privaten liker jeg å programmere, spille dataspill og annen generell nerding. Noen tech-trender jeg er glad i: Generell webteknologi (userjs, jquery, html5, semantisk web), høynivå RAD-programmering (spesielt i Python) og enkel spillprogrammering.

Ved spørsmål er det bare å ta kontakt. Jeg kan nås på epost espenoh[at]ifi.uio.no stort sett hele døgnet.

Fag jeg tar nå (Vår 2011):

Fag jeg har tatt tidligere:

INF1010

Våren 2009 tok jeg emnet INF1010 som var et rimelig kjedelig og rett-fram påbygningskurs i Java. Det ble derimot arrangert en del interessante konkurranser i forbindelse med Oblig 3 (som omhandlet GUI-programmering), så her måtte jeg seff bidra litt:

Starfield

Screenshot

Dette er en enkel starfield-effekt (ala den gamle skjermsparer'n i windows) med en sinescroller kjørende over. Begge effektene er ganske greie å implementere, og ser overraskende bra ut når de kjører i full hastighet på en moderne maskin. Det skal dog sies at selv om effektene er greie i teorien, er det å implementere dem i Swing ikke akkurat barnemat, og det gikk GANSKE mange timer med på å få ting til å kjøre i nogenlunde OK hastighet.

Og nei, jeg vant ingen av konkurransene, men jeg fikk en honorable mention og ble vist fram på storskjerm under premieutdelinga... :)

Se: Video (YouTube)

Last ned: Starfield.java - Zip med kildekode + eksempel

INF3151

Høsten 2010 tok jeg emnet INF3151, hvor jeg bygget mitt eget operativsystem fra bunnen av. Dessverre får vi ikke lov til å legge ut koden til selve OS-et vi lagde, men jeg snekret sammen noen morsomme småprogrammer til selve OS-et underveis i prosjektet, og disse kan fint legges ut.

NB: Merk at disse programmene er skrevet for vårt eget OS og kan/vil derfor kreve vesentlig modifikasjon for å kjøre andre steder

Sinescroller

Screenshot

Siden disse sinusscrollerne tydeligvis har blitt varemerket mitt hadde jeg jo ikke noe valg når jeg først fikk litt dødtid mens jeg jobbet med OS-implementeringa. Siden slik luksus som Sin() seff ikke funker når man jobber rett mot hardware måtte jeg trylle fram samma funksjonen ved hjelp av litt inline assembly mot x87 FPU-en, men det fungerte overraskende greit. Ellers er det lite å si om koden egentlig, den er rimelig rett-fram og lite komplisert.

Se: Video (YouTube)

Last ned: scroller.c

Mandelbrot

Screenshot

Siden sinescollern gikk såpass enkelt, tenkte jeg at jeg måtte prøve å lage no litt mer avansert og fikk ideen om å lage en Mandelbrot-tegner. Siden vi bare har tilgang til en enkel 80x25 monokrom tekstmodus i OS-et vårt måtte det improviseres en hel del for å få fram et gjenkjennelig bilde, men med den endelige paletten synes jeg resultate ble helt knall. Algoritmen brukt er rippa rett fra pseudokoden på wikipedia og skrevet om til C, resten er småendringer for å få alt til å fungere riktig med OS-et.

Se: Video (YouTube)

Last ned: mandelbrot.c