Software, Linux & Infrastructure
This blog is my workspace for building software, working with Linux systems, and developing technical infrastructure - with a focus on clear and structured solutions.Latest articles
Ripgrep and Regular Expressions in Practice π¦πΉ
How I use ripgrep (rg) and a small set of regular expressions to find my way around large C/C++ projects β literal search, word boundaries, groups, multiline matching, and where regex stops being the right tool.
RTags: Real C++ Code Navigation π¦πΉ
RTags indexes C/C++ code with libclang instead of guessing from text, so go-to-definition, find-references, and rename actually understand the language. Setup, the rc client, and how it complements ripgrep.
The Selection Sort Algorithm π¦πΉ
How selection sort repeatedly finds the smallest remaining value and swaps it into place, visualized as an animated bar chart with a C++ implementation.
The Quicksort Algorithm π¦πΉ
How quicksort partitions a list around a pivot and recurses on both halves, visualized as an animated bar chart with a C++ implementation.
The Merge Sort Algorithm π¦πΉ
How merge sort repeatedly merges sorted runs into larger sorted runs until one remains, visualized as an animated bar chart with a C++ implementation.
The Insertion Sort Algorithm π¦πΉ
How insertion sort grows a sorted prefix one element at a time by shifting larger values out of the way, visualized as an animated bar chart with a C++ implementation.
The Heapsort Algorithm π¦πΉ
How heapsort turns a list into a binary heap and repeatedly extracts the maximum, visualized as an animated bar chart with a C++ implementation.
The Bubble Sort Algorithm π¦πΉ
How bubble sort sorts a list by repeatedly swapping adjacent out-of-order elements, visualized as an animated bar chart with a C++ implementation.
Hello, World! in C π¦πΉ
The classic first program every C programmer writes: a short history of the Hello World tradition and how to compile and run it.
WMines β A Minesweeper Clone π¦πΉ
A browser-playable Minesweeper clone, compiled to WebAssembly.
The Bresenham Line Algorithm π¦πΉ
How Bresenham's algorithm draws straight lines on a pixel grid using only integer arithmetic, with a C++ implementation.
The Midpoint Circle Algorithm π¦πΉ
How the midpoint circle algorithm draws a circle on a pixel grid using only integer arithmetic and eightfold symmetry, with a C++ implementation.
The Perlin Noise Algorithm π¦πΉ
How Perlin noise generates smooth, natural-looking randomness from a grid of pseudo-random gradients, with a C++ implementation.
plot β A Minimal C++ Plotting Library
A lightweight C++ SDL2-based plotting library with a minimal callback API for 2D graphics.
Apache Benchmarks with ab and curl
How to measure web server performance with ab (ApacheBench) and curl β useful after configuration changes or software updates.
Syncthing - Cloud-synchronisation without cloud π¦πΉ
Syncthing syncs files between devices directly, without any cloud service or third-party server. A practical setup guide for Linux.
Fast transfers with dd and loop-devices
Optimized dd parameters for fast file transfers and disk image copies when working with loop devices.
Emacs: Failed to verify signature archive-contents.sig
How to fix the 'Failed to verify signature archive-contents.sig' error in Emacs package management.
Setting static route in Debian-Linux
How to set a static network route in Debian/Linux and make it persistent across reboots.
How to change the environment of a running (parent) process under Linux?
How to modify environment variables of a running process under Linux using gdb β including parent processes.