ᕕ( ᐛ )ᕗ Herman's blog

The Hacker News Hug

About a week ago I went through a bit of an existential crisis. My company JustSketchMe has been cracking along well for the past 6 months since I quit my job, and had left me with a lot of time to think. After some introspective pondering, wandering around the house listening to Autograf, and a call to both my brother and sister, I found myself concluding that I wanted to write.

The idea was to start off doing some short-form essays (of which I have done a decent few before) and slowly get into the habit of writing consistently, with the potential of someday writing a book. I've been on a Terry Pratchett binge for the past 2 months of lockdown and this seemed like the best idea.

The first order of business was to get my blog cleaned up. I'm a bit of a minimalist when it comes to blogs and generally opt for static site builders like Jekyll to do the job. Over the past few months, I've developed a disgust for the bloated web of 2020 and was considering building my website using pure HTML with little to no styling, and certainly no Javascript. There has been a similar trend for the past few months on Hacker News of people opting for simpler, more robust, and battle-tested tools for building web products, and I was fully on board that train (note that I'd been a React JS developer for the past 3 years).

As things got underway I started playing around with using Django instead, so I could post from other devices, as well as from my phone. While I was cracking away at this I realised that many people would also benefit from such a minimal blogging system, and before I knew it my weekend project was a blogging platform built in Django and hosted on Heroku.

A few days ago at about 5 PM I decided to post my weekend project on Hacker News. It unexpectedly shot to the front page in the first 20 minutes of being posted and remained there for about 24 hours.

During that time my emailer (SendGrid) had to be propped up to a new tier, I pushed a bunch of hotfixes, and struggled to keep up with the comments and emails that started flooding my inbox. I accidentally deleted an entry I wasn't supposed to and had to manually update 130 DNS records by hand before anyone noticed.

I was doing some DNS record hackery using Cloudflare's API as I didn't want to waste time setting up certificates for a wildcard subdomain. I had no idea that I would get this much traffic and before I knew it I had capped the number of records I could add (I have since generated a wildcard certificate using LetsEncrypt). I was quite overwhelmed by the sheer magnitude of stuff happening all at once and barely slept while I addressed queries, issues, pushed fixes, and responded to emails. There was not a quiet minute for the 24 hours it was on the home page.

Once it moved to page 2 things started to slow down, and right as I thought everything was chugging along perfectly my email inbox filled up with about 100 error messages thrown from my server with a very obscure error message that I couldn't reproduce. It turns out that my DB was just rebooting for some scheduled maintenance (the curse of the Heroku hobby tier's shared Postgres hosting).

Things have since chilled out. Over the 24 hours, I had ~50,000 unique visitors, ~1200 signups, and a lot of coffee. Overall it was a trial by fire, and certainly a learning experience. I guess another lesson which I set out to prove to myself is that well-optimized, battle-tested tech can handle the Hacker News Hug on a $7 per month server.

Now to start writing...

#bearblog

- 126 toasts