Programming Leftovers
-
Philip Chimento: It’s like cp -R but for your GUI
As a JavaScript engine developer at [Igalia](igalia.com) I don’t find myself writing much plain C code anymore. I’m either writing JS or TypeScript, or hacking on large compiler codebases in C++1, or writing ECMAScript specification language. Frankly, that is fine with me. C’s time may not be over yet, but I wouldn’t be sad if I never had to write another line of it. (Hopefully this post conveys why.)
However, while working on modernizing an app written in C for the GNOME platform, that I hack on in my spare time, I wanted to copy a folder recursively using the GIO async APIs. Like
cp -R
at the shell, but without freezing up your GUI while it works. -
Gunnar Wolf ☛ Gunnar Wolf: 50 years of queries
The relational model is probably the one innovation that brought computers to the mainstream for business users. This article by Donald Chamberlin, creator of one of the first query languages (that evolved into the ubiquitous SQL), presents its history as a commemoration of the 50th anniversary of his publication of said query language.
-
Rlang ☛ Introducing gt_summarytools: Analyze Your Data Faster With R
Hey guys, welcome back to my R-tips newsletter. In today’s fast-paced data science environment, speeding up exploratory data analysis (EDA) is more critical than ever. This is where gt_summarytools() comes in. A new function I’ve developed, gt_summarytools(), combines the best features of gt and summarytools, allowing you to create detailed, interactive data summaries faster and with more flexibility than ever. Let’s go!
-
Rlang ☛ A Bayesian Plackett-Luce model in Stan applied to pinball championship data
Sometimes it feels a bit silly when a simple statistical model has a fancy-sounding name. But it also feels good to drop the following in casual conversation: “Ah, then I recommend a Plackett-Luce model, a straightforward generalization of the Bradley–Terry model, you know”, when a friend wonders how they could model their, say, pinball championship dataset. Incidentally, in this post we’re going to model the result of the IFPA 18 World Pinball Championship using a Plackett-Luce model, implemented in Stan as a generalization of the Bradley–Terry model, you know.
-
Francesco Mazzoli ☛ Waiting for many things at once with `io_uring`
When doing systems programming we often need to wait for something to happen. Common examples might be waiting for some data to come through a socket or waiting on a lock. We also often want to wait on any of several conditions to become true. A web server might be handling many sockets at once, waiting for any number of them to become readable or writeable.
This short blog post is concerned with the latter scenario in Linux. Until recently there was no generic framework which allowed us to wait on many arbitrary events, but now there is, thanks to io_uring.
-
Justin Duke ☛ Always use an enum for your status field · Applied Cartography
He paused for a moment, and then said:
"Honestly, 80% of the time in these meetings I just tell people to either use an enum instead of a boolean or to make it more clear which data is events and which is state. I'm always right, it's always useful, and there's never that much fuss about it."
-
Brioche ☛ Portable, dynamically linked packages on Linux
I think this is just a really cool technique, and I’d love to see it get adopted across other package managers or in other places where Linux executables get distributed! For Brioche, it means I can set up a fresh Brioche installation in a few seconds and start installing packages right away, without needing root permissions. It means that I can just run brioche build -o output ... to get a bundle, then just scp it to some remote Linux machine or send it to someone, even if Brioche isn’t installed on the other side. It means the same bundle can be used both inside and outside a Docker container. It means I can just use glibc or whatever dynamically linked libraries I want, and not have to fiddle around with toolchains to make a fully-static build11
-
Standards/Consortia
-
Jacky Alciné ☛ Protocol Bickering is Going to Wreck the Open Web
My fear is that we will refuse to avoid the mistakes of the Web 2.0 era and work to develop networks and systems that are evolving to be inherently incapable of communicating with one another. Not because of technical difficulty but because the authors and architects of these spaces loathe one another. There's folks who remember how Twitter began preventing you from seeing the previews of Instagram posts natively on their platform — now we have Instagram being the sign-in mechanism to the Twitter alternative/clone. This is expected for two companies warring for the attention spans of millions. This is not the kind of behavior I'd want to see develop in a space that aims to call itself "for people" or it being of the "open Web".
-