Al Green
Al Green's Brother
Home -- News -- Archive -- Source Code -- Videos -- LinkedIn -- About

About Nils Liaaen Corneliusen

Author, Artist & Programmer


In 2021 I co-authored the book Real Programming (Ekte Programmering in Norwegian) with Sjur Julin. It's a book about programming, programmers, programs, and pop culture. Some of it is based on articles published here, and all the source code can be downloaded for free. Yeah, we really didn't think that one through. The info page has some sample chapters, so you can find out whether it's interesting or not. It's quite different from all the other books about programming out there. Trust me on that one. The Norwegian version can be borrowed from The National Library of Norway.

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 architectures 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, Intel Movidius Myriad X, and NVidia Jetson Nano/TX2/Xavier. 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 the old Amiga 4000 from 1992 in 2019: It's covered in the book.

My main area is code optimization and parallelization, but 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. And that's just professionally: I do a lot of hacking in my spare time, too. Many examples can be found in the Source Code section.

Sjur and I gave a guest lecture about the necessity of low-level programming at the University of Oslo in November 2022. If we ever do another one, I'll try to take some better pictures. Feel free to contact me if you have an audience that needs an hourlong rant about the failure of modern development methods. Read the book first!

I currently work for Huddly as a principal engineer. They make cool USB and network cameras. Think LifeCam, only the complete opposite. 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! Before that, I worked for Cisco. And before that, TANDBERG, the video conferencing company. TANDBERG was pretty great. Cisco wasn't. I also worked for PCTVNet back in the day, maker of an early internet set-top box called the HomePilot.

I've made several videos over the years, demonstrating what I do. Here's a selection. There's lots more in the Videos section.

The Xmas Demo 2021 Remastered for NVidia Jetson AGX Xavier. In cooperation with Sjur Julin.

YouTube video 4m8qjYSOlKQ

Sjur Julin made the launch video for the book Real Programming. Yep, that's his 70s typewriter and Sovtek amp. And just before that, we made a new version of the 2017 Xmas Demo dubbed the 2020 Xmas Demo. It displays a set of cool shader effects in 1080p60. The 2017 version was made specifically for the NVidia Tegra X2 running Android. This new version compiles for any GPU, CPU, and OS combination. And we replaced everything but the shaders.

YouTube video wegLxIo-ZIw YouTube video j5x-lytqqXQ

In 2019, we remastered two old Triumph Amiga demos from The Gathering 1996 and 1997 called Dreamscape and Eclipse: The Final Cut. We also restored an old VHS tape containing some other fun Triumph animations. This is documented in the book.

YouTube video QSK9z78lRlE YouTube video 3ORZe2FwHyQ

In 2019, I took the Julia Quaternion shader by Keenan Crane, fixed some bugs, and made a multi-threaded CPU version. Spent some time figuring out how to increase the quality without generating more noise. It's documented in the book. In 2017, I made a raytracer for the NVidia Tegra X1 called GPURay that uses the CPU to do some preprocessing for the GPU, for a total of 128 spheres and shadows in 1080p60.

YouTube video iCDseNgfPsw YouTube video lG2p2X-Dgr8

How to Contact Me

Please use LinkedIn for that. I don't use any other social networking services.

For professional enquiries, contact Ignorantus AS.

Important Licensing Information

All nonderivative source code files published on this website should be clearly labelled with a license at the top. In most cases, that's the CC0 1.0 Universal (CC0 1.0) Public Domain Dedication license: You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Derivative works retain their original license.

Technical Information

This website does not use cookies at all. If you see any in use, it's not my fault, it's your provider ripping you off.

Everything you see should be straight, validatable HTML5. I use W3's Nu Html Checker. There is an icon in the upper right corner of every page that will send you there and test it. If there's any errors, contact me and I'll notify the web design department. Which is me. Crap.

Ekte Programmering Norwegian flag
American flag Real Programming
Ignorantus AS