news
Programming Leftovers
-
Vikash Patel ☛ Why Explaining Technical Difficulty is Hard
We often operate in two different modes: 1. The feature mode
This is where requirements are born. The goal is to move fast, reduce uncertainty, and get feedback. Here, code is just a means to an end. If it “works” on a local dev machine with 100 rows, the requirement is considered met. 2. The system mode
This is where the stack lives. This mode is governed by the physics of computation: memory latency, network overhead, and concurrency limits. In this mode, every line of code is an allocation, a network round-trip, or a lock that must be managed.
-
Justin Duke ☛ Just aim the cannon correctly
Productivity over the long haul, he argues, isn't bounded by how fast you can produce code — it's bounded by maintenance cost, which compounds. Any coding agent that accelerates production without taming maintenance is, definitionally, a debt-laundering operation: it lets you skip the bill today and pay it forever afterward.
-
Nirbheek Chauhan: An Esoteric Type of Memory "Leak"
A little while ago, my colleague Sebastian started complaining about OOMs caused by Evolution taking up tens of gigabytes of memory. We discussed using sysprof to debug it, but it was too busy a time for Sebastian to set aside a few hours to do that.
Funnily enough, the most efficient fix at the time was to buy more RAM, since rust-analyzer was also causing OOM issues.
A few weeks went by. Restarting Evolution had become a daily ritual for Sebastian.
-
Andrew Nesbitt ☛ Centrality is not vitality
Dependency graphs are the strongest structure available for mapping how open source ecosystems actually connect and intertwine, which is why ecosyste.ms currently indexes around 25 billion dependency edges across dozens of registries and hundreds of millions of source repositories. Most of the last ten years of my work has been spent on top of them, and PageRank is only one of many things people compute over those graphs, and a less informative one than the popularity of the academic literature would suggest.
-
Perl / Raku
-
Arne Sommer ☛ List the List with Raku
This is my response to The Weekly Challenge #373.
-
Perl ☛ Is your account on blogs.perl.org registered with an @cpan.org email address?
Then here is a reminder that you will want to update your account to use a different email address. (There are about 130 of you that get to jump through this hoop now.)
-
-
Python
-
University of Toronto ☛ I've finally ported DWiki from Python 2 to Python 3
DWiki is the pile of code that underlies Wandering Thoughts. It started out many years ago as a Python 2 program (partly because there was no Python 3 at the time), and it stayed that way for a long time, making it the most significant and by far the most substantial Python 2 program I still cared deeply about. Years ago I said I'd port it to Python 3 someday and somewhat to my surprise, that day has now come (well, it came yesterday).
-
Scientific Python Blog ☛ Blog - mplhep: matplotlib for particle physics
In particle or high energy physics (HEP), by the time you draw a plot the data are almost always already binned. A long stretch of the analysis pipeline — Uproot, Coffea, boost-histogram, hist — has reduced terabytes of events into a handful of histograms that you now want to display. That single fact bends what a good plotting API for HEP needs to look like, and it is where mplhep — a thin, focused matplotlib wrapper in the Scikit-HEP ecosystem — sits.
This post walks through three things mplhep contributes: a histogram plotting function for pre-binned data, comparison panels (ratio/pull/efficiency) on top of it, and a set of experiment style sheets that match the conventions ATLAS, CMS, LHCb, ALICE and DUNE publications require.
-
Eric Matthes ☛ Profiling a uv-based project
I started the project with uv init, and added dependencies with uv add and uv add --dev. I'm pinning dependencies with uv lock. During development, I'm running the project with uv run. When it was time to package the project and publish it on PyPI, I used the uv build and uv publish commands.
-
[Old] Joachim Hendrik Schipper ☛ SystemError when using PIL | Technology, Python Imaging Library | Joachim Schipper
When I moved the code powering this site from my 64-bit laptop to my 32-bit server, it failed with the message SystemError: new style getargs format but argument is not a tuple. The problem was with my use of the Python Imaging Library (PIL) (succeeded by Pillow). This article describes the cause and a workaround.
-
-
Shell/Bash/Zsh/Ksh
-
Aman Mittal ☛ Moving away from Oh My Zsh (OMZ)
I’ve been running Oh My Zsh (OMZ) on every workstation I’ve ever owned. It was one of the first things I’d install when setting up a new machine or cleanly updating an existing one. For years, I’ve blindly copied my workstation configuration from one Macbook to the next, without questioning whether I still needed something in the current day and age, or whether it had quietly been replaced by something better.
-
-
Rust
-
Collabora ☛ Building Tyr in Rust: CSF architecture and booting the MCU
See how Tyr moves beyond MCU firmware boot to build the group, queue, VM, submission, and completion paths needed to run real Vulkan workloads on Mali CSF GPUs.
-