Mysterious Files PH

Sunday, April 12, 2026

The Complex Transformations Underlying MC Escher’s Works

April 12, 2026 0

Self-similar images are rather common, which are images in which the same image is repeated on a smaller scale somewhere within the image that one is looking at, something which is also referred to as the Droste effect. Yet in [MC Escher]’s 1956 Prentententoonstelling (‘picture gallery’) drawing, this self-similar image is somehow also the foreground image, from where it just keeps looping around in an endless dance. How this effect is accomplished and what the mathematical transformations behind it are and how they work is explained in a recent video by [3Blue1Brown].

The video uses previous work by [B. de Smit] and [H. W. Lenstra Jr] whose 2003 paper detailed the underlying transformations, as well as the mystery of the center of the work.

Although [MC Escher] created a transformation grid with square rectangles into which a non-transformed image could be copied verbatim, he left the center as a void with just his signature in it, leaving many to guess how one might be able to fill in this area with something that made sense. In the work by [Smit] et al. it was postulated that by treating the work as having been drawn on an elliptic curve over a field of complex numbers this might be possible.

While the transformation is simple enough at first, with just four rectangles at different zoom levels to make up the corners, the trick is to connect these rectangles. Using the demonstrated complex method this can be automated, with the central void now filled in and creating its own Droste effect. This once again demonstrates the beautifully complex mathematics in [Escher]’s works, despite him never having had any formal mathematical education.


Saturday, April 11, 2026

Kiki is the Unknown Array Language

April 11, 2026 0
Kiki is the Unknown Array Language

Kiki bills itself as the “array programming system of unknown origin.” We thought it reminded us of APL which, all by itself, isn’t a bad thing.

The announcement post is decidedly imaginative. However, it is a bit sparse on details. So once you’ve read through it, you’ll want to check out the playground, which is also very artistically styled.

If you explore the top bar, you’ll find the learn button is especially helpful, although the ref and idiom buttons are also useful. Then you’ll find some examples along with a few other interesting tidbits.

One odd thing is that Kiki reads right to left. So “2 :* 3 :+ 1” is (1+3)2 not (23)+1. Of course, you can use parentheses to be specific.

If you are jumping around in the tutorial, note that some cells depend on earlier cells, so randomly pressing a “run” button is likely to produce an error.

Would you use kiki? There are plenty of array languages out there, although perhaps none that have such poetic documentation. Let us know if you have a favorite language for this sort of thing and if you are going to give Kiki a try.

If you want to try old school APL, that’s easier than ever.


A Suction-Driven Seven-Segment Display

April 11, 2026 0
An orange silicone sheet is shown in front, with depressions in the shape of a 7-segment character "4". A man's hand is holding a pipe leading to a series of needles, which enter the block behind the silicone sheet.

There’s a long history of devices originally used for communication being made into computers, with relay switching circuits, vacuum tubes, and transistors being some well-known examples. In a smaller way, pneumatic tubes likewise deserve a place on the list; [soiboi soft], for example, has used pneumatic systems to build actuators, logic systems, and displays, including this latching seven-segment display.

Each segment in the display is made of a cavity behind a silicone sheet; when a vacuum is applied, the front sheet is pulled into the cavity. A vacuum-controlled switch (much like a transistor, as we’ve covered before) connects to the cavity, so that each segment can be latched open or closed. Each segment has two control lines: one to pressurize or depressurize the cavity, and one to control the switch. The overall display has four seven-segment digits, with seven common data lines and four control lines, one for each digit.

The display is built in five layers: the front display membrane, a frame to clamp this in place, the chamber bodies, the membrane which forms the switches, and the control channels. The membranes were cast in silicone using 3D-printed molds, and the other parts were 3D-printed on a glass build plate to get a sufficiently smooth, leak-free surface. As it was, the display used a truly intimidating number of fasteners to ensure airtight connections between the different layers. [soiboi soft] used the display for a clock, so it sits at the front of a 3D-printed enclosure containing an Arduino, a small vacuum pump, and solenoid valves.

This capacity for latching and switching, combined with pneumatic actuators, raises the interesting possibility of purely air-powered robots. It’s even possible to 3D-print pneumatic channels by using a custom nozzle.

Thanks to [Norbert Mezei] for the tip!


Implementing PCIe over Fiber Using SFP Modules

April 11, 2026 0

Although we can already buy commercial transceiver solutions that allow us to use PCIe devices like GPUs outside of a PC, these use an encapsulating protocol like Thunderbolt rather than straight PCIe. The appeal of  [Sylvain Munaut]’s project is thus that it dodges all that and tries to use plain PCIe with off-the-shelf QSFP transceivers.

As explained in the intro, this doesn’t come without a host of compatibility issues, least of all PCIe device detection, side-channel clocking and for PCIe Gen 3 its equalization training feature that falls flat if you try to send it over an SFP link. Fortunately [Eli Billauer] had done much of the leg work already back in 2016, making Gen 2 PCIe work over SFP+.

The test setup involves a Raspberry Pi 5 on a PCIe breakout board and a PCIe card connected to the whole QSFP intermediate link with custom SFP module PCBs for muxing between PCIe edge connector or USB 3.0 connectors to use those cheap crypto miner adapter boards. The fiber is just simple single-mode fiber. Using this a Gen 2 x1 link can be created without too much fuss, demonstrating the basic principle.

Moving this up to Gen 3 will be challenging and will be featured in future videos, involving more custom PCBs. With Gen 5 now becoming standard on mainboards, it would be great to see this project work for Gen 3 – 5 at link sizes of x4 and even x16 so that it might be able to run external GPUs at full bandwidth unlike Thunderbolt.

Thanks to [zoobab] for the tip.


Authenticate SSH with Your TPM

April 11, 2026 0
Authenticate SSH with Your TPM

You probably don’t think about it much, but your PC probably has a TPM or Trusted Platform Module. Windows 11 requires one, and most often, it stores keys to validate your boot process. Most people use it for that, and nothing else. However, it is, in reality, a perfectly good hardware token. It can store secret data in a way that is very difficult to hack. Even you can’t export your own secrets from the TPM. [Remy] shows us how to store your SSH keys right on your TPM device.

We’ll quote [Remy] about the advantages:

The private key never leaves the device, you yourself can’t even extract it, neither can malware. It does not live on your filesystem or in an ssh-agent (in memory)…

Unlike a hardware token, the TPM is locked to your machine. In fact, in many cases, it is soldered onto the motherboard, although sometimes it is plugged in. The post notes that because of this, the TPM is not quite as secure as a hardware token that you can pull out of a USB port and lock up. But it is still more secure than just having your keys sitting on a hard drive.

One caveat: some computers wipe your TPM when you update the BIOS. The post mentions how to get around this. You’ll need some tools, of course, and it won’t work with Windows Subsystem for Linux, unsurprisingly. Once you have the tools installed, the process is pretty straightforward.

We’ll add this to our set of ssh tricks from now on.


Friday, April 10, 2026

Implementing a Rhythm Game entirely in a GPU Shader

April 10, 2026 0
It looks like osu!, but it's actually Trombone Champ

Most rhythm games have a community creating custom charts, and Trombone Champ is no exception. What is exceptional, however, [CraftedCart]’s osu! played in a Trombone Champ chart.

It all started as a challenge to make the most unserious chart possible. Among some other ideas, [CraftedCart] eventually decides to make an osu! chart but play it in Trombone Champ. Okay, not a problem, let’s just–oh, you can’t run arbitrary code without a making a mod. So instead, they decided to use shaders on the GPU. There are, of course, all sorts of problems with such an idea. Being stuck in the fixed render pipeline of a game, you can’t just add any resources to your shader you want. This leads to using textures as memory, both the game state and the osu! chart are actually textures. Another interesting one is getting user input into the shader. [CraftedCart] solves that by connecting the position of the game object the background is rendered to to the cursor; then, the shader reads the world to local transform matrix to determine the mouse position. Finally, the graphics the player ends up seeing are rendered using ray marching.

Video after the break.


Battle Born Explains How Its Battery Thermal Safety Works

April 10, 2026 0
Autopsy of Battle Born LFP battery with the 'thermal safety' on the bus bar. (Credit: Will Prowse)
Autopsy of Battle Born LFP battery with the ‘thermal safety’ on the bus bar. (Credit: Will Prowse)

After users of Battle Born LFP batteries encountered issues such as a heavily discolored positive terminal and other signs of overheating, multiple autopsies showed that the cause appeared to be the insertion of a thermoplastic between the bus bar and the terminal. Over time thermal creep loosened the connections, causing poor contact and melting plastic enclosures. According to Battle Born, this is actually part of an ingenious thermal safety design, and in a recently published article they explain how it works.

The basic theory appears to be that if there’s a thermal event, the ABS thermoplastic will soften and reduce the pressure on the bolted-together copper bus bar and brass terminal. This then allows for an aluminium-oxide layer to form on the aluminium connecting bolt courtesy of the dissimilar copper/aluminium interface. Aluminium-oxide is non-conductive and thus interrupts the flow of current.

Of course, there are countless issues with that theory, least of all the many reports of in-field failures. We recently covered [Will Prowse] studying the death of one of these 100 Ah LFP batteries from brand-new to failure under controlled circumstances. This clearly shows the thermal creep loosening up the connection and causing poor contact between the bus bar, the bolt and the terminal, with poor contact and thermal issues resulting.

Naturally, [Will Prowse] had to address this most recent statement by Battle Born, with the latter taking care to indirectly attack and dismiss his findings. Here Battle Born’s argument seems to hinge on the removal of the lid damaging this aluminium-oxide layer and preventing the ‘thermal safety’ from working, yet not addressed are the many batteries that failed in the field and showed loose connections due to thermal creep from the ABS layer.

It’s also never addressed why these LFP batteries cannot simply be equipped with a traditional thermal fuse rather than this convoluted contraption, among many other questions that remain. Correspondingly [Will] is rather incredulous at this response, as should anyone be who has been following this saga.