Confession time: I still hoard mech keyboards It’s been more than a year since I last posted here (things got… complicated). Incidentally, the last post was about getting the Azio Retro Compact ...
Getting the Azio RCK to work under Linux
Confession time: I hoard mech keyboards So I have this thing (call it a slight obsession) for mechanical keyboards. I’m fascinated by them. My daily driver until now was a 60% keyboard (a Filco ...
How to detect modified files across two directories
Suppose you have two directories old and new containing the same files, but some of them have changed in the new directory. Further suppose that source control is not used This post explai...
VirtualBox USB and serial woes
Enabling USB and serial devices in a VirtualBox VM is not straightforward. For reference, the host is a Manjaro Linux machine and the guest OS is a Ubuntu VM. Enable USB 2.0 and USB 3.0 controller...
Fix disabled A2DP profile for bluetooth headset in Linux
AudioPulse has died on me. RIP PulseAudio. I can no longer select the A2DP profile for my bluetooth headset (Sony WH-1000XM4) under Manjaro Linux. I tried everything: switching between kernels (5.1...
Resize and compress a PDF in Linux
I recently got my Onyx Boox Note Air2 and I’m loving it! It’s an e-ink Android tablet that can be used as a classical e-reader, but it also allows taking notes with a stylus. Boox notebooks can b...
Concurrency crash course. Part 2: Threads and the Python GIL
This is a multi-part post: Part 1 establishes terminology (tasks, threads and processes and how they relate to concurrency and parallelism) and gives an overview of challenges faced in concurren...
My 2022 dev resolutions
I’m working on improving my habits so I’ll be writing yearly resolutions… starting today! This is what I’d like to achieve in 2022, professionally-wise: Soft skills I need to focus more on comm...
My 2021 dev retrospective
I’m working on improving my habits so I’ll be writing yearly retrospectives… starting today! This is what 2021 brought about, professionally-wise: Soft skills I’m slowly navigating corporate wo...
Concurrency crash course. Part 1: Terminology, usage and pitfalls
This is a multi-part post: Part 1 (this article) establishes terminology (tasks, threads and processes and how they relate to concurrency and parallelism) and gives an overview of challenges fac...