Skip to content

Things I have learned

sounds like something a character in The IT Crowd (forgive the laugh track) would say. If you're curious, you can read about how these pages were built using Astro and Notion.


In Defense of Not-Invented-Here Syndrome (

Readme driven development (


Everything I know about the XZ backdoor (

A Beginner's Guide to WebSockets (

An Illustrated Proof of the CAP Theorem (

Reviewing EVERY Samsung Galaxy S Ever! (
I once blew out the /efs partition on one of the Galaxy S i9000’s while messing around with ClockworkMod. Fun times.

Small Phones are Dead and We Killed Them (
I find small phones very practical but I have been seeing less of them every year. Sad to see them go.

Reality of Frontend Developers (
Startup life: Wearing all the hats (UX, Frontend, Support, IT) by day, wrestling with “bleeding-edge” tech by night.

Sentinel value (
We see these all over the place, I’ve even seen them being implemented incorrectly. Thankfully, knowing more about what these flags are called will help me implement them better in the future.


Diffie Hellman - the Mathematics bit (
My journey so far has deepened my appreciation for the power of the modulo operator in solving computational problems

How to be different (
“deviation from the norm will be punished unless exploitable” is now burned in my head. Thanks.

A Personal Interface (
Communicating work style and preferences has been very useful for me in the past. I feel like putting these preferences into concrete sentences helps with communication and making it public sets expectations the right way.

Traits I Value (
This article resonated deeply with me. The importance of ownership, and a bias for action is something I've always valued, even during my college years.

The fastest-growing countries for software development, according to GitHub (
“Is more public developer activity a leading or trailing indicator for other kinds of development?” he said, reframing the question. “It might be leading for some and trailing for others.”

Give Up Sooner (
Goose chases can go very deep. Working with a lot of engineers that think highly of ChatGPT, I’ve found them trust it blindly without having a good sense of when to quit it. The same with google search results.

The Toxic Business of 2023 (
OrdinaryThings trying to make jokes about how surreal the world has gotten is possibly the joke that everyone on my instagram feed has been making.


We fired our top talent. Best decision we ever made. (
I wonder what it would take for me to become this person. Not a lot, it seems.

Dear Functional Bros (
If you have gone through the GATE exam preparation for Computer Science and Engineering, you'll be familiar with questions that ask you to select the equivalent recursive function to a procedural one. This video should make it clear why these conversions are significant.

Progress Bars - Computerphile (
In the past, I’ve built TUIs using curses in Python and C. It is fascinating to see frameworks like Textualize abstract away a lot of the heavy work.

Should You Be Optimistic About The Future of Technology? (
Climate change is possibly the one thing I am hoping we can fix with technology. Rockets for fast transportation will be fun too, I guess.

Inside .git (
Julia Evans is a great educator. All I know about DNS is because of their DNS zine. This is a good introduction into what goes on inside the .git folder, or so I have been told.

The Outsider – Albert Camus (
Weird dreams ensued after reading this book. It is an interesting commentary on morality and society and the foreword is quite a lot to pack.

4 billion if statements (
"computers are magical so who knows what is going on”

const fn: Pure Functions in Rust (
Rust is such a delight to work with.

HTML & CSS for a One-Time Password Input (
The one-time password input has always bugged me. I’ve seen too many websites get it wrong due to custom logic they have writted around 4 or 6 separate inputs.

Seriously, Don’t Use Icon Fonts (
I really like using the Material Symbols variable icon fonts to make transitions but the author has a point, icon fonts are just bad.

HTML: The Bad Parts (
If you’ve ever tried to build Web Components or write semantic HTML, you will find something to relate to in this article.

Work is work (
“Companies are groups of people being compensated for having to spend some of their finite lifetimes not being with their partners, children, pets, or super weird hobbies. They deserve to be members of organizations which honor that time by ensuring that their work has value and meaning. There is no mathematical model to guide us to that goal.”


Zero-config type safety (
Similar mechanisms in Astro try to make the most of TypeScript and provide a better developer experience.

Svelte 5: Introducing Runes... with Rich Harris (
Signals in frontend frameworks surely solve a lot of issues. Looking at this video made me try out Svelte 5 which was somewhat of a pain to get started with but I am starting to warm up to the idea of using Svelte over Angular or React after this release.

ShadCN for Svelte (
Libraries like shadcn/ui are the modern equivalent of Bootstrap that make it extremely simple to just start building without having to worry about accessibility and styling. It is great to see similar libraries in Svelte.

Refactoring UI (
I’ve worked as a UI designer in the past so this was a breezy read but I would recommend this to anyone who is building interfaces for the web.

Drawing garden (
I found this on HackerNews and it inspired me to write a similar application in Rust.

Transport Layer Security (
Computerphile made me come back to YouTube and subscribe because of how well they explain basic and complex topics.

Why I Use Astro (

How to embrace asynchronous communication for remote work (
My team and I have been feeling synchronous communication eating into our time and the GitLab playbook serves as a comprehensive guide on how to do async.

The anatomy of shadcn/ui (
If you’re wondering why shadcn/ui is the way it is.