news
Programming Leftovers
-
Techdirt ☛ Why Powerful But Hard To Detect Backdoors Could Become A Routine Problem For Open Source Projects Because Of AI
There is only one solution that stands any chance of being effective: to bolster massively the support that open source maintainers receive. They need to be properly financed so as to enable them to create broad teams with the human and technical resources to spot and fight LLM attacks of the kind that will come. The sums required are trivial compared to the trillions of dollars of value created by open source software, selfishly used without payment by governments and companies alike. They are also tiny compared to the losses that would be incurred by those same governments and companies around the world if such LLM attacks succeed in subverting key software elements. What’s frustrating is that this problem has been raised time and time again, and yet little has been done to address it. The xz Utils hack should be the digital world’s final wake-up call to tackle this core vulnerability of the open source world before it is too late.
-
Modus Create LLC ☛ Introduction to the dependency graph
Engineers responsible for managing the development and build environments also benefit greatly from understanding dependency graph concepts and how they are used by the build system. This knowledge is crucial for optimizing build times since it allows engineers to identify opportunities to parallelize and improve the incrementality of builds. Understanding the dependency graph also helps in troubleshooting build failures, managing changes safely, and ensuring that updates or refactors do not worsen the overall design of the codebase.
In this blog post, we’ll take a fresh look at dependency graphs, starting from the basic concepts and building up from there. You will learn what a dependency graph is, some terminology required to be successful in managing it, and what it is used for.
-
Buttondown LLC ☛ The Angels and Demons of Nondeterminism
So a few months ago I wrote a newsletter about how we use nondeterminism in formal methods. The overarching idea:
1. Nondeterminism is when multiple paths are possible from a starting state.
2. A system preserves a property if it holds on all possible paths. If even one path violates the property, then we have a bug. -
Alisa Sireneva ☛ If I hear "design pattern" one more time, I'll go mad
What is a pattern?It’s hard to formulate the reason I’m so annoyed because it’s hard to define what we’re talking about in the first place.
“Iterator” is called a pattern, but it’s not a pattern in the same sense that “mediator” is a pattern. Iterators are an interface formalized in the programming language or ecosystem. Mediators are templates for class hierarchies. Iterators are rigid and have to implement the same interface to be usable across abstraction boundaries. Mediators are merely a best practice, a recommendation. So I have no idea why we call both of them behavioral patterns.
-
Chris Rackauckas ☛ Implicit ODE Solvers Are Not Universally More Robust than Explicit ODE Solvers, Or Why No ODE Solver is Best
A very common adage in ODE solvers is that if you run into trouble with an explicit method, usually some explicit Runge-Kutta method like RK4, then you should try an implicit method. Implicit methods, because they are doing more work, solving an implicit system via a Newton method having “better” stability, should be the thing you go to on the “hard” problems.
This is at least what I heard at first, and then I learned about edge cases. Specifically, you hear people say “but for hyperbolic PDEs you need to use explicit methods”. You might even intuit from this “PDEs can have special properties, so sometimes special things can happen with PDEs… but ODEs, that should use implicit methods if you need more robustness”. This turns out to not be true, and really understanding the ODEs will help us understand better why there are some PDE semidiscretizations that have this “special cutout”.
What I want to do in this blog post is more clearly define what “better stability” actually means, and show that it has certain consequences that can sometimes make explicit ODE solvers actually more robust on some problems. And not just some made-up problems, lots of real problems that show up in the real world.
-
Julia Programming Language ☛ UK Water Report Spotlights JuliaHub, Binnies & Williams Partnership Driving Predictive Maintenance
According to Binnies’ digital director Tom Ray, this is more than just a technical improvement. It represents a mindset shift for the sector, enabling companies to move from reactive to predictive operations and build long-term resilience. Southern Water’s managing director of water, Tim McMahon, called the initiative “a vital step in improving service for customers and the environment.”
-
Perl / Raku