I am a software developer with over 20 years of experience in various platforms and technologies. I’ve worked professionally with .NET development and C# since .NET 1.0 beta was released over 10 years ago and before that I worked with Microsoft technologies mainly in C++ and VB6.
I am passionate about development and focus on quality, stability and performance delivered on time.
I’ve been programming ever since I was a young kid in the 80s and got my first computer. I started out by learning BASIC on the Spectravideo 728 and the C64 and made a few games (mostly text adventures, but also a PacMan clone…). Later I realized that the really cool stuff was made in assembler, so I learned some 6502 assembler and started writing some simple stuff on my C64. However, it was not long until the Amiga 500 came along and of course I had to spend all my savings on buying such a splendid machine.
After buying the Amiga 500 I wanted to see what it could do and started working with Amiga Basic. However, that sucked pretty much so I bought Amos Basic and that was pretty cool for the time. I guess this was around 1988 or so as far as I can remember. Amos Basic served me well for a while and I actually made several games with it, but I realized soon that the really cool stuff was made in assembler so I had to learn 68000 assembler. At this time I was heavily interested in the underground demo scene so I wanted to learn how to create similar stuff and spent a lot of time trying to figure out how to do things. At this time there was no internet so it was virtually impossible to find information about how to do things… My first assembler stuff was mostly some primitive intros and demos with lots and lots of scrolling text and copper effects… 🙂
The following years I got better and better at assembler coding on the Amiga and released several intros and demos of various quality. I learned a tremendous amount while working on this stuff and had a great time. I also got my first modem during this time and it really opened up the world to me. It was a blast to call out to a BBS, download some great stuff and maybe have a chat with other people from all around the country. I remember I got connected to FidoNet via a local BBS which allowed me to communicate on internet newsgroups such as comp.alt.graphics. It really helped develop my 3d programming skills by being able to ask these people about math (like linear algebra) that I didn’t get to study until many years later…
In 1994 the Amiga had pretty much died and I felt that my Amiga 1200 was no longer that hot which led me to buy a PC instead. It was a 486DX4 with 16MB RAM… 🙂 My closest friend was an assembler programmer on the PC and helped me learn the ins and outs of x86 assembler, so I quickly got up to speed and started producing intros and demos also on the PC. During this time there was no DirectX or 3D cards even. Everything like bitmapped vector graphics had to be handwritten in assembler. It was quite tough and challenging, but of course lots of fun as well.
During 1994 to 1997 I was quite active in the PC demoscene and released many intros and demos. Most notable are the 4K intro Havoc (5th place at Assembly ’95), 64K intro Fatal (3rd place at Icing ’95) and Reality Bytes (3rd place at Juhla Pi demo competition in ’96).
Reality Bytes was my last complete assembler production. After that I learned C++ and wrote stuff in a combination of C++ mixed with assembler for in most performance critical stuff.
While I studied Software Engineering at the University in Skövde I also had contract work during the summer vacations which allowed me to learn both C++ programming and some really funky AI and genetic programming using a mix of C++ and assembler.
In 1999 I started my professional career as a developer and after a couple of years with C++ and VB6 it’s been mostly C# and .NET entirely. That’s about it, hope you enjoyed! 🙂