RSSAmplifier

Blog

Still debugging

Practical lessons, hard-earned insights, and clear explanations from years of building software—covering Java, JavaScript, and the thinking behind good engineering.

blog.gaurang.pageRSS feed ↗6 posts

Latest posts

ORMs: A Solution Looking for a Problem?

Introduction When I first got into web development during my college days, the process was refreshingly straightforward. I would set up a PHP backend, execute my SQL queries using mysqli_query, and that was it—no models, no layers, just raw queries a...

[Node.js] How to Use Promises in a Callback-based Codebase

Hi! I'm Gaurang. I’ve worked extensively with Node.js in the past, and during that time, I spent a lot of effort wrangling with different async patterns — callbacks, promises, and async/await. This article is part of my series, "My guide to getting t...

[Node.js] Using callback-based functions when the rest of the code uses Promises

Hey! My name is Gaurang and I've been working with Node.js for the past 5 years. This article is part of the "My Guide to Getting through the Maze of Callbacks and Promises" series. It's a 3-part series where I talk about writing asynchronous code wi...

[Node.js] Why using sync versions of async functions is bad.

Hey! My name is Gaurang and I've been working with Node.js for the past 5 years. This article is part of the "My Guide to Getting through the Maze of Callbacks and Promises" series. It's a 3-part series where I talk about writing asynchronous code wi...

Do you really understand interfaces?

The lead-up When I was learning Java in college, I did not understand the use of interfaces. You can't define functions inside an interface. You can only declare them. You have to have a class implement the interface to define its functions and then ...

The odyssey of asynchronous JavaScript

The lead-up When I was learning JavaScript (about 1-2 years back), my mentor had me go through it step-by-step. So, first I spent some time getting comfortable with callbacks. Then I jumped onto Promises. And then, after months, I started using Async...