Sign in

Jack Vanlightly

@vanlightly.bsky.social
3.9K followers 111 following 282 posts

Researcher, advisor, writer, formal verification eng @ Confluent. Everything data (dist sys, databases, messaging, data eng/analytics). jack-vanlightly.com, www.hotds.dev Credit: ESO/B. Tafresh

PostsRepliesMedia
Jack Vanlightly @vanlightly.bsky.social · 10/12/2025
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...
jack-vanlightly.com
The Three Durable Function Forms — Jack Vanlightly
Durable execution engines (DEEs) talk about “workflows”, “activities”, “virtual objects”, “handlers”, and “functions”, but they’re often describing the same underlying execution patterns. This post pr...
0130
Jack Vanlightly @vanlightly.bsky.social · 04/12/2025
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...
jack-vanlightly.com
The Durable Function Tree - Part 1 — Jack Vanlightly
In my last post I wrote a bout why and where determinism is needed in durable execution (DE). In this post I'm going to explore how workflows can be formed from trees of durable function calls ba...
0151
Reposted by Jack Vanlightly
Gunnar Morling @gunnarmorling.dev · 25/11/2025
📝 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...
2388
Jack Vanlightly @vanlightly.bsky.social · 24/11/2025
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...
jack-vanlightly.com
Demystifying Determinism in Durable Execution — Jack Vanlightly
Determinism is a key concept to understand when writing code using durable execution frameworks such as Temporal, Restate, DBOS, and Resonate. If you read the docs you see that some parts of your code...
0110
Jack Vanlightly @vanlightly.bsky.social · 19/11/2025
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...
jack-vanlightly.com
Have your Iceberg Cubed, Not Sorted: Meet Qbeast, the OTree Spatial Index — Jack Vanlightly
In today’s post I want to walk through a fascinating indexing technique for data lakehouses which flips the role of the index in open table formats like Apache Iceberg and Delta Lake. We are going to...
150
Jack Vanlightly @vanlightly.bsky.social · 05/11/2025
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...
jack-vanlightly.com
How Would You Like Your Iceberg Sir? Stream or Batch Ordered? — Jack Vanlightly
Today I want to talk about stream analytics, batch analytics and Apache Iceberg. Stream and batch analytics work differently but both can be built on top of Iceberg, but due to their differences there...
0132
Jack Vanlightly @vanlightly.bsky.social · 22/10/2025
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...
jack-vanlightly.com
A Fork in the Road: Deciding Kafka’s Diskless Future — Jack Vanlightly
“ The Kafka community is currently seeing an unprecedented situation with three KIPs ( KIP-1150 , KIP-1176 , KIP-1183) simultaneously addressing the same challenge of high replica...
080
Jack Vanlightly @vanlightly.bsky.social · 15/10/2025
But it Vortex and the other new formats are on my radar
010
Jack Vanlightly @vanlightly.bsky.social · 15/10/2025
I 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.
110
Jack Vanlightly @vanlightly.bsky.social · 15/10/2025
New 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...
jack-vanlightly.com
Why I’m not a fan of zero-copy Apache Kafka-Apache Iceberg — Jack Vanlightly
Over the past few months, I’ve seen a growing number of posts on social media promoting the idea of a “zero-copy” integration between Apache Kafka and Apache Iceberg. The idea is that Kafka topics cou...
1175
Jack Vanlightly @vanlightly.bsky.social · 09/10/2025
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?
000
Jack Vanlightly @vanlightly.bsky.social · 08/10/2025
Why 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...
jack-vanlightly.com
Beyond Indexes: How Open Table Formats Optimize Query Performance — Jack Vanlightly
My career in data started as a SQL Server performance specialist, which meant I was deep into the nuances of indexes, locking and blocking, execution plan analysis and query design. These days I’m mor...
2163
Jack Vanlightly @vanlightly.bsky.social · 02/09/2025
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/...
jack-vanlightly.com
Understanding Apache Fluss — Jack Vanlightly
This is a data system internals blog post. So if you enjoyed my table formats internals blog posts , or writing on Apache Kafka internals or Apache BookKeeper internals , you might enjoy thi...
0162
Jack Vanlightly @vanlightly.bsky.social · 21/08/2025
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/...
jack-vanlightly.com
A Conceptual Model for Storage Unification — Jack Vanlightly
Object storage is taking over more of the data stack, but low-latency systems still need separate hot-data storage. Storage unification is about presenting these heterogeneous storage systems and form...
072
Jack Vanlightly @vanlightly.bsky.social · 28/07/2025
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/...
jack-vanlightly.com
Remediation: What happens after AI goes wrong? — Jack Vanlightly
If you’re following the world of AI right now, no doubt you saw Jason Lemkin’s post on social media reporting how Replit’s AI deleted his production database , despite it being told not to touch an...
020
Jack Vanlightly @vanlightly.bsky.social · 22/07/2025
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.
010
Jack Vanlightly @vanlightly.bsky.social · 22/07/2025
Science 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/...
jack-vanlightly.com
The Cost of Being Wrong — Jack Vanlightly
A recent LinkedIn post by Nick Lebesis caught my attention with this brutal take on the difference between good startup founders and coward startup founders. I recommend you read the entire thing ...
040
Jack Vanlightly @vanlightly.bsky.social · 16/07/2025
But no, I was not offended 😄 Keep on writing it how you see it!
000
Jack Vanlightly @vanlightly.bsky.social · 16/07/2025
He 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).
100
Jack Vanlightly @vanlightly.bsky.social · 16/07/2025
Your 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.
100
Jack Vanlightly @vanlightly.bsky.social · 16/07/2025
I 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.
120
Jack Vanlightly @vanlightly.bsky.social · 15/07/2025
Where 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/...
jack-vanlightly.com
Responsibility Boundaries in the Coordinated Progress model — Jack Vanlightly
Building on my previous work on the Coordinated Progress model, this post examines how reliable triggers not only initiate work but also establish responsibility boundaries . Where a reliable tri...
0145
Jack Vanlightly @vanlightly.bsky.social · 03/07/2025
Next time, I'll agree it's Wednesday 😆
020
Jack Vanlightly @vanlightly.bsky.social · 03/07/2025
ChatGPT 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 🤔
130
Jack Vanlightly @vanlightly.bsky.social · 01/07/2025
Like how to write an if statement or loop in bash 😄 I swear my brain is incapable of remembering that.
370
Jack Vanlightly @vanlightly.bsky.social · 24/06/2025
It 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.
160
Jack Vanlightly @vanlightly.bsky.social · 24/06/2025
ChatGPT 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.
120
Jack Vanlightly @vanlightly.bsky.social · 20/06/2025
At 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.
130
Jack Vanlightly @vanlightly.bsky.social · 13/06/2025
My musical evolution continues, discovered deep hypnotic drone music today. No drugs required 😄 The Hypnus Records label is great.
130
Jack Vanlightly @vanlightly.bsky.social · 12/06/2025
The abstraction seems to make sense to people. And it isn't complicated either which is nice.
000
Jack Vanlightly @vanlightly.bsky.social · 11/06/2025
How to reliably distribute work across microservices, stream processors, durable execution, event-driven, orchestration and now AI agents? Coordinated Progress is a 4 part series that explores the common structure behind reliable distributed systems. jack-vanlightly.com/blog/2025/6/...
jack-vanlightly.com
Coordinated Progress – Part 1 – Seeing the System: The Graph — Jack Vanlightly
At some point, we’ve all sat in an architecture meeting where someone asks, “ Should this be an event? An RPC? A queue? ”, or “ How do we tie this process together across our microservices? Should it ...
3318
Jack Vanlightly @vanlightly.bsky.social · 09/06/2025
I took a break from social media and my blog for a couple of months. ND burnout. But I'm tentatively back, probably just to post my writing here for now. HOTDS is on pause. Getting back to writing is therapeutic though. I'll post something this week that I've been working on.
070
Jack Vanlightly @vanlightly.bsky.social · 09/06/2025
Agree, it's not the Hz but any kind of calming sound like pouring rain, or these slow atmospheric noises is what does it for me. It quietens my brain. In fact, since I discovered this, I haven't listened to music once. I only listen to these calming tracks now.
000
Jack Vanlightly @vanlightly.bsky.social · 04/04/2025
My pleasure 😄
000
Jack Vanlightly @vanlightly.bsky.social · 04/04/2025
Another Humans of the Data Sphere is out, with issue 10! In this issue people are talking fsyncs, tips for running ClickHouse at scale, the problems with MCP and more. Plus I dig up a classic paper from 1962. www.hotds.dev/p/humans-of-...
hotds.dev
Humans of the Data Sphere Issue #10 April 4th 2025
Your biweekly dose of insights, observations, commentary and opinions from interesting people from the world of databases, AI, streaming, distributed systems and the data engineering/analytics space.
154
Jack Vanlightly @vanlightly.bsky.social · 03/04/2025
Just an oversight I guess.
000
Jack Vanlightly @vanlightly.bsky.social · 03/04/2025
kafka.apache.org/blog#apache_...
kafka.apache.org
Apache Kafka
Apache Kafka: A Distributed Streaming Platform.
000
Jack Vanlightly @vanlightly.bsky.social · 03/04/2025
Proud to have contributed formal verification (TLA+) for three key improvements in Kafka 4.0: ✅ KIP-966: Strengthens the replication protocol. ✅ KIP-996: Introduces PreVote for more stable KRaft leadership. ✅ KIP-848: Delivers more efficient, predictable rebalancing.
3161
Jack Vanlightly @vanlightly.bsky.social · 25/03/2025
I just selected the Spotify Gamma Waves 40Hz playlist. Listen to it on good head phones for the immersion.
100
Jack Vanlightly @vanlightly.bsky.social · 25/03/2025
Wow, I just discovered gamma wave music. Wrote non-stop for three hours.
130
Jack Vanlightly @vanlightly.bsky.social · 22/03/2025
You could write a book about this tweet. There is so much value in working on those unsexy unloved parts of a project, and drive real impact that may only be visible later. But it also may never be visible (unfairly). Sometimes, wider priorities might make this work less valuable than other tasks.
000
Jack Vanlightly @vanlightly.bsky.social · 22/03/2025
I think Adam is speaking about his own experience, not making generalizations. We're all different, Adam seems to have learned how to sell his work. But I hear you, I think there are probably more ND people than orgs think and they should learn to leverage ND's skillsets for both to flourish.
000
Jack Vanlightly @vanlightly.bsky.social · 22/03/2025
100%
000
Jack Vanlightly @vanlightly.bsky.social · 22/03/2025
This is where impactful writing can help. If I see an important project that is underfunded, then I can use my writing to influence and gain mindshare. Sometimes people just need help seeing the ROI. It especially helps if you see the bigger picture and can link this project to wider success.
020
Jack Vanlightly @vanlightly.bsky.social · 21/03/2025
Yeah that's exactly what I've learned to do as well.
010
Jack Vanlightly @vanlightly.bsky.social · 21/03/2025
Any Principal Engineers out there with ADHD or creative wiring — who don’t thrive in the tasks of project coordination, alignment meetings, and people management, but thrive on strategy, system design, writing, and shaping direction through ideas? Curious how you navigate the role.
250
Jack Vanlightly @vanlightly.bsky.social · 14/03/2025
Yeah tab groups are the key, if they did nested tab groups, that would be awesome, though dangerous for us tab hoarders 😆
010
Jack Vanlightly @vanlightly.bsky.social · 13/03/2025
A new disaggregated log replication survey post is out. How does the combination of Apache Pulsar with Apache BookKeeper divide and conquer the responsibilities of log replication? jack-vanlightly.com/blog/2025/3/...
jack-vanlightly.com
Log Replication Disaggregation Survey - Apache Pulsar and BookKeeper — Jack Vanlightly
In this latest post of the disaggregated log replication survey, we’re going to look at the Apache BookKeeper Replication Protocol and how it is used by Apache Pulsar to form topic partitions. Raft ...
070
Jack Vanlightly @vanlightly.bsky.social · 13/03/2025
But what if I need them? OMG I'm a tab hoarder!
110
Jack Vanlightly @vanlightly.bsky.social · 13/03/2025
I have 128 GB, and Chrome is using 21 GB, so extrapolating I seem to have quite some runway left. 😂
010