Blog
Exploring conflicting oneshot services in systemd
Exploring ways to make two systemd services using a shared resource work with each other

Graphical password prompt for disk decryption on ArchLinux
In my last post, I described how I enabled encryption on my Linux root partition. However, during boot up, it asked the password using a plain text prompt. I was not satisfied with the design and found that there's a better way: Plymouth. Plymouth is a package that provides a
Encrypting an existing Linux system's root partition
Encrypt an unencrypted root partition on an Arch Linux system
Download a file securely from GCS on an untrusted system
Download files from google cloud storage using temporary credentials or time-limited access URLs
Slackbot using google cloud serverless functions
Slack bot using Google Cloud Functions to post a roundup of recently created channels

Automating custom routes and DNS setup on Windows
How I automated setting up custom routes and DNS for FortiClient SSL VPN on Windows 10

Erlang: Dialyzer HTML Reports using rebar3
How I made a custom rebar3 plugin to generate HTML reports for dialyzer warnings
Running multiple emacs daemons
Run multiple emacs daemons for different purposes and set different themes/config based on daemon name
Erlang: find cross-app calls using xref
Using xref magic to query Erlang code and find cross-application function calls

Advanced PostgreSQL monitoring using Telegraf, InfluxDB, Grafana
Introduction This post will go through my experience with setting up some advanced monitoring for PostgreSQL database using Telegraf, InfluxDB, and Grafana (also known as the TIG stack), the problems I faced, and what I ended up doing at the end. What do I mean by advanced? I liked this
