The Initializer Pattern in Java

Posted on Sat 18 March 2017 in Design Patterns • Tagged with builder pattern, Heinz Kabutz, initializer, Java

A "type-safe builder pattern in Java".

The Lean Inception

Posted on Thu 16 March 2017 in General Software Development • Tagged with lean inception, Martin Fowler, MVP, Paulo Caroli

I should probably read this series of articles by Paulo Caroli before I try to convince my boss why implementing an MVP is a good idea.


Posted on Thu 09 March 2017 in Sysadmin • Tagged with boinc, headless, PiBakery, raspberry pi, tor, VNC

A great way to configure a Raspberry Pi from scratch is PiBakery. After struggling a while with setting up a VNC server and some other things on a fresh Pi connected only via Ethernet (no display, keyboard, or mouse), finding PiBakery was very helpful.

Here's my configuration:

PiBakery configuration

The long string …

Continue reading

Using your SSL certificate for your Spark web application

Posted on Thu 09 March 2017 in Web Development, Sysadmin • Tagged with encryption, Java, Java keystore, let's encrypt, Spark, SSL

I've fallen in love with Spark recently. Being unexperienced with web development, I stumbled upon Spark when I was looking for a small framework for setting up a simple web application based on Java. My learning curve has been steep and my first website (consisting of nothing but a simple …

Continue reading

Referencing a Bean in JasperReports

Posted on Sat 10 September 2016 in General Software Development • Tagged with Bean, jasperreports, stack overflow

Thanks to this answer on StackOverflow, I know how easy it is to reference the bean itself instead of one of its properties in a text field expression in JasperReports. The trick is to declare a field whose description is set to the keyword _THIS:

<field name="myBean" class="de …

Continue reading

Installing a Tor Relay from Source on a Raspberry Pi

Posted on Sat 03 September 2016 in Uncategorized • Tagged with git, raspberry pi, stack overflow, tor

The other day I learned on Twitter that I should update the Tor relay software on my Raspberry Pi as the Tor project had introduced a new Bridge Authority. So I lazily ran sudo apt-get update  followed by sudo apt-get upgrade only to notice that no new version of the …

Continue reading

Regex for German Zip Codes

Posted on Tue 05 July 2016 in General Software Development • Tagged with regex, zip code

I found the following regular expression (source) working fine for me:


I tried two alternatives that did not work because they were too general:



The first regex matches the …

Continue reading

Renewal of Let's Encrypt Certificates Using Plesk

Posted on Tue 14 June 2016 in Sysadmin • Tagged with Apache, certificate, let's encrypt, Plesk, SSL, web server

Note to self: If the Let's Encrypt extension for Plesk fails to renew a certificate (when triggered manually), disable the automatic forwarding to an SSL connection in the Apache settings. This forced secure connection seems to disturb the renewal script.

The error I got was something like this:

Let's …

Continue reading

Create Custom Application Icons for MacOS X

Posted on Sun 01 May 2016 in General Software Development • Tagged with icons, Mac

This blog post by Chris Stevens shows you how.

Testing Delegate Methods

Posted on Fri 15 April 2016 in General Software Development, Testing • Tagged with delegate method, J. B. Rainsberger, JUnit, unit testing

We had an interesting discussion the other day: should we write unit tests for delegate methods, that is, methods that only delegate the call to a delegate object? Here's an example of such a method:

public void do(Object o1, Object o2) {,o2);

I said I did …

Continue reading