True seamless reloads coming in HAProxy 1.8
Willy Tarreau, author of HAProxy, semi-recently wrote a very in-depth article about HAProxy’s reload process and how it could, under certain conditions, drop/reset connections during reloading. With HAProxy 1.8, this will finally be no more.
Plugins in Go 1.8
A look at the new plugin package coming in Go 1.8 - a bit of background, a look on how to make use of it and some of its (current) limitations.
Dotfiles showcase: Git
This post is part of an ongoing series on dotfiles. In today’s episode we look at dotfiles for Git.
This will be an ongoing series highlighting snippets of my own dotfiles which I suspect would prove useful to others.
Update local docker images and replace running containers with ease. Define images to watch and trigger commands whenever they get updated.
It's coming back!
Last week, I pulled the plug on logstripper. Today, I’m announcing my plans of bringing it back as a new service.
Update on June 4, 2014: It’s coming back! As of today, logstripper is no more. With this post, I’d like to explain why I have decided to pull the plug on it, and what you can do if you were still using it.
Screen is not a process control system
Just like you wouldn’t use a bucket to fill up an entire swimming pool, you shouldn’t use screen to manage your daemons. Stable and flexible IT infrastructure is all about using the right tools for the right job.
Fixing the Broadcom BCM4331 wireless drivers on Ubuntu 13.10
How to restore stable WiFi on the Broadcom Corporation BCM4331 wireless chip after upgrading from Ubuntu 13.04 (Raring) to 13.10 (Saucy Salamander).
Nginx, Safari and TLS: worker process 12345 exited on signal 11
About a week ago, we at TravelBird had this bizarre problem with nginx workers segfaulting on TLS connections from Safari and curl, but not Firefox or Chrome. Nginx logs would state the worker process exited on signal 11 and dmesg would show the feared nginx: segfault at 8 ip 000000000042a08d sp 00007fffe5eebca0 error 4 in nginx[400000+b9000]
Birds, Amsterdam and spreading wings
It’s been a few months since my last post and a lot has happened during that time. One of the biggest has been that of leaving my old job at a&m impact and instead accepting a position at TravelBird, a relatively young startup in Amsterdam (our capital city).
Chances are, if you’re reading this article and you’re a programmer, you’re working with Git, or at least some form of version control. But do you really get (g)it? This article will dive into what makes Git, or any other comparable distributed version control system, your new best friend.
SPF records, you're doing them wrong
SPF, or Sender Policy Framework, is a DNS-based technique aimed at stopping sender address forgery on emails. If you’re using ~all in yours and you’re not actively in the process of migrating over to using SPF, you’re doing it wrong. (Yes, Google, Apple, Microsoft, that includes all of you too!)
Use Puppet to install Err directly from Git into a Python virtualenv
Leveraging the power of Puppet and using only about 35 lines of puppet code, we can install Err directly from Git(Hub), into it’s own isolated virtualenv and have it automatically update whenever the Git repository changes. How awesome is that?
Lets talk about logging
Last week I gave a 5-minute lightning talk to my colleagues about logging. Sadly, very little attention is given to logging anything in the applications and websites that are made at a&m impact, so I felt this talk was quite necessary.
Easily archive gmail/general IMAP mailboxes with imap-archiver
Where I work, if an employee quits, we make a backup of all their mail before removing their user account from Google Apps (which we use for all our email/calendar stuff). Since I’m the resident sysadmin guy, this task tends to fall upon me to do whenever someone has left the building.
Acceptable use of SSL MITM attack by Nokia?
While going through my Twitter feed today, I stumbled across a tweet pointing to some articles about Nokia, which has been employing a Man-in-the-Middle attack in one of it’s products.
Pcregrep to the rescue
I was faced with an issue today which seemed extremely simple at first, but proved to throw up one unexpected hurdle. The task seemed simple. A number of sites built by my employer needed to have a specific module updated, all I had to do was generate a list of candidates. Sounds easy enough, right?
In computer programming, it’s very common to make the very first program you write do nothing more than print ‘Hello world!’. Carrying on that tradition to my blog itself, I thought it only fitting to let the very post on this blog consist of little more than that, too. :)