[rasteri] holding his HIDMan USB dongle

HIDman Brings Modern Input To Vintage PCs

Retro computing enthusiasts, rejoice! HIDman, [rasteri]’s latest open source creation, bridges the gap between modern USB input devices and vintage PCs, from the IBM 5150 to machines with PS/2 ports. Frustrated by the struggle to find functioning retro peripherals, [rasteri] developed HIDman as an affordable, compact, and plug-and-play solution that even non-techies can appreciate.

The heart of HIDman is the CH559 microcontroller, chosen for its dual USB host ports and an ideal balance of power and cost-efficiency. This chip enables HIDman’s versatility, supporting serial mice and various keyboard protocols. Building a custom parser for the tricky USB HID protocol posed challenges, but [rasteri]’s perseverance paid off, ensuring smooth communication between modern devices and older systems.

Design-wise, the project includes a thoughtful circuit board layout that fits snugly in its case, marrying functionality with aesthetics. Retro computing fans can jump in by building HIDman themselves using the files in the GitHub repository, or by opting for the ready-made unit.

Continue reading “HIDman Brings Modern Input To Vintage PCs”

The Badge Hacks Of Supercon

We just got home from Supercon and well, it was super. It was great to see everyone, and meet a whole bunch of new folks to boot! The talks were great, and you can see a good half of them already on the Hackaday YouTube channel, so for that you didn’t even have to be there.

The badge hacks were, as with most years, out of this world. I’ll admit that my cheeks were sore from laughing so much after emceeing it this year, due in no small part to two hilarious AI projects, both of which were also righteous hacks in addition to full-on comedy routines. A group of six programmers got all of their hacks working together, and the I2C-to-MQTT bridge had badges blinking in sync even in the audience. You want blinkies? We had blinkies.

But the hack that warmed everyones’ hearts was “I figured it out” by [Connie]. Before this weekend, she had never coded MicroPython and didn’t know anything about I2C. But yet by Sunday afternoon, she made a sweet spiral animation on the LED wheel, and blinked the RGBs in the touchwheel.

What I love about the Hackaday audience is that, when the chips are down, someone doing something new for the first time is valued as much as some of the more showy work done by more experienced programmers. Hacking is also about learning and pushing out boundaries after all. The shouts for “I figured it out” were louder than any others in the graphics hacks category, it took home a prize, and I was smiling from ear to ear.

Hackaday can learn from this too. [Connie]’s hack definitely shows the need for another badge-hack category, first timers, because we absolutely should recognize first tries. There was also a strong petition / protest from people who had worked new hacks onto previous year’s badges – like [Andy] and [koppanyh]’s addition of bit-banged I2C to the Voja 4 badge from two years ago, and [Instant Arcade]’s Polar Pacman, which he named “Ineligible for this Competition” in protest. Touche.

We’re stoked to learn new things, see new hacks, and basically just catch up with everything folks did over the weekend. We can’t wait to see what you’re up to next year!

Nix + Automated Fuzz Testing Finds Bug In PDF Parser

[Michael Lynch]’s adventures in configuring Nix to automate fuzz testing is a lot of things all rolled into one. It’s not only a primer on fuzz testing (a method of finding bugs) but it’s also a how-to on automating the setup using Nix (which is a lot of things, including a kind of package manager) as well as useful info on effectively automating software processes.

[Michael] not only walks through how he got it all up and running in a simplified and usefully-portable way, but he actually found a buffer overflow in pdftotext in the process! (Turns out someone else had reported the same bug a few weeks before he found it, but it demonstrates everything regardless.)

[Michael] chose fuzz testing because using it to find security vulnerabilities is conceptually simple, actually doing it tends to require setting up a test environment with a complex workflow and a lot of dependencies. The result has a high degree of task specificity, and isn’t very portable or reusable. Nix allowed him to really simplify the process while also making it more adaptable. Be sure to check out part two, which goes into detail about how exactly one goes from discovering an input that crashes a program to tracking down (and patching) the reason it happened.

Making fuzz testing easier (and in a sense, cheaper) is something people have been interested in for a long time, even going so far as to see whether pressing a stack of single-board computers into service as dedicated fuzz testers made economic sense.

Exploring The Physics Behind Cooling Towers

A characteristic of any thermal power plant — whether using coal, gas or spicy nuclear rocks — is that they have a closed steam loop with a condenser section in which the post-turbine steam is re-condensed into water. This water is then led back to the steam generator in the plant. There are many ways to cool the steam in the condenser, including directly drawing in cooling water from a nearby body of water. The most common and more efficient way is to use a cooling tower, with a recent video by [Practical Engineering] explaining the physics behind these.

For the demonstration, a miniature natural draft tower is constructed in the garage from sheets of acrylic. This managed to cool 50 °C water down to 20 °C by merely spraying the hot water onto a mesh that maximizes surface area. The resulting counter-flow means that no fan or the like is needed, and the hyperboloid shape of the cooling tower makes it incredibly strong despite having relatively thin walls.

The use of a natural draft tower makes mostly sense in cooler climates, while in hotter climates having a big cooling lake may make more sense. We covered the various ways to cool thermal plants before, including direct intake, spray ponds, cooling towers and water-free cooling solutions, with the latter becoming a feature of new high-temperature fission reactor designs.

Continue reading “Exploring The Physics Behind Cooling Towers”

Retrotechtacular: Computer-Generate Video 1968 Style!

[Classic Microcomputers] read in a book that there was a computer-generated film made in the late 1960s, and he knew he had to watch it. He found it and shared it along with some technical information in the video below.

Modern audiences are unlikely to be wowed by the film — Permutations — that looks like an electronic spirograph. But for 1968, this was about as high tech as you could get. The computer used was an IBM mainframe which would have cost a fortune either to buy or to rent the hours it would take to make this short film. Now, of course, you could easily replicate it on even your oldest PC. In fact, we are surprised we haven’t seen any recreations in the demoscene.

Continue reading “Retrotechtacular: Computer-Generate Video 1968 Style!”

Ramsey Numbers And The Appearance Of Order In Random Numbers

Proof without words of the two-color case of Ramsey's theorem. (Credit: CMG Lee, Wikimedia)
Proof without words of the two-color case of Ramsey’s theorem. (Credit: CMG Lee, Wikimedia)

Generally when assuming a chaotic (i.e. random) system like an undirected graph, we assume that if we start coloring these (i.e. assign values) with two colors no real pattern emerges. Yet it’s been proven that if you have a graph with a certain set of vertices, coloring the resulting lines in this manner will always result in a clique forming. This phenomenon has been investigated for nearly a century now after its discovery by British mathematician [Frank P. Ramsey].

The initial discovery concerned a graph with 6 vertices, providing the lowest number of vertices required. Formally this is written as R(3, 3), with subsequent cases of these Ramsey numbers discovered. They are part of Ramsey theory, which concerns itself with the question of what the underlying properties are that cause this apparent order to appear, which requires us to discover more cases.

Finding the number for a particular instance of R(m, n) can be done the traditional way, or brute-forcing it computationally. Over the decades more advanced algorithms have been developed to help with the search, and people from different fields are mingling as they are drawn to this problem. So far the pay-off of this search are these algorithms, the friendships created and perhaps one day a deep insight in the causes behind this phenomenon that may have implications for physics, chemistry and other fields.

DIY Digital Caliper Measures Up

You might wonder why [Kevin] wanted to build digital calipers when you can buy them for very little these days. But, then again, you are reading Hackaday, so we probably don’t need to explain it.

The motivation, in this case, was to learn to build the same mechanism the commercial ones use for use in precise positioning systems. We were especially happy to see that [Kevin’s] exploration took him to a Hackaday.io project which led to collaboration between him and [Mitko].

Continue reading “DIY Digital Caliper Measures Up”