Database Normalization
I had forgotten the rules for the levels of database normalization. Not surprising since I last had the class over 20 years ago. Those problem sets immediately came back to me.
I had forgotten the rules for the levels of database normalization. Not surprising since I last had the class over 20 years ago. Those problem sets immediately came back to me.
The 90’s were an amazing time to learn to code. Especially in Europe, hundreds and even thousands of people would gather for weekend-long, round-the-clock caffeine fueled coding sessions to flex their latest graphics programming tricks on Amigas, Commodores, PC’s, and other hardware.
Imphobia was the leading PC demoscene diskmag of the first half of the 1990s. Founded in 1992, it issued until 1996. In that period, 12 issues were released.


Early issues of Imphobia run in DOSBox except issues 6 and beyond where the graphics are not displayed correctly, probably because of the use of an obscure video mode. Nevertheless it’s possible to read the articles. All Imphobia issues are available at scene.org and can be seen at Demozoo.
AMD researchers have published a VRAM-saving technique that leverages procedural generation techniques to eliminate the need for sending the GPU 3D geometry altogether. The GPU utilizes work graphs and mesh nodes to produce 3D-rendered trees on the fly at the LOD (Level of Detail) required for the current frame.
Instead of requiring massive amounts of geometry, the only thing transferred is the code needed to generate the trees in the scene – code that is only a few kilobytes instead of megabytes or even gigabytes.
Read the paper here.

Demozoo.org is a website that is a library of not only old school ’90’s era demo competition submission – but even all the recent ones as well. They have lists of current competitions and news too. An extra feature is many demos have youtube videos of the runs so you don’t have to download the binaries and run them locally.
NCOT Technology has a number of retro-programming videos. Bonus points for using old school DOS Borland C++ to compile the examples.
This gives you an idea of how things were done, but the reality is that demo scene code was a LOT more complex – full of inline assembly, crazy lookup tables, direct framebuffer manipulation, and every programming and hardware trick known to man. You had to be a wizard of not only coding – but expert at tricking the hardware to do what you wanted too.
8086 emulator is a fun Intel 8086 emulator / vm on github. It can run most of the 8086 instruction set and provides an interactive interpreter and debugger that allows you to run programs line by line. [hackaday]

Runevision invented a form of dithering called surface-stable fractal dithering.
He released it as open source along with this video showing how it works:
Find the shader source and example project here: https://github.com/runevision/Dither3D
Abhinav Upadhyay walks us through a wonderful bit of computer history. He talks about how Steve Johnson at AT&T wrote one of the first spell checkers. His method could encode a word in just 14 bits of memory; so a dictionary with 30,000 entries would take up a fraction under 52 kB. This is even better compression than gzip – and it can perform fast lookups.
Once the dictionary grew to 30,000 words, the Bloom filter approach became impractical. Douglas McIlroy’s solution was to store differences between sorted hash codes , after discovering these differences followed a geometric distribution. These followed a distribution that could be easily run length encoded with something called Golomb’s code.
It’s a fantastic examination of applied computer science. Definitely worth a read
Articles:
Plastic 195/95 is a 20mb demo made by a demo team on their picoEngine v2.1b in 2009
Not to be outdone, RGBA 195/95 is the same demo – done in 64k
These were shared in a presentation on lessons learned from Demo Scene coding: