Durable functions have many names across frameworks, but it reduces to 3 forms:
stateless functions, sessions, actors.
Explainer here:
jack-vanlightly.com/blog/2025/12...
@vanlightly.bsky.social
Researcher, advisor, writer, formal verification eng @ Confluent. Everything data (dist sys, databases, messaging, data eng/analytics). https://jack-vanlightly.com, https://www.hotds.dev Credit: ESO/B. Tafresh
Durable functions have many names across frameworks, but it reduces to 3 forms:
stateless functions, sessions, actors.
Explainer here:
jack-vanlightly.com/blog/2025/12...
New post: The Durable Function Tree.
Durable execution engines all end up building some form of function tree with suspension points shaped by local vs remote side effects. I look at why, the trade-offs, and where orchestration should (and shouldn’t) be used.
jack-vanlightly.com/blog/2025/12...
📝 Blogged: "On Idempotency Keys"
Discussing several options for ensuring exactly-once processing in distributed systems using idempotency keys, from UUIDs to monotonically increasing sequences.
👉 www.morling.dev/blog/on-idem...
New blog post: Demystifying Determinism in Durable Execution
Why do durable execution frameworks care so much about determinism? I unpack the underlying mechanics.
Post: jack-vanlightly.com/blog/2025/11...
New blog post about Qbeast and how it brings a multidimensional spatial index to Iceberg/Delta.
🔹 Hypercube-based layout
🔹 Index used by writers, invisible to engines
🔹 Better locality + pruning, adaptive layout
Lots of innovation ahead in lakehouses.
jack-vanlightly.com/blog/2025/11...
Stream-order vs batch-order in Iceberg:
* Flink wants temporal locality.
* Spark wants value locality.
Same table, conflicting physics.
New post: jack-vanlightly.com/blog/2025/11...
Three KIPs (1150, 1176, 1183) all target Kafka’s cross-AZ replication costs but there is a wider question at stake.
My new post explains the KIPs, the trade-offs between reusing old abstractions vs. embracing stateless compute over S3.
jack-vanlightly.com/blog/2025/10...
But it Vortex and the other new formats are on my radar
15.10.2025 15:45 — 👍 1 🔁 0 💬 0 📌 0I don't know much about it, but even faster random reads won't help Kafka if the shared table is organized by some business dimensions rather than by Kafka offset.
15.10.2025 15:44 — 👍 1 🔁 0 💬 1 📌 0New post: why I’m not a fan of “zero-copy” Iceberg tables for Apache Kafka.
From a systems design view, it trades storage savings for coupling and complexity.
Sometimes, duplication is cheaper than coupling.
jack-vanlightly.com/blog/2025/10...
Which will be proprietary platform stuff I assume, so not going into the Iceberg spec? Is there any chance of caching layers also being open and standardised?
09.10.2025 05:34 — 👍 0 🔁 0 💬 0 📌 0Why don’t Iceberg or Delta Lake have secondary indexes?
Because analytics workloads and OLTP workloads optimize for opposite I/O patterns.
See my dive into data layout, pruning, and what “indexing” really means in open table formats: jack-vanlightly.com/blog/2025/10...
New deep dive: Understanding Apache Fluss
I spent August reverse-engineering Fluss, Alibaba’s new table storage engine for Flink (partially forked from Kafka). This post covers its architecture, tiering, and how it tackles changelogs & low-latency state.
jack-vanlightly.com/blog/2025/9/...
New blog post: A Conceptual Model for Storage Unification.
The post defines what storage unification means, defines terminology and evaluates different building blocks and approaches to doing it.
jack-vanlightly.com/blog/2025/8/...
In a future of autonomous AI agents, we can't limit ourselves to error prevention and error detection, we must also include remediation.
jack-vanlightly.com/blog/2025/7/...
Ha! The Blondlot example is fascinating. Sometimes you can fail so spectacularly that they have to invent new math controls just to prevent future people from making a mistake as bad as yours. That's a special kind of immortality.
22.07.2025 17:53 — 👍 1 🔁 0 💬 0 📌 0Science moves slowly because wrong theories waste decades. Engineering is careful because failures kill people. Software moves fast because mistakes are cheap, the expensive error isn't making the wrong choice, it's taking too long to make any choice. jack-vanlightly.com/blog/2025/7/...
22.07.2025 15:08 — 👍 4 🔁 0 💬 0 📌 0But no, I was not offended 😄 Keep on writing it how you see it!
16.07.2025 11:57 — 👍 0 🔁 0 💬 0 📌 0He could easily have framed it in a more positive way. But either way, I don't think it matters too much, your readers are intelligent and can benefit from both, and see the criticism from a more positive angle (picking the bits they like from both).
16.07.2025 11:57 — 👍 0 🔁 0 💬 1 📌 0Your post was valid from that scale. Winston's response took issue with it because he's been thinking very deeply at the macro-scale of power systems that run our entire planet. And I appreciate his views there. But, I think it was an unfair take out and needlessly combative.
16.07.2025 11:57 — 👍 0 🔁 0 💬 1 📌 0I think it's a matter of scale. For me, your post is from the position where you are at day-to-day, your subjective experience, helping run a company, pushing back on some of the BS you see in the industry (which we love!), all inextricably linked to your past.
16.07.2025 11:57 — 👍 2 🔁 0 💬 1 📌 0Where does reliability begin, and where does it end? In distributed business architectures, the answer is responsibility boundaries. New post: jack-vanlightly.com/blog/2025/7/...
15.07.2025 14:15 — 👍 12 🔁 5 💬 0 📌 0Next time, I'll agree it's Wednesday 😆
03.07.2025 20:16 — 👍 2 🔁 0 💬 0 📌 0ChatGPT thought it was Tuesday, so I made fun of it and it admitted it was Wednesday. So I made fun of it again, and it admitted it was...Wednesday. But sure, AI agents are gonna steal my job 🤔
03.07.2025 16:20 — 👍 3 🔁 0 💬 1 📌 0Like how to write an if statement or loop in bash 😄 I swear my brain is incapable of remembering that.
01.07.2025 08:28 — 👍 8 🔁 0 💬 3 📌 1It really makes me question how ready it is for autonomous agents. I'm still on the "I'll believe it when I see it" camp for AI agents.
24.06.2025 18:30 — 👍 6 🔁 0 💬 1 📌 0ChatGPT has hallucinated so many times for me today. It's invented scientific terms that don't exist, has been quite liberal with plausible answers based on what sounds reasonable, but without any real world justification. When challenged, it admits it's mistake.
24.06.2025 18:30 — 👍 2 🔁 0 💬 1 📌 0At this point, I can't tell if coffee makes me feel better in the morning because I am in withdrawal, or it actually picks me up.
20.06.2025 08:48 — 👍 3 🔁 0 💬 1 📌 0My musical evolution continues, discovered deep hypnotic drone music today. No drugs required 😄 The Hypnus Records label is great.
13.06.2025 14:33 — 👍 3 🔁 0 💬 1 📌 0The abstraction seems to make sense to people. And it isn't complicated either which is nice.
12.06.2025 06:21 — 👍 0 🔁 0 💬 0 📌 0