Exceeding limits

2021 Week 385 min read

giscus 💎

I spent some time making updates to giscus this week.

It's now running the latest release of Next.js 11.1. I also spent some time fixing accessibility issues and improving its score on Lighthouse.

Performance: 100, Accessibility: 100, Best Practices: 100, SEO: 100

That's only on the home page, though. The widget page itself has slightly lower scores, but most of the causes are non-issues. Some of them come from GitHub, and some are simply not applicable (e.g. I deliberately excluded the widget page in robots.txt, which lowers its SEO score).

Speaking of giscus...

Almost 5 million requests a month!

We're now serving almost 5 million requests a month! But unfortunately...

I just received another notice from Vercel stating that I have exceeded my free usage limit in the past 30 days 😬

I was able to get around it previously, but this time I don't have a lot of options.

Vercel does offer sponsorships for open source projects, but it requires the project to be static and not server-rendered. Unfortunately, I recently decided to use server-side rendering (SSR) for the widget page.

I used SSR so that I could dynamically set the frame-ancestors value of the Content-Security-Policy header. I needed it to prevent the use of the repo's discussions on unauthorized origins. SSR also lets me easily serve the correct theme according to the query params before the page is rendered on the client.

Plus, the sponsorship would also require a Vercel banner in the footer of all pages. I think having that in the embedded widget would be off-putting to some users.

I don't mind paying a few bucks for giscus, but Vercel's cheapest Team option is $20 a month. That's too much for something I provide for free. I really wish their pricing plans were more flexible, though. Maybe I should contact them?...

I also wish GitHub Sponsors were available here in Indonesia. Perhaps some people would be kind enough to give me a few bucks to help keep giscus up.

In the meantime, I lowered the memory usage limit once again, from 256MB to 192MB.


This week's work was mostly just analyzing the requirements and writing technical docs to prepare for our next project. Not much to write about.


Last week, I wrote about a surprise I was preparing for my friend's birthday.

I made a digital painting (or drawing, whatever), and here it is!


It's been a really long time since I last drew anything. I've never even seriously learned how to draw, so I don't know how to do shadowing and stuff. I do it just for fun, and I definitely had fun drawing this one!

I might put it on my Behance account later, just to have it out somewhere.

Anyway, I didn't just make the drawing. I had it printed on a t-shirt for my friend's birthday gift. I went to his house on Wednesday to give it to him. The t-shirt was bigger than I expected but thankfully it fits him just right!

Sam wearing the t-shirt!

Also, I noticed I've been mentioning "my friends" a lot in my posts, but it's getting unclear who is who.

For this guy, let's just call him Sam from now on. It's not his real name, but I kinda came up with that nickname back in high school and some people have actually called him that. (Even though I don't IRL 🤷)

I've known him for over seven years now. He's the guy whom I usually have weekly sharing session with (though it's on pause 'cause he's busy). Anyway, if I wrote "my friend" in my previous posts, it's likely him, unless I wrote some other details.

I also set up a simple redirect from a subdomain to my Backblaze B2 public bucket. It's mostly going to be used for personal pictures on this blog (and maybe other places). The main reason is just so that these pictures (like the above photo) is not tied with this website's git history, so I can take it down easily whenever I want.

My fellow friends from university had their online graduation ceremony on Saturday. I watched it, and it felt really nice to see them graduate. If I did not finish my study one semester early, I would've had my graduation ceremony with them.

Later that night, some first-year students from university wanted to get to know me as part of their orientation tasks. They invited me to an online meeting, and I brought some friends to make it not so awkward more fun. And it was fun! We kinda feel bad for them though, as all of their first-year activities are now virtual.


I didn't play video games this week. I don't feel like reading either.

I ended up watching Anomalisa on Friday and Perfect Blue on Sunday. Both movies were kinda mindblowing in their own ways.

Anomalisa is a stop-motion movie made with 3D-printed puppets. I'm impressed by how they could capture the facial expressions accurately. It's also kind of uncanny, though!

Perfect Blue is a real mindf🐬🐬🐬. The narrative makes you doubt what's real and what's not. The symbolism throughout the movie is also really clever. Some scenes were really disturbing, but I guess they're kind of essential to the movie. Satoshi Kon was a genius.