news
Programming Leftovers
-
Raymond Camden ☛ Adding a Web Debugger to BoxLang (First Version)
In order to support something like this in BoxLang, I looked at two features - the module system which lets you add to BoxLang itself and interceptors which let you tie into the platform at a low level.
My initial version of this project (I've got plans - big plans - and will detail at the bottom) support reporting the following metrics: [...]
-
Keith Harrison ☛ Treating Warnings As Errors In Swift Packages
In Swift 6.2, Swift Packages give us control over which compiler warnings to treat as errors.
-
Brian Callahan ☛ Let's write a peephole optimizer for QBE's arm64 backend
My interest here is that I am finishing up a Forth-like language compiler that compiles to QBE. I am at the point where I am curious what kind of code QBE outputs on AArch64.
-
Shell/Bash/Zsh/Ksh
-
DJ Adams ☛ Auto formatting extensionless Bash scripts in Neovim
I am of the opinion that the names of shell scripts that are written to be executed on the command line should not have extensions. This follows a specific guideline in the Google Shell Style Guide. Interpretation of shell script file[type]s is based on the shebang.
This approach, combined with the Bash language server, its support for shfmt, and a custom part of shfmt's support for Editorconfig, turned out to be a small but perfect storm: [...]
-
Paul Tarvydas ☛ What UNIX Pipelines Got Right (And How We Can Do Better)
UNIX pipelines represent one of computing's most elegant architectural breakthroughs. While most discussions focus on their practical utility—chaining commands like grep | sort | uniq — the real significance lies deeper. Pipelines demonstrated fundamental principles of software composition that we're still learning to fully realize in modern systems.
The Breakthrough: True Isolation
The genius of UNIX pipelines wasn't just connecting programs—it was isolating them in ways that enabled genuine composability.
-
[Old] Andreas ☛ Dot-slash revisited
Bash does not check “builtin vs absolute path”. It first checks whether the command name contains any ‘/’, i.e. whether it is a pathname, absolute or relative. For example, ./my_script, subdir/my_script, and /usr/bin/ls all count as “pathname”. The function that does the check is defined in general.c: [...]
-
-
Rust
-
Rust Blog ☛ The Rust Programming Language Blog: Faster linking times with 1.90.0 stable on GNU/Linux using the LLD linker
TL;DR: rustc will start using the LLD linker by default on the
x86_64-unknown-linux-gnu
target starting with the next stable release (1.90.0, scheduled for 2025-09-18), which should significantly reduce linking times. Test it out on beta now, and please report any encountered issues.
-