Build | GitHub | Mastodon | SourceHut |


Research on SSH with 2FA. In this journal, we review several options to manage SSH authorization beyond using public keys, possibly also enabling 2FA, using Time-Based One-Time Password (TOTP). Some of the alternatives that we will review are Google Cloud OS Login, Smallstep, Teleport, and google-authenticator-libpam.

Using systemd mkosi for development (round 2). Continuing previous attempt, in this journal we take different path.

Using systemd mkosi for development. In this journal, I will take a notes on my journey learning and using mkosi as part of integration tests for developing awwan. The goal is that when I run make on awwan repository, it will create and run a container using systemd-nspawn(1) with SSH server running, and run all tests inside the container.

Reviewing status page websites. This journal review and dissecting several famous status page (or also known as service health).

Replacing Postfix with OpenSmtpd. I have read several articles on OpenSMTPD and interested to use it. In this article we describe the process to replace Postfix with OpenSMPTD.

Email server using Postfix, OpenDKIM, and Dovecot. This article describe my current email server configuration using Postfix, OpenDKIM, and Dovecot.

Better approach for type and variable naming. Naming variable is still hard, at some point. In order to make it less hard, we can create barriers, to round naming scopes, by applying several rules.


Creating personal AUR builder and repository with karajo. This article describes step by step process to create personal AUR builder and repository using karajo. At the end of this article we will learn how to build AUR package with clean chroot, learn how to sign package using GnuPG, and learn how to operate karajo service.

MySQL, surprise!. Things that will surprise you when using MySQL.

Finally, I use GPL. My inner thoughts on why I finally choose GPL.

Flag based continuous deployment. This article looks on how to manage multiple features developed, activated, and deployed in multiple environments while still maintaining linear history.