Skip to content(if available)orjump to list(if available)

Show HN: An homage to Tom Dowdy's 1991 screensaver, "Kaos"

Show HN: An homage to Tom Dowdy's 1991 screensaver, "Kaos"

19 comments

·February 6, 2025

So, I was about 11 years old and just got my first Mac, a IIsi, and of course everyone had AfterDark, but there was this other screensaver program called "Dark Side of the Mac". And within it was, I think now, the most beautiful screensaver ever written. It was called Kaos.

Kaos would take anywhere from 10 to 30 seconds to slowly iterate on a single image, starting with a few colored dots and growing into webs within webs of algorithmic beauty.

I'm not sure how Tom Dowdy actually wrote the program. What I've done here is to try to reverse engineer how it might have worked, but to animate it at the same time.

Freezing a frame (by clicking) seems to often yield something close to the original. My method is to cycle between 1 and 30 lines, with spaced out pixels, and then iterate the whole buffer to draw fainter and fainter points within a radius from any point that's already lit, while also amplifying the ones that were lit before and shifting their colors slightly at the same time.

Anyway, I did this tonight but I've been thinking about it for weeks, so, I hope someone enjoys it. Cheers!

egypturnash

Your description plus the name makes me suspect the original program was rendering a variety of "hopalong fractals": https://jolinton.co.uk/Mathematics/Hopalong_Fractals/Text.pd...

I miss having a wide selection of screensavers on my Mac. Nobody's writing new ones that properly plug into the system screensaver framework, everything on the App Store is just a little program that wants to run in the background, almost all my old .savers quit working and the ones that do still work have terrible framerates, and the ability to cram a Quicktime composition into the savers directory is long gone. Having some bit of procedural art on my screen was just nice.

fogleman

I just downloaded the screensaver pack mentioned by the OP and there's even another one in the pack called "Hopalong"!

hoherd

FYI I was able to get the original to run in an in-browser Virtual Machine by navigating to https://infinitemac.org/1998/Mac%20OS%208.1, clicking on "Macintosh Garden" at the bottom of the browser window, finding the app, downloading it, decompressing it, installing it, and configuring it.

Also the documentation for the original app was helpful. http://poubelle.com/DarkSideDocs.html

noduerme

Yes! The original does run in emulation. And to be honest, this attempt at cookery doesn't do justice to the beauty of the original. I'm still not sure what the secret sauce was. Maybe something to do with having the initial lines replicate each other rather than begin randomly placed...

Eduard

I can't find "Macintosh Garden".

noduerme

It's possible to run the original Dark Side of the Mac.

Download it here: https://www.themacattic.com/title/5993ca999f7040cc-darkside-...

Then install it on a System 7.0 box at: https://infinitemac.org/

It's a bit twitchy, but it works.

ocal5

Under the screen : )

ocal5

Thanks, that's beautiful to discover.

From : https://www.themacattic.com/apps/8730/downloads2/About_DarkS...

Kaos Kaos draws “cloudlike” pictures in color using an interative fractal algorithm. This fader comes to you thanks to Reinoud Lamberts, and I recommend you check out his excellent “Kaos” program which is available on Usenet and other places. Reinoud was nice enough to send me the algorithm he used, and I took some time speeding it up and making it use a bit less memory – actually the final code isn't related very much to his, but the algorithm is. However, this fader still will only work on machines with 32 bit Color QuickDraw – sorry all of you Plus and Classic owners! Kaos renders its data into an offscreen area, finally moving it onto the screen once the image has darkened enough. Kaos continues darkening the image and displaying it to you until either a timer expires (3 minutes) or an element of the image becomes fully intense. Unless you select otherwise in the settings dialog, you will see a small dot moving from the bottom of the screen to the top – this is a “progress” indicator to let you know how far away the first image will be. It takes about 15 seconds to generate the first picture on a Mac II class machine. This fader needs a good deal of RAM and a large amount of CPU – so this fader isn't a good one to leave running if you are doing background printing, downloads, or compiles at the same time. The current SIZE resource within in the fader provides enough RAM for a standard Apple RGB monitor to be rendered at half resolution. You may lower this value (which will result in a chunkier image) or increase it (which will result in a slightly smoother image) via ResEdit. Those of you with 32 bit displays will find you can actually decrease it a great deal (probably to around 40 or 50 K) because 32 bit displays do not require the large offscreen rendering area that 8 bit displays do.

duxup

Great job!

I don't think it's just nostalgia... but whatever it is I love a lot of the retro / past days of computing UI, UX and graphics. IT feels better than the current state of flat and flashy... everything.

I don't know that the design and look / feel was entirely intentional, or how much was just the limiting factor of experience and computing / libraries available but things feel so much more straightforward and usable at times.

You don't even have to go that far back to get that feel / simplicity: https://cs16.samke.me/

This screensaver looks great and feels like almost everything I would want from a cool screensaver or even just a moment to zen out.

noduerme

Thank you! This has no libraries, it's just pure javascript rewriting a big array of r,g,b,a pixels and posting it up to a canvas as quickly as possible. Very much the way I learned to light up pixels on a TRS-80 ;) Which was actually the easiest way to do something like this.

lovegrenoble

>> simplicity: https://cs16.samke.me

Nice UI, can you add more elements?

noduerme

Hah. Thanks, that's not a UI ;) But I did kind of yak-shave as I did it to make the saver its own loadable class with adjustable inputs. so I'll probably add a few sliders eventually, once I launch my world-dominating screensaver company. Seriously though, I wanted to fine-tune the parameters to look as much like the original as possible, and there are about 6 different factors which go into that, any of which can be off by a few percent and completely change the effect. If there's any demand, I'd be happy to make it adjustable!

boriskourt

It reminds me of a Cloud chamber used to study ionizing radiation. Here is a timestamped video of one I saw recently: https://youtu.be/PVpP9gcnIcE?t=325

dhosek

Cloud chambers are surprisingly simple things. In grade school, following instructions from an old issue of Scientific American, I made one from a couple Mason jars (with assistance from my dad for the glass cutting) for the school science fair.

entropie

This is really nice but for some reason i have horizontal and vertical scrollbars, which clouds the experience especially in fullscreen. (Tested on brave/windows)

https://i.imgur.com/bsdHalB.png

noduerme

Um, probably b/c the viewport doesn't have user-scalable=0 / maximum-scale=1. I don't want to add that at this point, because it's nice to zoom into sometimes.

It does have a manifest.json so you can install it as an app and run it full screen though ;)

hassleblad23

Thats reasonable :)

swayvil

That's a good one. I don't think I saw it in Linux's collection tho. It should be.