Category Computer Stuff

Running LINE Messenger in Ubuntu 14.04

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/02/09/running-line-messenger-in-ubuntu-14-04/

Converting a Router into a Switch

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/09/08/converting-a-router-into-a-switch/

Undervolting the Processor

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/08/16/undervolting-the-processor/

Snow Leopard on a Dell Inspiron 1520

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/11/snow-leopard-on-a-dell-inspiron-1520/

Snow Leopard on a Virtual Machine

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/08/snow-leopard-on-a-virtual-machine/

My Brief Experience with iPodLinux and Rockbox

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/09/my-brief-experience-with-ipodlinux-and-rockbox/

iPod Only Plays Sound on One Side

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/04/ipod-only-plays-sound-on-one-side/

Category Electronics

Integrating A Ecobee Smart Thermostat with Home Assistant

I replaced the existing thermostat with an Ecobee since there was an government energy incentive, and integration with the rest of my home automation setup.

Server Cabinet Cooling Using Relay-Controlled 140 mm Fans

This is a pretty trivial project - there is a server in a cabinet that needs cooling. The cabinet door has holes, but without proper airflow, the heat generated from...

Fixing a Bent Ethernet-Port Pin

When an Ethernet port stops working, it could be one of the small metal contacts inside the Ethernet port has been bent out of position. This can happen if an...

Attempting a DIY CNC Mill

From 2014 to 2016, I worked on and off for about two years on building a table-top 3-axis CNC milling machine. The goal was ambitious: cut aluminum parts with at...

MECH 45X – Designing the Motor Control Circuit

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/02/21/mech-45x-designing-the-motor-control-circuit/

Setting Up Karaoke (KTV) Like an Actual Karaoke Place at Home Using JetKTV

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/01/02/setting-up-karaoke-ktv-like-an-actual-karaoke-place-at-home-using-jetktv/

Repairing a Laptop Display That Is Dim or Has a Black Corner

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/12/27/repairing-a-laptop-display-that-is-dim-or-has-a-black-corner/

Serial Communication in Java with Example Program

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/01/01/serial-communication-in-java-with-example-program/

XBee Setup Tutorial

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/10/11/xbee-setup-tutorial/

Undervolting the Processor

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/08/16/undervolting-the-processor/

iPod Only Plays Sound on One Side

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/04/ipod-only-plays-sound-on-one-side/

Category iPod

My Brief Experience with iPodLinux and Rockbox

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/09/my-brief-experience-with-ipodlinux-and-rockbox/

iPod Only Plays Sound on One Side

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/04/ipod-only-plays-sound-on-one-side/

Category Linux

Running Selenium Webdriver on WSL2

This post is recreated from the original at https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/

Installing Seafile with Docker and Apache 2

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/

Setting Up Your Own Counter-Strike 1.6 Dedicated Server via Docker

This post is recreated from the original at https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/

Running Selenium Webdriver on Bash for Windows

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/

Moving an OS to Another Disk and Still Have It Boot with Linux

This post is recreated from the original at https://blog.henrypoon.com/blog/2016/01/28/moving-an-os-to-another-disk-and-still-have-it-boot-with-linux/

Running League of Legends in PlayOnLinux (Ubuntu 14.04)

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/08/running-league-of-legends-in-playonlinux-ubuntu-14-04/

Running TurboTax 2014 in PlayOnLinux

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/07/running-turbotax-2014-in-playonlinux/

Running LINE Messenger in Ubuntu 14.04

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/02/09/running-line-messenger-in-ubuntu-14-04/

My Brief Experience with iPodLinux and Rockbox

This post is recreated from the original at https://blog.henrypoon.com/blog/2009/12/09/my-brief-experience-with-ipodlinux-and-rockbox/

Category Hackintosh

Snow Leopard on a Dell Inspiron 1520

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/11/snow-leopard-on-a-dell-inspiron-1520/

Snow Leopard on a Virtual Machine

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/08/snow-leopard-on-a-virtual-machine/

Category Virtualization

Snow Leopard on a Virtual Machine

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/08/snow-leopard-on-a-virtual-machine/

Category MacOS

Snow Leopard on a Dell Inspiron 1520

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/06/11/snow-leopard-on-a-dell-inspiron-1520/

Category Hardware

Attempting a 3D-Printed Steam Engine

I attempted to build a small, single-stroke reciprocating steam engine. The initial goal was simply to see whether I could make the mechanism work: convert the back-and-forth motion of a...

Attempting a DIY CNC Mill

From 2014 to 2016, I worked on and off for about two years on building a table-top 3-axis CNC milling machine. The goal was ambitious: cut aluminum parts with at...

Repairing a Laptop Display That Is Dim or Has a Black Corner

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/12/27/repairing-a-laptop-display-that-is-dim-or-has-a-black-corner/

Converting a Router into a Switch

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/09/08/converting-a-router-into-a-switch/

Undervolting the Processor

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/08/16/undervolting-the-processor/

Category Networking

Fixing a Bent Ethernet-Port Pin

When an Ethernet port stops working, it could be one of the small metal contacts inside the Ethernet port has been bent out of position. This can happen if an...

Converting a Router into a Switch

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/09/08/converting-a-router-into-a-switch/

Category Programming

Advent of Code 2024

By 2024, Advent of Code had become something of a December tradition.

Advent of Code 2023

By the third year of Advent of Code, I had apparently accepted that a December full of programming puzzles was a tradition.

Bank Statement Importer for GnuCash, Part 7: Calculating Investment Returns

This is Part 7 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Advent of Code 2022

Apparently, Advent of Code 2021 was enjoyable enough that I came back for another twenty-five days of puzzles in 2022.

Advent of Code 2021

A friend introduced me to Advent of Code as a fun Christmas activity. That was true at first.

Bank Statement Importer for GnuCash, Part 6: Adding ML Transaction Classification

This is Part 6 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 5: Adding a Keyboard-First Review Interface

This is Part 5 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Running Selenium Webdriver on WSL2

This post is recreated from the original at https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/

Bank Statement Importer for GnuCash, Part 4: Importing Investment Transactions

This is Part 4 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Installing Seafile with Docker and Apache 2

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/

Bank Statement Importer for GnuCash, Part 3: Carrying Accounts Into a New Year

This is Part 3 of the Bank Statement Importer for GnuCash series.

Bank Statement Importer for GnuCash, Part 2: Attempting Automated Statement Downloads

Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads

Setting Up Your Own Counter-Strike 1.6 Dedicated Server via Docker

This post is recreated from the original at https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/

South Park LEGO Mosaic

A previous project focused on exporting LEGO mosaics to LDraw so they could be viewed properly in CAD: Fixing 3D Rotation in a LEGO Mosaic LDraw Exporter That work started...

Fixing 3D Rotation in PicToBrick, a LEGO Mosaic Generator

For a while, I was making LEGO mosaics. The process started as pixel art: draw an image on a grid, treat each LEGO piece as a pixel, and size the...

Snoopy LEGO Mosaic

Before experimenting with more complicated LEGO mosaics, I started with a simpler build: Snoopy sitting on top of his red dog house. Starting With Pixel Art The idea behind these...

Running Selenium Webdriver on Bash for Windows

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/

Jenkins Pipeline for Spring with Beta and Prod Stages and Deployment Rollback

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/

Moving an OS to Another Disk and Still Have It Boot with Linux

This post is recreated from the original at https://blog.henrypoon.com/blog/2016/01/28/moving-an-os-to-another-disk-and-still-have-it-boot-with-linux/

Bank Statement Importer for GnuCash, Part 1: CSV Parsing and Transaction Categorizer

As I got more bank accounts for different things like chequing, savings, credit cards, investments, etc., it got harder to keep track of where I was financially. So this is...

Migrating a WordPress Blog from WordPress.com to WordPress.org

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/04/03/migrating-a-wordpress-blog-from-wordpress-com-to-wordpress-org/

Running League of Legends in PlayOnLinux (Ubuntu 14.04)

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/08/running-league-of-legends-in-playonlinux-ubuntu-14-04/

Running TurboTax 2014 in PlayOnLinux

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/07/running-turbotax-2014-in-playonlinux/

Running LINE Messenger in Ubuntu 14.04

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/02/09/running-line-messenger-in-ubuntu-14-04/

Dota Minimap Analyzer

I built a tool to help track when enemy heroes are missing from the minimap in Dota. Since the game does not show when heroes are not visible on the...

Setting Up Trac with Visual SVN Server

This post is recreated from the original at https://blog.henrypoon.com/blog/2014/08/23/setting-up-trac-with-visual-svn-server/

Proof of the Farthest-in-Future Optimal Caching Algorithm

This post is recreated from the original at https://blog.henrypoon.com/blog/2014/02/02/proof-of-the-farthest-in-future-optimal-caching-algorithm/

Stock Analysis Tool

I built a small stock-analysis web application as part of teaching myself more about software engineering. The basic idea was to collect historical financial-statement data for public companies, store it...

Setting Up Karaoke (KTV) Like an Actual Karaoke Place at Home Using JetKTV

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/01/02/setting-up-karaoke-ktv-like-an-actual-karaoke-place-at-home-using-jetktv/

Numerical Methods for Non-Linear Optimization

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/01/29/numerical-methods-for-non-linear-optimization/

Serial Communication in Java with Example Program

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/01/01/serial-communication-in-java-with-example-program/

Axis and Allies 1940 Battle Calculator/Simulator Updated to v1.0

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/29/axis-and-allies-1940-battle-calculatorsimulator-updated-to-v1-0/

Axis and Allies 1940 Battle Calculator/Simulator

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/24/axis-and-allies-1940-battle-calculatorsimulator/

XBee Setup Tutorial

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/10/11/xbee-setup-tutorial/

Category Robotics

Robot Soccer at the RoboCup Small Size League 2013

In 2013, the UBC Thunderbots travelled to Eindhoven, Netherlands for RoboCup. The previous year, I had designed the dribbler. This time, I worked on the chip-kick system: the mechanism that...

Robot Soccer at the RoboCup Small Size League 2012

I worked on a robot for the RoboCup Small Size League (SSL), the fast-paced robot-soccer competition where small autonomous robots play soccer against one another. My role was on the...

MECH 45X – Designing the Motor Control Circuit

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/02/21/mech-45x-designing-the-motor-control-circuit/

UBC Engineering Competition 2011

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/11/06/ubc-engineering-competition-2011/

UBC Engineering Competition 2010

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/11/13/ubc-engineering-competition-2010/

XBee Setup Tutorial

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/10/11/xbee-setup-tutorial/

Category Engineering

Lego McLaren Formula 1 Race Car

This post is recreated from the original at https://blog.henrypoon.com/blog/2022/11/20/lego-mclaren-formula-1-race-car/

MECH 45X – Designing the Motor Control Circuit

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/02/21/mech-45x-designing-the-motor-control-circuit/

UBC Engineering Competition 2011

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/11/06/ubc-engineering-competition-2011/

UBC Engineering Competition 2010

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/11/13/ubc-engineering-competition-2010/

Category Competition

UBC Engineering Competition 2011

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/11/06/ubc-engineering-competition-2011/

UBC Engineering Competition 2010

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/11/13/ubc-engineering-competition-2010/

Category Games

Axis and Allies 1940 Battle Calculator/Simulator Updated to v1.0

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/29/axis-and-allies-1940-battle-calculatorsimulator-updated-to-v1-0/

Axis and Allies 1940 Battle Calculator/Simulator

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/24/axis-and-allies-1940-battle-calculatorsimulator/

Category Java

Jenkins Pipeline for Spring with Beta and Prod Stages and Deployment Rollback

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/

Serial Communication in Java with Example Program

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/01/01/serial-communication-in-java-with-example-program/

Axis and Allies 1940 Battle Calculator/Simulator Updated to v1.0

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/29/axis-and-allies-1940-battle-calculatorsimulator-updated-to-v1-0/

Axis and Allies 1940 Battle Calculator/Simulator

This post is recreated from the original at https://blog.henrypoon.com/blog/2010/12/24/axis-and-allies-1940-battle-calculatorsimulator/

Category Mathematics

Numerical Methods for Non-Linear Optimization

This post is recreated from the original at https://blog.henrypoon.com/blog/2011/01/29/numerical-methods-for-non-linear-optimization/

Category Audio

Setting Up Karaoke (KTV) Like an Actual Karaoke Place at Home Using JetKTV

This post is recreated from the original at https://blog.henrypoon.com/blog/2012/01/02/setting-up-karaoke-ktv-like-an-actual-karaoke-place-at-home-using-jetktv/

Category Mechanical Engineering

Robot Soccer at the RoboCup Small Size League 2013

In 2013, the UBC Thunderbots travelled to Eindhoven, Netherlands for RoboCup. The previous year, I had designed the dribbler. This time, I worked on the chip-kick system: the mechanism that...

Robot Soccer at the RoboCup Small Size League 2012

I worked on a robot for the RoboCup Small Size League (SSL), the fast-paced robot-soccer competition where small autonomous robots play soccer against one another. My role was on the...

Category RoboCup

Robot Soccer at the RoboCup Small Size League 2013

In 2013, the UBC Thunderbots travelled to Eindhoven, Netherlands for RoboCup. The previous year, I had designed the dribbler. This time, I worked on the chip-kick system: the mechanism that...

Robot Soccer at the RoboCup Small Size League 2012

I worked on a robot for the RoboCup Small Size League (SSL), the fast-paced robot-soccer competition where small autonomous robots play soccer against one another. My role was on the...

Category Personal Finance

Bank Statement Importer for GnuCash, Part 7: Calculating Investment Returns

This is Part 7 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 6: Adding ML Transaction Classification

This is Part 6 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 5: Adding a Keyboard-First Review Interface

This is Part 5 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 4: Importing Investment Transactions

This is Part 4 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 3: Carrying Accounts Into a New Year

This is Part 3 of the Bank Statement Importer for GnuCash series.

Bank Statement Importer for GnuCash, Part 2: Attempting Automated Statement Downloads

Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads

Bank Statement Importer for GnuCash, Part 1: CSV Parsing and Transaction Categorizer

As I got more bank accounts for different things like chequing, savings, credit cards, investments, etc., it got harder to keep track of where I was financially. So this is...

Stock Analysis Tool

I built a small stock-analysis web application as part of teaching myself more about software engineering. The basic idea was to collect historical financial-statement data for public companies, store it...

Category Data

Stock Analysis Tool

I built a small stock-analysis web application as part of teaching myself more about software engineering. The basic idea was to collect historical financial-statement data for public companies, store it...

Category Algorithms

Proof of the Farthest-in-Future Optimal Caching Algorithm

This post is recreated from the original at https://blog.henrypoon.com/blog/2014/02/02/proof-of-the-farthest-in-future-optimal-caching-algorithm/

Category Windows

Setting Up Trac with Visual SVN Server

This post is recreated from the original at https://blog.henrypoon.com/blog/2014/08/23/setting-up-trac-with-visual-svn-server/

Category Gaming

Setting Up Your Own Counter-Strike 1.6 Dedicated Server via Docker

This post is recreated from the original at https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/

Running League of Legends in PlayOnLinux (Ubuntu 14.04)

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/08/running-league-of-legends-in-playonlinux-ubuntu-14-04/

Dota Minimap Analyzer

I built a tool to help track when enemy heroes are missing from the minimap in Dota. Since the game does not show when heroes are not visible on the...

Category Computer Vision

Dota Minimap Analyzer

I built a tool to help track when enemy heroes are missing from the minimap in Dota. Since the game does not show when heroes are not visible on the...

Category Taxes

Running TurboTax 2014 in PlayOnLinux

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/03/07/running-turbotax-2014-in-playonlinux/

Category Web

Migrating a WordPress Blog from WordPress.com to WordPress.org

This post is recreated from the original at https://blog.henrypoon.com/blog/2015/04/03/migrating-a-wordpress-blog-from-wordpress-com-to-wordpress-org/

Category GnuCash Importer

Bank Statement Importer for GnuCash, Part 7: Calculating Investment Returns

This is Part 7 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 6: Adding ML Transaction Classification

This is Part 6 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 5: Adding a Keyboard-First Review Interface

This is Part 5 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 4: Importing Investment Transactions

This is Part 4 of the Bank Statement Importer for GnuCash series. Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads Part 3: Carrying Accounts Into...

Bank Statement Importer for GnuCash, Part 3: Carrying Accounts Into a New Year

This is Part 3 of the Bank Statement Importer for GnuCash series.

Bank Statement Importer for GnuCash, Part 2: Attempting Automated Statement Downloads

Part 1: CSV Parsing and Transaction Categorizer Part 2: Attempting Automated Statement Downloads

Bank Statement Importer for GnuCash, Part 1: CSV Parsing and Transaction Categorizer

As I got more bank accounts for different things like chequing, savings, credit cards, investments, etc., it got harder to keep track of where I was financially. So this is...

Category CAD

A Tiny Chalet

After a fall trip to a chalet, I wanted to make a small physical reminder of it.

Fixing 3D Rotation in PicToBrick, a LEGO Mosaic Generator

For a while, I was making LEGO mosaics. The process started as pixel art: draw an image on a grid, treat each LEGO piece as a pixel, and size the...

Attempting a DIY CNC Mill

From 2014 to 2016, I worked on and off for about two years on building a table-top 3-axis CNC milling machine. The goal was ambitious: cut aluminum parts with at...

Category DevOps

Installing Seafile with Docker and Apache 2

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/

Jenkins Pipeline for Spring with Beta and Prod Stages and Deployment Rollback

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/

Category Testing

Running Selenium Webdriver on WSL2

This post is recreated from the original at https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/

Running Selenium Webdriver on Bash for Windows

This post is recreated from the original at https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/

Category LEGO

South Park LEGO Mosaic

A previous project focused on exporting LEGO mosaics to LDraw so they could be viewed properly in CAD: Fixing 3D Rotation in a LEGO Mosaic LDraw Exporter That work started...

Fixing 3D Rotation in PicToBrick, a LEGO Mosaic Generator

For a while, I was making LEGO mosaics. The process started as pixel art: draw an image on a grid, treat each LEGO piece as a pixel, and size the...

Snoopy LEGO Mosaic

Before experimenting with more complicated LEGO mosaics, I started with a simpler build: Snoopy sitting on top of his red dog house. Starting With Pixel Art The idea behind these...

Category Art

3D Printing a Rolex GMT-Master II Wall Clock

I previously wrote about 3D printing a Snoopy Omega Speedmaster-inspired clock: 3D Printing a Snoopy Omega Speedmaster

3D Printing a Snoopy Omega Speedmaster Clock

This is a 3D-printed clock based on the blue-and-white Snoopy Speedmaster design. The print turns the recognizable chronograph layout into a much larger wall or desk clock, complete with the...

Painting a Doraemon and Snoopy Espresso Cup

I painted another piece of pottery: a small espresso cup and saucer. This time, I put Doraemon on one side of the cup and Snoopy on the other. A Small...

Painting a Ceramic Rabbit

A small ceramic-painting project based on my pet bunny: grey-brown ears and face, a white racing stripe, and white paws. It’s based on this little guy:

Burg Hohenzollern in Winter

Burg Hohenzollern in the winter, painted in acrylic on canvas.

South Park LEGO Mosaic

A previous project focused on exporting LEGO mosaics to LDraw so they could be viewed properly in CAD: Fixing 3D Rotation in a LEGO Mosaic LDraw Exporter That work started...

Snoopy LEGO Mosaic

Before experimenting with more complicated LEGO mosaics, I started with a simpler build: Snoopy sitting on top of his red dog house. Starting With Pixel Art The idea behind these...

Category Lego

Lego McLaren Formula 1 Race Car

This post is recreated from the original at https://blog.henrypoon.com/blog/2022/11/20/lego-mclaren-formula-1-race-car/

LEGO Star Wars Millennium Falcon (Ultimate Collector Series)

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/09/17/lego-star-wars-millennium-falcon-ultimate-collector-series/

Category Star Wars

LEGO Star Wars Millennium Falcon (Ultimate Collector Series)

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/09/17/lego-star-wars-millennium-falcon-ultimate-collector-series/

Category Models

LEGO Star Wars Millennium Falcon (Ultimate Collector Series)

This post is recreated from the original at https://blog.henrypoon.com/blog/2019/09/17/lego-star-wars-millennium-falcon-ultimate-collector-series/

Category Home Projects

A Simple IKEA KALLAX Kitchen Island

I needed a little more workspace and storage in the kitchen, so I made a simple kitchen island from IKEA KALLAX shelving units and a tabletop I already had. It...

Category IKEA Hacks

A Simple IKEA KALLAX Kitchen Island

I needed a little more workspace and storage in the kitchen, so I made a simple kitchen island from IKEA KALLAX shelving units and a tabletop I already had. It...

Category Furniture

A Simple IKEA KALLAX Kitchen Island

I needed a little more workspace and storage in the kitchen, so I made a simple kitchen island from IKEA KALLAX shelving units and a tabletop I already had. It...

Category Puzzles

Advent of Code 2024

By 2024, Advent of Code had become something of a December tradition.

Advent of Code 2023

By the third year of Advent of Code, I had apparently accepted that a December full of programming puzzles was a tradition.

Advent of Code 2022

Apparently, Advent of Code 2021 was enjoyable enough that I came back for another twenty-five days of puzzles in 2022.

Advent of Code 2021

A friend introduced me to Advent of Code as a fun Christmas activity. That was true at first.

Category Painting

Painting a Doraemon and Snoopy Espresso Cup

I painted another piece of pottery: a small espresso cup and saucer. This time, I put Doraemon on one side of the cup and Snoopy on the other. A Small...

Painting a Ceramic Rabbit

A small ceramic-painting project based on my pet bunny: grey-brown ears and face, a white racing stripe, and white paws. It’s based on this little guy:

Burg Hohenzollern in Winter

Burg Hohenzollern in the winter, painted in acrylic on canvas.

Category Cars

Lego McLaren Formula 1 Race Car

This post is recreated from the original at https://blog.henrypoon.com/blog/2022/11/20/lego-mclaren-formula-1-race-car/

Category Repairs

Fixing a Bent Ethernet-Port Pin

When an Ethernet port stops working, it could be one of the small metal contacts inside the Ethernet port has been bent out of position. This can happen if an...

Category Experiences

Making Chocolate at a Local Chocolate Factory

I visited a local chocolate factory for a chocolate-making workshop. The factory handled the difficult bean-to-chocolate process ahead of time. By the time the workshop began, we had finished chocolate...

Mixing My Own Custom Fragrance

I tried something different: creating a custom fragrance. At a fragrance-blending workshop, I was given droppers containing a large selection of individual scent materials. The task was to smell them,...

Category Crafts

Painting a Doraemon and Snoopy Espresso Cup

I painted another piece of pottery: a small espresso cup and saucer. This time, I put Doraemon on one side of the cup and Snoopy on the other. A Small...

Mixing My Own Custom Fragrance

I tried something different: creating a custom fragrance. At a fragrance-blending workshop, I was given droppers containing a large selection of individual scent materials. The task was to smell them,...

Category Fragrance

Mixing My Own Custom Fragrance

I tried something different: creating a custom fragrance. At a fragrance-blending workshop, I was given droppers containing a large selection of individual scent materials. The task was to smell them,...

Category Homelab

Server Cabinet Cooling Using Relay-Controlled 140 mm Fans

This is a pretty trivial project - there is a server in a cabinet that needs cooling. The cabinet door has holes, but without proper airflow, the heat generated from...

Category 3D Printing

3D Printing a Rolex GMT-Master II Wall Clock

I previously wrote about 3D printing a Snoopy Omega Speedmaster-inspired clock: 3D Printing a Snoopy Omega Speedmaster

3D Printing a Snoopy Omega Speedmaster Clock

This is a 3D-printed clock based on the blue-and-white Snoopy Speedmaster design. The print turns the recognizable chronograph layout into a much larger wall or desk clock, complete with the...

A Tiny Chalet

After a fall trip to a chalet, I wanted to make a small physical reminder of it.

Attempting a 3D-Printed Steam Engine

I attempted to build a small, single-stroke reciprocating steam engine. The initial goal was simply to see whether I could make the mechanism work: convert the back-and-forth motion of a...

A Video Doorbell, a Custom Mount, and a Hidden Transformer

Installing a video doorbell seemed like it should be a simple replacement: remove the old button, connect the existing doorbell wires, mount the new device, and finish setup.

HEPA Filter For A Unitak 3D Printer Enclosure

I keep my 3D printer in an enclosure, which helps contain noise, drafts, and some of the VOCs and particulate matter that naturally comes with printing. Since the enclosure is...

Server Cabinet Cooling Using Relay-Controlled 140 mm Fans

This is a pretty trivial project - there is a server in a cabinet that needs cooling. The cabinet door has holes, but without proper airflow, the heat generated from...

Category Ceramics

Painting a Ceramic Rabbit

A small ceramic-painting project based on my pet bunny: grey-brown ears and face, a white racing stripe, and white paws. It’s based on this little guy:

Category Pottery Painting

Painting a Doraemon and Snoopy Espresso Cup

I painted another piece of pottery: a small espresso cup and saucer. This time, I put Doraemon on one side of the cup and Snoopy on the other. A Small...

Painting a Ceramic Rabbit

A small ceramic-painting project based on my pet bunny: grey-brown ears and face, a white racing stripe, and white paws. It’s based on this little guy:

Category Home Automation

A Video Doorbell, a Custom Mount, and a Hidden Transformer

Installing a video doorbell seemed like it should be a simple replacement: remove the old button, connect the existing doorbell wires, mount the new device, and finish setup.

Integrating A Ecobee Smart Thermostat with Home Assistant

I replaced the existing thermostat with an Ecobee since there was an government energy incentive, and integration with the rest of my home automation setup.

Category Repair

The Dryer Stopped Spinning

The dryer would power on, but the drum would not spin.

Category Appliances

The Dryer Stopped Spinning

The dryer would power on, but the drum would not spin.

Category Watches

3D Printing a Rolex GMT-Master II Wall Clock

I previously wrote about 3D printing a Snoopy Omega Speedmaster-inspired clock: 3D Printing a Snoopy Omega Speedmaster

3D Printing a Snoopy Omega Speedmaster Clock

This is a 3D-printed clock based on the blue-and-white Snoopy Speedmaster design. The print turns the recognizable chronograph layout into a much larger wall or desk clock, complete with the...

Speedmaster Chronograph

After building a Snoopy Speedmaster chronograph, I made a more traditional Speedmaster-style watch. This one takes inspiration from the classic Moonwatch: a black dial, three recessed subdials, a steel case,...

Panda Chronograph

After building a Snoopy Speedmaster chronograph, I made another VK63 watch with a very different style: This one was inspired by the classic panda-dial Rolex Daytona. The Panda Dial A...

Speedmaster Snoopy-Inspired Chronograph

I built a custom chronograph around a Seiko VK63 movement. The design was inspired by the Omega Speedmaster “Silver Snoopy Award” 50th Anniversary: a silver or white dial, blue chronograph...

NH38 Automatic Open Heart with Pepsi Bezel

This was my first custom watch and it was a guided build. I did not arrive with a fixed design or enough experience to know which parts would work together....

Category Watchmaking

Speedmaster Chronograph

After building a Snoopy Speedmaster chronograph, I made a more traditional Speedmaster-style watch. This one takes inspiration from the classic Moonwatch: a black dial, three recessed subdials, a steel case,...

Panda Chronograph

After building a Snoopy Speedmaster chronograph, I made another VK63 watch with a very different style: This one was inspired by the classic panda-dial Rolex Daytona. The Panda Dial A...

Speedmaster Snoopy-Inspired Chronograph

I built a custom chronograph around a Seiko VK63 movement. The design was inspired by the Omega Speedmaster “Silver Snoopy Award” 50th Anniversary: a silver or white dial, blue chronograph...

NH38 Automatic Open Heart with Pepsi Bezel

This was my first custom watch and it was a guided build. I did not arrive with a fixed design or enough experience to know which parts would work together....

Category Food

Making Chocolate at a Local Chocolate Factory

I visited a local chocolate factory for a chocolate-making workshop. The factory handled the difficult bean-to-chocolate process ahead of time. By the time the workshop began, we had finished chocolate...

Category Chocolate

Making Chocolate at a Local Chocolate Factory

I visited a local chocolate factory for a chocolate-making workshop. The factory handled the difficult bean-to-chocolate process ahead of time. By the time the workshop began, we had finished chocolate...