Welcome to my blog! I hope you find it interesting :)
-
As a software developer, I’ve spent most of my career working on the backend side of things. Only recently I’ve started developing some React for a pet project. [Read More]
-
Today, I learned (TIL)
Some months ago, I was listening to an episode of the FOSS Podcast (unfortunately, I don’t remember which episode it was), and one of the guests was covering a very interesting opinion about the TIL (today I learned) blog posts. In essence, the goal of this kind of blog posts... [Read More] -
Fishnet - Lichess' distributed computing
It’s been a bit over a year since I decided to stop playing in (and paying for!) Chess.com, and adopted Lichess as my only site for playing chess online. I wanted to celebrate that today I got my highest blitz rating to date (see my profile), to write a blog... [Read More] -
The DRY trap
When I was studying Computer Science at the university, one of the principles I learned about was DRY (Don’t Repeat Yourself). Don’t get me wrong, I don’t disagree with this principle as a general rule. However, there are a few scenarios where I think it hurts more than helps. [Read More] -
Embracing Matrix and Element as a replacement of WhatsApp
Some months ago I started walking my path towards replacing all proprietary software with free, open-source software. Some of my older posts cover how I embraced Jekyll to get rid of Medium, and how I stopped using GitHub in favor of Gitea. Those projects were fun, but I still had... [Read More] -
Some thoughts about software development, TDD, and refactoring
In this blog post I will try to explain some ideas that I try to keep in mind when I am maintaining any piece of software. By no means I am a coding guru, but I have noticed that the quality of my code deliverables increases when I follow certain... [Read More] -
Replaced GitHub with Gitea
Some months ago I made a list of proprietary software I wanted to get rid of. I easily replaced some and wrote an article specifically on that topic. However, I found it hard to stop using tools that had been part of my day-to-day for too many years. [Read More] -
Bye bye Medium, welcome Jekyll
The activity of this blog has been significantly reduced over the past months. Not because I was not learning anything new, but because the topic I was discovering was so broad I needed some time to digest and make a 180-degree turn on some technical aspects of my life. [Read More] -
Keep model attributes in sync using Rails and Postgres
In this article I explain how I built a gem that facilitates the synchronization of columns between different models, facilitating certain database maintenance processes and improving data consistency in denormalized databases. [Read More] -
Defining aggregated attributes with ActiveRecord
ActiveRecord is, in my opinion, one of the most powerful tools bundled with Rails. Dealing with ruby objects and collections instead of plain rows and SQL queries is very convenient in most cases. The query interface is just wonderful. However, we sometimes find a conflict between what we would like... [Read More] -
An experimental approach to table partitioning in Postgres
Table partitioning is a database optimization technique that involves dividing a large database table into smaller, more manageable segments or partitions based on predefined criteria, such as a range of values in a specific column (e.g., dates or numerical ranges). Each partition is essentially a separate sub-table with its own... [Read More] -
Adding null constraints to columns — the safe way
In today’s article, I’d like to cover a fairly common situation in relational database design. Yep, we are talking about columns that should have been marked as NOT NULL, but they were not. [Read More] -
It’s not too late to use polymorphic associations
Oftentimes, we make bad decisions while developing software. Depending on the nature, the cost of reverting these decisions may not be affordable, and you will have to live with that forever. [Read More] -
Migrating integer primary keys to UUIDs using Rails + Postgres
TL; DR. It is now possible to easily migrate integer primary keys to UUIDs. The full story is interesting, though 😉. [Read More] -
Dealing with parallelism and ActiveRecord connections
Some years ago, I was working on a Rails application that made multiple HTTP requests to a third party in one of its use cases. The initial implementation can be drafted with the following pseudo-code: [Read More] -
Stop using VARCHAR to store UUIDs
UUIDs are 128-bit labels that usually become an alternative to serial IDs for identifying resources. Since the risk of generating duplicated UUIDs is negligible and their generation does not require a centralized authority, their use is widespread in distributed systems. [Read More] -
My path toward contributing to Ruby
I’d like to introduce the first article in this blog by sharing a personal experience. [Read More]