software, simply

Entries by popularity

The tragedy of 100% code coverage Wed, 18 May 2016
The broken promise of static typing Sun, 19 Jun 2016
Documenting your architecture: Wireshark, PlantUML and a REPL to glue them all. Thu, 6 Apr 2017
Proof of concept using KafkaStreams and KTables Thu, 5 Jan 2017
Kerberos explained in pictures Sun, 26 Mar 2017
Kafka, GDPR and Event Sourcing Wed, 11 Apr 2018
Logging levels: the wrong abstraction. Tue, 5 Apr 2016
Kubernetes explained in pictures: the theme park analogy Mon, 9 Jul 2018
Lines of code actually matters. Thu, 17 Mar 2016
How to Docker Compose a developer environment: an open source example Mon, 25 Sep 2017
Clojure's most important lesson Wed, 24 May 2017
Joins on stateful stream processing using Kafka Streams' KTables and GlobalKTables Sun, 7 May 2017
Why to Docker Compose a calm environment Fri, 1 Sep 2017
Other reasons for TDD: Baby steps, ROI, Evil Manager Syndrome and Watching the watchmen Mon, 18 Feb 2019
Error budget: Google's solution for innovating at a sustainable pace Sun, 16 Jul 2017
Kubernetes explained in pictures: StatefulSets, Persistent Volumes and Headless Services Sun, 22 Jul 2018
Proof of concept using KafkaStreams and KTables - implementation notes, gotchas and Docker Compose example Fri, 6 Jan 2017
The boy who cried wolf, an IT tale Mon, 21 Nov 2016
A more efficient developer: write programs for yourself Thu, 3 Aug 2017
Good tests, Bad tests Sun, 6 Nov 2016
Why Java? Why Clojure? Wed, 14 Dec 2016
Easing open source contributions with Docker Tue, 13 Feb 2018
Kafka, distributed coordination and the actor model Mon, 9 Apr 2018
A more efficient developer: disable notifications Tue, 1 Aug 2017
A more efficient developer: master your IDE Wed, 2 Aug 2017
Testing or Monitoring? MTBF or MTTR? Make your choice! Mon, 5 Jun 2017
Kubernetes explained: the theme park analogy: auto scaling, taints and affinities Mon, 16 Jul 2018
Did you read my email? Mon, 30 Apr 2018
Delay: Clojure's forgotten concurrency primitive Mon, 12 Jun 2017
Production data never lies Tue, 20 Mar 2018
Swagger Search: Finding an endpoint in your microservice primordial soup Mon, 18 Sep 2017
How to do a Java/JVM heap dump in Kubernetes Tue, 20 Nov 2018
Kafka, GDPR and Event Sourcing - Implementation details Wed, 11 Apr 2018
Atoms, delays and side effects: a resource management idiom for Clojure Wed, 21 Jun 2017
In KafkaStreams, when to choose between a KTable or a KStream? Mon, 8 Oct 2018
How to convince your company to use Clojure Tue, 16 Oct 2018
REPL driven development: immediate feedback for you backend code Mon, 26 Nov 2018
Habits of efficient developers - WeAreDevelopers 2018 Wed, 4 Jul 2018
REPL Driven Development - Voxxed Days Belgrade 2016 video Sat, 22 Oct 2016
Habits of efficient developers - slides Thu, 17 May 2018
Automating resilience testing with Docker and Property Based Testing - Devoxx UK 2017 Sat, 20 May 2017
A more efficient developer: Go and have a rest Mon, 2 Jul 2018
RocksDB range queries in KafkaStream: dealing with big results Mon, 17 Dec 2018
Applying stability patterns: a case study - Devoxx PL 2017 Thu, 3 Aug 2017
Per user rate limiting with OpenID connect and Istio in Kubernetes Thu, 31 May 2018
Automating resilience testing with Clojure and Docker - EuroClojure 2016 video Sat, 26 Nov 2016
Architecture decisions: the belligerent contrarian and the rule of three Wed, 27 Feb 2019
Kodsnack podcast: The immediate feedback loop Thu, 10 Jan 2019
Automating resilience testing with Clojure and Docker - EuroClojure 2016 slides Mon, 14 Nov 2016
If I ever write a book ... Mon, 17 Dec 2018