news
Programming Leftovers
-
Mark-Jason Dominus ☛ Programmers will document for Claude, but not for each other
A couple of days ago I recounted a common complaint:
"I keep seeing programmers say how angry it makes them that people are willing to write detailed CLAUDE.md and PROJECT.md files for Claude to use, but they weren't willing to write them for their coworkers."
-
Sandor Dargo ☛ C++26: A User-Friendly assert() macro
C++26 is bringing some long-overdue changes to assert(). But why are those changes needed? And when do we actually use assert, anyway?
At its core, assert() exists to validate runtime conditions. If the given expression evaluates to false, the program aborts. I’m almost certain you’ve used it before — at work, in personal projects, or at the very least in examples and code snippets.
So what’s the problem?
-
Michael Kohl ☛ C Preprocessor Fun
A lot of my JustForFun™ hacking happens late at night, often when I have trouble falling asleep. In a recent episode, I wanted to see if I could coax the C preprocessor into something JSX-like. Quite surprisingly, the Mastodon post got a lot of attention, so I wanted to preserve it here.
-
Ben Tsai ☛ Comprehension is the job
I’ve already referenced Addy’s Comprehension Debt piece, but I think it is worth highlighting this quote:
"Making code cheap to generate doesn’t make understanding cheap to skip. The comprehension work is the job."
This is salient because it feels there is a growing divide in the industry on this point. Some would say our understanding of a system is moving to a higher level of abstraction, where we use English to specify our intent, and depend on the LLM tool to translate that into code. The analogy they use is, the same thing happened when we moved from assembly to C.
-
Lars Wikman ☛ Underjord | Injecting tracing the hot way
I mostly program in Elixir. So tracing is an overloaded term. This post relates to both of them and how we can use BEAM and Erlang fundamentals to do wild things for observability that wouldn’t be practical in most runtimes. Let’s load some hot code.
-
Daniel Lemire ☛ JSON and C++26 compile-time reflection: a talk
The next C++ standard (C++26) is getting exciting new features. One of these features is compile-time reflection. It is ideally suited to serialize and deserialize data at high speed. To test it out, we extended our fast JSON library (simdjson) and we gave a talk at CppCon 2025. The video is out on YouTube.
-
Swift Programming Language ☛ Swift 6.3 Released
Swift is designed to be the language you reach for at every layer of the software stack. Whether you’re building embedded firmware, internet-scale services, or full-featured mobile apps, Swift delivers strong safety guarantees, performance control when you need it, and expressive language features and APIs.
Swift 6.3 makes these benefits more accessible across the stack. This release expands Swift into new domains and improves developer ergonomics across the board, featuring: [...]
-
Perl / Raku
-
Arne Sommer ☛ Count the Times with Raku
This is my response to The Weekly Challenge #366.
-
Perl ☛ 2026-03-23 [Older] Graphics::Toolkit::Color 2.0 feature overview
-
Perl ☛ 2026-03-22 [Older] 28th German Perl Workshop (2026, Berlin)
-
Perl ☛ 2026-03-19 [Older] ANNOUNCE: Perl.Wiki V 1.42 & 2 CPAN::Meta* modules
-
Perl ☛ 2026-03-18 [Older] This week in PSC (218) | 2026-03-16
-
Perl ☛ 2026-03-17 [Older] Help testing DBD::Oracle
-
-
Python
-
University of Toronto ☛ Going from an IPv4 address to an ASN in Python 2 with Unix brute force
For reasons, I've reached the point where I would like to be able to map IPv4 addresses into the organizations responsible for them, which is to say their Autonomous System Number (ASN), for use in DWiki, the blog engine of Wandering Thoughts. So today on the Fediverse I mused: [...]
-
-
Shell/Bash/Zsh/Ksh
-
Christian Hofstede-Kuhn ☛ Shell Tricks That Actually Make Life Easier (And Save Your Sanity)
There is a distinct, visceral kind of pain in watching an otherwise brilliant engineer hold down the Backspace key for six continuous seconds to fix a typo at the beginning of a line.
We’ve all been there. We learn ls, cd, and grep, and then we sort of… stop. The terminal becomes a place we live in-but we rarely bother to arrange the furniture. We accept that certain tasks take forty keystrokes, completely unaware that the shell authors solved our exact frustration sometime in 1989.
Here are some tricks that aren’t exactly secret, but aren’t always taught either. To keep the peace in our extended Unix family, I’ve split these into two camps: the universal tricks that work on almost any POSIX-ish shell (like sh on FreeBSD or ksh on OpenBSD), and the quality-of-life additions specific to interactive shells like Bash or Zsh.
-
-
Java/Golang
-
Anton Zhiyanov ☛ Porting Go's io package to C
Creating a subset of Go that translates to C was never my end goal. I liked writing C code with Go, but without the standard library it felt pretty limited. So, the next logical step was to port Go's stdlib to C.
-