• 👶
  • ⚙️
  • 😎
  • 🤖
  • 👨‍💻
  • 💻
  • 🔧
  • 👶
  • ⚙️
  • 👶

100% Bullshit-Free
Fuck Universities and Their Bullshit

Stop Being A NOOB

👶

skill foundation for an unshakable coding career in 90 days

Question:
What's the next step after learning how to code?

Answer:
You know how to code but don't know how your code works. You're missing the core layer and without it it's hard to make money in the industry.

🗓️

90 Days

🧩️

3 Modules

️👨‍🏫

0 Professors

Why Learn from First Principles?

George Hotz

Founder of Tiny Corp. & commaAI, Hacked iPhone & PS3 at 17 y.o.

Hiring is hard, a lot of modern CS education is really bad, and it's hard to find people who understand the modern computer stack from first principles

Linus Torvalds

Creator of Linux

I didn't learn programming in school, but mostly on my own reading books and just doing it

Carl Sagan

American Astronomer

Science is a way of thinking much more than it is a body of knowledge.

Richard Feynman

Laid the Foundation of Quantum Electrodynamics

The first principle is that you must not fool yourself — and you are the easiest person to fool.

Aristotle

Ancient Greek Philosopher

In every systematic inquiry (methodos) where there are first principles, or causes, or elements, knowledge and science result from acquiring knowledge of these; for we think we know something just in case we acquire knowledge of the primary causes, the primary first principles, all the way to the elements.

Elon Musk

Founder, CEO (like you don't know Elon)

I think it’s important to reason from first principles rather than by analogy. The normal way we conduct our lives is we reason by analogy. [With analogy] we are doing this because it’s like something else that was done, or it is like what other people are doing. [With first principles] you boil things down to the most fundamental truths…and then reason up from there.

Richard Feynman

Laid the Foundation of Quantum Electrodynamics

I don’t know what’s the matter with people: they don’t learn by understanding; they learn by some other way—by rote or something. Their knowledge is so fragile!

Why I'm Building This?

I went to school for 9 years of my life. I wasted time and money when I most needed them. Now with a MSc in CS degree I know for fucking sure that one can learn all of the actually useful stuff in 90-120 days and dodge dealing with arrogant professors trying teach from text-books from 1980s.

I'm building this first for myself. I want to build a computer from first principles. I want that trophy. At the same time why not document it and help other people escape the stupidity of "What programming language is best?" kinda stuff.

Roadmap

How I will take you from NOOB to Legend in a few hard steps

🟢 Module Released
⚪ In Progress, To be released soon

  1. M1: Intro to RISC-V - 10 days

  2. Say Hi to Your RISC-V Machine 🟢

    A good way to see if this is for you! You'll learn the basics of computer architecture and all the important hardware in a riscv32 machine. Using QEMU, you will run an emulation of a riscv32 machine and play around with the registers and run code to get a hang of how a computer runs code.

    10 Days
  3. M2: Your Tiny Operating System - 40 days

  4. Intro to OS ⚪

    You learn the basics of what an OS is and you'll design your OS first on paper. At the end you will use QEMU to code the hello world of the OS world.

    7 Days
  5. Interrupts ⚪

    Code a very simple interrupt handling routine and connect your keyboard through UART to your OS so that we can type in commands. You will learn about xtvec and priviledge levels in RISC-V; The pillars of OS.

    3 Days
  6. Memory Management ⚪

    You will learn how separate processes in a computer can run at the same time and even communicate without collision in memory. You will code your own MMU and run a cute multi-process test.

    10 Days
  7. Processes ⚪

    You will code a simple process management system and a process bootloader. This will access the disk and upload a program to the memory and schedule it for running. That's where you feel the power of your tiny OS. You can now run this OS on a RISC-V machine and connect a disk, a keyboard and a uart cable to it; It's a full computer that can run multiple streams of code in parallel. One could double down on a certain aspect of it for a special purpose and sell it to businesses to build their products on! What Apple and Microsoft did in the early days of computers.

    20 Days
  8. M3: Your RISC-V - 40 days

  9. Verilog Basics ⚪

    Verilog is going to be used to describe hardware in our project. Everything is going to be run on a Sipeed Nano 9k. But don't worry if you don't have one. You can always use a simulation! You first learn the basics of Verilog here.

    3 Days
  10. Code a UART ⚪

    It's starting to get real! You'll use your knowledge of Verilog to code a "Universal Async Receiver/Transmitter" to communicate with your computer through. This is different! You actually need to code the channel that you'll communicate with your computer through! You will never take a keyboard for granted again.

    5 Days
  11. Code your own RISC-V ⚪

    Remember how we used an open-source RISC-V? Now you replace it with your own RISC-V! This part is fairly simple now and will allow you to customize any part of your processor to tailor it for any type of task. Turn it into a GPU, turn it into an LPU. I don't care. I'll show you how and you do what you want with it.

    30 Days
ByteFight Corp. 2024
All rights reserved