Writing
12 published, more on the way. Grouped by year.
2026
Aug 6 Vector RAG, Context RAG, Ontology RAG, and Graph RAG: four tools, not four competitors A field guide to four complementary retrieval-augmented generation patterns, what each is actually good at, and how to tell which one your problem needs. Jul 11 AI Agent Frameworks in 2026: a market landscape and comparison A field guide to the leading agentic AI frameworks in 2026, LangGraph, Google ADK, Claude Agent SDK, OpenAI Agents SDK, CrewAI, Pydantic AI, and Microsoft Agent Framework, and where each one fits. Apr 15 Notes from GTC and Cloud Next: we have stopped talking about just models Reflections from NVIDIA GTC and Google Cloud Next 2026 on the shift from AI models to AI systems that hold up in production.
2022
Nov 15 Performance optimization for Apache Druid: scaling to 200+ queries per second How we tuned Druid's ingestion spec and the query/API layer, without touching infrastructure or platform config, to sustain 200+ queries per second. Sep 14 Challenges of real-time streaming in Druid The real problems in streaming Kafka events into Druid, where to enrich and deduplicate them before they land, and how to structure aggregation for very different queries.
2021
Nov 20 Performance testing, part 2: publishing k6 metrics with InfluxDB and Grafana Once k6 was running, results vanished after each run. Here is how InfluxDB and Grafana turned load testing into something we could track and share. Sep 20 Why k6 for performance testing over JMeter and LoadRunner Moving load testing into code with k6 so any engineer could run it, and why it beat the traditional tools for our workload. Jun 15 Why Druid: building a real-time analytics product for tens of thousands of users How I evaluated MongoDB, Cassandra, HBase, and Apache Druid for a sub-second, high-concurrency analytics product, and why Druid won. Mar 10 Why I chose Micronaut over Spring Boot (and Kotlin along the way) Picking a JVM framework for a high-throughput, low-latency data product, and why Micronaut and Kotlin were the right call.
2020
Feb 15 A Phoenix on HBase problem, and how we worked through it Coming soon A hard Phoenix and HBase issue that surfaced in late 2019 and ran into early 2020, and what it taught me.