Programming and Standards Leftovers
-
Programming/Development
-
Tim Bray ☛ Union of Finite Automata
In building Quamina, I needed to compute the union of two finite automata (FAs). I remembered from some university course 100 years ago that this was possible in theory, so I went looking for the algorithm, but was left unhappy. The descriptions I found tended to be hyper-academic, loaded with mathematical notation that I found unhelpful, and didn’t describe an approach that I thought a reasonable programmer would reasonably take. The purpose of this ongoing entry is to present a programmer-friendly description of the problem and of the algorithm I adopted, with the hope that some future developer, facing the same problem, will have a more satisfying search experience.
There is very little math in this discussion (a few subscripts), and no circles-and-arrows pictures. But it does have working Go code.
-
Nat Bennett ☛ Taking notes on a new codebase
In my day job I’m a consultant — I do a few different things and occasionally some greenfield work, but usually there’s a lot of code that someone else wrote, and I’m trying to make sense of it and extract some Business Insights.
I’ve been trying for a few weeks to write about how I do this, since it involves some note-taking techniques and I know that some of you are very much here for that. The piece keeps expanding into something bigger and woolier on “getting context on new codebases” generally, and I keep running out of steam before I get to specific techniques.
So in today's Simpler Machines, let’s just get tactical write away, and talk about note-taking for dependency mapping.
-
Rachel Tam: Adding error highlighting to the TinySPARQL web IDE
One of the most recent features I worked on in this GSoC project was to add error highlighting onto the editor if the sparql server returns an error. Parser errors are designed to be returned alongside a byte number where the error originates, so surely that wouldn’t be too difficult right? Well it turned out to involve a bit more engineering than expected.
-
Barry Kauler ☛ Attempting compile gImageReader in OE
There are GUI frontends for the tesseract commandline Optical Character Recognition (OCR) utility, including gImageReader. Available as a flatpak; however, behaviour is likely to be better if run as a native app. Hence, I have had a go at compiling gImageReader in OpenEmbedded.
-
R
-
Rlang ☛ Mastering the table() Function in R
The table() function in R is a powerful tool for creating frequency tables, allowing you to quickly summarize the distribution of variables in your data.
In this article, we’ll explore the basics of table() and demonstrate its applications through practical examples.
-
Rlang ☛ Moving to blog.stephenturner.us (Paired Ends)
My new blog/newsletter ("Paired Ends") is now at blog.stephenturner.us. I'll be posting semi-regular updates and literature highlights in bioinformatics, computational biology, and data science, along with the occasional post on programming.
-
Rlang ☛ BlueSky Statistics Enhancements
BlueSky Statistics is a free and open-source graphical user interface for the powerful R language. There is also a commercial “Pro” version that offers tech support, priority feature requests, and many powerful additional features.
-
Rlang ☛ colorspace: A Python Toolbox for Colors and Palettes
Python package 'colorspace' with tools for manipulating and assessing colors and palettes is now available from PyPI, accompanied by a documentation web page and an arXiv paper.
-
-
Java
-
Unicorn Media ☛ New Survey Spills the Beans on Migration Away From Oracle JDK
According to a new survey, Oracle's been bleeding Java JDK customers since it got greedy with its pricing in 2023.
-
-
-
Standards/Consortia
-
Thomas Rigby ☛ The case against web-safe fonts
I've previously argued for the use of web-safe fonts for many of the reasons traditionally given; performance, mostly. And this idea that it doesn't matter if it renders differently across operating systems because "users are used to it" has been a solid defence against criticism from designers.
But users often use multiple different devices; Android phone and Windows laptop, Kindle and iPhone, Android phone and iPad. These users will see the same website looking quite different depending on which device they access it with.
-
MacRumors ☛ Torrenting Apps Now Available for iPhone Users in the EU
The new offerings on AltStore PAL include iTorrent, an iOS torrent client, and qBitControl, a remote client for managing qBittorrent on desktop systems. These apps, along with PeopleDrop, a dating-focused social discovery app, and UTM SE, an app for emulating operating systems such as Windows, Linux, and macOS on iOS devices, mark the first batch of third-party apps to be released on AltStore PAL since its launch. Unlike the other apps, UTM SE has also been approved by Apple and is available on the official App Store, though it was initially rejected in June before gaining approval with assistance from the AltStore team.
-
The Verge ☛ iPhone torrenting apps are now available in the EU
Specifically, the new additions include iTorrent, an iOS torrent client that can be used without jailbreaking iPhones or iPads, and qBitControl, a qBittorrent remote client for iOS devices. PeopleDrop is a dating-focused “social discovery platform” that connects you with other users in the real world as they pass by. And finally, there’s the UTM SE app for emulating other operating systems like Windows, Linux, and macOS on iOS.
-
Federal News Network ☛ NARA eyes ‘zero click’ future for records management
With agencies managing a growing mass of data, the National Archives and Records Management is examining how to do digital records management without human intervention.
NARA just successfully shepherded agencies to a longstanding deadline for when the Archives would no longer accept paper and other analog records. The deadline drove many agencies to digitize their analog records and ditch paper-based processes.
But now agencies are confronting how to meet their records management obligations amid an ever-expanding deluge of emails, chat messages, text files and other digital records.
-
Minor CLP Progress
The UNIX API is quite wide. There is more available, but I wrapped at least the subset that the relevant Scheme SRFI found most useful for Fleng. This proved a good exercise of the FFI & wrapper generator. It's also the furthest I got with contributing to various compilers and interpreters over the years.
-