FatBlog

Writing What I Might Forget Tomorrow

Fat Han Nuraddin

  • LinkedIn
  • Github
  • Gitlab
  • SVG Path Commands

    July 12, 2026

    SVG paths are the most flexible way to draw shapes in SVG. A path consists of one or more commands stored in the d attribute. Each command moves the current point, draws straight lines, curves, or arcs, and together they define the final shape. Almost every SVG shape (<rect>, <circle>, <ellipse>, <line>, <polyline>, and <polygon>) can be represented as a path, making paths the most general drawing primitive in SVG. A single path may contain multiple subpaths. Each M (Move To) command starts a new subpath, which may be left open or closed using the Z command. Every drawing command updates the current point (sometimes called the pen position). Relative commands (l, h, v, c, q, etc.) interpret

    Read more
  • 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