Watch A Web Page Fetch Itself Over TLS, Complete With Commentary

TLS, byte by byte performs an unusual and interesting function: it fetches itself over HTTPS, and provides a complete annotation of what’s going on in the process, one byte at a time. Visit the site and give the button a click to watch it happen, it’s neat!

Transport Layer Security (TLS) is what’s responsible for encrypting traffic over the internet, and it’s normally implemented on top of TCP to encrypt an application-layer protocol like HTTP (resulting in HTTPS and the little padlock icon in browsers indicating a connection with a web site is encrypted.) Back in the day, traffic over the internet was commonly unencrypted, but nowadays no communication or hardware is too humble for encryption and methods are easily accessible.

So for what purpose would someone actually need or use such an implementation of TLS? Well, probably no one actually needs it. But it is a userspace TLS implementation in javascript that may fit a niche for someone, and it certainly provides beautifully-indented and annotated binary data in the process. Sound up your alley? The GitHub repository for the project has all the details, so give it a look.

Robotic Coffee Comes To Brooklyn, But Will It Stay?

Robots are cool. Everyone knows it, and [Eater NY] highlights a coffee shop with a robotic server opening in Brooklyn. While robots able to prepare and serve drinks or food is not new, it isn’t every day a brick-and-mortar cafĂ© with a robot behind the counter opens up. But expensive automation isn’t the only puzzle piece needed to make a location work.

A robotic coffee shop (like a robotic burger joint) certainly offers novelty, but can it sustain itself beyond that?

As one example, the linked article above points out that the city of New York prohibits entirely cashless businesses. Establishments must accept cash payments, and it’s unclear how the touchscreen-driven system would comply with that requirement.

There are also many tasks involved in running even a modest establishment — loading, cleaning, and maintaining for example — that can’t be realistically taken care of by an immobile robot barista. It’s unclear to what extent the robotic coffee shop will employ human staff, but it’s clear that human involvement is something that isn’t going be eliminated any time soon.

Some of you may remember the robotic burger joint that our own Brian Benchoff managed to check out, and many of his same observations come to mind. The robot burger was perhaps ahead of its time (its single location is listed as closed on Google maps with no recent activity) but maybe the robot coffee place can make it work. Still, expensive automation is only one piece of a system, and the ability to crank out a drink per minute 24/7 might not actually be the missing link.

Here’s How To Build A Tiny Compiler From Scratch

Believe it or not, building a tiny compiler from scratch can be as fun as it is accessible. [James Smith] demonstrates by making a tiny compiler for an extremely simple programming language, and showing off a hello world.

Here’s what happens with a compiler: human-written code gets compiled into low-level machine code, creating a natively-executable result for a particular processor. [James]’ compiler — created from scratch — makes native x64 Linux ELF binary executables with no dependencies, an experience [James] found both educational and enjoyable. The GitHub repository linked below has everything one needs, but [James] also wrote a book, From Source Code to Machine Code, which he offers for sale to anyone who wants to step through the nitty-gritty.

The (very tiny) compiler is on GitHub as The Pretty Laughable Programming Language. It’s tiny, the only data types are integers and pointers, and all it can do is make Linux syscalls — but it’s sufficient to make a program with. Here’s what the code for “Hello world!” looks like before being fed into the compiler:

; the write() syscall:
; ssize_t write(int fd, const void *buf, size_t count);
(syscall 1 1 "Hello world!\n" 13)
0

Working at such a low level can be rewarding, but back in the day the first computers actually relied on humans to be compilers. Operators would work with pencil and paper to convert programs into machine code, and you can get a taste of that with a project that re-creates what it was like to program a computer using just a few buttons as inputs.

Learn How Impossibly Close-fitting Parts Are Actually Made

Most of us have seen those demonstrations of metal parts that mate together so finely that, once together, they have no visible seam at all. But how, exactly, is this done? [Steve Mould] has a video that shows and explains all, and we’ve never seen the process explained quite like he does.

The secret ingredient is wire EDM, or Electrical Discharge Machining, but that’s only one part of the whole. Wire EDM works a bit like a hot-wire cutter slicing through foam, but all by itself that’s not enough to produce those impossibly close-fitting parts we love to see.

EDM is capable of astounding precision in part because — unlike a cutting tool — nothing physically contacts the material. Also, there isn’t a lot of friction and heat causing small distortions of the material during the machining process. EDM is as a result capable of fantastically-precise cuts, but not invisible ones.

It’s pretty neat to see a water jet used to thread the fine wire through the workpiece.

In all good manufacturing, the capabilities (and limitations) of the tool are taken into account, and this is also true for making those close-fitting pieces. The hole and plug are actually made in two separate stages.

The hole is cut separately from the plug, and because EDM is capable of such finesse, the cuts can be made in such a way that they complement one another with near-perfection. After that, grinding and polishing takes care of the surface finish. The result is the fantastically-smooth and apparently seamless fitment we like so much.

The video is embedded below, and there are some great details about EDM and how it actually works in there. For example, we see how a wire EDM machine can use a jet of water to help thread the wire through a hole in the part to start a job, and we learn that the wire is constantly moving during the process.

As cool as wire EDM is, it is not magic and we’ve seen some pretty remarkable efforts at bringing the technology into the home workshop.
Continue reading “Learn How Impossibly Close-fitting Parts Are Actually Made”

MIDI Interface For NeXTcube Plugs Into The Past

[Joren] recently did some work as part of an electronic music heritage project, and restored an 80s-era NeXTcube workstation complete with vintage sound card, setting it up with a copy of MAX, a graphical music programming environment. But there was one piece missing: MIDI. [Joren] didn’t let that stop him, and successfully created hardware to allow MIDI input and output.

The new panel provides all the connectors necessary to interface with either classic MIDI devices, or MIDI over USB (where it appears as a USB MIDI device to any modern OS.)

Interestingly, the soundcard for the NeXTcube has an RS-422 serial port and some 8-pin mini DIN connectors. They are not compatible with standard MIDI signals, but they’re not far off, either.

To solve this, [Joren] used a Teensy developer board to act as an interface between classic MIDI devices like keyboards or synthesizers (or even not-so-common ones like this strange instrument) while also being able to accommodate modern MIDI over USB connections thanks to the Teensy’s USB MIDI functionality.

A metal enclosure with a 3D-printed panel rounds out the device, restoring a critical piece of functionality to the electronic music-oriented workstation.

MIDI as a protocol isn’t technically limited to musical applications, though that’s one place it shines. And just in case it comes in handy someday, you can send MIDI over I2C if you really need to.

DIY Programmable Guitar Pedal Rocks The Studio & Stage

Ever wondered how to approach making your own digital guitar effects pedal? [Steven Hazel] and a friend have done exactly that, using an Adafruit Feather M4 Express board and a Teensy Audio Adapter board together to create a DIY programmable digital unit that looks ready to drop into an enclosure and get put right to work in the studio or on the stage.

The bulk of the work is done with two parts, and can be prototyped easily on a breadboard.

[Steven] also made a custom PCB to mount everything, including all the right connectors, but the device can be up and running with not much more than the two main parts and a breadboard.

On the inside, the Adafruit Feather M4 Express board works with the audio board over I2S, a standard for sending serial digital audio between chips. Working with the audio itself is done with the Teensy Audio Library, providing a fantastic array of easy-to-use functions for processing and manipulating digital audio streams.

Together, all the right pieces are in place and [Steven] provides the code for a simple tremolo effect as a glimpse of what’s possible with the unit. Interested in going a bit further? [Steven] shares additional details about what’s involved in writing a custom effect from scratch using the Teensy Audio Library.

As mentioned, I2S is where it’s at when it comes to working with digital audio at the chip level, and our own Jenny List can tell you everything you need to know about I2S, a useful protocol that has actually been around since 1982!

Remembering Virginia Norwood, Mother Of NASA’s Landsat Success

Virginia T. Norwood passed away earlier this year at the age of 96, and NASA’s farewell to this influential pioneer is a worth a read. Virginia was a brilliant physicist and engineer, and among her other accomplishments, we have her to thank for the ongoing success of the Landsat program, which continues to this day.

The goal of the program was to image land from space for the purpose of resource management. Landsat 1 launched with a Multispectral Scanner System (MSS) that Norwood designed to fulfill this task. Multispectral imaging was being done from aircraft at the time, but capturing this data from space — not to mention deciding which wavelengths to capture — and getting it back down to Earth required solving a whole lot of new and difficult problems.

Continue reading “Remembering Virginia Norwood, Mother Of NASA’s Landsat Success”