Image Zoom with plain JavaScript and CSS

— I'm a back-end developer and rarely dabble in the fine art of writing JavaScript. This site still uses jQuery for handling image zooming. No more!

Bitcoin Mining Anno 2017

— Bitcoin is still going strong since its introduction in 2008. Mining Bitcoin has become increasingly difficult, so how does one mine BTC in 2017?

Marantz PM80 Mk2 Repair Log

— The venerable Marantz PM80 Mk2. This unit was completely dead, but I was able to bring it back to life!

Squash git commits when merging

— Got a branch where you tried lots of different things to fix that nagging bug, but want to clean up your git history when merging?

Music Streaming Setup

— I love listening to music. Although I prefer the off-line, analog way of listening to vinyl records, I also a small-ish CD collection I'd like to use on the go.

Denon PMA 720a Repair Log

— A classic 1989 Denon PMA 720a Integrated Amp that made a bang and wont't turn on. Let's solve this!

Marantz SR5200 Repair Log

— A Marantz SR5200 receiver with a non-working front-right channel. Let's fix that!

Denon PMA-560 Repair Log

— Log of diagnosing and repairing a Denon PMA560 Stereo integrated amplifier.

Rails generate model: be specific

— Rails offers some very useful generators, one of which creates new model, including migrations. But did you know you can get into the specifics right from the command line?

Building Golang CLI Tools Update

— After my previous post on using a `Makefile` to set version and build info I got some valuable feedback from other Gophers. Here's an update.

A makefile for Golang CLI tools

— Golang is very useful for creating command line interfaces. It does get complicated when you also want to set variables at compile time. I've made a Makefile for that.

Testing with MiniTest

— Minitest is a small and fast test framework that works delightfully well with Ruby on Rails.

VoltMeister 100: Bench Power Supply - Part 2

— In Part 1 of this series I discussed how an ATX power supply can be usedto create a poor man's bench power supply. In Part 2 I'll show you howI managed to fit the ATX power supply, my control board and everythingelse neatly into a single box.

VoltMeister 100: Bench Power Supply - Part 1

— A bench power supply is one of the essential tools of any electronics hobbyist.Although you can buy a such a unit for less that € 50, it's way more fun to build one yourself.

Why I dropped fish in favour of Zsh

— Developers are religious about two things: their editor and their shell. Many will say fish is the best there is, but after a few months of fish, I'm back to Zsh.

Rails: Prevent Accidental Debugging Commits

— Figuring out complex app behaviour in development often requires you to pull some tricks. It would be very awkward if those changes found their way into production unintentionally.

Synchronize goroutines in your tests

— In most cases testing channels is not necessary. You can easily wrap the functionalityunder test in a function and test that. Sometimes, however, you really need to validatethat those channels behave the way you want.

GPG Sign Your Git Commits

— The relevance and need for trust in the realm of email, using GPG, has been talked about a lot latetly. But how about trust when itcomes to the code your write? Would it be possible to sign your commitswith GPG to generate trust?

Testing $HOME with Cucumber and Aruba

— Cucumber and Aruba make it awesome to write acceptance tests for your command line programs. But how do you test your program interacting withfiles from a user's $HOME directory?

Dealing With Technical Debt

— Technical debt is not a new phenomenon. I'm working on a Rails projectwhere there's plenty of technical debt to get in the way. Here's howthe team deals with it.

Pretty Difficult Privacy

— I have been mildly interested in digital security and privacy for years. With the introduction of that interest gotsparked again and I investigated the current state of GnuPG.

To Blog or Not To Blog

— My last post was 154 days ago. That's about five months and no posts in the year 2014. I have been wondering why I haven't written any postslately and this is what I discovered.

Deploying with git-deploy

— I've blogged before about deploying Rails applications. Normally I opt for using capistrano, but it turns out git-deploy is a light-weight, but worthy alternative.

Divide and Conquer

— Getting up early and getting things done is one thing. As itturns out, there is something more to it: divide and conquer.

Early Birds

— From begin a lazy nerd to an early riser. This is how I broke my sleeping habit to get things done in the early morning.

I'm here for an argument

— Asking for something is not easy, especially if the other party does not want to give it. I've learned thatthere's a lot I could change about the way I ask people things.

Automated nanoc deployments

— In my eternal quest to have a nice, fast and fun to use blogging platform for, I've switched over to Nanoc – a static site generator in Ruby.

Party time!

— Happy birthday to me!

I’m Back!

— I told you I'd be back...

Got updates?

— Here's what's new on

Cheat sheets? Look here!

— Over here! Cheatsheets for all kinds of stuff, including AJAX, CSS and Latex