Browsed by
Category: Technical

Database Normalization

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.

Imphobia demoscene magazine

Imphobia demoscene magazine

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.

Reducing tree rendering bandwidth

Reducing tree rendering bandwidth

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.

Zelda’s sound rendering mechanism

Zelda’s sound rendering mechanism

Game audio has come a long way from the days of Pac-man. Those original games could manage some beeps and bloops from a single channel speaker. As time went on, sampled sounds and stereo allowed for more realistic material sounds and music. Then was the introduction of surround sound systems and directional effects.

Like most modern games, The Legend of Zelda: Breath of the Wild relied on a standard library of sound effects blended into the gameplay. But this would not work for The Legend of Zelda: Tears of the Kingdom. It needed a much more complex system to meld sounds together and interact anywhere in the game world. It would simply become to much work to simulate an arrow shot in all the different environments found in the game. Caves need to echo, desert sands absorb sound, and what if the arrow lands in water, or ice, or on stone? Further, all of this must be attenuated based on distance and obstructions so players can tell where things are coming from and how far away they are.

Junya Osada, the lead audio engineer for The Legend of Zelda: Tears of the Kingdom, started sharing the mechanisms of how they achieved this. They use a variety of specialized filters that were attached to informational voxel geometry under the map used to describe the environmental characteristics above it. Those voxels were used for game mechanics – and were co-oped to also help the sound. This environmental information is then combined with the players distance and direction from the sounds using their unique method to create some interesting emergent properties.

The system isn’t a full-fledged sound rendering system that has been explored before, but it’s a very interesting halfway ground from what we have today to such a system. It’s definitely worth a listen (which happens after the equally interesting talk about the physics engine):

(Gamedev link)

Demozoo Demoscene Library

Demozoo Demoscene Library

Crystal Dream

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.

Got an older PC? Update that BIOS

Got an older PC? Update that BIOS

Ars Technica reports that, researchers at security firm Binarly found that Secure Boot is completely compromised on more than 200 older device models sold by Acer, Dell, Gigabyte, HP, Intel, Lenovo, Supermicro and others. The cause: a cryptographic key underpinning Secure Boot on those models that was compromised in 2022.

They found that more than 10% of firmware images had this vulnerability. The cure – update your bios to ones without compromised keys.

We discovered the private component of one Platform Key in a data leak where a suspected ODM employee published the source code containing the PK on a public GitHub repository. The private key was stored in an encrypted file, which was “protected” by a weak 4-character-long password and thus easily guessable with any password-cracking tool.

-Binarly report
Amazon’s Graviton CPU is not just faster, it’s more secure

Amazon’s Graviton CPU is not just faster, it’s more secure

I have written about how Amazon’s Graviton4 CPU is starting to out-perform x86 offerings from Intel and AMD. Now there is yet another front that should worry Intel and AMD: security.

Like many custom chip designs coming from Apple, Google, and Amazon, Graviton4 is an ARM-based architecture. While AMD, Intel, and some other chip designers have struggled with the various forms of Spectre and Meltdown attacks, new designs are defending against them at their hearts.

ARM8.5-A and subsequent security extensions have been slowly and steadily introduced to combat the vulnerabilities found in classic chip designs. These features include things like Branch Target Identification to avoid branch prediction and speculative execution attacks. Memory addresses can be accessed only if they have been marked as valid for that execution prediction. Pointer Authentication adds a cryptographic signature to authenticate memory pointers and prevents data alteration. All data sent across high-speed hardware interfaces such as Graviton memory and AWS Nitro cards is encrypted to prevent man-in-the-middle attacks. All of this is enabled by default for customers that use Amazon Linux 2023.

“Many people told me it was impossible to build a chip that could compete with the x86 CPUs and didn’t use the x86 architecture,” Ali Saidi, senior principal engineer at AWS, said in an interview published by Amazon’s A to Z blog. “But 25 years ago, x86 wasn’t the dominant architecture. The innovation and economies of scale of the PC drove success in other areas like servers. Since it happened before, I knew it could happen again.”

Programming 90’s demoscene effects

Programming 90’s demoscene effects


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.