news
Programming Leftovers
-
Buttondown LLC ☛ Three ways formally verified code can go wrong in practice
You can read the article for a good explanation of why this goes wrong (Unicode). The actual problem is that correct can mean two different things, and this leads to confusion about how much formal methods can actually guarantee us. So I see this as a great opportunity to talk about the nature of proof, correctness, and how "correct" code can still have bugs.
-
Daniel Stenberg ☛ A new breed of analyzers
You know we have seen more than our fair share of slop reports sent to the curl project so it seems only fair that I also write something about the state of AI when we get to enjoy some positive aspects of this technology.
Let’s try doing this in a chronological order.
-
Filippo Valsorda ☛ A Retrospective Survey of 2024/2025 Open Source Supply Chain Compromises
Lack of memory safety is such a predominant cause of security issues that we have a responsibility as professional software engineering to robustly mitigate it in security-sensitive use cases—by using memory safe languages.
Similarly, I have the growing impression that software supply chain compromises have a few predominant causes which we might have a responsibility as a professional open source maintainers to robustly mitigate.
-
SciML ☛ SymbolicIntegration.jl: Best-of-Both-Worlds Symbolic Integration with Risch and 3400+ Integration Rules
We're excited to announce that SymbolicIntegration.jl has reached v3.1.0 with a powerful new feature: a hybrid integration system that combines the theoretical completeness of the Risch algorithm with the practical breadth of rule-based integration. This release brings over 3400 integration rules from the renowned RUBI (Rule-Based Integrator) system, originally from Mathematica, now available natively in Julia.
-
Databases
-
YottaDB ☛ Nim Meets YottaDB
If you’re a Nim developer interested in working with a powerful hierarchical NoSQL engine, or an M developer interested in working with powerful modern programming language then this is for you.
The combination of Nim’s modern language features with YottaDB’s battle-tested database engine creates a powerful stack for building high-performance, reliable systems. This binding bridges the gap between a database proven over decades of use in mission-critical applications and a contemporary systems programming language.
I’m pleased to announce nim-yottadb, a language binding that connects Nim with the YottaDB database. This gives you direct access to global and local variables, transactions, iteration, locks, and more – all from Nim.
-
-
Editors
-
Julia Evans ☛ Notes on switching to Helix from vim
Hello! Earlier this summer I was talking to a friend about how much I love using fish, and how I love that I don’t have to configure it. They said that they feel the same way about the helix text editor, and so I decided to give it a try.
I’ve been using it for 3 months now and here are a few notes.
-
-
Python
-
Justin Duke ☛ Adding imports to the Django shell
I was excited to finally remove django-extensions from my pyproject.toml file when 5.2 dropped because they added support for automatic model import. However, I found myself missing one other little escape hatch that django-extensions exposed, which was the ability to import other arbitrary modules into the namespace. Django explains how to do bring in modules without a namespace, but I wanted to be able to inoculate my shell, since most of my modules follow a similar structure (exposing a single call function).
-
Robotic Systems LLC ☛ UUID based addressing and python multiple device support
I’m excited to announce a significant usability improvement for all moteus controllers, command line tools and the python library! If your moteus controllers are on firmware version 2025-09-20 or newer and your moteus client tools are at 0.3.91 or newer, (and if you are using a pi3hat, it is on firmware 2025-09-20 or newer) there are some big improvements that you transparently get: [...]
-