2024
Bad coding practices. This journal collect the bad coding practices that I have found during my journey maintaining legacy software.
Peculiar engineering at new company. Notes on software engineering or IT in general at new company. This notes is intended for a reflection of me not to criticize my team or company.
Ask Me Anything. A light version of question and answers related to my history and backgrounds as software engineer.
karajo: integrating SourceHut Webhook. An article that describe how to integrate SourceHut with Karajo.
Best TV series. List of best non-America TV series that I watched in the past years.
2023
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.
2022
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.
2021
2020
2019
2017
2016
2015
2014
2013
2011
2009
2008
2012.