Author: Pan

  • TopCashback works and is an awesome choice for online shopping

    In May, I bought a VPN service. The price was a little high, but with TopCashback, I successfully saved 65% in total – today, I received a VISA pre-paid card from them.

    The only drawback is that it takes a little longer to process, about two months. But I feel like as long as it works, it doesn’t really matter to wait. So, I can confirm that by using TopCashback, we can save money!

    I won’t talk about how to use TopCashback, but it is very simple and it is easy to find a tutorial. Have fun saving money as I did!

  • Bulk image optimization by ShortPixel takes forever to finish, and today I know why – it is my fault

    I have a personal blog in Chinese, which I have been running since 2016. It is my first WordPress site. I decided to make it serve WebP images for the sake of speed. I had lots of ShortPixel credits so I ran “bulk image optimization” in the media library after installing the plugin, expecting the process would be complete after a day.

    However, when I wake up, the process bar stuck at ~40%. It was so annoying, but I didn’t have any clue why – I chose to wait. Even after several days, the process bar stuck still at ~40%. I knew something was wrong.

    And I wrote a backup script, so as long as a change occurs in wp-contents/uploads, the script is called, and some of my Google Drive space will be consumed. Every day I saw new backup was made for my personal Chinese blog – it was because the new WebP images were generated. But I just didn’t know why it took forever to finish.

    However, today, after reviewing the reminder of ShortPixel carefully, I notice that it says, when the browser tab is closed, the bulk optimization process will be paused…

    So, my bad. I shouldn’t close the browser tab (although I don’t think it makes sense because my VPS can upload the original images to ShortPixel servers, and fetch the converted optimized images?).

    Today I have learned that whenever we use a product, we should read every single message it shows carefully!

  • Leaving my first job today at Infrastructures For Information

    Today, I am leaving my position as Software Developer at Infrastructures For Information (i4i).

    I feel so down, and I even want to cry… I don’t know why, but I just feel that it is my first job, it is my regret that I can not work with them for a longer period. Also, my journey of the internship was destroyed by the pandemic. I had an offer at another company at the beginning, but suddenly my offer was revoked after the COVID-19 break, then, i4i gave me the chance to explore software development. I am very grateful for it.

  • Received my second Moderna dose today

    Today at 2:23 PM, I received my second Moderna dose.

    My second dose had been scheduled for August 29, but thanks to the vaccination acceleration, I managed to reschedule it early this week, and finally got it this afternoon.

    So far, I am feeling normal, which is similar to the first dose. But maybe in several hours, I will feel something uncomfortable, I am ready for it.

  • Back to UofT campus on May 23, first time in the past 14 months

  • I had received calls from Amazon drivers asking if I would like my packages delivered for months, and today I finally fixed this issue

    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.

  • Received my first COVID-19 dose on May 9

    Waiting for vaccine
    Waiting for vaccine

    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

    Booked my vaccine appointment today.

    I will be vaccinated next Sunday.

  • How to install Linux, Apache, MySQL, PHP (LAMP) stack on a Ubuntu VPS to host websites

    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…)
  • Personal Website Update: Hover Panel

    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.

涵琪bb我爱你😘