Programming Leftovers
-
Phil Eaton ☛ An explosion of transitive dependencies
A small standard library means an explosion in transitive dependencies. A more comprehensive standard library helps you minimize dependencies. Don't misunderstand me: in a real-world project, it is practically impossible to have zero dependencies.
Armin Ronacher called for a vibe shift among programmers and I think that this actually exists already. Everyone I speak to on this topic has agreed that minimizing dependencies is ideal.
-
Rlang ☛ Cpp11 pull requests to improve the integration of R and C++
From cpp11 description: “Provides a header only, C++11 interface to R’s C interface. Compared to other approaches ‘cpp11’ strives to be safe against long jumps from the C API as well as C++ exceptions, conform to normal R function semantics and supports interaction with ‘ALTREP’ vectors.”
I have used cpp11 for two years right after I started learning C++ with no previous C/C++ knowledge. Now I have suggested the following changes to the codebase to improve the user experience and reduce the number of lines of code needed to perform common tasks. I excluded describing PRs that only relate to technical aspects or tests.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: RcppBDT 0.2.7 on CRAN: Maintenance
This release follows the recent updates of other package updating their C++ compilation standard along with other standard package updates. No feature or interface changes.
-
SICP ☛ The gaps between the processes
Knowledge management—not just in software engineering and not just digital knowledge management—has long had to account for tacit knowledge: the things that people know, but never say.
-
Rlang ☛ A trip from variance-covariance to correlation and back
The variance-covariance and the correlation matrices are two entities that describe the association between the columns of a two-way data matrix. They are very much used, e.g., in agriculture, biology and ecology and they can be easily calculated with base R, as shown in the box below.
-
Sandy Maguire ☛ Use Monoids for Construction
There’s a common anti-pattern I see in beginner-to-intermediate Haskell programmers that I wanted to discuss today. It’s the tendency to conceptualize the creation of an object by repeated mutation. Often this takes the form of repeated insertion into an empty container, but comes up under many other guises as well.
This anti-pattern isn’t particularly surprising in its prevalence; after all, if you’ve got the usual imperative brainworms, this is just how things get built. The gang of four “builder pattern” is exactly this; you can build an empty object, and setters on such a thing change the state but return the object itself. Thus, you build things by chaning together setter methods: [...]
-
University of Toronto ☛ Languages don't version themselves using semantic versioning
A number of modern languages have effectively a single official compiler or interpreter, and they version this toolchain with what looks like a semantic version (semver). So we have (C)Python 3.12.8, Go 1.23.5, Rust(c) 1.84.0, and so on, which certainly look like a semver major.minor.patchlevel triplet. In practice, this is not how languages think of their version numbers.
-
Daniel Lemire ☛ Regular expressions can blow up!
Regular expressions, often abbreviated as regex, are a powerful tool for pattern matching within text. For example, the expression
-
Alvaro Montoro ☛ Single HTML Element Star Rating Component
Simple components like checkboxes, radio buttons, and toggle switches can be created with HTML and CSS while relying on the browser for functionality. But we are not limited to simple components. More complex components can also be achieved this way.
In this article, we'll explore how to build a star rating system using a single HTML and just one JavaScript command.
-
Shell/Bash/Zsh/Ksh
-
Nico Cartron ☛ Counting tags for my Yearly Review
This is very ugly and probably only usable by me, but here's a Shell script I quickly wrote to save me from manually counting the number of articles per tag on my blog, which uses BashBlog.
-
-
Education
-
Rlang ☛ Coworking Mini-Hackathon for First-Time Contributors
This week we had a wonderful community call, From Novice to Contributor: Making and Supporting First-Time Contributions to FOSS, where Sunny Tseng, Pascal Burkhard, and Yaoxiang Li shared with us their experiences with, and advice for, first time contributors, with the excellent moderation of Hugo Gruson. This was a perfect start to our special series of activities to support first time contributors to Open Source Software.
Our next two activities, Coworking Mini-Hackathons for First-Time Contributors, will take place February 4th 2025 1-3 UTC and March 4th 2025 13-15 UTC (see below for details), but first, let’s review what we learned from this Community Call.
-