The seven wastes of software development
Lean Thinking is more than just a set of management tools; it is a philosophy centered on maximizing customer value while relentlessly eliminating waste. At its core, it challenges us...
All posts tagged with #highlight in chronological order with newest first.
Lean Thinking is more than just a set of management tools; it is a philosophy centered on maximizing customer value while relentlessly eliminating waste. At its core, it challenges us...
In 2016, I wrote the following in “Die komplexe Perspektive” (“The Complex Perspective”): However, it must also be stated clearly that AI has not achieved its ultimate goal of “intelligent...
Ten years ago, I wrote “Die komplexe Perspektive” (the complex perspective) as a practical mental model for making sense of the digital economy. I’m revisiting those ideas using a set...
I really enjoyed working on the first story, so I tried again — this time also generating images with Google’s Nano Banana Pro. What I like most about this new...
This weekend I had a little time to play around — and ever since ChatGPT arrived back in 2022, I’ve been wondering when AI would be ready not just to...
The Thoughtworks Technology Radar has always been more than a list of tools. It captures what happens when technology moves from experimentation to everyday practice. In its 33rd edition, one...
I’m excited to share the first MVP release of NKP (aNalysis of Kotlin Programs), a command-line tool for analyzing Kotlin codebases and uncovering architectural insights.
I’ve written a new article for JavaSpektrum: “Java im Technology Radar – Totgesagte leben länger”. The piece looks back at Java’s journey through the eyes of the Thoughtworks Technology Radar...
I’ve written an article for JavaSpektrum 2/2025 about Structured Concurrency in Java 24. The article covers JEP 499, Java’s fourth preview of Structured Concurrency, which aims to make concurrent programming...
As an external consultant in an Enabling Team for Cloud Architecture, I supported several teams and noticed that software development quality was lacking. This surprised me because the client was...
During the winter holidays I had some fun letting AIs discuss with each other about various topics. I personally like to chat with ChatGPT and challenge it (him/her) with difficult...
The advances of artificial intelligence in the last months are simply breath taking. It is now very easy to use “intelligent” APIs in your web app. In this example application...
Concurrent and asynchronous applications can be written in Kotlin with coroutines in a precise and structured way. Unfortunately, concurrency often increases the complexity and it is difficult to create bug-free...
In my talk “Nebenläufigkeit mit Koroutinen strukturieren” at the KKon 2021 Warmup I explained how to structure and organize concurrent programs with coroutines in Kotlin.
During the chrismas holiday I started a new ray tracer in Kotlin while following the book “The Ray Tracer Challenge.
At a client of ThoughtWorks I gave a talk about refactoring in line with the book “Mikado Method”. The book describes a method to plan and perform non-trivial refactorings of...
At a client of ThoughtWorks I gave a talk about the advantages of Kotlin.
At a client of ThoughtWorks I gave a short presentation about three different ways of state management in React.
In the article “Verteilte Systeme: weniger warten, asynchron arbeiten” (distributed systems: less waiting, asychronous working) in the german magazine iX Developer Moderne Softwareentwicklung - code(), build(), deploy() I explain the...
In the article “Weniger warten, asynchron arbeiten” (less waiting, asychronous working) published by heise Developer I explain the theoretical background of coroutines and how to use them in Kotlin and...
Coroutines are a “new” way to handle concurrency on the JVM. I gave an introduction to coroutines in Kotlin at Thoughtworks. This is basically the translation of the german slides....
Coroutines are a “new” way to handle concurrency on the JVM. At the para//el 2019 conference, I gave an introduction to coroutines in Kotlin.
It’s very difficult to implement algorithms optimally for GPUs. Therefore NVIDIA provides the library cuDNN for deep learning with neural networks. This article published in the german magazine iX Developer...
In March 2017 I gave a talk about GPU computing with CUDA and OpenCL at the para//el 2017 conference in Heidelberg, Germany.
As part of the cultural hackathon Coding da Vinci Nord 2016, I built a web application for the analysis and visualization of the distribution of family names. I used (among...
I bought the book in early access (MEAP) and decided to help as a reviewer.
At the parallel 2015 conference I gave an introduction into Multi-GPU programming with Cuda, OpenCL and C++ AMP.
I bought the book in early access (MEAP) and decided to help as a reviewer.
At the parallel 2014 I gave an introduction into the optimization of GPU kernels.
"Massiv parallel - Grundlagen der GPU Programmierung"
"GPU-Programmierung in der Praxis mit CUDA"
At the parallel 2012 I presented my experiences and learnings I gathered in GPU computing projects.
These slides are for a course about parallel computing.
The OpenCL standard is not always easy and the technical proof was a challenge, because the code had to run on different os'es and platforms.
This training teaches test-driven development with a focus on JUnit 4. Other frameworks such as JUnit 3 and TestNG are briefly introduced as well (as of 2009).
This training on Subversion covers practical version control workflows.
Apache Ant offers a lot of capabilities that many teams never end up using. This training dives into Ant’s more advanced features (as of 2009).
I wrote the Groovy EMF builder and the Groovy UML2 builder. These tools use the builder concept of the programming language Groovy to ease the processing of Eclipse Modelling Framework...
The challenge was to implement Scrabble® in a dynamically typed programming language. I used Groovy and Grails.
I participated at Eclipse BugDays in July, August, September, October, and November 2007 and helped debugging the Eclipse projects JDT, PDE/UI, and ECF.
From 1999 to 2004, I collected information on the topic of ‘Fraud detection’ on my website. When I started this in 1999 as a research assistant at the University of...
Programming TrueColor graphics with the Diamond Speedstar 24x