18 March 2023: A warning
15 March 2023: Kode24.no article
13 March 2023: Codon: It never ends...
9 February 2023: Real Programming Condensed available
4 January 2023: Happy new year!
(PDF, 368KB) It's been two years since the launch of the discordant book Real Programming. This 10-page article sums up all the main themes and looks at what has happened since then.
The Xmas Demo 2022 for the NVidia Jetson AGX Orin Developer Kit. Shader code available for download. A more polished version of last year's demo that exploits the extra power in the Orin.
The Xmas Demo 2021 for the NVidia Jetson AGX Xavier. Full source code available. It demonstrates Sjur's new 3D engine called V73D and has animated objects using inverse kinematics. And a bunch of recycled and optimized shaders and stuff, and some music too.
A book about programming, programmers, programs, and pop culture. Co-authored with Sjur Julin. Tired of crap books promising to teach you the latest programming fad in 21 days? This one is the polar opposite! It contains a lot of real code written in real programming languages like C and assembler. A recurring theme is criticism of modern development methods, software management, languages, and compilers.
The Xmas Demo 2020 is an updated version of the one from 2017. The source code from 2017 was revised to run on any graphics card and CPU. It still runs on the target NVidia Tegra X2 in 60 fps. Full source code available. Music and graphics by Sjur.
A 2019 remastering of the Triumph Amiga demos Dreamscape and Eclipse, released at The Gathering 1996 and 1997. We recovered the original video and music files from my Amiga, including some unused hi-res images. The music was remixed, the font was replaced, the video files were resampled, scaled to 1080p and denoised and retimed to the new music. It's low res, it's gritty, it's 1996 all over again, with a 2019 flair.
Image transformations using separable filters can be implemented as a vertical pass followed by a horizontal pass. They usually differ in their implementation, and the horizontal one is slower. A new method is presented where the passes are almost similar by ordering and transposing data in a specific manner. This may be faster on architectures where the L1 cache is large enough to hold a temporary dataset of 8 lines. SSE2 and ARM NEON implementations are provided.
The Archive contains a complete list of articles.