# squeak — RSS Amplifier

Recent posts from the 3 feeds in the RSS Amplifier directory that cover squeak.

Page: <https://rssamplifier.com/topics/squeak>  
Feed: <https://rssamplifier.com/topics/squeak.md>

---

## [Modelling Actors with Redex: Part III](https://eighty-twenty.org/2026/08/03/redex-iswim-actors-efficient)

_2026-08-03 · tonyg · eighty-twenty news_

This is the third part of a series of three articles on modelling actor-like systems 1 2 using PLT Redex . (The first sketch of this part of the series was written in August 2016, a day after the other two. Ten years later, I’m finally getting around to finishing it off!) Part I: The Functional Fragment: ISWIM in Redex Part II: The Communicating Fragment: Actors in Redex Part III: Efficiency vs.…

## [In Grateful Memory of Vanessa Freudenberg](https://thiscontext.com/2025/10/26/in-grateful-memory-of-vanessa-freudenberg/)

_2025-10-26 · Craig Latta · thisContext_

This is devastating. :( 😔 Vanessa remains a profoundly strong and joyous presence in my life. The memories abound; the first that came to mind was from ESUG in Prague. The joy of discovery, as she and I got her twist on the Squeak virtual machine working for Pharo and Cuis in web browsers, bringing \[…\]

## [livecoding new AI skills with conversational MCP](https://thiscontext.com/2025/09/24/livecoding-new-ai-skills-with-conversational-mcp/)

_2025-09-24 · Craig Latta · thisContext_

The Model Context Protocol gives us a way to extend the skills of an LLM, by associating a local function with natural-language descriptions of what it does, and making that tool available as additional conversational context. Once the model can infer from conversation that a tool should be used, it invokes the tool’s function via \[…\]

## [Catalyst phase four: decompiling the virtual machine simulator to WebAssembly as it runs](https://thiscontext.com/2025/09/10/catalyst-phase-four-decompiling-the-virtual-machine-simulator-to-webassembly-as-it-runs/)

_2025-09-10 · Craig Latta · thisContext_

I’m writing phase four of the Catalyst Smalltalk virtual machine, producing a WASM GC version of the virtual machine from a Smalltalk implementation. WASM GC is statically typed. While I prefer the dynamically-typed livecoding style of Smalltalk, I want the WASM GC representation to be thoroughly idiomatic. This presents an opportunity to revisit the process \[…\]

## [Loading Ian Piumarta's Smalltalk terminal emulator code](https://eighty-twenty.org/2025/09/04/ian-piumarta-smalltalk-terminal-emulator)

_2025-09-04 · tonyg · eighty-twenty news_

Back in 2002/2003, Ian Piumarta wrote an “essentially complete” VT102 terminal emulator for Squeak Smalltalk . 1 Here are his unmodified original changesets, encoded using the MacRoman character set; these do not load directly into current Squeak images as-is: PseudoTTY-3.2-4.st (MacRoman, not loadable) telnet.301.cs (MacRoman, not loadable) The problem is not just that they’re encoded using…

## [AI-assisted just-in-time compilation in Catalyst](https://thiscontext.com/2025/07/22/ai-assisted-just-in-time-compilation-in-catalyst/)

_2025-07-22 · Craig Latta · thisContext_

There’s a long tradition of just-in-time compilation of code in livecoding systems, from McCarthy’s LISP systems in the 1960s, to the dynamic method translation of the Deutsch-Schiffman Smalltalk virtual machine, to the “hotspot” compilers of Self, Strongtalk and Java, to current implementations for JavaScript and WebAssembly in Chrome’s V8 and Firefox’s SpiderMonkey. Rather than interpret \[…\]

## [Catalyst update: a WASM GC Smalltalk virtual machine and object memory are running](https://thiscontext.com/2025/06/29/catalyst-update-a-wasm-gc-squeak-virtual-machine-and-object-memory-are-running/)

_2025-06-28 · Craig Latta · thisContext_

I’ve bootstrapped a Smalltalk virtual machine and object memory as a WebAssembly (WASM) module, using the type system that supports garbage collection there. I have two motivations for doing this: I’d like to see how fast it can run, and I’d like to see how it can interoperate with other WASM modules in diverse settings, \[…\]

## [Strict alternation of data and behaviour in Smalltalk](https://eighty-twenty.org/2025/06/25/smalltalk-strict-alternation)

_2025-06-25 · tonyg · eighty-twenty news_

Smalltalk programs strictly alternate between data and behaviour. Messages (the only kind of data in Smalltalk) are implicit , constructed fresh at each point in the program method call syntax is used, and are shallow , meaning that the slots in each message object always contain references to objects , never other messages. 1 This is in contrast to most other languages with true data, where (for…

## [Multiple Continuations in Pattern Matching](https://eighty-twenty.org/2025/06/25/multiple-continuations)

_2025-06-25 · tonyg · eighty-twenty news_

Usually, method lookup results in a single body to execute. This is analogous to the way pattern matching usually tries patterns in order, selecting just one continuation to execute. What if, instead, we allowed all matching patterns from a bunch of alternatives to execute? (Or, in object-oriented terms: executed all methods potentially matching a given method call.) Pattern alternatives do not…

## [What is a “Fantasy Abstract”?](https://eighty-twenty.org/2025/06/17/fantasy-abstracts)

_2025-06-17 · tonyg · eighty-twenty news_

A fantasy abstract is a short piece of writing in the style of the abstract of an academic paper presenting the outline of a piece of research that has not (yet) been done. It acts as inspiration, as a means of communicating an idea, and as a place to nucleate further thinking on the topic, perhaps eventually kicking off the desired research. It’s something I started doing during my PhD studies to…

## [Refer a Friend, Earn Rewards (Sponsored)](https://crawlproof.com/a/j9iR1YLJxCgt)

_2025-06-17 · **Sponsored**_

Earn rewards when friends get the Graphite Business Card through your referral.

## [a Tethered server-side display](https://thiscontext.com/2025/05/18/a-tethered-server-side-display/)

_2025-05-17 · Craig Latta · thisContext_

Tether is Caffeine‘s remote messaging protocol. It enables messaging between multiple Caffeine systems running in web browsers, other JavaScript runtimes, or native apps, using TCP sockets, Web Sockets, or WebRTC data channels. With the Deno JavaScript runtime, Caffeine can run server-side in a Web Worker thread, with the main thread providing a websocket for Caffeine \[…\]

## [Setting up daemontools to run services for an ordinary user](https://eighty-twenty.org/2025/04/30/daemontools-services-for-a-user)

_2025-04-30 · tonyg · eighty-twenty news_

I always forget how to do this, so I’m writing it here in part as a reminder for myself next time I need to do this. These instructions are for using daemontools and daemontools-run packages on Debian. Create a directory /etc/service/tonyg-services Create a file /etc/service/tonyg-services/run containing #!/bin/sh exec setuidgid tonyg svscan /home/tonyg/services Replace setuidgid with sudo -u if…

## [Linux DRM Dumb Buffers are slow to read, not write](https://eighty-twenty.org/2025/03/06/kms-drm-dumb-buffers)

_2025-03-06 · tonyg · eighty-twenty news_

Small experiments in the use of libliftoff to try out the modern Linux graphics stack drove home quite how slow DRM “dumb buffers” can be, but also that it’s reading that’s slow, not writing . Reading from a “dumb buffer” on my AMD GPU is orders of magnitude slower than reading from RAM. It can take seconds to read out a full 4k frame. It’s roughly a thousand times slower than reading RAM. 1 2…

## [a voice-controlled Ableton Live](https://thiscontext.com/2025/01/05/a-voice-controlled-ableton-live/)

_2025-01-05 · Craig Latta · thisContext_

I’ve gotten up to speed on AI programming, and it didn’t hurt a bit. After learning the OpenAI chat and realtime APIs, I’m able to integrate generative AI text and speech into Caffeine. I got off to a good start by adding the ability to evaluate natural language with the same tools used to evaluate \[…\]

## [Context-Aware AI Conversations in Smalltalk](https://thiscontext.com/2024/12/03/context-aware-ai-conversations-in-smalltalk/)

_2024-12-03 · Craig Latta · thisContext_

I’ve been stumbling toward a “good enough” understanding of Smalltalk by an AI large language model, and Smalltalk tools for integrating conversations into the workflow. So far, I’ve been doing this through model fine-tuning with English system prompts, without resorting to code at all. I’ve been impressed with the results. It seems the pre-training that \[…\]

## [Hot code reloading in Erlang without using an OTP release](https://eighty-twenty.org/2024/10/02/hot-reloading-in-erlang)

_2024-10-02 · tonyg · eighty-twenty news_

“ Erlang supports change of code in a running system. ” However, the details are a bit fiddly. Here’s a cheat-sheet I used recently for a simple TCP service written using Erlang. My program was a single module, running outside of any OTP application context. The instructions here need minor emendation to either explicitly list modules to purge and reload or to discover all modules within a single…

