Seeing The World Through Animal Eyes

If you think about it, you can’t be sure that what you see for the color red, for example, is what anyone else in the world actually sees. All you can be sure of is that we’ve all been trained to identify whatever we do see as red just like everyone else. Now, think about animal vision. Most people know that dogs don’t see as many colors as we do. On the other hand, the birds and the bees can see into ultraviolet. What would the world look like with extra colors? That’s the question researchers want to answer with this system for duplicating different animals’ views of the world.

Of course, this would be easy if you were thinking about dogs or cats. They can’t see the difference between red and green, making them effectively colorblind by human standards. Researchers are using modified commercial cameras and sophisticated video processing to produce images that sense blue, green, red, and UV light. Then they modify the image based on knowledge of different animal photoreceptors.

We were somewhat surprised that the system didn’t pick up IR. As we know snakes, for example, can sense IR. You’d think more sophisticated animals would have better color vision, but that seems to be untrue. The mantis shrimp, for example, has 12-16 types of photoreceptors. Even male and female humans have different vision systems that make them see colors differently.

Maybe you need a photospectrometer. You wonder if animals dream in color, too.

The Sweetest Programming Language: MNM

Admit it. If you haven’t created your own little programming language, you’ve probably at least thought about it. [Muffed] decided to create a unique — and sweet — programming language that uses M&M (or, at least, M&M-like) candies as the building block of programs.

If this sounds strange, it is because, honestly, it is. It all started when a packet of GEMS (the Cadbury’s version of M&Ms)  spilled and randomly fell in the shape of an arrow. There are only six symbols corresponding to the colors in a package. You create your program by arranging the candies and creating a digital image of the result. In practice, you’ll probably use ASCII text to represent your candy layout and let the compiler render the image for you.

The main way of encoding things is by the number of colored candy pixels in a row. So three blue morsels in an opcode, while four is a different opcode. Red candies encode integer literals with one candy being zero, two being one, and so on. Blue indicates control flow, green candy handles variables and stack operations, yellow is for math, and so on.

Continue reading “The Sweetest Programming Language: MNM”

Last Year In SBCs

While it might not be comprehensive, [Bret.dk] recently posted a retrospective titled “Every Single Board Computer I Tested in 2025.” The post covers 15 boards from 8 different companies. The cheapest board was $42, but the high-end topped out at $590.

We like the structure of the post. The boards are grouped in an under $50 category, another group for $50-100, and a final group for everything north of $100. Then there’s some analysis of what RAM prices are doing to the market, and commentary about CIX P1, Qualcomm, RISC-V, and more.

Continue reading “Last Year In SBCs”

Hiding A Bomb In Plain Sight

You are at war. Trains are key to keeping your army supplied with fuel, ammunition, food, and medical supplies. But, inexplicably, your trains keep blowing up. Sabotage? Enemy attack? There’s no evidence of a bomb or overt enemy attack. This is the situation the German military found itself in during World War II. As you can see in the video below, the hidden bomb was the brainchild of a member of Britain’s SOE.

The idea was to put plastic explosive inside a fake plastic lump of coal.  They hand-painted each one, and the color had to match the exact appearance of local coal. Paint and coal dust helped with that. The bomb had to weigh the correct amount as well.

The coal was safe until it got quite hot, so resistance fighters could easily carry the coal and surreptitiously drop the bomb anywhere coal is stored. Eventually, it will be put in a boiler, and at the right temperature, it will do its job. There’s some actual footage of a test in the second video below.

Continue reading “Hiding A Bomb In Plain Sight”

Remotely Unlocking An Encrypted Hard Disk

Can you remotely unlock an encrypted hard disk? [Jyn] needed to unlock their home server after it rebooted even if they weren’t home. Normally, they used Tailscale to remote in, but you can’t use tailscale to connect to the machine before the hard drive decrypts, right? Well, you can, sort of, and [Jyn] explains how.

The entertaining post points out something you probably knew, but never thought much about. When your Linux box boots, it starts a very tiny compressed Linux in RAM. On [Jyn’s] machine using Arch, this is the initramfs.

That’s not news, but because it is an actual limited Linux system (including systemd), you can add tools to it. In this case, adding dropbear (an ssh server) and Tailscale to the limited boot-time Linux.

Continue reading “Remotely Unlocking An Encrypted Hard Disk”

Linux Hotplug Events Explained

There was a time when Linux was much simpler. You’d load a driver, it would find your device at boot up, or it wouldn’t. That was it. Now, though, people plug and unplug USB devices all the time and expect the system to react appropriately. [Arcanenibble] explains all “the gory details” about what really happens when you plug or unplug a device.

You might think, “Oh, libusb handles that.” But, of course, it doesn’t do the actual work. In fact, there are two possible backends: netlink or udev. However, the libusb developers strongly recommend udev. Turns out, udev also depends on netlink underneath, so if you use udev, you are sort of using netlink anyway.

If netlink sounds familiar, it is a generic BSD-socket-like API the kernel can use to send notifications to userspace. The post shows example code for listening to kernel event messages via netlink, just like udev does.

When udev sees a device add message from netlink, it resends a related udev message using… netlink! Turns out, netlink can send messages between two userspace programs, not just between the kernel and userspace. That means that the code to read udev events isn’t much different from the netlink example.

The next hoop is the udev event format. It uses a version number, but it seems stable at version 0xfeedcafe. Part of the structure contains a hash code that allows a bloom filter to quickly weed out uninteresting events, at least most of the time.

The post documents much of the obscure inner workings of USB hotplug events. However, there are some security nuances that aren’t clear. If you can explain them, we bet [Arcanenibble] would like to hear from you.

If you like digging into the Linux kernel and its friends, you might want to try creating kernel modules. If you get overwhelmed trying to read the kernel source, maybe go back a few versions.

SpyTech: The Underwater Wire Tap

In the 1970s, the USSR had an undersea cable connecting a major naval base at Petropavlovsk to the Pacific Fleet headquarters at Vladivostok. The cable traversed the Sea of Okhotsk, which, at the time, the USSR claimed. It was off limits to foreign vessels, heavily patrolled, and laced with detection devices. How much more secure could it be? Against the US Navy, apparently not very secure at all. For about a decade starting in 1972, the Navy delivered tapes of all the traffic on the cable to the NSA.

Top Secret

You need a few things to make this a success. First, you need a stealthy submarine. The Navy had the USS Halibut, which has a strange history. You also need some sort of undetectable listening device that can operate on the ocean floor. You also need a crew that is sworn to secrecy.

That last part was hard to manage. It takes a lot of people to mount a secret operation to the other side of the globe, so they came up with a cover story: officially, the Halibut was in Okhotsk to recover parts of a Soviet weapon for analysis. Only a few people knew the real mission. The whole operation was known as Operation Ivy Bells.

The Halibut

The Halibut is possibly the strangest submarine ever. It started life destined to be a diesel sub. However, before it launched in 1959, it had been converted to nuclear power. In fact, the sub was the first designed to launch guided missiles and was the first sub to successfully launch a guided missile, although it had to surface to launch.

Oddly enough, the sub carried nuclear cruise missiles and its specific target, should the world go to a nuclear war, was the Soviet naval base at Petropavolvsk.

Continue reading “SpyTech: The Underwater Wire Tap”