Posts

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

Generating dialogues with OpenAI's API

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 thoughts. I wondered if I can let ChatGPT argue with other instances of itself …

Dec 31, 2023

Using OpenAI's API to generate prompts for images

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 the user can describe a scene in simple terms. GPT creates a fully fledged description and DALL-E 2 converts this into an image.

Apr 12, 2023
Test driven development of concurrent programs in Kotlin at KKon 2022

Test driven development of concurrent programs in Kotlin at KKon 2022

Sep 13, 2022
Coroutines in Kotlin at KKon 2021 Warmup

Coroutines in Kotlin at KKon 2021 Warmup

Apr 23, 2021
Ray tracer in Kotlin

The Ray Tracer Challenge in Kotlin

Jan 10, 2021

Update of my website to Bootstrap 5

I updated my website so that it looks new and shiny and provides faster and easier access.

Dec 29, 2020
Refactoring with the Mikado Method

Refactoring with the Mikado Method

Apr 02, 2020
A short introduction to Kotlin

A short introduction to Kotlin

Mar 04, 2020
Plain react, hooks and/or Redux

Plain react, hooks and/or Redux

Mar 04, 2020

Coroutines in Kotlin and Go in iX Developer - "Weniger warten, asynchron arbeiten"

iX Developer 1/2019
Dec 01, 2019

Migrating a ray tracer from Java and Groovy to Kotlin (part 3)

I continued to work on migrating my ray tracer to Kotlin. Now the scenes can be specified with a Kotlin DSL and all Groovy code is gone.

May 25, 2019
Weniger warten, asynchron arbeiten

Coroutines in Kotlin and Go on heise Developer

May 06, 2019
Concurrency in Kotlin with coroutines

Concurrency in Kotlin with coroutines

Apr 23, 2019
Jörn Dinkla at the parallel 2019 conference

Talk about coroutines in Kotlin at the parallel 2019 conference

Feb 21, 2019

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

Jan 02, 2019

Machine learning library 'cuDNN' explained in iX Developer

Unter der Haube - cuDNN schafft die Grundlage für Deep Learning mit GPUs
Dec 01, 2018

Migrating a ray tracer from Java and Groovy to Kotlin (part 2)

I continued to work on migrating my ray tracer to Kotlin.

Oct 06, 2018

Migrating a ray tracer from Java and Groovy to Kotlin (part 1)

After reading the wonderful book Kotlin in Action I started to migrate my ray tracer from Java and Groovy to Kotlin.

Feb 25, 2018

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

Jul 22, 2017
Program of the parallel 2017

Talk about GPU computing with CUDA and OpenCL

Apr 04, 2017

Working for ThoughtWorks

After long considerations i decided to quit being a freelancer and joined ThoughtWorks in Hamburg, Germany.

Feb 01, 2017

CUDA 8.0 on Mac OS/X

CUDA 8.0 on Mac OS X 10.12 gave me the following error:

Nov 30, 2016

Updated library of geometric algorithms

Today I released an updated version of the library of geometric algorithms.

Nov 22, 2016
Graph von Familiennamen

Visualisierung von Familiennamen mit Node, Angular und D3 für Coding da Vinci Nord 2016

Nov 10, 2016

Using a __device__ lambda in CUDA 8.0

In CUDA 8.0 C++ 11 lambdas can be used on the device. See the following code.

Sep 30, 2016

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 den IT-Betrieb übernehmen, verantworten und am Laufen halten. Hierbei stößt er natürlich auf eine ganze Menge Probleme.

Sep 07, 2016

Sehr guter Einstieg in das beste Test-Framework für die Java-Plattform

Das Spock-Framework ist momentan meiner Meinung nach das komfortabelste Test-Framework für die Java-Plattform. Da es auf der Sprache Groovy aufbaut ist es sehr ausdruckstark.

Aug 12, 2016

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.

Jul 28, 2016

'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 ist klar “Lag”.

Jun 01, 2016

Reviewer of Introducing Data Science

I bought the book in early access (MEAP) and decided to help as a reviewer.

Introducing Data Science
May 31, 2016

Gute Präsentationen machen gut präsentiert

Neal Ford und Nathaniel Schutta haben zu ihrem 2012 erschienenen Buch “Presentation Patterns: Techniques for Crafting Better Presentations” eine Video-Schulung erstellt.

Apr 13, 2016

Spielerisch Programmieren lernen mit 'Human Resource Machine'

Mit dem Computerspiel Human Resource Machine kann man die Grundlagen der maschinennahen Programmierung spielerisch erlernen.

Apr 05, 2016

Die ‚komplexe‘ Perspektive - Einführung in die digitale Wirtschaft

Die Menschheit ist in der Informations- und Wissensgesellschaft angekommen. Kaum sind die ersten Änderungen verdaut, schon tauchen weitere Neuigkeiten am Horizont auf: das Internet der Dinge, Big Data, Data Science, intelligente Roboter und selbstfahrende Autos mit künstlicher Intelligenz.

Wie soll man diese Technologien bewerten? Welche Folgen werden sie haben?

Feb 13, 2016

Wie Geschäftsmodelle Spass machen - Ein Leseerlebnis

“Business Model Generation” ist ein hervorragender Einstieg in das komplexe Thema “Geschäftsmodelle”. Das Buch behandelt Geschäftsmodelle, deren Erstellung und weitere Anpassung mit Hilfe des “Business Model Canvas”.

Aug 07, 2015

Folien: 'Geschäftsmodelle - Ein kurzer Überblick'

Folien zu einer Einführung über Geschäftsmodelle und Geschäftsmodellmuster.

Jul 15, 2015
Ambient Occlusion example

Ray tracing with Groovy and Java

Jul 08, 2015

Kovarianz und Kontravarianz in Scala

Das Thema "Kovarianz und Kontravarianz" wird zwar auch bei Wikipedia erklärt, ich versuche es hier mit eigenen Worten und Scala.

Jul 06, 2015

Covariance and Contravariance in Scala

I explain "covariance and contravariance" with some simple Scala examples.

Jul 06, 2015

Guter Hands-on Einstieg in Apache Spark

Wer die Grundlagen von Spark lernen möchte, ist mit dem Buch “Learning Spark” gut beraten. Mir hat besonders gut gefallen, dass das Buch sehr praxisorientiert ist und man nebenbei mit der Spark-Shell die Beispiele ausprobieren und nachvollziehen kann.

Jul 06, 2015
Map of the USA using the LBNN

k-d-trees with Apache Spark and Scala

Jul 02, 2015

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.

Jun 17, 2015

Definitiver Rundumschlag um das Hadoop-Ökosystem

Das Hadoop-Ökosystem ist im Laufe der Zeit erheblich gewachsen. “Hadoop: The Definitive Guide” bietet einen Überblick über die wichtigsten Themen und Projekte des Frameworks.

Jun 02, 2015
Using Elasticsearch with Spring Boot - Analyzing the emails with Kibana

Using Elasticsearch with Spring Boot - Analyzing the emails with Kibana

This is the last part in a series of four. It shows how to analyse the emails with Kibana.
May 28, 2015

Using Elasticsearch with Spring Boot - Technical background

This is the third part in a series of four. It explains the technical background.

May 27, 2015
Using Elasticsearch with Spring Boot - Installation and Usage

Using Elasticsearch with Spring Boot - Installation and Usage

This is the second part in a series of four. It shows installation and usage.
May 26, 2015
Spring Boot and Elasticsearch

Using Elasticsearch with Spring Boot

This article shows how to use Elastiksearch database with Spring Boot. It is the first in a series of four.
May 25, 2015

Guter Einstieg in die 'Daten-Kultur', aber zu unkritisch

In “Data driven - Creating a Data Culture” erläutern die Autoren, was sie unter einer “Datenkultur” verstehen.

May 15, 2015

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 und nicht die “safety”, d. h. die Zuverlässigkeit.

May 07, 2015

Heat diffusion on multiple GPUs

The implementation of the heat diffusion equation on multiple GPUs is explained in the talk (in german).

May 05, 2015

3D-Druck und Industrie 4.0 für Kleinunternehmen

Chris Anderson beschreibt in “Makers: Das Internet der Dinge: die nächste industrielle Revolution” wie industrielle Fertigungsprozesse mit CAD, dem 3D-Druck und/oder durch Outsourcing auch von Kleinunternehmern durchgeführt werden können.

May 02, 2015

Measuring traffic on the PCI Express Bus (PCIe)

During my talk at the parallel 2015 conference i was asked how one can measure traffic on the PCI express bus. For multi GPU computing it is very important to control the amount of data exchanged on the PCIe bus.

Apr 24, 2015
Multi-GPU-Computing: Eins, zwei, drei, ganz viele

Talk at the parallel 2015 about Multi-GPU programming with Cuda, OpenCL and C++ AMP

Apr 24, 2015

OO mit JavaScript hervorragend erklärt

JavaScript hat einen Prototyp-basierten Ansatz zur Objektorientierung. Damit unterscheidet es sich stark von den üblichen objektorientierten Programmiersprachen, wie z. B. Java, C++ und Ruby.

Apr 04, 2015

Trying out next-gen JavaScript now with ECMAScript 6

With Babel you can test many features of the upcoming next version of JavaScript called ECMAScript 6 now.

Apr 04, 2015

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 ist es ja beim Lernen von anderen Paradigmen auch, wie z. B. Devide-and-Conquer oder Rekursion. Man begreift das allgemeine Prinzip schnell, man muss aber lernen, wann und wie man es am besten einsetzt.

Mar 27, 2015

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 über C++ AMP, so dass ich es nur mit anderen Büchern über CUDA und OpenCL vergleichen kann.

Mar 16, 2015

Examples for parallelism: ray tracer on the GPU

I tested the parallel ray tracer on all NVIDIA cards i bought. This page contains the results.

Mar 06, 2015

Examples for parallelism: ray tracer

I wanted to learn some frameworks for parallel computing and i decided to implement a simple ray tracer as a "visual benchmark".

Mar 03, 2015

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

Feb 23, 2015

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 irgendwie das Gefühl, dass das nicht alles gewesen sein kann.

Jan 29, 2015

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, als für CEOs.

Jan 27, 2015

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.

Jan 26, 2015

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

Jan 16, 2015

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 erklärt. Es ist die beste Einführung, die ich bisher gelesen habe und klar 5 Sterne.

Jan 12, 2015

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 darstellt. Äußerst bemerkenswert ist, dass sich der Autor in beiden “Kulturen”, den Geisteswissenschaften und den Naturwissenschaften, sehr gut auskennt.

Jan 12, 2015

Reviewer of Java 8 in Action

I bought the book in early access (MEAP) and decided to help as a reviewer.

Java 8 in Action
Dec 17, 2014

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

Dec 17, 2014

Lesenswert, aber mit Schwächen - Rezension von “Ready Player One'

Das Buch “Ready Player One” hatte fast das Potential ein absoluter Klassiker zu werden in der Größenordnung eines “Hitchhiker’s Guide trough the Galaxy”.

Die geniale Idee des Autors ist es, 80er-Jahre-Nostalgie und ein Massively Multiplayer Online Game (MMO, MMOG) mitander zu verknüpfen und zum Gegenstand eines Romans zu machen.

Aug 09, 2014

Guter Einstieg mit kleinen Schwächen

Wer sich schnell mal ein paar typische Denkfehler angucken möchte, dem sei “Die Kunst des klaren Denkens” empfohlen.

May 21, 2014
Tipps & Tricks für den erfolgreichen Einsatz von GPU-Computing

Talk at parallel 2014 about GPU-Computing

May 07, 2014

Inspiration für CUDA-Experten in den Naturwissenschaften

Das Buch “GPU Computing Gems (Emerald Edition)” ist eine Sammlung von 50 wissenschaftlichen Artikeln über Erfahrungen bei der Verwendung des GPU-Computing in verschiedenen Fachgebieten.

Apr 20, 2014

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 der wenigen Möglichkeiten, etwas anspruchsvolleres über CUDA zu lesen.

Apr 19, 2014

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.

Apr 16, 2014

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.

Apr 01, 2014

Neuauflage erforderlich: Gutes Buch, aber leider nicht mehr aktuell

“Using OpenMP” ist eine gute Einführung und enthält ein paar gute Performancetipps.

Mar 20, 2014

Zur Zeit beste Darstellung von Patterns für Shared-Mutability

Wenn man ein wenig Systematik in seine parallelen Programmierkünste bringen will, ist “Structured Parallel Programming: Patterns for Efficient Computation”
das Buch zum Einsteigen.

Mar 11, 2014

Empfehlenswerter Klassiker in Neuauflage

Ich hatte damals 1992 schon die zweite Auflage gelesen. Seit dem hat sich sehr viel zum Positiven geändert, sowohl bei C++ als auch bei diesem „Klassiker“.

Feb 25, 2014

Guter Überblick über C++ 11

In diesem kleinen Buch gibt der Erfinder von C++ einen Überblick auf die Neuigkeiten von C++ 11 und der STL.

Feb 11, 2014

Gute Übersicht und Einführung

An “The Definitive Guide to Grails 2” kommt keiner vorbei, der Grails lernen will.

Nov 11, 2013

Sehr viel Haskell, zu wenig funktionale Programmierung

Ich habe “Learn You a Haskell for Great Good” zur Auffrischung meiner Haskell-Kenntnisse gelesen. Während meines Studiums in den neunziger Jahren war ich begeisterter funktionaler Programmierer. Meine Diplomarbeit habe ich 1997-98 über „Geometrische Algorithmen in Haskell“ geschrieben.

Oct 15, 2013

Gute Einführung in das Thema Unsicherheit und Risiko

Das Buch “Bärentango: Mit Risikomanagement Projekte zum Erfolg führen” ist vor 10 Jahren erschienen und ich habe es mir jetzt (2013) wieder durchgelesen, um zu entscheiden, ob ich es nicht evtl. entrümpeln sollte.

Aug 30, 2013

Tipps mit sehr unterschiedlicher Qualität

Das Buch “97 Things Every Programmer Should Know” besteht aus 97 Abschnitten von unterschiedlichen Autoren zu oft auftretenden Fragen bei der Softwareerstellung.

Jul 30, 2013

Gute Einführung in nicht-relationale Datenbanken

Das kleine Buch “NoSQL Distilled:” bietet einen guten Überblick auf die verschiedenen NoSQL-Datenbanken.

Jun 04, 2013

Two articles in iX Developer: GPU Computing mit CUDA

"Massiv parallel - Grundlagen der GPU Programmierung"

"GPU-Programmierung in der Praxis mit CUDA"

iX Developer 01/2013
Feb 01, 2013

Erste Schritte im API Design mit C++

“API Design for C++” ist eine hervorragende Einführung in die Implementierung von APIs mit C++.

Jul 07, 2012

Guter Überblick

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

Jun 29, 2012
GPU-Computing mit CUDA und OpenCL in der Praxis

Talk at parallel 2012 about GPU-Computing

May 25, 2012

Gute Anleitung zur Erstellung von spannenden Vorträgen

Wie man spannende Vorträge hält, erfährt man in “Resonate: Present Visual Stories that Transform Audiences”.

Feb 24, 2012

Empfehlenswert als Nachschlagewerk

“Patterns for Parallel Programming” ist ein wichtiges Werk für ‘parallele Programmierer’.

Feb 23, 2012

Unverzichtbar für die Performance-Optimierung

Was “Programming Massively Parallel Processors: A Hands-On Approach” von anderen Büchern unterscheidet, ist die genaue Beschreibung der Funktionsweise der Hardware.

Feb 21, 2012

Das 1x1 der schönen Folien

“Slide:ology: The Art and Science of Presentation Design” ist ein sehr gut designtes und gut zu lesendes Buch. Es wird seinem Untertitel auf jeden Fall gerecht.

Feb 08, 2012

Menschliche Eigenarten kurz vorgestellt und erläutert

“100 Things Every Designer Needs to Know About People” ist eine Sammlung von doch recht nützlichen Informationen über Menschen.

Feb 07, 2012

Seichte Unterhaltung erstellen: Weniger Intelligenz, mehr Emotionen

Ich habe zum Buch “Presentation Zen: Simple Ideas on Presentation Design and Delivery” eine geteilte Meinung und gebe daher nur 3 Sterne.

Jan 26, 2012

Hervorragende Erklärung der Krise und Ihrer Ursachen

Das Buch “Kasino-Kapitalismus” bietet einen sehr guten Überblick über die Ursachen, die zur Finanzkrise geführt haben. Die für die Krise relevanten Zusammenhänge aus der Finanzwelt werden präzise erklärt. Der Autor schlägt im letzten Kapitel auch Maßnahmen vor, um solche Krisen in Zukunft zu verhindern.

Jan 12, 2012
Slides: 'Introduction to Parallel Computing'

Slides: 'Introduction to Parallel Computing'

Dec 12, 2011

Gute Einführung in jQuery und das Drumherum

“Head First jQuery” ist im “Heads First”-Stil gehalten und richtet sich an Anfänger und Quereinsteiger, die bereits über Grundkenntnisse in HTML und CSS und Programmierkenntnisse verfügen.

Dec 06, 2011

Technical proofer of 'OpenCL in Action'

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.

OpenCL in Action
Dec 03, 2011

Knapper Einstieg und Überblick auf Spring ROO

Das Buch “Getting Started with Roo” hat nur etwas über 50 Seiten und beinhaltet eine kurze und oberflächige Einführung in die Benutzung von Spring ROO.

Dec 01, 2011

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 on the JVM” werden diese für die Java-Plattform vorgestellt.

Dec 01, 2011

Den Überblick behalten und konzentriert Arbeiten einfach gemacht

Im Zeitalter des Multi-Tasking und der ständigen Unterbrechungen ist es schwierig, seinen richtigen Arbeitsrhythmus zu finden, den Überblick zu behalten und keine Aufgaben zu vergessen oder aufzuschieben.

Eine Lösung bietet die “Pomodoro Technique Illustrated: The Easy Way to Do More in Less Time”, die der Autor in diesem Buch erklärt und mit vielen Illustrationen veranschaulicht.

Nov 24, 2011

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 eher gerecht, aber auch hier gibt es noch einige Kritikpunkte.

Nov 15, 2011

Dieses Buch wird Ihnen helfen, ein besserer Programmierer zu werden

“Dieses Buch wird Ihnen helfen, ein besserer Programmierer zu werden” steht als erster Satz in der Einleitung des Buchs “Der Pragmatische Programmierer”. Und ich bin der Meinung, dass es stimmt.

Nov 04, 2011

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 Künstliche Intelligenz.

Aug 08, 2011

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 enthält aktuelle Referenzen zu Literatur und Spielen.

Apr 14, 2011

Ein besserer Titel wäre 'Gutes und korrektes Deutsch für Diplomarbeiten und Dissertationen'

Der Titel des Buches “Technisches Schreiben: (nicht nur) für Informatiker” ist viel zu allgemein. Der Autor betrachtet ausschließlich die akademische Seite der Informatik und auch nur die deutsche Sprache.

Apr 07, 2011

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.

Mar 13, 2011

Hervorragendes Buch für Einsteiger und Fortgeschrittene

“Ray Tracing from the Ground Up” ist ein hervorragendes Buch für Einsteiger und Fortgeschrittene. Man merkt, dass sich der Autor viele Jahre mit dem Thema beschäftigt hat und dass er selber Ray Tracer geschrieben hat.

Jan 10, 2011

Using Scala and TestNG with Gradle

During the christmas holidays i tried out Scala and TestNG with Gradle.

Dec 30, 2010

Sony Alienates Early PlayStation 3 Fans

On April 1st, Sony released an update for the PlayStation 3 that discontinued support for Linux. This move angered many, sparking intense reactions and discussions.

Apr 07, 2010

Column-oriented databases

From 2002 to 2006, I worked at a Canadian manufacturer of a column-oriented database.

Feb 01, 2010

CUDA Real-Time Ray Tracer

During the christmas holidays i rewrote my ray tracer for the NVIDIA CUDA architecture.

Jan 03, 2010
Schulung: 'Testgetriebene Entwicklung mit JUnit 4'

Schulung: 'Testgetriebene Entwicklung mit JUnit 4'

Oct 11, 2009
Schulung 'Subversion'

Schulung 'Subversion'

Oct 10, 2009
Schulung 'Ant im Detail'

Schulung 'Ant im Detail'

Oct 09, 2009

Compiling OpenCL programs on Mac OS X Snow Leopard

I installed Snow Leopard on my laptop yesterday. I was very curious about OpenCL and installed the drivers and the GPU Computing SDK from NVIDIA.

Sep 28, 2009

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 and UML2 code.

Aug 01, 2009
Hyper-Threading with the Intel Core i7

Hyper-Threading with the Intel Core i7

I have got a new computer. As alway i build it myself. How much faster is it?
Jun 14, 2009

Parallelization with Haskell - Easy as can be

The functional programming language Haskell provides a very easy way of parallelization.

Jun 07, 2009
Real-Time RayTracer running on Intel Core i7

Real-Time RayTracer running on Intel Core i7

I tested my ray tracer on Intel Core i7 920 @2.67 MHz.
Jun 04, 2009
Real-Time RayTracer running on Core 2 Duo

Real-Time RayTracer running on Core 2 Duo

I tested my ray tracer on my Mac Book Pro.
May 24, 2009
Parallelization with the Cell Broadband Engine

Parallelization with the Cell Broadband Engine

I wanted to learn about the cell broadband engine in the Playstation 3 and wrote a parallel ray tracer for it.
May 19, 2009

Little big planet and computer graphics

I am fascinated by the possibilities of modern computer graphics. It all began while playing the game Little Big Planet. It does not look like a computer game. It looks like the results of handicraft work with scissors, glue, paper, drapery, etc.

Feb 19, 2009

New version of the library of geometric algorithms in Haskell

Almost 10 years after the initial release, i released an updated version of the library of geometric algorithms in Haskell. It now builds with Cabal and requires the Glasgow Haskell Compiler.

Feb 27, 2008

Memoization in Groovy with a Decorator

Memoization is a well known optimization technique to avoid repeated calculations. With dynamic programming languages like Groovy it is possible to extend the behaviour of an already exisiting class at runtime.

Feb 27, 2008

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

Feb 01, 2008

Accessing EMF models with JRuby

JRuby provides access to Java packages, so it is possible to use packages created with the Eclipse Modeling Framework (EMF).

Jan 27, 2008

6th place at the Dynamic Languages Shootout at OOP 2008

The challenge was to implement Scrabble® in a dynamically typed programming language. I used Groovy and Grails.

Dynamic Languages Shootout at OOP 2008
Jan 23, 2008
Writing Eclipse plugins with Groovy

Writing Eclipse plugins with Groovy

Writing plugins for Eclipse with other languages than Java is not officially supported, but there is a way to write an Eclipse plugin with Groovy only.
Jan 17, 2008

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.

Dec 01, 2007

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.

Nov 29, 2007
Rapid Application Development with Groovy

Rapid Application Development with Groovy

Nov 01, 2007
Using EMF with Groovy

Using EMF with Groovy

This article shows how Groovy can be used with the Eclipse Modeling Framework (EMF).
Oct 22, 2007
Editor for the Common Warehouse Metamodel (CWM)

Editor for the Common Warehouse Metamodel (CWM)

The Common Warehouse Metamodel (CWM) is a standard by the Object Management Group (OMG). The intention of CWM is to define a standard for metadata in Data Warehouses and Business Intelligence applications.
Oct 01, 2007

Higher order Markov chains in Ruby - Ruby Quiz #74

Here’s my second solution for the quiz No 74. It generates text with a first or higher order Markov chains. See also the first order version.

Apr 11, 2006

Markov chains in Ruby - Ruby Quiz #74

Here’s my solution for the quiz No 74. It generates text with a first order Markov chain.

Apr 09, 2006
Eclipse-Editor for data warehousing metadata with EMF

Eclipse-Editor for data warehousing metadata with EMF

Apr 02, 2006
Eclipse SQL Editor Plugin

Eclipse SQL Editor Plugin

Mar 07, 2006
The Graphical Editor Framework (GEF)

Graphical Editors with Eclipse

May 10, 2005

Fraud Detection with Artificial Intelligence

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 Karlsruhe, there was not much information available on the topic of ‘Data Science’. Back then, it was more commonly referred to as ‘Knowledge Discovery in Databases’ (KDD) in academic circles or ‘Data Mining’ in the business world.

Jan 02, 2005

Geometric algorithms in Haskell

In my diploma thesis I investigate functional programming and geometric algorithms

Diplomarbeit 'Geometrische Algorithmen in Haskell'
Oct 19, 1998

Dynamisches Scheduling in Realzeitsystemen

In dieser Seminararbeit für mein Hauptstudium habe ich 1996 Algorithmen für das Scheduling in verteilten Realzeitsystemen im Rahmen meines Informatikstudiums behandelt.

May 07, 1996

Optimale schnelle List-Ranking- und Präfix-Algorithmen

In dieser Seminararbeit werden optimale Algorithmen für Präfixsummen behandelt.

Optimale schnelle List-Ranking- und Präfix-Algorithmen
Feb 05, 1995

Graphics programming in c't

Programming TrueColor graphics with the Diamond Speedstar 24x

Programming TrueColor graphics with the Diamond Speedstar 24x
Mar 31, 1993