Two days ago, Google Cloud published a spec called the Open Knowledge Format (OKF). It’s a v0.1 release — early, explicit about that — but the idea behind it is worth understanding now because it points at a real problem that anyone building with LLMs runs into eventually.
This is the post I wish I had six months ago when I was trying to take my first RAG prototype and turn it into something I could actually deploy and share with others. The gap between “it works in a Jupyter notebook” and “it works as a service” is where a lot of engineering time disappears.
In distributed systems, ensuring unique and scalable identifiers is critical. While working on a recent problem, I needed to generate unique 64bit numbers across services. Snowflake ID approach fitted that requirement efficiently and reliably. Lets explore the Snowflake ID algorithm, its applications, and provide a Python implementation example. We’ll also cover deploying the application using…
Pinecone announced their serverless architecture in early 2024, and after using both the pod-based and serverless versions on a few small projects, I have some thoughts on what actually changed — and what didn’t.
Over the past year I’ve watched “RAG” go from a niche research acronym to something that comes up in every engineering discussion involving LLMs. If you’ve been meaning to understand what it actually is — not the hand-wavy version, but the mechanics — this post is for you.
A habit that I developed in recent times is to take a short note about the things I learn at work and in my personal explorations. Something like a flash card note, in a plain text, that is easy to take, remember and revisit. There are plenty of great flash card apps, note taking apps for mobile, web and desktop. No doubt about that. I wanted to reduce the friction and distractions in making a…
I have been reading about gRPC and protobuf in the recent times, exploring protocol buffers and grpc concepts. The quick start tutorials provided for different languages were pretty good to start off with. After running through the HelloWorld example and another simple service, I was curious to see where protobuf stands tall and where it stands short, when compared to other data interchange…
A short while ago I happened to work on Zookeeper related feature that required the use of Zookeeper C Client library to interact with the ensemble. We ran into many stability issues on the client side, so had to dig deeper to diagnose those issues and fix. Unfortunately ZK C client did’t have rich documentation and code comments, so navigating the code was somewhat challenging at the beginning.
A few months ago, ChatGPT was made generally available and like many others, I was in awe of its technology, power, and most importantly, its simplicity of use. After the initial fun of exploring it, I didn’t use it much. But slowly, the usage of ChatGPT started to climb up and I now find it so useful in a myriad of use cases. In this post, I will share some of the ways I use ChatGPT in my daily…
I have been using Google Universal analytics tag with my blog for a while. Google has been pushing the users to move to Google Analytics 4 from the current Universal Analytics for almost a year. Admittedly, I use it in a very basic ways just to monitor the page visits, so didn’t bother much to do the required update. I had been using google-universal as the provider in the jekyll config.