news
Programming Leftovers
-
Medium ☛ Coding Isn’t the Cure for Anxiety
More code doesn’t make me feel better.
Yet I’ve been fed the same lie we have all been told (again and again) in tech. That if I just do more, I’ll feel better, do better and everything will be better.
It’s not true. It was never true. We’re just facilitating everyone else’s agenda.
-
Andy Bell ☛ The open source design stack
Scott and Piccalilli are not affiliated with any of the products mentioned in this article. They’re nice tools that we recommend trying out, but we gain nothing from any links or signups. We also haven’t consulted with any of the mentioned products in the process of putting this post together.
-
Andrew Nesbitt ☛ Git’s Magic Files
A follow-up to my post on extending git functionality. Git looks for several special files in your repository that control its behavior. These aren’t configuration files in .git/, they’re committed files that travel with your code and affect how git treats your files.
If you’re building a tool that works with git repositories, like git-pkgs, you’ll want to ensure you respect these configs.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: rfoaas 2.3.3: Limited Rebirth
The original FOAAS site provided a rather wide variety of REST access points, but it sadky is no more (while the old repo is still there). A newer replacement site FOASS is up and running, but with a somewhat reduced offering. (For example, the two accessors shown in the screenshot are no more. C’est la vie.)
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: littler 0.3.23 on CRAN: More Features (and Fixes)
The twentythird release of littler as a landed on CRAN just now, following in the now twenty year history (!!)
Rscriptonly began to do in later years. -
Anton Zhiyanov ☛ (Un)portable defer in C
Modern system programming languages, from Hare to Zig, seem to agree that defer is a must-have feature. It's hard to argue with that, because defer makes it much easier to free memory and other resources correctly, which is crucial in languages without garbage collection.
The situation in C is different. There was a N2895 proposal by Jens Gustedt and Robert Seacord in 2021, but it was not accepted for C23. Now, there's another N3734 proposal by JeanHeyd Meneide, which will probably be accepted in the next standard version.
-
Buttondown LLC ☛ Logic for Programmers New Release and Next Steps
It's taken four months, but the next release of Logic for Programmers is now available! v0.13 is over 50,000 words, making it both 20% larger than v0.12 and officially the longest thing I have ever written.1 Full release notes are here, but I'll talk a bit about the biggest changes.
For one, every chapter has been rewritten. Every single one. They span from relatively minor changes to complete chapter rewrites. After some rough git diffing, I think I deleted about 11,000 words?2 The biggest change is probably to the Alloy chapter. After many sleepless nights, I realized the right approach wasn't to teach Alloy as a data modeling tool but to teach it as a domain modeling tool. Which technically means the book no longer covers data modeling.
-
More Sorting Options, Counters and Help With the Search for Your Requests
We further improved the request index page to help you keep track of all the requests you are involved in. This time, we’ve added more options to sort your requests, counters to the individual filters and documentation for the search functionality. We started the redesign of the request index in August 2024 introducing a new UI to list all the requests replacing the “Tasks” place in the menu.
-
Perl / Raku
-
Ruben Schade ☛ Fastmail’s donation to Perl!
This news from Perl.com was awesome to read:
2025 was a tough year for The Perl and Raku Foundation (TPRF). Funds were sorely needed. The community grants program had been paused due to budget constraints and we were in danger of needing to pause the Perl 5 core maintenance grants. Fastmail stepped up with a USD 10,000 donation and helped TPRF to continue to support Perl 5 core maintenance.
They quoted Ricardo Signes at Fastmail:
Perl has served us quite well since Fastmail’s inception. We’ve built up a large code base that has continued to work, grow, and improve over twenty years. We’ve stuck with Perl because Perl stuck with us: it kept working and growing and improving, and very rarely did those improvements require us to stop the world and adapt to onerous changes. We know that kind of stability is, in part, a function of the developers of Perl, whose time is spent figuring out how to make Perl better without also making it worse. The money we give toward those efforts is well-spent, because it keeps the improvements coming and the language reliable.
-
-
Python
-
Robotic Systems LLC ☛ BiSS-C encoder support
I’d like to announce more encoder support in moteus, this time for BiSS-C encoders in unidirectional mode. BiSS-C is a protocol often used in higher end industrial encoders that uses a RS-422 wire level signaling scheme. This support works out of the box for moteus-n1 and moteus-x1 which have a RS-422 connector already included. All you need is to have firmware 2026-01-21 or newer installed and to follow the documentation for upgrading.
If you want to see a specific configuration example, or read about how the feature was implemented, read on!
-
Justin Duke ☛ In praise of actions
When I first encountered all of the concepts that I'll describe as controllers or actions or services, I would try to adhere to them with the logic of consistency being its own virtue, but never quite understand why and how they came to be so prevalent. And indeed, it seems like with the tide shifting away from OOP and J2EE-style programming and onto more dynamic programming, they have become less in vogue.
Now that I've gotten to watch a larger codebase mature in both good ways and bad, I've grown to appreciate what one particular convention — actions — solves in relation to what came before them, which, crucially, was nothing. Business logic would just kind of end up wherever it seemed vaguely reasonable to put it, often in a services or utils directory, with not a lot of consistency or organizational standards.
-
-
R / R-Script
-
Rlang ☛ Getting to the bottom of TMLE: influence functions and perturbations
I first encountered TMLE—sometimes spelled out as targeted maximum likelihood estimation or targeted minimum-loss estimate—about twelve or so years ago when Mark var der Laan, one of the original developers who literally wrote the book, gave a talk at NYU. It sounded very cool and seemed quite revolutionary and important, but it was really challenging to follow all of the details. Following that talk, I tried to tackle some of the literature, but quickly found that it as a challenge to penetrate. What struck me most was not the algorithmic complexity (which it certainly had), but much of the language and terminology, and the underlying math.
Recently, I inherited a project from a colleague who had proposed using TMLE to analyze a cluster randomized trial using a stepped-wedge design. In order to decide whether we would continue with this plan, I needed to revisit the literature to see if I could make more progress this time around. There are certainly more tutorials available as well as improved software and documentation, so it is much easier to get up and running to generate estimates. I was even able to build a model for the stepped-wedge design (that I hope to share on the blog some point soon). Beyond this, I really wanted to get a deeper understanding of the mathematical model that underlies the method without getting too far into the weeds (and proofs).
-
-
Rust
-
Rust Weekly Updates ☛ This Week In Rust: This Week in Rust 637
Hello and welcome to another issue of This Week in Rust!
-
-
Bash
-
It's FOSS ☛ Not Kidding! Bash Shell Manual is Part of Epstein Files 🫣
echo "don't panic"
-