news
Programming Leftovers
-
MJ Fransen ☛ Having fun with Chicken Scheme
Lately have been dabbling in Guile Scheme. Guile Scheme is very fast and since is it the main development environment for Guix, its popularity is rising.
I tried Chicken Scheme because it can create a stand-alone executable. This means that once compiled, it can run on systems where Chicken Scheme is not installed. Maybe this can be done too with Guile Scheme, but I haven't discovered a way to do that.
Chicken Scheme compiles your code into an executable, no need to jump though hoops to do that.
-
Farid Zakaria ☛ A C++ toolchain from 357 bytes, in Bazel
I have been fascinated and amazed by stage0 for a while now ever since I learnt about it via Guix using it to provide twenty two thousand packages source-bootstrapped from the 357-byte seed.
What is stage0?
It is a chain of compilers and assemblers that can be built from source, starting from a 357-byte program that can eventually build a recent GCC.
-
Allen Pike ☛ Weighing the Business Case for Quality
Most of us want to do great work. Building things of exceptional quality – work that’s beautiful, lovable, fast – is one of life’s great joys.
However, the story goes, capitalism doesn’t value quality. Businesses don’t fund software that is lovable. Thus, you need to make a career choice: do you want to be a craftsperson, or do you want to make money?
This dichotomy is nonsense.
-
UNIX.Dog ☛ getopt() but friendlier
I’ve been thinking a lot about “making C generally nicer to use” recently. The language has been stuck in The Dark Ages in terms of both standard behavior and programmer practice for a while, and I feel like only recently—with the works of people like ThePhD on the C standard or Wellons blogging about his C practices—has some amount of momentum and public discussion been put on improving the ergonomics of C internally and externally.1
-
Jerry Orr ☛ The development pipeline is a production system
However, the same level of urgency is not often given to problems with our development tools, build systems, QA environments, and other parts of the software development pipeline. But for the development team, the development pipeline is a production system.
A software developer’s job is to deliver value for the company. Sometimes that means building new features, sometimes that means fixing critical bugs for the customers’ production systems. But none of this can happen when something is broken in the software development pipeline.
-
Ruby
-
André Arko ☛ Ruby Central's Destructive Legacy [iophk: probably important example]
Then, about 10 months ago, Ruby Central began what core team member Ellen Dash called a “hostile takeover” of the RubyGems, Bundler, and RubyGems.org open source projects, seizing control of the projects and locking out the team that had nurtured and maintained them for over a decade.
-
-
Python
-
Sebastian ☛ python's pre-declared constants are kinda weird
python has 6 pre-declared "constants": True, False, None, __debug__, Ellipsis (or equivalently ...), and NotImplemented. but they all behave slightly differently, for some reason.
-
Juha-Matti Santala ☛ Python A to Z - Blaugust 2026 introduction : Juha-Matti Santala
There’s so much more to Python though so this year I’m approaching it from a different angle and pick one topic for each letter in the English alphabet to write about. Some of them will include code examples, often in a recipe style of “how to do X with Python” while others will be about topics that don’t include code.
-
-
Perl/Raku
-
Arne Sommer ☛ N Binary with Raku
This is my response to The Weekly Challenge #384.
-
-
Shell / Bash / Zsh / Ksh
-
James Leighton ☛ Monitoring mv and other quiet commands with watch and progress
mv gives you no progress output at all, which is not much fun when you are moving 100+GB of Google Takeout archives and cannot tell if anything is happening.
Two tools fix this: watch and progress. With your move already running, open a second terminal and enter the following: [...]
-