One File, Six Formats: Just Change The Extension

Normally, if you change a file’s extension in Windows, it doesn’t do anything positive. It just makes the file open in the wrong programs that can’t decode what’s inside. However, [PortalRunner] has crafted a file that can behave as six different filetypes, simply by swapping out the extension at the end of the filename.

The basic concept is simple enough. [PortalRunner] simply found a bunch of different file formats that could feasibly be crammed in together into a single file without corrupting each other or confusing software that loads these files.

It all comes down to how file formats work. File extensions are mostly meaningless to the content of a file—they’re just a shorthand guide so an operating system can figure out which program should load them. In fact, most files have headers inside that indicate to software what they are and how their content is formatted. For this reason, you can often rename a .PNG file to .JPEG and it will still load—because the operating system will still fire up an image viewer app, and that app will use headers to understand that it’s actually a PNG and not a JPEG at heart, and process it in the proper way.

[PortalRunner] found a way to merge the headers of various formats, creating a file that could be many different types. The single file contains data for a PNG image, an MP4 video, a PDF document, a ZIP archive, a Powerpoint presentation, and an HTML webpage. The data chunks for each format are lumped into one big file, with the combined headers at the very top. The hijinx required to pull this off put some limitations on what the file can contain, and the files won’t work with all software… but it’s still one file that has six formats inside.

This doesn’t work for every format. You can’t really combine GIF or PNG for example, as each format requires a different initial set of characters that have to be at the very beginning of the file. Other formats aren’t so persnickety, though, and you can combine their headers in a way that mostly works if you do it just right.

If you love diving into the binary specifics of how file formats work, this is a great project to dive into. We’ve seen similarly mind-bending antics from [PortalRunner] before, like when they turned Portal 2 into a webserver. Video after the break.

Continue reading “One File, Six Formats: Just Change The Extension”

Screenshot of audio noise graph

Whispers From The Void, Transcribed With AI

‘Hearing voices’ doesn’t have to be worrisome, for instance when software-defined radio (SDR) happens to be your hobby. It can take quite some of your time and attention to pull voices from the ether and decode them. Therefore, [theckid] came up with a nifty solution: RadioTranscriptor. It’s a homebrew Python script that captures SDR audio and transcribes it using OpenAI’s Whisper model, running on your GPU if available. It’s lean and geeky, and helps you hear ‘the voice in the noise’ without actively listening to it yourself.

This tool goes beyond the basic listening and recording. RadioTranscriptor combines SDR, voice activity detection (VAD), and deep learning. It resamples 48kHz audio to 16kHz in real time. It keeps a rolling buffer, and only transcribes actual voice detected from the air. It continuously writes to a daily log, so you can comb through yesterday’s signal hauntings while new findings are being logged. It offers GPU support with CUDA, with fallback to CPU.

It sure has its quirks, too: ghost logs, duplicate words – but it’s dead useful and hackable to your liking. Want to change the model, tweak the threshold, add speaker detection: the code is here to fork and extend. And why not go the extra mile, and turn it into art?

Tearing Down A Mysteriously Cheap $5 Fiber Optic To Cable TV Adapter

In his regular browsing on AliExpress, [Ben Jeffrey] came across something he didn’t understand—a $5 fiber optic to RF cable TV adapter. It was excessively cheap, and even more mysteriously, this thing didn’t even need power. He had to know how it worked, so he bought one and got down to tinkering with it.

Inside the device in question.

[Ben] needed some hardware to test the device with, so he spent $77 on a RF-to-fiber converter and a cheap composite-to-RF modulator so he could test the $5 fiber-to-RF part. A grand expenditure to explore a $5 device, but a necessary sacrifice for the investigation. Once [Ben] hooked up a fiber optic signal to the converter, he was amazed to see it doing its job properly. It was converting the incoming video stream to RF, and it could readily be tuned in on a TV, where the video appeared clean and true.

It was disassembly that showed how simple these devices really are. Because they’re one-way converters, they simply need to convert a changing light signal into an RF signal. Inside the adapter is a photodiode which picks up the incoming light, and with the aid of a few passives, the current it generates from that light becomes the RF signal fed into the TV. There’s no need for a separate power source—the photodiode effectively works like a solar panel, getting the power from the incoming light itself. The part is ultimately cheap for one reason—there just isn’t that much to it!

It’s a neat look at something you might suspect is complex, but is actually very simple. We’ve explored other weird TV tech before, too, like the way Rediffusion used telephone lines to deliver video content. Video after the break.

Clock Of Clocks Expands, Goes Digital

Some people just want to have their cake and eat it too, but very few of us ever get to pull it off. [Erich Styger] has, though with V5 of his “MetaMetaClock”— a clock made of clocks, that uses the orientation of the hands to create digits.

We’ve seen previous versions of this clock. As before, the build is exquisitely detailed and all relevant files are on GitHub. This version keeps the acrylic light-pipe hands of version 4, but adds more of them: 60 clocks vs 24. Larger PCBs are used, grouping the dual-shaft steppers into groups of four, instead of the individual PCBs used before. Each PCB has an NXP LPC845 (a Cortex M0 microcontroller) that communicates on an RS-485 bus. Placing four steppers per microcontroller reduces parts count somewhat compared to previous versions (which had each ‘clock’ on its own modular PCB) albeit at the cost of some flexibility.

While the last version used veneers on its face, this version is cut by CNC by from a large slab of oak. It’s certainly the most attractive version yet, and while bigger isn’t always better, more clock faces means more potential effects. Date? Time? Block letters? Arbitrary text? Kaleidoscopic colours from the RGB LEDs? It’s all there, and since it’s open source, anyone who builds one can add more options. A BLE interface makes it quick and easy to wirelessly switch between them or set the time.

It’s nice sometimes to watch projects like this improve incrementally over time. [Erich] mentions that he plans to add Wifi and a web-based user interface for the next version. We look forward to it, and are grateful to  [jicasi] for the tip. Just as it is always clock time at Hackaday, so you can always toss a tip of your own into the box.

Continue reading “Clock Of Clocks Expands, Goes Digital”

2025 One Hertz Challenge: The Real-Time Clock The VIC-20 Never Had

Like many early microcomputers, the Commodore VIC-20 did not come with an interna real-time clock built into the system. [David Hunter] has seen fit to rectify that with an add-on module as his entry to the 2025 One Hertz Challenge.

[David]’s project was inspired by a product that Hayes produced in the 1980s, which provided a serial-port based real-time clock solution for computers that lacked one on board. The heart of the project is an Arduino Uno, which itself uses a Dallas DS3231 RTC module to keep accurate time. [David] then drew from an IEC driver developed by [Lars Pontoppidan] for the MM2IEC project. This enables the Arduino to report the time to the VIC-20 via its IEC port.

The project is a neat way to provide a real-time clock source to programs written in Commodore BASIC. It’s also perfectly compatible with the IEC bus, so it can be daisy chained along with printers and disk drives without issue. [David] hasn’t tested it with a Commodore 64, but he suspects it should work just as well on that platform, too.

If you’ve ever wanted to build something clock-based for the VIC-20 but didn’t know how, this is a great piece of hardware to solve that problem. Meanwhile, you might find joy in reading about real-time clock hacks for other systems like the Raspberry Pi. Meanwhile, if you’re working on your own nifty timekeeping projects, don’t hesitate to let us know!

Hackaday Podcast Episode 332: 5 Axes Are Better Than 3, Hacking Your Behavior, And The Man Who Made Models

Elliot and Dan got together this week for a review of the week’s hacking literature, and there was plenty to discuss. We addressed several burning questions, such as why digital microscopes are so terrible, why computer systems seem to have so much trouble with names, and if a thermal receipt printer can cure ADHD.

We looked at a really slick 5-axis printer that COVID created, a temperature-controlled fermentation setup, and a pseudo-Mellotron powered by a very odd tape recorder. We also learned little about designing 3D printed parts with tight tolerances, stepping a PC power supply up to ludicrous level, and explored a trio of unique entries for the One Hertz Challenge.

And for the Can’t Miss section, we looked at what happens to planes when they get hit by lightning (and how they avoid it), and say goodbye to the man who launched a lot of careers by making model kits.

It was also exciting to learn that the first day of Supercon is Halloween, which means a Friday night sci-fi cosplay party. It’s gonna be lit.

Continue reading “Hackaday Podcast Episode 332: 5 Axes Are Better Than 3, Hacking Your Behavior, And The Man Who Made Models”

Talking Robot Uses Typewriter Tech For Mouth

Many decades ago, IBM engineers developed the typeball. This semi-spherical hunk of metal would become the heart of the Selectric typewriter line. [James Brown] has now leveraged that very concept to create a pivoting mouth mechanism for a robot that appears to talk.

What you’re looking at is a plastic ball with lots of different mouth shapes on it. By pivoting the ball to different angles inside the head of a robot, it’s possible to display different mouth shapes on the face. By swapping mouth shapes rapidly in concert with recorded speech, it’s possible to make the robot appear to be speaking. We don’t get a great look at the mechanism that operates the ball, but Selectric typeball operation is well documented elsewhere if you seek to recreate the idea yourself.

The real benefit of this mechanism is speed. It might not look as fluid as some robots with manually-articulated flexible mouths, but the rapid mouth transitions really help sell the effect because they match the pace of speech. [James] demonstrated the finished product on Mastodon, and it looks great in action.

This isn’t the first time we’ve featured [James Brown]’s work. You may recall he got DOOM running on a tiny LEGO brick a few years back.

Thanks to [J. Peterson] for the tip!