Welcome back everyone š and a heartfelt thank you to all new subscribers who joined in the past week!
This is the 85th 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 now, 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!
Let's get into the news š
All the Generative Things
1 ā Licia He's Painting with Plotters Course: Licia He's plotter course kicked off mid-December, and the first two modules are now up on the course page! In the first two videos Licia gives an introduction to the world of plotters, going over many of the considerations around using plotters with water color painting, alongside other practical tips for plotting in generalāeven if you don't have a plotter (yet) it's a super insightful watch!
The second video provides more glimpses into Licia's workflow; for instance, she what I found fascinating is that she uses a network of Raspberry Pis to control several plotters at once, while keeping her main computer free for other tasks. Licia also additionally gives a breakdown of her physical setup that uses a magnetic board to fix things in placeāoverall it looks like her course will save you a lot of headaches before you even get started with your plotter journey.
Super cool stuff, excited for the coming modules releasing over the next couple weeks/monthsāwe're looking at around 20 videos! š
2 ā Automating the Search for Artificial Life with Foundation Models: the term "Foundation Model" refers to all forms of large neural networks that can be used across a broad range of different tasksāthink LLMs as well as the powerful text-to-image generators. A new paper from Sakana AI proposes an algorithm titled Automated Search for Artificial Life (ASAL), that basically makes use of a vision-text model to automatically discover new artificial life patterns that present certain interesting behaviors.
Our proposed approach aims to (1) find simulations that produce a specific target behavior, (2) discover simulations that keep generating novelty forever as you run it, and (3) illuminate all the different simulations that are possible.
Their method can somehow magically accomplish this task by simply providing an input text prompt, such as "a self-replicating pattern" for instance, and then automatically discovering a set of rules (within the constraints of the algorithm that it can use) that produces emergent behavior to visually satisfy the given prompt. I will admit that I don't fully understand how the entire algorithm works, but the labeled examples provided in the paper demonstrate that their method is mindbogglingly spot on with the given input prompts:
Whether or not they're cherry picked, this is super impressive. Later on down the page they demonstrate some larger ALife explorations, where multiple instances of cellular automata are first generated within their own small universes (cells in a grid) and then pitted against each other to see which of them will occupy the most space. If you're interested, check out the official paper and the Github repo of the open sourced code.
3 ā Algorithmic Pattern Conference: is a hybrid conference/festival that brings together researchers and practitioners curious about the practice and culture of algorithmic pattern-making. The conference took place for the first time in November 2023 (was about to say last year *slaps on hand*) mainly as an online Salon, with a small gathering in Barcelona.
It's organized by Alex McLean, who you might recognize for being part of the scene with his algorithmic music & live codingāalongside other individuals that make some cool stuff (there's a list on the conference page). If you're interested you'll probably want to sign up to their mailing list to get an update when there's more concrete information about the event.
Apparently, from what the website states right now, it will take place in Sheffield this year, 12-14th September. The page also states that a call for proposals will open this January with a deadline in Mayāit might be worth pitching an idea! I have a hunch that this year's installment will be overtaken by a horde of generative artists š
4 ā Recreating the Comanche Voxel Space Engine: NovaLogic's 1992 Comanche is an iconic simulation game where the player flies military missions in a RAH-66 Comanche attack helicopter over procedural landscapes.
The novelty of Comanche was the gigantic leap in graphics that it achieved in comparison to previous gamesāIt's the first commercial flight simulation based on voxel technology, via the company's proprietary Voxel Space engine (written entirely in assembly). Sebastian Macke recreated this engine and published it as a repo over on his Github with some additional explanations and a breakdown of the voxel raster graphics rendering engine that Novalogic invented at the time
The graphics were breathtaking for the time being and in my opinion 3 years ahead of its time. You see many more details such as textures on mountains and valleys, and for the first time a neat shading and even shadows. Sure, it's pixelated, but all games in those years were pixelated.
Check out Sebastian Macke's simulationcorner.net page for other cool similar retro-recreations! And I also recommend checking out the Hacker News item for Sebastian's repo, there's an interesting discussion around novelty in past and present video games.
5 ā 5 Ways for Drawing 3D Outlines (in Unity): Alexandre Ameye shows us 5 different techniques for drawing 3D object outlines and goes pretty in depth on each one. The article is geared towards creating outline effects in Unity, but the methods are general enough to be applicable in any 3D settingāhence if you've been looking into creating this kind of effect, this is your starting point.
6 ā PI's Evil Twin (the Lemniscate Constant): To cap off this section, John Carlos Baez made a cool in-depth thread over on Mastodon about a strange constant that's related to the infinity curve (the eight curve ā¾ļø). This evil twin of PI has its own associated mutant trigonometric functions and propertiesābut I'll leave it to John's to explain what it's all about, it gets real math-y real quick though.
Genuary 2025 & EOY Gifts
Before we get into some of the other notable finds of the past weekālet's quickly talk about Genuary 2025 that's currently in full swing! It's already been a blast to see all of the cool creations that people are making for the prompts!
Personally I'm really happy that I prepared just a little bit ahead of time, and laid out some potential ideas for each promptāso far I've been able to keep up with the dailies, and I'm happy with the batch of sketches that I've churned out so farāhere's the ones I've made at the time of writing for the first 5 prompts.
As always, I'll put together my personal Genuary recap towards the end of the month where I'll explain what's going on in each one of theseāif you're curious to learn a bit more about all the things that I end up making. If you're interested here's the one from last year:
Now it's already getting a bit tight time-wise; moving forward it'll be about being a bit more pragmatic, going with ideas that aren't too overly ambitious and can be realized in a reasonable amount of time. Might just have to pull something from the trick-bag!
Another notable thing I want to point out here, is that I received a little gift from none other than Julien Gachadoat! We chatted a bit during the Berlin summit, where I learned that he enjoys reading the newsletterāfor the holiday season he was so kind to send over the beautiful black and white plot, here's a pic next to the blue mini plot he handed out in Berlin:
I will definitely have to get a small frame and hang it next to my desk! Thank you again Julien!
As for my EOY recap, it's taking a bit longer to put together this time, since I want to actually reflect a bit on what I've accomplished in 2024 and figure out how to actually best move forward in 2025. Should be ready this coming week though!
With the housekeeping out of the wayālet's get into some other cool stuff I found this week š
Programming Corner
1 ā Peter Naur's Programming as Theory Building: Peter Naurās āProgramming as Theory Buildingā is a seminal paper that challenges the prevailing view of programming as primarily a process of problem-solving or the production of code. Instead, Naur argues that programming is fundamentally an activity of building, evolving, and maintaining a mental theory about a problem domaināessentially a theory that lives in the mind of the programmer.
And this still very much holds true today, in contemporary discussions about technical debt, knowledge management, and the human factors of software development. His emphasis on the human understanding behind code highlights why codebases become hard to maintaināitās not just about the code itself but about the loss of the underlying mental theory when developers leave or stop maintaining it. Also recommend checking out the associated Hacker news discussions that shed some more light on the paper.
Peter Naur was a Danish computer science pioneer and 2005 Turing award winner. He is best remembered as a contributor, with John Backus, to the BackusāNaur form notation used in describing the syntax for most programming languages.
2 ā Designing TinyUrl as an Systems Design Problem: a recent tweet from Grant Slatton caught my attention, not just because it did some numbers, but because it's something I attempted to do earlier in 2024 when I undertook my little forray into Next.js, re-creating a simple (or so I thought) link shortener web app as an exercise. I didn't really get very far, just a simplistic interface, a database to store the input links, as well as a redirect function. Under the apparent simplicity of such an app actually hides quite a bit of depth; how do you design this system at scale?
My general take-away from the discussions in the replies is that the answer to this question is "it depends on the number of users and traffic". Looking into it a bit more out of curiosity I found this in depth article from Sandeep Verma that details outlines the considerations for this kind of service.
Hence, if you have an upcoming job interview for you next system design job, this would be your starting point š
3 ā Understanding B-Trees for Databases: A B-Tree is a type of search tree that holds multiple keys in each node, unlike a binary tree where each node only has two children. In a binary tree, searching can become slow if the tree becomes unbalanced (higher depth than required to hold all the data), but B-Trees keep their height small by splitting and merging nodes as needed.
B-Trees have an inherently more balanced structure making them efficient for handling large datasets, which is why they are widely used in databases and file systems for fast lookups. Ben Congdon explains this in an article of his, walking us through how this would work at scale.
Fun-fact, and if you were curious: the "B" in B-Tree doesn't actually have a universally agreed-upon meaning, but it most commonly stands for Balanced or Bayer, after Rudolf Bayer, who co-invented the structure in 1972.
AI Corner
1 ā The Batch 2024 AI Roundup: It's been a huge year for AI, things have made astronomic leaps since the start of the year, from LLM powered code editors to agentic crypto analystsāit's kind of a pretty crazy time to be alive. The iconic Andrew Ng's provides us with a summary of the interesting developments in 2024 and lets us in on his predictions for 2025.
2 ā Can LLMs write better code if you keep asking them to "write better code"?: you might remember the short-lived AI Slop phase where people used image generators to turn a starting image "more X", for example "make this image of a metal head more metal"āwith it always deteriorating (ascending?) into something cosmic. Max Woolf explores this idea in the setting of LLM generated code, what happens if you keep asking the chat-bot to make the code better?
And that ends up kind of working, until you hit that point of diminishing returns. Naturally the code also becomes bloated beyond recognition. Max then also explores the results with a expertly engineered prompt to guide the LLM, which obviously ends up working much betterāthis latter section is particularly interesting because it provides a couple of explanations of why he designed the prompt in a particular way that I wasn't previously aware of.
Music for Coding
Kenmochi Hidefume's Shakespeare is an absolute masterpieceāand I can confidently say that after just one listen of the 2010 album! Hidefumi is a Japanese musician, songwriter, producer, and DJāhis early work caught the attention of Nujabes who signed him to his label Hyde Out Productions. In 2012, he became a founding member of ę°“ęę„ć®ć«ć³ććć© (Wednesday Campanella) as the songwriter and producer until his departure in 2021 to work on other projects.
You might recognize Wednesday Campanella from their hit song Edison, which I also recommend giving a listen to while you're at it! And that's it from meā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:
You can also find a backlog of all previous issues here:
Cheers, happy coding, and again, hope that you have a fantastic week! See you in the next one!
~ Gorilla Sun šø