Language hacks

Nothing is ever “not bad”

Camouflaged as a pleasantry, we can show appreciation much more effectively than through using “that’s not bad”.

Software architecture

Why it’s best to colocate unit tests

Grouping unit tests and the code they test is much more maintainable than keeping them in separate directories.


On trends in design

Trends promise to make defining a product’s or brand’s visual appearance easier, but they come with their own set of drawbacks.


Make your time count

When working in technology, we can do a great many things, some of which are absolutely not worth doing.

Language hacks

Drop the “should”

The word “should” is often completely unnecessary. In most instances, it can be avoided entirely, which leads to clearer and more assertive language.


How to name color-variables in Sass

Even through CSS-preprocessors brought variables to our stylesheets years ago, they are still being used incorrectly in many places.


Writing BEM-style CSS with Sass

The `&`-operator in Sass can greatly reduce the typing work required when using BEM in your stylesheets.


grunt-contrib-sass and Node.js 0.10.8

grunt-contrib-sass does not work with the current version of Node.js. Downgrading Node.js to an earlier version fixes this problem.


Insights of a new screencaster

Planning, recording and publishing my first screencasts taught me a few basics to look out for when getting started in the field of infoproducts.


Debunking whitewashed exam statistics

The official statistics of a recent exam present an incorrectly positive picture. When taking a closer look, the numbers turn out to be a lot worse.

Functional programming

Screencasts on Standard ML in German

A well-intentioned but ultimately unfair move by a lecture’s organizers inspired me to record a number of screencasts on functional programming.


Writing high-performance CSS

Aside from the established best practices for reducing load times, a few things that can be done to stylesheets to make browsers render pages faster.

Functional programming

SML/NJ 110.74 on OS X 10.8 Mountain Lion

Additional configuration is required to make Mountain Lion and the version of SML/NJ currently being installed via Homebrew play together nicely again.

Functional programming

Painless installation of SML on OS X

The Homebrew package manager takes the pain out of installing SML/NJ on your system. Follow these steps for a hassle- and clutter-free installation.


On lazy journalism

I reflect on the bogus “journalism” that has led to me undeservedly and repeatedly being quoted on the death of a former colleague.