- 👶
- ⚙️
- 😎
- 🤖
- 👨💻
- 💻
- 🔧
- 👶
- ⚙️
- 👶
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
4 Modules
0 Professors
Wanna sign up?
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.
Wanna sign up?
Roadmap
How I will take you from NOOB to Legend in a few hard steps
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.
7 DaysCode 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.
7 DaysLoad a RISC-V Implementation
You'll use an open-source Verilog implementation of RISC-V architecture and get it running on your FPGA/Simulation. Now you have a globally known processor that you can run code on! You will learn the basics of RISC-V instructionset. This is going to be the cornerstone of your computer science knowledge.
9 DaysWrite a Bootloader
You will use the UART module you wrote to create a bootloader. You will also use an open-srouce compiler/assembler to turn C code to RISC-V instructions and load it on your computer through the bootloader!
7 DaysIntro to OS
You learn the basics of what an OS is and you'll design your OS first on paper.
7 DaysKernel
Code a simple kernel! It will manage your processor and allow you to run multiple streams of instructions on it!
9 DaysMM & I/O
Memory Management and I/O. This'll enable peripheral devices and interactivity with your computer. Maybe an internet connection later; Who knows? You are not a total noob after this!
14 DaysCode 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
Intro to Machine Description
Intro to RISC-V
Your Operating System
Your RISC-V
Wanna sign up?