Exploring conflicting oneshot services in systemd

Exploring ways to make two systemd services using a shared resource work with each other | Continue reading


@srijn.net | 1 year ago

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 | Continue reading


@srijn.net | 1 year ago

Encrypting an existing Linux system's root partition

Encrypt an unencrypted root partition on an Arch Linux system | Continue reading


@srijn.net | 1 year ago

Download a file securely from GCS on an untrusted system

Download files from google cloud storage using temporary credentials or time-limited access URLs | Continue reading


@srijn.net | 1 year ago

Slackbot using google cloud serverless functions

Slack bot using Google Cloud Functions to post a roundup of recently created channels | Continue reading


@srijn.net | 2 years ago

Automating custom routes and DNS setup on Windows

How I automated setting up custom routes and DNS for FortiClient SSL VPN on Windows 10 | Continue reading


@srijn.net | 3 years ago

Erlang: Dialyzer HTML Reports using rebar3

How I made a custom rebar3 plugin to generate HTML reports for dialyzer warnings | Continue reading


@srijn.net | 3 years ago

Running multiple emacs daemons

Run multiple emacs daemons for different purposes and set different themes/config based on daemon name | Continue reading


@srijn.net | 3 years ago

Erlang: find cross-app calls using xref

Using xref magic to query Erlang code and find cross-application function calls | Continue reading


@srijn.net | 3 years ago

Advanced PostgreSQL monitoring using Telegraf, InfluxDB, Grafana

My experience with advanced monitoring for PostgreSQL database using Telegraf, InfluxDB, and Grafana, using a custom postgresql plugin for Telegraf. | Continue reading


@srijn.net | 3 years ago

Running docker jobs inside Jenkins running on docker

Run Jenkins inside docker, but also use docker containers to run jobs on that Jenkins | Continue reading


@srijn.net | 3 years ago

Telegraf: dynamically adding custom tags

Adding a custom tag to data coming in from an input plugin for telegraf | Continue reading


@srijn.net | 4 years ago

Install docker and docker-compose using Ansible

Optimized way to install docker and docker-compose using Ansible | Continue reading


@srijn.net | 4 years ago

Riemann and Zabbix: Sending data from riemann to zabbix

Tutorial for sending data from riemann to zabbix | Continue reading


@srijn.net | 6 years ago

My backup strategy to USB disk using duply

Local system backup using duply | Continue reading


@srijn.net | 8 years ago

Clean boot in erlang relx release

Booting Erlang release in clean or safe mode | Continue reading


@srijn.net | 8 years ago

PostgreSQL replication using Bucardo

Setting up replication in PostgreSQL using Bucardo | Continue reading


@srijn.net | 9 years ago

Slack bot for Phabricator Notifications

Setting up a slack bot for phabricator | Continue reading


@srijn.net | 9 years ago

Django, uWSGI, Nginx on Freebsd

Setting up Django on Freebsd using uWSGI and Nginx | Continue reading


@srijn.net | 9 years ago

Read only root on Linux

Setting up a read-only root filesystem on Linux | Continue reading


@srijn.net | 9 years ago