One accurate measurement is worth a thousand expert opinions. – Grace Hopper Maintaining the right temperature for my swimming pool is crucial for enjoying a good swim. Instead of frequently checking a thermometer or relying on a mobile app, I wanted to get real-time temperature updates remotely. Here’s how I achieved this using an affordable BLE...
The computer was born to solve problems that did not exist before. – Bill Gates Understand the problem Processes are secondary, doesn’t matter if it is Agile, Kanban or Waterfall: you just need to have an exact understanding of the problem to be solved and plan/organize your work around that. And, of course, be able to adapt. Changes will occur...
The nice thing about standards is that you have so many to choose from. ― Andrew Tanenbaum I’ve using Home Assistant for about 3 years now, for some basic automations like turning devices on/off on determinated periods and for energy production/consumption monitoring. Recently I bought this Energy Meter device from AliExpress to monitor the...
The Linux philosophy is ‘Laugh in the face of danger’. Oops. Wrong One. ‘Do it yourself’. Yes, that’s it. ― Linus About 9 years ago I wrote a post explaining how to turn your wi-fi router in a NAS and Media Server with OpenWRT (pt-BR) and it’s was a huge success. By far is my most viewed post until now. In the post I warned about the risks of...
Any sufficiently advanced bug is indistinguishable from a feature. ― Rich Kulawiec TL;DR Always use the Time class and correctly stores the time zone information. Time Based on floating-point second intervals from unix epoch (1970-01-01); Has date and time attributes (year, month, day, hour, min, sec, subsec); Natively works in either UTC...
To understand recursion, you must understand recursion. ― Author Unknown TL;DR Recursion is a tricky programming technique. It could be very useful or very harmful, depending of its use. The default Ruby VM (MRI) has a heap size limit to handle recursions. This may cause the catastrophic error SystemStackError for big recursion calls. There are...
The most basic question is not what is best, but who shall decide what is best. ― Thomas Sowell Recap In first part From Rails to Hanami (Lotus) Part 1: Container Architecture, Models, Views and Assets, I show how was the migration of two Rails applications to a single Hanami container, mounting each application individually, reading from...
Do or do not. There is no try. ― Master Yoda Recap In previous post From Rails to Hanami (Lotus) Part 1: Container Architecture, Models, Views and Assets, I show how was the migration of two Rails applications to a single Hanami container, mounting each application individually, reading from Postgres database and doing all write operation...
Those who cannot change their minds cannot change anything. ― George Bernard Shaw The problem A year ago, my company started a big project from scratch. Given the opportunity, we decided to build a Rails API, that would be the system core, centralizing all the business logic, storing data on Postgresql and making calculations with a dozen of...
Programs must be written for people to read, and only incidentally for machines to execute. ― Harold Abelson Hi, my name is Rodrigo Panachi. I’ve been passionate about coding since the early 2000s. After earning my degree as a Computer Scientist, I turned that passion into a career, and I’ve been working as a software engineer for the last two...