~/blog
~/blog$ render faiz.blog.playing-with-css-(and-more):-re-re-re-re-revamping-the-notebook

Playing with CSS (and more): re-re-re-re-revamping the notebook

Saturday, 18 January 2025 23:09:52 WIB | tags: web, css, cicd, gdrive | 77 hits | 0 comment(s)

Holiday was just right at the door, I had a pile of unread books and tons of unplayed games on Steam. What did I do instead? Correct, revamping the notebook [re: nickname of this blog] for the I-lost-my-count times 😎. So the reason for another revamping is because I felt the design was too mundane (which I intended to make, since I felt the even previous version was too decorated haha) and didn’t show my true character. So I spent days searching for a true self unique personal website design, but online references mostly only have the classic portfolio layout where it has a big picture of the site owner as the landing page (like how this notebook used to be a few years back) and the rest of the page are standard website layout. 

But then, I remembered I saw a fully functioning Windows XP-themed website (too bad I can’t remember the website) and thought, hmm, my old friends know me as the computer expert (even I'm not that expert, but they ask for my help when their Instagram accounts are hacked!), I have a Computer Science degree, and I work in the IT field with Macbook as the daily driver. Probably a Macbook and terminal-themed design suits me well! Thus, I added exploring the CSS to mimic the terminal UI as one of the action items of the ongoing notebook refactor project. The project itself already started around July last year when I decided to be actively writing again, and apart of revamping the design, I also configured the CI pipeline and created a bash script to do a daily backup to Google Drive.

Continue read

~/blog$ render faiz.blog.spelling-based-search-engine-for-quran-deployed-it-and-routed-with-nginx

Spelling-based Search Engine for Quran. Deployed it, and routed with nginx!

Tuesday, 12 November 2024 03:03:11 WIB | tags: python, search-engine, web | 129 hits | 0 comment(s)

Back in college, I managed to finish my final project in less than two weeks leaving me plenty of free time. Once my friends found out about this, they started knocking at my door, desperate for help with their own projects (okay, a bit dramatic, but you get the idea!). Intrigued with the opportunity to learn about many unknown, scientifically-unique projects, I officially opened a workshop in my house. 

I helped both in technical things (re: code) as well as report writing. Disclaimer: as far as I understood, I didn’t cross any ethical lines as most of the time I’d guide them with suggestions, sometimes contribute a bit of code, but never do everything for them, and foremost I made sure my friend understood what they created & wrote. This was a labor of friendship, not profit—my “payment” was often cakes or, more commonly, a mandatory FIFA match as part of the consultation deal. One of the most interesting projects is my wife’s (then girlfriend), which is to build a search engine for Quran verses, but the queries and the verses need to be normalized with Indonesian-spelling first. Made with PHP 6 years ago together with my wife, now, I have decided to re-write it into Python as this is my most starred (re: 2 stars) GitHub repo yet!

Continue read

~/blog$ render faiz.blog.building-vm-inventory-#2:-ansible

Building VM Inventory #2: Ansible

Sunday, 29 September 2024 17:02:12 WIB | tags: tips, ansible, vultr, vm-inventory | 158 hits | 1 comment(s)

Building VM Inventory #2: Ansible

Hey there! Let's dive back into the Building VM Inventory series. In this episode, we'll use Ansible to gather VM inventory. Just like the last time, we'll also do a quick compliance check. But this time, instead of using GCP, we'll try out Vultr, a great option for smaller projects. Let's see how it goes!

Continue read

~/blog$ render faiz.blog.demystifying-the-most-popular-factor-of-mfa:-otp

Demystifying the most popular factor of MFA: OTP

Sunday, 01 September 2024 03:45:54 WIB | tags: security, python | 194 hits | 0 comment(s)

Demystifying the most popular factor of MFA: OTP

Imagine you’re trying to log in to your mobile app. You enter your password, but instead of being let in right away, you get a message saying, “Please enter the code we just sent to your phone number.” That code is an example of a One-Time Password, or OTP. It’s like a secret handshake that only you and your mobile app know at that moment, making sure it’s really you trying to access your account. In a world where security is more important than ever, OTPs have become the go-to method for keeping our digital lives safe, one code at a time.

In my bachelor’s thesis, I researched virtual passwords which will generate a random password by taking the user’s initial password as its seed, converting each character into 1-2 random alphanumeric characters, and using the converted password to validate the user’s login password. This converted password will be re-randomised again on each login attempt and thus generates a dynamic password during the login process. While the concepts of my past research are similar, I want to demystify the world’s most popular factor in MFA: OTP. In the process, I also fixed a minor bug in a Python library: PyOTP, which allows users to use a non-proper hashing function that will trigger IndexError on OTP generation.

Continue read

~/blog$ render faiz.blog.building-vm-inventory-#1:-paramiko

Building VM Inventory #1: Paramiko

Sunday, 25 August 2024 01:13:44 WIB | tags: tips, python, gcp, vm-inventory | 218 hits | 0 comment(s)

Building VM Inventory #1: Paramiko

Ever wondered how to pull together a VM inventory when you've got a bunch of VMs? I’ve found myself asking this question a few times, so I decided to check out a few tools that might help. This post is the first in a series where I'll dive into different ways to gather basic VM info, like hostname and OS version. In this first post, I will use Paramiko library in Python application and see how I can use this to solve my problem. In the exploration, I will deploy 3 VMs in a cloud environment, which consists of one main server and two client servers.

Continue read


Page 0 of 26

~/blog$ shortcuts: > Notes and > Faiz?