news
Programming Leftovers
-
Kopper ☛ convention or you're not fucking doing it
so let’s say you’re making a web backend, and you happen to know you’re going to have a lot of dynamically generated sql queries. maybe you want a search page with the user having the ability to change sorting and categories and maybe something like a price range but optional. because sql is, from the perspective of non-sql code, unstructured text, you need some abstraction over it to not lose your sanity keeping track of everything necessary just to place a few extra bits inside a WHERE.
-
Vicki Boykis ☛ Write for people
Something I’ve noticed recently is that I am no longer able to read and parse PR titles and descriptions across the [Internet]. I don’t think I stopped being able to read or understand code, but now that we are automatically generating more and more explanatory artifacts instead of writing them, navigating codebases as a human is becoming an exercise in futility.
-
Mark-Jason Dominus ☛ The road to epsilon-zero: Productive programs and well-founded orders
Previously we saw how to interpret the difficult-seeming ordinal !!ω^ω!! as a particular ordering of the set of finite sequences of numbers, revealing what seemed like a scary monster as gentle and straightforward.
Now we're going to take a sidetrack into one of my favorite topics, computation with infinite lists. I wrote about this for The Perl Journal in 1997 and then it turned into chapter 6 of Higher-Order Perl and here we are again. Gosh! it just keeps coming back. Like John the Baptist.
-
Nat Bennett ☛ Let's not call it "tech debt," it's just "mess"
A few months ago I wrote about one of my methods for dealing with "technical debt" and I had to cut a huge throat-clearing section from the opening about how I don't really like the term "tech debt" as a metaphor. Obviously I'll use the term it when I'm talking to other software developers, but I try to avoid it when I'm talking to people in "the business." It's useful when it's used correctly, but usually when software developers say "tech debt," what they really mean is something more like "mess." This is a common enough usage that even when "tech debt" would be appropriate, people who aren't software developers but work with software developers often hear "mess," and they'll start to develop the impression that "tech debt" is something that developers say when they did their job poorly, or don't like how the previous team did it.
-
InfoQ ☛ Adopting Memory-Safety and Fine-Grained Compartmentalisation with CHERI
David Chisnall discusses how the CHERI hardware architecture redefines pointer safety to solve isolation and sharing challenges. He explains how CHERI enables spatial and temporal memory safety for C/C++, scales down to microcontrollers with CHERIoT, and replaces costly OS-level RPC mechanisms with lightweight, auditable compartmentalization - all without requiring massive codebase rewrites.
-
Var Zero ☛ Mindful coding: Purpose and intention
"Mindful coding" sounds a bit provocative, maybe even a little clickbaity, I know. I don't mean that you should focus on your breathing while you type, or become acutely aware of every movement of your fingers.
What I mean is simpler: be mindful of the intent of the code.
-
Python
-
Juha-Matti Santala ☛ L is for learning - Python A to Z
A life of a software developer — no matter if you’re doing it professionally or as a hobby — is a life of continuous learning. The technologies evolve, problem solving skills are never complete and thanks to very generous sharing from the community, there’s always new things to learn.
For today’s entry to Python A-Z, I’ll share different resources that I’ve found good for learning more about Python.
-
Alcides Fonseca ☛ Multithreading bug in Numpy by Alcides Fonseca
The whole debugging process is quite interesting, using flame graphs, scale plots and the world-famous good-diagram-technique.
-
-
Shell/Bash/Zsh/Ksh
-
Sal ☛ Fish shell trick: abbr --set-cursor
Here’s a cool fish trick: [...]
-
Naveen Srinivasan ☛ Read My Blog Over SSH :: naveen srinivasan — Write code.Loves to read
I have enjoyed the minimalism of the man pages, and it is also cool to have the blog accessible via SSH.
The added benefits include no browsers, no cookies, no accounts, and no scrapers. Most of my content is words and code, and there are a few images that won’t be rendered, which is fine. I don’t have gifs, or videos. IMO, most of the tech blogs should be like man pages. Also, I think most of my readers are on the terminal, and they already trust the transport.
-
Alcides Fonseca ☛ Someone found the zsh bug I was experiencing without knowing
Well, Michael Stapelberg not only found the bug I was experiencing, but he also shared how he debugged it (low level debugging with notify and bpftrace, which I haven’t touch in a while) and even evaluated how different AI models fare in this task.
-
-
Java/Golang
-
Jonathan Almeida: Regenerate the BuildConfig file without assembling the whole module
We have tokens that are added to official builds when a CI server is building the production-ready application. These tokens are added to the
BuildConfig.javaby using the[buildConfigField]1 function in abuild.gradle.While testing, you want to quickly regenerate just this file to see changes occur with a new value. Instead of using the more expensive
assembleDebugtask for your debug variant, you can usegenerateDebugBuildConfig.
-
-
Rust
-
Rust Weekly Updates ☛ This Week In Rust: This Week in Rust 664
Hello and welcome to another issue of This Week in Rust!
-