3 January 2026

102 links · Saturday

The RAM Shortage Comes for Us All

Memory price inflation comes for us all, and if you're not affected yet, just wait. I was building a new PC last month using some parts I had bought earlier this year. The 64 Gigabyte T-Create DDR5 memory kit I used cost $209 then. Today? The same kit costs $6…

Minisforum stuffs an entire Arm Homelab in the MS-R1

The Minisforum MS-R1 uses the same Cix CD8180 Arm SoC as the Orion O6 I reviewed earlier this year. But everything else about this thing is different. What this thing should be, is a box that runs Linux and can compete with at least an Apple M1 Mac mini, or a …

JeffGeerling.com has been Migrated to Hugo

Since 2009, this website has run on Drupal. Starting with Drupal 6, and progressing through major site upgrades and migrations to 7, 8, 9, and 10, I used the site as a way to dogfood the same CMS (Content Management System) I used in my day job for over a deca…

1.5 TB of VRAM on Mac Studio - RDMA over Thunderbolt 5

Apple gave me access to this Mac Studio cluster to test RDMA over Thunderbolt, a new feature in macOS 26.2. The easiest way to test it is with Exo 1.0, an open source private AI clustering tool. RDMA lets the Macs all act like they have one giant pool of RAM, …

How to silence the fan on a CM5 after shutdown

Out of the box, if you buy a Raspberry Pi Compute Module 5, install it on the official CM5 IO Board, and install a fan on it (e.g. my current favorite, the EDAtec CM5 Active Cooler), you'll notice the fan ramps up to 100% speed after you shut down the Pi. That…

All Intel GPUs run on Raspberry Pi and RISC-V

We finally have Intel Arc GPUs working on the Pi somewhat stably—it required overcoming many small hurdles, but it looks like support could land in Raspberry Pi OS if we can get a simple patch upstreamed1. If that happens, all you'd need to do to use an Intel …

It's not that hard to stop a Trane

Six years ago, I replaced the old HVAC system that came with our house, a central forced air system installed in 19951. The new system is a Trane XR AC paired with an S9V2 96% efficiency forced-air gas furnace. And it ran great! Better efficiency, quieter, mul…

Testing the Mono Gateway, a custom-built 10 Gbps Router

Last month, the stars aligned for me to bring the Mono Gateway (a 10 Gbps router that YouTuber Tomaž Zaman and his team at Mono built from scratch) on a trip to Phoenix, and test it with one of the most OP network test boxes I've ever seen, at the ServeTheHome…

Converting hot dog plasma video to sound with OpenCV

When you ground a hot dog to an AM radio tower, it generates plasma. Your browser does not support the video tag. While the hot dog's flesh is getting vaporized, a tiny plasma arc moves the air around it back and forth. And because this tower is an AM tower, i…

NIST was 5 μs off UTC after last week's power cut

If you were 5 microseconds late today, blame it on NIST. Their facility in Boulder Colorado just had its power cut for multiple days. After a backup generator failed, their main ensemble clock lost track of UTC, or Universal Time Coordinated. But even if you u…

CM0 - a new Raspberry Pi you can't buy

This little postage stamp is actually a full Raspberry Pi Zero 2, complete with eMMC storage and WiFi. But you can't get one. Well, not unless you buy the CM0NANO development board from EDAtec, or you live in China. This little guy doesn't have an HDMI port, E…

The DC-ROMA II is the fastest RISC-V laptop and is odd

Inside this Framework 13 laptop is a special mainboard developed by DeepComputing in collaboration with Framework. It has an 8-core RISC-V processor, the ESWIN 7702X—not your typical AMD, Intel, or even Arm SoC. The full laptop version I tested costs $1119 and…

The Arduino Uno Q is a weird hybrid SBC

The Arduino Uno Q is... a weird board. It's the first product born out of Qualcomm's buyout of Arduino. It's like if you married an Intel CPU, and a Raspberry Pi RP2040 microcontroller—oh wait, Radxa's X4 did that. Arduino even tried it before with their old Y…

Air Lab is the Flipper Zero of air quality monitors

This air quality monitor costs $250. It's called the Air Lab, and I've been using it to measure the air in my car, home, studio, and a few events over the past few months. And in using it over the course of a road trip I learned to not run recirculate in my ca…

Why doesn't Apple make a standalone Touch ID?

I finally upgraded to a mechanical keyboard. But because Apple's so protective of their Touch ID hardware, there aren't any mechanical keyboards with that feature built in. But there is a way to hack it. It's incredibly wasteful, and takes a bit more patience …

Using AMD GPUs on Raspberry Pi without recompiling Linux

I'm working on a more in-depth test of some newer AMD GPUs on the Raspberry Pi, now that the 15 line kernel patch is (IMO) nearly ready for upstreaming. But this blog post shows how to quickly get almost any modern AMD GPU running on a Raspberry Pi 5, CM5, or …

Dell's version of the DGX Spark fixes pain points

Dell sent me two of their GB10 mini workstations to test: In this blog post, I'll cover the base system, just one of the two nodes. Cluster testing is ongoing, and I'll cover things like AI model training and networking more in depth next year, likely with com…

Nvidia Graphics Cards work on Pi 5 and Rockchip

A few months ago, GitHub user @yanghaku dropped a 15 line patch to fix GPU support for practically all AMD GPUs on the Raspberry Pi (and demoed a 3080 running on the Pi with a separate, unreleased patch). This week, GitHub user @mariobalanica dropped this (lar…

Big GPUs don't need big PCs

Ever since I got AMD, Intel, and Nvidia graphics cards to run on a Raspberry Pi, I had a nagging question: What's the point? The Raspberry Pi only has 1 lane of PCIe Gen 3 bandwidth available for a connection to an eGPU. That's not much. Especially considering…

Benchmarking NVENC video transcoding on the Pi

Now that Nvidia GPUs run on the Raspberry Pi, I've been putting all the ones I own through their paces. Many people have an older Nvidia card (like a 3060) laying around from an upgrade. So could a Pi be suitable for GPU-accelerated video transcoding, either s…

Woohoo! Wireless LAN!

'Woohoo! Wireless LAN!' written by davepermen

Becoming unblockable

With enough careful effort, it’s possible to become unblockable. In other words, you can put yourself in a position where you’re always able to make forward…

Should LLMs just treat text content as an image?

Several days ago, DeepSeek released a new OCR paper. OCR, or “optical character recognition”, is the process of converting an image of text - say, a scanned…

Why doesn't Apple make a standalone Touch ID?

I finally upgraded to a mechanical keyboard. But because Apple's so protective of their Touch ID hardware, there aren't any mechanical keyboards with that feature built in.

The Energy Lie

'The Energy Lie' written by davepermen

Why do AI models use so many em-dashes?

If you asked most people to name a defining feature of AI-generated writing, they’d probably say the em-dash — like this. Language models use em-dashes so much…

Thompson tells how he developed the Go language at Google.

Kenneth Lane Thompson, winner of the Association for Computing Machinery's A.M. Turing Award, discusses development of the Go programming language at Google in the early 2000s, its relationship the company’s cloud computing platform, and its eventual success a…

Giving Your Agent Eyes is not Enough

AI coding agents can build UI. But they can't verify it. Verification requires comparison—your agent doesn't remember anything.

Investigating and fixing a nasty clone bug

Recently I found myself battling with another nasty bug. It took me several hours to understand what is happening, and once I found it, it turned out that the cause of the bug is relevant to the Ergonomic cloning initiative that is currently being discussed a …

Year of reading

2025 was the Year of Discomfort for me. I found myself getting too comfortable with various facets of life. I wasn’t pursuing or sticking with things that made me uncomfortable. I think, and have been told, this comes with age. It’s the same sort of discomfort…

Why it matters - Jukka Niiranen blog

We don’t write just to deliver a payload of importance. We write to think. The sudden flood of "why it matters" formula in written content is not a positive sign for this.

Vibe coding killed Cursor

Cursor is dying because cost-optimization forces models into tunnel vision. RAG agents fail because they only see what they search for. The superior workflow for 2026 is massive context windows (gemini 2.5 pro) and manual control. Stop letting agents hide code…

An experiment in vibe coding

For the holidays, I gave myself a little experiment: build a small web app for my wife to manage her travel itineraries. I challenged myself to avoid editing the code myself and just do it “v…

The Developer Is Dead, Long Live the Designer

With the advent of coding agents and their improvement, developing software as we have been doing it is, at least in many fields, already going the way of the Dodo. But bear with me for a second while I try to explain why I think this is great for developers a…

Was it really a Billion Dollar Mistake?

TL;DR null pointer dereferences are empirically the easiest class of invalid memory addresses to catch at runtime, and are the least common kind of invalid memory addresses that happen in memory unsafe languages. The trivial solutions to remove the “problem” n…

POSSE

POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, the practice of posting content on your own site first, then publishing copies or sharing links to third parties (like social media silos) with original post links to provide viewers…