Everything I learn about building things, written down as a course while I am learning it.

Not computer science. There is no big-O here and nothing to memorise for an exam. This is the other half: the terminal, git, the web, deployment. The things u touch every day and that nobody sits u down and explains.

It is not documentation and it is not a reference. It is the notes of someone learning the thing for the first time, cleaned up enough that another beginner can follow them. If something confused me, it gets a full explanation instead of one line saying “this is obvious”.

None of it is AI generated. I wrote every line by hand while I was learning it.


The courses

coursestatustimevideowhat it covers
Terminal 101finished~11h 15minwatch, 25 minthe shell, the linux file tree, permissions, editors, scripts, pipes, processes, bash scripting
Git 101finished~11h 55minwatch, 30 minwhat git stores, commits, branches, merges, rebase, remotes, undoing things, pull requests, tags
HTML & CSS 101finished~13h 35minwatch, 12 minelements and attributes, selectors, colours and units, the box model, grid, flexbox, position, responsive design, and a youtube clone
JavaScriptplanned-when the course isthe language, the DOM, async
Reactplanned-when the course iscomponents, state, hooks
DevOpsplanned-when the course isdocker, CI, deployment
DNS & Networkingplanned-when the course ishow a domain actually reaches a server

The planned ones have no pages yet. I add a course when I have real content for it, not before.

A course video is a summary of that course, not a replacement for it.

HTML & CSS 101 also has pages that run rather than pages u read, because it is the one subject where a browser can just show u the thing: a playground with the code on the left and the page on the right, every assignment in the course running, and the finished YouTube clone. They live on the course’s own site, because a static notes page cannot run a media query at u.


How every course is organized

Every course follows the same shape, so once u learn one, u know how to read all of them:

Course-Name/
  index.md            the index: times, how to study, references
  CHEATSHEET.md       every command in the course on one page
  watch.md            the video, if there is one
  01-first-topic/
    index.md          the lecture, the notes and the assignment
    solutions.md      the answers, kept out of the lecture on purpose
  02-second-topic/
    ...

And every chapter has the same 3 parts, always in this order:

  1. The lecture. The topics, numbered, each one with the real command and its real output.
  2. NOTES. Small useful things that are not a topic on their own.
  3. The assignment. Tasks from that chapter only. The answers live in a solutions.md next to the chapter, never inline, so u never read them by accident.

Each chapter starts with how long it takes and what u will learn, and ends with links to the previous and next chapter.


How to study anything here

  • Go in order. The chapters build on each other.
  • Type the commands, do not read them. It looks easy when u read it, and then it is gone in two days.
  • Do the assignment before u open the solution.
  • The time written on a chapter is the reading time, not the learning time. One chapter a day is a good pace.

Where this lives

These pages are a copy. The course is its own repo, and that is where issues and pull requests go: dev-101.

It is here too because a study site with the terminal missing is an incomplete study site. If u are reading the CS notes and hit a command u do not know, the answer should be one click away and not one repo away.

3 items under this folder.