FatBlog

Writing What I Might Forget Tomorrow

Fat Han Nuraddin

  • LinkedIn
  • Github
  • Gitlab
  • Building an Assessment Platform Without Building One

    June 20, 2026

    I was working on our hiring workflow when we needed an online assessment platform for candidates. The requirements themselves were fairly straightforward: Support both multiple-choice and short-answer questions. Allow candidates to start the assessment only within a specified time window. Enforce a fixed test duration. Allow only one attempt. Present each candidate with a different set of questions. Normally, the answer would have been to purchase an assessment platform or build one ourselves. Unfortunately, neither option was realistic. We couldn't find a third-party service that met our needs, and our team didn't have enough bandwidth to develop a dedicated platform. Instead of asking, "

    Read more
  • Throwback: A Simple Browser-Based VTuber for an Office Sharing Session

    June 14, 2026

    About a year ago, I gave a sharing session at my workplace. We were free to present any topic we were interested in, so I chose something I'd been following for a while: VTubers. If you're not familiar with them, VTubers (Virtual YouTubers) are content creators who use animated virtual avatars instead of appearing on camera. These avatars are usually controlled in real time through face tracking, expression tracking, and lip-sync, making them feel like they're speaking naturally to the audience. Since the session itself was about VTubers, I thought it would be fun to present it with a virtual avatar instead of standing in front of the slides myself. Rather than using dedicated VTubing s

    Read more
  • Reviving My Blog, Without Reviving the Backend

    June 14, 2026

    After years of being offline, I'm finally bringing my blog back. My first blog was powered by NibbleBlog, a lightweight PHP blog engine that I absolutely loved. It was refreshingly simple, no MySQL, no complicated setup. Just PHP, a few required modules, and everything (posts, configuration, media) was stored as files. Unfortunately, the project is now archived and no longer actively maintained. The blog itself lived on a free PHP hosting provider. It served me well for years, until the free hosting service was discontinued. Without a proper migration plan, my blog quietly disappeared with it. This time, I wanted to build something that could last longer. Instead of looking for another blog

    Read more