ASRG is an independent, community-run study group focused on the internals of computer systems.
More accurately, it's a technical retreat for curious programmers to come together, learn, and build the things they love. It's entirely collaborative, self-directed, and open to everyone — no prior attendance required, and adherence to the Geneva Convention is optional. We get together to do things like:
- Read technical books such as Designing Data-Intensive Applications
- Break down research papers such as MapReduce
- Contribute to open-source projects like Chromium and RocksDB
- Run monthly hack nights, AMAs & more
We meet once a month on a Sunday afternoon, the exact date is announced in the group chat and in this website. Feel free to drop in, see if it's your thing, and stick around. Recordings of past sessions are available on YouTube.
What we explore
We cover a broad range of systems topics, including:
- Programming Languages, Compilers, Parsers, and Developer Tooling
- Databases and Storage Engines: OLTP, OLAP, NoSQL, NewSQL, and Cloud-Native Systems
- Networking Stacks, Internet Protocols, and Browser Engines
- Distributed and Concurrent Systems
- Operating Systems, Kernels, and Device Drivers
- Virtualization, Hypervisors, and Emulators
- Formal Methods, Modelling, and Verification
- Large-Scale Infrastructure, Service Meshes, and Serverless Runtimes
- Advanced Algorithms and Data Structures, CPU Profiling, and SIMD/Vectorization
- Machine Learning Systems, Deep Learning Models, and GPU Programming
And here's a list of potential ideas we will work on:
- Internals of cool software: Lichess, the Zig compiler, the V8 JavaScript engine, WebAssembly, etc.
- Deep diving into distributed systems: implementing Raft, reading papers, solving challenges.
- Building your own microVMs for serverless computing (think AWS Firecracker).
- Linux from scratch, writing containers from the ground up, breaking down Nix.
- Storage-level systems engineering (e.g. xNVMe), comparing media codecs, rebuilding the Ethereum Virtual Machine.
- Graphics programming: write your own shaders, dissect the Godot game engine.
- Exploring cool algorithms: Knuth–Morris–Pratt, PageRank, Twitter's recommendation algorithm, Apple's NeuralHash.
- Crash course on FPGAs & ASICs, how Jane Street uses OCaml, CppCon watch parties.
- Running DOOM in GitHub Actions and every other place you can think of.
- Designing your own programming language, writing cursed regex & so much more.
BSOD: Bimonthly Sessions of Development
BSOD is an intense week-long jam where members implement a piece of software from scratch. Writing something from scratch turns theory into practice. Here's a bunch of ideas in mind:
- ZigFest: 8-day crash course into Zig and systems engineering: SIMD algorithms, TCP/IP from scratch, in-memory cache, and rebuilding Redis.
- Deployment from Scratch: Over-engineering a website in the 21st century: servers, databases, and production fundamentals.
- OS-Dev: 4-week speedrun building a mini OS with Rust and C: kernel, C runtime, concurrency, and hypervisors.
- UNIX Jam: 1-week festival of systems programming: io_uring, eBPF, coreutils from scratch, distributed challenges, and x86 assembly.
- Compiler Construction: 10-day jam building modern compilers: optimization techniques, virtual machines, and experimental language features.
Schedule
| Date | Topic | Presenter |
|---|---|---|
| TBD | TBD | Hari Varsha |
Brought to you by
ASRG is organized by Hari Varsha. Interested in presenting? Send me an email. Follow us on X, YouTube, and Twitch.