Hemath's Blog ☘️

Why good engineers think in terms of trade-off, not trends

Good engineers don't chase trends, they weigh trade-offs. The goal isn't to look modern, it's to build things that actually make sense.

The art of reading code

Most of us obsess over writing code, but forget that reading it is where the real work happens.

100% code coverage is a lie we like to believe

100% code coverage looks good in dashboards. But just because every line ran doesn't mean every edge case was truly tested.

It's not the Problem, it's the Framing

The smartest solution isn't always the most complex one, it's the one that quietly works without demanding your time.

Command-Query separation

Command Query Separation is a simple but powerful design principle. Let's see how it can make your code cleaner and more maintainable.

You are an engineer, not a lifestyle brand

You don't need a personal brand to be a great engineer. You just need to build, think deeply, and share things that matter.

Examples, not rules

We don't learn by being told, we learn by watching

Temporal coupling

When two files always change together, that’s temporal coupling. It’s worth paying attention to.

Shotgun debugging

Sometimes, the fix isn't the real fix, and that's where things get interesting.

Premature optimization is not good

Premature optimization feels productive, but it's often just polished guesswork. Every line of code is a liability don't write more than the problem demands.

Use Streams to improve memory usage

Most people load entire files into memory and call it a script. But real-world data doesn’t wait, it flows. That’s where streams shine.

Thank you, Stack Overflow

A thank you letter to Stack Overflow

Mentorship is the new buzzword

Everyone’s mentoring 100+ people these days, or so their LinkedIn says. But real mentorship isn’t about reach; it’s about being there when it actually matters.

You don't have to speak in every room

You don’t need to speak in every room to prove you’re smart. Sometimes the real flex is knowing when to stay quiet, and still be the sharpest one there.

Are we abusing algorithms?

We’ve gotten so good at pleasing algorithms, we forgot why we started creating in the first place. It’s not about gaming the system, it’s about making something that actually matters.

The art of code reviews

A pull request holds more than logic — it holds hours of thought, doubt, and effort. The way we review it speaks a lot about the kind of team we are.

Not Everything Needs to Be Written by ChatGPT

In a world full of AI-generated posts, I miss the ones that sound human. Not perfect, not polished, just honest.

Stop using Next JS for everything

Next.js is great — but it’s not the answer to everything. This post is a gentle rant on hype, tool choices, and why thinking before building still matters.

Stop Waiting for Motivation. Build Systems Instead.

I stopped waiting for motivation to hit the gym. Now I just follow a system. No hype, no debate, just results. 💪

Why Being a Funny Developer is a Double-Edged Sword

I like keeping things light at work with jokes, memes, good vibes. But sometimes people forget I ship code too, not just punchlines.

Why I prefer RSS over email subscriptions

Subscribing to a blog with email is good but it compels me to consume a ton content every morning. I'd rather setup RSS and read things on my free time.

Why I prefer email conversations over chat messages

Writing emails and letters feel like thoughtful whereas chat messages feel like mindless replies

Great WebAssembly Resources

Some of the great WebAssembly resources out there in the internet for free

Build a video to gif converter with ffmpeg using webassembly

Learn how to build a video to gif converter with ffmpeg using webassembly

Build an image processor application with webassembly

Learn how to build a simple image processor application using WebAssembly to convert colorful images to grayscale

Components of WebAssembly

Explore the core components of WebAssembly, including modules, execution environments, and memory models. This post simplifies complex concepts with clear examples, helping you understand how WebAssembly works.

Why WebAssembly is faster than JavaScript

Discover why WebAssembly often outperforms JavaScript and how it achieves faster execution by leveraging its design advantages.

Build your first webassembly project

Learn how to build a simple WebAssembly project from scratch that generates random hexadecimal color codes.

Introduction to WebAssembly

Learn what WebAssembly is and how it brings near-native performance to web apps. This post covers the basics of WebAssembly

WebAssembly - a beginners guide

Join me on a journey through WebAssembly in this practical-first blog series. From building your first WebAssembly project to understanding its components, I'll guide you step-by-step. Check out the repository for hands-on demos and examples!

WebAssembly - index

Index of webassembly posts

The perfect interview question for web developers

The perfect interview question for a web developer - What happens when you click a link on a website? Dive into this blog to explore how this simple question reveals deep technical knowledge.

I finally understood Integral Calculus

I've always struggled with math, but I've decided to revisit Calculus to truly understand Machine Learning. It wasn't easy—had to watch the basics twice and still felt lost. But after a chat with ChatGPT, it finally made sense! Excited to share my perspective on it soon.

2024 - Q4 - a lookback

Q4 was a rollercoaster of emotions and events. From night cycling adventures and spotting Bitcoin graffiti to launching SnapNostr, which received overwhelming support. I ran my first 5K marathon, faced bittersweet personal news, and navigated the trauma of Sanjay's accident and recovery. Volunteering at SheBuilds wrapped up the year with a sense of purpose and gratitude.

2024 - Q3 - a lookback

Q3 of 2024 was a whirlwind of growth and change for me. From buying my first Mac and resigning from Sysvine to attending an Amazon interview and embarking on unforgettable trips, every moment brought new lessons. I joined Comcast, volunteered with JS Lovers, and entered the world of Nostr, all while cherishing time with friends before they left for their next adventures. It was a year of taking risks, embracing transitions, and finding joy in the journey.

2024 - Q2 - a lookback

Q2 of 2024 was full of activities and personal milestones. From a calm night cycle ride to Mahabalipuram and an unplanned hike at Kona Falls to becoming a mentor at Think Digital and attending my first tech meetup, April was eventful. May and June brought new experiences, including a spiritual trip with my mom, learning to drive, and purchasing my first vehicle. This period was all about exploration, growth, and embracing challenges!

2024 - Q1 - a lookback

Q1 of 2024 was filled with surprises and new experiences. From an unforgettable birthday surprise and an unintentional pre-birthday celebration to a spontaneous trip to Pondicherry and my mom's first BBQ dinner, these months were all about laughter, exploration, and creating lasting memories.

Why am I unable to finish my projects?

I'm not completing the projects that I start. Recently found out that I'm trying to perfect everything that creates a lot of friction and ultimately ends in abandonment.

New project - Investments tracker

Gonna start another hobby project. It's an investment tracker that will help me track my investments and helps me know profits made by each investment.

Designers should test UI, not the QA team - Change my mind

Designers who designed that good looking page or navbar should first see it in action. Test it. Well, visually test it. Once designers are happy, then it can be moved to the QA team for further tests.

Jan 2024 - journal

It feels like this month passed by quite quickly. Feel like I didn't accomplish that much. But still it's a good month. I discovered certain aspects of my life, asked a lot of questions to myself and some problems within me.

Git branch cannot lock ref while creating a new branch

I was trying to create a branch in some_branch/feature/ticket. But Git thrown cannot lock ref error saying that the branch already exists

Kids crushed me at chess

Kids these days are very smart. I played a couple of matches against kids and they crushed me with out much effort. These games reminded me that how bad I'm at chess and forced me to improve a lot at it.

Publish TypeScript based React components to NPM with Storybook setup

Publish a typescript based react component library to NPM along with Storybook setup for development