Programming Leftovers
-
Qt ☛ Qt Creator 16 released
We are happy to announce the release of Qt Creator 16!
-
Rlang ☛ Sparklines in Reactable Tables
{reactable} is an R package for producing HTML tables, commonly used in Shiny.
To create a HTML reactable table all we need to do is input a data.frame object to the reactable function. These tables have a nice simple default look however we can also add our own styles very easily. In our first example of a table I am just using the in built R iris dataset.
-
Czterycztery ☛ how to write a quine
This is a text about how to write a quine (https://en.wikipedia.org/wiki/Quine_%28computing%29), which is a program that prints its own source code without using introspection. I assume the reader has encountered quines before, maybe even tried to write one, and understands why they are difficult and interesting. The text consists of two parts: in the first, I explain through an allegory how it works, and in the second, I describe in detail how to write a quine.
-
The Register UK ☛ GCC 15 is close: COBOL and Itanium are in, but ALGOL out
Version 15 of the GNU Compiler Collection is getting close to release, and as it does, some changes are not going to make it.
-
Peter N M Hansteen ☛ No Project Is an Island: Why You Need SBOMs and Dependency Management
Whether you let others see the code you wrote nor not, the software does not exist in isolation.
All software has dependencies, and in the open source world this fact has been treated as a truth out in the open. Every free operating system, and in fact most modern-ish programming languages come with a package system to install software and to track and handle the web of depenencies, and you are supposed to use the corresponding package manager for the bulk of maintenance tasks.
-
Kmx.io ☛ Why I stopped everything and started writing C again
So I started writing my libc3 utility library, which would become a language (C3) with an interpreter (ic3) but could also be compiled (c3c) if we did manage to get it through at some point; and data structures emerged from UTF-8 buffers and the other way around pretty fast and all was bounds-checked at memory cost but the results were awesome. Defensive programming all the way : all bugs are reduced to zero right from the start. The system has been maintained clean of wrong bugs all of the time. There are no security implications of running KC3 code. So very fast a small interpreter was born, pumping tags (an enum-tagged union of all datatypes of the language) in a REPL (read eval print loop).
3 years later I just finished a 5 layered refactor and all the tests pass again and the webserver seems to not be broken again. The language was renamed from C3 to KC3 as the original name was already taken. So what do we have ?
-
Zach Tellman ☛ complexity as entropy
To understand the relationship between information and disorder in a physical system, consider why a sequence of random numbers cannot be compressed. When we compress data, we exploit its internal relationships; we use one part to describe another. You can see this in run-length encoding, or in how gzip encodes duplicate strings as back-references. But in a random dataset, there are no internal relationships; with each element, our explanation must begin anew.
And this is why, in this newsletter, we spend so much time on the structures that bind the disparate parts of our software together. These structures compress our code, amplify our explanations. They make our software simpler.
-
Python
-
Red Hat ☛ How RHEL provides secure and stable Python streams
Python is a core component of many enterprise environments. Red Hat Enterprise Linux (RHEL) provides security-compliant Python streams with long life cycles. This commitment applies to Python 3.12 in RHEL 10 and older Python versions that serve as the main interpreters, such as Python 3.6 in RHEL 8 and Python 3.9 in RHEL 9.
Python in Fedora: The journey to stability
The packaging and subsequent availability of Python 3.12 in Fedora followed a structured release cycle with the following milestones:
Python 3.12 alpha 1
-
-
Shell/Bash/Zsh/Ksh
-
The Register UK ☛ Android 16 may get a built-in Linux terminal
The new feature is an optional extra that users will need to turn on by enabling Developer Mode, which indicates its expected audience. It's not a terminal emulator that lets you access Android's underlying native Linux environment. Instead, this is a special Debian VM, running on top of the built-in Android Virtualization Framework. To the Reg FOSS desk, this sounds very similar to the built-in Linux Terminal that's available in ChromeOS and ChromeOS Flex.
-
[Old] Ulm und Neu-Ulm eV ☛ ash variants
After I had repeatedly wondered how all those "ash" variants might be related, and had found hardly any information, I had a closer look at the variants I know.
Source is available for all variants, except for BSD/OS. Thanks to TUHS for archiving the traditional BSDs and 386BSD, to Kirk McKusick for his CSRG archive, and to Peter Seebach for allowing me to learn all BSD/OS variants.
-
[Old] Ulm und Neu-Ulm eV ☛ traditional Bourne shell family / history and development
This page is about all the variants of the original Bourne shell - it doesn't deal with bourne compatible shells like the korn (ksh), almquist (ash), bourne again (bash) or posix shell.
The Bourne shell, introduced with the "7th edition" of Unix in 1979, is an important part of the Unix history. Its grammar is the core of several modern shells. Even some later variants of the traditional Bourne shell are in use until today. However, there's little common knowledge about these traditional Bourne shell variants, because they never had been "versioned". This page tries to document their way.
-