news
Programming Leftovers
-
Eliseo Martelli ☛ The API of a Camera and the Unix manifesto
As software developers we are keen to discuss APIs, interfaces, and the beauty of well-crafted systems. We appreciate clarity, intentionality and the power that comes from a focused set of capabilities. The Unix philosophy, taken as a cultural norm of minimalist and modular components, brought us the Unix operating system.
The unix philosophy is pretty simple: [...]
-
Alisa Sireneva ☛ ntoh*/hton* is a bad API
These concepts are mostly orthogonal. You can switch from vector to a linked list, or even change the programming language, affecting only the data type. You can also talk to a different microservice via XML without changing the way your application handles data.
Typically, libraries provide (de)serialization functions to convert between data types and serialized data, with an API along the lines of: [...]
-
Tim Bradshaw ☛ The lost cause of the Lisp machines
1993 is 32 years ago. The Symbolics 3600, probably the first Lisp machine that sold in more than tiny numbers, was introduced in 1983, ten years earlier. People who used Lisp machines other than as historical artefacts are old today.
Lisp machines were both widely available and offered the best performance for Lisp for a period of about five years which ended nearly forty years ago. They were probably never competitive in terms of performance for the money.
It is time, and long past time, to let them go.
-
Jeremy Bowers ☛ The Uselessness of "Fast" and "Slow" in Programming
This is not an every day experience for most programmers, but even an 8-core 4GHz system covers 32,000,000,000 cycles in a second. Again rounding a bit that’s 10 orders of magnitude between “my code runs in a couple of cycles” and “my code takes all my CPU resources for a second”.
-
Perl / Raku
-
Chris ☛ What Killed Perl?
Trick question! Perl is not dead. I’ll show you what I mean, and then still answer what I think killed Perl.
-
[Repeat] Rakulang ☛ 2025.46 Advent Alert & Release #187
Congrats to the team for the new Rakudo compiler, Release #187 (2025.11).
The following people contributed to this release: [...]
-
[Old] Erik Davis ☛ Perl creator Larry Wall - Techgnosis
[With Perl], I was trying to encourage what I call diagonal thinking. Traditionally computer languages try to be as orthogonal as possible, meaning their features are at all at right angles to each other, metaphorically speaking. The problem with that is that people don’t solve problems that way. If I’m in one corner of a park and the restrooms are in the opposite corner of the park, I don’t walk due east and then due north. I go northeast — unless there’s a pond in the way or something.
I am told that when they built the University of California at Irvine, they did not put in any sidewalks the first year. Next year they came back and looked at where all the cow trails were in the grass and put the sidewalks there. Perl is designed the same way. It’s not just a random collection of features. It’s a bunch of features that look like a decent way to get from here to there. If you look at the diagram of an airline, it’s a network. Perl is a network of features… It’s more like glue than it is like Legos.
-
[Old] Econlib Inc ☛ Tim O'Reilly on Technology and Work - Econlib
[...] And we actually had the cover of Publisher's Weekly at some point in the late 1990s and it said, 'The Internet was built with O'Reilly books.' And nobody would think anything of that. It was true. But anyway, somewhere along the line, I realized that--our best-selling book in 1996 was the 2nd edition of Programming Perl. Perl was a programming language beloved of UNIX administrators; and people building the Worldwide Web, [...]
-
-
Python
-
Jacob Tomlinson ☛ Python package managers: uv vs pixi?
When I talk to people about Python package management in 2025 I see the following tools in active use; uv, pixi, pip, conda, mamba, micromamba and poetry. There may be others, but I don’t hear much about them.
-
-
Shell/Bash/Zsh/Ksh
-
University of Toronto ☛ A surprise with how '#!' handles its program argument in practice
I found this so surprising that I tested it on our Linux servers as well as a FreeBSD and an OpenBSD machine. On the Linux servers (and probably on the others too), the kernel really does accept the full collection of relative paths in '#!'. You can write '#!python3', '#!bin/python3', '#!../python3', '#!../../../usr/bin/python3', and so on, and provided that your current directory is in the right place in the filesystem, they all worked.
-
-
Rust
-
Rust Blog ☛ The Rust Programming Language Blog: Surveillance Giant Google Summer of Code 2025 results
As we have announced previously this year, the Rust Project participated in Google Summer of Code (GSoC) for the second time. Almost twenty contributors have been working very hard on their projects for several months. Same as last year, the projects had various durations, so some of them have ended in September, while the last ones have been concluded in the middle of November. Now that the final reports of all projects have been submitted, we are happy to announce that 18 out of 19 projects have been successful! We had a very large number of projects this year, so we consider this number of successfully finished projects to be a great result.
-
Applications
-
It's FOSS ☛ RustDesk Pulls Ahead of TeamViewer, AnyDesk with Wayland Multi-Scaled Display Support
New nightly build brings support for monitors with different scaling factors.
-
-