ELIZA Reanimated

The last time we checked in with the ELIZA archeology project, they had unearthed the earliest known copy of the code for the infamous computer psychiatrist written in MAD-SLIP. After a lot of work, that version is now running again, and there were a number of interesting surprises.

While chatbots are all the modern rage, [Joseph Weizenbaum] created what could be the first one, ELIZA, in the mid-1960s. Of course, it wasn’t as capable as what we have today, but it is a good example of how simple it is to ape human behavior.

The original host was an IBM 7094, and MAD-SLIP fell out of favor. Most versions known previously were in Lisp or even Basic. But once the original code was found, it wasn’t enough to simply understand it. They wanted to run it.

Continue reading “ELIZA Reanimated”

PVA Filament: Not Always What It Seems

PVA filament with a core. (Credit: Lost In Tech)
PVA filament with a core. (Credit: Lost In Tech)

PVA filament is an interesting filament type, for the reason that while it can be printed with any FDM printer, it supposedly readily dissolves in water, which is also the reason why PVA glue sticks are so popular when doing crafts and arts with young children. This property would make PVA filament ideal for printing supports if your printer can handle two different materials at the same time. So surely you can just pick any old PVA filament spool and get to printing, right? As [Lost in Tech] found out, this is not quite the case.

As an aside, watching PVA supports dissolve in water set to classical music (Bach’s Air from Orchestral Suite No. 3) is quite a pleasant vibe. After thus watching the various PVA prints dissolve for a while, we are left to analyze the results. The first interesting finding was that not every PVA filament dissolved the same way, or even fully.

The first gotcha is that PVA can stand for polyvinyl acetate (the glue stick) or polyvinyl alcohol (a thickener and stabilizer) , with the ‘PVA’ filament datasheets for each respective filament showing various combinations of both types of PVA. This results in wildly different properties per filament, both in terms of Shore hardness, their printability, as well as their ability to dissolve in water. Some of the filament types (Yousu, Reprapper) also have an outer layer and inner core for some reason.

Ultimately the message appears to be that ‘PVA’ filament requires a fair bit of research to have any chance of having a relatively trouble-free printing experience.

Continue reading “PVA Filament: Not Always What It Seems”

Building Diode And Diode-Transistor Logic Gates

AND gate implemented as diode-resistor logic. (Credit: Anthony Francis-Jones)
AND gate implemented as diode-resistor logic. (Credit: Anthony Francis-Jones)

The fun part about logic gates is that there are so many ways to make them, with each approach having its own advantages and disadvantages. Although these days transistor-transistor logic (TTL) is the most common, diode-transistor logic (DTL) once was a regular sight, as well as diode-resistor logic (DRL). These logic gates are the topic of a recent video by [Anthony Francis-Jones], covering a range of logic gates implemented using mostly diodes and resistors.

Of note is that there’s another class of logic gates: this uses resistors and transistors (RTL) and preceded DTL. While DRL can be used to implement AND and OR logic gates, some types of logic gates (e.g. NOT) require an active (transistor) element, which is where DTL comes into play.

In addition to the construction of a rather nifty demonstration system and explanation of individual logic gates, [Anthony] also shows off a range of DTL cards used in the Bendix G-15 and various DEC systems. Over time TTL would come to dominate as this didn’t have the diode voltage drop and other issues that prevented significant scaling. Although the rise of VLSI has rendered DRL and DTL firmly obsolete, they still make for a fascinating teaching moment and remind us of the effort over the decades to make the computing device on which you’re reading this possible.

Continue reading “Building Diode And Diode-Transistor Logic Gates”

All You Need To Know About Photographic Lenses

If you have ever played around with lenses, you’ll know that a convex lens can focus an image onto a target. It can be as simple as focusing the sun with a magnifying glass to burn a hole in a piece of paper, but to achieve the highest quality images in a camera there is a huge amount of optical engineering and physics at play to counteract the imperfections of those simple lenses.

Many of us in the hardware world aren’t optical specialists but our work frequently involves camera modules, so [Matt Williams]’ piece for PetaPixel laying out a primer on lens design should be essential reading well beyond its target audience of photographers.

In it we learn how a photographic lens is assembled from a series of individual lenses referred to as elements, combined together in groups to lend the required properties to the final assembly. We are introduced to the characteristics of different types of glass, and to the use of lens coatings to control reflections. Then we see examples of real lens systems, from some famous designs with their roots in the 19th century, to the lenses of today.

Sometimes a piece written for an entirely different audience can bring really useful insights into our field, and this is one of those times. We learned something, and we think you will too.


Header image: 4300streetcar, CC BY 4.0.

Hackaday Podcast Episode 325: The Laugh Track Machine, DIY USB-C Power Cables, And Plastic Punches

This week, Hackaday’s Elliot Williams and Al Williams caught up after a week-long hiatus. There was a lot to talk about, including clocks, DIY USB cables, and more.

In Hackaday news, the 2025 Pet Hacks Contest is a wrap. Winners will be announced soon, so stay tuned. Meanwhile, how’d you like a free ticket to attend Supercon? Well, free if you submit a talk and get accepted. November is right around the corner, so get those talks ready.

Hackaday is a big fan of the NOAA Polar sats, and it looks like they are on their last figurative legs. The agency has left them up for now, but won’t be keeping them in shape, and if they misbehave, they may be neutralized for safety.

Since Elliot was off, Al supplied the sound, and in a bout of karma, Elliot had to do the guessing this week. How’d he do? Not bad, but there’s room to do better. If you do better, there could be a coveted Hackaday Podcast T-shirt in your future.

Moving on the hacks, the guys were interested in magnets, clocks, cables, 3D printed machine tools, and even old moonbase proposals. For the can’t miss articles, Al took the bifecta, since Elliot picked a piece on the machine that generated laugh tracks in the latter part of the 20th century and Al shamelessly picked his own article about the role of British ham radio operators during WWII.

Miss anything? Check out the links below and catch up. As always, drop a comment and tell us what you think about the week in Hackaday.

Download in DRM-free MP3 unencrypted and oxygen-free.

Continue reading “Hackaday Podcast Episode 325: The Laugh Track Machine, DIY USB-C Power Cables, And Plastic Punches”

Pi Pico Powers Parts-Bin Audio Interface

USB audio is great, but what if you needed to use it and had no budget? Well, depending on the contents of your parts bin, you might be able to use [Veyniac]’s Pico-Audio-Interface as a free (and libre! It’s GPL3.0) sound capture device.

In the project’s Reddit thread, [Veyniac] describes needing audio input for his homemade synth, but having no budget. Necessity being the mother of invention, rather than beg borrow or steal a device with a working sound card, he hacked together this lovely device. It shows up as a USB Audio Class 2.0 device so should work with just about anything, and offers 12-bit resolution and 4x oversampling to try and deal with USB noise with its 2-channel, 44.1 kHz sample rate.

Aside from the Pico, all you need is an LM324 op-amp IC and a handful of resistors and capacitors — [Veyniac] estimates about $10 to purchase the whole BOM. He claims that the captured audio sounds okay in his use, but can’t guarantee it will  be for anyone else, noise being the fickle beast that it is. We figure that sounding “Okay” has got to be pretty good, given that you usually get what you pay for — and again, [Veyniac] did build this in a cave with a box of scraps. Well, except for the cave part. Probably.

While the goal here was not to rival a commercial USB sound card, we have seen projects to do that. We’re quite grateful to [Omadeira] for the tip, because this really is a hack. If you, too, want a share of our undying gratitude (which is still worth its weight in gold, despite fluctuations in the spot price of precious metals), send in a tip of your own.

This Week In Security: That Time I Caused A 9.5 CVE, IOS Spyware, And The Day The Internet Went Down

Meshtastic just released an eye-watering 9.5 CVSS CVE, warning about public/private keys being re-used among devices. And I’m the one that wrote the code. Not to mention, I triaged and fixed it. And I’m part of Meshtastic Solutions, the company associated with the project. This is is the story of how we got here, and a bit of perspective.

First things first, what kind of keys are we talking about, and what does Meshtastic use them for? These are X25519 keys, used specifically for encrypting and authenticating Direct Messages (DMs), as well as optionally for authorizing remote administration actions. It is, by the way, this remote administration scenario using a compromised key, that leads to such a high CVSS rating. Before version 2.5 of Meshtastic, the only cryptography in place was simple AES-CTR encryption using shared symmetric keys, still in use for multi-user channels. The problem was that DMs were also encrypted with this channel key, and just sent with the “to” field populated. Anyone with the channel key could read the DM.

I re-worked an old pull request that generated X25519 keys on boot, using the rweather/crypto library. This sentence highlights two separate problems, that both can lead to unintentional key re-use. First, the keys are generated at first boot. I was made painfully aware that this was a weakness, when a user sent an email to the project warning us that he had purchased two devices, and they had matching keys out of the box. When the vendor had manufactured this device, they flashed Meshtastic on one device, let it boot up once, and then use a debugger to copy off a “golden image” of the flash. Then every other device in that particular manufacturing run was flashed with this golden image — containing same private key. sigh

Continue reading “This Week In Security: That Time I Caused A 9.5 CVE, IOS Spyware, And The Day The Internet Went Down”