$ ./mvnw test -Dtest=LedgerConservationTest assert sum(credits) - sum(debits) == 0 expected 2000.0000 actual 2450.0000 ← money was being created no exception. no deadlock. no failed lock. one assertion, and four hours to find out why.
Backend systems, and the bugs that never throw an exception.
I'm a final-year Computer Engineering student at NMIMS Navi Mumbai, working mostly in Java and Spring Boot. Currently a Java Developer Intern at Mainfreight India. My capstone is an empirical study of circuit-breaker behaviour under injected faults.
Projects
- A banking API that refuses to create money
A Spring Boot REST API with a double-entry ledger, built to survive concurrent transfers, duplicate requests, and its own bugs.
- CascadeShield — measuring what a circuit breaker actually prevents
A capstone study of circuit-breaker window behaviour under injected faults, and the six months spent making sure the headline result wasn't an artifact of the harness.
- Argentum — a silver market agent that has to explain itself
A Python system that reads market news, tracks where a narrative is in its lifecycle, and issues INVEST / HOLD / EXIT calls with a confidence score attached to each one.
- RL-guided NSGA-II for cloud task scheduling
Multi-objective task scheduling in a simulated cloud, where reinforcement learning adapts the evolutionary operators instead of replacing them.
Writing
- The lost update that a lock did not prevent
SELECT ... FOR UPDATE was issued. The row was locked. The value I read was stale anyway.
- A green test is not evidence that your rule is why
Locking accounts in ascending ID order prevents deadlocks. My tests passed. That proved nothing until I removed the rule.
- When your headline result is a property of your test harness
A perfect 0 out of 243 looked like a finding. It was the shape of the load generator.