Programming Leftovers
-
Ruby 3.4.2 Released
Ruby 3.4.2 has been released.
This is a routine update that includes bug fixes. Please refer to the release notes on Microsoft's proprietary prison GitHub for further details.
We intend to release the latest stable Ruby version (currently Ruby 3.4) every 2 months. Ruby 3.4.3 will be released in April, 3.4.4 in June, 3.4.5 in August, 3.4.6 in October, and 3.4.7 in December.
-
Michal Pitr ☛ Optimizing matrix multiplication
This article is all about performance optimizations - squeezing as much performance out of my CPU as I can.
I’ll start with a naive matrix multiplication in C and then iteratively improve it until my implementation approaches that of AMD’s bli_dgemm. My goal is not just to present optimizations, but rather for you to discover them with me.
As we go through this, we’ll learn a thing or two about compilers, assembly, and underlying hardware.
-
Undeadly ☛ Game of Trees 0.109 released
Version 0.109 of Game of Trees has been released (and the port updated): [...]
-
Rlang ☛ One Way repeated measure ANOVA in R
A One-Way Repeated Measures ANOVA extends the traditional one-way ANOVA for correlated samples. Instead of comparing independent groups, this test evaluates how a single group performs across multiple conditions or time points. Researchers commonly use it in experiments where they take measurements on the same subjects multiple times, such as clinical trials, psychology studies, and educational assessments.
-
Liam Galvin ☛ Despair-Driven Development: Harnessing Malaise for Effective Software Engineering
Despair-Driven Development is not about glorifying suffering — it is about accepting reality and using it to fuel forward momentum. In an industry plagued by over-engineering, pointless meetings, and performative enthusiasm, despair can be a surprisingly powerful force for getting things done.
But more than that, it is about recognizing that suffering is inherent to existence. There is no version of reality where life is free from struggle, frustration, or pain. To build software is to suffer — but in that suffering, there is purpose. Struggle is inevitable; channeling it into productivity is the logical solution. The code must be written. The tickets must be closed. The system must be maintained. Not because it brings happiness, but because it brings order to an otherwise chaotic world.
A snatched moment in the quiet focus of a well-structured function can provide something resembling peace. And sometimes, that is enough.
-
Python
-
HowTo Forge ☛ How to Install Fast API with MongoDB on Ubuntu 24.04
FastAPI is a web framework based on Python for creating API services. It's a modern, fast, high-performance framework supporting asynchronous operations.
In this tutorial, you'll learn how to install FastAPI with MongoDB on Ubuntu 24.04. You'll also learn how to create your first API with CRUD operations using FastAPI and MongoDB database.
-
-
Shell/Bash/Zsh/Ksh
-
Simon Willison ☛ How to add a directory to your PATH
Plenty of useful tips in here, plus the best explanation I've ever seen of the three different Bash configuration options: [...]
-
-
Golang
-
Liam Galvin ☛ Writing Go Linters
One of the most celebrated aspects of the Go language is its tooling, and perhaps one of the reasons this tooling is both abundant and great is the quality of resources available to developers.
Before we can analyse and lint Go code, we need to be able to parse it into logical components. Go provides some excellent core packages for parsing the language, notably go/parser and go/ast.
-
-
K Desktop Environment/KDE SC/Qt
-
Dan Horák: qt6-qtwebengine 6.8.2 available
qt6-qtwebengine has received a minor update in my repository and is now at 6.8.2-1 for all Fedora releases (F-40 and up) following regular Fedora Qt6 updates.
-