Spectre And Meltdown: How Cache Works

The year so far has been filled with news of Spectre and Meltdown. These exploits take advantage of features like speculative execution, and memory access timing. What they have in common is the fact that all modern processors use cache to access memory faster. We’ve all heard of cache, but what exactly is it, and how does it allow our computers to run faster?

In the simplest terms, cache is a fast memory. Computers have two storage systems: primary storage (RAM) and secondary storage (Hard Disk, SSD). From the processor’s point of view, loading data or instructions from RAM is slow — the CPU has to wait and do nothing for 100 cycles or more while the data is loaded. Loading from disk is even slower; millions of cycles are wasted. Cache is a small amount of very fast memory which is used to hold commonly accessed data and instructions. This means the processor only has to wait for the cache to be loaded once. After that, the data is accessible with no waiting.

A common (though aging) analogy for cache uses books to represent data: If you needed a specific book to look up an important piece of information, you would first check the books on your desk (cache memory). If your book isn’t there, you’d then go to the books on your shelves (RAM). If that search turned up empty, you’d head over to the local library (Hard Drive) and check out the book. Once back home, you would keep the book on your desk for quick reference — not immediately return it to the library shelves. This is how cache reading works.

Continue reading “Spectre And Meltdown: How Cache Works”

Coin Cell Hacks That Won The Coin Cell Challenge

It’s amazing what creative projects show up if you give one simple constraint. In this case, we asked what cool things can be done if powered by one coin cell battery and we had about one hundred answers come back. Today we’re happy to announce the winners of the Coin Cell Challenge.

Continue reading “Coin Cell Hacks That Won The Coin Cell Challenge”

They’re Putting Soy In Your Wires, Man

I’ve got a friend who tells me at every opportunity that soy is the downfall of humanity. Whatever ails us as a society, it’s the soy beans that did it. They increase violent tendencies, they make us fat and lazy, they run farmers out of business, and so on. He laments at how hard it is to find food that doesn’t include soy in some capacity, and for a while was resigned to eating nothing but chicken hot dogs and bags of frozen peas; anything else had unacceptable levels of the “Devil’s Bean”. Overall he’s a really great guy, kind of person who could fix anything with a roll of duct tape and a trip to the scrap pile, but you might think twice if he invites you over for dinner.

A column of soy soldiers stand at the ready.

So when he recently told me about all the trouble people are having with soy-based electrical wiring, I thought it was just the latest conspiracy theory to join his usual stories. I told him it didn’t make any sense, there’s no way somebody managed to develop a reliable soy-derived conductor. “No, no,” he says, “not the conductor. They are making the insulation out of soy, and animals are chewing through it.”

Now that’s a bit different. I was already well aware of the growing popularity of bioplastics: the PLA used in desktop 3D printers is one such example, generally derived from corn. It certainly wasn’t unreasonable to think somebody had tried to make “green” electrical wiring by using a bioplastic insulation. While I wasn’t about to sit down to a hot bag of peas for dinner, I had to admit that maybe in this case his claims deserved a look.

Continue reading “They’re Putting Soy In Your Wires, Man”

Watching The Watchers: Are You The Star Of An Encrypted Drone Video Stream?

Small aircraft with streaming video cameras are now widely available, for better or worse. Making eyes in the sky so accessible has resulted in interesting footage that would have been prohibitively expensive to capture a few years ago, but this new creative frontier also has a dark side when used to violate privacy. Those who are covering their tracks by encrypting their video transmission should know researchers at Ben-Gurion University of the Negev demonstrated such protection can be breached.

The BGU team proved that a side-channel analysis can be done against behavior common to video compression algorithms, as certain changes in video input would result in detectable bitrate changes to the output stream. By controlling a target’s visual appearance to trigger these changes, a correlating change in bandwidth consumption would reveal the target’s presence in an encrypted video stream.

Continue reading “Watching The Watchers: Are You The Star Of An Encrypted Drone Video Stream?”

This Portable Pi May Not Be What You Expect

In the years since the Raspberry Pi and other similar inexpensive Linux-capable single board computers came to the market, we have shown you a huge variety of projects using them at the heart of portable computers. These normally take the form of a laptop or tablet project, but today we have one that starts from a completely different perspective.

The “Kindleberry Pi Zero W” from [Ben Yarmis] does not attempt to create an enclosure or form factor for a portable computing solution. Instead it’s fair to say that it is more of a software hack than a hardware one, as he’s created something of an ad-hoc portable Raspberry Pi from other off-the-shelf pieces of consumer hardware.

The Zero W is a particularly useful computer for this application because of its tiny size, lowish power consumption, on-board Bluetooth, and wireless networking. He has taken a W and put it in the official Pi case, with a portable battery pack. No other connections, that’s his computer. As an input device he has a Bluetooth keyboard, and his display is a jailbroken Kindle Touch tied to the Pi using his Android phone as a WiFi router. We suspect with a little bit of configuration the Pi could easily serve that function on its own, but the phone also provides an Internet connection.

The result is a minimalist mobile computing platform which probably has a much longer battery life and higher reliability than portable Pi solutions using LCD displays, and certainly takes up less space than many others. Some might complain that there’s no hack in wirelessly connecting such devices, but we’d argue that spotting the possibility when so many others embark on complex builds has an elegance all of its own. It has the disadvantage for some users of providing only a terminal based interface to Raspbian, but of course we’re all seasoned shell veterans for whom that should present no problems, right?

Notable portable Pi solutions we’ve shown you before include this beautiful Psion-inspired project, and this one using the shell of an old laptop.

Imagine A Cluster Of ESP32s

When the ESP32 microcontroller first appeared on the market it’s a fair certainty that somewhere in a long-forgotten corner of the Internet a person said: “Imagine a Beowulf cluster of those things!”.

Someone had to do it, and it seems that the someone in question was [Kodera2t], who has made a mini-cluster of 4 ESP32 modules on a custom PCB. They might not be the boxed computers that would come to mind from a traditional cluster, but an ESP32 module is a little standalone computer with processing power that wouldn’t have looked too bad on your desktop only in the last decade. The WiFi on an ESP32 would impose an unacceptable overhead for communication between processors, and ESP32s are not blessed with wired Ethernet, so instead the board has a parallel bus formed by linking together a group of GPIO lines. There is also a shared SPI SRAM chip with a bus switchable between the four units by one of the ESp32s acting as the controller.

You might ask what the point is of such an exercise, and indeed as it is made clear, there is no point beyond interest and edification. It’s unclear what software will run upon this mini-cluster as it has so far only just reached the point of a first hardware implementation, but since ESP32 clusters aren’t exactly mainstream it will have to be something written especially for the platform.

This cluster may be somewhat unusual, but in the past we’ve brought you more conventional Beowulf clusters such as this one using the ever-popular Raspberry Pi.

Weather matrix lamp

Pi Weather Lamp Puts Lava Lamps To Shame

Representing the weather on an LED lamp in a manner that’s easy to interpret can be difficult, but [Gosse Adema]’s weather/matrix lamp makes it not only obvious what the weather is but also offers a very attractive display. For rain, drops of light move downward, and for wind, sideways. The temperature is shown using a range of colors from red to blue, and since he is situated in the Netherlands he needed snow, which he shows as white. A rainy, windy day has lights moving both down and sideways with temperature information as the background.

Weather matrix lamp

To implement it he mounted LED strips inside a 3D printed cylinder with reflectors for each LED, all of which fitted into a glass cylinder taken from another lamp purchased online. The brains of it is a Raspberry Pi Zero W housed in the bottom along with a fan. Both the LEDs and the fan are controlled by the Pi. He took a lot of care with power management, first calculating the current that the LEDs would draw, and then writing Python code to limit that draw. However upon measurement, the current draw was much lower than expected and so he resized the power supply appropriately. He also took care to correctly size the wires and properly distribute the power with a specially made power distribution board. Overall, we really like the thorough job he’s done.

But then again, what’s not to like about [Gosse]’s projects. In the area of lighting, he’s dazzled us with WiFi controlled Christmas tree ornaments, but he’s also delighted us with a Prusa i3 based LEGO 3D printer on which he printed LEGO parts and then made a special extruder for printing chocolate.