Posts from 2026
-
Fixing a bricked AMD 7040 series Framework 13" laptop with $20 tools
(Read more...)In 2023, I was in need of a new laptop that should hopefully last me for a while. While looking at my options, I was seduced by Framework’s promise of a repairable and upgradable laptop that supports Linux out-of-the-box without weird driver issues, as well as the option to assemble the laptop myself1 and buy the RAM and SSD I want separately2, back when they were cheap.
For three years, the laptop has served me well, until Framework suggested via newsletter to install the latest BIOS3 update, version 3.20, with a bunch of security fixes. Unfortunately, the system hung and displayed a corrupt image on the screen, signifying a failed BIOS flash.
Naturally, I reached out to Framework support, who told me to unplug the laptop, let the battery drain, and power it back on again afterwards, hoping the laptop would recover by itself. Unfortunately, it never did, and after giving Framework a bunch of information, they informed me that since my 1-year warranty has expired, I have no option but to purchase a new Framework motherboard, which will cost at least CA$500.
A quick search revealed that many people had issues with BIOS flashes with this specific BIOS update on the Framework forums, even those in warranty, and on a different thread, people have been having similar issues with BIOS flashing in general on this model since at least March of 2025. To my knowledge, Framework has never acknowledged the issue or offered any indication that the problem was fixed, so buying a new motherboard would simply be playing Russian roulette if I ever wanted to update the BIOS again, on top of spending CA$500+ through no fault of my own.
Thus, I opted against buying a new motherboard and embarked upon a journey to flash the BIOS myself. I documented this journey in excruciating detail so that hopefully, by following along, you’ll understand exactly how you might fix similar problems.
Update (2026-08-22): This post showed up on the front page of Hacker News on 2026-08-18 and Framework finally acknowledged the issue when asked by Ars Technica and promised relief to affected customers. See updates.
-
The Art of Time-Keeping, Part 5: Maya Calendar
(Read more...)I can’t believe it’s been a few years since I built the French Republican Calendar web application and explained how it works in a blog post, which is really part of the series on the art of time-keeping. However, I was not exactly satisfied with making a web application for that one calendar when there are so many more interesting calendars in the world.
Thus, I decided to explore a different calendar system with a completely different philosophy—the Maya1 calendar. Whereas the original version of the French Republican Calendar is completely based on astronomy and required calculation of the autumnal equinox, the Maya calendar system is entirely based on math and fixed-length cycles. I thought this would make a lovely contrast in calendar design philosophies.
However, before we dive in deeper, it is important to mention that there isn’t just one “Maya calendar,” but rather three—the Tzolkʼin2, Haabʼ, and the Long Count. These cycles are also not exclusive to the Maya, but are used by many other Mesoamerican cultures, such as the Aztecs, under slightly different names.
All three calendars are used in conjunction to tell the time, as the Tzolkʼin and Haabʼ are both unnumbered cycles. Only the long count can be used to identify an exact calendar date. Separately, there is also the Lords of the Night, which forms a 9-day week cycle.
The finished implementation can be found here.
-
Resurrecting a 13-year-old high school project: the BSoD lock screen
(Read more...)One day, during the winter break away from work, I was reminded of this ancient program I built in high school—a Blue Screen of Death (henceforth BSoD) simulator. It really has been a while since I’ve covered coding topics on this blog, so I thought it might be time to dig up the program and resurrect it.
But you might ask the very natural question: why did I write such a program? For that, I blame the school. You see, I had to deal with school computers a lot back in the day, not being one of those “cool kids” who brought their own laptops to school. Naturally, the school computers ran Windows XP1. For some reason, the school administrators decided to deploy group policy to deny screen locking.
This posed a conundrum: if I had to step away from the computer—like say, answering the call of nature—I was confronted with two deeply uncomfortable choices:
- Save all my work, close all applications, and log out, then wait forever to log back in on those slow computers, while hoping that no one else took the fastest one of the bunch2; or
- Leave the computer unattended, and if someone does something sketchy as a prank, I’d be the one in trouble.
One day, I saw a school computer stuck with a BSoD, and no one ever touched it, and that gave me an idea: what if I wrote my own custom “lock screen” program that masqueraded as a BSoD? And thus was the program born.