Al Green
Al Green's Brother
Home -- News -- Articles -- Books -- Source Code -- Videos -- Xmas -- LinkedIn -- About

Nils Liaaen Corneliusen

Author, Artist & Programmer

Real Programming cover Nils Ekte Programmering omslag

A Brief History in No Particular Order

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 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. Over the years, I've made video pipelines, threading frameworks, menu systems, camera controllers, communication systems, fast encryption and hashing routines, laser galvanometer controllers, and a multitude of drivers for a plethora of devices.

I've owned and programmed assorted home computers over the years, the most notable ones being Sinclair ZX81, Commodore 64, and Commodore Amiga. I tried booting my old Amiga 4000 from 1992 in 2019: It's covered in the book.

ZX81 Amiga 4000 HomePilot TANDBERG 150MXP Tilera TILE-Gx NVidia Jetson Nano Developer Kit

I do a lot of hacking in my spare time on a collection of microcontrollers. Right now (March 2024), NVidia's devices dominate the home lab: A Jetson Nano, an AGX Xavier, and an AGX Orin Developer Kit. They have decent GPUs, so this invariably leads to new versions of the long-running art project known as The Xmas Demo. The name should give away the approximate yearly release date. TXD is known for pushing reasonably priced hardware to the limits by using every trick in the book. Literally. Full source code is usually provided. An assortment of other mildly entertaining (and sometimes disturbingly technical) videos can be found in the videos section.

Click to watch video on YouTube Click to watch video on YouTube

I have written numerous articles about programming. The latest two from 2023 tie up some loose ends from the book: Edgehog: 1080p60 Nano Fractals and A Fast Image Scaler for ARM Neon. Most of the articles contain ultra-fast and readable source code that compiles and runs. Roughly 100000 lines of code can be found in the source code archive: 75000 lines of C and C++, 15000 lines of Assembler, and 10000 lines of GLSL.

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 hour-long 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++) It wasn't a total loss, though. They also taught interesting stuff like basic VLSI design and C/Assembler programming. You win some, you lose some. Anyway, I ended up with a diploma with my name spelled almost correctly. So close! Copy-paste seems to be a hard skill to master.

Contrary to popular belief, I have a number of other interests. Some of them are not related to computers or programming:

Breguet wristwatch Amperex&Telefunken tube boxes TLOTLDR Dark Side of the Moon Movies Oversampling button End of a book Paradroid

How to Contact Me

I recommend using LinkedIn for that.

If you want to send me an email, the disposable email system is back... until it breaks down again. Click here for information. A modicum of effort is required to make it work.

For professional enquiries, contact Ignorantus AS.

Technical Information

ignorantus.com is my personal website. It has been online since 3 September 2009 and is hosted on servers located in Oslo, Norway. It uses 150 MB of disk space. Most of it is actual content: Source code, articles, and related imagery. No cookies are used anywhere. There are no commercials anywhere, either, except for blatant attempts at peddling the book. Get used to it.

I care about keeping energy waste to a minimum. All pages are made as simple as possible (but no simpler) and delivered as human-readable HTML5. Here's a rundown of the energy wasted by a couple of Norwegian programming-adjacent websites: Warriors of the Wasteland.

Article Licensing Information

This article is published under the following license: Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
Short summary: You may copy and redistribute the material in any medium or format for any purpose, even commercially. You must give appropriate credit, provide a link to the license, and indicate if changes were made. If you remix, transform, or build upon the material, you may not distribute the modified material.

General Licensing Information

All articles and source code files published on this website should have their licensing requirements clearly stated in the document. If licensing requirements are missing or incomplete, contact me and I'll fix it asap.

I do my best to follow licensing requirements on items used on this website, be it source code, images, or quotes from articles. If you mean that the licensing requirements for a specific item are not met and (this is important) you are the original artist or author, please contact me to have this fixed asap.

Licensed Items

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: Fox movietone 2. Artist: Fox Corporation. License: Public Domain
Item: Blank page intentionally end of book. Artist: Roke~commonswiki. License: Attribution-Share Alike 3.0 Unported (CC BY-SA 3.0)
Item: Screenshot Paradroid GNU. Artist: Wdwd. License: Attribution-Share Alike 3.0 Unported (CC BY-SA 3.0)


Ekte Programmering Norwegian flag
American flag Real Programming
Ignorantus AS