Mindblown: a blog about philosophy.

  • Iron Law of Responsibility

    Apparently formulated by Keith Davis and Robert Blomstrom (1971): “In the long run, those who do not use power in a manner that society considers responsible will tend to lose it.” The concept is interesting and predates what you can currently find in Wikipedia for CSR. I couldn’t find the proper source in a cursory…

  • Introducing JLauncher

    The JVM has become a standard execution environment for a lot of server code. It’s no longer only Java, but also languages such as Scala, Kotlin and Clojure that target the JVM. However, for creating everyday command line tools I have quite often used languages such as bash, python or ruby, because it is much…

  • Brexit Means Brexit

  • New jproc Release

    I have just released version 2.2.0 of jproc, a handy library to run external programs from Java. It is nice to use a serious programming language (whichever JVM language you consider serious) rather than just bash, if things get a bit more complicated (set -eux anyone?). This version comes with a couple of minor improvements.…

  • Wrapping Exceptions with Context

    A good error / exception message should provide enough information to pinpoint a problem. In most modern languages there is a stack trace feature that will show how the program got to the point where it broke. Unfortunately this information is very static in nature; all the dynamic context is lost. To solve this problem…

  • Shades of Green – The Release Candidate Report

    On our current project we practise continuous integration and we perform weekly releases. To simplify the decision whether a particular build is fit for production we introduced a release candidate report that contains all the information that we usually take into account as well as instructions on how to interpret this information. In this article…

  • Dealing with Flaky Tests using Data

    I recently wrote a sbt plugin that produces tabular test reports. My motivation was to get better insights into the reliability of our test suite. Due to good discipline most failures that occur are caused by flakiness of tests that usually pass on developer machines, but are causing problems on the faster build machines. We…

  • Managing Configuration

    The Problem In almost every serious software development effort that entails integrating different systems multiple environments are being used throughout development, testing and the production use of the system. Each of these environments typically contains a number of systems, that interact with each other. Each system needs to know how to talk to the systems…

  • Go Defrustrator

    At programmiersportgruppe I blogged about the go-defrustrator, a userscript that dynamically improves Go’s user interface.

  • Sad Truth

    This Saturday I made a rather chilling discovery. Most people in my generation know the ingenious prankster Emil i Lönnerberga. And – as the wikipedia article states – we were lead to believe that he grew up to be a reponsible man and indeed the chairman of the local council. And then I saw this:…

Got any book recommendations?