news
Programming Leftovers
-
Sandor Dargo ☛ Discovering observers - part 1
The goal of this mini-series is to explore the Observer Design Pattern in C++, walking through different implementations and weighing their pros and cons.
First, let’s briefly recap what the observer pattern is. It belongs to the family of behavioral design patterns.
-
Old VCR ☛ Microsoft makes 6502 BASIC open source
The source code is all in one big file (typical for the time) and supports six machine models, the first most likely a vapourware 6502 system never finished by Canadian company Semi-Tech Microelectronics (STM) better known for the CP/M-based Pied Piper, then the Apple II, the Commodore (in this case PET 2001), the Ohio Scientific (OSI) Challenger, the Commodore/MOS KIM-1, and most intriguingly a PDP-10-based simulator written by Paul Allen. The source code, in fact, was cross-assembled on a PDP-10 using MACRO-10, and when assembled for the PDP-10 emulator it actually emits a PDP-10 executable that traps on every instruction into the simulator linked with it — an interesting way of effectively accomplishing threaded code. A similar setup was used for their 8080 emulator. Unfortunately, I don't believe Allen's code has been released anywhere, though I'd love to be proven wrong if people know otherwise. Note that they presently don't even mention the STM port in the Github README, possibly because no one was sure what it did.
-
Bozhidar Batsov ☛ nREPL 1.4
nREPL 1.4.0 is out! This month we celebrate 15 years since nREPL’s development started, so you can consider this release part of the upcoming birthday celebrations.
-
Marijke Luttekes ☛ Git exclude, a handy feature you might not know about
As a git user, you will undoubtedly have come across "git ignore", but do you also know about "git exclude"? This handy feature, judging from my Fediverse notifications, seems not as well-known as I thought.
In this article, I will explain what git exclude is, why it is different from git ignore, and when to use which.
-
Adrian Stoll ☛ Beware of Sorting Locales
The conclusion of this article is "simple" tasks like sorting a config file have a subtlety and taking a peek leads down a rabbit-hole of complexity.
-
Raku
-
Arne Sommer ☛ Oddly Current with Raku
You are given an array of numbers, @num1.
Write a script to return an array, @num2, where $num2[i] is the count of all numbers less than or equal to $num1[i].
-
-
R
-
Rlang ☛ external regressors in ahead::dynrmf’s interface for Machine learning forecasting
-
Rlang ☛ Verifiable Agents, Not Demos: A Problem-First Approach
Course notes from 'Building Agentic Hey Hi (AI) Applications with a Problem-First Approach' - moving beyond clever demos toward measurable, reliable agent systems with practical playbooks for problem-first framing, early evaluations, guardrails as product requirements, and iteration with data.
-
Rlang ☛ 🌍 Data Science for Open WASH Data: Building a Global Community!
We’re thrilled to have 124 registrations so far from passionate learners worldwide who are ready to transform water, sanitation, and hygiene data into actionable insights! 📊
-
-
Python
-
LWN ☛ The "impossibly small" Microdot web framework
The Microdot web framework is quite small, as its name would imply; it supports both standard CPython and MicroPython, so it can be used on systems ranging from internet-of-things (IoT) devices all the way up to large, cloudy servers. It was developed by Miguel Grinberg, who gave a presentation about it at EuroPython 2025. His name may sound familiar from his well-known Flask Mega-Tutorial, which has introduced many to the Flask lightweight Python-based web framework. It should come as no surprise, then, that Microdot is inspired by its rather larger cousin, so Flask enthusiasts will find much to like in Microdot—and will come up to speed quickly should their needs turn toward smaller systems.
We have looked at various pieces of this software stack along the way: Microdot itself in January 2024, MicroPython in 2023, and Flask as part of a look at Python microframeworks in 2019.
-
-
Slop
-
The Register UK ☛ FreeBSD Project isn't ready to let AI commit code just yet
The FreeBSD Project's Status Report for the second quarter of 2025 contains updates from various sub-teams that are working on improving the FreeBSD OS, including separate sub-projects such as enabling FreeBSD apps to run on Linux, Chinese translation efforts, support for Solaris-style Extended Attributes, and for Apple's legacy HFS+ file system.
The thing that stood out to us, though, was that the core team is working on what it terms a "Policy on generative AI created code and documentation." The relevant paragraph says: [...]
-
-
Java
-
Farid Zakaria ☛ Bazel Knowledge: Testing for clean JVM shutdown | Farid Zakaria’s Blog
Ever run into the issue where you exit your main method in Java but the application is still running?
That can happen if you have non-daemon threads still running. 🤔
-
-
Golang
-
Ted Unangst ☛ what the go proxy has been doing
A follow up to what is the go proxy even doing? now with more answers. Russ Cox (rsc) and I traded a few emails trying to work out what was going on. They’re going to make a few changes, and I also learned a few things it would have been helpful to know.
-