Tutorials

How to renew Let's encrypt certificate with ACMEv2 protocol
Let’s Encrypt has announced in the beginning of year, that it will no longer support ACMEv1 protocol for certificate renewal after June 1. 2020. At my work I run 4 Rails application instances with 12 web sites (domains) and have been using Let’s E...



Continuously deploy a Jekyll generated static site to Firebase with Gitlab in under 6 minutes.
There comes a time when a software developer either wants acknowledgement, build an online presence or just show how cool he/she/it is. Myself? I just wanted to give back to the newcomers who seek knowledge, as I once did, and I still do, every ti...

Monitoring external services with Prometheus and Grafana
Time ago, web-applications depended only on self-written code or libraries. It was easy to diagnose any problem, plainly investigating how an application work.Today, modern web-applications tend to have many external dependencies, such as microser...



Fallacies of distributed computing for Ruby developers
This morning I read Integrated systems for integrated programmers article by DHH. I totally agree with it, replacing a monolith by microservices won’t solve all its problems automagically. The same good practices and patterns applied correctly giv...

Build a location-aware WhatsApp weather bot with Ruby, Sinatra and Twilio - Twilio
We've seen how to write a text chatbot using the Twilio API for WhatsApp using Ruby, but WhatsApp also supports sending and receiving location data via their API. In this post we are going to see how to build a WhatsApp bot that can receive and re...