Linux kernel source tree
This isn't an anti-Go post. Go is a great language. This is about what I want to understand. I just finished building an L7 HTTP load balancer in Go. It accepts connections. It parses HTTP headers. It forwards requests to backend servers using round-robin. It handles concurrent connections with goroutines. It has health checks. It works. And somewhere in the middle of it working, I realized I didn
I needed to coordinate background scripts running across different machines. The obvious answer was Redis. Everyone uses Redis for this. The tutorials all use Redis. The Stack Overflow answers all say "just use Redis." So I looked at what deploying Redis would actually cost me: A running Redis server I had to maintain A broker to connect workers to it Celery or RQ on top of that Memory-based stora
Most developers use malloc without thinking much about what happens underneath. This project is an attempt to explore that layer by building a memory allocator from scratch in C. The allocator implements malloc, free, calloc, and realloc without relying on libc’s heap functions. It focuses on: Thread safety Per-thread caching (tcache) Efficient free block management using bins mmap-based memory g
Comments