Becoming a tech lead was the goal from pretty early in my career. I had a clear picture of what the role was. More responsibility, more influence over the work, more of the interesting problems landing on my desk because someone had to figure them out and that someone, finally, would be me. It read like the natural next step. The thing you graduate to once you're good enough. What that picture did
I use AI coding agents every day. I believe they are reshaping how we build software, and I think the teams that adopt them deliberately will outperform those that don't. I am not writing this to warn you away from AI-assisted development. I am writing this because the loudest voices in the AI enthusiasm camp are also the most allergic to discussing what can go wrong. And that worries me more than
Hello Developers! 👋 Most developers today pick a side: Let’s talk about combining C++ and JavaScript—the ultimate hybrid stack for high-performance applications. 👇 1. The Core Engine (C++) ⚙️ 2. The Browser Bridge (WebAssembly) 🌉 3. The Cinematic Experience (Vanilla JS + UI/UX) ✨ The Takeaway 🎯 Keep optimizing, keep building! 💻✨ ~ Ujjwal Sharma | @stackbyujjwal About the Author 👨💻 Ujjwal
I built a Vamana-based vector search engine in C++ called sembed-engine. Recently I made a pull request that sped up queries by 16x and builds by 9x. The algorithm stayed exactly the same. The recall stayed at 1.0. The number of visited nodes did not change. The speedup came from data layout. The original code stored vectors as separate objects pointed to by shared_ptr: struct Record { int64_t
The first time I implemented Vamana from the DiskANN paper, my approximate nearest neighbor index was slower than brute force. On tiny test fixtures, brute force took 0.27 ms per query. My Vamana implementation took 22.98 ms. That sounds absurd. ANN exists to skip work. The problem was not the algorithm. It was how I mapped the paper's abstractions to actual data structures. The DiskANN pseudocode
Hash tables feel like the default choice for membership tests. std::unordered_set promises average O(1) lookup, so we reach for it automatically. In performance-sensitive C++ code, that habit can cost you an order of magnitude. I ran into this while building a Vamana graph index for approximate nearest neighbor search. The algorithm needs to track visited nodes. Node ids are dense integers, and th
A production-grade embedded system enabling communication across speech, text, Morse, and haptic signals within a single unified pipeline. Official Project Page: https://anandps.in/projects/unified-assistive-communication-system GitHub Repository: https://github.com/anand-ps/unified-assistive-communication-system Problem Assistive communication systems are fragmented. Most tools so
AI can write code. Good code. Clean code. Fast code. That doesn’t make development trivial. It shifts where the true value lives. When code was slow and expensive, writing it was the work. Decisions developed gradually. Architecture changed over time. Judgment was distributed throughout implementation. When the cost of code drops, that balance flips. The difficult part is no longer creating softwa