news
Programming Leftovers
-
Facundo Olano ☛ [tl;dr] Balancing Coupling in Software Design
The thesis of the book: despite its reputation, coupling is not something fundamentally bad that we need to remove but an attribute that we should manage strategically. Similar to essential complexity, a useful software system can’t exist without some form of coupling of its components. An easy way to internalize this idea is remembering that cohesion is sometimes defined as good coupling.
-
Daniel Lemire ☛ Speeding up C++ functions with a thread_local cache
In large code bases, we are often stuck with unpleasant designs that are harming our performance. We might be looking for a non-intrusive method to improve the performance. For example, you may not want to change the function signatures.
Let us consider a concret example. Maybe someone designed the programming interface so that you have to access the values from a map using an index. They may have code like so: [...]
-
Ross Wintle ☛ Software can be finished
One of the “25 lessons” I presented at LoopConf this year was “Software can be finished”.
I tried to remove this lesson from the talk to make room for something else. But it kinda took on a life of its own and wanted to be in the talk. It was an Important Lesson.
“Software can be finished” is a controversial statement. And I want to be clear, as I was in the talk, that in many cases “finished” software is not, and should not be, the goal.
But I present it as an idea. An ideal. A theory. Something to chew on and think about.
What would finished software be like? How would we write it? And what can we learn about the way that we create software by considering these other questions?
-
Alexandru Nedelcu ☛ In Scala 3, use 4 Spaces for Indentation
You may think this isn’t serious. I’m seeing indentation errors in blog articles, which weren’t there before. And I’ve made a couple of mistakes myself. Sometimes, the compiler catches it, but that may not happen in case of effectful expressions with an irrelevant Unit result. And for it to be human-readable, it has to be in your face, unambiguous, even after 10 hours of looking at your screen.
-
Ruby ☛ Ruby 3.4.7 Released
We intend to release the latest stable Ruby version (currently Ruby 3.4) every two months following the most recent release. Ruby 3.4.8 is scheduled for December and 3.4.9 for February.
-
Perl / Raku
-
Arne Sommer ☛ Team Zero with Raku - Arne Sommer
You are given a list of numbers.
Find the number that is closest to zero and return its distance to zero.
-