In the past few years Docker and K8S have turned into the de-facto industry standard in containerization and easily scaling any infrastructure ( large or small ).

These two systems have had such an incredible adoption that many of us have neglected the flaws that might be apparent in them. This quicktip will teach you about one such flaw and an easy solution to something that most people will not even realize is right within reach.

Why is my disk usage steadily growing over time?

A couple days ago I was horrified when I logged into one of our staging servers and saw the following graph:

Image for post
Image for post
disk usage plot over the span of 30 days (staging)

When looking at…


Writing tests to support the code you write is an aspect of everyday developer life in most (if not all) companies.

In the past few years, the javascript testing scene has made some amazing leaps forward, phantomJS, TrifleJS, Karma, Jasmine, Chai, Mocha, …. Heck I could open a sweet coffee shop with all of these testing tools out there.

But regardless of their sometimes interesting names, there’s a lot of power baked into these testing tools. The following article gives a quick overview of my current setup for testing frontend Javascript in 2018.

1. Which testrunner ? And why ?

There’s several test runners out there, most…


Since a few months we’ve been heavily focused on Kubernetes (K8S) here at Valkyrie and after some trial and error we put together some sweet deployment scripts that combine Terraform, Ansible, kubeadm to roll out K8S clusters on digitalocean.

This article is not about the entire deployment system, but will focus on one addition that we did that dramatically speeds up upstream DNS for the KubeDNS layer that kubeadm installs.

TLDR;

There’s a new kid on the block when it comes to superfast DNS, CloudFlare’s 1.1.1.1 (which is on general 2X faster than Google’s 8.8.8.8 DNS service)

What is KubeDNS?

Before we go into…


A couple days ago we were migrating a legacy wordpress installation to a digitalocean one-click wordpress droplet. Afterwards we needed to adjust the system to allow FTP connections. Here’s a little rundown on how we adjusted the droplet for having a somewhat secure FTP setup.

Install vsftpd

Vsftpd is shorthand for Very Secure FTP Daemon and is a unix-based ftp server that prides itself on being insanely fast. It can be installed through most unix-based package managers such as apt (ubuntu), pacman (Arch), yum (Fedora, CentOS, Redhat), etc.

Since we’re running on ubuntu we’ll just execute the following command to install vsftpd.

Image for post
Image for post

Configure vsftpd


Automation is in our blood here at Valkyrie, and we like to take this to certain extremes sometimes. A couple of days ago we were doing some development for a couple of integrations at a client of ours. Their system integrates with several external parties such as Twitter, Foursquare, etc.

They rely heavily on webhook communication coming from those parties to keep their data up-to-date.

The thing is that there is a certain level of security already available through signature and token verification. …


When working in shell you will sometimes find the need to suppress any output of a shell script, but at the same time needing the exit code of that script.

There are 3 possible streams :

  • Standard Input (stdin) : Stream data going into a program
  • Standard Output (stdout) : Stream where a program writes its output data
  • Standard Error (stderr) : Stream where a program writes any errors

For more information regarding how to play around with these streams, check out this brilliant article from robots.thoughtbot.com

2>&1

The first step to suppressing output is combining the stdout and stderr streams…


As some of you might know, we love automation at Valkyrie. And these days you can’t say automation without mentioning Docker.

Docker is a marvellous piece of containerization technology that is widely used in all sorts of technology companies.

In the spirit of automation we wrote a small provisioning script that would allow several repositories to be pulled from git and then built using docker-compose.

One of the parts of that script ( especially useful to newcomers in the team ) would be to check if all system requirements were met ( such as checking if docker and its components…


Here at Valkyrie we love a lot of things, 2 of those things are Arch Linux for it’s DIY attitude and Javascript ( it’s a love-hate relationship … and we love it ).

Here’s a small little guide explaining installing Nylas Mail on Arch Linux.

Step 1 : Prerequisites

Much like humans, every arch is different. But you will need some prerequisites for getting Nylas Mail up and running.

  1. A window manager: Some people prefer running Arch in a CLI mode, if you’re one of them it might be better to get a text-based mail client such as Mutt or Alpine both of which…

It’s always fun to tinker around with your development environment, and one of those things that’s been on my to-do-list for the past few months of working with Docker for Mac is getting some friendly urls to use in my development environment. Personally i prefer typing my.shiny.dev instead of ‘localhost:8080’. ( Plus it also helps keeping track of all those fun projects ! )

So I decided to start looking for a solution to getting Virtual Hosts working with Docker for Mac and found out that the solution was easier than I thought. …


With the plethora of devices we have today, a good foundation for interfaces that adjust to any screen size is not a luxury, it’s a necessity in delivering the best possible experience. You never know who, where and with what device visitors are going to use your app/website.

Due to the bulk of my career being in the development of enterprise-grade solutions, I’ve delayed using Flexbox (the Flexible box layout module) until it had a certain level of maturity.

The following article details a concise overview, some might call it an extended cheatsheet of the properties that Flexbox provides. …

Valkyrie Studios

A web/digital agency focussing on delivering friendly and user-centered experiences that are hyper scalable. — www.valkyriestudios.be

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store