news
Programming Leftovers
-
Protesilaos Stavrou ☛ Reply to @linkarzu about ‘What I Need From Emacs’
To tell Emacs where your Git repositories are, so that it can record all of them as known projects, do M-x project-remember-projects-under and select the directory at the follow-up prompt.
To switch between projects, use M-x project-switch-project. At this prompt, you use search to narrow the results and pick one among your existing projects. There is also an option to open a specific directory that is not yet a known project, which will thenceforth be remembered as a project if it is under version control (there are other options on how projects are identified, but the presence of version control system is the default check).
-
Martin Chang ☛ Mechanistic Interpretability and Applications: The Final Frontier of Hacking (COSCUP 2026 draft)
I dabbled into mechanistic interpretability as I am bored one day while also under existential dread that AI is gonna kill us all (thank you Rob Miles and Mythos, again). And decided I should not let dread win - doing nothing is exactly helping no one. So I did something, and it turns out you can do a lot of research within mechanistic interpretability with surprisingly little resources. What's even better being it resembles computer hacking, which I love. And again, my background is in HPC and systems, where I deal with inference accelerators for a living and the efficiency gain from coding agents are the main reason made dabbling in mechanistic interpretability possible.
That said, be damn careful with coding agents. Even GPT 5.6 Sol and Opus 4.8 SUCKS at doing deep thoughts and finding links between experiments. They can help you code, but that's basically it. Seeing through data for what experiments actually mean, is still an art, for now.
To put it in simple terms, mechanistic interpretability is the art of staring at model internals until you find patterns, proving the patterns does what you think they do, and then optionally using the patterns you found to control or read something out of the model.
-
Andreas Zwinkau ☛ Accepting a messy git history
As GitHub just released stacked pull requests, the discussion around it reveals two kinds of git users:
1. Those who commit often and without much thought.
2. Those who rebase carefully to craft a clean history. -
Rlang ☛ Spurious correlations 0.2 is on CRAN!
-
Rlang ☛ era 0.6.0: chronological comparison and difference
era v0.6.0 is now available on CRAN: [..]
-
Python
-
SANS ☛ zipdump.py: Metadata Encoding, (Fri, Jul 31st)
I was asked for help with a problem similar to the following.
-
University of Toronto ☛ My misunderstanding about tabs in Python 3
Python 2 is famously relaxed about mixing tabs and spaces in Python code, although at the same time I believe it rigidly assumes that tabs are always at 8-space intervals (some editors offer you options here). When people used 8-space indent levels this wasn't too big of an issue, but it became one as the Python style moved to 4-space indents, because then some indents could be pure tabs but others had to involve spaces. Python 3 famously stopped being so relaxed, but for years I vaguely misunderstood how and thought it was more or less required to indent Python 3 code with spaces only.
-
Adam Johnson ☛ Python: time-machine 3.3.0 lets your tests time-travel even faster
time-machine is my library for mocking the current date and time in Python tests. I’ve just released version 3.3.0 with a decent number of changes, so here’s a lovely summary for you.
Despite doing one simple-to-describe task, time-machine has ended up being quite a big library, thanks to the various complexities of reading time and API changes and optimizations in Python. I’m grateful for all the help I’ve received through open source contributions, it really makes it more manageable.
-
-
Shell/Bash/Zsh/Ksh
-
Java/Golang
-
VictoriaMetrics ☛ Go 1.27 interactive tour
Go 1.27 is coming soon, so it’s a good time to get a head start on what’s new. The official release notes are pretty dry, so here’s a hands-on version with runnable examples showing what changed and how the new behavior works.
A quick credit first: the interactive Go tours were started by Anton Zhiyanov, who wrote one for every release from Go 1.22 through Go 1.26. He’s decided to stop, so we’re picking up where he left off. His earlier tours are all still worth a read: [...]
-