Paul Butler
@paulbutler.org
I build jamsocket.com and write digest.browsertech.com
Reposted by Paul Butler
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
June 18, 2025 at 7:02 AM
Watch @paulbutler.org talk about CRDTs as a temporal data structure. youtu.be/b4fDzmNE50U?...
Reposted by Paul Butler
"CRDTs as a temporal data structure"
@paulbutler.org gave a brilliant talk, explaining how to use the Yjs CRDT toolkit to store temporal data.
@paulbutler.org gave a brilliant talk, explaining how to use the Yjs CRDT toolkit to store temporal data.
May 27, 2025 at 1:09 PM
"CRDTs as a temporal data structure"
@paulbutler.org gave a brilliant talk, explaining how to use the Yjs CRDT toolkit to store temporal data.
@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”.
May 11, 2025 at 12:40 AM
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.
May 7, 2025 at 7:52 PM
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
May 1, 2025 at 3:23 PM
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...
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.
April 30, 2025 at 3:38 PM
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.
Before I build it, does this exist? Ideally something I can self-host on a VPS.
April 28, 2025 at 2:44 PM
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.
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.
Paul will explore how CRDTs can act as temporal data structures, enabling features like revision history by delta-encoding changes over time.
April 25, 2025 at 4:10 PM
This is a talk I've wanted to give for a while, and I can't think of a better place to give it!
Reposted by Paul Butler
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
April 22, 2025 at 9:55 PM
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. 😀
I met a couple who introduced themselves as engineers but instead of writing JavaScript they drive trains.
April 14, 2025 at 3:56 PM
I met a couple who introduced themselves as engineers but instead of writing JavaScript they drive trains.
Reposted by Paul Butler
markets soar as investors realize that mommy didn't actually disappear, she was just hiding behind her hands
April 9, 2025 at 6:19 PM
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.
April 7, 2025 at 3:50 PM
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!
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!
April 4, 2025 at 11:43 AM
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!
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.
April 2, 2025 at 6:13 PM
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.
Thinking about failure scenarios like a series of failures dampening political support, or global events destroying the necessary conditions.
April 2, 2025 at 5:31 PM
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.
Thinking about failure scenarios like a series of failures dampening political support, or global events destroying the necessary conditions.
Reposted by Paul Butler
are there really so many people expensing onlyfans that it needs to be in the autocomplete dropdown 🫣
March 25, 2025 at 4:00 PM
are there really so many people expensing onlyfans that it needs to be in the autocomplete dropdown 🫣
Reposted by Paul Butler
working on some forevervm experiments for @jamsocket.com… ever wanted your AWS account to diagram your infrastructure for you?
March 24, 2025 at 9:11 PM
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
March 20, 2025 at 12:05 AM
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
Reposted by Paul Butler
"Speed" but it's a software update
March 18, 2025 at 9:50 AM
"Speed" but it's a software update
Reposted by Paul Butler
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...
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
March 17, 2025 at 5:23 PM
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...
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...
Thinking of doing a Cursor vs. Windsurf video where I just use Claude Code in the terminal of both, as a bit.
March 14, 2025 at 12:33 AM
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.
March 12, 2025 at 10:29 PM
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?
March 11, 2025 at 12:04 AM
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
This uses block.github.io/goose/ and forevervm.com
March 8, 2025 at 11:46 PM
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.
Sorry guys, mom says I’m not allowed to vibe code on school nights.
February 22, 2025 at 8:41 PM
Sorry guys, mom says I’m not allowed to vibe code on school nights.