Newsletter

Gorilla Newsletter 95

The HTML Review 2025 - The Rivulet Esolang - DDA Algorithm Explained - DIY Synths Database - Writing Blog Posts for Devs - Programming an Undo Stack - CSS Gap Decorations Proposal - LLM Agents are simply Graphs

Gorilla Newsletter 95

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

This is the 95th 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

This year features a series of very personal, somewhat esoteric, web experiences that act as direct commentaries on our digital existences on the web, where the storytelling deeply is intertwined with the tech itself. A couple of my favorites this time round:

  • Navigation Queues Navigation Cues doesn't only tell you the history of scrollbars but also comments on the contemporary role that scrolling plays in our lives, how it's no longer an active act of exploration, but rather a way for getting lost.
  • Cavity! tells its story in a non-sequential manner, simply by letting you uncover the individual text nodes, but still conveying a sense of sequence through the graph structure in the background — that I believe you are meant to disentangle.
  • In I want my computer to forget like I do the author downloads their files onto the viewers machine in an irreversible manner — tasking you with holding on to and safekeeping them until they might be needed again in the future. Thank you for the digital burden... 😅

But that's just a few of the works that I personally enjoyed among many others. I highly recommend taking a few moments and checking them out for yourself. Also have a look at the HTML reviews of previous years — I covered the 2024 issue in newsletter #49.

A Fibonacci program in Rivulet

Glyphs can be arranged vertically or horizontally, delineated by a beginning marker in the upper left corner and ending with a at the bottom right — different instructions are then executed as the glyph is traversed.

Four different types of strands specify what instructions should be executed: value strands write numbers into lists, reference strands point to specific cells, action strands that modify these values using arithmetic operations, and paired question strands that test conditions.

So instead of traditional loops or if-statements, every strand in a glyph runs in a set visual order where the layout itself dictates the program’s logic and execution, with conditional branching and rollbacks, creating an interesting maze-like flow.

GitHub - rottytooth/Rivulet
Contribute to rottytooth/Rivulet development by creating an account on GitHub.

If you're interested, check out the official GitHub repo.

Link to Article

While its effect is rather simple to grasp, implementing it can be a bit tricky because it involves quite a bit of math; that's why Joshua Michael wrote this wonderful interactive article about the algorithm showing us all the small mathematical parts that make it work.

The key-takeaway here is that different modalities of interaction that play into our sense can potentially allow for richer ways to manipulate our daily digital playgrounds, and align more with the way our brains function and the ways that we think.

DIY synths database
Curated collection of DIY-friendly hardware synthesizers and related musical equipment you can build on your own. All open source.

Each synth listed links to a project page over on GitHub where you can find the required materials, 3D printables, instructions on how to assemble it, and everything else you might need.

I never built my own synth, but just looking at all of these gorgeous contraptions tickles my brain in a certain way that makes me want to include it here

Link to Toot

Dev & Web Tech

Michael Lynch writes about how to write dev blog posts that actually reach people, and some of the pitfalls to avoid:

How to Write Blog Posts that Developers Read
Software bloggers can make the same mistakes for years that prevent readers from discovering their writing. I know because I’m one of them. Over time, I’ve learned techniques that help some blog posts succeed and the pitfalls that cause others to languish in obscurity.
Link to Article

A simple approach to achieve an undo stack involves storing actions in an array and then keeping track of them with a pointer. Julik points out that keeping track of the pointer is cumbersome, and proposes a more sensible dual-stack method, where undo/redo actions simply migrate between the two arrays.

They write about it in more detail in an explainer on GitHub. For genart purposes I'm actually excited for this one; I recently attempted recreating one of my P5 sketches purely by using HTML and CSS to draw elements — I quickly realized that the positioning is quite cumbersome if you're drawing things simply using a border/fill hack; this could potentially be a solution to that.

War story: the hardest bug I ever debugged
All of a sudden, without any ostensible cause, Google Docs was flooded with errors. How it took me 2 days and a coworker to solve the hardest bug I ever debugged.
Link to Hacker News Item

A little readme over on in the xan docs (a command line tool for processing csv files) reveals itself as a love letter to the format, highlighting its strengths and why its often criticized for the wrong reasons.

xan/docs/LOVE_LETTER.md at master · medialab/xan
The CSV magician. Contribute to medialab/xan development by creating an account on GitHub.

AI Corner

Link to Post

LLMs are great for automating a lot of the tedious/mundane/crappy tasks — like for instance, I'm really happy I don't have to write data parsing python scripts from scratch anymore — now I can just prompt them into existence. Obviously, for anything slightly more complicated, that involves some sort of creative nuance, you'll find that LLMs quickly fall short.

Currently there's an explosion of LLM agnostic frameworks (meaning you can plug in the LLM of your choice) to build these kinds of agents, like Pocket Flow that's advertised through this post. Some weeks ago I played around a bit with LangGraph, but I found it quite overkill for my little experimental projects — glancing over the docs, Pocket Flow seems like a much more accessible alternative. This lovely little tutorial breaks down the basics of it.

LLM Agents are simply Graph — Tutorial For Dummies
Ever wondered how AI agents actually work behind the scenes?

Music for Coding

It's a big shame that this EP is only 15 minutes long — in jazz is for ordinary people, berlioz blends jazzy melodies with deep house grooves in a really seamless manner. Perfect way to start your Monday morning I'd say:

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 94
Procedural Ant Colonies - Bounding Volume Hierarchies - Procedural Cave Systems - 3D Printer for Yarn - Voronoi Sudoku - TypeScript 10x Faster - Writing Exceptional Documentation - Functions in CSS - Design in Tech Report 2025

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 🌸