Writing

Notes on software engineering, the web, and things I’m learning.

RSS ↗

2026

  1. How Does My Authenticator App Know The Code?

    Your authenticator app can generate the right six digits every thirty seconds without contacting the server. Let's find out how HOTP and TOTP work from this article!

  2. Who Sold My Seat Twice?

    Sometimes ticket systems sell the same seat twice, and usually nobody wrote a wrong line of code. Let's find out what a TOCTOU race condition is, and how to fix it, from this article!

2024

  1. A tale of proxy server

    Proxy servers are a crucial concept in 'Software engineering' and 'System design'. Let's learn about the difference between 'forward proxy' and 'reverse proxy' in brief from this article.

  2. Probabilistic Data Structures: Bloom filter

    Let's understand one of the most popular probabilistic data structures, how it works, and where it will be useful.

  3. Retry mechanisms in Laravel

    Laravel provides some excellent 'Retry' mechanisms out of the box for handling transient failures! In this article, we'll learn about these mechanisms to build a reliable system using Laravel!

  4. How Do You Authenticate, Mate?

    A definitive guide to authentication for software developers!

  5. What Every Programmer Should Know About ‘String’

    In our day-to-day programming, we use 'String' a lot. Like a really lot! There are some important concepts regarding Strings that every programmer should know. Let's learn them from this article!

  6. Open Office Environment Should Be Like ‘Library’, Not ‘Cafeteria’

    Open offices are fine — treating them like cafeterias is not. Why deep work needs library rules, from years of working in noisy rooms.

  7. Webhook for You and Me

    Webhook is an interesting and useful concept in Web development. In this article, I tried to explain this concept very simply with a real-life scenario.

  8. Do not start writing code until you understand the 'problem'!

    Jumping straight into code breeds wrong assumptions and tech debt. Understand the problem first — analyze requirements, ask questions, share designs early.

  9. My key takeaways from ‘Devs Answer’ series

    Lessons from Honeypot’s ‘Devs Answer’ interviews — staying current without burning out, asking for what you want, and other advice from senior developers.

  10. Observer vs Pub-Sub Pattern

    Is there any difference between 'Observer' and 'Pub-sub design pattern'? Some say, yes there is. Some say they are the same. Let's find out from this article.

  11. Which Programming Language Should I Learn?

    Languages are like vehicles: there is no single best one, only the right one for your destination. A framework for picking your first programming language.