Bachelor's degree in computer science from University of Oslo.
A software developer by passion, hobby, and profession, ever since I learned MS-DOS on my dads IBM PC compatible computer in something like 1989. I eventually learnt C, C++ and Pascal with the help of Borland Turbo and DJGPP compilers, then enough x86 assembly to participate in "the demoscene" with some close friends.
I picked up HTML and JavaScript authoring around 1995 when I started surfing the Web on a dial-up modem.
As the Web was expanding and exploding at the turn of the millennium, I learned CSS 2.1 and was authoring HTML websites as profession, also learning HTTP much more thoroughly than before. Cold Fusion was a thing, I was using that to generate HTML and later XHTML pages. I also learnt XML, XSL and XPath, which were relatively unused then, for various purposes. The browser wars were raging which made developing standards compliant websites a nearly futile exercise. After a number of years full of developing Adobe Flash Player applications with ActionScript, I eventually switched to the HaXe language to make Flash Player applications up until Flash Player started its slow slip into obscurity where it seems to rest today.
These days I develop for the Web simply because I consider it an incredibly convenient platform as far as return of investment on deployment and publishing of information and software go; it doesn't hurt that the APIs cover so much ground one is able to write many more kinds of applications of the Web than ever before. I like working with SVG, too.
I do still occasionally dabble in writing Windows (and Linux) applications with both C, C++, and even Python, whenever I find good use for these technologies and platforms.
I also hold a keen interest in GUIs and UX design, programming language and parser theory and technology, software optimization techniques, operating system and OS kernel design, and 3-D computer graphics (in particular ray tracing).
By now you may be thinking that I am gaping far too wide here, but know that I do not consider myself "spread too thin" at all, in fact I find my broad range of interest within the realm of CS if not justified then at least invigorating and practical: all of the things I do, to me look like they're bringing me closer to some imagined software developer nirvana, or singularity -- knowing about very varying software development principles, approaches and quirks, teaches me to see the fundamental structures behind every kind of software architecture, common patterns emerge when you have developed enough products ranging from a command line utility to a network-distributed system.
My mathematics teacher used to say "know little about everything, and everything about little". Can't say I know everything about some little thing, but knowing little about everything keeps me inspired. I want to be able to see both the forest and the trees.