Our CI Doesn't Do Weekends

󰃭 2026-01-24 | #ci #jest #nodejs #testing #vitest

I think a codebase can tell you a lot about the people that work on it. From this specific example in particular, I felt very reassured that the team takes work-life balance seriously and never works on weekends. For context, the software interfaces with old-school banking systems that famously do not run certain processes on holidays or weekends. We had some logic to to an early return to avoid running a process on bank holidays, imagine something like the following:

Continue reading 


fzf + SSH Config Hosts

󰃭 2024-10-10 | #linux #ssh #tips

SSH has a nice feature in which you can store aliases for frequently accessed hosts. Combining this with fzf, you can have a nice quick shortcut to quickly pick a server to connect to into. This comes in very handy if you need to ssh into different servers and forget their IP or hostname often. Here’s a sample ssh config file (normally located at ~/.ssh/config): # see https://man.openbsd.org/ssh_config.5 for all the available configuration settings Host runner-staging HostName 10.

Continue reading 


Using AsyncLocalStorage for Better Traceability in NodeJS Applications

󰃭 2024-09-29 | #javascript #nodejs #tutorials

NodeJS has a neat API called AsyncLocalStorage. It’s used to share information across callbacks and promise chains. For example, it is useful to share information for all the code executed when serving a web request. I also found it very useful to keep trace information to easily keep track of which item was being processed during a batch process. The only caveat in my opinion, is that you need to wrap your code in yet another callback.

Continue reading 


Starfield visualization in JavaScript

󰃭 2024-08-31 | #canvas #javascript #programming-projects #tutorials

This is a simple, straightforward implementation of a visualization reminiscent of the classic Windows 95 starfield screensaver. It is also interactive: you can touch the screen or use the accelerometer to influence the direction of the movement. This is how it works: Create a bunch of particles (100), each in a random position. Every frame, move each particle further away from the center*. The further the particle is from the center, the more visible it will become.

Continue reading 


Migrating From DokuWiki to Obsidian

󰃭 2024-08-18 | #dokuwiki #obsidian #refactoring

About a year ago, I decided to move all my personal notes from DokuWiki to Obsidian. DokuWiki is great software and has served me well, but I never utilized it to its full capacity. It’s biggest strength is that it’s a… wiki, and I was the sole user. It made little sense for me to keep a service running when I could just have some Markdown files locally. And Obsidian provides a really nice UI on top of those Markdown files.

Continue reading 