news
Programming Leftovers
-
Mikael Zayenz Lagerkvist ☛ Adding WordVar to Gecode - zayenz.se
Along with the variable, the branch has constraints for logical operations, shifts and rotations, wrapping and signed arithmetic, comparisons, and extracting and concatenating bit fields. Branchings, channels to BoolVar and IntVar, and MiniModel expressions let word constraints sit next to ordinary integer constraints in a model.
-
Max Bernstein ☛ SSA from bytecode: imperative pearl
Ta da! You have built a small abstract interpreter.
Now to make it global (to handle control flow) you need some kind of inter-basic-block data flow mechanism such as phi nodes or basic block parameters. Perhaps more on that in another post, but for now, you may enjoy my collection of other people’s writing about that.
-
Kyle Reddoch ☛ Endpoint Quarantine Investigation Checklist for MSPs
A practical process for verifying what security software contained, checking scope, and closing a suspicious-file alert with evidence.
-
Earthly ☛ Zero-day readiness: fast response starts before disclosure
Teams can patch everything they found and still be unsure whether they looked everywhere. The organization may assume it is “99% patched,” without knowing how much of its software estate the response actually covered. A forgotten build runner with production credentials or an acquired company’s infrastructure may never have entered the campaign, leaving exposure that no progress report accounts for.
Getting there requires preparation before disclosure. I call that standing engineering responsibility zero-day readiness: keeping the estate discoverable, its evidence queryable, and its systems ready to change. It is Step 0 of the response process. The same capabilities support urgent response to other critical disclosures. The ideal response makes clear why those capabilities have to be maintained in advance.
-
Henrique Dias ☛ TIL: Drop Columns a Release Later
Recently, I worked on a database migration at work where I had to plan a database migration rollout across releases to avoid downtime. For this, I applied the expand and contract pattern, even though, at the time, I didn’t know there was a name for it. I now realize, though, that the contract phase should’ve gone out in two phases.
This post is more of a “today I learned” sort of thing. Many of you will probably know what expand and contract is. If I had to describe it in a single line, I’d say: you first add the new things, then migrate, then remove the old things, in different deploys. Simple as that.
-
Jamie Zawinski ☛ Dox: Basecamp delenda est
This is just by way of saying: if you find yourself thinking, "This is some bullshit, I should just write my own and be done with it"...
...you might be right.
-
R / R-Script
-
Data Science Guts ☛ Semantic segmentation in rplatypus and pyplatypus: what is in the box
The last post took one published model and one dataset and asked where the model is weakest. This one steps back and opens the box: everything rplatypus and pyplatypus offer for semantic segmentation - a mask per class, scored by overlap - and how to choose among it all.
Training is what the package is for, and almost every field below is about training a model. To keep the post runnable on any laptop, its code only reads configurations and builds the networks, on the four nuclei images from the first post; the scores in it come from full training runs of the same configurations.
-
-
Python
-
Lawrence Tratt ☛ Laurence Tratt: Adapting CPython for yk
Earlier this year I wrote a post on yk, which can automatically add JIT compilers to C interpreters. Since then we’ve applied yk to more interpreters, fixed various bugs, and improved performance notably. Towards the end of October I showed some data where on our benchmark suite1 yklua is 2× faster than the PUC Lua interpreter it takes as a base.
-
-
Shell/Bash/Zsh/Ksh
-
HowTo Geek ☛ 3 good reasons to replace Bash with Zsh
If you use the terminal a lot, you can probably understand the frequent pain of typing out long commands. Bash's tab completion is ineffective, file paths are tedious to write, and typos are a persistent annoyance. I have three good reasons why Zsh addresses these and boosts your terminal workflow.
-
-
Rust
-
Rust Blog ☛ The Rust Programming Language Blog: Announcing Rust 1.100.0
The Rust team is happy to announce a new version of Rust, 1.100.0. Rust is a programming language empowering everyone to build reliable and efficient software.
-
LWN ☛ Rust 1.100.0 released
Version 1.100.0 of the Rust language has been released. Notable changes include the stabilization of the never type, core parts of the Allocator Hey Hi (AI) reporting of unused dependencies in Cargo, and more.
-