How to: Arduino Pomodoro Timer – part 1/2

Schematics and code to create your own Pomodoro timer on a breadboard using Arduino Those who follow me on Twitter probably saw pictures and quick videos of my digital Pomodoro timer prototype. I used the case of a regular, mechanical timer and built a little Arduino on a breadboard (like, really barebones using a microcontroller) to fit inside it. This is how it looks like: This was my first hardware prototype ever and I’m quite proud of it! A big thank you to my awesome husband for helping me whenever I got stuck. In this first part I will show the schematics to create…
View Post

Configuring SSH server access for Ansible

This post is a practical guide on how to configure your SSH server access to use Ansible in the simplest and most efficient way. This practical guide will show how to setup SSH keys for a server/VPS so you can use Ansible from your local machine in a very straightforward way. This is what we want to achieve, in order to make things simple and efficient – no need for extra parameters when running Ansible: Make sure you have a SSH keypair for the current user* Make sure you have a user in the server, with the same username as your current user…
View Post

Configuring a multistage environment with Ansible and Vagrant

Ansible is a powerful and clean tool for automation. This post covers the configuration of a multistaging environment, consisting of one local development environment controlled by Vagrant, and one or more remote servers (staging, production etc) that will be controlled directly by Ansible, reusing a pre-existent development environment provisioning. These instructions cover the server and control machine configuration needed to run Ansible in a multistage environment, using Vagrant for controlling a local dev VM and one or more (production, staging) remote servers that will be controlled via Ansible. This way you can reuse most part of your Vagrant provisioning to create a powerful…
View Post

Setting up a development machine with Ubuntu 14.04 (Trusty Tahr)

Ubuntu finally released its new LTS (long term support) version, 14.04 – Trusty Tahr. In this post, I tried to list all the steps I performed to set up my working machine with a fresh Ubuntu 14.04 install. The motivation for this post came from all ~bullying~ I get for not being a OSX / Mac user, when apparently all my dev friends have a Mac =P TL;DR: Ubuntu is really cool, SPECIALLY for developers. This is how I setup my environment, step-by-step (sort of). Why I don’t want a Mac I had the experience of working with a Mac…
View Post

A beginners guide to Vagrant and Puppet, part 3 – facts, conditionals and modules

Finishing this guide to Vagrant and Puppet, I would like to show some advanced Puppet resources. As I said before, Puppet is really powerful and extensive – I’m covering just the main concepts so you can have a good starting point for creating your Vagrant boxes. If you didn’t see the previous 2 posts, I strongly recommend you to read them. Here they are: Part 1 (Vagrant basics) and Part 2 (provisioning and Puppet) . Facts In the previous part of this guide, we saw a simple example of a Puppet class to install Apache. We saw that we can…
View Post

A beginners guide to Vagrant, part 2 – Provisioning and Puppet

In the first part of this begginer’s guide to Vagrant, we found out how to install Vagrant and get a really basic Ubuntu box up and running. But we need something more: we need to properly set up our development environment, in a fully automated way. It’s time to use provisioners to help us with these tasks. For a better understanding of how provisioners work, lets start using a very basic shell script as a provisioner. Provisioning with Shell The shell provisioner allows you to execute a shell script inside the vagrant box, as root. Lets use this really simple…
View Post

A beginners guide to Vagrant – getting your portable development environment, part 1

If you never heard about Vagrant, this is the right moment to get acquainted to it. Vagrant is getting very popular amongst open source projects, because it provides a portable and reproducible development environment using virtual machines. You will never be hostage of the “works on my machine” statement again; the environment is exactly the same for all the developers, regardless of the operational system running as the host machine (although everything can get messy with Windows). First of all, how it works? If a repository is “vagrant-ready”, you will just run a vagrant up in the repository root (after cloning it),…
View Post

Getting started with Silex – the php micro framework based on Symfony 2

This post aims to show the basics, and how to get started with the php micro framework Silex– which, by the way, is my favorite php framework nowadays. It’s based on Symfony 2, but focused on smaller applications. It has a really comprehensive and intelligent schema for url rewriting (so-called “Routes”) that brings to PHP one of the great things you can find in Django. It’s concise, extensible – using Pimple and Composer for dependency management – and secure. Oh, almost forgot: it’s practical, easy to learn and super versatile – according to my own experience with the framework so…
View Post