news
Programming Leftovers
-
Eric P Hanson ☛ Counting short package names
In my post yesterday Thoughts on being a package registry maintainer, I discussed package registration moderation, exercise of power, and some historical moderation decisions. One piece of it was about Julia packages with 3-letter names, and in particular the question of how many such packages there can be. I wrotelightly edited here for clarity: [...]
-
Daphne Preston-Kendal ☛ crumbles.blog: Tour of a pattern matcher: expression and pattern expansion
As mentioned last time I talked about the implementation, extensible-match is a Scheme macro complex enough that it can be seen as a compiler unto itself. There’s a sense in which this is a truism – every Scheme macro is a compiler from a dialect of Scheme containing that macro’s syntactic extension into a dialect that doesn’t use it, at least locally – and attempting to define what makes a macro a compiler beyond that is somewhat impressionistic. But extensible-match has intermediate representations, multiple passes, an optimizer, and a code generator to turn all of that back into Scheme code: it’s definitely on the side of a compiler, taken as a whole. But today, following the path that your patterns actually take when the compiler digests them and turns them into running Scheme code, we’ll just take a look at the front end, which looks more like a traditional Scheme macro definition. Even here, there are a few things worth pointing out along the way!
-
Rlang ☛ Bayes vs. the Invaders (Redivivus)
Unidentifiable aerial and marine phenomena. Impossible lights in the sky. Patterns of visitation and terror. Insidious influences from the hadal voids between the stars. Who--what--swoop and glide through the ink-black nights of our world, probing and testing our structures, our societies, our minds?
-
Rlang ☛ How to deploy a Shiny app for production
If this post is useful to you I kindly ask a minimal donation on Buy Me a Coffee. It shall be used to continue my Open Source efforts.
-
Perl / Raku
-
Ruben Schade ☛ Eskild Hustvedt’s joy rediscovering Perl
This! I yo-yo’d between Mandrake and Red Hat, but I was even about his age and read the exact version of the Learning Perl book. It was the most fun I’d ever had writing code before.
-
-
Python
-
PHP ☛ 10 Smart Performance Hacks For Faster Python Code
This guide presents 10 rigorously tested performance-enhancement strategies. Drawing upon Python’s built-in capabilities, efficient data structures, and low-level optimization techniques, it offers practical methods to accelerate code execution without compromising the language’s characteristic clarity and elegance. Supported by empirical benchmarks and illustrative code examples, these techniques demonstrate how incremental improvements can yield substantial performance gains – empowering developers to transition from proficient practitioners to true experts in high-performance Python programming.
-
-
R / R-Script
-
Rlang ☛ 10 minutes
Where can you go in 10 minutes (by car) from Les Minutes?
-
-
Java/Golang
-
Uğur Erdem Seyfi ☛ Understanding Go's Garbage Collector | rugu
Go is a garbage-collected language. This is great for developer velocity. It allows us to spend less time on manual memory management and more on business logic. Unfortunately though, making GC work efficiently is neither simple nor cheap.
The thing is, just because GC hides memory management details from us doesn’t mean that they don’t happen under the hood. They happen, and they are costly. If we don’t think about it, we might just generate garbage without realizing the possible runtime costs.
-
-
Rust
-
ACM ☛ A Practical Guide to Transitioning to Memory-Safe Languages
Even more concerning, memory-safety vulnerabilities continue to represent an even higher percentage of vulnerabilities exploited "in the wild" to target real victims. This endless cycle of finding and fixing the same kinds of flaws has felt like a battle of attrition that could never be won.
Why has durable progress remained so elusive?
-
Jeezy ☛ Exposing Git Information in Rust Binaries Built With Nix
When you have software out in the wild being used by lots of people, it's inevitable that there will be pretty large spread across the versions of your software being used.
If that software is aimed towards technical folks and power users, or if you publish nightly releases, in addition to the spread across official version releases, you will also have many people running on any number of commit hashes.
-