Friday, 30 October 2026

19 entries · final
Concept of the day · architecture

Saga Pattern

No distributed transaction: a sequence of local commits, each with a compensating undo.

The mechanism. A business operation that spans services cannot hold one ACID transaction across them. A saga splits it into local transactions, each committing in its own service, plus a compensating transaction for each step that semantically undoes it. If step four fails, you run the compensations for three, two and one, in reverse.

Two shapes. Orchestration: a coordinator tells each service what to do and tracks progress. Easy to reason about and to observe, but the coordinator is a dependency and can become a god object. Choreography: each service listens for events and reacts. No central component, but the flow exists only as an emergent property of the subscriptions, which makes "what happens when a user checks out" unanswerable without reading six repos.

What you give up. Atomicity across the whole operation, and isolation entirely. Intermediate states are visible: an order exists while payment is still pending. You must design for that — status fields, semantic locks, a "pending" state the UI understands. Compensations are semantic, not rollbacks: you cannot un-send an email, so you send an apology; you cannot un-ship a parcel, so you issue a return label.

Why it is harder than it looks. Compensations can fail, so they must be retryable and therefore idempotent. Steps can be interleaved with other sagas on the same data. And the "can this compensation always succeed?" question has an uncomfortable answer for anything involving the physical world or a third party.

Takeaway. Reach for a saga when a single transaction truly cannot span the boundary. If the services share a database, use a transaction. Most sagas in the wild are a distributed solution to a self-inflicted distribution problem.

0 of 19 read

Top Reads

5

Articles and engineering write-ups worth the full read.

Qwenputer: a fully functioning, deterministic RISC-V CPU inside Qwen3.5

divagr.com·Lobsters +1·682 points / 145 comments·2 sourcesaithread →

Patrick Stewart Has Died

https://archive.ph/y4Egm https://en.wikipedia.org/wiki/Patrick_Stewart

nytimes.com·Hacker News·2701 points / 570 commentsthread →

Forging a Microsoft Edge Full Chain with Logic Bugs Only

blog.orange.tw·Lobsters +1·237 points / 38 comments·2 sourcessecuritythread →

Binance-hacker-1029 – $5.6B stolen from Binance

arkm.com·Hacker News·1041 points / 626 commentsthread →

The case of the 9 bit AES key

v12.sh·Lobsters +1·135 points / 70 comments·2 sourcescryptographyreversingthread →

Shipped

4

Releases, changelogs, cloud and language news.

From Spreadsheets to DuckLake: A Data Engineer's Road to DuckDB

After nearly two decades working with increasingly sophisticated data infrastructure, data engineer [Matt Martin](https://www.linkedin.com/in/mattmartin14/) discovered DuckDB could handle many of the analytical tasks he cared about without the operational complexity he had come to associate with big data. The same preference for familiar SQL and simpler infrastructure drew him to DuckLake, and he

duckdb.org·DuckDBusing-duckdbcloudinfra

Node.js 27.0.0-alpha.0.0.0 (Alpha)

nodejs.org·Node.jslanguage

Blazor Welcomes Open-Source Contributions from Syncfusion

We’re pleased to announce our collaboration with Syncfusion to advance Blazor! Syncfusion has released a free, open-source toolkit of Blazor components, and its engineers have contributed fixes and tests to ASP.NET Core and the .NET scaffolding tools. Their investment helps developers building with the toolkit and strengthens the platform for the entire Blazor community. This collaboration b

devblogs.microsoft.com·.NET Blog.netasp.net coreblazor

Coding Agent Horror Stories: The CVE That Did Not Exist

This is Part 6 of our AI Coding Agent Horror Stories series , where we look at real security incidents involving AI coding agents and at how Docker Sandboxes contain agent execution at the boundary rather than at the command line. Every story in this series so far has been about an agent reaching for something it should not have touched. We have seen agents wander into home directories, drop produ

docker.com·Dockercommunityai agentdocker sandboxes

Repos

3

Projects gaining real traction, and what they actually do.

anthropics/skills

Public repository for Agent Skills

github.com·GitHubpythonagent-skills

VoltAgent/awesome-design-md

A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI.

github.com·GitHubawesome-listdesign-mddesign-system

anhao/ai-pose-gallery-zh

中文版 AI 姿势参考图库 · 1439 组 / 2878 张图片 / 完整汉化 · 零依赖静态画廊

github.com·GitHubhtmlai-artchinese

Discussion

3

Threads where the comments are the content.

I went to Mexico to test-drive the cars Americans can’t buy

https://archive.ph/sGqBh

washingtonpost.com·Hacker News·292 points / 339 commentsthread →

The importance of communities around software

lumi.codeberg.page·Hacker News·101 points / 110 commentsthread →

Proton goes all in on using AI

convo.casa·Hacker News·88 points / 92 commentsthread →

AI

3

Capped on purpose, so it does not eat the edition.

Bliki: LLM Voice

Sometimes when I read a post, I get the growing feeling that I'm reading the output of an LLM. I can't necessarily define why, although there are the common tells (it's not the em-dashes, it's the load-bearing tapestries). As I do this my desire to read on atrophies, sometimes to the point of revulsion There are tools out there that claim to be able to tell the difference between LLM-written prose

martinfowler.com·Martin Fowler +1·408 points / 213 comments·2 sourcesblikiblogthread →

Claude Code regularly sends each background agent’s transcript to its model

gist.github.com·Hacker News·565 points / 229 commentsthread →

Why Real-Time AI at Scale is So Hard

The failure patterns that surface as your app ramps up, and how to avoid them Real-time AI at scale is harder than it looks. Pipelines that hum along in development routinely hit problems in production. It’s always easy to blame the model for all your problems. But issues like rising latency and degrading accuracy can usually be traced back to the data pipeline. My colleague Tim Koopmans and I… So

scylladb.com·ScyllaDBcommunityfeature storeai/ml

Deep

1

One paper or long teardown.

Tessera: Fast Join-Aggregates over Skewed Sparse Relations in Database Engines

Join-aggregate queries count or sum matching rows for each pair of values, often over skewed sparse relations in which a few values are frequent and most pairs of values never co-occur. Conventional execution plans materialize billions of intermediate join rows, taking minutes to tens of minutes per query. Recent matrix-based solutions reformulate these queries as matrix multiplication to reduce o

arxiv.org·arXiv CScs.dbpaper

Revision

2 from earlier editions

Answer each one before you open it.

What must a Raft leader do before it can consider an entry committed?3d ago

Consensus you can actually hold in your head: one leader, an append-only log, a majority.

Concept · Raft
Why does a pool bigger than the database's core count usually make latency worse?10d ago

A Postgres connection is a process; the pool is the real concurrency limit.

Concept · Connection Pooling and Pool Exhaustion