Vibe coding is a good starting point, but it is not where serious AI-assisted development ends. The next step is agentic engineering: using AI coding agents inside a controlled engineering workflow, with context, tests, review and clear boundaries. Vibe coding often focuses on the generated output: Ask for feature -> get code -> run it -> ask for fixes Agentic engineering focuses on the system ar
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
The problem Pattern matching on a large set of literal values looks clean in code but hits a wall at runtime. Every on() call constructs case objects for every arm. With 128 arms, that is 128 object constructions per match call. At 11ns per call, this is fine for one-off use. Inside a hot loop, it is a disaster. // Clean syntax, 128 case objects constructed per call return match(x) | on( lit(0
This post was created with AI assistance and reviewed for accuracy before publishing. Cursor can use project rules and documentation to steer behavior. Exact file names and mechanisms evolve; check Cursor documentation for the current layout (for example rules in .cursor or legacy .cursorrules patterns). Short, enforceable bullets beat long essays: stack versions, test commands, “no new dependenci