zig / under the hood
DUE 000 DECK 000 STREAK 0d LESSONS 0/14 saved in this browser only
Review queue
0cards due
0 new0 learning0 review
Add a lesson's cards to start reviewing
In deck
0
Mature (21d+)
0
Streak
0d
Recall, 30 days
–

Review log

last 32 days · reviews per day in hex
00000000 00000000000000000000000000000000 |................|
00000016 00000000000000000000000000000000 |................|

Read it like xxd output: each byte is one day, oldest at the top left, today outlined. The right column marks days you showed up.

How this works

Read a lesson, then press Add cards to my reviews at the bottom. Its flashcards join your deck and come back on a spaced schedule: a card you know well returns after days, then weeks, then months; one you miss comes back in a minute.

  • Before you reveal an answer, actually say or write it. Recall, not recognition, is what builds memory.
  • Grade honestly. Again if you got it wrong, Hard if it was a struggle, Good if it came normally, Easy if it was instant.
  • Shortcuts in review: Space shows the answer, 1–4 grade it.
  • When something clicks while you're coding, write it down as your own card in Cards.

Build these

projects that use the lessons

A hexdump clone

Read a file and print offsets, hex bytes and an ASCII column, like xxd.

A CHIP-8 emulator

16 registers, 4 KiB of memory, a fetch-decode-execute loop. The best first emulator.

Your own allocator

A bump or free-list allocator that implements std.mem.Allocator and passes std.testing leak checks.

Life without libc

Hello world, then cat, using only raw syscalls through std.os.linux.

Measure your caches

Time random vs sequential reads across array sizes and find your L1, L2 and L3 sizes in the curve.

A tiny shell

Read a line, fork, exec, wait. Add pipes and you've touched half of an OS course.

Go deeper