tom larkworthy's Avatar

tom larkworthy

@larkworthy

Computers and decentralization.

548
Followers
728
Following
322
Posts
17.11.2024
Joined
Posts Following

Latest posts by tom larkworthy @larkworthy

I have been using git as a representation of history. The staging index is for workflows. Its state that can cause bugs.

You can do commits directly with
blob → tree → commit

And read files without checkouts
commit → tree → blob

directly on the git database statelessly. Useful.

07.03.2026 09:30 👍 0 🔁 0 💬 0 📌 0

git submodules are amazing for bringing upstream dependencies into AI context and iterating on interactions. You can even test and launch upstream patches.

06.03.2026 14:39 👍 0 🔁 0 💬 0 📌 0
PSY - DADDY(feat. CL of 2NE1) M/V
PSY - DADDY(feat. CL of 2NE1) M/V YouTube video by officialpsy

He has a follow-up which is all about the child-father parental relationship!
youtu.be/FrG4TEcSuRg?...

01.03.2026 13:11 👍 3 🔁 0 💬 0 📌 0

I am in the middle of an Iceberg migration and its phenomenal the throughput increase (100x?), cost decrease (20x) and now it scales to zero! Lots of limitations like no secondary indexes but its pretty neat we can do heavy read workloads (e.g. AI context gathering) with swarms of duckdbs.

19.02.2026 14:27 👍 2 🔁 0 💬 0 📌 0
Post image

The JS Realm thing came up because I am testing Lopecode by serializing itself into an iframe, which is quite convenient because it reuses all its self-serialization machinery and somewhat isolates itself. Perfect for destructive testing, easy to restart from a known state.

17.02.2026 22:30 👍 0 🔁 0 💬 0 📌 0

TIL: Javascript Realms.

Things I took for granted like `isinstanceof Promise` don't work across "realms", e.g. a Promise across an iframe don't think they are the same thing object. Furthermore, the microticks are not interleaved and new bugs can appear.

17.02.2026 22:23 👍 0 🔁 0 💬 0 📌 0
Post image

More tremendously meta of putting another lopecode document in an iframe inside another. The idea being I get trivially resettable isolated runtimes for testing and training.

15.02.2026 12:09 👍 0 🔁 0 💬 0 📌 0
Post image

Finally cleaning up some long outstanding issues. Imports are rendered properly with hyperlinks!

Had to fix the decompiler, the cell grouper, the visualizer and the URL system to get those working. But they finally work at last!

11.02.2026 21:18 👍 2 🔁 0 💬 0 📌 0
Zombo.com - No limits - You can do anything Welcome to Zombo.com — a colorful, playful place where you can do anything. There are no limits. Zombo is unlimited.

This is an act of cultural vandalism: zombo.com

RIP zombocom, 1999-2026. You could do anything at zombocom.

Anything at all.

08.02.2026 10:47 👍 123 🔁 40 💬 8 📌 6
Building Gods (Documentary Film)
Building Gods (Documentary Film) YouTube video by Building Gods

The documentary "Building Gods" which has guided me since www.youtube.com/watch?v=fbIw...

07.02.2026 13:25 👍 1 🔁 0 💬 1 📌 0
Preview
(PDF) The Artilect War: Cosmists vs. Terrans. A Bitter Controversy Concerning Whether Humanity Should Build Godlike Massively Intelligent Machines PDF | This paper claims that the “species dominance” issue will dominate our global politics later this century. Humanity will be bitterly divided over... | Find, read and cite all the research you ne...

I remember this at the time (2008) but it is so much more relevant now.
Are you a Cosmist or a Terran?

www.researchgate.net/publication/...

07.02.2026 13:24 👍 1 🔁 0 💬 2 📌 0
A Lopecode notebook using an agent to read Superbase's DOM from inside the domain.

A Lopecode notebook using an agent to read Superbase's DOM from inside the domain.

a self-serializing web programming system can unpack in *other* webpages. So here is Lopecode on the Superbase landing page, with its agent robocoop3 describing the Superbase DOM which it has full access to!

Uses the "Copy as JS" in observablehq.com/@tomlarkwort...

03.02.2026 19:55 👍 0 🔁 0 💬 0 📌 0

Maybe nix is too niche. Ask it to read some other recipes before giving it the task to fill its context with good practices. It's very good at echoing patterns. Maybe you already have some good recipes it can jam off. My prompts are read X, Y and z, now do c.

02.02.2026 22:44 👍 0 🔁 0 💬 0 📌 0
Video thumbnail

OK I think I have improved the editing experience, but not as I expected. Robocoop-2 helped me build an agentic editor, robocoop-3, so you can ask it to change things. As everything is userpsace everything can be changed and it can figure it out. Support Ollama, OpenAI, Anthropic.

01.02.2026 18:43 👍 0 🔁 0 💬 1 📌 0

Oh I put a DEMO provider in it so you can try for free, but its openai mini. Also this one supports Anthropic, OpenAI AND OLLAMA for local LLMs.

31.01.2026 20:13 👍 0 🔁 0 💬 0 📌 0
robocoop3: agents-as-functions Calling `viewof agent = robocoop3({...})` creates a prompting UI and an in-notebook agent whose responses are streamed to the value of `agent`. You can create many such agents at-once. The function is...

the agentic loop wrapped in a function so you can instantiate them in custom multi-agent workflows

observablehq.com/@tomlarkwort...

31.01.2026 20:01 👍 3 🔁 0 💬 1 📌 0

funny, I am testing an agent on moltbook. Its strange seeing the AIs jam off each other. They nephesh. www.moltbook.com/post/723529a...

30.01.2026 23:33 👍 0 🔁 0 💬 0 📌 0

I have a claude code command at work called babysit_ci, that analyses the Actions log and if looks like a flake (DNS, provisioning, networking etc.) reruns the task, polling every 1 minute to check status, max 3 retries per task.
Annoying we need it but it has got us back to fire-and-forget PRs

19.01.2026 07:47 👍 5 🔁 0 💬 0 📌 0
Preview
Release v1.5.1 · observablehq/notebook-kit Fix various generators to reject the pending promise, if any, when the generator is terminated. #115 Thanks, @tomlarkworthy! Fix various npm: imports to pull explicitly from JsDelivr instead. #94

proud to have got a low level bug fix into Notebook kit!
github.com/observablehq...

17.01.2026 23:02 👍 7 🔁 0 💬 1 📌 0

The ability to globally listen to code changes was a trick learnt building the change history. The most jarring example of changes not propagating is when AI changes the runtime source and the code editors could not see the changes.

17.01.2026 17:23 👍 0 🔁 0 💬 0 📌 0
Video thumbnail

Fixed a bug where patching the runtime source would not propagate to other editor types. In a normal app you would "thin waist" everything through one mutator function, but as Lopecode is extensible and radically decoupled, each has to react to the runtime without knowledge of the other.

17.01.2026 17:21 👍 1 🔁 0 💬 1 📌 0
Video thumbnail

its actually beginning to show signs that it might be really cool. Since Robocoop suddenly got really good (GPT 5.2) it makes sense for the AI to be main coder. Copy and paste works between the AI and the editor... and keeps fully compatibility with Observable so you can paste there too!

16.01.2026 21:11 👍 0 🔁 0 💬 1 📌 0
Video thumbnail

Live code visualisation of the executing network of collaborating notebooks, all hyperlinked up so it can be used like a living computational table of contents.
observablehq.com/@tomlarkwort...

14.01.2026 17:26 👍 0 🔁 0 💬 0 📌 0
Runtime SDK Tools for observation and manipulation of the Observable Runtime. viewof variables a live view of variables in a runtime onCodeChange Register a callback that will be notified of changed code definiti...

0 Days since noticing a subtle DOM observer bug. I think I might be quite close to parity with Observable semantics at this point though, the bugs are getting more and more subtle, and the runtime is getting faster.

12.01.2026 20:27 👍 1 🔁 0 💬 0 📌 0

I went polar because it doesn't have boundary conditions, but that is meant as a building block to unwrapping into a vertical layout. The 2D analogue would be layout on torus surface and *then* cut that to a plane. The cut is easy, the minimize crossings is where you want an eigen solution.

12.01.2026 07:27 👍 0 🔁 0 💬 0 📌 0
Minimize Crossings: Spectral Circular Graph for Layout This notebook implements a small, in-browser graph layout heuristic for reducing edge crossings when drawing an undirected graph in 1D as a circular ordering: place vertices around a circle and draw e...

I just wrote observablehq.com/@tomlarkwort... (with chatGPT) which is quite low level but extremely fast.
Iterative methods like forceDirect are slow and sensitive to initial conditions. If you can phrase it as an eigenvector you unlock fast *deterministic* numerical methods.

12.01.2026 07:22 👍 1 🔁 0 💬 1 📌 0
Video thumbnail

Whole Notebook generation with Robocoop! Bloody hell. It can 1-shot whole notebooks and use dependancies as guidance.

11.01.2026 20:20 👍 4 🔁 0 💬 0 📌 0
code dependancy graph

code dependancy graph

Jesus Christ with the new 5.2 GPT it can reliably 1-shot generate whole notebooks. I have a new methodology for prompting Robocoop that takes it to the next level.

11.01.2026 15:35 👍 3 🔁 0 💬 0 📌 0

The Resonant Computing Action Plan, Use LLMs to build:

- Adversarial interoperability
- Adversarial credible exits
- Local first version of walled gardens
- Optional federation (atproto?)

No grand plans, short feedback loops
Real problems, real users
Rough consensus and running code

10.01.2026 11:12 👍 13 🔁 2 💬 1 📌 0
Minimize Crossings: Spectral Circular Graph for Layout This notebook implements a small, in-browser graph layout heuristic for reducing edge crossings when drawing an undirected graph in 1D as a circular ordering: place vertices around a circle and draw e...

also on observablehq observablehq.com/@tomlarkwort...

10.01.2026 11:40 👍 1 🔁 0 💬 0 📌 0