Welcome to my homepage


I love writing. That is, articles, apps and books. Also, I am a confessing mobile computing addict. And you can frequently watch me speaking at conferences and meetups.

Being a child of the 70s my first encounter with programming was in the era of home computers. Those tiny machines (mine was a Laser 210) were usually fed with BASIC, which was the first programming language I learned. Later came C, Perl and a few more. During the 90s I wrote a bunch of programs for the Atari ST series. I was so proud of my TT.

The first decade of my professional career was (inevitably) Java. Today it’s mostly Kotlin, C#, Dart and Swift.

Upcoming and recent activities

[talk] Composables under the hood

2021-01-24, 02:35 PM, GDG DevFest DACH 2020
Building declarative user interfaces with Jetpack Compose is easy and fun. But if you come from imperative frameworks, you are used to certain ways of doing things. For example, custom components can be implemented using drawing primitives. How is this achieved with composables? Also, what about the main thread. Do we still need to take care of this? In this talk I will map imperative best practices to the declarative world. You’ll see plenty of examples and running code.
Event details

[talk] Waiting for Godot / Warten auf Godot

2021-01-20, 06:30 PM, JUG Metropolregion Nürnberg
This online event takes a very close look at Kotlin coroutines and compares them with similar concepts in Java, JavaScript and C#.

[java] Use custom fonts in JTextArea

Through the years I have created tons of small examples, which illustrate a very specific task or use case. I decided to publish them as a series of small posts. Some topics may be rather old stuff, hopefully interesting nonetheless.

[talk] Imperative was yesterday / Imperativ war gestern

2020-10-26, 05:15 PM, MobileTech Conference & Summit
This talk details the advantages of declarative over imperative ui frameworks and takes a close look at core ideas and concepts. You can find the slides on GitHub.

[talk] Kotlin/Native / Wie man mit Kotlin native Apps baut

2020-10-13, 10:55 AM, KKON 2020
This talk gives a thorough introduction to Kotlin/Native. The conference was cancelled due to Covid-19. However, the talk was prerecorded. You can watch it on YouTube.

[talk] Kotlin Coroutine Deep Dive

2020-02-05, 09:00 AM, OOP 2020
This talk takes a very close look at Kotlin coroutines. It discusses how to use them and addresses areas of potential pitfalls.

[books] Minor bugfix in one of my samples

One reader of my book Android 7 pointed out that one of the samples was showing duplicate contacts. It turns out that this small glitch is present in the latest edition, too. In the just released Android 8 edition the bug is in Listing 5.13,, on page 198:

[news] On analyzing Android class and package dependencies

Recently I had to analyze the class and package dependencies of an Android app. Jens Schauder maintains an awesome tool called Degraph. Its purpose is to test, visualize and manage dependencies of classes and packages in JVM byte code. So, I asked myself, why not use it? Well, although the Google toolchain used to rely on standard Java byte code as an intermediate step, this may no longer be the case in the future. But its final artifact (the end of the toolchain if you like) consists of one or more Dalvik executables. If you take a look at an Android application package (.apk), you will find a file named classes.dex. Depending on the size of the app, there may be other, similarly named ones, too.

[javafx] Just a handful lines of code

Allow me to introduce you to… Image Snatcher….

[news] Welcome Android N preview, welcome Java 8

Today, Google announced a very early Android N preview. During my talk at TopConf Linz in February I speculated that we would be seeing Java 8 language features through the Jack compiler. Well, it’ll be exactly that way.

All activities

I maintain a list of all activities available on this site.