• My typical VM configuration

    Spinning up a VM now days have become a breeze. You sign with a cloud provider (and there are so many of them: Digital Ocean, upCloud, Linode, not speaking of the big guys like Google, AWS or Azure) and for few dollars per month you get a basic Linux VM, most of the time more than sufficient to host some side projects or demos. Such VMs come usually with a bare root account. This post is my TODO list to a VM able to host some web apps get in five minutes.

  • Just enough to be able to speak about - Docker Compose

    This post is part of Jetbatsa series and explores how to build multi-container applications with Docker Compose. For the sake of example, we’ll build a small hello world backend written in NodeJS/Express hosted behind an Nginx load balancer.

  • Just enough to be able to speak about - Docker

    This post is part of Jetbatsa series and explores Docker: how to build an image and how to run it. As an exemple, we’ll dockerize a small demo application written for NodeJS/Express.

    Jetbatsa stands for Just Enough To Be Able To Speak About. This is the code name for posts that are check lists or quick notes for myself while I explore some topic and that I started to share recently. I’m definitely not a guru of any of the technologies discussed here.

  • Just enough to be able to speak about - Express and EJS

    Jetbatsa stands for Just Enough To Be Able To Speak About. This is the code name for posts that are check lists or quick notes for myself while I explore some topic. This posts describes the basic steps to get a NodeJS/Express application up and running. The application we’ll be building exposes some unrelated endpoints to show some functionalities.

  • Scripting Elixir applications

    Scripting an application is the capability to automate some functionalities of that application. That means being able to bundle together some basic actions the application exposes and to execute that bundle as if it had been a functionality integrated in the application itself. This provides a great power as new functionalities can be created (easily) by the users themselves. This post describes how we can provide such a behaviour to Elixir applications.

  • Vert.x clustering: a distributed alarm system

    In a previous post, we explored Vert.x clustering with a toy key/value registry: we set up a cluster piece by piece, configured it and experimented its behaviour upon node failures. Vert.x actually offers, ways more than just what we’ve discussed in that post. Vert.x proposes an actor-like development model which allows to get most out of servers resources while making the application distributed and resilient. In this post we’ll explore that aspects and as an example, we’ll implement an alarm application.

  • Setting up a Tabris.js Android App

    This post is a set of notes put quickly together while I was experimenting with Tabris.js. It will get you from the installation of all the necessary components to an installable mobile application on a real device. Except for the build process which is Android specific, most of what is written should also hold for the iOS platforms.

  • Vert.x clustering: a distributed Key/Value registry

    Vert.x is a very powerful set of libraries that help to write reliable concurrent applications in several languages, typically, but not limited to, clients and servers. Beside the documentation, the web site provides many short examples that help to get up and running. I have been recently trying myself at clustering but I couldn’t find a detailed end-to-end description of how to set up a clustered system. So I decided to implement a toy in-memory registry and explore Vert.x internals. This post describes this process.

  • Git status as terminal prompt

    I recently read an inspiring short post named Update your Mac Terminal to display your current git branch and status which shows how to change the prompt of the terminal to display the name of the git branch and its status, if you are in a git repository. I had been thinking about such a helper for some time, but I never had really time to dedicate specifically to it so that that post actually arrived on purpose. However, it didn’t fit my requirements so this short note is about an alternative on Linux.