I Replaced My MacBook Pro with a Raspberry Pi 4 8GB for a Day
Earlier this week, as part of my work doing a more complete review of the Raspberry Pi 4 (coming soon!), I decided I'd go all-in and spend one entire day working entirely (or at least as much as possible) from a Raspberry Pi. And not just doing some remote coding sessions or writing a blog post—that's easy to do on a…
Reverse engineering a forgotten 1970s Intel dual core beast: 8271, a new ISA
" As I recall, those two chips were fairly large. And fairly late -- to the marketplace. We had lots of issues with them. [...] Sometimes th...
Inside a Titan missile guidance computer
I've been studying the guidance computer from a Titan II nuclear missile. This compact computer was used in the 1970s to guide a Titan II ...
Ouster's new digital Lidar – 128 beams, ultra-wide view
Ouster's next step: 128-channel lidar sensors with long range and an ultra-wide field of view, built on its digital lidar architecture.
How to Improve Bluetooth Audio Quality on Linux
Bluetooth Audio on Linux is a bit of a mess. There's a fair bit you can do to significantly improve the quality though.
25-Hour Digital Myst Clock/Chronometer
Discover the 25-Hour Digital Myst Clock, merging D'ni and conventional timekeeping for Myst fans, with a display of proper D'ni digits.
iPhone 12 Pro Camera Review
Testing the new iPhone 12 Pro in (and over) Glacier National Park.
The Elroy Lamp: A transparent LCD lamp (2019)
Elroy is a table lamp with a unique feature -- the shade can dynamically change to a new style or pattern from your phone or web browser.
MMU gang wars: the TLB drive-by shootdown
T The problem Every once in a while I get involuntarily dragged into heat...
Apple's long processor journey
There have been multiple generations of Macs. Apple has not really divided them up. 1. Original 680x0 Macs with 24-bit ROMs (ending with the SE/30, Mac II, IIx IIcx) 2. 32-bit-clean-ROM 680x0 Macs (starting with the Mac IIci) 3. NuBus-based PowerMacs (6100, 7100, 8100) 4. OldWorld-ROM…
Programming with RISC-V Vector Instructions
Perhaps the most interesting part of the open RISC-V instruction set architecture (ISA) is the vector extension (RISC-V "V"). In contrast to the average single-instruction multipe-data (SIMD) instruction set, RISC-V vector instructions are vector length agnostic (VLA). Thus, a RISC-V "V" CPU is flexible in choosing a…
Lisp Badge: A single-board computer that you can program in uLisp
The Lisp Badge is a self-contained computer with its own display and keyboard, based on an ATmega1284, that you can program in uLisp:
An History of Nvidia Stream Multiprocessor
I spent last week-end getting accustomed to CUDA and SIMT programming. It was a prolific time ending up with a Business Card Raytracer running close to 700x faster [1] , from 101s to 150ms. This pleasant experience was a good pretext to spend more time on the topic and learn about the evolution of Nvidia architecture…
The Genius of RISC-V Microprocessors
How the instruction set for RISC-V processors has been designed cleverly for both simplicity and high performance.
Flow Browser Preview on the Raspberry Pi 400
We’re very excited to be making a Flow preview available for public download on the Raspberry Pi 400.
The Whitworth Three Plates Method (2017)
A visual step-by-step guide to Joseph Whitworth’s three-plate method for creating very flat reference surfaces.
Tihle: A new emulator targeting TI graphing calculators
Today I’m publishing tihle, a new emulator targeting TI graphing calculators (currently only the 83+, but maybe others later). There’s rather a lot to say about it, but here I will discuss the motivation for a new emulator and the state of the art followed by technical notes on the design and initial development…
How x86_64 Addresses Memory
Update 2025-03-05 : @jxu has shared a collection of simplified examples that are even easier to follow than the original ones in this post.
Durability: NVMe Disks
Durability is the guarantee that data can be accessed after a failure. It seems like this should be very simple: either your system provides durable data storage, or it does not. However, durability is not a binary yes/no property, and instead should be defined as the kinds of failures you want your data to survive…
Amazon Common Software for Devices
Apply today to join the Amazon Common Software (ACS) for devices preview! We use ACS in Amazon devices, including the Echo Dot (3rd generation) and the Amazon Smart Oven, and now you can use it to accelerate integration of Amazon Device SDKs on your devices to bring them to market more quickly and cost-effectively.
How the 8086 processor handles power and clock internally
One under-appreciated characteristic of early microprocessors is the difficulty of distributing power inside the integrated circuit. While...