Redis Data Structures: A Pythonic Interface for Distributed Data Structures Introducing redis-data-structures - A Python library providing high-level, Redis-backed data structures with a clean, Pythonic interface.
Build your own Redis (1/5) - Redis Serialization Protocol and Concurrency Model Redis represents a masterclass in systems design, particularly in how it balances performance with architectural elegance. Through implementing a Redis-compatible server via the CodeCrafters challenge, we'll deconstruct two fundamental architectural decisions that shape Redis's behavior: its wire protocol (RESP) and its event-driven concurrency model. If you&
How Computers Generate Random Numbers Imagine this: you're playing your favorite video game, and an enemy drops a rare item. Or maybe you're shuffling your Spotify playlist, wondering how it picks the next song. Behind these everyday moments lies a fascinating paradox: how do computers, which are fundamentally deterministic machines, create
Building a Database From Scratch: Understanding LSM Trees and Storage Engines (Part 1) Learn core database concepts by implementing a Python key-value store with crash recovery and efficient writes. In this tutorial, we'll build a simple but functional database from scratch with Python. Through this hands-on project, we'll explore core database concepts like Write-Ahead Logging (WAL), Sorted String Tables
The Easiest Way to Add Code Interpreter into Your LLM Apps Hey mate, I recently tried to add something like the ChatGPT Code Interpreter plugin to my LLM application. I found many libraries and open-source options available, but they seemed a bit complicated to set up, and some required credits for cloud computing. So, I decided to develop my own library
Concurrency Programming in Python: Thread vs. Process Concurrency is a vital aspect of modern programming, allowing applications to perform multiple tasks simultaneously, thus improving efficiency and responsiveness. In Python, developers often face the choice between using threads or processes to achieve concurrency. This blog explores the differences between these two concurrency models, how they interact with Python&
How to effectively evaluate your RAG + LLM applications Hey there! Ever wondered how some of today's applications seem almost magically smart? A big part of that magic comes from something called RAG and LLM. Think of RAG (Retrieval-Augmented Generation) as the brainy bookworm of the AI world. It digs through tons of information to find exactly
Build your own RAG and run it locally: Langchain + Ollama + Streamlit With the rise of Large Language Models and its impressive capabilities, many fancy applications are being built on top of giant LLM providers like OpenAI and Anthropic. The myth behind such applications is the RAG framework, which has been thoroughly explained in the following articles: Building RAG-based LLM Applications for
Python basic Many of my friends want to be Data Analysts. However, they are afraid of programming since it sounds like an advanced skill. Therefore, the first post in this series is about the Python programming language - one of the most popular programming languages in scientific computing and data analysis. This
Hands-on Apache Spark tutorial for beginners Apache Spark is one of the most famous Big Data tools; it aids in the acceleration of data processing applications through parallelization. Today, I'll show you how Spark can help you get more done in less time. This is a beginner's note for those who are