Posts in Software Development
All posts in Software Development in chronological order with newest first.
Test driven development of concurrent programs in Kotlin at KKon 2022
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 and maintainable programs.
In my talk “Korrekte nebenläufige Anwendungen mit Koroutinen und TDD” at the KKon 2022 I show that test-driven development (TDD) is a solution.
Test driven development of concurrent programs in Kotlin at KKon 2022
I will talk about “Korrekte nebenläufige Anwendungen mit Koroutinen und TDD” (“Correct concurrent applications with coroutines and TDD”) at the KKon 2022.
Slides of my talk about 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.
Talk about coroutines in Kotlin at KKon 2021 Warmup
I will talk about “Nebenläufigkeit mit Koroutinen strukturieren” (“structuring concurrency with coroutines”) at the KKon 2021 Warmup.
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.
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.
Working for ThoughtWorks
After long considerations i decided to quit being a freelancer and joined ThoughtWorks in Hamburg, Germany.
Updated library of geometric algorithms
Today I released an updated version of the library of geometric algorithms.
Folien des Kurzvortrag 'Verbreitung von Familiennamen'
Die Folien für den Kurzvortrag beim Kultur-Hackathons Coding da Vinci Nord 2016 sind jetzt online.
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.
Covariance and Contravariance in Scala
I explain "covariance and contravariance" with some simple Scala examples.
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.
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".
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.
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.
Sony verprellt die ersten Fans der Playstation 3
Am 1. April hat Sony ein Update für die Playstation 3 herausgegeben, mit dem der Support für Linux eingestellt wird. Das hat viele verärgert und teilweise heftige Reaktionen und Diskussionen entfacht.
Parallelization with Haskell - Easy as can be
The functional programming language Haskell provides a very easy way of parallelization.
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.
Remark: This post was adapted to the new blog format in November 2016.
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.
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).
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.
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.
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.