Paul Butler
Paul Butler
@paulbutler.org
I build jamsocket.com and write digest.browsertech.com
3.6K followers686 following266 posts
Paul Butler reposted
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
Paul Butler reposted
Watch @paulbutler.org talk about CRDTs as a temporal data structure. youtu.be/b4fDzmNE50U?...
Paul Butler reposted
"CRDTs as a temporal data structure" @paulbutler.org gave a brilliant talk, explaining how to use the Yjs CRDT toolkit to store temporal data.
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...
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 Butler reposted
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. ๐
Paul Butler reposted
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!
Nice write up too! The dots came out nicely, Iโm surprised not to see artifacts of the spiral. www.rupertbrooks.ca/SketchyMachi...
Paul Butler reposted
Paul Butler reposted
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
Had a blast hosting MCP Lightning talks SF with Cloudflare! Thanks to everyone who spoke. Doing it again next week in NYC.
Paul Butler reposted
Paul Butler reposted
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...
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
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
It immediately detects some unusual tokens, but can't process them directly. It starts by creating a REPL using a tool I gave it (shameless plug: forevervm.com), and prints the ordinal value of the characters. I've annotated the output it actually saw with the hidden message, "fun in the sun"
TIL Berkshire Hathaway is a trillion dollar Fortune 5 company because Buffet bought it for revenge in 1965. en.m.wikipedia.org/wiki/Berkshi...
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
Paul Butler reposted
This is really clever and fun! @paulbutler.org found a way to hide text 'in' an emoji by hacking the way unicode works. paulbutler.org/2025/smuggli... He also build a tool to encode en decode your own messages. ๐๓ ๓ ๓ ง๓ ๓ ๓ ๓ ๓ ๓ ฉ๓ ๓ ฅ๓ ๓ ๓ ข๓ ๓ ๓ ค๓ ๓ ๓ ๓ ๓ ๓ ๓ ฆ๓ ๓ ข๓ ๓ ๓ ๓ ๓ ๓ ค๓ ๓ ๓ ค๓ ๓ ๓ ๓ ๓ ฅ๓ ข๓ ๓ ๓ ๓ น๓ ๓ ๓ ๓ ๓ ๓ ๓ ๓ ๓ ๓ ฃ๓ ฃ๓ ๓ ๓ ๓ ๓ ๓ ๓ ๓ ๓ ฉ๓ ๓ ฒ๓ ๓ ฅ๓ ๓ ฃ๓ ๓ ฉ๓ ๓ ๓ ๓ ฃ๓ ค๓ ฏ๓ ๓ ป๓ ฅ๓ ๓ ๓ ๓ ฃ๓ ๓ ค๓ ๓ ๓ ฉ๓ ๓ ฅ๓ emoji-encoder.vercel.app?mode=decode
New blog post: smuggling arbitrary data through an emoji paulbutler.org/2025/smuggli...
Two nice updates to foreverVM today thanks to @jakelazaroff.com: - charts! If a Python call returns a matplotlib chart, we render it. - new example buttons on forevervm.com
I finally get to share what we've been up to at @jamsocket.com! We built the code execution abstraction I've always wanted: a REPL that โruns foreverโ, using memory snapshots to hibernate behind the scenes so that it costs almost nothing to preserve state while idle.
Giving an LLM a code sandbox massively increases its capabilities, but managing VM lifecycles is a pain. Introducing foreverVM, a Python REPL-as-a-service. Under the hood, we swap between memory and durable storage. To you (and your agent) it acts like an always-on REPL. See more at forevervm.com
Paul Butler reposted
we've been cooking
Giving an LLM a code sandbox massively increases its capabilities, but managing VM lifecycles is a pain. Introducing foreverVM, a Python REPL-as-a-service. Under the hood, we swap between memory and durable storage. To you (and your agent) it acts like an always-on REPL. See more at forevervm.com