Peter van Hardenberg retweeted
If you expect me to spend the attention to read it, I expect you to spend the attention to write it.
0
4
41
1,551
Peter van Hardenberg retweeted
I spent some time off reading some papers and thought that I could improve upon what was previously the world's fastest CRDT
Introducing eg-strider: a set of improvements on top of Eg-walker that result in significantly better performance on every measurable axis
q
github.com/jackyzha0/eg-s…
(now featuring exclusive twitter language balls benchmark visualizations)
Introducing eg-strider: a set of improvements on top of Eg-walker that result in significantly better performance on every measurable axis
q
github.com/jackyzha0/eg-s…
(now featuring exclusive twitter language balls benchmark visualizations)
15
24
290
14,093
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/no…
New lab note with @daningalls and @pvh on the optimizations that made Livelymerge 64× faster: inkandswitch.com/livelymerge/no…
1
5
18
975
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/no…
New Livelymerge lab note, with @daningalls and @pvh:
inkandswitch.com/livelymerge/no…
2
8
33
2,766
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/note…
0
2
18
2,024
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
@JadeMasterMath's Coherence Research @mircogiacobbe's Zeroth Research @amar_hh @DavidCorfield8
@mattecapu @martinkl @pvh @disconcision + many more
1
1
18
2,771
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!
🧵 about the programme’s strategic vision + our upcoming funding efforts in cybersecurity + we're hiring!
11
24
233
19,086
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/note…
0
5
37
2,635
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-hRr…
luma.com/home?e=evt-hRr…
0
0
11
1,913
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
👉 👉 @aboodman @zero__ms
👉 @schickling @livestoredev
👉 @anselm_io @jazz_tools
👉 @_adamwiggins_ @inkandswitch
👉 @thruflo @ElectricSQL
👉 @cahofmeyr @powersync_
👉 @b_fiive, @carlsverre, @dittolive and @0xcda7a
Featuring
👉 @angeliquemari @NotionHQ
👉 @arushibandi @figma
👉 @swyx @cognition
👉 @leeb @OpenAI
👉 @threepointone @Cloudflare
👉 @frankmcsherry @MaterializeInc
👉 @kylemathews @ElectricSQL
👉 👉 @aboodman @zero__ms
👉 @schickling @livestoredev
👉 @anselm_io @jazz_tools
👉 @_adamwiggins_ @inkandswitch
👉 @thruflo @ElectricSQL
👉 @cahofmeyr @powersync_
👉 @b_fiive, @carlsverre, @dittolive and @0xcda7a
3
10
24
12,845
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 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...
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 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...
41
12
460
32,659
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.
Z14qKHzCbC
#LocalFirst #Automerge #OfflineFirst #JOTB25 #distributedsystems
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.
Z14qKHzCbC
#LocalFirst #Automerge #OfflineFirst #JOTB25 #distributedsystems
0
2
3
3,011
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 se 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-…
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 se 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-…
27
11
290
15,292
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/malleabl…
0
0
6
1,031
Peter van Hardenberg retweeted
Malleable software: Restoring user agency in a world of locked-down apps
inkandswitch.com/essay/malleabl…
inkandswitch.com/essay/malleabl…
1
24
106
15,232
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 sn't cover this use case.
postgresql.org/docs/current/l…
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/connectin…
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-tri…
Absolute goat move. Impressed.
But what happens when the db schema changes? You want to replicate that change too, and unfortunately PG's logical sn't cover this use case.
postgresql.org/docs/current/l…
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/connectin…
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-tri…
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:
E
supabase.com/blog/event-tri…
1
16
210
14,454
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
1
0
16
1,778




















