Hard(er) Drives: Impractical, Slow, Amazing, And Incredible

Computer memory is a problem that has been solved for many years. But early on, it was more than just a small problem. We’ve many of the different kinds at Hackaday over the years, and we’ll link to some of them later on. But one of the original types of memory was called Delay Line memory, which worked by waiting for a signal to propagate slow enough through a device that it was essentially stored in the device. This was highly inefficient, but still a neat concept- one that [Tom7] has taken to entirely new levels of amazing and impractical as seen in the video below the break.

Such factors as “harm to society” are artfully considered

Starting with a demonstration of orbiting chainsaws, he then moves on to explaining how radio propagation waves could be used to temporarily store data while it’s in transit. He missed the opportunity to call it cloud storage, but we’ll forgive him. Extrapolating that further, he decided to use the Entire Internet to store data without its permission, utilizing large ICMP packets and even making it available as block storage in Linux.

Not content to use the entire Internet to store a few kb of data, he moved on to several thousand virtualized NES game systems which are all playing “an inventory management survival horror game” commonly known as Tetris. [Tom7] deconstructs Tetris, analyzing its Random Number Generator, gaming the system to store data in virtual NES consoles by the thousands. What data did he store? The source code to Tetris for the NES. And what did he do with it? Well, he mounted it and ran the program, of course!

The last Harder Drive we’ll leave for those who want to watch the video, because it’s a bit on the “ewww gross!” side of things but is also a bit less successful due to some magic smoke being released.

If none of these things we’ve mentioned were enough, then watch the video for an excellent breakdown of the cost, efficiency, and even the harm to society. For fun, he also tosses blockchain into the mix to see how it fares against the Harder Drives. There’s also at least one easter egg in the video, and the whimsical discussion of engineering is both entertaining and inspiring. How would you implement a Harder Drive?

[Tom7] also gives you the opportunity to follow along with the fun and mayhem by making much of the code available for your perusal. For more fun reading, check out this walk down computer memory lane that we covered last year, as well as a look into Acoustic Delay Line memory.

Continue reading “Hard(er) Drives: Impractical, Slow, Amazing, And Incredible”

That Clock On The Wall Is Actually A Network Ping Display

We’ve all been online from home a bit more than usual lately, in ways that often stretch the limits of what our ISP can muster. You know the signs — audio that drops out, video sessions that make you look like [Max Headroom], and during the off-hours, getting owned in CS:GO by pretty much everyone. All the bandwidth in the world won’t make up for high latency, and knowing where you stand on that score is the point of this ping-tracking clock.

This eye-catching lag-o-meter is courtesy of [Charl], who started the build with a clock from IKEA. Stripped of pretty much everything but the bezel, he added a coaxial clock motor and a driver board, along with a custom-printed faceplate with logarithmic scale. The motors are driven by an ESP32, which uses internet control message protocol (ICMP) to ping a trusted server via WiFi, calculates the proper angles for the hands, and drives the motors to show you the bad news. There’s also an e-paper display in the face, showing current server and WiFi settings.

We really like how this clock looks, and if it wasn’t for the fact that the numbers it displays would often be too depressing to bear, we’d build one in a snap. If facing the painful truth isn’t your style, there are other neat ICMP tricks that you can try instead.

An Entire Computer In ICMP Packets

The earliest stored program computer in the modern sense was not one of the names such as ENIAC or Colossus that you might expect, but the Manchester Baby, an experimental prototype computer built at the University of Manchester in 1948. Its 550 tubes gave it the multi-rack room-filling size common to 1940s machines, but its architecture makes it a comparatively simple processor by the standards of today. So simple in fact, that [Hrvoje Čavrak] has recreated it using ICMP packets as its storage, and a custom packet filter as its processor emulation. It’s a project that’s simultaneously both elegant and gloriously pointless, but as he says, “It’s still better than doing drugs or JavaScript”.

The result simulates the Baby’s combined storage and display tube in a dump of the network traffic, and gives an excellent excuse to read up about its operation. The tiny instruction set brings to mind today’s RISC architectures, but this is illusory as the designers of 1948 would have had less of an eye towards clock cycles than they would have towards the machine working at all in the first place.

If early computers tickle your fancy it may be worth taking a while to read about the UK’s National Museum of Computing, and then about Colossus, the primordial electronic computer.

Header: Geni, CC BY-SA 4.0.

Measuring Web Latency In The Browser

We’ll go out on a limb and assume that anyone reading these words is probably familiar with the classic ping command. Depending on which operating system you worship the options might be slightly different, but every variation of this simple tool does the same thing: send an ICMP echo request and wait for a response. How long it takes to get a response from the target, if it gets one at all, is shown to the user. This if often the very first step to diagnosing network connectivity issues; if this doesn’t work, there’s an excellent chance the line is dead.

But in the modern web-centric view of networking, ping might not give us the whole picture. But nature it doesn’t take into account things like DNS lookups, and it certainly doesn’t help you determine what (if any) services the target has available to you. Accordingly, [Liu Zhiyong] has come up with a tool he calls “pingms”, which allows you to check web server latency right from your browser.

Rather than relying on ICMP, pingms performs a more realistic test. It takes the list of targets from the file “targets.js” and connects to each one over HTTP. How does it work? The code [Liu] has come up with will take each target domain name, append a random number to create a gibberish filename, and then calculate how long it takes to get a response when trying to download the file. Obviously it’s going to be getting a 404 response from the web server, but the important thing is simply that it gets the response.

With this data, [Liu] has come up with a simplistic but very slick interface which shows the user the collected data with easy to understand color-coded graphs. As interesting as it is to see how long it takes your favorite web sites or service providers to wake up and start talking, watching the colored bars hop up and down the list to sort themselves is easily our favorite part of pingms.

[Liu] has released pingms under the GPLv3 license, so if you’re looking to utilize the software for your own purposes you just need to provide a list of test targets. If you need to perform low-level diagnostics, check out this handy network tester you can build for cheap.

Tunneling IP Traffic Over ICMP

icmptx

We all hate it when we find an unencrypted WiFi network at our favorite coffee shop, restaurant, airport, or other venue, only to discover that there are traffic restrictions. Most limited networks allow HTTP and HTTPS traffic only, or so is the common misconception. In the majority of cases, ICMP traffic is also allowed, permitting the users to ping websites and IP addresses. You may be asking, “Ok, so why does that matter?” Well, all of your IP traffic can be piped through an ICMP tunnel, disguising all your surfing as simple ping packets. [Thomer] has a detailed guide on how to create and utilize such a tunnel using ICMPTX. So the next time you are at the local cafe and want to fire up VLC to watch TV shows from your home PC, give this guide a quick read.