Polyglots, in computing terms, are files have multiple valid meanings. We’ve seen some amazing examples of polyglot files in releases of The International Journal of PoC||GTFO. One example: a PDF that is also a ZIP, HTML file, and BPG image.
[Vi Grey] was inspired by PoC||GTFO’s release of a PDF/ZIP/NES ROM hybrid file for issue 0x14. Using a different method, [Vi] created a file which is both an NES ROM and ZIP, where the full contents of the ZIP are stored in the NES ROM.
When PoC||GTFO created their NES ROM polyglot, they stuck most the information outside the bounds of the NES ROM. While the file is valid, you’d lose the ZIP archive if it was burnt to a cartridge.
[Vi]’s polyglot is different. Rip it from a real NES cartridge and you get a ZIP file. Unzip it, and you get the source. Compile that source, and you get a valid ZIP file containing the source. Burn that to a cartridge and… hopefully you grok the recursion at this point.
The source and scripts to mangle the polyglot together are up on Github.
Increasingly these days drones are being used for urban surveillance, delivery, and examining architectural structures. To do this autonomously often involves using “map-localize-plan” techniques wherein first, the location is determined on a map using GPS, and then based on that, control commands are produced.
A neural network that does steering and collision prediction can compliment the map-localize-plan techniques. However, the neural network needs to be trained using video taken from actual flying drones. But generating that training video involves many hours of flying drones at street level putting vehicles and pedestrians at risk. To train their DroNet, Researchers from the University of Zurich and the Universidad Politecnica de Madrid have come up with safer sources for that video, video recorded from driving cars and bicycles.
DroNet
For the drone steering predictions, they used over 70,000 images and corresponding steering angles from the publically available car driving data from Udacity’s Open Source Self-Driving project. For the collision predictions, they mounted a GoPro camera to the handlebars of a bicycle and drove around a city. Video recording began when the bicycle was distant from an object and stopped when very close to the object. In total, they collected 32,000 images.
To use the trained network, images from the drone’s forward-facing camera were fed into the network and the output was a steering angle and a probability of collision, which was turned into a velocity. The drone remained at a constant height above ground, though it did work well from 1.5 meters to 5 meters up. It successfully navigated road lanes and avoided moving pedestrians and bicycles. Intersections did confuse it though, likely due to the open spaces messing with the collision predictions. But we think that shouldn’t be a problem when paired with map-localize-plan techniques as a direction to move through the intersection would be chosen for it using the location on the map.
As you can see in the video below, it not only does a decent job of flying down lanes but it also flies well in a parking garage and a hallway, even though it wasn’t trained for either of these.
We’ve all been there — a steamy night in the rainforest of Papua New Guinea, sweaty slumber disturbed by the unmistakable sounds of gnawing. In the morning we discover that a rodent of unusual tastes has chewed the microphone cable of our transceiver right half in two, leaving us out of touch with base camp. If we had a nickel for every time that’s happened.
It may sound improbable, but that’s the backstory behind [Marius Taciuc]’s 3D-printed mic cord repair. Even with more mundane failure modes, the retractile cords on microphones are notoriously difficult to fix. Pretty much any of the usual suspects, like heat-shrink tubing or electrical tape, are going to do very little to restore the mechanical stability lost once that tough outer jacket is breached. [Marius]’s solution was to print as small an enclosure as possible to mechanically support the splice. The fit is tight, but there was just enough room to solder the wires and stuff everything back in place. Cable ties provide strain relief where the cord exits the splice, and a liberal squirt of hot glue pots the joint. It’s not perfect — we’ll bet the splice acts as a catch point and gets a little annoying after a while — but if it gets you back on the air fast and cheap, it probably makes sense.
[Marius] entered this rat-race beating hack into the Repairs You Can Print contest. Do you have an epic repair that was made possible by a 3D printer? Let the world know about it and you might just win a prize.
Model railways are a deep and rewarding hobby, and the mechanisms involved can be both surprisingly intricate and delightful. A great example that may surprise the unfamiliar is that of model train carriages, such as coal cars, that are capable of both receiving and dumping a load at various points on a model layout. This adds realism and, if we’re honest, just plain old fun.
This is the perfect example of a tidy repair executed through 3D printing. The broken part was extremely detailed and would be difficult and expensive to repair or fabricate through other measures. However, through the power of 3D printing, all that’s required is a 3D modelling job and a few hours to print it.
It’s a great entry into our Repairs You Can Print challenge, and covers the fundamentals of modelling and iterative design well. Got a neat repair you’ve done yourself? Document it on Hackaday.io and enter yourself!
The Casio SK-1 keyboard is fairly well-known in the “circuit bending” scene, where its simple internals lend themselves to modifications and tweaks to adjust the device’s output in all sorts of interesting ways. But creating music via circuit bending the SK-1 can be tedious, as it boils down to fiddling with the internals blindly until it sounds cool. [Nick Price] wanted to do something a bit more scientific, and decided to try replacing his SK-1’s ROM with an Arduino so he could take complete control it.
Replacing the ROM chip with header pins.
That’s the idea, anyway. Right now he’s gotten as far as dumping the ROM and getting the Arduino hooked up in place of it. Unfortunately the resulting sound conjures up mental images of a 56K modem being cooked in a microwave. Clearly [Nick] still has some work ahead of him.
For now though, the progress is fascinating enough. He was able to pull the original NEC 23C256 chip out of the keyboard and read its contents using an Arduino and some code he cooked up, and he’s even put the dump online for any other SK-1 hackers out there. He then wrote some new code for the Arduino to spit data from the ROM dump back to the keyboard when requested. In theory, it should sound the same as before, but with the added ability to “forge” the data going back to the keyboard to make new sounds.
The result is what you hear in the video linked after the break. Not exactly what [Nick] had in mind. After some snooping with the logic analyzer, he believes the issue is that the Arduino can’t respond as fast as the original NEC chip did. He’s now got an NVRAM chip on order to replace the original NEC chip; the idea is that he can still use the Arduino to reprogram the NVRAM chip when he wants to play around with the sound.
A few years ago, [Brieuc]’s car blew a fuse. He went to replace it, which unfortunately means removing the entire glove box. In his haste to get his baby back on the road, he accidentally broke one of the clips that holds the glove box on the dashboard.
[Brieuc] tried to just glue the thing back together, but it didn’t hold because the part has to flex a little bit for people who need to get into the fuse box. No one seems to offer a replacement for this small but vital hunk of plastic, though he did find someone offering total glove box replacements at highway robbery prices. Since there was still one good clip, he used it to design and print a strong ABS replacement.
This is a great example of the one-off utility of 3D printers. [Brieuc] didn’t need an exact copy, and since he was replacing an injection-molded part with additive manufacturing, he had the freedom to start with a bare-bones design, make adjustments as needed, and iterate until he got it right. It didn’t take long. The layer orientation of the first print made the legs too weak, but that’s a simple fix. The second version has lasted for three years and counting.
When is a hot glue stick not a hot glue stick? When it’s PLA, of course! A glue gun that dispenses molten PLA instead of hot glue turned out to be a handy tool for joining 3D-printed objects together, once I had figured out how to print my own “glue” sticks out of PLA. The result is a bit like a plus-sized 3D-printing pen, but much simpler and capable of much heavier extrusion. But it wasn’t quite as simple as shoving scrap PLA into a hot glue gun and mashing the trigger; a few glitches needed to be ironed out.
Why Use a Glue Gun for PLA?
Some solutions come from no more than looking at two dissimilar things while in the right mindset, and realizing they can be mashed together. In this case I had recently segmented a large, hollow, 3D model into smaller 3D-printer-sized pieces and printed them all out, but found myself with a problem. I now had a large number of curved, thin-walled pieces that needed to be connected flush with one another. These were essentially butt joints on all sides — the weakest kind of joint — offering very little surface for gluing. On top of it all, the curved surfaces meant clamping was impractical, and any movement of the pieces while gluing would result in other pieces not lining up.
An advantage was that only the outside of my hollow model was a presentation surface; the inside could be ugly. A hot glue gun is worth considering for a job like this. The idea would be to hold two pieces with the presentation sides lined up properly with each other, then anchor the seams together by applying melted glue on the inside (non-presentation) side of the joint. Let the hot glue cool and harden, and repeat. It’s a workable process, but I felt that hot glue just wasn’t the right thing to use in this case. Hot glue can be slow to cool completely, and will always have a bit of flexibility to it. I wanted to work fast, and I wanted the joints to be hard and stiff. What I really wanted was melted PLA instead of glue, but I had no way to do it. Friction welding the 3D-printed pieces was a possibility but I doubted how maneuverable my rotary tool would be in awkward orientations. I was considering ordering a 3D-printing pen to use as a small PLA spot welder when I laid eyes on my cheap desktop glue gun.