projects
A collection of systems programming projects built for learning and experimentation.
- haystack: a distributed file system inspired by Facebook's Haystack architecture. Features a Raft-based directory cluster for high availability, mapping files to logical volumes stored as large append-only files. The directory coordinates client read/write operations without directly handling file storage, while replication ensures data durability across multiple store servers.
- mc: a complete C compiler written in Go, featuring lexical analysis, parsing, intermediate representation generation, and x64 assembly code generation.
- mci: a proof-of-concept distributed CI/CD pipeline service with web interface. An orchestrator distributes work to agents that execute YAML-defined pipelines within Docker containers like Alpine Linux.
- serie: an embeddable time series database with a custom LSM tree optimized for time series queries. Uses delta-delta encoding for memory efficiency and includes HTTP API, consistent hashing for distribution, and a custom query language parser for data aggregation.
- dcache: a high-performance distributed in-memory cache built with Go. Uses gRPC for inter-node communication, Serf for cluster management, and Raft for distributed consensus.
- distsql: a distributed SQLite3 database with HTTP API and gRPC communication between nodes. Implements Raft consensus for data consistency across the cluster.
- rc: a Lisp compiler written in Rust that generates standalone ELF binaries. Parses S-expressions, generates intermediate representation with optimizations like constant folding, and compiles directly to x64 machine code.
- levelsql: a minimal SQL implementation built on top of LevelDB. Encodes relational data structures as key-value pairs, demonstrating how SQL can be layered over NoSQL storage engines.
- sagasu: a lightweight service discovery tool featuring a clustered service registry. Provides basic functionality similar to HashiCorp Consul for microservice environments.
- upfi: a minimalist file hosting platform focusing on simplicity and ease of deployment.
- gocry: a proof-of-concept ransomware implementation for educational and security research purposes.
- karu: a Bitcask-style key-value store for Linux written in C++. Built to explore large-scale C++ development patterns and persistent storage optimization.
- stupidhttp: a HTTP server built from scratch in Go without using net/http. Implements a subset of HTTP/1.1 with HTTPS support, demonstrating protocol implementation fundamentals.
- sch: a fast, lightweight chat application built with Rust and Tokio, showcasing asynchronous programming and real-time communication.
- hashvis: a utility that generates unique ASCII art visualizations from file contents. Creates deterministic visual fingerprints by hashing file content to seed a random walk pattern on a grid, rendered as ASCII characters.
- chibi: a distributed SQL database implemented using only Go's standard library. Demonstrates fundamental database concepts without external dependencies.