Author Archives: Matthias

Let’s Encrypt on WordPress.com

A couple of days ago, WordPress.com announced that they are now supporting TLS for custom domains (which is how this blog is hosted). There are many reasons for not hosting a blog yourself even if you have the necessary skills, like not … Continue reading

Posted in meta | Tagged , , | 1 Comment

Resolving JARs

Sometimes it’s useful to check whether a local JAR file is available from Maven Central, for example when converting an old build system to Maven. In many old systems, JARs aren’t named consistently and versioning info isn’t available. Fortunately, Maven … Continue reading

Posted in java, Uncategorized | Tagged | Leave a comment

Let’s Use TLS

I have followed the HTTP/2 specification process closely and I like how the new protocol improves web performance and makes old workarounds obsolete. One drawback of deploying HTTP/2 is that most browser vendors only implement it on top of TLS. Since … Continue reading

Posted in best practices, Uncategorized | Tagged , , , | Leave a comment

Frontend Engineering

Despite all its shortcomings as a programming language, JavaScript isn’t a dirty word anymore. A decade ago, most self-respecting developers would refuse to even touch it, so it was left to web designers and junior developers who spiced up a few HTML pages … Continue reading

Posted in misc | Tagged , , | 1 Comment

Normalizing Text in Java

Once in a while I see misguided attempts at normalizing text to make it suitable for use in URLs, file names, or other situations where a plain ASCII representation is desired. This can be tricky but with Java’s excellent Unicode … Continue reading

Posted in java | Tagged , | 2 Comments

Web Service Security

As a developer, I’ve used lots of web services and also implemented plenty myself. I’ve seen services with IP-based security provided by network firewalls, services protected by standard HTTP Authentication, TLS with client and server certificates and custom mechanisms using … Continue reading

Posted in misc | Tagged , | Leave a comment

Preventing Cascading Failure

With the advent of reactive programming and frameworks like Netflix’ Hystrix, classic stability patterns like Nygard’s Circuit Breaker Pattern have entered mainstream software development. The circuit breaker is used inside your clients to cut the connection to a collaborating system … Continue reading

Posted in best practices | Tagged , , , | Leave a comment

Two-Factor Authentication

With more and more of my personal data being hosted in the cloud, I felt that I needed to take security more seriously. Since passwords are the weakest link in most systems, I was looking for a better solution. While … Continue reading

Posted in misc | Tagged , | 1 Comment