Paul Butler
@paulbutler.org
I build jamsocket.com and write digest.browsertech.com
A #Genuary design becomes a Xmas card. These cards are now on the way to participants of #ptpx25! Thank you @paulbutler.org for organising it! Happy New Year! #ptpx #creativecoding #p5js
Genuary 25: One line that may or may not intersect itself #genuary25 #genuary #genuary2025 #processing #p5js #genartclub #generativeart
6th annual #ptpx by country 🇺🇸 USA — 34 🇩🇪 Germany — 16 🇫🇷 France — 13 🇨🇦 Canada — 5 🇳🇱 Netherlands — 5 🇬🇧 United Kingdom — 3 🇨🇭 Switzerland — 3 🇮🇹 Italy — 3 🇵🇹 Portugal — 2 🇪🇸 Spain — 2 🇦🇹 Austria — 1 🇫🇮 Finland — 1 🇧🇪 Belgium — 1 🇹🇭 Thailand — 1 🇮🇪 Ireland — 1 🇳🇿 New Zealand — 1 🇸🇪 Sweden — 1 🇸🇮 Slovenia — 1
Watch @paulbutler.org talk about CRDTs as a temporal data structure. youtu.be/b4fDzmNE50U?...
Paul Butler - CRDTs as a temporal data structure
It's often useful in applications to have a historic view of data (e.g. "revision history" in GDocs, or the commit log in Git). Storing this efficiently requ...
youtu.be
"CRDTs as a temporal data structure" @paulbutler.org gave a brilliant talk, explaining how to use the Yjs CRDT toolkit to store temporal data.
When I was getting my BMath people would ask “oh, what will you do with that, teach?” and I’m jealous of people taking math now who can come back with “yeah that or pope”.
My pet peeve is when people use “misnomer” in a way that is in itself a misnomer.
Claude Code now supports resuming sessions, which means that session logs (including tool/llm calls) are stored locally. My curiosity got to me, I figured out the format and wrote a CLI tool to dump specific conversations github.com/paulgb/claud...
GitHub - paulgb/claude-viewer: A tiny Rust CLI app to dump the full tool call history of a Claude Code session.
A tiny Rust CLI app to dump the full tool call history of a Claude Code session. - paulgb/claude-viewer
github.com
I replaced all my fancy notetaking tools with a vibecoded bash script called `note` that opens ~/notes/{date}.md in an editor, and it's been great.
Now that it's so easy to create software for personal use, I want a way to have a bunch of personal mini apps in a monorepo and automatically deploys all of them behind basic password auth. Before I build it, does this exist? Ideally something I can self-host on a VPS.
This is a talk I've wanted to give for a while, and I can't think of a better place to give it!
We’re excited to announce that @paulbutler.org co-founder of Jamsocket, will be speaking at Local-First Conf 2025! Paul will explore how CRDTs can act as temporal data structures, enabling features like revision history by delta-encoding changes over time.
Today marks SlateDB’s one year anniversary! It’s been a lot of fun. Thanks to @rohanpd.bsky.social @flaneur2024.bsky.social @almog.ai @vigneshc.bsky.social @paulbutler.org Jason Gustafson, David Moravek, and many others for joining the project. 😀
SlateDB - An embedded storage engine built on object storage | SlateDB
Description will go into a meta tag in <head />
slatedb.io
I met a couple who introduced themselves as engineers but instead of writing JavaScript they drive trains.
markets soar as investors realize that mommy didn't actually disappear, she was just hiding behind her hands
Years in, WebAssembly on the server remains incredibly secure because you still can't do anything with it.
Always nice getting surprise #ptpx mail! Bottom left is @verytiredrobot.bsky.social’s exploration of latent space of a facial autoencoder. Top and right, Daniel Catt’s work using a stamp with a plotter, and a nice photo booklet of the process!
Never ask a barber if you need a haircut or a foundation model company how long your tool call descriptions should be.
Very speculative question for people smarter than me: if we ran 100 replays of humanity from 1955 or so, in many is there a manned moon landing before y2k? Thinking about failure scenarios like a series of failures dampening political support, or global events destroying the necessary conditions.
are there really so many people expensing onlyfans that it needs to be in the autocomplete dropdown 🫣
working on some forevervm experiments for @jamsocket.com… ever wanted your AWS account to diagram your infrastructure for you?
This was fun to host! We’re doing it again in NYC next week, it’s full but I’ve saved a few spots for people building things on MCP ;) lu.ma/mcp-nyc
MCP Lightning Talks NYC · Luma
Anthropic's Model Context Protocol is bridging the gap between agents and applications. Join us for technical talks and hear what people are building with…
lu.ma
Had a blast hosting MCP Lightning talks SF with Cloudflare! Thanks to everyone who spoke. Doing it again next week in NYC.
"Speed" but it's a software update
DO NOT TURN OFF THE BUS
SlateDB 0.5.0 is out! Features: - Checkpoints - Clones - Read only client - Split/merge database foundation - TTL filtering on reads - Last version with breaking byte format changes By the numbers: - 62 commits - 2 new contributors - 10 total contributors github.com/slatedb/slat...
Release v0.5.0 · slatedb/slatedb
What's Changed Refactor Block Tests to Use Table-Driven Test Cases by @samsond in #410 Update await calls in README.md by @criccomini in #425 chore: Apply table driven test for sst.rs by @jeffreyl...
github.com
Thinking of doing a Cursor vs. Windsurf video where I just use Claude Code in the terminal of both, as a bit.
People who primarily don't use Windows, how do you test things on Windows? Thinking of getting a cheap Windows machine, but wondering if there's a cloudy way.
Setting clocks for DST. My microwave clock has AM/PM. How down bad do you need to be to want to know what half-day it is from a microwave?
It seemed impossible to me that Gemini was able to decode a hidden message this fast. I finally had a chance to reconstruct the chain of thought and tool calls from logs and figure out how it did it.
After my post on smuggling arbitrary messages through unicode, some people asked me if AI could decode it. Gemini Flash is pretty fast at it! Have had good luck with Claude too. So far no dice with OpenAI models. This uses block.github.io/goose/ and forevervm.com
Sorry guys, mom says I’m not allowed to vibe code on school nights.