news
Programming Leftovers
-
Varun Gandhi ☛ Reviewing code is a skill
Intended audience: Software developers interested in getting better at developing software. Initially, I meant this post more for junior developers, but some parts are more applicable for tech leads etc. So if the post appears a bit muddled, please accept this apology from my inner Pascal, “Sorry, I did not have the time to break it up into two posts.”
-
Sebastian ☛ an ambiguity in c89 which will never be fixed
for those unaware: c89 has a cool "feature" where, if you try to call a function which doesn't exist, rather than erroring out, the function is implicitly declared as a function with unspecified parameters returning int.
-
Anna Liberty ☛ Iteration in Literate Programming
Literate Programming is the process of writing documentation embedded with source code, rather than writing them separately as is more usual with software engineering. This provides a collection of benefits, but it requires reshaping how you think about the software development process.
-
MaskRay ☛ Estimating branch probabilities | MaskRay
LLVM's BranchProbabilityInfo assigns every multi-successor terminator a probability distribution over its successors. This post describes the estimation used when no profile is available and reimplements it as a standalone program.
-
Perl / Raku
-
Python
-
LWN ☛ Django moves to an annual release cycle
The Django Python web-framework project has announced that it has accepted an annual release cycle proposal. This means that the project is moving from a somewhat complicated schedule that interspersed short-lived feature releases and long-term-support (LTS) releases to a simpler annual cycle where each release is supported for three years.
-
Juha-Matti Santala ☛ I is for immutable - Python A to Z
Then at some point — maybe at an advanced class at the university, at a meetup or in the always peaceful and polite discussion forums on the web — you’re introduced to the idea of immutability (not capable of or susceptible to change).
Someone comes hype the idea of functional programming that you’ve never heard of. They start talking about how changing variable state is so error-prone and pure functions is where the game should be played at.
-
University of Toronto ☛ Where I put default values for options in Python's argparse and why
I wrote the other day about an irritatingly incompatible change in Python 3.14's argparse, where if you deferred setting a default value until later, certain argparse things would now error out. In a comment, Ian Z aka nobrowser asked (in part): [...]
-
Python ☛ Django is moving to an annual release cycle
Django's Steering Council has accepted the Django Enhancement Proposal DEP 20 to move Django to an annual release cycle. From January 2028, Django will make one feature release a year, giving every feature release the LTS-level three years of support, and version numbers will carry the feature release year: Django 2028, then Django 2029, and so on.
-
-
Rust
-
Niko Matsakis: Cylic trait implementations: motivation
Lately I’ve been thinking about cyclic trait implementations. This is a problem that I’ve been trying to understand for years and years and I finally feel like I’m geting somewhere. I’m going to try to write out a series of blog posts documenting those explorations and, hopefully, culminating in a design that could be RFC’d. In this first post, I want to talk about one of the interesting questions, what I am going to call “internal” vs “external” proofs. I know that this material can seem abstract, so I’m going to try and connect it to “real Rust” as much as possible! This particular blog post is an introduction, explaining the general problem and giving some motivation for why we care.
-
It's FOSS ☛ AI Can No Longer Rampage Through Rust's Code Repo
The new rust-lang/rust policy allows AI-written code only under a narrow, disclosed experiment, and doesn't apply to the wider Rust project.
-