Carlos Rabelo

22 Jul 2026

The Crowdfunding Campaign and Panetone

A crowdfunding campaign on Instagram reminded me why I like this work.
29 Jun 2026

I took everything down

On June 29, 2026 I left WordPress, cleared the blog, and moved to Hugo. A deliberate restart — and what comes back only comes back if it still makes sense.
26 Apr 2025

Negev — MAC-based VLAN automation

Managing VLANs by hand across dozens of switches is repetitive and error-prone. Negev solves that by reading the MAC table and assigning the right VLAN to each port automatically.
28 Sep 2023

GRC — Gmail Rule Converter

When the inbox overflows, a YAML file can be worth more than a thousand clicks.
17 Sep 2023

Binary Trees, Databases, and 38 Years Apart

In 1985, a magazine article taught me what a binary tree was. In 2023, I implemented one in Go inside a dBase II clone. Between those two moments, the same idea — only the tool changed.
17 Jul 2023

Learning Go with dBase II — or: recreating 1983 in 2023

After BIP38, the method stayed the same: pick a project that is too big and just start. This time, a complete clone of dBase II — the language I used in the 90s.
05 Apr 2022

Learning Go with BIP38 — or: how to overcomplicate a learning journey

The best way to learn a language is to build something you actually want to exist. Even if it is a Bitcoin key encryption tool.
15 Nov 2020

act — or: How I Stopped Committing and Started Testing GitHub Actions Locally

GitHub Actions is great until you need to test it. The pattern is always the same: commit, push, wait, fail, fix, commit, push, wait. Until one day I found act.
15 Jun 2020

Ninety days — an account of the lockdown at IFMT

It has been ninety days since the IFMT campus closed its doors. In that time, I taught teachers to run classes on Meet, created YouTube channels, set up graphics tablets, and automated Google Classroom. A look back at what happened — and at what is still not over.
29 Jan 2018

A new chapter

The domain has been around since 1998. The blog existed before. This is a new chapter, with new stories and a different purpose.