

























For months, I had received calls from Amazon drivers asking me if I would like my packages. “Of course”, I would always tell them. But still, I was wondering why this happened so frequently.
Until probably two months ago, I asked the Amazon driver why you always asked me this question. I thought it was their fault. But he told me, “you left an instruction saying you want the order cancelled, please not deliver the item”.
Well, it came to my mind that, yes, I did leave such instruction for an order. I didn’t notice that this instruction was saved and used for all future orders.
But now I think it makes sense, it is the instruction for the delivery at this address – the address doesn’t change, neither does the instruction.
Procrastinated for two months, I finally remembered to erase this instruction.

Going to receive my first COVID-19 dose tomorrow.
I recovered 100% about two days after the shot.
I will have my second does in late August. Almost four months hope that as more vaccine doses are coming, the appointment could be advanced.
By the way, the vaccine I received was Moderna. I preferred Pfizer actually, but what vaccine is used depends on what vaccine doses are delivered on that day. So, there is no option. And Moderna is using the same technology (mRNA) as Pfizer, so I don’t think there will be a big difference.
The doctor told me the protection rate would be 85% two weeks after the first shot, so, I plan to visit the university for the first time since March 2020, this Sunday.
Booked my vaccine appointment today.
I will be vaccinated next Sunday.
This article is about how I deploy a Linux, Apache, MySQL, and PHP (LAMP) environment on my DigitalOcean VPS.
I wrote this article in Chinese originally. I borrowed some ideas from the internet.
(more…)I was doing a refurbishment for my personal website right here. The idea came from Felix Wong.

In the hover panel, first thing first, there is the area for the menu. Below the menu, there is a search bar. Under the search bar, there is an area for widgets. In the end, there is the menu for switching languages.
The button itself is the picture used as the Site Icon for Twenty Twenty Theme. The width of the hover panel is 76% or 38.2 (the golden ratio) depending on the screen size. The opacity is 0.9, which is “semi-transparent”.
Felix proposed a good question that for some devices, the position of the notch might affect the visibility of the hover panel button.
To resolve this, I am thinking about the following solution:
First: I need to write some script to detect the position and shape of the notch. I hope that I can do it with JavaScript only.
Second, I need to check if the notch influences the visibility of the hover panel.
Lastly, if the notch doesn’t exist or it doesn’t matter at all, no action is required. Otherwise, I need to adjust the padding-top of the hover panel to prevent it from being overlapped.
Today is the first day of the Year of the Ox, which happens once in twelve years.
So, whether you are celebrating it or not, I wish you a prosperous year!

Did you use to be addicted to Snake?
Now, with the help of a TensorFlow model called PoseNet, you can get a totally different experience with this classical game. That’s because:
You can now use your face to control the snake!
Have a try here: https://projects.panchen.ca/snake/
Acknowledgements:
A Chrome extension that automatically redirects webpages to myaccess.utoronto.ca with one-click. Save people’s time! It may take people 5 seconds to 10 seconds to copy and paste myaccess.utoronto.ca in the address bar, but now it is just one click.

More Background:
For many papers we find online, they are not free or are login-required. For instance, this one from ACM digital library at https://dl.acm.org/doi/10.1145/352871.352887.

However, UofT library mirrors a great number of websites, including ACM digital library, and grants access to the UofT community.
For example, UofT library mirrors this page at https://dl-acm-org.myaccess.library.utoronto.ca/doi/10.1145/352871.352887. If you are a UofT student, you get access to that paper using this link.
And there is a pattern in the URL conversion. This extension does this job for you. You don’t need to convert the URL yourself, all you need is one-click.
The extension is published in Chrome web store: Click here to add it.
So far, there have been four versions of my personal website.
At the very beginning, my personal website was HTML+CSS+JavaScript, with no backend, just frontend. Even though it could be hosted in GitHub pages, I still hosted it on a server.

Link: Pan Chen’s Website (first version)
I brought PHP and MySQL into my personal website, made it a dynamic web page such that the visitors could leave comments to me.
Also, I made a resume management system for this version, I could update my online resume without touching the HTML code.
It once won a 100% Lighthouse performance score.
I hosted this version on a Ubuntu server with the LAMP stack.
Since May 6, 2020, I had been refactoring my personal website using Laravel, the PHP framework which follows the model–view–controller architectural pattern.

Link: Pan Chen’s Website (third version)
On December 6, 2020, I started the work to integrate my personal website into a WordPress site. To speed up, I moved to LNMP stack, and used the global CDN provided by Baidu.
This is the latest version.

Notes
Credits
