---
title: "Azhar Abbas (@azharabbas) | Hashnode"
description: "Building LoanCalculators.pk, a free loan and EMI calculator for Pakistan. Read the latest articles by Azhar Abbas on Hashnode."
url: "https://hashnode.com/@azharabbas"
---

@azharabbas

# Azhar Abbas

@azharabbas · Joined November 2026

Building LoanCalculators.pk, a free loan and EMI calculator for Pakistan.

[Website](https://loancalculators.pk/)

## Comments

[The distinction between V8 helpers and the libuv pool is useful. One caveat for readers: the exact startup thread count can vary with Node/V8 versions, platform and runtime flags, so seven is an observation rather than a portable guarantee. Also, single-threaded JavaScript can still have logical races across await boundaries. For a payment handler, for example, checking a balance and updating it in separate steps still needs a database transaction or another concurrency safeguard.](https://hashnode.com/posts/why-an-empty-nodejs-process-runs-7-threads/6af6d73a41060513e7d11ea0/comment/6af738966de7ba9a52437c9b)

Comment · Article · 5h ago · [The 7 Threads Running Inside Every Node.js Process](https://hashnode.com/posts/why-an-empty-nodejs-process-runs-7-threads/6af6d73a41060513e7d11ea0)

[The distinction between mirroring and keeping recoverable history is especially useful. I would add a recovery-time objective alongside RPO: a weekly copy may meet the data-loss target but still take days to download and restore. A practical drill is to restore a small service onto a clean machine using only the offsite copy and the documented recovery steps, then time it and check that the application actually works. That also exposes missing encryption keys or credentials that were stored only on the failed machine. Backup-success logs and repository checks are valuable, but neither alone proves that recovery is possible.](https://hashnode.com/posts/backups-arent-simple/6af6d3f1856174f724934b0c/comment/6af70fdbcc91786c56693160)

Comment · Article · 8h ago · [Backups aren't simple](https://hashnode.com/posts/backups-arent-simple/6af6d3f1856174f724934b0c)

[The comparison table makes the cross-service mismatch clear. One distinction worth adding: reducing clock skew tightens expiry enforcement, but it doesn't revoke a token before its expiry. Immediate logout or incident response still needs a separate revocation strategy. I'd add boundary tests around both exp and nbf, with the chosen leeway, so a configuration change doesn't silently accept tokens early or reject valid ones across services.](https://hashnode.com/posts/why-aspnet-core-accepts-expired-jwts/6af58b784b90906ebc6a38e2/comment/6af6e4df2fcd624dfa1cdc05)

Comment · Article · 11h ago · [Why ASP.NET Core Accepts Expired JWTs (And How to Fix It)](https://hashnode.com/posts/why-aspnet-core-accepts-expired-jwts/6af58b784b90906ebc6a38e2)

[The two-way reconciliation is the key part here. One useful addition is to test the processor report for duplicate IDs before joining it: a duplicate on either side can multiply rows and make the amount comparison misleading. I would also separate pending settlements from genuine exceptions using an explicit cutoff, so a normal settlement delay does not hide a growing backlog.](https://hashnode.com/posts/would-your-payments-code-pass-an-audit-5-tests-you-can-run-today/6af5ed8b537a5b51108f83e3/comment/6af6bb046f8563d7a013f0e9)

Comment · Article · 14h ago · [Would Your Payments Code Pass an Audit? 5 Tests You Can Run Today](https://hashnode.com/posts/would-your-payments-code-pass-an-audit-5-tests-you-can-run-today/6af5ed8b537a5b51108f83e3)

[The 30% versus 38.18% example is a useful reminder that a correct row formula can still produce a misleading report total. I’d include unequal-sized sales, returns and zero-revenue rows in the test fixtures before treating the generated margin as a shared business metric.](https://hashnode.com/posts/natural-language-calculations-in-apex-26-2/6af5ebb1987f32cbcb5a52b6/comment/6af6af2a5bc1768a1dba7b60)

Comment · Article · 15h ago · [Natural-Language Calculations in APEX 26.2](https://hashnode.com/posts/natural-language-calculations-in-apex-26-2/6af5ebb1987f32cbcb5a52b6)
