Vinyl Sales Ran Circles Around CDs In 2022

How do you take your music these days? For those in Camp Tangible, it seems our ranks are certainly growing, and in the analog direction. For the first time since 1987, vinyl record sales have outperformed CD sales in the US, according to a new report. The CD, which saved us all from the cassette, was a digital revolution in music. But for some, the love was lost somewhere among the ones and zeroes.

Those who prefer pure analog troughs of sound cut into wax have never given up on vinyl, and the real ones probably gobbled up a bunch of it in the 90s when everybody was CD-crazy. But mind you these aren’t used vinyl sales we’re talking about, which means that enough new vinyl has to have been readily available for purchase for quite some time now. Although it doesn’t really seem like that long, new vinyl’s been back for almost 20 years — and according to the report, 2022 was the 16th consecutive year of growth for record sales.

So Why Vinyl?

Nostalgia ain’t what it used to be, but there was a time in my 1980s childhood when vinyl was all this scribe had to listen to. I have historically been a bit slow to adopt new music formats — I didn’t have a CD player until 1998, and it was given to me for my birthday. I was excited to get the thing, mind you, especially since it had 10 seconds of anti-skip protection (which of course was a huge concern with portable CD players).

But CDs are way different from records. Sure, they’re both round, but the similarities sort of end there. For one thing, the artwork is disappointingly small compared to vinyl. And the whole gatefold album cover thing isn’t really possible with a CD, unless you forego the jewel case and release it in a chintzy little cardboard jacket. But then people will have this one disc that’s four times thinner than the rest and it throws everything off in the collection.

Continue reading “Vinyl Sales Ran Circles Around CDs In 2022”

The X Macro: A Historic Preprocessor Hack

If we told you that a C preprocessor hack dated back to 1968, you’d be within your rights to remind us that C didn’t exist in 1968. However, assemblers with preprocessors did, and where there is a preprocessor, there is an opportunity to do clever things. One of those things is the so-called X macro, which saw a lot of use in DEC System 10 code but probably dates back even earlier. You can still use it today if you like, even though there are, of course, other arguably better ways to get the same result. However, the X macro can be very efficient, and you may well run into it in some code, too.


Preprocessing used to be a staple of programming. The idea is that code is manipulated purely at the text level before it is compiled. These days, languages with a preprocessor usually handle it as part of the compiler, but you can also use an external preprocessor like m4 for more sophisticated uses.

Modern languages tend to provide other ways to accomplish many of the tasks handled by the preprocessor. For example, if you have a constant you want to set at compile time, you could say:

int X = 32;
y = X;

But then you’ve created a real variable along with the overhead that might entail. A smart compiler might optimize it away for you, but you can be sure by writing:

#define X 32
y = X;

A modern compiler would prefer you to write:

const int X=32;
y = X;

But there are still some common uses for macros, like including header files. You can also make more sophisticated macros with arguments so you don’t incur a function call penalty, although modern usage would be to mark those functions as inline.

The Problem

Which brings us to the X macro. With all great hacks, there is first a problem to solve. Imagine you have a bunch of electronic parts you want to deal with in your code. You don’t want a database, and you don’t want to carry a bunch of strings around, so you define an enumerated type:

Continue reading “The X Macro: A Historic Preprocessor Hack”

Review: XHDATA D-219 Short Wave Radio Receiver

As any radio amateur will tell you, the world of radio abounds with exciting possibilities. Probably the simplest pursuit of them all is that of the SWL, or short wave listener, who scours the airwaves in search of interesting stations. SWLs will often have fully-featured setups with high-end general-coverage communications receivers and tuned antenna arrays, but it can start with the cheapest of radios at its bottom end. Such a radio is the subject of this review, the XHDATA D-219 is a miniature portable receiver that costs under ten dollars, yet is currently the talk of the town in SWL circles. This interest is in no small amount due to its being an especially low-price way to get your hands on a shortwave radio using one of the SIlicon Labs integrated software-defind radio receiver chips. We don’t often review a consumer radio here at Hackaday, but with an avid eye for unexpected gems at the cheaper end of the market this one’s worth a second look.

What Do You Get For Your Tenner?

A picture of the radio on my bench
This form factor is very typical for cheap “world band” radios.

I ordered my D-219 from the XHDATA website, spending about £10 including the postage from China. The usual wait ensued before the package landed on my doormat, and inside was the radio in its box with an instruction leaflet. It’s a small unit about 135 mm x 75 mm x 30 mm, and it follows closely the form factor of other similar radios.

On the top is the extensible antenna with an on-off switch and sockets for headphone and 5 V power, on the side are side-on knobs for tuning and volume, while on the front is the speaker and old-style multi-band tuning display.

On the back is a flip-up stand and a hatch for a pair of AA cells. There’s a band switch covering AM, nine different shortwave bands from 4.75 MHz to 22 MHz, the east Asian FM band from 64 MHz to 87 MHz, and the international FM band from 87 MHz to 108 MHz. The tuning indicator is very old-school, a vertical bar that moves across a frequency scale with the tuning knob. Continue reading “Review: XHDATA D-219 Short Wave Radio Receiver”

The Curious Etymology Of The Elements

It’s not often that the worlds of lexicography and technology collide, but in a video by the etymologist [RobWords] we may have found a rare example. In a fascinating 16-minute video he takes us through the origins of the names you’ll find in the periodic table. Here’s a word video you don’t have to be on the staff of a dictionary to appreciate!

Etymology is a fascinating study, in which the scholar must disentangle folk etymologies and mistaken homophones to find the true root of a word. Fortunately in the case of most elements they bear a name bestowed on them by the scientists who discovered them, so their etymologies are rarely in dispute.

The etymologies split neatly into categories, with among them such distinctions as Latin or Greek descriptions, places including the Swedish village of Ytterby which has more elements named after it than anywhere else, elements named for mythological figures, and those named for people.

He artfully skates over the distinction between aluminium and a curiously similar metal the Americans call aluminum, because etymologists are used to deflecting controversy when language differences colour, or even color, people’s emotions. Thank you, Noah Webster!

It’s an entertaining diversion for anyone with a love of both science and of language, and should remind us that the study of language has just as much scientific rigour in its research as any of those elements.

Continue reading “The Curious Etymology Of The Elements”

The First Gui? Volscan Controls The Air

In the 1950s,  computers were, for the most part, ponderous machines. But one machine offered a glimpse of the future. The Volscan was probably the first real air traffic computer designed to handle high volumes of military aircraft operations. It used a light gun that looked more like a soldering gun than a computer input device. There isn’t much data about Volscan, but it appears to have been before its time, and had arguably the first GUI on a computer system ever.

The Air Force had a problem. The new — in the 1950s — jets needed long landing approaches and timely landings since they burned more fuel at lower altitudes. According to the Air Force, they could land 40 planes in an hour, but they needed to be able to do 120 planes an hour. The Whirlwind computer had proven that computers could process radar data — although Whirlwind was getting the data over phone lines from a distance. So the Air Force’s Cambridge Research Center started working on a computerized system to land planes called Volscan, later known as AN/GSN-3.

Continue reading “The First Gui? Volscan Controls The Air”

Will A.I. Steal All The Code And Take All The Jobs?

New technology often brings with it a bit of controversy. When considering stem cell therapies, self-driving cars, genetically modified organisms, or nuclear power plants, fears and concerns come to mind as much as, if not more than, excitement and hope for a brighter tomorrow. New technologies force us to evolve perspectives and establish new policies in hopes that we can maximize the benefits and minimize the risks. Artificial Intelligence (AI) is certainly no exception. The stakes, including our very position as Earth’s apex intellect, seem exceedingly weighty. Mathematician Irving Good’s oft-quoted wisdom that the “first ultraintelligent machine is the last invention that man need make” describes a sword that cuts both ways. It is not entirely unreasonable to fear that the last invention we need to make might just be the last invention that we get to make.

Artificial Intelligence and Learning

Artificial intelligence is currently the hottest topic in technology. AI systems are being tasked to write prose, make art, chat, and generate code. Setting aside the horrifying notion of an AI programming or reprogramming itself, what does it mean for an AI to generate code? It should be obvious that an AI is not just a normal program whose code was written to spit out any and all other programs. Such a program would need to have all programs inside itself. Instead, an AI learns from being trained. How it is trained is raising some interesting questions.

Humans learn by reading, studying, and practicing. We learn by training our minds with collected input from the world around us. Similarly, AI and machine learning (ML) models learn through training. They must be provided with examples from which to learn. The examples that we provide to an AI are referred to as the data corpus of the training process. The robot Johnny 5 from “Short Circuit”, like any curious-minded student, needs input, more input, and more input.

Continue reading “Will A.I. Steal All The Code And Take All The Jobs?”

The Future Of RISC-V And The VisionFive 2 Single Board Computer

We’ve been following the open, royalty-free RISC-V ISA for a while. At first we read the specs, and then we saw RISC-V cores in microcontrollers, but now there’s a new board that offers enough processing power at a low enough price point to really be interesting in a single board computer. The VisionFive 2 ran a successful Kickstarter back in September 2022, and I’ve finally received a unit with 8 GB of ram. And it works! The JH7110 won’t outperform a modern desktop, or even a Raspberry Pi 4, but it’s good enough to run a desktop environment, browse the web, and test software.

And that’s sort of a big deal, because the RISC-V architecture is starting to show up in lots of places. The challenge has been getting real hardware that’s powerful enough to run Linux and compile software on, that doesn’t cost an arm and a leg. If ARM is an alternative architecture, then RISC-V is still an experimental one, and that is an issue when trying to use the VF2. That’s a theme we’ll repeat a few times, but the thing to remember here is that getting more devices in the wild is the first step to fixing things. Continue reading “The Future Of RISC-V And The VisionFive 2 Single Board Computer”