Last year we engaged with Four Seasons Sunrooms to add a sunroom at the back of our house. It took about a year for us to finalize the engineering drawings, pass the Community of Adjust process with the city of Richmond Hill, and finally obtaining the permit.
Today we finally broke ground!
Below is a short video to remember this event.
Our backyard security video captured the event nicely.
Today, I found it strange that with a clear, blue, sunny sky, our solar generation is half of what I expected. I then noticed that one of our two SolarEdge inverters was showing a fault.
Today, we had a double-digit temperature, and it was warm enough for us to hike around our neighbourhood park. I took with us our new Sony A6700 camera and snapped a few photos. The sun was shy, hiding behind clouds, but there were a few moments when the blue sky made an appearance.
On March 15th, 2025, I decided to restart my photography hobby by purchasing a brand-new A6700 Sony camera suitable for taking photos and videos.
Right after unboxing with its kit lens 18-135mm f3.5-5.6 OSS
Kalen purchased it from Aden Camera at Pacific Mall with a small discount. The total cost, including taxes, amounted to $2,487.10. The photo of it on the right is with my iPhone 16 Pro.
Zhou Shen Light Baton
This is not going to be a review of the product. Others have already done an exhaustive review of this camera. No point for me to duplicate their work. I doubt I will be able to add anything new. I will, however, share some of the photos that I took with this camera. These first batches were with the 18-135mm f3.5-5.6 OSS Sony Kit Lens.
The first photo is of my wife busy with cooking dinner while I just completed my unboxing. The others were taken in a dark bedroom using a light baton that was a Zhou Shen (周深) concert souvenir.
I then supplement the original kit with a few lens purchases:
On Friday, Carol and I, along with our neighbours, attended the Zhou Shen concert at the Coca Cola Coliseum in downtown Toronto inside the Exhibition Place.
It was really exciting to see Zhou Shen in person. We all enjoyed his heavenly vocals. The three-hour concerts started at 8 pm without any intermissions. Time flew by really fast.
In the past, when I got hold of a video that has hdmv_pgs_subtitle subtitle streams, I have always ignored it. Instead I tried to find a compatible subtitle in .srt format on the opensubtitles.org website. Today I came across a video that I am trying to archive that does not have the appropriate subtitles that I wanted. All of this would not have been an issue if my preferred mp4 format actually supports the hdmv_pgs_subtitle format.
I know an OCR (Optical Character Recognition) technique for extracting the subtitles from the hdmv_pgs_subtitle stream, but I am always in a hurry. This time, I bit the bullet and went down on this path.
Below are the steps that I had to go through.
First I had to download and install ffmpeg and mkvtoolnix packages on my Linux machine, and then execute the following commands to extract the Chinese subtitles that I wanted.
After the above commands, I will have mysub.idx and mysub.sup files. The first are the time index codes and the latter are the subtitle images.
On a Windows virtual machine, I had to download Subtitle Edit, a subtitle editor tool that has the OCR functionality, and convert the mysub.idx and mysub.sup into mysub.srt, which I can then later use to re-incorporate back into the archive video file.
After the OCR is completed.
Above is a screenshot of the application after the OCR is completed. I found that the engine mode of Tesseract + LSTM worked the best. Of course, I had to select the matching language that is befitting of the subtitle. Once I saved the finished product as mysub.srt I can then use this file to create archive.mp4 using ffmpeg.
Effectively, this article reports that after February 26th, you can only download books from the Kindle store to your Kindle device over Wi-Fi. This means that ebooks you purchased can no longer be downloaded and converted into an epub format to be consumed by another e-reader like Apple’s Books.app, which I normally do on my iPad or iPhone.
Of course, this policy change poses an immediate problem for me when consuming or reading my ebooks. However, it also in my view crosses an ethical boundary. Digital media such as ebooks, which you have paid full prices for, is no longer yours. The buyer of such content is at the mercy of the distribution platform, in this case Amazon. This simply does not sit well with me. In the past, Amazon has also been known to remove purchased content due to changes in distribution rights, which is normally outside of the buyer’s control.
I now have to adopt a new process that I will use whenever I buy ebooks from the Kindle platform. I will describe this process in detail below so that in the future should I need to refer to it, it is here.
This process will remove the Digital Rights Management from the ebook that you just purchased and allows us to store a DRM-free ebook in Calibre, an ebook management software. This process will only work on Windows, so I had to spin up a Windows virtual machine for this purpose.
Software required:
Figure 1 (Click image to enlarge)
Calibre (use the link to download the software for Windows);
DeDRM plugin (use the link to download the zip file);
KFX Input plugin (use the Calibre Preferences & Plugins to search);
Install the above Calibre plugins with the Preferences –> Plugins management;
Kindle for PC (must be version 2.4.0 (70904));
Use Kindle for PC to browse and access the ebooks that have been purchased from Amazon, and download the ebook you would like to convert.
Use Calibre and its Add books functionality to import the azw file from the My Kindle Content. See Figure 1 for details.
Once the book has been imported, Calibre should have a KFX format of the book. We need to convert it to the epub format for other reader devices using Calibre’s Convert books functionality.
I then move the epub formatted ebook onto my macOS Calibre version for long term storage and management.
I recently wanted to install an M.2 NVMe to PCIe 4.0 X4 Adapter on an existing server. The idea was to install a new NVMe SSD drive, and the motherboard had no more M.2 sockets available.
The server is running Proxmox with Linux Kernel 6.8.12. I thought this should be a 15-minute exercise. How wrong I was. After installing all the hardware, the system booted up but there was no networking access. This was especially painful because I could no longer remote into the server. I had to go pull out an old monitor and keyboard and perform diagnostics.
I used the journalctl command to diagnose the issue, and found the following entry:
Feb 01 13:36:21 pvproxmox networking[1338]: error: vmbr0: bridge port enp6s0 does not exist
Feb 01 13:36:21 pvproxmox networking[1338]: warning: vmbr0: apply bridge ports settings: bridge configuration failed (missing ports)
Feb 01 13:36:21 pvproxmox /usr/sbin/ifup[1338]: error: vmbr0: bridge port enp6s0 does not exist
Feb 01 13:36:21 pvproxmox /usr/sbin/ifup[1338]: warning: vmbr0: apply bridge ports settings: bridge configuration failed (missing ports)
The above error message indicates that enp6s0 no longer exists. When I looked at earlier messages, I noticed this one:
Feb 01 13:36:15 pvproxmox kernel: r8169 0000:07:00.0 enp7s0: renamed from eth0
It looks like the interface name has been changed from enp6s0 to enp7s0. Therefore the correct remedy is to edit the /etc/network/interfaces to reflect the name change. Below is the new content of the file.
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface enp7s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.188.2/24
gateway 192.168.188.1
bridge-ports enp7s0
bridge-stp off
bridge-fd 0
iface wlp5s0 inet manual
This would be very annoying if the old interface name was used in many other configuration files. There is one other reference that I found on the Internet (https://www.baeldung.com/linux/rename-network-interface) detailing a way to change the network interface name using the udev rules. I did not try this, but something to keep in mind in the future.
In a previous post and on another home server, I did fix the name using netplan, but Proxmox is not using it.