Last year, I started writing year-end reviews to look back upon the past year and reflect on what has happened. I thought I might as well continue to do the same this year.

In January, I decided to finally create that stratum 1 NTP server that I had wanted ever since I heard about people doing it with Raspberry Pis. Instead of using Pis though, I ended up doing the ancient (but superior) approach of using a serial port. Along the way, I ran into various issues, but that tale is told in its own blog post.

After getting the clock on my home server within microseconds of GPS time, I deployed the Precision Time Protocol (PTP) on my home network to bring the accurate clock to my desktop, taking advantage of the Mellanox ConnectX-3s that I acquired last year for 40 Gbps Ethernet at home. That tale is told here, along with some benchmarks of clock precision when synchronized over various hardware.

Additionally, I deployed my new ASN, AS200351, onto a few servers that I already had, each announcing a small IP range plus an anycast range shared by all. This was all just experimental though, as back then I had little idea what I was doing. Nevertheless, I would continue improving my network throughout the year. I also started the website as200351.net to display some basic information about my ASN.

Furthermore, due to various reasons, I upgraded my home Internet from 1500 Mbps down and 940 Mbps up to 3 Gbps symmetric. This somehow ended up saving me money for some reason, which might have been because my ISP decided to hike the pricing on the existing plan I had. Either way, I wouldn’t say no to saving money and getting higher speeds, especially since I had a dual-port, 40 Gbps capable network adapter in my home server that also acted as a router. Since the ISP modem only had a single 10 Gbps port that used 10GBASE-T (over twisted pair, i.e. “normal” Ethernet cables and 8P8C connectors), I had acquired an SFP+ transceiver for this along with an adapter to plug it into the second QSFP+ port on my ConnectX-3. These worked perfectly, and I was able to immediately hit 3 Gbps with my upgraded connection.

However, this created a new problem: I have too much speed. In February, I had the idea of setting up a mirroring service, so I created an “experimental” mirroring service on mirror.quantum5.ca to see what would happen, starting with Arch Linux. At this point, the mirror was not announced to the public.

In March, I had this random idea to start making piano videos. My first few attempts were rather bad, however. Also, since acquiring my digital piano last year, I’ve been practicing the same piece—Debussy’s Clair de Lune, so I had this random idea to start learning another piece. Since I also liked Debussy’s Arabesque No. 1 and have heard claims that it’s easier than Clair de Lune, I decided to learn that one. Of course, that didn’t turn out to be the case and this ended up quite the timesink. It was quite a few months later that I managed to get a handle on all the 3 against 2 polyrhythms in the piece, which turned out to be the hardest part.

It was also in March that I decided that I should start joining real Internet exchanges with my ASN. I started by getting a server with connectivity to the Ontario Internet Exchange (ONIX) and then joined the exchange. That turned out to be quite an interesting experience, with large networks like Hurricane Electric (AS6939) offering to peer directly with me over the exchange almost immediately after I joined.

At the beginning of April, I suffered an SSD failure in my home server, forcing me to stay up all night to recover as much data as possible. This was a terrible experience, and I would strongly advise anyone against buying cheap SSDs.

Later in the month, I randomly had this idea to refactor my implementation of the French Republican Calendar, allowing the underlying framework to be used to implement alternate calendars. To demonstrate this concept, I’ve implemented a version of the Julian calendar, showing what the calendar would have been like if the Gregorian reformation hadn’t happened, and why certain countries in Eastern Europe celebrate Christmas on January 7th instead (it’s December 25th, just on the Julian calendar).

Also, by the end of April, I’ve managed to learn most of Arabesque No. 1, except I still struggled quite a bit with the polyrhythms. It would be quite a long time before I truly felt comfortable with it.

In May, I decided that joining a single Internet exchange was insufficient for AS200351, so I joined FogIXP in Europe, peering with a few other networks for the fun of it.

Furthermore, after corresponding with a few other mirror operators, I decided to add a few more services to my mirroring service and launched it to the public. For more details, see the blog post I wrote about it.

In June, I finally got a bit more comfortable with making piano videos, creating this recording for Clair de Lune that I don’t feel too bad about sharing:

It’s certainly better than the one I posted on a whim last year.

I also had this awful idea of setting up an HTTP server as well as email on a reverse DNS zone, since nothing in DNS prevented me from creating A and MX records on .arpa domains. As such, I created http://f.c.0.0.0.c.e.b.2.1.a.2.ip6.arpa/ (unfortunately, no one wanted to issue me a TLS certificate for this domain), as well as the email address [email protected]. Feel free to visit the website or test the email.

In July, I decided to start writing a series on the theory behind BGP. I’ve also continued working on my calendar apps, including implementing iCalendar export support on the French Republican Calendar. Try it out for yourself!

It was also in July that my old laptop broke down. While I mostly use my desktop these days, the lack of a laptop would prove quite annoying when I travel, so I began to search for a laptop that I liked. Eventually, I decided to give the Framework laptop a try, mostly because I liked the idea of being able to service my own laptop. I also didn’t like the idea of not being able to upgrade RAM or SSD or buying a laptop with RAM and SSD that I would replace immediately due to them being too small. The experience of assembling the laptop myself also appealed to me. With that in mind, I chose to pre-order a 13” Framework laptop with the Ryzen 5 7640U, though without the RAM or SSD since it was a lot cheaper to buy separately. It would be a while before it arrived, but I could live without a laptop in the meantime.

In August, I successfully applied to be an ARIN member and received my very own IP addresses—whose existence is not at the mercy of any LIR continuing to pay their fees. To achieve this, I had to apply for the trade name “Dynamic Quantum Networks,” which was an interesting experience. At least now I can legally do business under that name.

In September, wanting to peer with larger networks, I decided to join the Frisian Internet Exchange (FrysIX), which contains members like Cloudflare, Google, and Meta. I also joined a peering LAN that some friends of mine created, which turned into AccurIX.

I’ve also started learning Debussy’s Rêverie at this point, as I figured I might as well learn all the popular Debussy pieces that were easy, and the second Arabseque was a bit too fast. I still don’t have much to show for it though.

In October, I further expanded my network by joining the Kansas City Internet Exchange (KCIX), which allowed me to peer with large networks such as Amazon or Akamai. I also gained access to the St. Louis Internet Exchange (STLIX) and Houston Internet Exchange (HOUIX).

In November, I was unable to escape from the clutches of Black Friday. After seeing some amazing promotions, I upgraded my VPS which was connected to KCIX to a fully dedicated server. While this was the most expensive investment to date for AS200351, it also gave me the ability to run a lot more services on my own network, making it a lot more serious than just announcing my own IP addresses for fun.

Also, my new Framework laptop finally arrived in November. Unlike what I expected, there wasn’t that much assembly required despite choosing the DIY option. It was definitely very easy to get the laptop up and running though. Once it was assembled, I decided to install Debian on it, even though it wasn’t a supported distribution, mostly because I wanted uniformity across all my machines. Due to the newness of the hardware, I decided to use trixie, which was testing at the time (and still is at the time of writing). I was surprised to find that Debian installed and worked out of the box flawlessly. The only thing that required the slightest bit of effort was upgrading the firmware on the fingerprint sensor, after which even that worked perfectly. It seemed like the Framework laptop is very suited for Linux use and the Linux laptop experience has also improved significantly, especially on such bleeding-edge hardware. This made me very happy.

In December, I was able to fully migrate my Kansas City VPS to the dedicated server. This time, I chose to use Proxmox as the hypervisor solution, being rather sick of running libvirt and editing XML files manually. So far, Proxmox has worked rather well, and it certainly helps that it’s Debian-based and allows you to do things the Debian way instead of forcing you to use the GUI for everything.

Finally, I was able to do a decent job on the polyrhythms in Arabesque No. 1, resulting in this video:

While this is far from perfect, I still feel like I’ve managed to learn quite a bit, especially since I couldn’t play anything just last year.

That’s about it for the year. I am not sure what 2024 will bring, but I guess we’ll find out. Also, with rising costs for everything I am doing, if you would like to support what I am doing, you can do so via GitHub Sponsors, Ko-fi, or Stripe (CAD)—though of course, this is strictly optional.