Controlling a HomeKit Door Lock with UniFi Access
UniFi Access was the only thing missing from my UniFi collection. How could I not get one? I have an August Gen4 lock at home and can't install a magnetic lock,…
Controlling multiple HomeKit devices with Wio Terminal
With some spare time on my hands, I wanted to try Arduino development. As luck would have it, I spotted the Wio Terminal on sale on Amazon and bought two, think…
Fixing fluctuating backlight brightness on a Samsung smart TV
Many people blame power-saving mode for the dim picture, but even after you turn it off, the screen keeps changing brightness. (You should still turn it off.) I…
My New Home Network Runs on UniFi
When I started tinkering with networking, I got hooked on the basic UniFi lineup (USG, CK, USW). But when the Unifi Dream Machine came out, I fell even deeper i…
How to send your WP comments to QQ — the Comment2QQ plugin
Sending WordPress comment notifications to QQ seemed like a fairly new idea, and I couldn't find an existing plugin online. So—yes, “so” again—I wrote another p…
My homemade real-time COVID-19 dashboard for Niagara Region
For a while, Niagara Region barely published any data beyond a single number, so I had the idea of recording it myself and making my own charts. The site passed…
Importing My University Timetable into a WeChat Mini Program
At university, I probably check my timetable more often than anything else. Looking it up on the school website every time is a hassle. Save it to your photo li…
A Closer Look at My Smart Home and Home Assistant Configuration
Introduction: Home Assistant is a Python-based open-source smart home system. It supports devices from many brands, so you can set up voice control and automate…
Monitoring a Webpage and Sending Notifications with Python and Selenium
A few days ago, I started exploring web scraping with Python. As it happened, I needed a crawler that could monitor a webpage over a long period and notify user…
A Weekend in Algonquin Provincial Park
Covered by millions of maple leaves, the prettiest autumn colors can easily be found in Algonquin Park, southeast Canada. Autumn colors in Canada's Algonquin Pa…
Displaying PC temperatures and utilization on a Raspberry Pi's 5-inch screen
This project displays the PC's status information on a small Raspberry Pi screen, so I no longer need an overlay in the upper-left corner when playing games in …
Common and Hidden Instructions in SHENZHEN I/O (Spoilers)
Basic instructions nop Does nothing. mov R/I R Copies the first operand into the second operand. jmp L Jumps to the specified label and executes the next instru…
Using Conditional Instructions in SHENZHEN I/O
test 1 - Run if test 1 fails + test 2 (run if test 1 passes) + Run if test 1 and test 2 pass - Run if test 1 fails, or if test 1 passes and test 2 fails - test …
Showing Custom Images on the UniFi Cloud Key Gen2 Plus OLED Display
In /lib/systemd/system, there are files such as ck-splash-reboot.service containing the following: [Unit] Description=Boot error splash screen DefaultDependenci…
Installing the UniFi VoIP Controller on a Cloud Key and Fixing a Java Dependency
Tested with UniFi CloudKey Gen2 Plus v.1.0.6 and UniFi VoIP Controller v1.0.1 1. Use wget to download the UniFi VoIP Controller installer from the official UBNT…
A homemade WordPress upload plugin for Chevereto image hosting
Uploading images to Chevereto is easy and saves bandwidth and other server resources. But I couldn't find a plugin for uploading directly from WordPress to the …
Setting Up a Steam Cache Server in Seven Steps
Here's how to run a Steam cache in Docker on Ubuntu and download games at LAN speeds.
Upgrading the Home Network in Canada!
I signed up for an affordable, fast Cogeco broadband connection at home: 120 Mbps upload and 20 Mbps download.
You’re all caught up. Thanks for being curious.















