Welcome back everyone đ and a heartfelt thank you to all new subscribers who joined in the past week!
This is the 78th 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!
That said, hope that you're all having an awesome start into the new week! Here's your weekly roundup đ
All the Generative Things
...and other creatively computational thingamabobs!
Wolfram's Theory of Everything
Might the universe just be one big generative system?
Stephen Wolfram is arguably one of the most influential figures in computational sciences over the past couple of decades. While he's widely known for his entrepreneurial endeavours as the creator of Mathematica and Wolfram Alpha, he's also published quite a bit of influential writing as well. His 2002 magnum opus, A New Kind of Science, is his most ambitious contribution: a 1,200-page book proposing his "theory of everything" that attempts to unify physics under a single computational model. And the book's actually freely available in its entirety over on Wolfram's website:
And Wolfram's theory is quite fascinating: it suggests that the universe operates as one big computational system where space, time, and matter emerge from simple, underlying rulesâmuch like the patterns we see in cellular automata, where basic, deterministic operations can generate remarkably complex patterns. Furthermore, he claims that these rules operate within what he calls a hypergraph structure: a sophisticated network of nodes and connections that evolve according to precise mathematical principles. In this sense, Wolfram proposes that the complex physical phenomena that the universe operates under emerge as computational properties rather than fundamental physical laws. (as far as I understand it)
While the book was a best seller and got significant attention from the public, his ambitious framework faced considerable skepticism from the scientific community. Largely for the speculative nature of it. What didn't help was the book's self-publication, and it not being peer reviewed. Besides that, some also simply didn't like Wolfram, for his bold presentation style, and his sweeping claims that sometimes appeared to downplay the significance of established physics research.
In 2020, Wolfram published a substantial follow-up paper titled "A Class of Models with the Potential to Represent Fundamental Physics." The 448-page work iterates and expands on his original theory, demonstrating that he still holds on to it:
The implications of Wolfram's work extend into philosophical territory. The question of whether the universe's complexity can be reduced to simple computational rules touches on fundamental debates about the nature of physical laws and our ability to comprehend them.
After having been asked for years to provide her perspective on the long running debate, theoretical physicist and science communicator Sabine Hossenfelder finally complied and addressed Wolfram's ideas in one of her YouTube videosâwhich is also why I ended up going down this rabbit hole. In her video, titled "This Theory of Everything Could Actually Work: Wolframâs Hypergraphs", she breaks down Wolfram's idea explains a little what she thinks about it:
Whether there is merit or not to Wolfram's theory, it's a fascinating perspective on the fundamental nature of our universe. And while Wolfram might be a polarizing character for his worldview, it's undeniable that his work continues to spark important discussions in theoretical physics about our understanding of the universe and the potential modii under which it operates.
Flow-Lenia Universes
And while weâre already on the topic of simulating the universe, Iâd like to highlight a post that caught my attention where Flow-Lenia are used in the context of artificial life simulations. In issue #61 of the Newsletter we talked about particle Lenia, where I also briefly brought up Smoothlife, a smooth approximation of Conwayâs game of life, which then later inspired Lenia as a further, smoother generalization of the CAâI did however miss that there was another variant called Flow-Lenia, which we'll get to in just a second.
Last week Pierre-Yves Oudeyer, research director at INRIA, gives us a sneak-peek into a new research project that's being worked on, showcasing a simulation where Lenia are somehow self-assembling into different life-like organisms:
The short trailer immediately reminded me a lot of Christian Heinemannâs A.L.I.E.N. project, which is probably the most elaborate artificial life simulation to-date (this yearâs A-Life virtual creatures competition winner, covered in issue #69 of the newsletter), with the difference however that itâs a particle based simulation. Which is why I find it quite interesting to see Lenia used in this context: one limitation of Lenia is that the emergent patterns are bound by the parameters of the context they exist in, meaning that two different creatures can't coexist in the same environment. So how does this actually work then, are the emergent entities/creatures actually self aware in a stateful manner?
While Pierre-Yves doesnât reveal too much just yet, he points out the previous research that they base their work on, namely last yearâs A-Life best paper award winner, Erwan Plantecâs paper âFlow Lenia: mass conservation for the study of virtual creatures in continuous cellular automataâ which answers my question:
Flow-Lenia is in essence an evolution-focused extension of Lenia. Weâve seen that Lenia are capable of generating life-like, self-organizing patterns resembling artificial life forms, that are however limited to specific constraints, such that different "creatures" cannot emerge or interact within the same environment as I just mentioned.
Flow Lenia addresses this limitation by adding two key features: mass conservation and parameter localization. Iâm not going to claim that I entirely understand how it works, but from what I understood mass conservation is used to ensure that matter is redistributed rather than accumulating indefinitely, which is the restricting mechanism that makes patterns spatially stable, and creates localized forms in a sort of organic manner. Parameter localization then allows for different species to coexist and interact, with each creature being governed by locally adaptive update rules.
These two modifications make it possible to simulate ecosystems with multiple types of entities exhibiting diverse, life-like behaviors. I recommend giving Erwan Plantecâs talk a watch for this:
The paper then also shows that it is possible to evolve creatures with specific behaviors, like moving in straight lines, navigating obstacles, or following a gradient towards a "food" source. In larger simulations, creatures with different parameter sets form diverse interactions, from symbiotic relationships to territorial dynamics. In this manner, by embedding parameters within the cellular dynamics, Flow-Lenia allows for open-ended, intrinsic evolutionary processes without predefined objectives.
In this new exploration, Flow-Lenia are thencombined with autotelic exploration algorithms, which are described as efficient diversity search algorithms. Pierre-Yves also explains them as "curiosity-driven exploration mechanisms" that enable agents to invent and sample their own goals, he talks about in this presentation of his.
The Fascinating History of Cymatics
In other news, Iâve done a ton of research and reading on Cymatics and Chladni patterns this week, primarily due to the current project that the team at fxhash is working onâyou mightâve seen some teasers already over on social media, itâs Erika Weitz and Thomas Noyaâs CYMATIC: Patterns of the Pentatonic that will be presented at the Paris Photo Fair 2024. If you're in Paris at the time you might want to check out the fair, it's essentially one of the most important photography events that happens every year; so it's really cool that generative art makes an appearance there!
While I was looking into the history behind cymatic patterns, I ended up going down a rabbit-hole of trying to figure out how they are implemented algorithmically. And it turned out to be a quite tricky, but after a couple of evenings I did end up figuring it outâyou can see the fruits of my work in the banner of this week's issue. I also made an animated interactive version, of which you can see a teaser here:
I'll still have to work on the behaviour of the particles a bit to make it seem that they're actually physical grains of sand, but we're getting there.
Cymatic patterns arenât just fascinating from a computational point of view, but also due to the rich scientific history behind them. There were actually quite a few that discovered cymatic patterns before Chladni formally described them in his famous 1787 book "Discoveries in the Theory of Sound". Many others then also contributed later on, most notably Hans Jenny who actually coined the term cymatics. Here's a thorough resource that lists all influential characters in that regard:
I encourage you to try and recreate the patterns for yourself, there's a few resources about it onlineâbut it was interesting to figure out that they're kind of a type of SDF. That said, I'm working on a tutorial and I'll have more to share quite soon!
Category Theory Illustrated
To cap of this section of the newsletter this week, I'd like to briefly venture into a topic that's a bit more mathematical at heart, and highlight a book I discovered about Category theory, written by Jencel Panic it's an illustrated and accessible introduction to the topic:
In brief, Category Theory can be described as a branch of mathematics that focuses on the relationships and structures within different mathematical concepts. Instead of studying individual objects, it examines how objects interact through morphisms or arrows, which represent functions or transformations. So you also shouldn't conflate it with set theory, although category theory can be considered a generalization of set theory, as Jencel Panic states at the beginning of the first chapter, that preliminarily introduces set theory.
In this setting, a "category" consists of objects and arrows that follow specific rules, like how arrows can be combined (composed) in a consistent way. This approach allows us to find commonalities across various areas of math by abstracting out details and focusing on the structures and relationships between them, to later better understand and unify different mathematical theories.
We also see category-theory make an appearance in functional programming, where functions are treated as first-class entities, and composition is very similar to morphisms in category theory. Concepts like monads and functors are also inspired by category-theoretic structures. I found a cool 2 part series on this topic back from 2016 by Nikolay Grozev:
Other Cool Generative Things
- I completely forgot to mention it in last weekâs issue, but the BIG Entangled article went out as an fx(text) last week. If you want to learn more about the project, the numerous conversations that Bjorn's initial tweet sparked, and details around the exhibition that happened over in Ghent, you can now read up on it.
- The Art Blocks weekend is making a return, and it's taking place from the 14th to the 17th of November in Marfa.
- Steve, who you might know from the awesome Steve's Makerspace YouTube channel, has been on a personal foray into shader coding. Last week he showcases a cool warp shader applied to his webcame and shares the code for it.
As a little addendum to this first section, I want to talk a little bit about its content; I might have been a bit too ambitious when I started being more serious about the Newsletter, but recently there haven't really been too many new resources about generative art and creative coding in general, and I don't know why that is. Maybe it's just that time of the year where people are most busy? Or maybe it's due to me not having too much time anymore to spend on scouring various social media feeds for interesting thingsâI can only dedicate my weekends for writing these newsletter.
You might've noticed that I've started casting a wider net and featuring a broader spectrum of resources, leaning a bit more into mathematics and science based topics, that might not always be inherently generative, but are still in some way tangentially related. I also don't want to change the title of the section out of the blueâso for now you'll see that little additional subtitle. Maybe you have some thoughts on this? I'd really appreciate any feedback I can get on this, especially from those who've been subscribed for a while: how do you feel about the weekly selection?
Tech & Web Dev
The State of CSS 2024
The State of CSS 2024 survey results were released a few days ago, and there's a ton to unpack! As mentioned in a previous issue of the newsletter, 2024 has arguably been the most exciting year for CSS in a long time; in the foreword to this year's results, Sacha Greiff describes it as the year we'll look back on as the turning point between "CSS Classic" and "New CSS"âand I couldn't agree more. This sentiment is also echoed by Ahmad Shadeed in the concluding statement, who's excited by the possibilities and experimentation that the big amount of newly introduced features open up.
If you just want to explore the results for yourself you can do so here, I also believe that you can still fill out the survey itself to contribute to the statistics:
I really love the granularity of the results: the graphs in the demographic section have additional tabs that offer complementary breakdowns of the same data, and also let you set your own filters, whereas the feature section breaks down each CSS rule in terms of usage, where respondents could indicate if they âused itâ, âheard of itâ, or ânever heard of itâ, and then for each of these responses can additionally indicate their sentiment "postiive", "neutral", or "negative":
Additionally respondent can leave a little comment explaining their answer, which you can view by clicking on the little speech bubble icon. If you're interested in doing some visualization experiments, or compare the results to previous years, the survey also makes available a GraphQL endpoint.
While not the most used feature overall, the :has()
pseudo-class is unsurprisingly the most popular new addition. If you somehow haven't heard of it yet, it allows you to select elements based on their child elements, meaning that it provides a way to target a parent element if it contains a specific child elementâwhich is particularly handy for creating more specific and context-aware styles. For example, you can style a parent element differently if it contains a specific child element.
It's also this year's superstar in terms of discussion; we saw more than a few in depth articles addressing it over the course of the year, hereâs Ahmad Shadeed interactive guide and Josh Comeauâs massive article on it just to name two, but a quick google reveals a ton more. If you want a much more nuanced and expert review of the survey results, you should check out Josh Comeauâs in-depth article:
Josh also points out the new text-wrap: pretty
rule, that I also thought was kind of underrated for what it does. It basically improves the visual appearance of text by preventing single words (orphans) from appearing alone on a new line at the end of a paragraph; it does so by subtly adjusting line breaks and hyphenation making text overall more pleasing to look at.
DIY Solar-Powered & Self-Hosted Website
In an exploration of more environmentally friendly web hosting, Dries Buytaert created a solar-powered setup that allows him to self-host a website on a Raspberry Pi. You can read about the technical details on the solar-powered website itself (with a hosted backup copy available 24/7)ânaturally, on cloudy and rainy days, the website might go offline when the battery powering the raspberry Pi is depleted, so youâll have to check back in after a while. You can also check the status of the battery via a handy dashboard that Dries makes readily available here.
In the write-up, Dries explains that his setup is deliberately larger than needed to handle long periods of low sunlight, which results in unused energy once the battery is full. Dries finds this frustrating as it could be put to better use, helping offset the setupâs costs.
He points out that this problem isnât limited to his personal DIY project, but also highlights a larger issue in web hosting: providers over-allocate resources to ensure uptime, leaving much hardware idle and increasing environmental costs. A solution to this could be that non-critical websites could embrace occasional downtime, reducing hardware needs and making the web more sustainable. For many personal sites, the 99.9% uptime standard actually isnât necessary.
Dries points out the Low-Tech magazine as a solar-powered inspiration to his experiment, that also has some resources on building small solar powered systems if youâre curious about the topic now, among other interesting things.
Final Chapters of CSS Masonry
Maybe a bit of a dramatic headline for this section, but the big CSS Masonry saga seems to be nearing a conclusion (maybe thatâs a bit optimistic however). And we've followed along with the saga in a number of previous issues whenever the discussion picked up again. This week, Jen Simmons updates us on the current state of affairs, informing us that the WebKit engineers at Apple have been hammering out the details in close collaboration with colleagues over at Google and the CSS Working Group (CSSWG):
Jen states that it is in fact possible to integrate Masonry layout with the full power of CSS Grid, and that in an performance efficient manner. Now the remaining debateâwhich is basically kinda the main issue stillâis whether to integrate masonry as a new display type with its own properties or simply add a new value to existing CSS Grid properties.
Jen argues in favor of the latter approach, to create a unified and extensible layout system that is both efficient and user-friendly. Creating a separate display type might appear simpler in isolated examples, but introduces redundancy and complexity in the larger context. She also addresses concerns around the proposed default value for masonry-style layouts, and suggests that it could lead to unexpected and undesirable outcomes.
Other Cool Tech Things
- Joery Sebrecht, whom I featured on last week's Newsletter for his stellar resource on building web components with vanilla tech, published an important follow up post to explain his no-build, no-framework setup for developing vanilla web components.
- Dave Ruperts explains the pros and cons of web components; how they excel in diverse scenarios, like design systems and low-memory projects, but face challenges with Shadow DOM intricacies and limited server-side rendering, making them versatile yet occasionally tricky tools.
- And more content from Josh Comeau, he recently made an update to his modern CSS reset, with the
text-wrap: pretty
rule mentioned earlier!
AI Corner
Claude can now run Code
Anthropic introduces an analysis tool, a new built-in feature that lets write and run JavaScript code! They describe it as a built-in code sandbox, where Claude can do complex math, analyze data, and iterate on different ideas before sharing an answer. You can read more about it in their official announcement here:
I didn't have too much time to play around with it yet, but I'm already impressed, I dropped in a sketch I'm working in P5 and asked if it could run it, and it answered with: "I'll help you create a similar visualization using HTML5 Canvas since p5.js isn't directly available." and it worked like a charm! Maybe that's due to the improved version of Claude 3.5 sonnet though, that boasts even better programming capabilities. They also released an announcement about it here.
You can also drop in a CSV file and it'll automatically create a visualization for youâhere I used the demographics data from the State of CSS 2024 survey:
Infinite Generative Games
Developed by a team of researchers at Google and UNC, Unbounded is a new kind of AI-based game that ditches the typical start-and-finish structure for something much more open-ended; it aims to make all aspects of gameplay feel spontaneousâNataniel Ruiz provides a breakdown in this thread:
The innovative thing about this project, is the consistency of visuals and narrative during play, by using a custom LLM and image generator pipelineâbased off of their results section it seems that their approach works much better when compared related previous works. However, I'm not entirely convinced about the game-play aspect of it, from what I understand it feels like I could also simply chat with a regular LLM prompt interface and pretend that I'm playing a text based game. But maybe I'm missing something? You can read the write-up for yourself here:
This also reminds me of the research project from a few weeks ago, where an interactive generative image model was used to run DOOMâit was also a discussion to really call the model a game engine. The same thing is true here.
I'm not entirely convinced that this is the future of gaming, I'd argue that one of the most enjoyable things about games is the hand-crafted aspect of themâsince there are no set rules, paths, or end goals, it might feel a bit aimless and lack a "sense of achievement". I could equally ask ChatGPT to endlessly generate a bunch of fantasy stories for me, and keep me entertained foreverâbut at some point it's gonna start to feel a bit pointless. That's just my 2 cents however, what do you think?
Music for Coding
Fujii Kaze is a Japanese singer-songwriter and pianist that started gaining significant popularity in 2022 with the viral success of his song "Shinunoga E-Wa" on TikTokâwhile he'd been releasing music since 2019, it was this song that brought him international attention. His music is a laid-back blend of soulful R&B with elements of jazz and pop, often driven by catchy melodiesâI thoroughly enjoyed this Tiny Desk concert of his:
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 the Newsletter, you might as well share it with some of your friends - word of mouth is till one of the best ways to support me! Otherwise come and say hi over on my socials - and since we've got also got a discord now, let me shamelessly plug it again here. Come join and say hi!
If you've read this far, thanks a million! If you're still hungry for more generative art things, you can check out last week's issue of the newsletter here:
And a backlog of all previous issues can be found here:
Cheers, happy coding, and again, hope that you have a fantastic week! See you in the next one!
~ Gorilla Sun đ¸