news
Programming Leftovers
-
Sandor Dargo ☛ Freestanding standard library
In some earlier articles, we used the term freestanding. We said that a freestanding implementation is one that operates without the support of a hosted operating system. Think embedded systems, OS kernels, or bare-metal environments where heap allocation, system calls, and exception support are typically unavailable. The C++ standard defines a minimal subset of the language and library that must work in such constrained environments.
But I wanted to go slightly deeper, because the term doesn’t come up much in everyday C++ — at least not until you start reading the standard more carefully or until you need to use such an implementation.
-
Zig ☛ Devlog ⚡ Zig Programming Language
I’ve been spending a bit of time working on personal projects after merging my type resolution changes last month, but I did find the time recently to make some improvements to the LLVM codegen backend. This involved a few different enhancements with various goals, but one nice user-facing change was that I managed to get incremental compilation working with the LLVM backend.
-
Christian Hofstede-Kuhn ☛ Speeding Up Forgejo CI with a Custom OCI Image
Every push to this blog triggers a Forgejo Actions pipeline that builds the site with Pelican, then deploys it via rsync. If you want the full picture of how this blog’s infrastructure works - Bastille jails, Caddy, the whole deployment chain - I covered that in an earlier article. The pipeline worked fine. But every single run started with the same ritual: apt-get update, install four system packages, pip install five Python packages. The actual build took seconds - the dependency installation took longer than the rest of the pipeline combined.
-
Chris Wellons ☛ dcmake: a new CMake debugger UI
CMake has a --debugger mode since 3.27 (July 2023), allowing software to manipulate it interactively through the Debugger Adaptor Protocol (DAP), an HTTP-like protocol passing JSON messages. Debugger front-ends can start, stop, step, breakpoint, query variables, etc. a live CMake. When I came across this mode, I immediately conceived a project putting it to use. Thanks to recent leaps in software engineering productivity, I had a working prototype in 30 minutes, and by the end of that same day, a complete, multi-platform, native, GUI application. I named it dcmake (“debugger for CMake”). I’ve tested it on macOS, Windows, and Linux. Despite only being couple days old, it’s one of the coolest things I’ve ever built. Prior to 2026, I estimate it would have taken me a month to get the tool to this point.
-
Perl / Raku
-
Shell/Bash/Zsh/Ksh
-
University of Toronto ☛ Two little scripts: addup and sumup
Every so often I find myself in a situation where I have a bunch of lines with multiple columns and I want to either add up all of the numbers in one column (for example, to get total transfer volume from Apache log files) or add up all of the numbers in one column grouped by the value of a second column. This leads to two scripts, which I call 'addup' and 'sumup'.
Addup is a simple awk script that adds up all the values from some column: [...]
-
-
Java/Golang
-
Hackaday ☛ TinyGo Boldly Goes Where No Go Ever Did Go Before
When you’re programming microcontrollers, you’re likely to think in C if you’re old-school, Rust if you’re trendy, or Python if you want it done quick and have resources to spare. What about Go? The programming language, not the game. That’s an option, too, with TinyGo now supporting over 100 different dev boards, along with webASM.
-
-
Rust
-
OSTechNix ☛ Rust Coreutils 0.8.0 Introduces Massive Performance Gains and a New Online Playground
uutils coreutils (or Rust coreutils) is a complete rewrite of the standard GNU coreutils (the essential commands like ls, cp, and cat) using the Rust programming language.
It is designed to be a drop-in replacement for the original utilities, meaning it aims to match GNU's output and behavior exactly.
-