Advertisement ยท 728 ร— 90

Posts by Reuben Bond

Post image

Fast CASPaxos - leaderless distributed consensus without logs. It allows any proposer to commit an update to a shared register with a single round-trip while maintaining linearizability.
reubenbond.github.io/posts/fast-c...

1 week ago 6 1 0 0
Post image

Reliable, long-running, interactive agents in the cloud - something I've been working on. You can create durable agent sessions via the SDK, enqueue inputs, stream outputs. Agents grind away until they complete the goals you set. Agents in a workspace share a VFS.

1 month ago 7 1 0 0
F3: The Open-Source Data File Format for the Future
SIGMOD 2025

F3: The Open-Source Data File Format for the Future SIGMOD 2025

Our SIGMOD paper with our friends at Tsinghua + @wesmckinney.com + @pateljm.bsky.social on creating a next generation open-source data file format is out. F3 is a future-proof file format avoids the mistakes of Parquet.
๐Ÿ“„ Paper: db.cs.cmu.edu/papers/2025/...
๐Ÿ“ Code: github.com/future-file-...

6 months ago 70 21 4 5
Post image

Why, hello there! ๐ŸชŸ

Thanks @rbn.bsky.social :D

7 months ago 2 1 0 0

I have an Aer one. You can get decent Tomtoc ones which mimic the designs of popular brands for less $ - unsure in the quality but I imagine they are decent.

7 months ago 3 0 1 0

Async/await was a developer experience regression compared with blocking APIs, but a huge advancement over the APIs it replaced, which were callback based.
I'm optimistic about virtual threads as a best of both worlds, if we can retain the benefits of futures & structured concurrency

8 months ago 7 0 1 0
Post image

Ah, thanks. How much of it is attributable to BEAM itself, I wonder. Using AOT instead of the JIT cuts memory usage in .NET by about half, for ex. IIRC, the numbers below are steady state under load, not startup, but either way

8 months ago 1 0 0 0

Thanks. Perhaps there is still low hanging fruit for elixir/phoenix/BEAM when it comes to reducing startup mem consumption. I'm sure it would still consume more than a Rust app given the nature of the runtimes

8 months ago 0 0 0 0

What is MB RES?

8 months ago 0 0 2 0
Post image

Pat Helland delivered a presentation on this paper: hpts.ws/papers/2024/...

1 year ago 14 4 1 0
Advertisement
Post image

In the last week I probably explained Rateless Set Reconciliation to a dozen other scientists. What an amazing paper and result, and already one year old.

1 year ago 51 6 6 2

It's just a toy / proof-of-concept, really, but it might be useful to refer to.

1 year ago 0 0 0 0
Preview
Reuben Bond - Orleans under the hood (Dotnetos Conference 2021) YouTube video by Dotnetos

Thank you, Jeremy! I gave a presentation about some of the design considerations in the serialization & RPC system: www.youtube.com/live/kgRag4E...

1 year ago 4 0 1 0

All things agents. I'm interested in builder communities rather than per-product servers

1 year ago 1 0 1 0

What's a good discord server for people building things in the AI/LLM space?

1 year ago 7 0 2 0

Committing the first value is safe as-is, but by playing more with this I believe subsequent Fast Rounds require additional safety rules:
1. Proposers only propose updates to known-committed values
2. Acceptors require the value's version (akin to slot number) has increased or values are identical

1 year ago 0 0 1 0

Did he have his onion juice with him or a couple of pocket eggs? If not, he's ngmi

1 year ago 0 0 1 0

gotta max out those T levels somehow

1 year ago 0 0 1 0
Advertisement

Feel free to dm

1 year ago 0 0 0 0

Is there a doc describing it?

1 year ago 0 0 1 0

Link?

1 year ago 0 0 2 0

"nothing more" is a bit too far: CRDTs have limitations on their behavior. You can't implement just anything using CRDTs. Their utility is quite limited and hence they are not widely deployed within datacenter based apps (I know of none, and no one has provided examples yet)

1 year ago 0 0 0 0

It depends on the CRDT, but that's not my area of expertise. The journaled grains use event sourcing (modified for geo distributed environments), and I believe you could implement CRDTs on top fairly easily, but the API also exposes coordination/sync operations for consistency.

1 year ago 0 0 2 0

What I described is not a CRDT. I am talking about ACID database transactions using optimistic concurrency control

1 year ago 0 0 1 0

You can version the data and check for conflicts at commit time, similar to a database transaction with optimistic concurrency control.

1 year ago 0 0 1 0
Advertisement

In the online case you can coordinate changes. In the offline case you cannot: you have divergent data replicas being updated independently. The changes need to be merged eventually and there is ambiguity as to how.

1 year ago 0 0 1 0

That's CRDT territory, but the goalposts just shifted

1 year ago 0 0 1 0

Interesting workshop and a lovely community, would very much recommend!

1 year ago 8 7 1 0

The sources can change but each one is authoritative (eg for fx rates) so you can assign a sequence number to each update which can be used to ensure consistency

1 year ago 0 0 1 0

One way would be to leave the import in a staging area until the user has completed their part of the workflow against a point in time snapshot. There is nothing you can do with a CRDT here which you cannot do without - there's no replication in this scenario

1 year ago 0 0 1 0