Despite seeming like a totally normal website that you might find on the Internet, peterjin.org sort of has a long history.
The old days (prior to 2020)
In May 2018, to celebrate my high school graduation, I registered the domain name peterjin.org on GoDaddy. I chose this domain because it has my first and last name (middle name/initial omitted because not everyone knows about my middle initial). I chose the ".org" TLD since at the time of registration, there was no commercial intent (i.e., I wasn't selling any products or services).
I set up the initial email configuration with GoDaddy's Office 365. It was adequate for most purposes, and the $5 per month was quite affordable, and I knew that I could switch to other mail providers in the future and still keep my addresses.
The website was set up a day later with GitHub Pages, with hand-written HTML code. We had IPv6 at home and realized the importance of IPv6, but it was still IPv4-only.
Sometime during July 2018, I realized that GoDaddy was a bit "sub-par", so to speak. IPv6 was not included, and DNSSEC was a paid add-on. We moved to Cloudflare for DNS and hosting, plus GitLab Pages as the origin server. It was advantageous, from my perspective, since we could use the latest standards like IPv6, DNSSEC, and HTTPS.
The web clock was rolled out sometime during the end of July 2018. We used Google App Engine to deliver the time API for the web clock, and in retrospect, I have not needed to even spend one cent on Google Cloud Functions since it was within the free tier.
Around November or December, I rolled out apps-vm2. Apps-vm1 was a Google Compute Engine instance, but it wasn't really up to my standards since it did not have IPv6 and did not have a stable IPv4 address. Apps-vm2, on the other hand, was dual-stack, but I was also worried about the fact that if my website ever became popular, I would have to spend a lot of money on hosting and bandwidth, so hosting the main website on the VPS was completely out of the question.
Apps-vm1 came out sometime during the end of February. It was just intended as a companion/backup server to apps-vm2.
The website was redesigned sometime during the middle of March 2019. I used a simple Bootstrap theme that I designed from scratch, but with a custom script instead of editing HTML.
This was also the same time I introduced sending email from my own personal servers rather than through Office 365 and Mailgun. The email receiving part was totally fine, and I did have two receiving email servers, but the main problem was sending. Since VPS IP addresses are known to be tainted due to the spam activity that often goes around people who use the servers in bad faith, my emails would often end up in the spam folder, especially with Hotmail and Symantec. Because of this, I still had to keep Mailgun and Office 365.
Sometime during this period (I don't know exactly when), realizing that the actual bandwidth usage was only on the order of a couple hundred megabytes per month, I also switched from Cloudflare to VPS's since I wanted to be in control of things like SSL parameters, which I have only become recently interested in, so they're now hosted on apps-vm1 and apps-vm2.
Apps-vm3 was introduced during the end of June 2019, and one of the things I was hoping to get out of it was better email sending reputation, but otherwise, it was sort of a relocation and reinstallment of apps-vm2.
I didn't really have time to do anything for about a year since it was mostly experimenting with other services and finding good names to use for Aliases 3000, but this MediaWiki installation was at least introduced during the end of February 2020.
Then there was this thing called the "coronavirus" and I was forced to go back home from U of I.
The new days (since March 2020)
We all know that COVID-19 hit us hard. We're all forced to socially distance ourselves six feet (1.8 m) apart, and we're all forced to wear masks now. But there was a major upside. I no longer have to spend money on housing or food at U of I now, so I sort of have a bit of surplus money.
So I used it to follow an ambition. A useful ambition, so to speak. An ambition that will last a lifetime. That ambition was to get our very own IP addresses. Not from an ISP, but from ARIN. One of our VPS providers offers BGP sessions, so I knew this would work.
As we all know, the world is running out of IPv4 addresses, so the only type of addresses I thought I could initially justify was IPv6 addresses. Knowing that all networks will have to go IPv6 sometime in the future. I requested this type of address first. There was no thought of requesting IPv4 addresses or even an ASN, mostly due to my very limited budget.
After a few weeks of support tickets with ARIN, I finally received my addresses, and started to renumber my home network. I used the 2602:806:a001::/48 range for my home network, since I knew that it was likely going to be multihomed in the future.
But at this point, even though we have a /48, we just couldn't use it on the public Internet. Instead, the addresses were mapped to ISP addresses using a many-to-many NAT66, which I used to like since my version did not give the same public IP address, but now I don't really like it at all except in very specialized circumstances. So even though we have our own IP addresses, we're forced to use the service provider's IP addresses on the public internet.
Fortunately, one of the VPS providers, Vultr, offers free BGP sessions, and I sort of wanted to use it to connect my home network. Initially, I never really thought of registering an AS number, but I also felt that having my own AS number just made it seem more professional, and it will become multihomed sometime in the future, since I recently registered with VMHaus, which also offers free BGP sessions with its service.
I got the ASN and set up the BGP session. It worked well for pretty much any purpose, but since it was still IPv6-only, I felt like it was still not done.
However, after reading ARIN's number policy manual again and applying the fact that any statement about the elements of an empty set is always true, I felt like I was sort of eligible for IPv4 addresses. I decided to apply under the 4.10 policy, since it represents the newest of networks and is also directly related to IPv6 deployment, something that I feel very strongly about.
After another few weeks of ARIN support tickets, I finally got my IPv4 addresses, and started to come up with a plan to use them, since ARIN doesn't like it if the addresses just sit unused.
Realizing that these addresses are my own now and not the property of some VPS provider, I started to take advantage of the benefits. For example, email deliverability seems to have improved, on both IPv4 and IPv6. I can sort of "show off" these addresses by sending email with those addresses to people at U of I and by accessing U of I websites using those addresses just like how I would normally, except that now they have my name on it. Horrible for privacy, but sometimes I sort of want to be identified on the Internet.
This also means that since the addresses are not tainted anymore, email providers will be more accepting of our emails, and the need for G Suite or Office 365 is much less important.