Zig exercise: using std types to implement a basic shell calculator

21 Jul 2024

Today I decided to get some practice using Zig’s data structures from the standard library, building an old friend: a bc style calculator, implementing the algorithms to evaluate reverse Polish notation expressions and converting from infix to that notation.

Continue reading →

Simple stdin/stdout text processing with Zig

20 Jul 2024

In my Zig learning journey, I’ve managed to not use allocators for anything yet. I’ve watched this great video of Dude The Builder explaining the basics of allocators in Zig.

Continue reading →

About Zig structs and using @ptrCast for getting Zig data in C callbacks

16 Jun 2024

In the previous post, I went about my experiments with Zig and the FluidSynth Sequencer API.

Continue reading →

The basics of the FluidSynth Sequencer API

15 Jun 2024

Today I learned the basics of the FluidSynth Sequencer API. It is not super complicated, but it took me some time to understand the concepts, as not everything is explained in great detail.

Continue reading →

About Bitmap Heap Scan on Postgresql query plan

11 Jun 2024

Today I was looking for the culprit of the performance issue that was affecting a Django Admin page that wasn’t loading.

Continue reading →

How to override the browser's location

09 Dec 2023

In a web application, it’s a common pattern to have the backend to send a UTC timestamp, which the frontend will later display in the user’s timezone.

Continue reading →

How to use PipeWire for music production with Reaper on Linux

15 Nov 2023

That’s it, I’ve made the switch to PipeWire! And things are looking great! I was previously using JACK and PulseAudio in parallel, each with its own soundcard, and the setup was a bit cumbersome as for some reason I had not been able to get everything to load at startup, so I had to start JACK manually everytime…

Continue reading →

How to add extra log context with loguru

07 Nov 2023

Loguru is a Python library that provides a neat logging API, and I recently learned how to add extra context to the logs.

Continue reading →

How to call fluidsynth C API from Zig

05 Nov 2023

I find quite cool how quickly you can start using a C library from Zig! No need to write bindings or to fiddle with a FFI, it provides direct integration with C libraries.

Continue reading →

How to define a healthcheck for a Docker container

01 Nov 2023

Today I learned that you can define a health check for a Docker container, directly on the Dockerfile.

Continue reading →