I have been writing technical books for a long time. It started out as an itch that I needed to scratch and turned into a full-on rash. The cycle that drives me is learn -> build -> teach, which covers book writing. To be able to teach something to someone in simple terms, I need to gain deep understanding of it.
The following are the most recent and relevant books that pertain to my passions and day job of event-sourcing, distributed systems, secure untrusted computing, massive scale, and high througput.
Real-World Event Sourcing

Distribute, Evolve, and Scale Your Elixir Applications. The Pragmatic Bookshelf, 2025.
Applications use streams of incoming data to create their own realities. This book is about learning to treat data as events and then interpreting those events to solve genuinely hard problems, from the first line of code through to production. It starts with the fundamental building blocks of an event-sourced system: commands, aggregates, projectors, process managers, injectors, and notifiers. From there it moves into the parts that only show up once you have real systems in the field, such as distributing an application across nodes, modeling failure, replaying history, evolving event schemas without breaking what already exists, securing and testing event-sourced systems, and scaling up and out. The examples are written in Elixir, and the book closes with a set of laws distilled from the successes and failures of real deployments.
Get the book from the Pragmatic Bookshelf
Programming WebAssembly with Rust

Unified Development for Web, Mobile, and Embedded Applications. The Pragmatic Bookshelf, 2019.
WebAssembly fulfills the long-awaited promise of web technologies: fast, type-safe code that runs in the browser, on embedded devices, or anywhere else. This book teaches WebAssembly from the ground up, starting with the stack machine itself and hand-written text-format modules, before moving on to compiling Rust to WebAssembly and building interoperability with JavaScript. You will build a checkers game in raw WebAssembly, rebuild it in Rust, and create a front end with the Yew framework. The last part of the book leaves the browser entirely, hosting WebAssembly in native applications, running modules on a Raspberry Pi for an IoT project, and finishing with a multiplayer robot combat engine where players upload their own WebAssembly modules to compete.
Get the book from the Pragmatic Bookshelf
Building Microservices with ASP.NET Core

Develop, Test, and Deploy Cross-Platform Services in the Cloud. O’Reilly Media, 2017.
Nearly every business, regardless of domain, needs software running in the cloud, and microservices provide the agility and reduced time to market that demands. This hands-on guide shows how to create, test, compile, and deploy microservices using the free and open-source ASP.NET Core framework. It covers test-driven and API-first development, creating and consuming backing services such as databases and queues, building services that depend on external data sources, event sourcing, services that consume and are consumed by other services, externalized configuration, and securing ASP.NET Core services and applications for life in the cloud.
Cloud Native Go

Building Web Applications and Microservices for the Cloud with Go and React. Sams Publishing, 2016. Co-authored with Dan Nemeth.
This book describes the modern cloud-native application in detail, covering the factors, disciplines, and habits that make rapid and reliable cloud-native development possible, and it introduces Go as a language especially well suited to that kind of work. After a primer on the language, it walks through continuous delivery pipelines, building microservices in Go, working with backing services, creating a data service, event sourcing and CQRS, security in the cloud, and WebSockets. The final chapters build the front end with React and Flux and bring everything together in a full application.