Discover

Tutorials, challenges, courses, skill paths, playgrounds, and more — search the whole library in one place.

Tutorial

How Kubernetes Operators Work: Building a Controller From Scratch

Build a Kubernetes operator for a small Pet API, first as a 15-line bash loop and then as a Go controller with controller-runtime. Every Pet gets a Pod to live in, gets hungry as time passes, and runs away if nobody feeds it. Along the way, you'll see how the reconcile loop works.

How Kubernetes Operators Work: Building a Controller From Scratch (cover image)
Tutorial

Using Go for Systems Programming

Discover how Go functions under the hood as a modern systems programming language. Learn how Go makes system calls directly, resulting in self-contained binaries that have no libc dependencies.

Using Go for Systems Programming (cover image)
See all tutorials →
Challenge

Debug a Go Container Image That Fails to Start After a Recent Change

A Go service that has always been shipped as a static binary in a scratch-y image suddenly fails to start in a container, while the local build works as before. Find what recent changes caused it and fix the image without reverting them.

Challenge

Utilize POSIX Threads for Concurrency

Refactor a slow, single-threaded C file downloader that fetches files sequentially into a multi-threaded program using POSIX Threads (pthreads) to achieve concurrent downloads.

See all challenges →
Skill Path

eBPF/XDP Network Skill Path

A hands-on learning path that teaches how to use eBPF and XDP for high-performance, in-kernel packet processing, from protocol parsing to advanced use cases like firewalling, rate limiting, and load balancing.

Skill Path

eBPF CO-RE Skill Path

In this learning path, you’ll go from comparing different tracing program types — tracepoints, raw tracepoints, kprobes, and fprobes — to writing portable eBPF programs that work reliably across environments. You’ll also understand the role of BTF and learn how to make your eBPF code portable even when BTF isn’t available on the target system.

Skill Path

eBPF Beginner Skill Path

Learn eBPF from the ground up — from writing and running your first program, to storing data in eBPF maps, inspecting and monitoring kernel activity using bpftool and bpftop, and understanding how the verifier ensures safe eBPF execution. Finish with a hands-on challenge to put your new skills to the test.

  • 4 Tutorials
  • 1 Challenge
  • Easy
See all skill paths →
Playground on  Generative AI, Programming

Coding Agent Base

Get a disposable agentic coding environment in seconds. Claude Code, Codex, Gemini CLI, and Opencode pre-installed and ready to use.

Playground on  Linux, Programming

ShellGym

Try ShellGym - an interactive Linux command-line trainer - in a ready-made Ubuntu VM: daemon running, web UI open, sample learning path loaded.

Playground on  Kubernetes, Programming

Kubernetes Client (Go)

A collection of mini-programs demonstrating Kubernetes client-go usage and a loaded IDE. Handy if you need to write a controller or two.

Playground on  Programming

Python

The latest Python 3.x, pyenv, uv, Docker, VS Code, and a bunch of extensions.

See all playgrounds →