Blog

Thoughts, tech notes, in-depth articles and walkthroughs.

June 08, 2016 4 mins read
Thoughts

How to Learn Anything

Learning is awesome! Learning something new has so many benefits I can’t even list them all. First and foremost you grow personally. Learning teaches you to deal with setbacks and successes, fosters your interest in various topics and trains your willpower and endurance. From a social perspective learning (and mastering) a skill enables you to be of value to others, makes you an interesting person to talk to (and learn from!), and helps you keep connected to like-minded people. This article will show you how to learn anything you want.

Read more
May 31, 2016 4 mins read
Engineering

Running CrashPlan on a QNAP NAS with Docker

Recently I wanted to run Crashplan Online Backup on my QNAP NAS. First, I installed CrashPlan through the package provided in the QNAP AppStore and it worked well for about half a month. Then an unexpected power outage of the NAS left the CrashPlan service broken.

I could not find a way to get the service running again, and while looking for a solution I stumbled upon the blog post by Pedro Pombeiro showing how to install CrashPlan on a QNAP NAS with Docker. As I wanted to have hands-on experience with Docker anyways, I was sold.

Read more
May 14, 2016 3 mins read
Engineering

Deploying PHP Applications with Deployer

Deployer is a deployment tool written in PHP to be used by PHP applications. Deployer ships with out-of-the-box support for various popular PHP frameworks, including Symfony. For a recent project of mine I needed to execute database migrations during deployment, and hence a simple rsync deployment was not enough. That’s where Deployer kicks in.

Getting Started

Add Deployer to your project with composer require deployer/deployer and then unleash the beast with php vendor/bin/dep, which starts the deployment pipeline. To configure the deployment pipeline, you’ll need to create a deploy.php file in the root directory of your project along the lines of:

Read more
April 11, 2016 5 mins read
Architecture

Changeability in Software Architectures

One common theme popping up in projects is that change is the only constant. Code changes, architecture changes, technology changes, requirements change and people change. But often, change comes at a high cost. Things were just not prepared for change because doing so would have imposed the costs earlier on. But really the same costs? To reduce costs in the long run, wouldn’t it be beneficial to spend some effort in changeability upfront? Of course, but it is difficult to find the sweet spot between spending enough and too much effort to properly implement changeability.

Read more