Michael Trojanek (relativkreativ) — Bootstrapper and creator of things

My most popular articles

How to use Ansible's lineinfile module in a bulletproof way

Published on February 17th 2016, updated on January 31st 2019

The lineinfile module is one of the most powerful ones in Ansible's toolbox. While it can introduce a lot of problems when used wrong, it pays to make yourself familiar with a bulletproof way to edit configuration files.

How to install Python with Ansible

Published on January 26th 2019

Ansible depends on Python to do its magic. Nonetheless it is possible to install Python on a server and thus prepare it for Ansible provisioning — with Ansible.

How to compile a SELinux policy package

Published on February 2nd 2015, updated on February 12th 2017

SELinux gained a bit of traction lately. As a follow-up on some SELinux-inspired articles in the community, I present you a tutorial on how to build a policy package yourself.

Get in the loop!

Join my email list to get new articles delivered straight into your inbox. I'll send you a free copy of my book Build Your Own Rails Server as a welcome gift.

No spam — guaranteed. You can leave at any time.

In chronological order

March 1st How to preserve the query string when redirecting routes in a Rails application
February 4th How to compile a Crystal project with static linking
January 26th How to install Python with Ansible
April 26th How to cut your Rails server's provisioning time by more than 60%
April 11th How to remotely generate a Let's Encrypt certificate for your production server
March 30th How to automate rbenv installations
March 10th 5 steps to cut your deploy time in half
February 17th How to use Ansible's lineinfile module in a bulletproof way
December 30th 2015
November 3rd How to set cookies across different top level domains
September 22nd A way to trigger a Rails action from a cron job you may not have thought about
April 19th What you should know before setting environment variables for your Rails application
February 2nd How to compile a SELinux policy package
January 12th Strange VirtualBox networking behaviour (and one possible cause)
December 23rd 2014 in the rearview mirror
December 15th How to build a Vagrant base box from a VirtualBox VM
November 17th CentOS or Ubuntu?
November 3rd Early lessons learned while building a product business
October 20th Develop your application with meaningful data
September 29th 5 bash tips useful for scripted provisioning
September 1st Advanced use of merge tags to manage subscribers in MailChimp
August 25th Running Ruby scripts from within a cron job in an rbenv environment
August 18th Github-like repository hosting on your own server
August 5th Use cron to add newsletter subscribers in the background
July 6th Why chaining commands with pipes in Mac OS X does not always work
July 1st Keeping your codebase healthy with git hooks
June 22nd Graceful error pages with nginx
May 27th Two common pitfalls when using hashed passwords with Puppet
May 14th Simple update notifications for your CentOS/RedHat-server
May 12th How to make your server speak English
May 8th 4 simple steps to make Rails development on your Mac more productive
May 1st How to manage multiple Rails versions
February 10th Spam-free forms