Newsletter

Gorilla Newsletter 93

Dithering in Colour - The Lost Art of Logarithms - Evolving Shaders with LLMs - Art with Sinusoids - IO Devices & Latency - Whimsical Web Animations - Deceptive Progress Bars - CSS Relative Colors - Understanding Embeddings

Gorilla Newsletter 93

Welcome back everyone 👋 and a heartfelt thank you to all new subscribers who joined in the past week!

This is the 93rd issue of the Gorilla Newsletter—a weekly online publication that sums up everything noteworthy from the past week in generative art, creative coding, tech, and AI.

If it's your first time here, we've also got a Discord server where we nerd out about all sorts of genart and tech things — if you want to connect with other readers of the newsletter, come and say hi: here's an invite link!

That said, cue the news 👇

All the Generative Things

Today, it's become a bit of a lost art, and broadly used for aesthetic and artistic purposes. While dithering is most commonly used in the monochrome setting, this past week Niklas Oberhuber shared a post in which he explains how multi-channel dithering works and some of the pitfalls to avoid while doing so.

Instead of converting an image to grayscale and using a simple threshold, color dithering involves comparing each pixel’s RGB values in a three-dimensional space to find the closest matching color in a chosen palette, then diffusing the quantization error across each channel separately.

A key point is the need to linearise the sRGB input before dithering because the gamma-encoded values do not represent brightness linearly, which can lead to overly bright or inaccurate outputs.

We have just committed a mortal sin of image processing. I didn’t notice it, you might not have noticed either, but colour space enthusiasts will be knocking on your door shortly.

Niklas also mentions a whole bunch of other interesting articles on the topic of dithering that I haven't previously come across, nor shared on the Newsletter:

Ditherpunk — The article I wish I had about monochrome image dithering — surma.dev
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.

To end this first segments, and to share something artful, I saw that Roni Kaufman has recently also been experimenting with color dithering, he made this beautiful dithered rendition of Anna Boch's "Falaise - Côte de Bretagne" — go and drop him a like 👇

Link to Instagram Post

Starting from an initial sample population generated by the LLM, the evolutionary step is guided by a "creative thinking" strategy, that are essentially different kinds of methods for combining and blending samples of the population. These strategies are inspired by the creative approaches from known theorists and creatives.

After a new batch of samples is generated, their similarity to previous samples is computed through an embedding, this provides a measurable score to grade how novel and different generated examples are. The cycle is then repeated until a certain stopping criteria is reached.

Here I'm just providing the big picture, so highly recommend reading through the page for yourself.

Although the final sketches might still not be aesthetically pleasing (imo), the results do seem to indicate that this approach nudges the LLM to explore a greater diversity of examples than it normally would — which is maybe also not so surprising, since we have already established that "step by step" reflection and thinking loops scale LLMs' capabilities to a great extent.

Albeit still a work in progress, the resource currently is and will be freely accessible, with many of the first chapters already filled in:

Although the topic at hand is something profoundly technical, The Lost Art of Logarithms reads surprisingly easy, much like a normal book; at least that was my impression going through the first chapter over the weekend.

Charles writes in a really accessible way that simplifies much of the complexity — it's one of those resources I wish I would have had back in high-school to have more context around the notions we were being taught in math class.

Learn more about the project here

Their work is in part inspired by Masaru Fujii, an artist that doesn't claim to be a generative artist but still leverages trigonometric functions for the purpose of creating mesmerizing algorithmic compositions — I discovered a page where he has actually explained a little bit about his method and how it's simply based on combinations of sinusoids.

Link to Post

Dev & Web Tech

What makes the article really stand out are the many interactive examples throughout that let you play around with the different kinds of storage mediums, demonstrating their inner workings and shortcomings in a tangible manner.

Link to Post

Although the article is directly related to a new product release of Ben Dicken's company, but it's in of itself quite interesting, rather than separating storage from compute like many cloud solutions nowadays do — and in that manner introducing latency — PlanetScale proposes to go back to using storage that’s directly attached to compute using fast NVMe (Non-Volatile Memory Express) SSDs.

Link to Hacker News Item

If you've been wanting to add some character, or easter-eggs, to your own website, this one's for you.

Truth, Lies and Progress Bars
An early encounter with a fabricated progress indicator inspired several more honest alternatives.

This also reminds me of a thread I came across not so long ago — apparently this "perception of progress" is also applicable in a physical setting:

Link to Post
CSS Relative Colors
An interactive guide to learn CSS Relative Colors.
No idea if you'll be able to see it through the screenshot 😅 it's a different shade of red on the right — source: trust me bro

Not sure for what practical purposes this is useful for, if not all displays and/or browsers support the color space at this point, but it's pretty cool that it's possible to squeeze out a bit more color range in that manner!

AI Corner

They are the cornerstone of modern applications of AI, semantic search engines for example, that leverage embeddings to understand query context and retrieve relevant related information; but also recommendation systems, and various other natural language processing applications like sentiment analysis, machine translation, and chatbots.

If you're curious about this, Santiago Valdarrama published a video about how to train your own neural network that can generate image embeddings, from scratch — it's a beefy one but worth the watch:

Nick Craux
hello i’m nick

One key tip Patrick offers, that I haven't tried out yet, is using the .cursorrules or .mdc files to set guidelines for the LLM — clear, minimal rules, seem to work best and overall make the AI generate better code.

Music for Coding

Naxatras is a psychedelic rock band hailing from Greece, and have built a reputation for blending progressive, spacey elements with hard rock, blues, and expansive jam sections. Previously unaware of the band's track record, they seem to be THE big thing in the psychedelic rock space — reading through some reviews online to learn a bit more it seems we've got a very special album at hand:

Naxatras has come before us with what’s effortlessly the year’s biggest release of the genre so far with any bands with any to-be-announced albums having an exceedingly high bar to clear if they hope to top the overwhelming mastery of what’s been pulled off here ~ Head-Banger Reviews

But I'll leave you to savour it for yourself 🤤

And that's a wrap — hope you've enjoyed this week's curated assortment of genart and tech shenanigans!

Now that you find yourself at the end of this Newsletter, consider forwarding it to some of your friends, or sharing it on the world wide webs—more subscribers means that I get more internet points, which in turn allows me to do more internet things!

Otherwise come and say hi over on TwiX, Mastodon, or Bluesky and since we've also got a Discord now, let me shamelessly plug it here again. If you've read this far, thanks a million! And in case you're still hungry for more generative art things, you can check out last week's issue of the newsletter here:

Gorilla Newsletter 92
Logic Circuit Cellular Automata - Generative Plotter Vending Machine - Tweet Coding GLSL Shaders - Distance Test for Bad Art - Indie Web Love Letter - What is TypeScript? - Doom in TypeScripts’s Type System - Bloom Filter Data Structure - In Praise of Off-Screen Menus - Blogging in the Age of AI

You can also find a backlog of all previous issues here:

Newsletter - Gorilla Sun
Weekly recap of Gorilla Articles, Art and other interesting things from the world of generative art and creative coding.

Cheers, happy coding, and again, hope that you have a fantastic week! See you in the next one!

~ Gorilla Sun 🌸