newsmode

Posts

All posts on this blog in chronological order with newest first.

All Posts

image
Java in the Technology Radar

Java in the Technology Radar (JavaSpektrum)

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...

software-engineering en java article jvm architecture thoughtworks
image
Structured Concurrency in Java 24

Structured Concurrency in Java 24 (JavaSpektrum)

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...

software-engineering en java concurrency article jvm parallelism architecture
image
Coroutines in Kotlin at KKon 2021 Warmup

Coroutines in Kotlin at KKon 2021 Warmup

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.

software-engineering en kotlin parallelism concurrency talk slides
image
Refactoring with the Mikado Method

Refactoring with the Mikado Method

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...

software-engineering en tdd talk slides clean-code
image
Weniger warten, asynchron arbeiten

Coroutines in Kotlin and Go on heise Developer

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...

software-engineering en article kotlin concurrency parallelism golang
image
Concurrency in Kotlin with coroutines

Concurrency in Kotlin with coroutines

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....

software-engineering en slides talk kotlin concurrency parallelism jvm

Fusion of object oriented and functional programming

The fusion of Object Oriented Programming (OOP) and Functional Programming (FP) languages has become increasingly popular in recent years, with many programming languages now offering features and constructs from both...

software-engineering en kotlin object-functional scala functional-programming
image
Unter der Haube - cuDNN schafft die Grundlage für Deep Learning mit GPUs

Machine learning library 'cuDNN' explained in iX Developer

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...

gpu-computing en article ai parallelism concurrency machine-learning data nvidia-cuda gpu-computing

EuroClojure 2017 in Berlin

In my first project for ThoughtWorks the backend is written in Clojure. Since the project was in Berlin, I visited the EuroClojure 2017 which takes place in Berlin this year,...

software-engineering en jvm functional-programming

Guter Roman über IT und DevOps

Im Roman “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win” wird der Protagonist Bill gegen seinen Willen befördert und muss in seinem Unternehmen ab sofort...

work-related agile project-management de devops review

Planen ist ein agiler Prozess

In “Agile Estimating and Planning” erklärt Mike Cohn auf hervorragende Weise die Probleme bei der Projektplanung und Aufwandsschätzung und präsentiert die “agile Schätzung und Planung” als Lösungsansatz.

work-related agile project-management de review

'Lag' und wie man ihn minimiert

Jeder Multiplayer-Spieler kennt es: “Lag”. Wenn man den gegnerischen Spieler zu spät sieht oder man sich sicher ist, ihn hundertprozentig getroffen zu haben, aber das Spiel anders entscheidet: Der Schuldige...

games review de c++
image
Ambient Occlusion example

Ray tracing with Groovy and Java

While I was reading the excellent book by Kevin Suffern "Ray tracing from the ground up", I implemented a ray tracer in Java and wrote a DSL in Groovy, to...

software-engineering groovy java model-driven jvm graphics en

Sehr gute Einführung in Scala

Scala ist ein wichtiger Meilenstein bei der Fusion von funktionaler und objektorientierter Programmierung. Diese Fusion ist noch nicht abgeschlossen, sondern ein “Entdeckungs-Prozess”, der noch ein paar Jahre andauern wird.

software-engineering scala de review jvm object-functional

Pflichtlektüre im Bereich Security

In dem schon 2003 geschriebenen Buch “Beyond Fear: Thinking Sensibly About Security in an Uncertain World” schreibt _ Bruce Schneier_ ganz allgemein über Sicherheit. Hier ist die englische “security” gemeint...

science review de

Java MapReduce mit Hadoop

MapReduce ist ein “Korsett” und zwingt den Entwickler in enge Grenzen. Daher macht es Sinn, “MapReduce Design Patterns” zu lesen, damit man schnell die üblichen Tricks und Kniffe kennenlernt. Ähnlich...

big-data review de data distributed

Gute Einführung in C++ AMP

“C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++” ist eine gute Einführung in die Programmierung mit C++ AMP. Leider ist das Buch zum Zeitpunkt der Rezension das einzige Buch...

gpu-computing review de c++ parallelism concurrency gpu-computing

Das beste Buch über OpenCL 1.x

Das Besondere an “OpenCL in Action: How to Accelerate Graphics and Computation” ist, das der Autor Matthew Scarpino versucht, die Programme wirklich zu erklären. Man erfährt die Gründe für seine...

gpu-computing review de c++ parallelism concurrency gpu-computing opencl

Fortgeschrittenes ‘git'

Ich benutze git zwar schon ein paar Jahre, wollte aber mehr Hintergrundwissen haben und komplexere Abläufe kennenlernen. Das ist dem Buch “Git in Practice” zum einen gelungen, trotzdem habe ich...

software-engineering review de

Zu kurzer Einstieg in PaaS

“Understanding PaaS” ist ein sehr kleines Büchlein über die Grundlagen des Cloud Computings. Es kann gelesen werden, um sehr schnell in die Thematik einzusteigen. Es ist eher für Entwickler geschrieben,...

software-engineering review de

Solide Optimierungstipps für CUDA

Beim Stöbern in “CUDA Fortran for Scientists and Engineers” habe ich gesehen, dass die Autoren wertvolle Optimierungstipps geben. Da bin ich neugierig geworden.

gpu-computing review de c++ parallelism concurrency nvidia-cuda gpu-computing

Fast definitiver Einstieg in MongoDB

“MongoDB: The Definitive Guide” ist ein gelungener Überblick auf MongoDB sowohl aus Entwickler- als auch als DBA-Perspektive. Jedenfalls soweit ich das als MongoDB-Einsteiger mit mehr als 11 Jahren Data-Warehousing-Projekterfahrung sagen...

software-engineering review de data javascript

Nur teilweise elegant

Im ersten Teil von “The Elegant Universe: Superstrings, Hidden Dimensions, and the Quest for the Ultimate Theory” werden die Grundlagen der Relativitätstheorie und der Quantenmechanik anschaulich und mit tollen Beispielen...

science review de

Mein Lieblings-Geschichtsbuch

James Gleick ist ein wahnsinnig belesener Mensch, der in diesem umfangreichen und lesenswerten Buch “The Information : a history, a theory, a flood” die Geschichte der Information und der Informationsverarbeitung...

science review de

“Anspruchsvolles” JavaScript

Wenn es “anspruchsvolle” Literatur gibt, dann gibt es jetzt auch “anspruchsvollen” Code. “If Hemingway Wrote JavaScript” enthält viele lustige und lehrreiche Beispiele.

software-engineering javascript review de

Nur ganz harten CUDA-Fans zu empfehlen

Ich hatte schon viele Artikel der Reihe „CUDA, Supercomputing for the Masses“ von Rob Farber auf der Dr. Dobb’s Webseite gelesen und war recht angetan. Das war damals 2009 eine...

gpu-computing review de c++ parallelism concurrency nvidia-cuda gpu-computing

Bestes CUDA-Buch für Fortgeschrittene

Mit CUDA ist es einfach, eine Berechnung um den Faktor 2-5 zu beschleunigen. Wie man höhere Speedups erreicht, lernt man in “CUDA Programming” von Shane Cook.

gpu-computing review de c++ parallelism concurrency nvidia-cuda gpu-computing

Gute Tipps für die Performance-Optimierung

Nicholas Wilt zeigt sich in “The CUDA Handbook” sehr kompetent und experimentierfreudig bei der Optimierung von Kerneln. Das Buch kann von vielen Fortgeschrittenen mit Gewinn gelesen werden.

gpu-computing review de c++ parallelism concurrency gpu-computing nvidia-cuda

Guter Überblick

“Polygon Mesh Processing” ist ein “research monograph”’ über die Verarbeitung von Polygonnetzen (“‘polygon mesh’”).

games review de graphics

Stellenweise sehr gut, stellenweise nicht ausgereift und zu knapp

Die Programmierung von parallelen und nebenläufigen Programmen mit Shared-Memory und Threads ist kompliziert und sehr fehleranfällig. Als Lösungsansätze wurden z. B. Software-Transactional-Memory (STM), Message-Passing-Architekturen und Aktoren-Modelle entwickelt. In “Programming Concurrency...

software-engineering parallelism concurrency jvm review de object-functional

Nur für 'Thread-Monkeys'

Mit dem Titel “The Art of Concurrency” wird ein hoher Anspruch geweckt, der nicht erfüllt wird. Der Untertitel “A Thread Monkey’s Guide to Writing Parallel Applications” wird dem Inhalt schon...

software-engineering review de parallelism concurrency c++

Rezension von 'Complexity - A Guided Tour'

“Complexity - A Guided Tour” ist eine lesenswerte und interessante Einführung. “Komplexität” ist ein Querschnittsthema und durchzieht viele Fachbereiche, wie z. B. die Biologie (Immunsystem, Gehirn, Evolution), Wirtschaftswissenschaften, Informatik und...

science review de complex-systems

Der perfekte Start in das Thema

Das Buch “Real-time Rendering” ist der perfekte Start in das Themengebiet, wenn man Vorkenntnisse in Linearer Algebra und Softwareentwicklung hat. Es ist auf der Höhe der Zeit (April 2009) und...

games review de games

Der beste Einstieg in CUDA

“Cuda by Example” ist der perfekte Start in CUDA für Einsteiger. Aber auch manche Fortgeschrittene und Profis könnten Ihre Freude an den guten Erklärungen und Beispielen haben.

gpu-computing parallelism review de gpu-computing

Groovy, EMF and UML2

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...

software-engineering groovy eclipse model-driven en jvm java

Dynamic Languages Shootout / OOP 2008

The german magazine JavaSpektrum organized the "Dynamic Languages Shootout" contest for the OOP 2008 conference. The challenge was to create a computer game similiar to Scrabble in a dynamically typed...

games groovy jvm parallelism concurrency en

Eclipse BugDays 2007

I participated at Eclipse BugDays in July, August, September, October, and November 2007 and helped debugging the Eclipse projects JDT, PDE/UI, and ECF.

software-engineering eclipse en jvm java

Using UML2 with Groovy

The UML2 project provides an EMF based implementation of the UML 2.x metamodel in Java. With the EMFBuilder it is possible to create and process UML2 models.

software-engineering groovy eclipse model-driven en jvm
image
Eclipse SQL Editor Plugin

Eclipse SQL Editor Plugin

Ich wollte herausfinden, wie schwer es ist, in Eclipse einen Editor für eine Programmiersprache zu schreiben. Ich kannte damals keinen Open-Source-SQL Editor (auch für Eclipse gab es noch keinen) und...

software-engineering de eclipse jvm java