Nerd content and
cringe since 1999
Alexander Grupe

April 2024



DPaint JS

It’s been out for some time now, but watching the timelapse of Steffest’s compo-winning oldschool graphics entry The Old Man and the Muse made me take a closer look at DPaint JS – a modern day re-imagination of DeluxePaint in the browser.

While still in Alpha (according to the version number), a mind-boggling amount of work has been put into it already. It even features a built-in Amiga emulator (via SAE) to preview your artwork in the original DeluxePaint II!

I will need to get more familiar with this tool (having the original DPaint workflow and keyboard shortcuts in muscle memory, encountering the occasional odd circle, needing to grasp how brushes work here), but it already beats Photoshop and DeluxePaint itself for my own puny pixelling needs: Layers! Mousewheel zooming! And right-click colorizing, as God intended! :)

Der liebe Tom von Loco’s Welt Gaming hat mich zu einer Video-Podcast-Folge eingeladen. Wir reden über Teletext, Demoscene- und Amiga-Kram. Außerdem wende ich zielgruppengerecht das Wort an die junge Generation („Checkt es aus!“).

One of the big “whoa!” moments at this year’s Revision was the giant bitmap rotator in the Amiga demo Backslide to Arcanum by Cosmic Orbs. Running smoothly at 50 Hz, effortlessly rotating in full overscan and in 1×1 resolution, moving around the screen, arbitrarily zooming – awesome!

This calls for some poking around in the debugger to see how the sausage is made! Here, the dynamic copperlists are overwritten with a static one, disabling double buffering and Copper updates:

Aha! So, it’s not a full three-way skew, but a combination of vertical skew, horizontal skew, and vertical squeezing. Also, the zoom effect is an artefact of this approach – that didn’t occur to me when I watched the demo live, in awe, so kudos for the presentation!

Of course, that is still scratching the surface, with a lot of clever implementation details to be unearthed: Is the vertical skewing all done by the Blitter? How can it rotate so fast at times, going back and forth? How many buffers are used, and how? Is the dynamic viewport adaption when moving the whole screen a show-off or necessary to keep running at full frame-rate?

Thankfully, Jobbo/Cosmic Orbs provides an excellent technical write-up, answering most of these questions:

The elevator at my company has a reputation for getting stuck from time to time. If I ever get into that situation, I sure hope it won’t happen on the third floor! I would be tearing out my eyes before any technician arrives.

Yeah, yeah, okay – the display is kind of high res, way beyond the scale of pixel-perfect hinting (and a font rarely aligns with perfect 45° angles anyway). But it’s still coarse enough to distinctly display this irritating discontinuity. What kind of monster designs something like that?!

PS: If you like pixel nitpicking, you’ll love this: Hardest Problem in Computer Science: Centering Things

Hmm, is this typographically correct or am I off by a pixel? [sweating noises]

I love the story of how the famous Juggler animation came to be, as recollected by Amiga raytracing pioneer Eric Graham:

[…] I was thinking of adding a room onto my house, and rather than start the work I decided to write a modeling and rendering program. But first I re-implemented the ray tracer. It took about a week to get running, and then another week or two to make a few models and put the compression scheme together. That was November and the Juggler was born.

(source: The Juggler by Ernie Wright)

It’s funny how this lasagna of little detours gave us one of the most iconic showcases of the Amiga’s capabilities. “Let’s build a room! Wait, why not plan it properly, and write a modelling tool? But first, I need to write a raytracer real quick! And for that, design a test scene and animation of course.” :)

Given the story’s punchline:

The room never was added to the house.

…I cannot help but smirk when I imagine Eric G. being asked what he’s hacking up at his computers all the time. “Why, I’m planning that extra room of course, what does it look like I’m doing?!”

I stumbled upon this older article on web standards and web design:

A comprehensive, opinionated and entertaining article, and a special pleasure to read if you’ve been through a similar journey (I sure have). <font> and <center>, table layouts, frames, the terror regime of Internet Explorer, DHTML, and the bumpy road to modern CSS: it’s all there.

It ends with a little catalogue of all the nice things we have now – something I still want to fully catch up with, one day…

Case study: 1996’s’s markup. Image by eevee, see the article

A great read with a cherry on top: In the comments, the very people responsible for some of the milestones of web technologies chime in, casually mentioning things like “Oh, this is my fault” or “Actually, I invented that”!

(via /r/programming; old Hacker news discussion, current)

Ein tolles Hobby in den späten 1990ern, wenn man ein CD-ROM-Laufwerk besaß: Font-CDs sammeln! So viele hippe, futuristische, stylishe Fonts, die man in seine Webdesigns und in die Abizeitung einbauen konnte, es war traumhaft.

Nachteil: Die allermeisten Schriftarten hatten natürlich keine Fett- oder Kursivschnitte, und an exotische Sonderzeichen wie Umlaute oder Akzente haben die Amateur-Schriftologen aus Amerika auch keinen Gedanken verschwendet.

Sprich: Äs, Ös, Üs und Eszetts wurden stümperhaft nachgebaut („hier einfach zwei Pünktchen, passt“), verschämt als „ue“ und „ss“ umgeschrieben oder durch Zeichen aus komplett anderen Schriften ersetzt – das gehörte irgendwann zur ganz bestimmten Ästhetik enthusiastischer DTP-Einsteiger. Mehr coole Schriften = mehr Design! :)

Dank TikTok erlebt dieser Retro-Trend gerade eine Renaissance, und es ist kein Ende abzusehen. Irgendwie schoen und mysteriÖs: Wo findet man heute eigentlich noch Fonts ohne Umlaute? Oder sind die Untertitel-Tools schuld?

I made an entry for the animated JIF GIF palette-based pixel image compo at Revision 2024. Special thanks to Revision host Lynn for trolling everyone when introducing this compo and setting the mood – or was it even trolling? After all, /dʒɪf/ is the correct pronounciation. Anyway, I was laughing hard! :)

It even won a trophy, reaching third place in the compo. w00t!

Some background and making of: Shall we play a game?

previous next close