Gorilla Newsletter 37

This week - Procedural Hydrology by Nicholas McDonald - Stolen Buttons by Anatoly Zenkov - Massive Book recommendation thread by Casey Reas - Understanding Abstract Art by LoneWick - Julian Gachadoat's DiceGL - RevDanCatt's Plotter Shenanigans - 37C3 +++ lots more!

Gorilla Newsletter 37
Generative artwork in the style of Hilma af Klint x Yayoi Kusama | Idea back from Genuary 2023

Welcome back everyone 👋 and a heartfelt thank you to all new subscribers that joined along for the ride in the past week!

This is the 37th 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 - as well as a sprinkle of my own endeavors.

With this issue I'm wishing you all an amazing start into the new year - really can't believe that we're already in 2024! In case you missed it, last week I published a big recap for all my endeavors in 2023 as well as what's in store for the blog in 2024 👇

Gorilla Sun 2023
Aaaaand — CUT! It’s been yet another eventful year, with much generative art, many an article and so many other projects. Here’s a big recap to wrap up a great year, diving into all of the Gorilla endeavors over the course of the year!

That said, let's kick off 2024 with a mixed bag of generative goodies! 🌸

All the Generative Things

The best part about the holiday season is that people have a lot more time to build cool things, we start off with quite a few interesting finds in the genart and creative coding space this time around!

Procedural Hydrology by Nicholas McDonald

A couple of months back I did a deep dive on Nat Sarkissian's Eucalyptus and Sagebrush - a generative artwork that revolves around the creation of stunning stylized landscapes by means of a hydraulic erosion algorithm. That's how I found my way into the interesting world of procedural terrain generation: a huge topic with a lot of research backing it due it's usefulness in several applications, from video games to terrain simulations.

Last week, while browsing the r/generative subreddit I came across a post that peaked my interest in that regard, titled Procedural Hydrology:

Procedural Hydrology: Improvements and Meandering Rivers in Particle-Based Hydraulic Erosion Simulations – Nick’s Blog

Especially since it also mentions the creation of meandering rivers, referring to the natural and organic formations of rivers within a landscape, which is quite a difficult thing to achieve with code - two years ago I've actually looked into it a little, but at the time the task seemed just a little bit over my head so I quickly dropped it again.

Link to Wikipedia Page

McDonald's project finds its beginnings 3 years ago when he released an open source C++ software for the simulation of particle based hydraulic erosion over on github, as well as an accompanying article that explains what the code does - it now stands as one of the most starred repos in that regard:

GitHub - weigert/SimpleHydrology: Procedural Hydrology / River / Lake Simulation
Procedural Hydrology / River / Lake Simulation. Contribute to weigert/SimpleHydrology development by creating an account on GitHub.
Procedural Hydrology: Dynamic Lake and River Simulation – Nick’s Blog

It's mentioned that the first article isn't necessary, and you can directly dive into the newer version.

Algorithmic hydraulic processes essentially try to mimic and simulate the organic erosion processes that occur in nature, where the interaction of water particles with the terrain lead to the formation of ridges and valleys. This is what I covered in my article about Nat Sarkissian's piece:

Nat Sarkissian’s Eucalyptus and Sagebrush
In this post we’ll have a closer look at Nat Sarkissian’s generative FxHash token: Eucalyptus and Sagebrush. The token seamlessly bridges between visually stunning graphics and an intricate terrain generation algorithm. Additionally there’s a lot to learn on simulating brush strokes algorithmically

These hydraulic erosion algorithms come in many shapes and flavors, depending on how complex you want the simulation to be, as there's many different ways to model the interaction between water particles and the terrain. For instance, my article doesn't account for the pooling of water in valleys and makes the assumption that water evaporates over time, whereas McDonalds approach accounts for that and further extends the concept to achieve the formation of rivers. Highly recommend the article if you want to learn more about it and implement such a system for yourself!

Ringing Perlin Noise Effect

I actually spent more time than I'd like to admit on the r/generative subreddit in the past week. Another post that I came across was asking about an interesting pattern seen on the rim of a bowl made by Greg Blanpied:

Link to Reddit Post

One of the comments elaborated that this ring pattern can be achieved with a simple function that modulates the noise field:

Can't be as easy as that now, can it?

Naturally I had to try this for myself and quickly threw together a p5 sketch testing the idea, and... it actually works! Here's what it looks like:

I additionally did a little domain warping (I think that's what it's called) to have alternating brighter and darker rings, which I think looks pretty cool.

I actually did something similar a while back, which was much more inefficient than this approach, by manually threshholding the noise values and assigning colors to them if they fall into a certain range - see image on the right:

Link to Insta post

Stolen Buttons

And yet another cool project that really stood out this week was Anatoly Zenkov's Stolen Buttons - a tool that snatches stylized buttons from websites that Anatoly visits:

You can check out the entire collection of buttons here:

Stolen Buttons
Every website I visit, I steal a button from it. Check out my stash!

Massive Book Thread from Casey Reas

If you're still on vacation and hungry for books about creative coding, generative art and computational design, you should definitely checkout this massive thread by Casey Reas, listing some of the most important books throughout the years in that regard:

Link to Thread

Understanding Abstract Art by LoneWick

Another thing that's recently come to my attention were LoneWick's writings and analyses of abstract and generative art - and I have to say that I've thoroughly enjoyed his perspectives. Especially this post of his in which he elucidates why it isn't actually so difficult to understand abstract art - drawing parallels to music:

Check out the Tweet to read the rest of it.

You don't need to have studied music theory to "understand" music - just like you don't have to have studied cinematography to appreciate a good movie. The same is true for visual art, architecture, and all areas of design that don't have a temporal aspect to them - just like sounds can be harmonious or dissonant, shapes on a canvas can be as well.

I think the big difference here is that music and film are sufficiently powerful emotional vessels that can make you feel things whether you like it or not, whereas with a static artwork, more of an active effort is required for you to understand how it makes you feel.

One artwork that immediately comes to mind here is Kazimir Malevich's Airplane flying, which at first glance is just a bunch of rectangular shapes on a blank canvas - but the more you absorb the artwork, the more it becomes evident that there is a vibrant harmony between the disposition of the shapes on the canvas, making it appear as if the shapes are in motion and we're capturing a singular slice of time before the shapes disappear into the ether.

Datei:Suprematist Composition - Airplane Flying (Malevich ...
Airplan flying 1915

What I'm trying to say here, is that the visual arts present temporality in a different manner than the artforms where it is an inherent part of the medium.

You should check out LoneWick's substack, especially his ongoing series titled Abstract Art Analysis, in which he picks out a select few artworks for each issue, to analyse and evaluate how they draw the observer's eye with their compositions:

Abstract Art Analysis 17: Perspective
‘Hintperflections - Edition #11’ by Paolo Curtoni First impression: I explored the outputs of this collection before reading the description. Most of the pieces have a bold burst of color that quickly catch your eye. Something I really appreciate about all of the mints so far (enough to be representative of the full collection) is how every piece is very unique and complete in composition. I wrote a bit more about that in an

Generative Minis

  1. In Dynamic Existence by Fractal Kitty: you might already know Sophia Wood, aka Fractal Kitty, as the creator of Mathtober - besides being involved in mathematics, she is also a writer, poet, blogger, creative coder and generative artist, creating works that lie at the intersection of. In dynamic existence is a collection of 15 haikus and generative artworks that compliment each other. It's also worth taking a minute to explore her site, containing many more interesting writings and projects.
  2. Chris Ried's Newsletter: aka Generative Collective, has his own Newsletter on Generative Art and Creative Coding related topics - I enjoyed browsing the list of internet content that he's curated, and is definitely something I'll follow more closely in the future. Go and check it out!
  3. Nahuel Gerth's Thought Sandbox: as the name suggests it's a space on Nahuel's website to explore ideas, concepts, reflections and brain farts. I enjoyed the couple of musings that he's published over there already.

Pen & Plottery

DiceGl by Julien Gachadoat

Julien Gachadoat, whom you might already know as a prolific generative artist, specifically for his plotter work, recently shared a video showcasing a super creative way for creating generative art with a plotter - simply by rolling some dice:

0:00
/0:29

Link to Tweet

I'm not entirely certain how it's done, but my hunch is that it makes use of OpenCV, an open source computer vision library, to detect two red dice against a green background. The number of white dots, revealed by the upward facing side of the die, is then counted to inform the plotter what type of tile should be drawn.

What makes this even more special, is that Julien was able to show this to Vera Molnár back in November, collaboratively creating a plotter drawing with her - if you didn't know, Molnár also used dice for her very first computer-less generative systems.

Link to Tweet

If it interests you, I wrote an article about Vera Molnár's early life here:

The Art of Vera Molnar 1947-1974
Vera Molnar is one of the pioneers of what we know today as Generative Art. She was one of the firsts to dare and use computers for the purpose of making art. In this article we have a look at her rich artistic career and how she paved the way for the computer artists of today.

RevDanCatt's Plotter Shenanigans

It's long overdue that I mention RevDanCatt in the newsletter - the man truly frightens me with how much stuff he gets done on such a consistent basis 😂 what's more, is that he's also really good at documenting his work in various formats:

One recent project of his that I thought was really impressive was a pen plotted landscape based off of AI generated scenery:

Link to Thread - thread as in a post on the threads app, not a series of posts over on Twitter... X I mean. You get the Idea.

He also gives us a rough breakdown of the process that converts the AI generated images into a plottable SVGs:

A quick behind the scenes into the process.

Another comment underneath the same post, I found a bit perplexing:

Something made with AI = bad

The comment makes it seem like "AI" did the entirety of the work without any creative or physical effort from RevDanCatt's side, when that is simply not the case. At this point I'm just a little tired of these kinds of absolutist stances that condemn work simply because "AI" was involved somewhere in the pipeline.

On another note, this also makes me think back to one of my favorite creations of his back from 2021, in which RevDanCatt plotted a whole bunch of bees from the Google Quick Draw dataset - which I think turned out really nicely with the bronze pen on a black sheet:

Link to Instagram Post

That said, if you're into all of these creative plotter shenanigans, you should definitely follow RevDanCatt's social media accounts as well as his own newsletter here:

📙 #026 - Art Studio Management as Art
In the last newsletter, I promised not to do a year in review; however, today, I was putting together the script for my final “Weeknotes” video of the year. Reviewing all the previous videos pulled together a handful of threads that’d been trying to get my attention for the last couple of months. From those either I’ve had an incredible epiphany, my mind is deep into coping strategies, or maybe both.

Generative Cross-stitching by Roni Kaufman

Cross-stitching meets generative art with Roni's most recent creation, which I really wanted to include here as well:

Link to Tweet

If you're looking for Genuary 2024 inspirations, you should also follow Roni on his socials to see what he's doing in that regard, where also very generously shares the code to his creations over on Openprocessing:

Link to Tweet

This year Roni chose to play Genuary on hard-mode!

37C3: Chaos Communication Congrees

I recently learned about 37C3, the Chaos Communication Congress through a couple of tweets by Marcel Schwittlick's that linked to some of the interesting talks that were held at the congress. It is an annual four-day conference on technology, society and utopia organised by the Chaos Computer Club (CCC) and addresses a number of interesting contemporary information technology topics.

It does so by taking a critical-creative attitude towards technology, examining the effects of technological advances on society. For instance Joscha Bach gave a talk titled Synthetic Sentience, tackling the prospect of AI gaining conscience from a philosophical point of view:

Another really interesting talk was by Robert Seidel titled Image making fatigue:

The entire website is a treasure trove of information, for instance there's also a really cool demoscene recap for 2023 - it is unfortunately in German without subtitles.

Tech and Code

6 Days Spent on 1 Line of Code

Catching up with the primeagen on youtube, and his explosive manner of reviewing tech articles on stream - you just gotta love that thumbnail as well - this time diving into an article that recounts the story of a singular line of code taking a whopping 6 days to be changed:

Read the article here:

It Takes 6 Days to Change 1 Line of Code
(A true story.) Philip (President): Our factory is underutilized by 10%. Either we start building more of our backlog or we lay people off. I’d rather keep everyone busy, build inventory, and get…

UI Element Design by Aaron Iker

If you're looking to take the design of the buttons on your website to the next level, you should check out Aaron Iker's codepen profile, which is essentially a massive resource for designs of different UI elements:

Link to Aaron Iker's Codepen profile

He also shares CSS tips over on threads:

Link to Thread

The await event horizon in Javascript

Charles Lowell draws a beautiful analogy between black holes and the await keyword in javascript. await is used for the purpose of suspending execution of a function until a Promise resolved. If this Promise is never resolved, the awaiting function will never resume and be stuck in limbo, just like things are trapped in the event horizon of a black hole.

The article highlights the implications of this concept, particularly the potential problems and some approaches for mitigating it. For instance, the importance of proper Promise handling and synchronization strategies, as well as the avoidance of unnecessary deep nesting of await statements to minimize the risk of crossing this event horizon:

The await event horizon in JavaScript
Why async functions in JavaScript are insufficient as a Structured Concurrency primitive

Gorilla Updates

For my very first Genuary creation of 2024 I took inspiration from p1xelfool, whom I've been a big fan of ever since I discovered him in the early HEN days, and attempted a retro-esque pixelated 3D animation:

0:00
/0:10

I've always wondered how he achieved those pixelated aesthetics in combination with 3D animations, and after a proper investigation I managed to find an approach that makes use of an up-scaled graphics buffer in p5. It turned out to be actually quite simple and if there's interest in this I might make a little post about it - let me know! Thinking

Music for Coding

Fittingly for the first prompt of Genuary, we check out a song titled Particle Dreams from the Japanese indie band FujiFabric. They've been going strong ever since they came together in the year 2000 - I also thoroughly enjoyed the animated music video that accompanies the bubbly and poppy sounds of this track:

And that's it from me this very first day of the year, while I'm jamming to this tune, I bid my farewells — hopefully this caught you up a little with the events in the world of generative art, tech and AI throughout the past week.

If you enjoyed it, consider sharing it with your friends, followers and family - more eyeballs/interactions/engagement helps tremendously - it lets the algorithm know that this is good content. If you've read this far, thanks a million!

If you're still hungry for more Generative art things, you can check out the most recent issue of the Newsletter here:

Gorilla Newsletter 36
This week Genuary 2024 Prompts - Occlusion Culling in Video Games - CSS Wrapped 2023 - Digital Diluation by Ana Maria Cabbalero - The Creative Playground by Ralph Ammer - OpenAI Prompting Guide +++ lots more!

Previous issues of the newsletter can be found 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 sketching, and again, hope that you have a great start into the new year! See you in the next one - Gorilla Sun 🌸