Delayed processing in RabbitMQ with Dead Letter Exchanges In 2014 we were in the process of migrating from our Rails monolith to a service oriented architecture (or microservices). For Rails we had utilized DelayedJob in order to schedule code to be executed at a later time and to run asynchronously from the
RabbitMQ Cluster Migration In 2014 we introduced RabbitMQ in our production system as a means of doing asynchronous/background processing in our system. We needed to replace a functionality that we were handling
Calculating EAN Check Digits in Postgres with SQL Imagine you have EAN codes in the database. The values either do not have the corresponding check digit or you want to verify that the number you have stored is correct. You do not want to load all the entries from the database first
golang Database anonymization in Golang using views A couple of years ago we faced an interesting problem: We wanted to be able to recreate the state of our production system as close as possible in a separated staging system for debugging purposes and to allow testing changes with realistic data before
cron Cronlocker - Distributing Cronjobs Across Hosts One of the goals in operating any IT system is to make it available 100% of the time. Having the best of the best of the best hardware to ensure reliability is not good enough, because every piece of hardware is limited in the
aes gokeepasslib - Reading a Keepass 2 file with Go One can certainly argue about the security of Keepass. I for one am currently using it to store my passwords, mainly because I do not necessarily trust any web service to handle my passwords. At least with Keepass I can make sure that my
go The Go Challenge - a fun way to learn and improve There are many ways to learn a language and to improve your skills in it. Some gophers came up with the Go Challenge, a coding contest in which you have to solve an exercise using Go and send in your solution. All solutions will
ruby ActiveRecord database anonymization using views When encountering problems in a production environment it is sometimes hard to recreate the issue locally or in a test system. Some issues are actually depending on very specific runtime conditions while others arise from the combination of entries in the database. Generating the
vhost VHost specific requests for load balanced services in Go A couple of weeks ago I wrote about how to do VHost specific requests for load balanced services using Ethon. Our code base is written in Ruby so it was only natural to look for a solution that fits right in. To summarize the
sslv3 VHost specific requests for load balanced services using Ethon With the POODLE SSLv3 vulnerability which was found a couple of weeks ago basically everyone turned off SSLv3. So did we. Unfortunately this caused a few other problems for us. We are running multiple Ruby on Rails applications on multiple servers which all listen