news
Programming Leftovers
-
Ahrefs Pte Ltd ☛ The little type that could too much
The Hashtbl module of the OCaml's Stdlib exposes a parametric type('a, 'b) t. As the documentation explains, they are used as mutable key-value stores in imperative code.
However, the module doesn’t expose just a “hashed association table”. Instead, the module exposes a data-structure and functions meant to model the notion of “environments” in the programming-language and compiler domains. Specifically: it’s a one-to-ordered-list association table with some helpers to work on the head of the ordered list. This only becomes clearer further down in the documentation: [...]
-
Lzon ☛ Anonymous Functions
Anonymous Functions are like normal functions except they don’t have an associated identifier, meaning they don’t have a name.
-
Eric McClure ☛ Software Engineering Is A Shit-Eating Contest
Even in open-source communities, nobody wants to replace shitty tools with better tools. Instead, programmers often worship the shitty tools, taking pride in knowing how to properly utilize a particularly annoying and unnecessarily complex tool, lording their knowledge over people who might point out that the tool is needlessly complex and actually just bad. This behavior was rampant in the early 2000s when Linux fanboys would say things like “everyone should just learn how to use a terminal”. Nowadays they just complain about people using rust, presumably because it takes away their inalienable right to push shitty, insecure garbage.
-
Alexander Fortin ☛ A deep dive into my Forgejo setup
Like many others recently I got fed up by what seems to be a steady and inexorable degradation of GitHub quality of service (more on that later) and decided to walk down the self host path for all my things Git, Docker, PRs and CI/CD.
In this article I’m going to show you with some level of detail how my new self hosted Forgejo1 setup currently looks like and how well it fits me as a near total replacement for GitHub (spoilers ahead: very well).
I’ll provide links to actual repositories plus snippets of reusable configuration in case you might want to try it for yourself.
-
Marc Coquand ☛ Minimal Git CI using hooks
I have a personal server where I am hosting my git repos. Setting up a new git repo is easy: I ssh into my server, cd to a new directory and run git init --bare. That's it. Cloning my newly created repo is simple as git clone server:/home/me/repo.
For some projects I've needed a CI, and I looked around for some existing solutions. The CI systems I found are convoluted, yaml-ridden, slow, messy or hard to self-host.
-
Perl / Raku
-
Perl ☛ Alpha-Omega Donates USD 250,000 for Perl and CPAN Security
CPAN Security Group (CPANSec) and The Perl and Raku Foundation (TPRF) are happy to announce the April Task Force. This project is set up to strengthen the CPANSec CNA Function, improve the security posture of CPAN and Perl, and to help prepare these communities for the impact expected from the general availability of security analysis-capable Large Language Models.
-
-
Shell/Bash/Zsh/Ksh
-
Thomas Rigby ☛ Renaming all files in a folder using the folder name | thomasrigby.com
When I get my photography scans back from the lab they arrive named with a sequential number that is neat but useless.
-