
Tracking data across Kafka, Flink and Spark pipelines with OpenLineage, to show where each dataset came from and what reads it. Slides from my Current London 2026 session.

Tracking data across Kafka, Flink and Spark pipelines with OpenLineage, to show where each dataset came from and what reads it. Slides from my Current London 2026 session.

Keeping a simulation in step with live data: change a running SimPy model's parameters from Kafka and stream its events out, so it acts as a digital twin.

Why a simulation is not a digital twin: the layers that separate an offline model, an operational twin and an event-driven hybrid of the two.

An Apache Flink and Kotlin streaming architecture where online machine learning detects concept drift from machinery wear, controlled by a shadow mode router.

Reveal.js slides written in Markdown and built by Hugo alongside blog posts, with code walkthroughs, fragments, MathJax and Mermaid diagrams.

Apache Flink, Kafka and Valkey turn a contextual bandit recommender into an event driven service with stateful training and low latency inference.

A Python prototype of a contextual multi-armed bandit recommender that simulates user behaviour and validates the algorithm against cold-start users.

Examples from the book Stream Processing with Apache Flink ported to Kotlin, updated to current Flink APIs and built with Gradle after PyFlink lacked features.

FastAPI and NiceGUI served from one Python process give a backend API and a web UI in a single codebase, compared here with React and with Streamlit.

Apache Kyuubi as a multi-tenant SQL gateway that provisions on-demand Spark, Flink and Trino engines, giving self-service analytics with central governance.