Demystifying Certificate Updates: A Visual Guide for Debian, Ubuntu, Fedora, and RHEL SystemsEver wondered how update-ca-certificates on Debian/Ubuntu, and update-ca-trust on Fedora/RHEL-based Linux systems works? If you take the time to read through the respective man pages, you will find that they already do a quite decent job at explainin...1 min read·blog.stefanrickli.devOct 17, 2025
Altium Design Rules for AISLER fabricationFor all the PCB designers out there that use AISLER's fabrication service... Today (as of 08.06.2023) I sat down to specify a set of Design Rules for Altium Designer for the AISLER Simple and Complex fabrication rules. Go to the GitHub page to downl...1 min read·blog.stefanrickli.devJun 8, 2023
Reballing tiny 1.5x1.0mm BGA with 6x0.4mm pitch pinsThis is a classic situation that "should never happen in the first place," but here we are. In my Master thesis project, we were given the specification that a stretchable PCB shall be fitted with a Texas Instruments TMP117 ball grid array (BGA). Sin...6 min read·blog.stefanrickli.devAug 19, 2022
Cheating STM32CubeMX user code sections without breaking code generationIn general, I like the way that ST handles code generation by their device configurator, CubeMX. The generated files contain sections that are entirely controlled by the framework, interspersed with blocks intended for user code that is preserved in ...2 min read·blog.stefanrickli.devAug 10, 2022
VS Code: Run currently opened Python script as a moduleTLDR; I'm lazy and want to start all open Python scripts by hitting F5 and expect absolute and relative imports to work fine, no matter where the script resides within the folder structure. Skip to the end to access a ready-made launch.json configura...3 min read·blog.stefanrickli.devAug 5, 2022