Using AWS in China

Categories: aws

TL;DR;

A collection of differences between non-China AWS and China AWS and how I’ve solved them.

Read more...

Install Gitlab on Ubuntu 16.04

Categories: ubuntu

TL;DR;

A short description on how to install Gitlab Community Edition on Ubuntu 16.04 without using magic scripts.

Read more...

Holding packages in Ubuntu

Categories: ubuntu

TL;DR;

A quick tip on how to hold packages at a given version in Ubuntu. Will work for other Debian based operating systems as well.

Read more...

Working at a remote-hostile company

Categories: life

I want to start by saying that I’m quite happy with my current employer, this post isn’t written to speak ill of my employer, it’s just my view on working as a remote employee at a company where the culture isn’t exactly remote friendly. This post is going to be about the problems you can encounter as a remote employee working for a company where most or all other employees are working at the same office. Read more...

Ansible baby steps

Categories: ansible

A light introduction to Ansible, promoting best practices and install cowsay on Ubuntu 14.04. What the hell is Ansible you ask? Well, I’m here to help! Ansible is a tool to configure Linux (And Windows) servers via SSH and Python scripts. It allows you to write scripts in YAML and Python, which are executed against and on remote servers. Why should you use Ansible? You should use Ansible if you want to avoid tedious and error prone manual work. Read more...

Using nginx to load balance microservices

Categories: infrastructure

How to load balance services with nginx, confd and etcd. Imagine this, you have a bunch of services running on a machine, all is fine and dandy. You have the occasional downtime when you upgrade a service to a new version, but nothing you can’t handle. Then, out of nowhere, you get loads of traffic, you need to scale horizontally, adding more servers to your cluster. Upgrading becomes harder, takes longer and there’s more downtime. Read more...

Uploading Ubuntu to Openstack Glance

Categories: openstack

How to upload Ubuntu 14.04 to an Openstack provider.

Read more...

Uploading CoreOS to Openstack Glance

Categories: openstack

How to upload CoreOS to an Openstack provider.

Read more...

Continuously deploy hugo sites

Categories: hugo

TL;DR;

How to setup continuous deployment of a Hugo website hosted on Github to AWS S3 by using Travis CI as the build/deployment service.

Read more...

Ansible gotcha: Playbook sudo vs task sudo

Categories: ansible

TL;DR;

When running a playbook with sudo: yes, it also runs the facts module with sudo, so ansible_user_dir will have the value of the root user, rather than the expected home directory of the ansible_ssh_user.

Read more...

Static DNS with DHCP on CoreOS

Categories: coreos, infrastructure

TL;DR;

How to set static DNS servers while still getting IP and routes from the DHCP server in CoreOS.

Read more...

AWS goodies

Categories: aws

TL;DR;

A collection of snippets and scripts to be used against the Amazon Web Services to ease management of servers.

Read more...

IP addresses

Categories: Infrastructure

TL;DR;

A cheat sheet to IPv4 subnetting and other quirks. Common subnet configurations with CIDR and netmask notation.

Read more...

Enabling CORS in Go HTTP applications

TL;DR;

How to enable CORS on a HTTP API hosted in a Go application.

Read more...

Simple Makefile for Go projects

TL;DR;

How to create a simple Makefile for building Go projects.

Read more...

Run a webserver in any folder on Mac OS X

TL;DR;

How to host static files from commandline on Mac OS X using Python.

Read more...

Designing entities and storing them in PostgreSQL

TL;DR;

How to design aggregate roots and entities with many-to-one relations in C# with Dapper and PostgreSQL.

Read more...