Home -- News: 13 June 2021 -- Books -- Source Code -- Videos -- LinkedIn -- About

Real Programming logo by Sjur Julin

Click here to order the book from Lulu

Or use Barnes & Noble or Amazon

Important Licensing Information

All original code written by Corneliusen and/or Julin is covered by this license: 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.

Chapters

Introduction

A Rant About CPUs, Languages, and Development Methods

A Look Back on the Age of Amiga

Let's Encrypt!

Based on the article SRTP AES Optimization and updates from the article SRTP AES Optimization Revisited.

Source code: srtp_aes_revisited_2016.zip, srtp_aes_2010.c

A Quake! Doom is Coming!

YouTube video 527AaVgh_gQ YouTube video 6qETWBmvrNA

Based on the articles MultiDoom and MultiQuake.

Source code for MultiDoom: multidoom_2014.zip

Source code for MultiQuake: multiquake_2014.zip

The 2014 versions are the same as the 2010 versions, but they use TMC instead of iLib.

Let's Encrypt Again!

Based on the article AES Optimization on Tilera TILE-Gx.

Source code: aes_tilegx_2011.c

Research is Hard

Based on the article A look at Halide's SSE2 3x3 Box Filter.

Source code: box_sse2_2012.c

Spaces and Colours and Layout

Based on the articles YUV420 to RGB Conversion using SSE2 and RGB to YUV conversion on Tilera TILE-Gx.

Source code for SSE2 YUV to RGB: yuv2rgb_sse2_2012.cpp

Source code for TILE-Gx RGB to YUV: rgb2yuv_tilegx_2013.cpp

Source code for fix.awk: fix_2013.awk

Separate Ways and Separable Filters

Based on the article A Different Method for Image Transformations.

Source code: imagetrans_2019.zip

The code was written in 2013, but I didn't write the article until 2018. The ARM version was also written in 2013, but not published until 2019.

Parallel Lines and Libraries

Based on the article Bilinear Picture Scaling on Tilera TILE-Gx.

Source code: tilegx_bilinear_par_2014.zip

Snappy Names are Important

Source code for TILE-Gx Scharr filter: scharr_tilegx_2014.c

Source code for ARM NEON average of an area: average_neon_2014.c

Let's Encrypt Again! The Last Round

Based on the article OpenSSL aes_core.c Replacement for EZChip TILE-Gx.

Source code: tilegx_aes_openssl_2015.zip

A GPU and Some Fractals

YouTube video foJShe8jq1I YouTube video ShvUIA5C0GU YouTube video VYn1VnKMDak YouTube video X08FlIlhk20

Based on the article GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

Assorted improvements from the News section har been integrated into the book.

Source code: gpu_hacks_2016.zip

Julia Quaternions. Err, What?

YouTube video hNaHf-Y7iqI

Based on the article GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

It's advisable to refer to the implementation in the article Nvidia Jetson TX2 Xmas Demo 2017.

The GPU Raytracer

YouTube video lG2p2X-Dgr8 YouTube video KoaMyL2kVkQ

Based on the article GPURay - GPU+CPU Raytracer for NVidia Tegra X1.

It's advisable to refer to the implementation in the article Nvidia Jetson TX2 Xmas Demo 2017.

Kildekode: gpuray_2017.zip

The Binary Fixed-Point Raytracer

YouTube video Fn8R4toFun0 YouTube video 0vGjR_ptCj8

Based on the article Integer Raytracing on Mellanox TILE-Gx.

Source code: tilegx_int_raytracer_2017.zip

The Rip-Off Artist

YouTube video BJzyPtwfMtE

Based on the article Nvidia Jetson TX2 Xmas Demo 2017.

Source code: xmasdemo_2017.zip

Source code for ARM Neon 2x4 atan2(): satan2_2017.cpp

After publication of the book, we have made an improved version that compiles on both Windows and Linux. The shaders should work on all graphics cards. We replaced all the graphics, the music, the fonts, and fixed a pile of bugs: The Xmas Demo 2020 Edition

The secret message in the video wasn't mentioned in the book. It should have been, but it wasn't. A rare miss. It's "SrDt 3454", which is a reference to The Great Ventilation and Telephone Riots of SRDT 3454.

Bayer, Bayer & Bayer

Source code for AVX2 Bayer to I420 conversion: bayer_2018.c

Back for the Quaternion Attack

YouTube video iCDseNgfPsw

Pictures and source code: quat_2019.zip

The text drawing functions had to be removed due to possible copyright issues. Just terminate the calls and it should run ok.

Licensed images used are listed below, along with the modified versions.

Pictures from commons.wikimedia.org.
License: Creative Commons Attribution-Share Alike 3.0 Unported

Title Artist Original Modified
Atlass Ano8675309 Atlass.jpg Atlass4.png
Ankerbrot / OBEY Harald Schilly Ankerbrot_-_OBEY_-_panoramio.jpg obey4.png

Atlass4 Obey4

Pictures from pixabay.com.
License: Pixabay License

Title Artist Original Modified
Men Individual Group Clker-Free-Vector-Images men-individual-group-community-311308/ unique_red.png
Paper Wall Structure Gerd Altmann paper-wall-structure-ban-font-109277 unacceptable.png

Unique Red Unacceptable

Restoration

YouTube video 3ORZe2FwHyQ YouTube video rtrriyFqFDw

Pictures and source code for VHS video resampler: cliffy_2019.zip

Should build with Visual Studio Community in x64-mode, but the video file is missing. It's rather large (30 GB+). Contact me if you want a copy.

A Jilted Generation

YouTube video QSK9z78lRlE YouTube video pgRTLwWNOSY

Pictures, video files and source code for Dreamscape and Eclipse: The Final Cut: remix2_2019.zip

Pictures, video files and source code for Dreamscape: The Missing Scene: recycler_2020.zip

Should also build with Visual Studio Community, but the MPEG-1 files must be converted to raw YUV444 with FFmpeg.

Source code for Invention, with bugfix: Invention_TG94_2020.zip

The Big Picture

Licensing Information

Click here to order the book from Lulu

Or use Barnes & Noble or Amazon

American flag Real Programming -- Ekte Programmering Norwegian flag