Where Everybody Knows Your Name (and other metadata)


A group of people in a video call waving at their cameras. Each has a name under their video.

I've made no secret of rather enjoying this enforced period of remote work. Sure, it has had its challenges - but there have been so many fringe benefits. Less commuting! No crappy-canteen lunches! More time to sleep in! And, today, I was reminded of another benefit. I am terrible at remembering names. Many a time someone has bumbled up to me in a corridor, asked my opinion on something, and I've said "could you email me and I'll send you more detail" because I didn't want the mortifying…

Continue reading →

"I could build that in five minutes!"


A digital watch.

It's rather dispiriting when you launch something, only to have people berate you for not launching sooner. A few months ago, I was involved in a medical questionnaire launch. Before it was released, I had several people send me polite (and not-so-polite) queries as to why it was taking so long. "I could build that in five minutes!" was the common refrain. Some people, dissatisfied with our progress, did just that. They quickly built their own questionnaires and opened them to the public.…

Continue reading →

Broadcasting vinyl over my LAN - ALSA2ChromeCast


Icecast admin page.

Previously, on the Terence Eden Adventures: I accidentally won a load of vinyl on eBay, and I bought the cheapest record player I could find. The record player has USB output. So I shoved it into a Rock Pi S - an SBC similar to a Raspberry Pi - to broadcast vinyl all over my house via ChromeCast! Here's how. Detect the audio Install alsa-utils if they're not already present. Find your hardware with arecord -l One of the outputs should be: card 2: Microphone [USB Microphone], device…

Continue reading →

Book Review - Race After Technology: Abolitionist Tools for the New Jim Code


A Black woman, face sorrounded by circuits, looks to the future.

From everyday apps to complex algorithms, Ruha Benjamin cuts through tech-industry hype to understand how emerging technologies can reinforce White supremacy and deepen social inequity. Benjamin argues that automation, far from being a sinister story of racist programmers scheming on the dark web, has the potential to hide, speed up, and deepen discrimination while appearing neutral and even benevolent when compared to the racism of a previous era. Presenting the concept of the “New J…

Continue reading →

Let's get rid of humans


A robot taxi driver.

We place a large premium on Human. Mostly because it is what we've always known. But, when given the choice, we often ditch humans for something better. Some random examples… Radio DJs Does anyone actually miss witless chatter between records? Use of Spotify suggests a large number of us don't need a Human to introduce the next record. Or hold a phone-in. Or read out dates of a gig. We might prefer a human to curate the music we listen to. But is AI any worse than Payola? TV continuity a…

Continue reading →

Inside a £30 record player


A circuit board.

I accidentally bought a load of vinyl records. So I decided to buy the cheapest, shittiest, turntable possible. This is the E1372. Made by Jia Yin King Technologies. This is sold under a variety of names and costs about £30 including postage from China. It's a plastic shell, motor, and ADC (Analogue to Digital Converter), which is powered via USB. It is the cheapest brand new player I could find. Here's a disassembly walkthough, an analysis of how well it works, and some Linux info. …

Continue reading →

Do any Open Source Licences require source history?


Binary code displayed on a screen.

A question to the void. Are you entitled to get the source history of open source projects? Lots of Open Source licences give the consumer of software the right to a copy of the source code. For example, GPLv3 says that distributors of software have to: give anyone who possesses the object code ... a copy of the Corresponding Source What is "Corresponding Source"? The "Corresponding Source" means all the source code needed to generate, install, and run the object code That, to me,…

Continue reading →