Posts
2025
2024
2022
2021
- Cache Replacement Algorithms: How To Efficiently Manage The Cache Storage Caching Let’s start at the beginning and talk about what caching even is. Caching is the process of storing some data near where It’s supposed to be used rather than accessing them …
- A Closer Look Into The World of Database Replication We all have used or heard about database replication at some point but have you ever wondered how It works underneath? That’s exactly what we’ll be doing here. Replication is …
- Rate limiting using the Sliding Window algorithm In this part of the rate-limiting series, we will introduce the Sliding Window algorithm and implement it in Python. Even though there are more rate-limiting algorithms out there, …
- CPU Time: How To Accurately Benchmark Your Code I’m going to assume that everyone reading this post has done some benchmarking here and there. But have you ever thought about how accurate are your readings? In this post, we will …
- Rate limiting using the Fixed Window algorithm In the previous post, we went through rate-limiting and what it is. Then, we introduced an algorithm called Token Bucket and implemented it in Python. I’ve decided to turn this …
- Rate Limiting in IPv6 Era Using Probabilistic Data Structures In any system where two parties communicate with each other, we hear things like rate-limiting, flow control, etc. The problem is that all systems have limits and to protect the …
- Function as a service: behind the scenes It’s been months when I first decided to write this post but I honestly didn’t know to structure all the materials. With that in mind, I started writing it so let’s see how It …
2020
- Rate limiting using the Token Bucket algorithm Rate Limiting The term “rate-limiting” is known to almost everyone who has worked with web servers. I think It’s one of those subjects that we often just use and don’t think about …
- Absolute Beginner's Guide to BCC, XDP, and eBPF Introduction If you’re reading this, chances are you have some idea of eBPF and XDP. In this article, we’ll write an eBPF program that will count and categorize packets based on …
- NGINX Load balancer Cluster with automatic configuration and node failure detection using Serf Introduction In one of my previous articles, I wrote about gossip protocol and memberlist and we also learned how to use the memberlist library in order to create a simple cluster …
- WebAssembly, Wasmer And Embedding Wasmer in C program Introduction In this article, We’re going to talk about WebAssembly, Wasmer and how to embed Wasmer in a C application. WebAssembly WebAssembly is a portable binary instruction …
- Introduction to gossip/epidemic protocol and memberlist Introduction At the time of writing this article, we have an ongoing pandemic in the world called COVID-19. We’ve seen how pandemics and viruses, in general, are efficient at what …
2019
- Introduction to Remote Wind Measurement Lidars “Wind LIDAR (a portmanteau of “light” and “radar”) is a technique where low-noise laser light is used to measure wind speed and direction with high accuracy.” “The accurate …
- How to build https servers with certificate lazy loading in Go Go has become extremely popular between server programmers in recent years and as this rising popularity continues some specific needs emerge. In this article, we’re going to talk …
- Extend NGINX with Lua — DDOS Mitigation using Cookie validation Introduction “OpenResty® is a full-fledged web platform that integrates our enhanced version of the Nginx core, our enhanced version of LuaJIT, many carefully written Lua …
- How to set up an NGINX reverse proxy cluster with a shared cache What is NGINX? NGINX is a Web Server/Load Balancer/Reverse Proxy which uses an event-driven model to handle incoming requests instead of those costly threads! The rise of NGINX in …