26/11, 2005
Til studieadministrationen.
Ligesom de fleste andre på min alder er jeg vokset op med en computer med ubegrænset internetadgang, og allerede som 13-årig, begyndte jeg at lære programmeringsprog af min far og min ældste storebror som dengang arbejdede hos IBM. Efter afslutningen af 9. klasse begyndte jeg på HTX, men tog dog efter et par måneder konsekvensen af den skoletræthed, jeg havde oparbejdet de seneste 3-4 år i folkeskolen. I samråd med mine forældre, som begge er arkitekter, fik jeg lov til på egen hånd at udbygge min viden, træne mine evner og opsøge stadig større udfordringer indenfor lige præcis det, der optager mig: Programmering i Haskell.
Ret hurtigt kom min matematikviden fra folkeskolen til kort, men på det tidspunkt var der flere måneder til næste sæsonstart på ungdomsskolerne og derfor anskaffede jeg de relevante matematikbøger og kom videre ved selvstudium. Mine kundskaber i engelsk er også udviklede af at al kommunikation gennem de sidste mange år er foregået skriftligt på engelsk, dels igennem diverse mailing-lister og IRC kanaler, og dels i form af dokumentation af mine programmer.
Jeg har både arbejdet alene på enkeltopgaver og som del af et større team på nettet hvor vi hver især var ansvarlig for vores del af open source kodningen.
Selvom Haskell er mit yndlingssprog (pga. dets elegance og dybe rødder i matematikken), og jeg stort set altid vælger at skrive mine projekter i Haskell, har jeg dog kendskab til logistiske sprog (prolog), imperative sprog (C) og objektorienterede sprog (C++, O'caml).
Gennem mit arbejde med open source programmering er det lykkedes mig at profilere mig selv i Haskellkredse og jeg er fornylig blevet tilbudt en kontrakt af Alexander Jacobson, ejeren af firmaet HAppS i USA, hvor jeg skulle udvikle på en integreret web-, domain-name- og database-server.
Jeg vedlægger tre bilag med henholdsvis en anbefalingskrivelse fra en udvikler for Galois Connections, Isaac Jones, som har kendskab til mit arbejde, en bogliste over de bøger som jeg har læst og en program-liste med beskrivelser af de mest betydningsfulde projekter jeg har været med i. Jeg håber meget på at blive indstillet til optagelse på datalogistudiet til september på basis af denne redegørelse for mine aktiviteter.
David Himmelstrup. CPR: 100187-****
I årenes løb har jeg læst følgende bøger (opstillet i alfabetisk orden):
Jeg er med-/forfatter af et antal programmer som er tilgængelige på nettet som jeg nu vil beskrive kort. Jeg har valgt at beholde forklaringerne på engelsk idet en oversættelse gør dem unødvendigt klodsede.
Cabal:
Common Architecture for Building Applications and Libraries. Cabal is the next generation method of packaging and building software written in Haskell. Stable versions of Cabal has been released and all recent versions of GHC (Glasgow Haskell Compiler, the most prominent compiler in the Haskell community) ships with it preinstalled. Darcs repository: http://cvs.haskell.org/darcs/cabal
hIDE:
Haskell Integrated Development Environment. HIDE is a highly experimental program, aiming at integrating commonly used development tools, like darcs, cabal and GHC.
I worked on this project in collaboration with Duncan Coutts (author of gtk2hs) and Donald Steward (author of hs-plugins and yi), both experienced Haskell programmers.
Darcs repository: http://scannedinavian.org/repos/hIDE
HASP:
HAskell Server Pages. In 2004, Niklas Broberg, a student at Chalmers tekniska högskola in Göteborg, wrote a web-oriented framework called Haskell Server Pages (HSP) as part of his master thesis. His idea was sound but his implementation somewhat lacking elegance. He based HSP on a static webserver (rendering HSP unusable with the popular Apache and IIS servers) and on hs-plugins (a library for using Haskell as plugins). However, having contributed to the development of hs-plugins, I'm aware of its limitations. So, in my version of HSP, I used the FastCGI technology, which can interface with most modern webservers, including Apache and IIS, and I directly used the GHC API which ensures me faster and less error-prone compilations than hs-plugins could ever provide.
Darcs repository: http://scannedinavian.org/~lemmih/hasp/
hsSDL:
Haskell binding to libSDL (Simple DirectMedia Layer, a graphics library). HsSDL is a testimony to the thoroughness and seriousness of my work. The library exposes a tested, stable and thoroughly documented API.
Darcs repository: http://www.scannedinavian.org/~lemmih/hsSDL/
Flere af mine projekter er beskrevet på:
http://scannedinavian.org/~lemmih/aboutMe.html
GHC: http://haskell.org/ghc
hs-plugins: http://www.cse.unsw.edu.au/~dons/hs-plugins/
gtk2hs: http://haskell.org/gtk2hs/