Blog Archive

February 2023

Let Grails fly in the cloud

13 February 2023

This week I wanted to load test a grails application under real conditions. So I needed a simple way to deploy a grails application to a real server (not my notebook).

January 2023

Nerd-Spielzeug: WiFi AP

26 January 2023

Das letzte Mal habe ich von den Features von Zümi erzählt. Dieses Mal möchte ich die Umsetzung des ersten Features beschreiben.

Docs-as-Code Gedanken

11 January 2023

docusaurus und mdx Antora syntax

December 2022

Nerd-Spielzeug: Zümi

20 December 2022

Die letzten Jahre habe ich mich immer wieder für verschiedene nerdige Themen wie 3D-Druck, Raspberry Pi, Arduino und Elektronik interessiert. Aber ich habe mir nie die Zeit genommen was mit diesem Wissen umzusetzen.

Nerd-Toy: Zümi

20 December 2022

For the last few years, I’ve been interested in various nerdy topics like 3D printing, Raspberry Pi, Arduino and electronics. But I have never taken the time to do anything with this knowledge.

September 2022

Stoizismus - Praktische Philosophie für den IT-Alltag

04 September 2022

Dieser Post basiert auf meinem Vortrag Stoizismus - Eine Praktische Philosophie für den IT-Alltag. Das Video dazu ist auf meiner Talkseite verlinkt.

Stoicism - Practical Philosophy for Your Daily IT-Life

04 September 2022

This post is based on my talk Stoicism - A Practical Philosophy for Everyday IT. The video for this is linked on my talk page.

August 2022

Architecture Decision Records Teil 3 - Im Kontext von arc42

29 August 2022

Nachdem ich im letzten Artikel das Was und Wie von Architecture Decision Records erläutert habe, geht es diesmal darum Architekturentscheidungen in den Kontext des arc42-Templates einzubetten.

March 2022

JavaLand 2022 Gedächtnistörtchen

20 March 2022

Im JavaLand gab es diesmal super leckere Törtchen - wohl auch Petit Fours genannt. Ich dachte erst, die würden viel zu süß sein, aber nein. Nach anfänglich einem einzelnen, konnte ich mich auf drei plus Espresso steigern.

November 2021

Remote Dev Environments

22 November 2021

Do you remember the times when the biggest challenge to compile a project was to set up the correct build environment with all required dependencies?

Architecture Decision Records Teil 2 - Das strukturierte Format für Architekturentscheidungen

02 November 2021

Nachdem ich im letzten Artikel hergeleitet habe, warum es eine gute Idee ist Entscheidungen zu dokumentieren, will ich heute das Was und das Wie beschreiben.

April 2021

Architecture Decision Records Teil 1 - Warum Entscheidungen dokumentieren?

11 April 2021

Entscheidungen zu dokumentieren stellt meiner Erfahrung nach Verbindlichkeit und Transparenz her. Um Architekturentscheidungen zu dokumentieren hat sich für mich ein Format namens Architecture Decision Record (kurz ADR) bewährt.

February 2021

Schwarzwälder Kirschtorte

21 February 2021

Jedesmal, wenn ich zu Besuch bei meiner Großmutter war, konnte ich wählen, welche Torte es Sonntags geben sollte. Zur Auswahl standen Schwarzwälder Kirsch und Prinzregenten. Meist wurde es die Schwarzwälder Kirsch. Das Originalrezept ist leider nicht überliefert, es war aber natürlich bei weitem Besser als alles, was ich an Schwarzwälder Kirsch sonst vorgesetzt bekommen habe. Das lag zum einen an der leckeren Buttercreme (nein, Sahne geht gar nicht!) zum anderen aber auch an den leckeren handgeraspelten Schoko-Raspeln.

November 2020

Dynamic AsciiDoc with Groovy and jBake

11 November 2020

Did you ever wish to be able to create more "dynamic" documents with AsciiDoc?

August 2020

Build your own Webcam - Part 3

29 August 2020

We are still in a situation where working from home is the normal situation. And while maybe you already got enough webcams to solve your conferencing problems, here are two new ideas.

July 2020

Greenscreen für Online-Besprechungen selbst bauen

03 July 2020

Wer sich mit dem Thema Video-Streaming beschäftigt kennt sie unweigerlich: Greenscreens. Aber auch in der Zeit der Online-Meetings und Zuhausearbeit kann mit ein klein wenig Aufwand ein Online-Meeting aufgepeppt werden.

May 2020

Build your own Webcam - Part 2

16 May 2020

As promised, I gave some of the tutorials from my last post a try. Here is what I learned so far.

Build your own Webcam

01 May 2020

Before Corona, I was quite happy with my build-in webcam together with an additional external logitec C920HD. The logitec mainly replaced my build-in cam for my company notebook - it has a far better quality.

March 2020

How to Self-Record your Conference Talk

09 March 2020

Some time ago, I attended a talk by Bernd Rücker. I can't remember the talk anymore (probably something about workflows and decisions), but I remember that he set up a camera and self-recorded his talk. After the talk, he used the coffee break to post-process the video and upload it to youtube.

July 2019

Präsentationen Best Practices

27 July 2019

Manchen Sprechern hört man einfach gerne zu und bei anderen möchte man trotz eines interessanten Themas einfach nur den Raum verlassen. Viele Dinge beim Vortragen kommen mit der Zeit. Darunter fällt für mich die nötige Gelassenheit, eine klarere Ausdrucksweise und ein gewisser Witz. Diese Dinge können aus meiner Erfahrung die wenigstens Sprecher, die noch nicht lange vor Publikum sprechen. Das sieht man eher bei erfahrenen Sprechern mit mehreren Jahren Erfahrung.

Mutationstesten: Abgrenzung zu anderen Testverfahren

27 July 2019

Mutationstesten ist ein Verfahren, um Tests aussagekräftiger zu machen. Es ist quasi der Goldstandard unter den Testabdeckungsmetriken. Warum? Es prüft nicht nur, ob eine Zeile Code abgedeckt wurde, sondern auch, ob der/die dazugehörige(n) Test(s) tatsächlich Fehler in dieser Zeile finden können. Dazu werden kleine absichtlich kleine Fehler in den Code eingebaut (Mutationen), die von der Testsuite gefunden werden sollten. Wie das alles genau aussieht, werde ich demnächst beschreiben.

Die Probleme mit DRY auf Modulebene

27 July 2019

Das DRY – Don’t Repeat Yourself – Prinzip haben die meisten Entwickler*innen als wichtiges Prinzip verinnerlicht.

Das Ziel von Mutationstesten

27 July 2019

Mit das Interessanteste an einem Vortrag sind die anschließenden Fragen. Beim letzten Mal hatte ich das Gefühl die Fragen zum Mutationstesten nicht zufriedenstellend beantwortet zu haben. Deswegen versuche ich das, in den nächsten Blogs nachzuholen.

Code Coverage am Beispiel Zweigüberdeckungs Branch Coverage

27 July 2019

Im letzten Blog ging es um Zeilenüberdeckung.

Code Coverage am Beispiel: Pfadüberdeckung (Path Coverage)

27 July 2019

In den letzten beiden Blogposts ging es um die Überdeckungsmaße Zweigüberdeckung Zeilenüberdeckung. Die Zweigüberdeckung ist ein stärkeres Maß für die Qualität der Abdeckung, da sie die Zeilenüberdeckung enthält. Sie ist also eine echte Obermenge.

Code Coverage am Beispiel: Zeilenüberdeckung (Line Coverage)

27 July 2019

Wie letzte Woche angekündigt, werde ich diese Woche beginnen, die verschiedenen Überdeckungsmaße für Code vorzustellen. Als Beispielprojekt habe ich mir das Game of Life von Conway ausgesucht, was als interessante Übungsaufgabe Einiges an Logik hergibt.

Buchrezension Basiswissen für Softwarearchitekten 3 Auflage

27 July 2019

Das Buch soll als Vorbereitung für die Prüfung zum iSAQB Certified Professional for Software Architecture Foundation Level dienen. Dazu soll es auf dem aufbauend auf dem Lehrplan alles notwendige Wissen enthalten, das zum Bestehen der Prüfung notwendig ist.

April 2019

My Shell-Config on Windows 10

01 April 2019

Windows 10 together with the Windows Subsystem for Linux (WSL) is now a great OS for development. You can easily switch between the powershell and bash and thus test your code on both systems.

November 2018

The Results are in!

02 November 2018

Hacktoberfest turned October into the most productive month of the last year in regards to docToolchain:

August 2018

HttpBuilder-NG

10 August 2018

When you write integration tests for your web application, you certainly need an http client. But there are many on the market - too many and all with different approaches.

February 2018

Let's start to _model_ our software architecture!

05 February 2018

As architect, you are often reminded that you should model your architecture and not just draw diagrams. But have you ever seen a real architecture model?

January 2018

Open Source is GREAT!

14 January 2018

Some thing you just have to experience yourself before you realize it. One of those things is the power of open source.

looking back at a great 2017

07 January 2018

The year is already seven days old, but it is still time to take a quick look back.

December 2017

Dokumentationen als Code

29 December 2017

November 2017

Modulare Dokumentationen

08 November 2017

October 2017

Neue Kolumne

18 October 2017

May 2017

plantUML with Asciidoctor-pdf

01 May 2017

The last few days I had to learn the hard way that plantUML (as part of asciidoctor-diagram) is not a frient of asciidoctor-pdf.

October 2016

systematically improve code and structures

10 October 2016

Last week, I had the chance to attend a three day training on how to systematically improve software systems. It is called "IMPROVE" and is given by Dr. Peter Hruschka and Dr. Gernot Starke. The german description can be found here: http://www.arc42.de/improve.html

May 2016

Groovy is Java is Groovy...

09 May 2016

There still seem to be some Java-Developers who are afraid of mixing their Java codebase with the power of Groovy.

April 2016

A Groovy Notebook

30 April 2016

From time to time I stumble upon a web application which lets you write notebooks like the ones you know from Mathematica. They let you mix formatted text which explains your code with code snippets. The output of those snippets is displayed and the code builds up snippet by snippet.

Wacom Bamboo Spark - could have been so much more...

28 April 2016

Bad news first: I guess I do not belong to the target group of the Wacom Bamboo Spark :-)

Serialize a Map as JSON or YAML

06 April 2016

When working in a web environment, you often have to transfer arbitrary data like lists or maps as String of the network.

March 2016

Jatumba!

10 March 2016

Zwei Tage Javaland liegen gerade hinter mir. Zusammen mit Tobias Kraft hatte ich die tolle Gelegenheit unseren Vortrag über Spock und Geb nochmal vor einem größeren Publikum vorzutragen.

August 2015

Domain Class Diagrams for Grails Projects

14 August 2015

A Grails project can quickly grow into larger applications. In order to still keep an overview, some architecture documentation is quite useful. One of the most useful diagrams to dive into an application is the domain class diagrams which shows you how your business or domain object interact.

July 2015

Spock-Reports for Grails 2.5

16 July 2015

In two previous posts (Grails3.0 & Grails2.2) I described how to use Spock-Reports with Grails 3.0 and Grails 2.2.

Spock-Reports for Grails 2.2

14 July 2015

In a previous post I described how to use Spock-Reports with Grails 3.0.

A Fool with a Tool is still a Fool...

12 July 2015

...but sometimes the tool makes a difference! I just came back from an interesting 3 day workshop on which I had a first chance to make use of my drawing equipment I bought recently. Originally, I wanted to draw some slides for my talk at Entwicklertag Karlsruhe but we later dropped the idea in favour of professional clip art.

Spock-Reports for Grails 3.0

11 July 2015

Spock-Reports is a great way to create better reports for Spock.

Spock und Geb - Übersichtlich und nachvollziehbar Testen für alle!

05 July 2015

Auf dem Entwicklertag Karlsruhe hatte ich zusammen mit Tobias Kraft mal wieder die Möglichkeit meine Ideen in einem Vortrag zu präsentieren. Mittlerweile ist sogar das Video zum Vortrag online.

March 2015

Spock-Reports with Templates

15 March 2015

The new template engine for the Spock-Reports-Plugin is out. Let's build an asciidoc template with it.

How to use the Spock-Reports-Plugin with Gradle

14 March 2015

Since I experienced some problems when I tried to use the Spock-Reports-Plugin in Grails, I now tried to use it with Gradle.

Starting a new Blog

03 March 2015

Just started my new blog. I've already had several blogs with more or less success, so why do I now start another? First of all because I don't what to be a ghost developer.