Programming Leftovers
-
Jack Kelly ☛ A Dictionary of Single-Letter Variable Names
Haskell’s expressive type system means that type signatures can carry a lot of information. Haskell’s polymorphism means that you sometime write a function that works across an enormous range of types, and are often left wondering “what do I actually call my variables?”. It is often the case that there’s nothing to say beyond “this variable is a Functor”, or “this variable is a monadic action”, and so a single-letter variable name is approprate. An unofficial and largely undocumented convention has emerged around these variable names, and so I wanted to write them all down in one place.
It should go without saying that single-letter variable names are not always the answer. Like point-free style, it can sometimes obscures more than it helps and people get carried away with it. But when you have a highly polymorphic function and no good words to use, choosing the right letter can convey a surprising amount of meaning.
With the warning out of the way, the dictionary is after the jump.
-
Adolfo Ochagavía ☛ An experiment in async Rust
If you have ever used async / await, chances are your code needed to wait for something to happen: a timeout to elapse, a database operation to finish, or an HTTP GET request to complete. Here’s an example of what the latter case could look like in Rust: [...]
-
Lewis Dale ☛ TIL: Using Lit decorators for better WebComponent APIs
I’ve been experimenting with WebComponents for a distributed component library at work. At first I had issues with making the components do what I wanted them to do, while still being usable. To simplify things, we’re using Lit which provides, among other things, the @queryAssignedElements decorator, and has made that significantly easier.
-
LinuxInsider ☛ Strong Basics: The Building Blocks of Software Engineering
The following observations were compiled with software engineering in mind, as I identified them while working in that discipline.
-
Remi Collet ☛ Remi Collet: PHP version 8.2.25RC1 and 8.3.13RC1
Release Candidate versions are available in the testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for a parallel installation, the perfect solution for such tests, and also as base packages.
RPMs of PHP version 8.3.13RC1 are available
RPMs of PHP version 8.2.25RC1 are available
-
Rlang ☛ What is GxP Validation in Clinical Software Development?
If you’re a biostatistician or clinical software developer, you’ve probably felt the weight of trying to meet GxP standards while navigating the FDA/EMA submission process.
-
Jose E. Marchesi: bugz-mode and a68-mode now in sourcehut
I have decided to start using sourcehut for a few of my projects. The first projects landing there are bugz-mode and a68-mode, two Emacs modes. The first implements a quite efficient and comfortable interface to bugzilla. The second is a programming mode for Algol 68.
-
Python
-
The New Stack ☛ How to Install Python 3.13? Use the Interactive Interpreter
With the latest release of Python (version 3.13), there are several exciting features, including the new interactive interpreter.
-
-
Education
-
[Old] InternetingIsHard ☛ Interneting Is Hard | Web Development Tutorials For Complete Beginners
Our HTML & CSS tutorial is the only introduction to web development that you’ll ever need. Over a dozen chapters cover every aspect of crafting a quality web page, thousands of code examples explain each HTML element and CSS property, and a textbook worth of words provide important real-world context around when and why you’d want to use each of them.
-