Build your own container
namespaces, cgroups and chroot. Isolate a process by hand and understand what Docker does when it starts an image.
Go · C · Rust
Build and train a neural network from first principles: forward pass, loss functions, and gradient descent optimization.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
Modern machine learning often feels mysterious behind massive frameworks like PyTorch or TensorFlow, but its core foundations are elementary arithmetic: weighted sums, non-linear activation functions, and gradient calculation using the chain rule.
In this project, you will build the training engine of a neural network from scratch without external machine learning dependencies. You will implement the affine combination of an artificial neuron, activations like ReLU and Sigmoid, loss metrics like MSE and BCE, and the gradient descent optimization loop to classify data deterministically.
6 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.
Compute the linear combination of weighted inputs and apply non-linear activation functions.
Measure prediction error using MSE and BCE, and update parameters using gradient descent.
Execute complete optimization epochs and perform deterministic predictions on binary classification.
namespaces, cgroups and chroot. Isolate a process by hand and understand what Docker does when it starts an image.
Go · C · Rust
Mark-and-sweep from scratch. Manage memory the way the runtimes you use daily do without you noticing.
C · C++ · Rust
fork, exec, pipes and redirection. Build a POSIX command interpreter that runs real programs.
C · Rust · Go · Zig