news
Programming Leftovers
-
MaskRay ☛ Recent LLVM hash table improvements
LLVM has several hash tables. They used quadratic probing with in-band sentinel keys (empty, tombstone); recent work has been replacing that with linear probing with tombstone key removed.
-
[Old] Peter Mbanugo ☛ Why Queues Don’t Fix Overload (And What To Do Instead)
This is the most intuitive response in software engineering today. Not only are queues used as a band-aid solution, they are added upfront as a way to decouple systems. Yet an overload on one system cascades to others.
But a queue is synonymous with a bathtub or sink, and just like bathtubs, software is bound by physics. If water is coming out of the tap (faucet) faster than it can go down the drain, making the bathtub bigger does not prevent a flood. It just delays it.
-
Uwe Friedrichsen ☛ The essence of architectural work - Part 2
In the previous post, we started discussing that not understanding why we do architectural work leads to many detrimental anti-patterns in software development. We can observe these patterns time and again: [...]
-
Matthias Endler ☛ How Other Link Checkers Do Recursion
This sent me down a rabbit hole of reading the code of other link checkers. The key takeaway is: they didn’t find a clever trick we missed. They were built as crawlers from the very first commit, and I initially built lychee as a stream.
-
R / R-Script
-
Rlang ☛ Five recent R-universe features you might have missed
One of the challenges of working on R-universe is that there is never really a release day.
Unlike software projects that accumulate changes for a big launch, R-universe evolves continuously. New features, infrastructure improvements, UI tweaks, and build system enhancements are silently deployed all the time without most people noticing.
Every now and then, however, a few features emerge that are worth highlighting. In this technote we look at five recent additions that make R-universe a little nicer, faster, or more convenient to use.
-