Testing your application in different environments can be hard to do manually, as its time consuming, error prone, and not easily reproducible. This article will show you a way on how to automatically create Windows environments, where you can test your application.

Elasticsearch is a distributed system that depends heavily on the network, as such, you need to known how it behaves under different failures scenarios. This post shows a way of mounting these scenarios with Linux containers.

You can simulate a couple of failure scenarios:

Node network loss

Packet delay and/or loss

This setup should also be generally useful when you want to known how Elasticsearch behaves. For example:

This will show you a way of creating a Vagrant Virtual Machine with the tools needed for generating a blog based on the GitHub Pages stack. GitHub Pages uses the Jekyll static site generator. This VM will use the same version of the tools that are currently in use at GitHub.

I use the minimal ISO because the regular ISO does not always contains the latest package versions, so you’ll not end up having to update your system just right after you install it. This is because the mini ISO installs the latest packages right of the internet; it is also much smaller than the regular ISO.

Packer is used to install Ubuntu into a Vagrant box file. Packer uses a template file to describe that process. The template uses a preseed file to drive the Debian installer (aka d-i) to automatically install Ubuntu in a VirtualBox Virtual Machine, which will be later exported into a Vagrant box file.

Vagrant is used to automatically create and setup (or provision) a development environment inside a Virtual Machine. Vagrant uses a Vagrantfile script to describe that process.

When you need to take screenshots of a web application, the normal route is to navigate to a page, fill in the forms with sample data, use the Print screen (or Alt+Print screen) key to take the screenshot, then crop and export it with a normal application like GIMP… which is quite time consuming… and god forbid if you need to do it again, with a slightly different data or page design…

A better route would be to automate the whole process. Let me show you how to do it with CasperJS!

The current Xfce (4.10) that ships with Arch Linux has an annoying bug of not correctly opening Magnet URIs (e.g. when you click a magnet link from within Chromium). So I had to have that fixed, but doing it took longer that I expected… so I’m creating this recipe for helping you solving the problem more easily.

Recently I’ve noticed that StartCom gives away free certificates through theirs StartSSL site. In this post I will explain how I managed to configure nginx to host two of my domains, on the same IP address, using HTTPS.

I write these tumblr blog posts using the Markdown syntax, which automatically detects and transforms URLs into proper HTML links. Though, things get messed up when I syntax highlight them with SyntaxHighlighter.

To be honest, you can’t really call a SOAP-based service a web service since SOAP intentionally ignores much of the architecture of the Web. The term “SOAP service” is probably a more accurate description.

One thing I really hate on Windows is its horrible shell application window, fortunately there is ConEmu (and Console)! couple it with MinGW and Bash and you’ll have a saner command line environment. Here’s how I do it.

Latest redis versions can take quite a while to appear in the official Ubuntu archives, but fortunately, updating a package is quite strait-forward. In this post I’m going to update the package that ships with Ubuntu 10.04 from version 1.2.0 to 2.0.4.