👨‍💻 Bruno Luiz Silva

A collection of random software engineering thoughts

Low downtime Postgres upgrade: the runbook (part II)

No one is really prepared to upgrade big Postgres instances without downtime. This second part will focus on how to do it the lowest downtime possible....

 · 10 min

Low downtime Postgres upgrade: I want to believe (part I)

Postgres is a great database, one of developer’s favourites, but upgrades are far from easy and smooth. The journey of selecting an optimal solution and weighing its trade-offs and risks is always an exciting challenge....

 · 12 min

ImageWand: privacy-first image conversion experiment with Golang & WASM

After my experiment with GIFSane, one thing was clear: WASM shines when we think about complex applications (eg: media manipulation), usually performing better or opening more opportunities than JavaScript. It is finally time to try to create something from scratch, using Golang WASM toolchain...

 · 14 min

GIFs (sane) playback control using WASM and FFmpeg

Not having playback control on GIFs always annoyed me a bit. I always secretly hoped that one day browsers would support this. This day never arrived, and I decided to take matters into my own hands....

 · 8 min

The forgotten art of HTML redirects, without either HTTP 301 or JavaScript

One of the first things API developers learn is HTTP codes. From these 3xx are special, as they redirect users from A to B. But what if I told you there is a way to do it without HTTP codes?...

 · 5 min

Getting good code reviews from peers

Every software developer, soon after pushing code to the repository, has this urge to ping the team to ask for code review. But, I dare to say: don’t do it! Most likely the code will still have some issues, especially if this is your first push for this feature....

 · 5 min

GRPC: A powerful way to improve your Golang APIs

Web APIs are everywhere, with REST being one of the most popular ways to distribute it. With recent technologies, there are better ways to implement them, GRPC been one of them....

 · 9 min