Installing Vanadium on Android 16

Recently, I encountered a very interesting issue while trying to install one of the new builds of Vanadium which I’ve built myself. Upon building Vanadium, it outputs three APKs - WebView, Library and the Browser itself. The Android phone was running a custom Evolution X ROM, but I suppose it should apply to many other AOSP ROMs. The ROM was on an old update and Vandadium was running version 134 (latest as of this writing is 143). The OS filesystem layout (?) seems to have changed. While trying to install Vanadium, I remember the pre-requisite, that is the Trichrome Library APK. I tried to install the latest version of the Library but it kept giving error and saying conflict. This looks like it has an existing installation, so I went into App Settings to find the exisiting installation so that I could uninstall. Turns out I can’t find it. Weird. I downloaded the open source App Manager but couldn’t find it too. What?? Why is it hidden? ...

January 6, 2026

Removing .env From Git History

Have you pushed any secret keys or credentials lately into your git repository? Are they private repositories on any hosting services? How well can you trust if it’s a private repository? Leaks can happen and with that your secrets may be at risk. Here’s how you can remove the secret files such as .env. Step 1 Install git-filter-repo by running: sudo apt install git-filter-repo Depending on the OS you are running on, you may have to change apt to brew (macOS) or dnf (Fedora). ...

January 5, 2026

macOS Tahoe

Upgrading macOS from Sequoia to Tahoe can invoke a mixed bag of feelings. Luckily I have a work MacBook that I can test it on before actually committing the upgrade on my personal MacBook. It seems that upgrading to Tahoe can cause a tank in the GPU performance, where the process WindowServer uses more than 30% for any animations that runs. Spotlight, Safari, Mission Control and even the new Launchpad seems to be very laggy, as if Pro-Motion was not working at all. ...

November 20, 2025

GoDoxy

Every week I browse Selfh.st to look for some neat open source projects for self hosting. Recently I saw this reverse proxy solution called GoDoxy. I have been using Nginx Proxy Manager which is literally the common service you can get. The configuration is stored using MySQL and sometimes it seems a little bit bloated. I also looked up on the performance difference between nginx and GoDoxy. There isn’t any official benchmark but using answers from AI, it seems GoDoxy should perform faster. ...

September 24, 2025

Migrate from x11vnc to tigervnc

I’ve decided to migrate from x11vnc to tigervnc since tigervnc may be more optimized. The script that was used previously can be slightly adapted. start-tigervnc.sh #!/bin/bash VNC_PASS=/home/jerry/.vnc/passwd LOG_FILE=/var/log/tigervnc.log USER_XAUTH="/home/jerry/.Xauthority" LIGHTDM_XAUTH="/var/lib/lightdm/.Xauthority" LIGHTDM_STATE="/var/run/lightdm/root" # Function to find the active display and its Xauthority file find_active_display() { if [ -f /var/run/lightdm/root/:1 ]; then echo ":1 $LIGHTDM_XAUTH" elif [ -f /var/run/lightdm/root/:0 ]; then echo ":0 $USER_XAUTH" fi } stop_vnc() { pkill -9 -f "x0vncserver" 2>/dev/null while pgrep -f "x0vncserver" >/dev/null; do sleep 1 done pkill -9 -f "X0tigervnc" 2>/dev/null while pgrep -f "X0tigervnc" >/dev/null; do sleep 1 done } start_vnc() { local display=$1 local xauth_file=$2 # Get current display and Xauthority XAUTHORITY="$xauth_file" x0vncserver -display "$display" -rfbauth $VNC_PASS -rfbport 5900 -localhost no >> $LOG_FILE 2>&1 & } read display xauth_file < <(find_active_display) start_vnc "$display" "$xauth_file" inotifywait -m "$LIGHTDM_STATE" -e create -e delete -e modify | while read -r directory events filename; do echo "Detected change in $directory: $filename ($events)" >&2 stop_vnc sleep 0.5 read display xauth_file < <(find_active_display) if [ -n "$display" ] && [ -n "$xauth_file" ]; then start_vnc "$display" "$xauth_file" fi done systemd unit: ...

August 29, 2025

x11vnc setup

On Zorin OS, GNOME is the default desktop interface and GDM is the default greeter (login screen). It seems that GDM will always attach to :0 which is display 0, thus when I had my x11vnc service running, it will always work. But in my new installation, Debian 13 with LightDM, each screen (desktop and login) is attached to different display. If a user is logged in and then he performs a “Lock Screen”, there will be two instances, which causes the current connection to black screen as it’s attached to the desktop screen. ...

August 22, 2025

Understanding systemd

Today, I’ve learnt more about systemd on Linux. I saw that it can be separated into user based or system based and there are three locations to save these services into: /etc/systemd/system - ROOT /usr/lib/systemd/system - ROOT but for package manager /usr/lib/systemd/user - User In order to work with root services, one must use sudo systemctl and to work with user services, use systemctl --user. User services will run when a user is logged in, so for any GUI software, it’s best to use the user services. ...

August 22, 2025

Debian 13 Installation

Installing Debian 13 on Mini Server Last Friday night, I stayed up really late just to install Debian 13 as the main OS for my mini server. Choosing a new Installation Disk But before that process, I wanted to use the Lexar SSD that is kept in my cupboard which was used as the main OS in the second hand PC I bought previously. I did manage to get it up and that very old Windows booted. I wanted to format it. In the midst of that, I thought why not also reapply the thermal paste so to fix that damn temperature issue. ...

August 19, 2025

Home Assistant

In the past, I’ve saw this service. I looked at the documentations and I have no clue what I can do with it. Besides, at that time I was still living with my parents and the only thing I had was just a computer and there wasn’t any smart devices available for me to play with. Fast foward till today, living under my own home with a few smart devices, I can now self-host this and create various controls for the devices such as AC, Fan, Air Purifier and Smart Plugs. ...

August 20, 2023