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

Ekte Programmering: Detaljer

Nils Liaaen Corneliusen, Sjur Julin
Kode, bilder og videoer benyttet i boken

Omslag for boken Ekte Programmering
American flag Also available in English: Real Programming American flag

Viktig lisensinformasjon

Vennligst les kapittel 23: Lisensinformasjon for alle detaljene.

Kapitler

Introduksjon

En tirade om prosessorer, språk og utviklingsmetoder

Tilbakeblikk på Amigaens tidsalder

Kryptiske tider

Basert på artikkelen SRTP AES Optimization og oppdateringer fra artikkelen SRTP AES Optimization Revisited.

Kildekode: srtp_aes_revisited_2016.zip (utforsk), srtp_aes_2010.c

Et jordskjelv! Dommedag kommer!

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

Basert på artiklene MultiDoom og MultiQuake.

Kildekode for MultiDoom: multidoom_2014.zip (utforsk)

Kildekode for MultiQuake: multiquake_2014.zip (utforsk)

2014-versjonene er i prinsippet samme som 2010-versjonene, men de bruker TMC istedenfor iLib.

Kryptiske tider igjen

Basert på artikkelen AES Optimization on Tilera TILE-Gx.

Kildekode: aes_tilegx_2011.c

Forskning er vanskelig

Basert på artikkelen A look at Halide's SSE2 3x3 Box Filter.

Kildekode: box_sse2_2012.c

Rom og farger og layout

Basert på artiklene YUV420 to RGB Conversion using SSE2 og RGB to YUV conversion on Tilera TILE-Gx.

Kildekode for SSE2 YUV til RGB: yuv2rgb_sse2_2012.cpp

Kildekode for TILE-Gx RGB til YUV: rgb2yuv_tilegx_2013.cpp

Kildekode for fix.awk: fix_2013.awk

Separate veier og separable filtere

Basert på artikkelen Exploiting the Cache: Faster Separable Filters.

Kildekode: imagetrans_2018.zip (utforsk)

Koden ble skrevet i 2013, men jeg fikk ikke somlet meg til å skrive en artikkel om det før i 2018. ARM-versjonen ble skrevet i 2013 også, men først publisert i 2019.

Oppdatering: Artikkelen A Fast Image Scaler for ARM Neon (2023) har en helt ny ARMv8 Neon intrinsics implementasjon og en fungerende ARM Neon Assembler implementasjon.

Parallelle linjer og biblioteker

Basert på artikkelen Bilinear Picture Scaling on Tilera TILE-Gx.

Kildekode: tilegx_bilinear_par_2014.zip (utforsk)

Et godt navn er viktig

Kildekode for TILE-Gx Scharr filter: scharr_tilegx_2014.c

Kildekode for ARM NEON gjennomsnittsverdi av et område: average_neon_2014.c

Oppdatering: En forbedret versjon av NEON gjennomsnittsverdi er omtalt her: News 17 April 2024

Kryptiske tider igjen! Siste runde

Basert på artikkelen OpenSSL aes_core.c Replacement for Tilera TILE-Gx.

Kildekode: tilegx_aes_openssl_2015.zip (utforsk)

En GPU og noen fraktaler

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

Basert på artikkelen GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

Diverse forbedringer fra Nyhetsseksjonen har blitt integrert i boken.

Kildekode: gpu_hacks_2016.zip (utforsk)

Oppdatering: Artikkelen Edgehog: 1080p60 Nano Fractals (2023) diskuterer hvordan CPU-en kan brukes til å gjøre kantsjekking. Med fungerende kildekode, selvsagt.

Julia-kvaternioner. Hæ?

Click to watch video on YouTube

Basert på artikkelen GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

Det anbefales å referere til implementasjonen i artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

En GPU-raytracer

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

Basert på artikkelen GPURay - GPU+CPU Raytracer for NVidia Tegra X1.

Det anbefales å referere til implementasjonen i artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

Kildekode: gpuray_2017.zip (utforsk)

En binær fixed point-raytracer

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

Basert på artikkelen Integer Raytracing on Tilera TILE-Gx.

Kildekode: tilegx_int_raytracer_2017.zip (utforsk)

En kopi og litt trigonometri

Click to watch video on YouTube

Basert på artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

Kildekode: xmasdemo_2017.zip (utforsk)

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

Etter at boken ble publisert har vi laget en ny og bedre versjon, som kompilerer på både Linux og Windows. Shaderne skal også fungere på alle typer grafikkort. Og vi byttet ut all grafikken, musikken og fontene og fikset en busslast med bugs: The Xmas Demo 2020

Den hemmelige beskjeden i videoen ble ikke nevnt i boken. Den burde den ha vært, men det ble ikke gjort. En sjelden miss. Meldingen er "SrDt 3454", som er en referanse til "The Great Ventilation and Telephone Riots of SRDT 3454" beskrevet i "trilogien" The Hitchhiker's Guide to the Galaxy [wikipedia.org].

Bayer, Bayer & Bayer

Kildekode for AVX2 Bayer til I420 konvertering: bayer_2018.c

Julia-kvaternionene angriper!

Click to watch video on YouTube

Stillbilder og kildekode: quat_2019.zip (utforsk)

Tekstopptegningsrutinene måtte dessverre fjernes grunnet opphavsrettsproblemer. Hvis kallene bare termineres så bør den funke fint.

Lisensbelagte bilder som ble benyttet finnes under, sammen med de modifiserte versjonene.

Bilder fra commons.wikimedia.org.
Lisens: Creative Commons Attribution-Share Alike 3.0 Unported

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

Atlass4 Obey4

Bilder fra pixabay.com.
Lisens: Pixabay License

Tittel Artist Original Modifisert
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

Restaurering

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

Stillbilder og kildekode for VHS video resampler: cliffy_2019.zip (utforsk)

Bør bygge med Visual Studio Community i x64-modus, men videofilen mangler. Den er ganske stor (30 GB+). Ta kontakt hvis du vil ha en kopi.

A Jilted Generation

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

Stillbilder, videofiler og kildekode for Dreamscape and Eclipse: The Final Cut: remix2_2019.zip (utforsk)

Stillbilder, videofiler og kildekode for Dreamscape: The Missing Scene: recycler_2020.zip (utforsk)

Bør også bygge med Visual Studio Community i x64-modus, men MPEG-1-filene må konverteres til rå YUV444 med FFmpeg.

Kildekode for Invention, med bugfix: Invention_TG94_2020.zip (utforsk)

Det store bildet

Lisensinformasjon

Ekte Programmering logo av Sjur Julin

Ekte Programmering Norwegian flag
American flag Real Programming
Ignorantus AS