news
Programming Leftovers
Philip Zucker ☛ Some Lean Syntax for Knuckledragger
One thing I’ve had in mind from the beginning of the project was use Lark https://github.com/lark-parser/lark parser grammars. Lark is a python LALR or earley parsing library. If you’re in python, it’s a reasonable choice I think for making DSLs. It is really nice to not need an extra build step to use them compared to yacc, menhir, lalrpop, or antlr. It is a regular python library. It also now supports pattern matching over the lark.Tree datatype, which makes for reasonably pleasant interpretation out of the parse tree (this is perhaps not the most machine efficient way to consume them though). It also support some degree of mixing together different grammars, making them extensible.
-
Michael Tsai ☛ Swift Configuration
-
Marc Brooker ☛ On the success of 'natural language programming'
The practice of programming has become closer and closer to the practice of specification. Of crisply writing down what we want programs to do, and what makes them right. The how is less important.
I believe that natural language will form the core of the programming languages of the future.
-
Artyom Bologov ☛ Common Lisp Dependency Vendoring with Submodules
So there are half a dozen of Common Lisp package/system/project managers: [...]
-
Balthazar Rouberol ☛ Evaluating interdependant helm variables
Writing Helm charts somehow feels like a gigantic step backwards. The code you generate is in YAML form, so anything you write has to both be correct in meaning and in indentation, and relies on go string templating to render. This means that by default, you have to write code like this: [...]
-
[Old] Donnacha Oisín Kidney ☛ Single-Pass Huffman Coding - Donnacha Oisín Kidney
While working on something else, I figured out a nice Haskell implementation of Huffman coding, and I thought I’d share it here. I’ll go through a few techniques for transforming a multi-pass algorithm into a single-pass one first, and then I’ll show how to use them for Huffman. If you just want to skip to the code, it’s provided at the end 1.
The algorithm isn’t single-pass in the sense of Adaptive Huffman Coding: it still uses the normal Huffman algorithm, but the input is transformed in the same traversal that builds the tree to transform it.
-
Roman NikolaeRoman Nikolaev ☛ The Illusion of Shared Understanding
I knew RFCs before from open-source projects, where they are widely used to facilitate decision-making within the OSS community. However, I never thought of using RFCs internally in an organization.
The RFC approach has several advantages over verbal alignment. First of all, it is more precise. The need to write forces the author to clearly structure their thoughts into a coherent logical narrative. While writing, the author has time to examine their proposed solution from different angles and clearly see pros and cons of it.
-
Perl / Raku
-
Chris ☛ Packaging Perl and Shell for NixOS Deployment
As a complete beginner to Nix and NixOS, I recently had some trouble packaging up a Perl script and a shell script with their dependencies for deployment on a NixOS system. Here’s what I learned.
-
Perl ☛ Perl Advent Calendar 2025 - The Twelve Slices Of Christmas: How Vasco Chained the Chaos
After thirty minutes of mapping dependencies, a pattern emerged. Most slices could happen in parallel or had flexibility in timing. But one path had to happen in strict sequence:
Ingestion → Validation → Scoring → Generate lists → Integration testing
Everything else could happen alongside or between these critical slices.
"That's your critical chain," Carmen said. "Count those slices."
-
Perl ☛ Perl Advent Calendar 2025 - Using Mojolicious::Plugin::Mount to help test your applications
When testing Perl applications we have many well known options and techniques but in this post we won't cover any of those fancy tools. Instead we will present a simple trick that takes advantage of the Mojolicious::Plugin::Mount.
-
Perl ☛ Perl Advent Calendar 2025 - Auto-instrument your code with OpenTelemetry
A whole year had gone by since the elves at Santa's workshop had started using OpenTelemetry to collect and export telemetry from their multiple services, and things had been going well. But in a meeting room deep under the icy cover of the North Pole, trouble was brewing.
-
-
R / R-Script
-
Rlang ☛ AssociationExplorer: A user-friendly shiny application for exploring associations and visual patterns
I am pleased to announce the publication of our paper “AssociationExplorer: A user-friendly Shiny application for exploring associations and visual patterns” in the journal SoftwareX, together with the official release of the AssociationExplorer2 R package on CRAN.
Both the paper and the software are part of an open-science effort aimed at making exploratory data analysis more accessible to non-technical users.
-
-
Rust
-
Guillaume Gomez ☛ Rust GCC backend: Why and how
Whenever you compile using Rust, the compiler goes through different passes and in the end, generated binary code for the target processor. By default, it uses LLVM as backend to generate the binary code, but more backends exist like cranelift and GCC. This post is about how it's possible for one compiler to use different backend to generate binaries, in particular GCC.
-