Skip to content

birkhoff.me

Persistent sudo Touch ID Authentication on macOS

It’s been five years since the first launch of a Touch ID capable Macbook. In case you’re out of the loop, Touch ID is also available as a built-in PAM module. Unfortunately it’s not enabled for sudo by default, so people need to add a pam_tid.so entry in the /etc/pam.d/sudo file. Sounds perfectly no problem, unless you hit a system upgrade. Since modern macOS performs image-based updates, the system volume is overwritten every time it’s updated.

Read more »

學習與使用小鶴雙拼

學習雙拼是一件成本非常高的事情,學習它之前一定要有足夠的 motivation,不然很容易中途而廢。學成之後對於打字的速度是非常有幫助的,我現在回去打拼音還會有一點不習慣。

Read more »

Gitlab CE Behind Traefik

At my university's CS department, we are trying to set up an internal GitLab CE instance for CI/CD of our projects. Based on our infrastructure, I decided to manage a Traefik instance and deploy GitLab Omnibus on Docker.

Read more »

The evolution of my solution to blogging

I have been writing blog posts (mostly technical ones) since elementry school, probably from eight years ago. At that time, I had only little knowledge of web. I started with WordPress, mostly because I was more comfortable with PHP since that it was the very first programming language I’ve started with. I hosted that WordPress site on GoDaddy. At some time, GoDaddy raised a payment issue on my account, and I was not able to renew it because credit card issues (I wasn’t even 15, so billing was always a big issue to me).

Read more »

Ghost blog on Google Kubernetes Engine and B2 Cloud Storage

I’ve recently been migrating my infrastructures to GCP and one of the most critical services I’ve been running is Ghost. Previously, I ran Ghost with: a tiny cloud VPS Docker Compose, which runs a MariaDB instance as well a local volume to /var/lib/ghost/content a custom theme that I upload manually every time I made a change Obviously this is one of the worst setup I could’ve had. Non-scalable, not fault-tolerant, and troublesome just to customise the theme files.

Read more »

Cloudflare Railgun on CentOS 8

There’s no official documentation yet on installing Railgun daemon on CentOS 8, however you can do that with the following commands: $ curl -svO http://pkg.cloudflare.com/pool/el7/main/r/railgun-stable-5.3.3-1.el7.src.rpm/railgun-stable-5.3.3-1.el7.x86_64.rpm $ sudo yum install -y memcached $ sudo rpm -Uvh railgun-stable-5.3.3-1.el7.x86_64.rpm Then configure Railgun with your credentials.

Read more »

Shrinking Ubuntu 20.04 VM .vdi on macOS VirtualBox

First of all download SystemRescueCd, which we will use later to manipulate our virtual disk. Mount it to VM with VirtualBox GUI. Upon launching the VM it should automatically boot to SystemRescueCd. Choose the default option to go to the recovery system. Next run fdisk -l to see the disk partitions. To me it’s /dev/sda5. Then run zerofree -v /dev/sda5 to start filling the empty space with zerofree. It should not take too much time, 1 or 2 minutes should do it.

Read more »