Why Learn Ancient Tech?

The inner orbits of the Hackaday solar system have been vibrating with the announcement of the 2022 Hackaday Supercon badge. The short version of the story is that it’s a “retrocomputer”. But I think that’s somehow selling it short a little bit. The badge really is an introduction to machine language or maybe a programming puzzle, a ton of sweet blinky lights and clicky buttons, and what I think of as a full-stack hacking invitation.

Voja Antonic designed the virtual 4-bit machine that lives inside. What separates this machine from actual old computers is that everything that you might want to learn about its state is broken out to an LED on the front face, from the outputs of the low-level logic elements that compose the ALU to the RAM, to the decoder LEDs that do double-duty as a disassembler. You can see it all, and this makes it an unparalleled learning aid. Or at least it gives you a fighting chance.

So why would you want to learn a made-up machine language from a non-existent CPU? Tom Nardi and I were talking about our experiences on the podcast, and we both agreed that there’s something inexplicably magical about flipping bits, calling the simplest of computer operations into action, and nonetheless making it do your bidding. Or rather, it’s anti-magical, because what’s happening is the stripping away of metaphors and abstractions. Peering not just behind, but right through the curtain. You’re seeing what’s actually happening for once, from the bottom to the top.

As Voja wrote on the silkscreen on the back of the badge itself: “A programmer who has never coded 1s and 0s in machine language is like a child who has never run barefoot on the grass.” It’s not necessary, or maybe even relevant, but learning a complex machine in its entirety is simultaneously grounding and mind-expanding. It is simply an experience that you should have.

Unintentional Emissions

First, it was the WiFi router: my ancient WRT54G that had given me nearly two decades service. Something finally gave out in the 2.4 GHz circuitry, and it would WiFi no more. Before my tears could dry, our thermometer went on the fritz. It’s one of those outdoor jobbies that transmits the temperature to an indoor receiver. After that, the remote for our office lights stopped working, but it was long overdue for a battery change.

Meanwhile, my wife had ordered a new outdoor thermometer, and it too was having trouble keeping a link. Quality control these days! Then, my DIY coffee roaster fired up once without any provocation. This thing has worked quasi-reliably for ten years, and I know the hardware and firmware as if I had built them myself – there was no way one of my own tremendously sophisticated creations would be faulty. (That’s a joke, folks.) And then the last straw: the batteries in the office light remote tested good.

We definitely had a poltergeist, a radio poltergeist. And the root cause would turn out to be one of those old chestnuts from the early days of CMOS ICs – never leave an input floating that should have a defined logic level. Let me explain.

The WRT54G was the hub of my own home automation system, an accretion of ESP8266 and other devices that all happily speak MQTT to each other. When it went down, none of the little WiFi nodes could boot up right. One of them, described by yours truly in this video, is an ESP8266 connected to a 433 MHz radio transmitter. Now it gets interesting – the thermometers and the coffee roaster and the office lights all run on 433 MHz.

Here’s how it went down. The WiFi-to-433 bridge failed to connect to the WiFi and errored out before the part of the code where it initialized GPIO pins. The 433 MHz transmitter was powered, but its digital input was left flopping in the breeze, causing it to spit out random data all the time, with a pretty decent antenna. This jammed everything in the house, and apparently even once came up with the command to turn on the coffee roaster, entirely by chance. Anyway, unplugging the bridge fixed everything.

This was a fun one to troubleshoot, if only because it crossed so many different devices at different times, some homebrew and some commercial, and all on different control systems. Until I put it together that everything on 433 MHz was failing, I hadn’t even thought of it as one event. And then it turns out to be a digital electronics classic – the dangling input!

Anyway, hope you enjoyed the ride. And spill some copper for the humble pull-down resistor.

Honor Your Hacker Heroes

We recently ran an article on a sweet percussion device made by minimal-hardware-synth-madman [Gijs Gieskes]. Basically, it amplifies up an analog meter movement and plays it by slamming it into the end stops. Rhythmically, and in stereo. It’s got that lovely thud, plus the ringing of the springs. It takes what is normally a sign that something’s horribly wrong and makes a soundtrack out of it. I love it.

[Gijs] has been making electro-mechanical musical hacks for about as long as I’ve been reading Hackaday, if not longer. We’ve written up no fewer than 22 of his projects, and the first one on record is from 2005: an LSDJ-based hardware sequencer. All of his projects are simple, but each one has a tremendously clever idea at its core that comes from a deep appreciation of everything going on around us. Have you noticed that VU meters make a particular twang when they hit the walls? Sure you have. Have you built a percussion instrument out of it? [Gijs] has!

Maybe it’s a small realization, and it’s not going to change the world by itself, but I’ve rebuilt more than a couple projects from [Gijs]’ repertoire, and each one has made my life more fun. And if you’re a regular Hackaday reader, you’ve probably seen hundreds or thousands of similar little awesome ideas played out, and maybe even taken some of them on as your own as well. When they accumulate up, I believe they can change the world, at least in the sense of filling up a geek’s life. I hope that feeling comes across when we write up a project. Those of you out there hacking, we salute you!

Why Can’t We Have Pretty Things?

I was reading [Al Williams]’ great rant on why sometimes the public adoption of tech moves so slowly, as exemplified by the Japanese Minister of Tech requesting the end of submissions to the government on floppy diskettes. In 2022!

Along the way, [Al] points out that we still trust ballpoint-pen-on-paper signatures more than digital ones. Imagine going to a bank and being able to open an account with your authentication token! It would be tons more secure, verifiable, and easier to store. It makes sense in every way. Except, unless you’ve needed one for work, you probably don’t have a Fido2 (or whatever) token, do you?

Same goes for signed, or encrypted, e-mail. If you’re a big cryptography geek, you probably have a GPG key. You might even have a mail reader that supports it. But try requesting an encrypted message from a normal person. Or ask them to verify a signature.

Honestly, signing and encrypting are essentially both solved problems, from a technical standpoint, and for a long time. But somehow, from a societal point of view, we’re not even close yet. Public key encryption dates back to the late 1970’s, and 3.5” diskettes are at least a decade younger. Diskettes are now obsolete, but I still can’t sign a legal document with my GPG key. What gives?

Who Is Responsible For Your Safety?

We recently posted a video where some ingenious metal-shop hackers made a simple jig to create zig-zag oil grooves on the inside of a cylinder, and the comment section went wild. What ensued was a flood of complaints that the video displayed unsafe shop practices, from lack of safety glasses to wearing flip-flops while operating a lathe.

Where the comments went off the rails were people asking Hackaday to remove our discussion of the video, because the commenters thought that we were somehow implicitly encouraging open-toed footwear in the presence of machine tools. We certainly weren’t! We wanted you all to see the clever machining hack, and be inspired to build your own. We figure that you’ve got the safety angle covered.

Now don’t get me wrong – there were safety choices made in the video that I would not personally make. But it also wasn’t my shop and I wasn’t operating the machines. And you know who is ultimately responsible for the safety in my basement shop? Me! And guess who is responsible for safety in your shop.

But of course, none of us know everything about every possible hazard. (Heck, I wrote just that a few weeks ago!) So while we’re sympathetic with the “that’s not safe!” crew, we’re not going to censor inspiring hacks just because something done along the way wasn’t done in the way we would do it. Instead, it’s our job, in the comment section as in Real Life™, to help each other out and share our good safety tips when we can.

You’ll see some crazy stuff in videos, and none of it is to be repeated without thinking. And if you do see something dodgy, by all means point it out, and mention how you would do it better. Turn the negative example around for good, rather than calling for its removal. Use the opportunity to help, rather than hide.

But also remember that when the chips are flying toward your personal eyeballs, it’s up to you to have glasses on. We all do potentially hazardous things all the time, and it’s best to be thinking about the risks and their mitigation. So stay safe out there. Keep on learning and keep on hacking!

Streamlining The Toolchain

Sometimes I try to do something magical, and it works. Most of the time this happens because other people have done a good part of the work for me, and shared it. I just cobble a bunch of existing tools into a flow that fits my needs. But the sum of all the parts is often less than the whole, when too many of the steps involve human intervention. Tools made for people simply keep the people in the loop.

For instance, I wanted to take a drawing that my son made into a stamp, by way of a CNC machine and whatever scrap wood we have kicking around in the basement. It’s easy enough, really. Take the photo, maybe use a little tweaking in GIMP to get the levels right, export it into Inkscape for the line detection and maybe even make the GCode right there, or take it off to any convenient SVG-to-GCode tool.

While this works straight out of the box for me, it turns out that’s because I have experience with all of the sub-tools. First, it helps a lot if you get the exposure right in the first place, and that’s not trivial when your camera’s light meter is aiming for grey, but the drawing is on white paper. Knowing this, you could set it up to always overexpose, I guess.

Still, there’s some experience needed in post-processing. If you haven’t played around with both image processing and image editing software, you don’t know how they’re going to interact. And finally, there are more parameters to tweak to get the CNC milling done than a beginner should have to decide.

In short, I had a toolchain up and running in a jiffy, and that’s a success. But in terms of passing it on to my son, it was a failure because he would have to learn way too many sub-tools to make it work for him. Bummer. I’m left wondering if I can streamline all of the parts to work together well enough, or whether I’m simply needed in the loop.

The Quiet Before The Storm?

My wife and I are reading a book about physics in the early 1900s. It’s half history of science and half biography of some of the most famous physicists, and it’s good fun. But it got me thinking about the state of physics 120 years ago.

What we’d now call classical mechanics was fully settled for quite a while, and even the mysterious electricity and magnetism had been recently put to rest by Maxwell and Heaviside. It seemed like there was nothing left to explain for a while. And then all the doors broke wide open.

As much as I personally like Einstein’s relativity work, I’d say the most revolutionary change in perspective, and driver of the most research in the intervening century, was quantum mechanics. And how did it all start? In the strangest of ways – with Niels Bohr worrying about why hydrogen and helium gasses gave off particular colors when ionized, which lead to his model of the atom and the idea of energy in quantum packets. Or maybe it was De Broglie’s idea that electrons could behave like waves or magnets, from slit and cathode-ray experiments respectively, that lead to Heisenberg’s uncertainty principle.

Either way, the birth of the strangest and most profound physics revolution – quantum mechanics – came from answering some ridiculously simple and straightforward questions. Why does helium emit pink, and how do TVs work? (I know, they didn’t have TVs yet…) Nobody looking at these phenomena, apart or together, could have thought that answering them would have required a complete re-thinking of how we think about reality. And yet it did.

I can’t help but wonder if there are, in addition to the multi-bazillion dollar projects like the Large Hadron Collider or the James Webb Space Telescope, some simpler phenomena out there that we should be asking “why?” about. Are we in a similar quiet before the storm? Or is it really true that the way to keep pushing back the boundaries of our ignorance is through these mega-projects?