Programming Leftovers
-
Chris ☛ System Observability: Metrics, Sampling, and Tracing
Few things excite me as much as system observability. The best software engineers I know are very creative when it comes to figuring out what happens in a system.
-
Data Swamp ☛ OpenBSD in a CI environment with sourcehut
If you ever required continuous integration pipelines to do some actions in an OpenBSD environment, you certainly figured that most Git "forge" didn't provide OpenBSD as a host environment for the CI.
It turns out that sourcehut is offering many environments, and OpenBSD is one among them, but you can also find Guix, NixOS, NetBSD, FreeBSD or even 9front!
-
Idiomdrottning ☛ The Dystopia of Web-Only Documentation
Having HTML/web-based ways to read man pages and Texinfo documentation is awesome, yes. If those ways are in addition to the traditional ones.
-
Rob Pike ☛ Simplicity
In May 2009, Google hosted an internal "Design Wizardry" panel, with talks by Jeff Dean, Mike Burrows, Paul Haahr, Alfred Spector, Bill Coughran, and myself. Here is a lightly edited transcript of my talk. Some of the details have aged out, but the themes live on, now perhaps more than ever.
-
University of Toronto ☛ Doing work that scales requires being able to scale your work
Several years ago I read Tobias Bernard's Doing Things That Scale. To summarize the article badly, Tobias Bernard talked about how they had moved away from customizing things (and then having to maintain the customizations) in favour of doing generally useful changes to upstreams. I have various feelings about this as a general principle (and comments on my entry on thinking about the sensible limits of customization gave me more things to think about), but one of the thoughts that firmed up is that you can only do work that scales if you can scale your work.
-
Concurrency Freaks ☛ Why is Snapshot Isolation not enough?
According to the wikipedia, Snapshot Isolation (SI) is a guarantee that all reads made in a transaction will see a consistent snapshot of the database (in practice it reads the last committed values that existed at the time it started), and the transaction itself will successfully commit only if no updates it has made conflict with any concurrent updates made since that snapshot.
First of all, the original definition of SI didn't provide a guarantee that the snapshot is done for a time instant during the transaction, it could be a snapshot of the data taken seconds, minutes or days before the transaction starts. But in practice, this is silly so let's go with the wikipedia definition which is a lot more reasonable.
-
Perl / Raku
-
Rakulang ☛ Raku Advent Calendar: Day 6 – The Future Of POD6
When we write internal docs there are three main aspects to it: what we choose to write, how we organize it, and how we encode it.
-
-
Python
-
James Bennett ☛ Understanding virtual environments in Python
I want to talk today about Python virtual environments (or “venvs”), but first I need to cover a bit of background. Suppose you write a program, and it needs access to some other code, say in a library written by someone else, in order to run. How do you make that other code available?
-
Juha-Matti Santala ☛ We’re building community for Python developers
Now I’m back in Turku and for the entire year, I’ve been pondering about starting a Python community here. A month ago I had lunch with Dan and that lunch turned into an afternoon brainstorming session and we decided to start the community together.
-
-
Shell/Bash/Zsh/Ksh
-
Idiomdrottning ☛ Shell scripting with completing-read
Note that you can call it from any shell, not just zsh. That’s how zshbrev works: it can run zsh commands, aliases, and sourced shell functions in brev, which is why it needs zsh installed, but then the commands defined in zshbrev work in any shell. Even bash.
-