Lately I’ve been working on configuration management for my infrastructure. Since I started freelancing, the number of clients have grown and so did my infrastructure. Managing one server isn’t a daunting task, but from the moment you need to expand, things get more serious. At this point, my infrastructure consists of 1 database server, 1 … Continue reading Getting started with configuration management: Ansible
There are circumstances where you have repetitive tasks you wish to automate. Most of that can be done through the use of scripts. But what do you do when you need to automate an interactive process? In my case, I had to automate a configuration script. After installing a software tool on my servers, I always … Continue reading Automate interactive processes in Linux
Creating a command-line app in ruby might be fun, being able to test them is just as important as testing any other web application. But you can do this with Aruba. Aruba is a Cucumber extension for testing command-line applications written in any language. Passing arguments, interacting with the file system, capturing exist codes en mimicking … Continue reading Testing your ruby command-line tools
In some cases you might need a simple command-line tool. But one of the problems writing those scripts is finding a descent way to manage and distribute them. One way is to bundle your command-line tool into a ruby gem. I already described in a previous post how to create a ruby gem, so I … Continue reading A simple Ruby command-line tool
There are different tools out there for creating gems. Back in the time, you could achieve this by using tools like Echoe or Jeweler. But you can do the same by using Bundler. Bundler is mostly use as a way of managing dependencies, but not a lot of people know you can use it to … Continue reading Create a ruby gem
Virtualizing environments these days is a breeze. The simplest way of doing so is using Oracle Virtualbox . One thing I’ve noticed installing Ubuntu 12.04 was the fact that I was unable to select 800×600 or 1024×768 in screen resolution. It turns out that you are obligated installing the virtualbox guest additions. Fire up your terminal and … Continue reading Ubuntu Virtualbox: Setting High Screen Resolutions
From the moment you build your own .deb package, you also want to install it. The easiest way to install / uninstall your custom packages is by using dpkg. But using dpkg means the packages need to be present on the host you wish to install them on. Another downside of dpkg is that it … Continue reading Set up an APT repository
A chroot environment is essentially a complete self-contained Linux installation that is nested within the main system. The reason that I’m looking into setting up a chroot environment is for building custom ubuntu packages. Instead of compiling and running everything on my main machine, it’s best practice to do that in a chroot. This way, your … Continue reading Setup chroot Environment
Setting up a git workflow might be a tedious task, but can save you a lot of troubles over time. For me, this particular quest started when I wanted to use Chiliproject to manage my client projects. Not only did I wanted to easily configure and deploy it, I also wanted to contribute to it, … Continue reading Git workflow: master – origin – upstream – and production
I came across this quick tip on how to reduce the size of your Rails log files. Over time, the development and test log might get bigger and bigger. A quick solution is to rotate your logs through the Rails Logger: config.logger = Logger.new(Rails.root.join(“log”,Rails.env + “.log”), 3, 5*1024*1024) This will rotate your log files every … Continue reading Rails Logger