news
Programming Leftovers
-
Sandor Dargo ☛ C++26: Concept and variable-template template-parameters
C++ already allows passing templates as template parameters, but only if they are class templates. A common reason for doing this is to allow higher-level abstractions. For instance, you may want to pass in a container template like std::vector, without specifying the type it contains.
-
Julia Programming Language ☛ Engineering in the Age of Agile
In our previous blog post, Why Hardware Needs a New Foundation, we looked at how legacy engineering tools in the physical realm struggle to keep up with modern demands. So far, they have remained siloed, and disconnected from agile development practices like Ci/CD, Git-based collaboration, and cloud-native workflows. Integrating high-fidelity simulations with system-level models is still cumbersome, often relying on black-box co-simulation that hampers scalability, accuracy, and performance.
Meanwhile, software engineering has leapt ahead, powered by AI and machine learning. But in safety-critical domains like aerospace and automotive, trust, transparency, and domain-specific accuracy make naïve adoption of AI risky. The result: costly, manual, iterative modeling processes that slow innovation and prevent engineers from fully leveraging today’s computational advantages.
In this blog, we explore how Dyad, the Julia ecosystem and SciML are solving these problems, merging software agility, scientific accuracy, and multi-scale modeling into a single, unified workflow.
-
[Repeat] Trail of Bits ☛ Marshal madness: A brief history of Ruby deserialization exploits
Documenting the evolution of exploitation techniques serves a crucial purpose in security engineering: it helps us understand not just individual vulnerabilities but the systemic patterns that resist conventional fixes. The story of deserialization exploits in Ruby’s Marshal module offers a uniquely well-documented case study of this phenomenon. That is, a decade-long cycle of patches and bypasses that reveals the futility of addressing symptoms rather than root causes.
-
Artyom Bologov ☛ Customizing Lisp REPLs
You can already see why I might dislike custom/wrapper/proxy REPLs. They are a new layer of tools reinventing what’s already there in the underlying REPL, and doing so in an ad-hoc incompatible way. A nightmare, albeit sometimes a comfy one. Still, we don’t have to live with the horrors of proxy REPLs! We can have existing REPLs incrementally improved for lasting and universal benefit. So let’s do just that.
-
Drew DeVault ☛ Embedding Wren in Hare
I’ve been on the lookout for a scripting language which can be neatly embedded into Hare programs. Perhaps the obvious candidate is Lua – but I’m not particularly enthusiastic about it. When I was evaluating the landscape of tools which are “like Lua, but not Lua”, I found an interesting contender: Wren.
-
LWN ☛ Zig version 0.15.1
The Zig project has announced version 0.15.1 of the language. The release, much like the last one, includes incremental progress toward the goal of completely dropping LLVM and improving compile time, as well as a handful of breaking changes as the language team wrestles with past API design. The biggest change this time around is to the standard library Reader and Writer interfaces, which have been completely rearranged in the name of performance and reducing unneeded copies.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: x13binary 1.1.61.1 on CRAN: Micro Fix
The x13binary team is happy to share the availability of Release 1.1.61.1 of the x13binary package providing the X-13ARIMA-SEATS program by the US Census Bureau which arrived on CRAN earlier today.