Condescension
A word I learned recently, and what it revealed about charity, freebies and the small generosities we pat ourselves on the back for. True selflessness is about making yourself obsolete.
Some of the things I've built.
An ongoing project for managing personal financial planning.
An interview preparation kit for aspiring software engineers.
A habit tracker progressive web app: build habits, track progress over time, and keep data on your device.
Thoughts on software engineering and more.
A word I learned recently, and what it revealed about charity, freebies and the small generosities we pat ourselves on the back for. True selflessness is about making yourself obsolete.
Searching through millions of vectors one by one is too slow. In this post, we explore Approximate Nearest Neighbor (ANN) algorithms that allow us to find 'good enough' results instantly.
Keyword search has its limits. This post dives into vector embeddings, the core of modern semantic search. I'll explore how lists of numbers can capture complex meanings and relationships, allowing search engines to understand intent and context, not just keywords.
To truly understand how search works, you have to build it. This post demystifies search engine architecture by rebuilding it from the ground up in Python, exploring the fundamentals of web crawlers, inverted indexes, and simple ranking algorithms.
Lucene is a tool for text analysis. It uses an analyzer to split the text into tokens and process them. An analyzer has three parts: char filters, tokenizer, and token filters. They can do different things with the text, such as remove HTML tags, find synonyms, or make ngrams.