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.

Fail of the Week: Careful Case Mod is all for Naught

Today’s entry comes to us from [Robert Tomsons], who was kind enough to document this crushing tale of woe so that we might all learn what true heartbreak is. If you’ve ever toiled away at getting that perfect surface finish with body filler, this one is going to hurt. In fact, you might just want to hit that “Back” button and head to safety now. There’s probably a pleasant story about some 3D printed thing being used with a Raspberry Pi of some sort that you can read instead.

For those of you brave enough to continue on, today we’ll be looking at what [Robert] thought would be a simple enough project. Seeing the board from a USB 3.0 external hard drive kicking around his parts bin, he had a rather unusual idea. Wanting to add an extra drive to his computer, but liking the idea of being able to independently control its power, he decided to integrate the external drive into machine’s front panel. This would not only allow him to power off the secondary drive when not in use, but it meant he could just plug his laptop into the front panel if he wanted to pull files off of it.

All [Robert] needed to do was make it look nice. He carefully squared off the edges of the external drive’s back panel to roughly the size of the computer’s 3.5 inch drive bay opening. He then glued the piece in place, and began the arduous task of using body filler to smooth everything out. It’s a dance that many a Hackaday reader will know all too well: filler, sand, primer, sand, filler, sand, primer, sand, so on and so on. In the end, the final result looked perfect; you’d never have thought the front panel wasn’t stock.

It should have been so easy. Just snap the case back together and be done with it. But when [Robert] finally got the machine buttoned back up and looked at the front, well, it’s safe to say his day couldn’t get much worse. Maybe the glue was not up to the task. Perhaps it was how excited he was to get the case put back together; a momentary loss of muscular coordination. A few extra foot-pounds of energy per second, per second. Who can say?

[Robert] says he’ll return to the project, but for now he needs a break. We agree. Interestingly, he mentions in his post that his body filler work was inspired by [Eric Strebel], a name that is well known around these parts. Considering how good it looked before it exploded, we’ll consider that high praise.

Old Laptop? Mobile x86 Game System!

Between smartphones and tablets, computing is becoming increasingly mobile in nature. It used to be that everyone had a desktop computer, then laptops became the norm, and now many people don’t have anything beyond their mobile device. Unless you’re the kind of person who actually needs the power and versatility offered by a “real” computer, mobile devices are simply a more convenient option to browse the web and consume content.

But what if your needs are somewhere in the middle? You want an x86 computer and full operating system, but you also want something that’s more mobile than a tablet? If you’re like [mnt], you take an old Atom laptop that’s on its last legs and rebuild it as the Hacktop.

[mnt] describes the Hacktop as an “Emergency Gaming/Hacking Station”, and says he uses it everywhere he goes. Inspired by his Nintendo DSi, gaming controls are front-and-center on the Hacktop and he uses the machine to play everything from Half-Life to classic emulators.

But the Hacktop is capable of more than just playing Amiga games. The hand-soldered QWERTZ keyboard can be used with his thumbs, and the D-Pad doubles as the cursor keys. There’s a laptop touch pad on the back of the case, and the ten-inch LCD display is a touch screen as well. Definitely no shortage of input devices on this thing. It’s also packing some interesting special features, such as integrated RTL-SDR and LIRC hardware for mobile exploration and experimentation. [mnt] says the nine-cell battery should keep it alive and kicking for twelve hours or so, but it of course depends on what kind of stuff he gets into while out and about.

Hackers have been building their own mobile devices for a long time, and we’re always struck by the creative approaches individuals take compared to the rather cookie-cutter world of mobile consumer technology.

DDL-4 Is A Visually Pleasing Modular CPU

Today’s CPUs are so advanced that they might as well be indistinguishable from magic, right? Wrong! Fundamentally, modern CPUs can be understood logically like any other technology, it’s just that they’re very fast, very small, and very complex, which makes it hard to get to grips with their inner workings. We’ve come a long way from the dawn of the home computer in the 80s, but what if there was something even simpler again, built in such a way as to be easily understandable? Enter the DDL-4-CPU, courtesy of [Dave’s Dev Lab].

The DDL-4 is a project to build a modular 4-bit CPU using bitslice methods. This is where computations are broken down into simple operations with two-bit inputs, which are executed with basic logic gates like NOR and XOR. This is great for building a CPU from individual parts, as logic chips are readily available and their operation is readily understood. That’s what’s used here – good old 74-series logic, which you can find just about anywhere!

The build consists of a series of modules, each on its own colourful PCB and labeled on the silkscreen. These modules can then be configured and plugged together with edge connectors to build the CPU. The work builds upon [Dave]’s earlier work on the Mega-One-8-One, a recreation of the 74181 Arithmetic Logic Unit for educational purposes.

If you’re learning about computing in a bare-metal sense, projects like these that create CPUs from the ground up are a great way to get to grips with the basic concepts of computation. Once you’ve tried this, you could always graduate to building a 6502 in Minecraft.

Sunny Custom Keyboard Illuminates the Past

Ever wonder why keyboard number pads and telephone dials have reversed layouts? Theories abound, but the most plausible one is that, shrug, it just happened that way. And now we’re stuck with it.

Well, that answer’s not good enough for [Jesse], so he punched up his own keyboard design that combines the golden years of function-rich Sun and IBM keyboards with Ma Bell’s DTMF number arrangement. That’s right, Sundial has 24 function keys total, and the number pad matches Ma Bell’s all the way down to the asterisk/zero/octothorpe pattern on the bottom row. How do we know what the unlabeled ones are, you ask? It’s all mapped out in this layout editor. We love that it has all the key lock indicator lights, because that practice should’ve never faded out in the first place.

Though inspired by this beautiful unicorn of an Arduino keyboard we covered a few months ago, the Sundial uses a Teensy 2.0 to translate [Jesse]’s Cherry MX clone-driven wishes into software commands. It’s also painstakingly hand-wired, so here’s the build log for you to drool over. Just cover up your keyboard first.

ESP8266 Home Computer Hides Unexpected Gems

With a BASIC interpreter and free run throughout their hardware, home computers like the ZX Spectrum and Commodore 64 used to be a pervasive way to light that hacker fire. With the advent of cheap single board computers like the Raspberry Pi, devices purpose built to emulate these classic systems have become fairly commonplace. [uli] built a device in this vein called the BASIC Engine which is driven by a microcontroller and a handful of hardware peripherals. Like other examples it can be attached to a keyboard, programmed in a BASIC, play video and sound, etc. But digging into the BASIC Engine reveals that it’s similarity to other devices is only skin deep.

The current version of the BASIC Engine (“rev2”) lives in a Raspberry Pi 3 case for convenience. It has RCA connectors for NTSC or PAL video output and mono audio, plus a bank of headers to tap into GPIOs, connectors for a keyboard, and more. [uli] wanted to aim for extreme low cost so a relatively beefy board like a Raspberry Pi didn’t fit the bill, and we expect it was an enjoyable challenge. Instead its interpreter runs atop an ESP8266 but with the networking stack removed. [uli] was disheartened by how bloated even a “Hello world” program was and ripped it out, discovering that hidden beneath was a very powerful and disproportionately inexpensive general purpose microcontroller. The video is driven by a VS23S010, sold as a 1 Mbit parallel SRAM with a neat trick; it also includes a composite video controller!

The real treat here is [uli]’s history writeup of how the BASIC Engine came to be. We’d recommend brewing a cup of coffee and sitting down for a full read-through. The first version was inspired by the PlayPower project, which was repurposing clones of Nintendo’s Famicom (NES to Americans) game console to make low cost home computers, complete with keyboard and gamepad input. [uli] started out by building a custom cartridge for a particular Famicom clone that ran a BASIC interpreter but after showing it to disinterested adults the project was left fallow. Years later, [uli] was encouraged to pick up the project again, leading down a twisted rabbit hole to where we are today.

If you want to build a BASIC Engine for yourself, Gerbers and build instructions are available on the pages linked above.

Thanks for the tip [antibyte]!

Wired and IBM Explain Quantum Computing to Students from Grade School to Grad School

Have you ever heard the old axiom that if you want to design a simple system, ask yourself if your grandmother could use it? Maybe that was on Wired’s mind because they asked a quantum computing expert — particularly IBM’s [Dr. Talia Gershon] — to explain what exactly quantum computing is at 5 levels. In the video they shot, which you can see below, [Dr. Gershon] talks to a younger child, a teenager, an undergraduate computer science student, a graduate student, and then a physicist.

We enjoyed some of the analogies of spinning pennies and the way she was able to bring the topic to an appropriate level for each of the participants. Truthfully, the final segment with the physicist ([Dr. Steven Girvin] was more of a conversation than an explanation, but it was interesting to hear his views on fault tolerance and how likely certain things were to occur in the near future.

Continue reading “Wired and IBM Explain Quantum Computing to Students from Grade School to Grad School”