Why We Built a Distributed Vector Database
How our major project pushed me deeper into distributed systems, trade-offs, and real-world scale thinking.
Writing
Essays on software taste, distributed systems, homelabbing, terminals, and whatever I can't stop thinking about after shipping. These are notes with opinions, not content factory output.
Archive
How our major project pushed me deeper into distributed systems, trade-offs, and real-world scale thinking.
A deep dive into building a block-based, inode-centric file system simulator from scratch in C++. I walk through superblock design, inode tables, block allocation strategies, and the real trade-offs around fragmentation, consistency, and performance that you only discover when you actually implement them yourself.
A practical philosophy for designing distributed systems that embrace trade-offs instead of hiding them. I cover why explicit decisions about consistency, latency, and failure modes make systems easier to operate under real production pressure, with concrete examples from building a distributed vector database.
How a blinking cursor in a dark terminal window became my most creative space. I trace my journey from being intimidated by the command line to falling in love with it — discovering the power of composable tools, shell scripting, tmux workflows, and why I eventually ditched GUI editors for Vim.
After pushing 10,000 vector ingestions per second on a dusty i3 processor, I realized modern hardware isn't the bottleneck—our software is. A breakdown of how bloated frameworks, single-threaded architectures, and the obsession with 'Clean Code' are costing us a decade of hardware progress.
An honest take on whether AI will replace developers, grounded in my own experience shipping code alongside AI tools. I explore what AI gets right, where it consistently fails, and why the developers who thrive will be the ones who understand systems deeply enough to know when the AI is wrong.
How I turned an old Android phone into a lightweight personal server using Termux and SSH. I walk through the setup process, networking challenges, port forwarding, and why running a real Linux-like environment on a phone taught me more about systems administration than any tutorial ever could.
A thought experiment on whether rediscovering the laws of physics is sufficient to prove machine intelligence. I explore the gap between pattern recognition and genuine understanding, asking whether an AGI placed in an alien universe could distinguish between memorizing observations and building real causal models of the world.
How AI code generation tools create a feedback loop that accelerates mainstream stacks like React and Node.js while potentially slowing disruptive software innovation. I explore the risk of model collapse, the homogenization of software design, and why the most interesting systems work happens far from what AI models are trained on.
After months of relying on AI assistants to write code, I sat down to solve a problem without any help and realized I'd forgotten the basics. A candid reflection on skill atrophy, the seductive convenience of autocomplete, and why I had to deliberately retrain myself to think through problems from first principles again.
Why the current AI hype cycle is likely to cool off, but the practical, high-value applications will endure. I break down the economics of AI startups, the gap between demo magic and production reality, and which categories of AI tooling will actually survive the inevitable correction.
Three languages that shaped how I think about code — C++ for systems-level control and memory management, JavaScript for rapid prototyping and web-native thinking, and Go for clean concurrency and production simplicity. Why I keep coming back to this trio instead of chasing every new language trend.
It's not about being anti-Windows — it's about finding an OS that respects my workflow. I walk through my migration to Fedora, the friction points I hit, the tools that replaced my Windows muscle memory, and why the Linux philosophy of composability and transparency fundamentally changed how I approach software development.
No matching entries found in the archive.