Stream Deck Plus Reverse Engineered

[Den Delimarsky] had a Stream Deck and wanted to be free of the proprietary software, so he reverse-engineered it. Now, he has a Stream Deck Plus, and with the same desire, he reverse-engineered it as well.

The device has eight buttons, a narrow screen, and four encoder dials. The device looks like a generic HID device to the host machine, and once it has been configured, doesn’t need any special software to function. By configuring the device using the official software in a virtual machine under the watchful eye of Wireshark, it was possible to figure out how that initial setup worked and recreate it using a different software stack.

If you’ve never done this kind of thing before, there is a lot of information about how to find USB data and draw inferences from it. The buttons send messages when pressed, of course. But they also accept a message that tells them what to display on their tiny screen. The device screen itself isn’t very big at 800×100.

[Den] packages everything up in the DeckSurf SDK, an open source project that lets you control Stream Decks. So if you just want to control the Deck, you don’t need to know all these details. But, for us, that’s where the fun is.

Way back in 2015, we covered some guy who had sniffed out a USB signal generator. That was easy since it was a serial port. However, you can go pretty far down the rabbit hole.

Tech In Plain Sight: Incandescent Bulbs

While they are dying out, you can still find incandescent bulbs. While these were once totally common, they’ve been largely replaced by LEDs and other lighting technology. However, you still see a number of them in special applications or older gear. If you are above a certain age, you might be surprised that youngsters may have never seen a standard incandescent lightbulb. Even so, the new bulbs are compatible with the old ones, so — mechanically, at least — the bulbs don’t look different on the outside.

You might have learned in school that Thomas Edison invented the light bulb, but the truth is much stranger (public domain)

It has been known for a long time that passing a current through a wire creates a glow. The problem is, the wire — the filament — would burn up quickly. The answer would be a combination of the right filament material and using an evacuated bulb to prevent the filament degrading. But it took over a century to get a commercially successful lightbulb.

We were all taught in school that Thomas Edison invented the light bulb, but the truth is much more complicated. You can go back to 1761 when Ebenezer Kinnersley first caused a wire to glow. Of course, wires would quickly burn up in the air. By the early 19th century, limelight was fairly common in theaters. Limelight — also known as the Drummond light — heated a piece of calcium oxide using a gas torch — not electric, but technically incandescence. Ships at sea and forts in the U.S. Civil War used limelights to illuminate targets and, supposedly, to blind enemy troops at night. Check out the video below to see what a limelight looks like.

Continue reading “Tech In Plain Sight: Incandescent Bulbs”

Tweezers Probe Reviewed

Over the last few decades, electronic devices have drastically changed. Radios that once had point-to-point wiring gave way to printed circuit boards with through-hole parts, and now microscopic surface mount devices are the norm. But most of us still use probes that would have been just fine for a 1940s receiver. There are other options, of course. Among other things, you can now buy meters that have built-in tweezer probes. While not the first, the FNIRSI LCR-ST1 are affordable, and [TheHWcave] puts them to the test in the video below.

The tweezers come with two different pointy ends. It is more or less one of those testers that can identify and measure various components. Instead of the customary socket, this one has tweezer ends and, perhaps, a few extra functions.

Continue reading “Tweezers Probe Reviewed”

Pi’s Evil Twin Goes For Infinity

Most people know about the numerical constant pi (or π, if you prefer). But did you know that pi has an evil twin represented by the symbol ϖ? As [John Carlos Baez] explains, it and its related functions are related to the lemniscate as pi relates to circles. What’s a lemniscate? That’s the proper name for the infinity sign (∞).

[John] shows how many of the same formulas for pi also work for the lemniscate constant (the name for ϖ). Some  (as John calls them) “mutant” trig functions use the pi-like constant.

Continue reading “Pi’s Evil Twin Goes For Infinity”

Calling Pink Floyd

[Corelatus] said recently that “someone” asked them to identify the phone signals in the 1982 film The Wall, based on the Pink Floyd song of the same name. We suspect that, like us, that someone might have been more just the hacker part of the brain asserting itself. Regardless, the detective work is fascinating, and you can learn a lot of gory details about phone network in-band signaling from the post.

The analysis is a bit more difficult because of the year the film was made. At that time, different countries used slightly different tone signaling standards. So after generating a spectrogram, the job was to match the tones with known standards to see which one best fit the data.

Continue reading “Calling Pink Floyd”

Faster Integer Division With Floating Point

Multiplication on a common microcontroller is easy. But division is much more difficult. Even with hardware assistance, a 32-bit division on a modern 64-bit x86 CPU can run between 9 and 15 cycles. Doing array processing with SIMD (single instruction multiple data)  instructions like AVX or NEON often don’t offer division at all (although the RISC-V vector extensions do). However, many processors support floating point division. Does it make sense to use floating point division to replace simpler division? According to [Wojciech Mula] in a recent post, the answer is yes.

The plan is simple: cast the 8-bit numbers into 32-bit integers and then to floating point numbers. These can be divided in bulk via the SIMD instructions and then converted in reverse to the 8-bit result. You can find several code examples on GitHub.

Continue reading “Faster Integer Division With Floating Point”

Optimizing Your Linux Shell Experience

Are you familiar with Huffman encoding? That’s where you pick shorter codes for more frequent letters. Morse code is the same way, in that the most-used letters are the shortest. [Matheus Richard] had the same idea for optimizing your workflow in the Linux shell. The idea is to measure what commands you use the most and make them shorter.

Continue reading “Optimizing Your Linux Shell Experience”