Muchen He


Occasional memory dump of various things. The Archive lists all blog posts in reverse-chronological order.


Cleaning up Apple Photos Library with Python

Inspired by this reddit post: insert reddit post Using osxphotos library for Python, we can quickly access all photos in an Apple Photos...   Read more →


Embedding Self-Video Into Zoom Presentations using Slides as Virtual Background

I’ve gotten a lot of questions on how to make yourself part of the video during zoom presentations like: This is nice because: Aud...   Read more →


AirDrop not working? AdGuard installed? Here's the Workaround

AirDrop is a feature of the Apple ecosystem that allows easy file transfer across devices. But for the last couple of months I just coul...   Read more →


Creating Custom Day/Night Cycle Dynamic Wallpaper for macOS Under 30 Minutes

Since macOS Mojave (macOS 10.14), dynamic wallpapers have become one of my favourite things about the OS aethetics. How it works is that ...   Read more →

2020-07-12 LINUX

Installing Realtek Wireless Driver for Ubuntu on a Desktop PC

Recently I did a fresh install of Ubuntu (actually Kubuntu) 20.04 on my desktop PC. Unfortunately, my PC motherboard (Gigabyte Z370) does...   Read more →


CSS Dark Mode

With the rise in popularity in dark mode across operating systems like iOS, macOS, Windows, etc., it is important to also update webpages...   Read more →

2019-12-28 PROGRAMMING

Terrain Generator - Part 1: Theory

Let’s make a simple height-mapped based terrain generator. We will use Processing 3 for this project because it is easy to write code in...   Read more →

2019-10-14 APSC

APSC 160 Lab Statistics

Here are some of the statistics I’ve collected for the APSC 160 labs. Because I only run the lab sections L1T, L1K, L1O, and L1D (for the...   Read more →