news
Programming Leftovers
-
Evan Hahn ☛ Anecdotally, programmers dislike "reduce"
I cannot say the same for reduce. Often, when I’ve submitted a patch with reduce inside, I get a comment like, “this part is hard to read.” And I see reduce way less than map, filter, some, and so on.
Anecdotally, I have come to believe that programmers don’t like reduce as much.
I don’t know why, but I have a few theories: [...]
-
Yossi Frenkel ☛ Can a regex match valid card numbers?
A typical formulation of the Luhn algorithm can be described as follows: walk over the digits from right-to-left, alternating between adding the digit and adding the “Luhn double” of the digit to a rolling sum. At the end, we check whether this sum is divisible by 10.
-
[Old] Lucio F Albenga ☛ From Git to Fossil
People at Git has started to work on a proposal to make the Rust programming language mandatory. I don't like Rust and, above all, I don't like its community of little extremist characters who are trying to make everyone swallow their crap by rewriting projects that have been working for decades, doing social media brigading, and other nice little gems worthy of any tiny group with totalitarian delusions. That's why when I see that a project aims to "force" the use of or the switch from C to Rust, to the extent of my possibilities, I flee from it as if I were pursued by the Balrog of the Lord of the Rings with his whip.
I'm old enough to have used (or tested) many version control systems: RCS (Revision Control System), CVS (Concurrent Version System), SVN (Subversion), HG (Mercurial), BZR (Bazaar), and the aforementioned Git, which means I have no problem in switching again, so I started to think about a Git substitute for my personal projects.
The options were to go back to one of the already known or look at something else, and I remembered Fossil. I started looking over the source code and reading the official documentation to learn its features, its dependencies, how to install and configure it, etc., and I noticed it had many things I like: [...]
-
Veit Heller ☛ Metacarp
Metacarp is a second implementation of that language. It compiles the reference suite, compiles itself, and then compiles itself again to byte-identical C. It is split into independent libraries for the compiler phases, has a second LLVM backend, keeps compiler sessions alive between inputs, and can incrementally compile code into a running JIT.
It is also not a drop-in replacement yet. Its diagnostics are different, parts of it are quite wonky, and some programs still find exciting ways to fall off the edge.
So this is the announcement. Let’s have a look around!
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: td 0.0.7 on CRAN: New Features and Updates
A new version 0.0.7 of the td package for accessing the twelvedata API for financial is now on CRAN, and has been built for r2u.
-
[Old] Pranoy Dutta ☛ prydt's site
Here are just a few programming language features I love: [...]
-
Eddie Atkinson ☛ Useful Code Comments
Comments in your code are the simplest and often most useful means of documenting your decisions and communicating intent for those that need to understand it in the future.
However, one must be careful to ensure that the comments one leaves behind are not noisy or misleading. My general philosophy when it comes to comments is as follows:
Never tell me what, sometimes tell me why, always tell me why not.
As with all things in software, this principle is not hard and fast, but a general heuristic.
-
Perl / Raku
-
Perl ☛ The Lightning Talks of the German Perl Workshop 2026 are online
These presentations are up to 5 minutes long - the ideal way to introduce your favorite module, TV series, or really just about any topic.
-
-
Java/Golang
-
Hanno Embregts ☛ Hello Java 27! Have You Been Working Out?
It’s been six months since we saw a new Java release, and this new edition is seems to be ready to flex its muscles. With numerous improvements to performance and security, Java 27 is like that friend that you haven’t seen all summer, and when you finally see them again it’s clear that they spent a lot of time in the gym!
This post focuses on everything that has been added in this release, giving you a brief introduction to each of the features. Where applicable the differences with Java 26 are highlighted and a few typical use cases are provided, so that you’ll be more than ready to start using these features after reading this.
-