Aug. 13, 2021

The story starts before my undergraduate student life got started. I might have just left my hometown recently, and the scenery outside the window was as beautiful as ever. Since I arrived too early than school started, I got a chance to stay with my host family for a few days.

At first, I spent several days figuring out what I could do because there was no homework and I lived far away from the city center. One of my friends built a blog (This blog is written in Chinese), which interested me for some reason. Instead of messing around daily, hosting a blog can spend me some time and make my life more meaningful.

00-spokane-2021

▲ This picture is real while I stayed with my high school host parents!

Well, dreams are always better than reality. It was hard for me even to start because I did not have any coding experience. Most blog frameworks, like WordPress or Hero, are based on the Linux environment. Almost nobody uses Windows or any GUI to build and maintain a blog in the long run.

SSH, SFTP, Linux, Nginx, Mysql, PHP, SSL Certificate... lots of terminologies. They are all hard for a beginner, especially for someone who never touched coding before.

01-Linux-editor

After spending around a week, I used an automated script lnmp to build Nginx, Mysql, and PHP environments. So I can use WordPress to set up my new website. It was up online on August 13, 2021.

WordPress is a highly customizable blog framework. The style of the website depends on the theme you are using. After another few days of searching, I finally chose Argon as my blog theme. This theme is highly complete and has comprehensive functions; it was too friendly for me then.

02-the-website-history-sep-29-2021

▲ My first blog is based on WordPress Theme Argon

Nov. 14, 2021

To be honest, the first-year class was neither stressful nor difficult. Since my high school covered most of the content, I focused on CSE110 (Java Fundamentals). I am very interested in code, and the textbook is very systematic. Especially when the code written by myself runs, it is gratifying. Thus, I posted some study experience then. I should especially thank professor Miller.

Meanwhile, some issues were coming up. One of the obvious problems is that the website domain name is too long. Hence, I purchased a shorter web domain, the current domain.

Furthermore, Digital Ocean's Server seems too expensive for a small personal blog. Just in time for the Black Friday sale, I purchased a cheaper server and started my first migration to my blog.

03-racknerd

▲ The server provider is called RackNerd (This is a bad name...)

Mar. 20, 2022

Half a year later, there are more problems emerged.

Unstable connections in mainland China, many redundant functions in the WordPress theme, DDOS risks, etc...

I set up my blog's server in mainland China this time. Instead of using WordPress, I migrate my whole blog to the Typecho framework and Initial theme. Because the server has limited bandwidth, all pictures are stored in the object storage and distributed by the CDN. It was officially up online on March 20, 2022.

04-the-website-history-jul-22-2022

Oct. 30, 2022

I recently realized there is some update of the Initial theme. I personalized the theme in some way while I kept it up to date. Specifically:

  • Added fancy box so that you can enlarge photos
  • Picture and code boxes are changed to rounded corners.
  • The default font size is larger, and the default line spacing is increased.
  • No longer display the number of comments (For mainland China ONLY).
  • Added last update date reminder in each Post.

05-the-website-history-oct-30-2022

I'm trying to write a theme myself next time, but there is still a lot to learn now...

Jan. 18, 2023

In order to meet some demands, I prepared to build my English version website back on Nov. 2022. It is not an easy job; Object-based Storage, Content Delivery Network, etc. I also changed the server provider to gain a more smooth experience, hopefully. Now, it is ready to up online! -:)

06-en-dan-blog-up-online

▲ My English Version Blog Preview

Mar. 09, 2023

The cloud service provider was down, and this also caused permanent data loss. I spent 3 days recovering the website from the backup. Check out this post for more information on this incident.

Apr. 09, 2023

07-support-dark-mode

One of my friends reflected the Chinese blog could not be loaded. I realized that Verizon banned my Chinese Server IP address for an unknown reason, and it is still not working after I changed to a new IP address. I did not intentionally meet the same problem when connecting my Chinese blog through airport WiFi. The issue has now been fixed by using the CDN service. I also update some other parts, by the way:

  • Updated Highlight.js library to support rendering more language
  • Now support Dark Mode

Sep. 25, 2023

  • Installed Security Update: 1.2.1

Oct. 14, 2023

  • Routine Maintenance
  • Replaced CDN and Object Storage Provider (Chinese Site Only)

Nov. 14, 2023

The website underwent significant visual optimizations to enhance the browsing experience. The specific optimizations are as follows:

  • The update date of articles will now be displayed in the "Meta Data" section, no longer appearing in the same section as the "Content Expiration Reminder" block.
  • Fixed a bug that may have prevented the "Content Expiration Reminder" block from displaying correctly. Note: The English site has not implemented the "Content Expiration Reminder" block so far.
  • The default font for code blocks has been changed to JetBrains Mono to improve code readability. The Chinese site will load the font directly from the server, while the English site will load font files from jsDelivr.
  • All titles of posts will be marked with # to indicate their hierarchical relationship.

In addition, the website now support some new features:

  • Support rendering LaTeX math equation
  • The Chinese site has added authentication tokens to images. Currently, this is in the testing phase, and it is not ruled out that it may be removed in the future.