Using Packer, Vagrant and Boxstarter to create Windows environments
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.
continue reading »Testing the Elasticsearch cluster behavior under network failure
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:
- Expand or shrink the cluster
- Node maintenance
- Backup/Restore
- Shard re-allocation
- Near disk full behavior
The setup will be created with the help of: VirtualBox, Vagrant, CoreOS and Docker.
continue reading »Bootstrapping your GitHub Pages blog with Vagrant
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.
continue reading »From Iso To Vagrant Box
This is my recipe on how to automatically create an up-to-date Ubuntu Vagrant box file from an iso.
You need the following ingredients:
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.
VirtualBox is used to actually run the Virtual Machine.
You can find the sources at rgl/ubuntu-vagrant, but read along to known more details.
continue reading »From zero to a blank world map
When you need to show a web map you normally end up using something like:
var map = L.map('map').setView([38.736946, -9.142685], 3);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png').addTo(map);
But what does it take to show that map? What software stack lays behind the curtains? And how can you customize the map? Lets find out!
We start from a vanilla Linux Virtual Machine and end up showing a humble web map – a blank world – the hello world of maps.
continue reading »Taking web application screenshots with CasperJS
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!
continue reading »Fix magnet link openning in Xfce / Arch Linux
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.
continue reading »from http to https with free certificates
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.
continue reading »from zero to elasticsearch in a jiffy
In this article I will cut to the chase on how to start using elasticsearch, a distributed search engine that just works, You known, for Search!
continue reading »Fix SyntaxHighlighter to display tumblr Markdown URLs
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.
continue reading »SOAP's not a web service
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.
– Jon Flanders on the RESTeful .NET book
continue reading »Sane shell environment on Windows
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.
continue reading »Updating the redis package on Ubuntu
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.
continue reading »Hello World
Hello World! How’s that for a start? Its one of those (rare) things I like about developers tradition, in this case, the English language version. This should give you an hint about one of my facets.
Oh, this is my first blog ever, so please bear with me while I push my inner self to write. In the mean time, you can follow me on twitter.
– RGL
continue reading »