Posts from 2026
-
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.