This is an overview of some of the articles I wrote over the years. You can also see all articles.
Featured
- 10000 nodes and beyond with Akka Cluster and Rapid
- On pinning and and isolating CPU cores
- On Azure
- Akka Raspberry PI demos
- A new adaptive accrual failure detector for Akka
SRE
Rust
- Fearless concurrency with Rust, cats, and a few Raspberry PIs
- Building a cat litter box reminder with Rust
- Rust development for th Raspberry Pi on Apple Silicon
Tour of Temporal
Tour of Akka Typed
- Part 1: Protocols and Behaviors
- Part 2: Message adapters, ask pattern and actor discovery
- Part 3: Supervision and signals
- Part 4: Event Sourcing
- Part 5: Cluster Sharding
- Part 6: Cluster Singleton and Routers
Tour of Akka Cluster
- Part 1: Akka Distributed Data
- Part 2: Eventual consistency, persistent actors, message delivery semantics
- Part 3: Cluster Sharding
- Part 4: Testing with the multi-node-testkit and a handful Raspberry PIs
Akka anti-patterns
Basics
- Shared mutable state
- Blocking
- Flat actor hierarchies / Mixing business logic and failure handling
- Race conditions
- Stateless actors
- Too many actors
Performance
- Logging the wrong way
- Being out of touch with the hardware
- Overusing ActorSelection
- Using Java Serialization
Network / Cluster
- Using remoting
- Trusting the network
- Always using the defaults (to be written)
- Using cluster without / with the wrong split-brain resolver (to be written)
Architecture / Design
- Not defining a protocol (to be written)
- Naming your application components after akka concepts
- Too many actor systems
- Blindly ignoring dead letters (to be written)
Akka
- Raspberry PI Akka Cluster LED strips
- Akka Cluster, Java and the Raspberry PI 3 Model B
- Akka Streams – What is NotUsed all about
- A handful Akka techniques
Scala
- Optimizing CI build times for Scala projects
- A quick tour of build tools in Scala
- A quick tour of JSON libraries in Scala
- A quick tour of relational database access with Scala
- 5 years of Scala and counting – debunking some myths about the language and its environment
Play Framework
- Reactive Golf or Iteratees and all that stuff in practice, part 1
- Reactive Golf or Iteratees and all that stuff in practice, part 2
- Reactive Golf or Iteratees and all that stuff in practice, part 3
- Tips & tricks for setting up a Play 2 project
- How to read the Play session from AngularJS
- CRUD trait for Slick models in the Play! framework
- Quickly open errors in your IDE when developing Play applications
- Multi-modular development with Play 2.1
- Activating logging in test mode in Play 2.0.x
- MongoDB-based Cache for Play 1.2.x and Play-Scala
- Play! Scala and JSON
- Selenium IDE plugin for the Play! framework
Reactive Database Access
- Part 1: Why Reactive, why “Async” & an introduction to Futures
- Part 2: Introduction to Actors
- Part 3: Using jOOQ with Scala, Futures and Actors
Misc
- Why I’m still using a MacBook Pro Late 2013 in 2019
- 2018: year in review
- 3 key findings from 10 years of home-office
- You got to hold the frame – Avoiding burnout or Lessons learned from six years as an independent consultant
- Reactive Play
- The reality of writing a technical book
- Initial thoughts on fatherhood
- Subsequent thoughts on fatherhood