Latest posts
2025-11-24 Set up email hosting and a personal website on personal domain
At some point I was struggling to get access to my Gmail account. Since I usually block unwanted scripts from running on my computer, Google likes to …
2025-10-23 Use dired-do-shell to explore the parquet schema from Emacs
I use dired-do-shell command in Emacs to run CLI commands from within its file manager dired. This workflow makes it easy to perform batch operations …
2025-10-22 Calculate the cumulative sum of a column using DuckDB
Duckdb, the (tabular) data exploration tool I use supports window operations. I recently discovered that it can also perform cumulative sums in a very …
2025-08-26 Run multiple python scripts in the background
To solve a multitude of challenges I have faced when processing high throughput microscopy data, have developed Nahual, a tool that allows me to move …
2025-08-19 Simple progress indicators with awk
I wanted a simple way to see the progress of a data processing pipeline, and the internal progress bar tools were messed up by threading. I thus …
2025-08-14 Update figure numbering
I was editing some markdown and had to insert a new figure in the middle. The problem is that this document already has an explicit figure numbering …
2025-08-12 Recursive search and replace
I needed to rename all occurrences of a pattern with another, where I knew there was no ambiguous situations. This uses ripgrep, xargs and GNU sed. …