In 2021 I co-authored the book Real Programming with Sjur Julin. The Norwegian version is available from The National Library of Norway. It's quite different from all other books about programming out there. The main topic is how hard problems can be solved in simpler and faster ways by just applying yourself and not blindly trusting random crap written by strangers. A recurring theme is critique of modern development methods, programming languages, software management, and compilers. It contains a lot of well-documented code written in C, GLSL, and Assembler. The writing style can best be described as acerbic. If you have a problem with black humor and sarcasm, look elsewhere. The info page has some sample chapters and a 10-page summary, so you can find out whether you like it or not.
Professionally, I write ultra-high-performance code in C and intrinsics,
C++ when needed,
Assembler when necessary, and GLSL if there's a GPU available. Some of the platforms I've used are
Motorola 68000, PowerPC, ARM and Neon, TriMedia/PNX (fun), Texas Instruments DSPs (crap), Tilera TILE-Gx (great),
Intel SSE/AVX variants, and Intel Movidius Myriad X. I've made video pipelines, threading frameworks,
menu systems, camera controllers, communication systems, fast encryption and hashing routines, laser
galvanometer controllers, and fixed a lot of obscure bugs.
I've owned and programmed numerous home computers over the years, the most notable ones being Sinclair ZX81, Commodore 64, and assorted Commodore Amiga models. I tried booting my old Amiga 4000 from 1992 in 2019: It's covered in the book.
I do a lot of hacking in my spare time. For that purpose, I currently employ a Jetson Nano, a Jetson AGX Xavier, and a Pi 2. Hope to add an Orin Nano to the stable soon. This invariably leads to new versions of the long-running art project known as The Xmas Demo. The code is known for pushing reasonably priced hardware to the limits by using every trick in the book. Literally. More examples in the videos section.
I have written numerous articles about programming over the years. Several of them contain original research. Lately, I've been busy tying up loose ends from the book with the articles Edgehog: 1080p60 Nano Fractals and A Fast Image Scaler for ARM Neon. Check out the Articles for a complete rundown.
The articles contain a lot of source code. All of it can be found in the source code archive. There is roughly 100000 lines of code there: 75000 lines of C and C++, 15000 lines of Assembler, and 10000 lines of GLSL. Comments are sparse. If you need a commentary, check out the book.
Sjur and I gave a guest lecture about the necessity of low-level programming at the University of Oslo in November 2022. Feel free to contact me if you want an hourlong rant about popular topics from the book. Sjur's part is fun with live demonstrations, while my part is like my code: Both dry and terse. Come to think of it, you should probably call Sjur instead.
I currently work for Huddly as a principal engineer. They make USB and network cameras with amazing picture quality and features. It's part-time, so I occasionally do other stuff. If you have any kind of interesting programming problems not related to web crap, please do not hesitate to contact my company: Ignorantus AS.
I worked for Stingray Marine Solutions AS 2018-2020. Killing sea lice with a laser is awesome! (Well, lasers are always awesome.) In the period 1999-2018, I worked for TANDBERG, the videoconferencing company, which was acquired by Cisco in 2010. TANDBERG was pretty great. Cisco wasn't. Before that, I worked for PCTVNet, maker of an early internet set-top box called the HomePilot. In the middle of the 90s, I spent a couple of years at Statens Pensjonskasse, converting old Cobol systems to C and embedded SQL. They used cool DEC Alpha servers, so it wasn't as boring as it might sound.
Rewinding to the start of the 90s, I studied mathematics and informatics at the University of Oslo. They taught object-oriented programming in Simula; that's probably why I don't like OOP anymore. (That, and the disaster called C++) A single course was mildly interesting: Programming in C and Assembler on Atari ST. I recently recovered the diploma (with my name written incorrectly, hmf) from storage. Going back into storage, I guess.
Contrary to popular belief, I have a number of other interests. Some of them are not related to computers or programming:
I recommend using LinkedIn for that. Due to a series of unfortunate events, the disposable email system had to be scrapped (again).
For professional enquiries, contact Ignorantus AS.
The entire website uses 140 MB of disk space.
All articles that are not labeled with a specific license are covered by this: Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0).
All nonderivative source code files that are not labeled with a specific license are covered by this:
CC0 1.0 Universal (CC0 1.0).
Derivative works retain their original license.
All images that are not labeled with a specific license are covered by this: CC0 1.0 Universal (CC0 1.0).
All videos that are hosted on YouTube are bound by the "Standard YouTube License". I am unable to find the actual license text. It's probably a good idea to follow it. Caveat lector.
Item: Man Walking Icon. Artist: a.l.e. on public domain vectors. License: CC0 1.0 Universal (CC0 1.0)
Item: Dark Side of the Moon Cover. Artist: Pink Floyd / Reproduction : Kilyann Le Hen. License: Public Domain
Item: Dogtooth Poster. License: Assumed to be fair use.
Item: The Remains of the Day Cover. License: Assumed to be fair use.
Item: Paradroid Cover. License: Assumed to be fair use.