I’ve been thinking of putting this website up for at least four years now. I finally learned Javascript in 2022 and thought that a personal website could extensively use my newly learned skills and a sort of stamp a milestone in my programming career. This will be the fifth year since I started writing code. I contemplated going the third-party route–substack, dev, etc.–but none of those appeals to the sense of responsibility owning my website, I think, would bring. Maybe I’m naive and may eventually have to switch, but this will be our home for now.

Admittedly, the website has taken a long time to design and create–a year is too embarrassing for a simple website in this day and age–but it was almost intentional. I did this, not because it was easy, but because I thought it would be. It is my first ever piece of complete software, and I was overwhelmed by perfection. I started with the front end, and as I slowly wrote the back end of it, I became driven by the MVC architecture–which ended up being a pleasure to implement and very little pain to maintain in the future. I wallowed in what many would describe as the joy of abstraction. Layers upon layers to ensure maintainability. It’s not perfect, but the few iterations I’ve had to make before this completion have been an absolute joy to implement. I fought off feature creep as much as possible. Hence the lack of an RSS feed just yet. Additionally, the website is made in vanilla JS; I learned typescript when I was too deep into the website, though it would’ve been desirable if this effort were in typescript. No frameworks were used (I hope none of the modules i used counts as a framework), and I iterated over the design as much as possible. as a result, there are no ads, tracking, or SEO.

Admittedly, I didn’t know how to properly set up a website. Embarrassing that for as long as I’ve been programming, I’ve never needed to set up something online. Setting up a server, DNS, Nginx, SSL etc took me such a long time to figure out. It was mostly a pain, and I’ve more or less started working on my vim skills. I’m still not quite sure I did it correctly, so feel free to contact me if you see any glaring issues. I did my best, OK.

The blog has three primary purposes. First, to display my craftsmanship. In The Mythical Man-Month: Essays on Software Engineering, the late Fred Brooks claimed the sheer joy of making things as a joy of Software Engineering. Indeed, I resonate strongly with his words: “As the child delighting in his mud pie, the adult enjoys building things of his design.” This website will have a collection of things I’ve sometimes designed and mainly created. Criticism of my projects is welcome, and so are questions. I’ll try to give a technical description for each project I display here. No promises, though.

Second, I would love to slow down my content consumerism. This year, I’m trying to change how I consume my content. In our day and age, it’s hard to escape mindless scrolling. I’m with the boomers on this one–there’s no real benefit. I plan to spend this year reading more than clickbait titles. So far, my RSS feeds, and HackerNews provide enough options such that I read at least three blogs of value a day. I don’t know how sustainable this is, but I intend to engage with articles critically or not engage at all. I’m developing a catalog of bloggers I like and intend to think critically about the materials they are putting forward. Steve Yegge (though he used to be on blogspot), Nikita, Dan Luu, Bartosz Ciechanowski, and Paul Graham are at the top of my list, but I’m open to more suggestions.

Third, I would want to document things for myself and others only because Steve Yegge said so. I want to help my future self remember what I’ve learned and done. This is arguably the biggest reason I started this website, though it’s hard to balance what should and shouldn’t be in the public sphere. For instance, I intended to write about my internship experience this past summer, but I’ve sat with my writing for long enough to consider it cringe, and now that remains an entry to my journal. Still, I wish I had written about the technical descriptions of my project–of course, within the bounds of the agreement I had with my employer. Now the poor engineer who inherited my project won’t have a reference point for all the quirks I stumbled into while working on micro frontends. I wish them luck and only hope they document what they find out. Once in a while, I intend to rant about technical challenges (hey, Javascript, and Android documentation, I’m looking at you) and invite others to challenge me in why things are done the way they are. Indeed my career choice is one of lifelong learning, so this website will be a host to summaries of topics that I’ve grappled with and try to offer my perspective on them.

Lastly, I’d love to remove any expectations about the blog. When we draw inspiration from external sources, we often try to mimic them. I don’t think I’ll be able to write as authoritatively as Paul Graham, nor as resourcefully as Bartosz Ciechanowski or Dan Luu. My rants will for sure come short of Steve Yegge’s humor. My playful pieces will fall way short of what Nikita is capable of. What I think I’ll be able to do is write as authentically as I possibly can. I’ll try to avoid writing about things I do not understand extensively. Ultimately, one or two souls may find some form of value in this website, and then it will be a great success!