news
Programming Leftovers
-
Sandor Dargo ☛ Time in C++: Creating Your Own Clocks with
In earlier articles of this series, we walked through the foundations of <chrono>, explored the essential clocks (system_clock, steady_clock, high_resolution_clock), and even looked at the extra clocks introduced in C++20 — not to mention why converting between clocks is trickier than it seems.
Today, we’ll shift gears a bit: what if the clock you need… doesn’t exist?
-
[Old] Civil Service College, Singapore ☛ How to Build Good Software
Bad software is one of the few things in the world you cannot solve with money. Billion dollar airlines have flight search apps that are often inferior to those built by groups of students. Established taxi companies the world over have terrible booking apps despite the threat they face from ride-sharing services. And painful corporate IT systems are usually projects with massive budgets, built over the course of many years. Whatever the cause of bad software is, it does not seem to be a lack of funding.
Surprisingly, the root cause of bad software has less to do with specific engineering choices, and more to do with how development projects are managed. The worst software projects often proceed in a very particular way: [...]
-
Steven Deobald ☛ Artificial StupidIntelligence and Airport Sinks
Make the UI and UX as simple as possible. Drop the transparency and animations. Run your stuff on old hardware and make sure it still works without demanding your users have 256GB of RAM for your little web app. Remember the design constraints of the original iPhone leading to fewer visual elements? Each of them big and thumb-clickable? Try doing that, but don’t stop it from being a joy to use. Don’t prevent yourself from making it beautiful. Make sure IJW, every time. The less there is to it, there less there is to go wrong.
-
Qt ☛ Lightmap Baking and Other Improvements in Qt Quick 3D
In this blog post I will discuss some of the recent improvements around lightmap baking, global illumination, and related technologies for making Qt Quick 3D scenes more realistic looking. I will talk mostly about lightmap baking improvements added in Qt 6.10, but also about two new features in the upcoming Qt 6.11 version, namely Screen-space global illumination (SSGI) and Screen-space reflections (SSR).
-
REST API Development with Qt 6
This post describes an experiment using Qt 6.7’s REST Hey Hi (AI) to explore Stripe’s payment model, and what I learned building a small desktop developer tool.
-
Buttondown LLC ☛ My Gripes with Prolog
For the next release of Logic for Programmers, I'm finally adding the sections on Answer Set Programming and Logic Constraint Programming that I TODOd back in version 0.9. And this is making me re-experience some of my pain points with Prolog, which I will gripe about now. If you want to know more about why Prolog is cool instead, go here or here or here or here.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: RcppSimdJson 0.1.15 on CRAN: New Upstream, Some Maintenance
A brand new release 0.1.15 of the RcppSimdJson
This version updates to the current 4.2.4 upstream release. It also updates the
RcppExports.cppfile with ‘glue’ between C++ and R. We want move away from usingRf_error()(asRcpp::stop()is generally preferable). Packages (such as this one) that are declaring an interface have an actualRf_error()call generated inRcppExports.cppwhich can protect which is what currentRcppcode generation does. Long story short, a minor internal reason. -
LWN ☛ Radicle 1.6.0 released
Version 1.6.0 of the Radicle peer-to-peer, local-first code collaboration stack has been released. Notable changes in this release include support for systemd credentials, use of Rust's clap crate for parsing command-line arguments, and more.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: gunsales 0.1.3 on CRAN: Maintenance
An update to the gunsales package is now on CRAN. As in the last update nine years ago (!!), changes are mostly internal. An upcoming
dplyrchange requires a switch from the old and soon to-be-removed ‘underscored’ verb form; that was kindly addressed in an incoming pull request. -
Python
-
Linuxiac ☛ Python Software Foundation Receives $1.5 Million From Anthropic
Anthropic, best known as the AI research company behind Claude, a LLM used by millions of people worldwide, has committed $1.5 million to the Python Software Foundation as part of a new two-year partnership aimed at strengthening security across the Python ecosystem, with a particular focus on CPython and the Python Package Index.
-
-
Java/Golang
-
Tim Bray ☛ Losing 1½ Million Lines of Go
Unfortunately, Go’s library doesn’t get updated every time Unicode does. As of now, January 2026, it’s still stuck at Unicode 15.0.0, which dates to September 2023; the latest version is 17.0.0, last September. Which means there are plenty of Unicode characters Go doesn’t know about, and I didn’t want Quamina to settle for that.
-
-
Rust
-
Rust Weekly Updates ☛ This Week In Rust: This Week in Rust 634
Hello and welcome to another issue of This Week in Rust!
-
Rust Blog ☛ The Rust Programming Language Blog: What does it take to ship Rust in safety-critical?
This is another post in our series covering what we learned through the Vision Doc process. In our first post, we described the overall approach and what we learned about doing user research. In our second post, we explored what people love about Rust. This post goes deep on one domain: safety-critical software.
When we set out on the Vision Doc work, one area we wanted to explore in depth was safety-critical systems: software where malfunction can result in injury, loss of life, or environmental harm. Think vehicles, airplanes, medical devices, industrial automation. We spoke with engineers at OEMs, integrators, and suppliers across automotive (mostly), industrial, aerospace, and medical contexts.
What we found surprised us a bit. The conversations kept circling back to a single tension: Rust's compiler-enforced guarantees support much of what Functional Safety Engineers and Software Engineers in these spaces spend their time preventing, but once you move beyond prototyping into the higher-criticality parts of a system, the ecosystem support thins out fast. There is no MATLAB/Simulink Rust code generation. There is no OSEK or AUTOSAR Classic-compatible RTOS written in Rust or with first-class Rust support. The tooling for qualification and certification is still maturing.
-