portrait

End of Line blog

Thoughts on software development, by Adam Ruka

Latest articles

Improve your tests with Specnaz

There was an article on Reddit recently talking about how upgrading to JUnit 5 can help you write better tests. I thought it would be fun to write a similar article, but instead of JUnit 5, talking about Specnaz, my Java and Kotlin testing library.

Why do Java static final fields have default values?

In the Java programming language, static final fields can never be reassigned after the class they belong to has been loaded. Given that, you might be surprised that they go through a two-phase initialization process: they are first assigned their type's default value, and only after that their ultimate value. This sounds surprising at first – why bother initializing something that is constant twice? But as it turns out, there are some subtleties in Java that make this necessary. In this article, we dive into those corner-cases.

Most important principle in software development: shorten the feedback loop

In this article, I want to talk about what I believe is the fundamental principle underlying all successful software development: shortening the feedback loop.

All articles »