Ever wondered what's really going on inside your computer? How does it run lots of programs at once? How does a search box find one word in a million pages? How does a chatbot write a sentence? Here you build each of those things yourself, one small step at a time, and find out.
A series of 18 projects that build real things from scratch, so you can see how they work. They're all free, and written for curious people aged 12 and up.
Why build it yourself? #
- It really works. Every project runs. Switch on your own little operating system and type commands into it, write a program in your own programming language, or ask your own database questions.
- Explained with everyday things. Databases are explained with trading cards, search engines with a librarian, and Git with fingerprints and a diary. Grown-ups who never got to look inside are very welcome too.
- No magic boxes. Nothing important is hidden away. Every clever bit is written out for you to read, change and even break.
- Small steps. Each idea builds on the one before, so you're never thrown in at the deep end.
How to start #
Pick PyOS (a pretend computer you can switch on and type into) or Pebble (your very own programming language) and have a play. After that, follow whatever sounds fun: each card says which projects it builds on. PyStack, at the very end, joins everything together.
Start here #
Storage #
Systems #
PyCrypt Cryptography. Source #
PyNet Computer networking. Source #
PyWeb HTTP web servers. Builds on PyNet, PyCrypt. Source #
PyGit Version control. Source #
PySearch Search engines. Source #
PyMQ Message queues. Builds on PyNet. Source #
PyLLM Language models (the brain). Builds on Pebble. Source #
PyScheduler Job scheduling. Builds on PyDB, PyNet, PyWeb, PyMQ. Source
Putting it together #
Made by Rob Cox. Found a mistake or have an idea? Open an issue on any project's repository.