💡 What to Expect
Don't expect much. I don't have any big plans for my posts. I typically write about what I'm currently working on and the things I'm discovering in my life right now.
All Posts
Explore the evolution of I/O multiplexing from `select(2)` to `epoll(7)`, culminating in the advanced io_uring framework
Building a simple rate limiter / throttler based on GCRA algorithm and redis script
Exploring the evolution and nuances of serverless architectures, focusing on the emergence of MicroVMs as a solution for isolation, security, and agility. We will discuss the differences between containers and MicroVMs, their use cases in serverless setups, and highlights notable MicroVM implementations by various companies. Focusing on FirecrackerVM, V8 isolates, wasmruntime and gVisor.
Details about this blog tech stack and how I migrated from Ghost on Hetzner to Phoenix based markdown blog with bunch of technologies (Phoenix + Nimble Publisher + Neon Tech + Hetzner + Kamal Deploy + wsrv.nl) connected to provide me great experience
Understand how modern open table formats like apache iceberg can help in traditional data lake problems effectively and efficiently
Exploring the evolution of big data analytics and role played by the Parquet file format in optimizing storage, query performance, and data processing. We will learn how Parquet's columnar storage, compression options, and support for predicate pushdown have transformed the landscape of big data analytics
Insights into the core principles behind Linux containerization and Docker technology, exploring how these tools facilitate efficient application deployment, isolation, and management in a lightweight, portable manner
Delving into the fundamentals of TCP (Transmission Control Protocol) and how it relates to managing data flow, exploring the concept of backpressure and its crucial role in preventing overwhelming network communication by regulating data transmission
Exploring the benefits of Single Instruction, Multiple Data (SIMD) vectorization in improving program performance, enhancing concurrency, and optimizing computations in Java
Project Loom, an OpenJDK initiative, introduces virtual threads to Java, lightweight and efficient alternatives to traditional threads. Virtual threads simplify concurrency, maintain backward compatibility, and excel in I/O-bound tasks, offering high scalability and resource efficiency. They implement M:N scheduling and provide a seamless approach to thread management in Java applications
An attempt to collect the default port for the most used server programs as cheatsheet
Exploring malicious archive file designed to overwhelm and crash the target system by decompressing into an extremely large and resource-intensive volume of data, posing a severe security threat.
Caveats of MongoDb sharding while working at scale
Experimenting zig with basic program to generate password
With Java 21 now Generational ZGC is production ready. It still is not the default which is G1GC, but it is a development worth exploring again
A memory allocator is a component of a programming language or runtime system that is responsible for managing the allocation and deallocation of memory during program execution
If you've ever used the internet, chances are you've encountered DNS, or the Domain Name System. DNS is the backbone of the internet and is responsible for translating human-friendly domain names like google.com into the IP addresses that computers use to communicate with each other
Semantic search algorithm takes into account the meaning of words and phrases used in a search query, as well as the context in which they are used
Wafer scale engine provides a alternative approach of training large models using monolith chip that integrates and interconnects, onto a single piece of silicon