API engineering and building robust systems
Modern software are built on API-first policy. Without APIs your product is isolated in its own boundaries. In this post I disucss essential things you need to engineer your APIs elegantly and build robust systems.



Building an MCP server and configuring with the Claude desktop app
MCP is an open standard that promises to glue LLMs with tools and services, often called the USB-C of AI applications. LLMs frequently need to integrate with data and tools, and MCP standardizes these interactions.



Prompt engineering
Prompt engineering is the practice of crafting clear, specific instructions to get the best possible responses from AI models. Effective prompts typically include detailed context, specific examples of desired outputs, and clear formatting requirements to guide the AI's response.



Keyless authentication for your OpenAI services on Azure
API keys are like disasters waiting to happen. Someone might share it on email, chat or write it down, meaning the key may get compromised. Then, you end up with a big bill because of a compromised key.



Database must checks before we say queries are slow
We can't build applications without databases. Databases are everywhere. Oftentimes, we run into database issues like slow running queries and high response times. Check if you are doing these (simple) things.



Large Language Models and Bayes' Theorem
Large Language Models are predicting the next token. For a given sequence of tokens, LLMs are computing what could be the next most probable token. But how do we influence this process?



Is machine learning really helping machines learn?
Will machines take over the world? Will robots become more intelligent than humans? Are unicorns real? Or is this all just another bubble?



Visualizing tensors
To a programmer, tensors are arrays. To a mathematician, tensors are matrices. To a physicist, tensors are properties. So if we may draw, how would tensors look really?



Distribution of streaming media - Part 2
Distribution of streaming media is best done over HLS or MPEG-DASH. Modern browsers are equipped to handle media streams simply using HTML5 with media source extensions and can play HLS seamlessly. Interestingly almost all video infrastructure we know today are powered by FFmpeg.



Distribution of streaming media - System design
Analysing a video upload and on-demand streaming system design. This architecture is very close to a real implementation, in fact my team used a similar architecture for a drone based live streaming system that elegantly worked.



Unit testing and beyond
Unit testing is an underrated skill. It's not optional, it's an integral component of quality software. Unit tests are developer's accountability. But don't limit to just unit tests. Aim for developer driven integration testing.



All about HyperLogLog in Redis
HyperLogLog is a probabilistic data structure in Redis. It's used as a Redis data type and has nothing to do with logs; it estimates cardinality of a data set, which means, counting unique values in the collection.