Peter van Hardenberg retweeted
We put a live programming system's entire heap inside an Automerge document — every object, class, method shared + persistent. It all worked, but it was sloooow.
New lab note with @daningalls and @pvh on the optimizations that made Livelymerge 64× faster: inkandswitch.com/livelymerge…
Peter van Hardenberg retweeted
We put a program's entire heap inside an Automerge document. Every object is persistent and shared: you and I can live in the same running program — and change it while it runs.
New Livelymerge lab note, with @daningalls and @pvh:
inkandswitch.com/livelymerge…
Peter van Hardenberg retweeted
The 2nd lab note in my series about the local-first task framework I've been working on w/ @pvh is out! Topics include distributed coordination, the router takeover protocol, offline resilience... check it out at inkandswitch.com/patchwork/n…
Peter van Hardenberg retweeted
We've built a truly world-class Creators cohort to do this with, such as @ToposInstitute @hashai @inkandswitch @obsidian_llc
@JadeMasterMath's Coherence Research @mircogiacobbe's Zeroth Research @amar_hh @DavidCorfield8
@mattecapu @martinkl @pvh @disconcision + many more
Peter van Hardenberg retweeted
I’ve recently accepted the Programme Director role at ARIA, taking over from davidad in running the Safeguarded AI programme.
🧵 about the programme’s strategic vision + our upcoming funding efforts in cybersecurity + we're hiring!
Peter van Hardenberg retweeted
I've been working with @pvh on a local-first task framework at @inkandswitch. It distributes computation across users' computers, keeps working while you're offline, and syncs results back to everyone when you reconnect. First lab note is up. inkandswitch.com/patchwork/n…
Ink & Switch is hosting a meetup at the UK's Advanced Research + Invention Agency's offices in a couple of weeks. Come join us?
luma.com/home?e=evt-hRrFHrcS…
Peter van Hardenberg retweeted
Full lineup and schedule for @sync_conf in SF on Nov 12. Link in the 🧵 below 👇
Featuring
👉 @angeliquemari @NotionHQ
👉 @arushibandi @figma
👉 @swyx @cognition
👉 @leeb @OpenAI
👉 @threepointone @Cloudflare
👉 @frankmcsherry @MaterializeInc
👉 @kylemathews @ElectricSQL
👉 @jamesacowling @convex
👉 @aboodman @zero__ms
👉 @schickling @livestoredev
👉 @anselm_io @jazz_tools
👉 @_adamwiggins_ @inkandswitch
👉 @thruflo @ElectricSQL
👉 @cahofmeyr @powersync_
👉 @b_fiive, @carlsverre, @dittolive and @0xcda7a
Peter van Hardenberg retweeted
Life update: last week I wrapped up my time @inkandswitch 🥲
Back in 2019, I remember being intrigued by the work coming out of this mysterious research lab. At the time there was barely even a website! But I could tell they had a big, compelling vision for a more humane kind of computing, and I wanted to be a part of it.
I ended up working with the lab every summer while I did grad school at MIT, and then for a couple more years since finishing my PhD.
During that time we got to explore all kinds of questions related to malleable software. How do you build a new kind of software environment that end-users can tweak on the fly? How do you weave together the best parts of docs and apps? How do you make tools that compose on shared local-first data?
These are huge questions without easy answers, but we always tried our best to share what we found. (See our recent Malleable Software essay for some thoughts on these topics!)
Looking back, two things made this a special experience.
The first is the world-class collaborators. Each person brought a unique genius to every project, and I learned so much. Small teams of people who care are the best.
The second is the unique context and structure of the lab. There aren't many places that are free of the time pressures of companies shipping products, but also free from the peculiar incentives of modern academia. Getting to do the work that we thought mattered, and share it in the ways that we thought would move the needle, was a big challenge and a rare opportunity.
There's a lot more I could say about what makes I&S special, but I'll leave it at that for now. I'm super grateful to everyone at the lab, but especially @pvh for taking a chance on hiring me and for leading the lab through an incredible period of growth. There's so much cool stuff brewing and I can't wait to see where the mission goes from here.
As for what's next: I'll be continuing to pursue the vision of malleable software, but in a different way! More on that soon...
Peter van Hardenberg retweeted
🚨 The CLOSING KEYNOTE from #JOTB25 is here!
In Practical Local-First Software with Automerge, Peter van Hardenberg @pvh explores how shifting logic from server to client can simplify architecture, cut ops pain, and boost offline support.
Bonus: he builds a working app live.
📺 Watch: youtu.be/5nTVTIE15zA?si=_Olu…
#LocalFirst #Automerge #OfflineFirst #JOTB25 #distributedsystems
Peter van Hardenberg retweeted
How did @linear become a Unicorn? Gradually, and then suddenly!
To become a company valued at more that $1 billion was something that felt almost unreachable when we started the company with @karrisaarinen and @jorilallo more than 6 years ago. But through hard work, good timing and a healthy dose of luck, this milestone drew ever closer as we continued working on our mission to make Linear the standard in building software.
Today we’re announcing our Series C, lead by Accel with participation from existing investors 01A and Sequoia among others.
Thank you and congrats to the entire @linear team for building this beautiful piece of software. Thank you to all of our customers for trusting us with their business and to all of our investors for believing in us.
We're just getting started.
-> linear.app/blog/building-our…
What if your software was more than just a sealed box that sometimes did what you want? Super excited to have this piece led by @geoffreylitt out there.
Malleable software: Restoring user agency in a world of locked-down apps
inkandswitch.com/essay/malle…
Peter van Hardenberg retweeted
Malleable software: Restoring user agency in a world of locked-down apps
inkandswitch.com/essay/malle…
Peter van Hardenberg retweeted
Sync engines continuously replicate changes from your database to the client device. On Postgres the common way to do this is with PG's logical replication feature.
But what happens when the db schema changes? You want to replicate that change too, and unfortunately PG's logical replication support doesn't cover this use case.
postgresql.org/docs/current/…
In Zero, we use PG "event triggers" to work around this. We register an event trigger to get fired whenever any schema change occurs, then we send this change over our sync stream to clients. This is simple and efficient.
zero.rocicorp.dev/docs/conne…
Unfortunately, event triggers require superuser access in PG and so have been unavailable in many hosted PG services, like Supabase.
We started talking to the Supabase folks about this early this year and they said they'd work on it, but we were honestly a little dubious. I mean we're tiny and Supabase is big. They probably have other priorities. We put some effort into workarounds that are less efficient but do work (and which you can use on other providers that don't support Event Triggers).
But Supabase really did work on it steadily, sending us updates about once a month. And it took a fair amount of effort – I think the implementation went through two or three revisions to get the security right.
And then, somewhat surprisingly, it shipped!
And what's more, not only did Supabase build this for their own use, they started *upstreaming* the work to Postgres core. So that other vendors (read: their competitors) could make use of it too.
supabase.com/blog/event-trig…
Absolute goat move. Impressed.
Supabase is now fully supported on Zero.
Schema migrations happen automatically and efficiently. Thank you very much to the Supabase team for getting this shipped *and* for starting work to upsteam so other Postgres vendors can benefit.
More information:
zero.rocicorp.dev/docs/conne…
supabase.com/blog/event-trig…
Local-first hack weekend coming up! I'll do an intro to local-first dev, show off some unreleased Ink & Switch work, and maybe release a new version of the React hooks for Automerge that work better with React 19. Come hang out and make stuff! lu.ma/2ul5uwdl
Peter van Hardenberg retweeted
LIVE2024 photos: photos.app.goo.gl/qte9quMmWy…
Peter van Hardenberg retweeted
With PGlite + @ElectricSQL sync you can build an issue tracker handling 100k issues + 500k comments, synced from Postgres to PGlite in the browser!
Super fast UI updates with all writes going though the local database, and Postgres FTS in PGlite for search 🔥
Peter van Hardenberg retweeted
Still one of my favourite things built with Ohm —
Shadama by @yoshikiohshima et al is a live programming environment for particle simulation.
It compiles to GLSL shaders and runs in the browser via WebGL.






















