Tunneling TCP By File Server

You want to pass TCP traffic from one computer to another, but there’s a doggone firewall in the way. Can they both see a shared file? Turns out, that’s all you need. Well, that and some software from [fiddyschmitt].

If you think about it, it makes sense. Unix treats most things as a file, so it is pretty easy to listen on a local TCP port and dump the data into a shared file. The other side reads the file and dumps the same data to the desired TCP port on its side. Another file handles data in the other direction. Of course, the details are a bit more than that, but that’s the basic idea.

Performance isn’t going to be wonderful, and the files keep growing until the program detects that they are bigger than 10 megabytes. When that happens, the program purges the file.

The code is written in C# and there are binaries for Windows and Linux on the release page. The examples show using shared files via Windows share and RDP, but we imagine any sort of filesystem that both computers can see would work. Having your traffic stuffed into a shared file is probably not great for security but, you know, you are already jumping a firewall, so…

Of course, no firewall can beat an air gap. Unless you can control the fans or an LED.

Pasteurisation: Probably Why You Survived Childhood

There’s an oft-quoted maxim that youngsters growing up on farms have a much stronger immune system than those growing up in cities. The idea is that they are exposed to far more dirt and eat food much closer to the field than their urban cousins. Without the help of a handy microbiologist or epidemiologist it’s difficult to judge its veracity, but personal experience suggests that the bit about dirt may be true at least.

It’s Dangerous To Idealise The Past.

It’s likely that the idea of rural kids seeing more bugs may come from the idea that those in the cities consume sterile processed food from the supermarket, it plays into a notion of an idealised past in which a somehow purer diet came more directly from its source. Somehow so the story goes, by only eating pasteurised and preserved foods, city dwellers are eating something inferior, stripped of its goodness. There’s a yearning for a purer alternative, something supermarkets are only too happy to address by offering premium products at elevated prices. So, was the diet of the past somehow more wholesome, and are those kids having their future health ruined by Big Food? Perhaps it’s time to turn back the clock a little to find out.

A mostly black cow in a field of green grass
Even clean cows have bugs. Carolyn Parsons, CC BY-SA 4.0.

It’s likely everyone knows that food  spoils if left unattended for long enough. Some foods, such as grain, can last a long time if kept dry, while others such as milk will go bad quite quickly. Milk in particular goes bad for two reasons; firstly because it’s an excellent bacterial growth medium, and secondly because it contains plenty of bacteria by its very nature. Even very clean cows have bugs.

If you lived in most large cities in the nineteenth century, the Industrial Revolution had likely placed you far enough from the nearest cow that your milk had a significant journey to make to reach you even with up-to-date rail transport. Without refrigeration, during that journey it had become a bacterial soup to the extent that even though it might not yet have gone sour, it had certainly become a bacterial brew. It was thus responsible for significant numbers of infections, and had become a major health hazard. So much for the purer diet consumed by city kids of the past. Continue reading “Pasteurisation: Probably Why You Survived Childhood”

Programming Ada: Records And Containers For Organized Code

Writing code without having some way to easily organize sets of variables or data would be a real bother. Even if in the end you could totally do all of the shuffling of bits and allocating in memory by yourself, it’s much easier when the programming language abstracts all of that housekeeping away. In Ada you generally use a few standard types, ranging from records (equivalent to structs in C) to a series of containers like vectors and maps. As with any language, there are some subtle details about how all of these work, which is where the usage of these types in the Sarge project will act as an illustrative example.

In this project’s Ada code, a record is used for information about command line arguments (flag names, values, etc.) with these argument records stored in a vector. In addition, a map is created that links the names of these arguments, using a string as the key, to the index of the corresponding record in the vector. Finally, a second vector is used to store any text fragments that follow the list of arguments provided on the command line. This then provides a number of ways to access the record information, either sequentially in the arguments vector, or by argument (flag) name via the map.

Continue reading “Programming Ada: Records And Containers For Organized Code”

GlowBlaster Uses 405 Nm Laser To Make Its Mark

Ever wish you could do a little target shooting in a galaxy far, far away? Well then you’re in luck, as the Star Wars inspired GlowBlaster designed by [Louis Abbott] can help you realize those dreams with a real-life laser pistol — albeit a much weaker one than you’d want to carry into a Mos Eisley cantina.

Inside the 3D printed frame of the GlowBlaster is a 5 mW 405 nm module, an Arduino Nano, a speaker, a vibration motor, and a 9 V battery. When you pull the trigger, it pushes down on a 12 mm tactile button which causes the Arduino to fire the laser and sprinkle in a bit of theatrics by way of the speaker and vibration motor. There’s also a second button on the side of the blaster that lets you pick between firing modes.

Continue reading “GlowBlaster Uses 405 Nm Laser To Make Its Mark”

Old Dot-Matrix Displays Give Up Their Serial Secrets

If there’s one thing we like better around here than old, obscure displays, it’s old, obscure displays with no documentation that need a healthy dose of reverse engineering before they can be put to use. These Plessey dot-matrix displays are a perfect example of that.

We’re not sure where [Michael] scored these displays, but they look fantastic. Each 8-pin DIP has two 5×7-matrix, high-visibility LED displays. They bear date codes from the late 80s under the part number, GPD340, but sadly, precious little data about them could be dredged up from the Interwebz. With 70 pixels and only six pins after accounting for power and ground, [Michael] figured there would be a serial protocol involved, but which pins?

He decided to brute-force the process of locating them, using a Pico to sequentially drive every combination while monitoring the current used with a current sensor. This paid off after only a few minutes, revealing that each character of the display has its own clock and data pins. The protocol is simple: pull the clock and data pins high then send 35 bits, which the display sorts out and lights the corresponding pixels. The video below shows a 12-character scrolling display in action.

Plessey made a lot of displays for military hardware, and these chunky little modules certainly have a martial air about them. Given that and the date code, these might have come from a Cold War-era bit of military hardware, like this Howitzer data display which sports another Plessey-made display.

Continue reading “Old Dot-Matrix Displays Give Up Their Serial Secrets”

A Human-Sized Strowger Telephone Exchange

A large hacker camp such as EMF 2024 always brings unexpected delights, and one of those could be found in the Null Sector cyberpunk zone: a fully functional Strowger mechanical telephone exchange. Better still, this wasn’t the huge array of racks we’ve come to expect from a mechanical exchange, but a single human-sized unit, maybe on a similar scale to a large refrigerator. [LBPK]’s PAX, or Private Automatic Exchange, is a private telephone network, 1950s style.

It stood at the back of the container, with a row of four telephones in front of it. We particularly liked the angular “Trimphone”, the height of 1960s and 70s chic. You could dial the other phones in the network with a two digit number, and watch the exchange clicking in the background as you did so. Some of the sounds weren’t quite the same as the full-sized equivalents, with the various tones being replaced by vibrating reeds.

This exchange has an interesting history, being built in 1956 by “Automatic Telephone & Electric” for the Midlands Electricity Board, power generator for much of central England, where it served its commercial life. On decommissioning it went to the Ffestiniog narrow gauge railway, in Wales. He was lucky enough to learn of its existence when the Ffestiniog had no further use for it, and snapped it up.

We have to admit, we want one of these, however he makes clear that it’s an unwieldy machine that requires quite some attention so a Hackaday mechanical exchange will have to remain a dream for now.

Gears Are Old And Busted, Capstans Are Cool

Zero backlash, high “gear” reduction, high torque transparency, silent operation, and low cost. What is this miracle speed reduction technology, you ask? Well, it’s shoelaces and a bunch of 3D printed plastic, at least in [Aaed Musa]’s latest installment in his series on developing his own robot dog.

OK, the shoelaces were only used in the first proof of concept. [Aaed] shortly upgrades to steel cable, and finds out that steel fatigues and snaps after a few hours. He settles on Dyneema DM-20, a flexible yet non-stretching synthetic rope.

Before it’s all over, he got a five-bar linkage plotting with a pencil on the table and a quadriped leg jumping up and down on the table — to failure. All in all, it points to a great future, and we can’t wait to see the dog-bot that’s going to come out of this.

There’s nothing secret about using capstan drives, but we often wonder why we don’t see cable-powered robotics used more in the hacker world. [Aaed] makes the case that it pairs better with 3D printing than gears, where the surface irregularities really bind. If you want to get a jumpstart, the test fixture that he’s using is available on GitHub.

Continue reading “Gears Are Old And Busted, Capstans Are Cool”