Writing

Notes from production: Go, Kafka, stream processing, and the reliability work behind payment and lending systems.

Running a service on your laptop, no VPN

Most services at a fintech lending platform could not boot without a VPN to shared dev infrastructure. One service could run its whole stack and its integration tests on a laptop with a few commands. Here is the pattern behind it, and why the tools do not matter.

local-developmenttestinghermeticdockerdeveloper-experience

The dead-letter that could not deliver

How a missing dead-letter topic froze two Kafka partitions in a strict-ordered Redpanda Connect pipeline, and the bounded fallback that fixes the class.

kafkaredpanda-connectbenthosdlqreliability

Eight hours frozen: a Redpanda Connect and sarama deadlock

A stream-processing consumer stopped consuming for eight hours with no crash and a green health probe. The cause was a deadlock between Benthos's autoretry mutex and sarama's synchronous checkpointer on a consumer-group rebalance.

kafkaredpanda-connectgoincidentdebugging

Your first Kafka consumer with Redpanda Connect

A beginner tutorial: consume messages from a Kafka topic and print each one to stdout, with no code to compile. Just a short YAML file and rpk.

kafkaredpanda-connecttutorialbloblang

Querying moving data: keyset pagination for a daily sweep

A daily job re-evaluated 1.87 million rows and silently skipped some, because it paginated with OFFSET on a column it was updating mid-scan. Keyset pagination fixed it.

postgressqlpaginationgodata

Killing a fat Kafka event at the byte level

How a high-volume loan-state consumer stopped running out of memory, with a two-pass byte strip in Bloblang and a thin-struct mirror in Go.

kafkagoredpanda-connectperformancememory