Anselm Eickhoff

Anselm Eickhoff

@anselm.io

Thinking about code & design. Play is the only humane form of work. Founder of @garden.co - creator of Citybound & @jazz.tools

2.5K followers1.6K following339 posts

striking to go to a European conference and visit my hometown and every single old/new acquaintance asks the same first question “wait you want to live in and invest [your time/future] into the US?! Now?!??”

having lived in Russia for 5y+ it’s funny to see the same inability to distinguish visible politics and the government from real life. but it’s still surprising when applied to what should be a much more familiar culture with much more tourist and business exchange

and when I challenge this response at all the reaction isn’t “yeah I guess there are opportunities and possibility of a good life anywhere”, it’s “yeah I guess Europe is fucked, too” just blackpilling and hopelessness everywhere dare to be an optimist!!

you know how the best marketing is saying the exact words your users say when describing your product to friends? this apparently includes the users’ LLMs now: “I’d describe Jazz as a replicated application state machine disguised as a pleasant relational database.” (contd.)

View full thread

I do think we can delegate a lot to it, especially: - durable queues and consumer progress - atomic claims/reservations - idempotency and receipts - reactive wakeups - cross-device inspectors and control surfaces - permissions around who can observe or mutate

It feels novel because most ‘realtime databases’ ask you to build an app around their hosted backend. Jazz makes each participant feel like it has a real local database, then turns synchronization into the substrate.”

you know how the best marketing is saying the exact words your users say when describing your product to friends? this apparently includes the users’ LLMs now: “I’d describe Jazz as a replicated application state machine disguised as a pleasant relational database.” (contd.)

The local-first part is deeper than ‘SQLite with sync.’ Your process talks to a local replica as though it owns the data, while Jazz handles replication, reactive query updates, offline operation, permissions, and much of the consistency machinery.

That collapses several conventional layers at once: database client, API, websocket subscription system, cache invalidation, and a chunk of backend authorization.

Wrapped up @localfirstconf.com in a summery Berlin beer garden yesterday. Always a special crowd to me because it’s where @jazz.tools got born 2 years ago. And where else can you hang out with Martin Kleppmann, Dan Ingalls and people who only use Mistral models at the same place?

Lost a lot of respect for Kelley today. I think it’s simultaneously true that 1) OSS owes you nothing 2) slop is bad 3) devtool maintainers should have service attitude First, you should be very mistrustful of your own “you’re holding it wrong” statements. (contd.)

View full thread

I haven’t seen enough internals to have an opinion on if Bun is slop, has always been slop and if the Rust version still is slop. But even if all of that is true, it’s extremely effective slop that has worked for a large audience and pushed the envelope for the entire ecosystem.

I can’t say the same for Zig. Funnily enough, I admire Zig for its technical choices and innovations. But if Kelley’s ego, weird opinions and narrow worldview are more important than being in the arena and supporting the devs that use(d) it, it’s never going to be relevant.

Lost a lot of respect for Kelley today. I think it’s simultaneously true that 1) OSS owes you nothing 2) slop is bad 3) devtool maintainers should have service attitude First, you should be very mistrustful of your own “you’re holding it wrong” statements. (contd.)

View full thread

Some are defending Kelley with “he’s always been like this” and “his substance is correct and if the tone offends you, you just don’t get him” This reeks of old-guard autism-as-an-excuse toxic software discourse. There’s plenty of brilliant, opinionated devs who aren’t dicks.

The most striking aspect is the repeated attack of Jarred’s trajectory. “Groomed from a young age to uncritically embrace the Silicon Valley mindset” Extremely patronizing thing to say to someone who has found a way to build a beloved devtool, *defying* the VC playbook for years

Lost a lot of respect for Kelley today. I think it’s simultaneously true that 1) OSS owes you nothing 2) slop is bad 3) devtool maintainers should have service attitude First, you should be very mistrustful of your own “you’re holding it wrong” statements. (contd.)

View full thread

The transparent resentment, airing of supposed dirty laundry, and the most personal attack a dev could utter (“your code has always been slop”) is looser energy. “Unprofessional” doesn’t capture it and is beside the point. Abrasive tone is whatever, the substance is hostile!

The reason that this is a bigger problem is that optics matter for devtools and their maintainers. In Rust vs Zig people focus on language features, but the one thing Rust has nailed is having an open, diverse community. As a result it has one of the best ecosystems out there.

Lost a lot of respect for Kelley today. I think it’s simultaneously true that 1) OSS owes you nothing 2) slop is bad 3) devtool maintainers should have service attitude First, you should be very mistrustful of your own “you’re holding it wrong” statements. (contd.)

When someone stops using your stuff, your only reaction should be wanting to understand why. This is often the single biggest chance to learn what you can do better. This is still true if that person/org has been extremely personally annoying to you.

I’ve always felt more European than German, and more “of the Internet” than any real place I’m still a visitor of the USA (working on it), but this is the first place where I truly get to be myself. The first place that I want to help build. Today I’m coming out as American 🇺🇸

TLDR

Anselm Eickhoff@anselm.io

For his master's thesis, @siidorow.dev interviewed me about how @jazz.tools fits into the landscape of sync engines and local-first DBs. Now that it's published (congrats!) I can say that it is *the* most rigorous & precisely categorized overview of our field! PDF: aaltodoc.aalto.fi/server/api/c...

Fable @ high reasoning for hard questions & architecture & review + GPT 5.5 @ low reasoning for smart and fast implementation is an insane combo

View full thread

The whole new math proofs stuff was shocking, but this hits on a very concrete personally relevant level. The number and detail of concepts it has to “hold in its head” and cross-induce over goes far beyond what you could fairly call “just smarter autocomplete”.

Sure, inference is also just next token prediction, but if next token prediction is good enough it *becomes indistinguishable from intelligence*. The mechanism doesn’t matter and I would argue a lot of human/animal intelligence is also rooted in prediction. Thanks for coming to my ted talk

It is better than I am at “mentally simulating” the system based on nothing but the spec and correctly predicting extremely complex, nuanced interactions between features and systems. How do I know it’s correct and complete?

Because it understands stuff that I only know from behavior and invariants observed in real code that it has no access to and that are only extremely indirectly implied by the spec. A lot of the things in there are novel and idiosyncratic designs, too.

LLMs make it easier to both: - write less rigorous software - write more rigorous software than before. Both are valuable. It’s a fatal mistake to be confused about which mode you want to be in.

the way I tell the agent “fix CI” instead of writing provably correct software in the first place Dijkstra would smoke me on sight

Prediction: it’ll be normal to share your agent sessions with your colleagues. At the worst companies this will fuel the most toxic kind of micromanagement and impostor syndrome. At the best companies this will allow unprecedented sharing of implicit know-how + shipping speed.

After almost exclusively using Waymo for months I took a bunch of Ubers again recently (traveling/in a rush) and 70% of the rides sucked. - 3 drivers who do not understand regen breaking or don’t give a shit, resulting in sickening chaos speed changes for no reason (contd)

View full thread

- yapping about some deeply offensive stuff (not politically, actual personal shit) and then interrupting you as you’re trying to politely engage in the conversation - missing turns - forgetting we need to get luggage out of the trunk - the app misestimating pick up by 5+ min

The thing is: this is a small concrete example of many humans simply being bad at their “one job” I think automation will indeed kill certain jobs but I increasingly think it just exposes an existing competence crisis. Then again, Uber was a massive step up from scammy cabs…

After almost exclusively using Waymo for months I took a bunch of Ubers again recently (traveling/in a rush) and 70% of the rides sucked. - 3 drivers who do not understand regen breaking or don’t give a shit, resulting in sickening chaos speed changes for no reason (contd)

- generally obnoxious driving to save time (skipping turning lanes etc) - starts going before you’re buckled up - going half a block past pick up point

Vercel, Cloudflare etc understand this but I think “getting something online and working” can be 10x easier. And it’s interesting what it takes for internal tools to be as easy to deploy.

Eventually, AI will prove “too useful to be hated” to the masses. In the meantime, early adopters can prove two extremely valuable things: 1) having a head start on the skill of working with AI 2) proving independence from prevalent ideology For women, 2) should count x2 x.com/visakanv/st...

Every time someone swears on a different LLM model than me I find out that they have a different style of using it. Coding has always been a craft. Tool choices are famously tribal. But I think we’ll see an even clearer emergence of different “working styles” that people master

Beyond goblins, gpt 5.5 in codex is also just a poetic little quirk chungus. The phrases it invents during debugging make for a great album track list: 1. Chasing vibes in the fog 2. Yesterday’s ghost 3. The elephant in the hallway 4. Sneaky little liar 5. Reluctant morsels (contd.)