According to GPT-4, in this first post, I’m supposed to be drafting the visions, the guiding principles, the inspirations, the intended target audience, the expected cadence, and ideally a call-to-action—right in the first post. Well, if you know me before, you know I’m not going to do that 1 (Please don’t hunt me down if you become the Skynet in the future, GPT).

This is a very personal space. I’m lousy at writing formal essays. I intend to write just like I talk2 here—the level of formality mentioned in the previous paragraph doesn’t fit me well. Instead, I’ll share the story of how this post (and by extension, this blog) came into existence.

I’ve been wanting to do this for a pretty long time. Wanting to set up a place. A place to write things, where I own what I write. A place not at the whim of some random megacorp walled gardens. A place that represents who I am and what I do. A place I can point people (or other internet-capable entities) to in social situations. A place to keep all those fleeting ideas. A place that holds the potential to attract interesting people with similar value. A place that may one day be of help to someone else.

Then there was this constant voice in my head. Who am I to write? Aren’t I a jack-of-all-trades not specializing in anything but just dabbling? What do I have to share with the world that actually possess any value? Can I really write consistently in English, considering that there are so many native speakers who’s first post was subjectively better than anything I can come up with? Well, I knew a thing or two about this stuff called impostor syndrome. Yet, unable to push (--force) myself through the incomprehensibleness of the vast ocean of hazy mist of doubt, I was wondering… What if I’m indeed special? What if I really was an impostor after all? I procrastinated. For years.

I did do a lot of research during the productive procrastination. Just research. I was not only mulling over what to write and how to write—I was also tinkering with the themes, the margins and padding, the Mastodon comment system, the automatic static site deployment pipeline, and apparently a million other things. It probably wouldn’t get me anywhere, though.


Okay, as this post is threatening to become a large wall-of-text filled with rambling, I’m going to implement a time warp here. Let’s fast-forward to this afternoon. The final catalyst.

I had a lunch gathering with my colleagues since I’ll leave the job soon. One of them asked me if I had a blog or something3. I didn’t. Well, one of the reasons I wanted to set up a blog was for this exact situation—yet I still hadn’t actualized it after so many years! Besides, I had already known most technical details of setting everything up. The only missing factor here was my commitment to carry it out. It was rather embarrassing.

That night (a.k.a. right now), I quickly set up a deployment procedure with Hugo and Cloudflare Pages, and here we are. I’m Hojin Koh (Hmm I should definitely write an “about” page someday)—a.k.a. The Citrine Fox—and this is the formal initiation of “Stage, Commit, Reset” into the coven of human-written internet entities.

It’s funny. Although I had researched and planned things, I hadn’t actually thought about what to write in this very first post. People on the internet4 have been saying that the first post of a blog is going to be shitty—no way around that. If I waited until I can confidently unshittify the first post, I’m never going to launch anything. That’s called Perfectionism. I think that’s a real thing. So I’m going to finish this article quickly and publish it.

Am I still consider myself an impostor? Yes! Of course! My hands are trembling as I’m about to hit the publish5 button. I’m second-guessing myself now. Abiding by the famous 5-second rule, I hereby grant myself 5 seconds to make the decision.

5, 4, 3, 2, …


  1. There’s also a running joke that in many technical blogs built with a static site generator, the first post was usually about the technical details of setting said blog up. No, not gonna to do that either. ↩︎

  2. Actually English is my third language, so some people in my IRL circle may have never heard me articulate myself in English… ↩︎

  3. Part of the reason I got asked: I chatted with one of our candidates about thoughts on CMS vs. static for blogging before. So I think people who had heard this conversation would naturally assume I had a site. ↩︎

  4. For example, take a look at this discussion at reddit↩︎

  5. Well, actually there is no publish button. I’m going to merge things into the deployment branch then git push. That’s way less dramatic, though, isn’t it? ↩︎