I am a big Nextcloud user. I use it for my files, notes, images, videos, calendar, mail, newsfeed, collaboration, and much more. So when I couldn’t find an application that seemed a natural match for Nextcloud, I decided, I could try to build it myself. The last time I worked on a Nextcloud app, I used a complicated Vagrant setup, that worked but didn’t feel right. That’s why I tried see if I could create an easier version with docker and docker-compose. Continue reading

Hand Wired Numpad
Following the QMK tutorial for building your own hand-wired keyboard is pretty straight forward until you reach the part where you actually want to flash your keyboard. It just tells you to download the QMK toolbox and click flash. The thing is: The toolbox is only available for Windows. But if you’re using Linux don’t fret. Here is how you flash your own hand-wired keyboard without booting Windows even once. Continue reading

My son has found a spot in a Kindergarten. In Berlin. In 2019. It’s a miracle that comes with a hefty price tag: Kindergarten diseases. Current record is three distinct illnesses in one week. To avoid going insane, I chose to use my new unscheduled down time by learning a new language – “Go” – and use my plight as inspiration for my first, small application: Giving my coworkers the opportunity to bet on the reason for my next absence. Continue reading

In my line of work, you basically have to options to keep your sanity. You either become jaded or you go into full-on paranoia mode. And I recently started to catch myself looking longingly at tin foil hats. That’s why I have my very own cloud! But since I’m currently the sole breadwinner in our expanding family, I’m on a tight budget. So, I present to you, The Frankencloud 3000! Cobbled together from discarded parts I scrapped from our SysAd’s desk: A Raspberry Pi 3 Model B+ and an old 1 TB internal hard disk in an USB case. As this is far from ideal (or stable), I need a good backup strategy. Preferably remote, so that a fire won’t destroy two years of baby and puppy pictures. I have a storage box somewhere that I can rsync to, but then my pictures are on somebody else’s computer which brings me back to my tin foil hats. I don’t want that. Not without some layer of encryption. And that’s where gocryptfs comes into play. What I want is to have my data to be encrypted on the fly before being rsynced to my storage box. And here is my solution.
Continue reading

I have a love/hate relationship with codeception. When it works, it’s my prince charming on a white horse coming to rescue me from the plight of testing. But ever so often it’s a convoluted and badly documented mess that wrecks havoc to my productivity as I frantically search the net for the one blog post that could help me out. Maybe this can be one those blog posts for somebody else. It’s about how to replace a service (i.e. with a mock) inside the symfony container in a functional test.

Continue reading

PHP’s “empty” function is a weird little fellow. Basically, it tests if a given variable exists and is not evaluated to false !isset($var) || $var == false And since PHP and has a unique interpretation of what counts as false, I try to replace it with a more explicit counterparts whenever possible. It still creeps up on me sometimes, in places long forgotten, written by a much less careful version of myself. Like a few days ago, when a colleague of mine walked into my office complaining about why our internal system didn’t except his CSV file anymore.

Continue reading

Well, this is a wordy headline. But if you are running into this problem – like I did – you might search exactly for this and this is called effective seo or something. Here is the premise: You are using Vagrant, like any self-respecting developer would do and you also have soft spot for JetBrains products, i.e. PhpStorm, then you might want to start and stop vagrant directly from your beloved IDE. As you should! You paid good money to be spared from entering commands into a terminal.
Continue reading