Fixing a 30 year old gameboy game's 16 player mode, contraption, Stevens - a hackable AI assistant using Val.town, WebTUI, CSS `mix-blend-mode`, Shadertoys ported to Rust GPU, Ye Olde Blogroll, Erlang's not about lightweight process and message passing.
I’m posting this in June, I have been collecting but not writing, since I’m currently on holiday in the UK I’ve had some time to kill on the train, so here is return of a singular link blog entry, hopefully with more to come.
Zarithya - How I Fixed the Legendary 16-Player Game Boy Game
Quite the watch!
I don’t want to spoil too much of the video by explaining its findings, but its both a interesting historical avant-garde software piece, and a hardware deep dive with some interesting learnings.
This is the more technical half of this video, which I watched in full after Zarithya’s video, another great watch.
@crlglassesdaily - hi guys thoughr you should see this
How my personal projects look like to my family.
There’s a lot of hype these days around patterns for building with AI. Agents, memory, RAG, assistants—so many buzzwords! But the reality is, you don’t need fancy techniques or libraries to build useful personal tools with LLMs.
This is quite a simple but nice usage of an AI chatbot, whats almost just as cool about it though is how simple it is.
Every morning it sends a brief to me and my wife via Telegram, including our calendar schedules for the day, a preview of the weather forecast, any postal mail or packages we’re expected to receive, and any reminders we’ve asked it to keep track of. All written up nice and formally, just like you’d expect from a proper butler.
For one, the primary interface being a Telegram chat between Geoffrey and his wife (I also have a chat between myself and my partner with a bot, for us its a bot I created to find houses in the area we want in our price range, so I can attest this is a good method to make a programming project quickly accessible to yourself and family / friends)
Let’s break down the simple architecture behind Stevens. The whole thing is hosted on Val.town, a lovely platform that offers SQLite storage, HTTP request handling, scheduled cron jobs, and inbound/outbound email: a perfect set of capabilities for this project.
I love Val.town, and not just because Tom works there currently, this is a neat usage of it.
First, how does Stevens know what goes in the morning brief? The key is the butler’s notebook, a log of everything that Stevens knows. There’s an admin view where we can see the notebook contents—let’s peek and see what’s in there:
![]()
Now this is cool, I’ve always thought the idea of ‘memory’ to an LLM was a big black magic, especially with the idea that simply ‘using’ the LLM will make it remember stuff.
I find a random ChatGPT session isn’t something I want to magically be remembered into the system, I don’t see my usage of LLMs needing that sort of ‘storage’ treatment.
But, this extremely transparent sort of ‘notebook’ of memory is nice, mostly because it seems easy to edit / revise, and also access.
The code is open source, but honestly if I did this sort of thing I’d probably just start fresh, but using the same stack as Geoffrey (SQLite + Val.town), seems like a fun LLM project.
WebTUI - a modular CSS library that brings the beauty of Terminal UIs to the browser
This library truly does look like a terminal, well executed.
Holograms, light-leaks and how to build CSS-only shaders - Robb Owen
Get a shiny WebGL look without actually using WebGL. In this article we take a look at how CSS blend modes unleash the potential of cool compositing effects without the need for JavaScript
Robb shows usages of the now well supported mix-blend-mode
.
The light-leak and holographic examples near the bottom are quite neat.
We ported a few popular Shadertoy shaders over to Rust using Rust GPU. The process was straightforward and we want to share some highlights.
This is neat!, but what’s Rust GPU?
Rust GPU is a project that allows you to write code for GPUs using the Rust programming language. GPUs are typically programmed using specialized languages like WGSL, GLSL, MSL, or HLSL. Rust GPU changes this by letting you use Rust to write GPU programs (often called “shaders” or “kernels”).
This is neat, I’m a bit of a Rust gamedev dissident, mostly because of the rigid nature of Rust (which I’m a fan of) fighting the prototypical nature of game creation, but I think I see a place for Rust in building lower level pieces of game development infrastructure, such as being a place you author shaders (even if other aspects of your game are not made using Rust).
Ye Olde Blogroll - Because blogs are the soul of the web
You are viewing a humanly curated list of 746 fine personal & independent blogs and sites that are updated regularly. No algorithms ever!
746 at the time I’m visiting the page, growing ever more.
Obviously I am biased as a blog creator to agree with the statement blogs are the soul of the web.
Stevan - Erlang’s not about lightweight processes and message passing…
I used to think that the big idea of Erlang is its lightweight processes and message passing. Over the last couple of years I’ve realised that there’s a bigger insight to be had, and in this post I’d like to share it with you.
If Erlang was just about this, that would make Go and Erlang, but there is no such thing as Go/OTP, now Go does have a great standard library, but the concept of a gen_server
isn’t core to Go, there are some frameworks built around it that give it some legs, but the language itself makes no assumptions about that sort of structure / deployment.
Stevan goes onto describe other ‘behaviours’ of which gen_server
is one off, and covers Joe Armstrong’s thesis how with all of these pieces, you end up having ‘enough to build reliable distributed systems’.