Computer Science - YouTube
How do computers read code? - YouTube compiling source code to machine code
Back to Basicss - YouTube
Programming Languages - YouTube
Hardware Basics - YouTube
Operating System Basics - YouTube
Basics of OS | Chapter-1 | Operating System - YouTube
Imperative vs Declarative Scenarios in User Stories • Ben Mabey
Threads vs. Processes: A Look At How They Work Within Your Program
The Bits And Bytes Of Binary - YouTube
How a Computer Works - from silicon to apps - YouTube
Computerphile
Multi Programming - Computerphile - YouTube
OS Context Switching - Computerphile - YouTube
Multithreading Code - Computerphile - YouTube
Multiple Processor Systems - Computerphile - YouTube
GUI Programming Introduction - Computerphile - YouTube
GUI: Under the Hood - Computerphile - YouTube
An Analysis of Hash Map Implementations in Popular Languages
Why Linked Lists vs Arrays isn’t a real choice - YouTube
Hash Tables, Associative Arrays, and Dictionaries (Data Structures and Optimization) - YouTube
Computer History
Toppr: Better learning for better results
History of Computers: Parts, Networking, Operating Systems, FAQs
【亦】唠唠计算机与 AI 的童年:大器晚成!六一儿童节特别篇 - YouTube history of computer
Intel predicted the future - YouTube Intel's education material from 1996
GeekLogic / 极客逻辑 - YouTube
XMF-I Restoration: A Chinese Apple II Clone 35 Years Ago / 极限修复!35 年前清华大学研制点错科技树的中文电脑 - YouTube
Dave's Garage - YouTube Microsoft Windows history
Linux Terminal and Console Explained For Beginners - LinuxBabe
What is the Difference Between the Shell, Terminal, and Console in Linux | TatOG Explains - YouTube
Turing Machines
Computerphile
Alan Turing and Enigma - YouTube also on decidability
Turing Machines Collection - Computerphile - YouTube
Turing Machine Alternative (Counter Machines) - Computerphile - YouTube
Turing Machines - How Computer Science Was Created By Accident - YouTube
Turing machines explained visually - YouTube
Making a computer Turing complete - YouTube
How program runs
reverse-engineering#ELF
reverse-engineering#PE format
CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()” - YouTube ELF
Chris's Wiki :: blog/linux/32BitProgramOn64BitSystem
Recursion
everyone needs to stop using recursion (seriously) - YouTube recursion grows the stack
What on Earth is Recursion? - Computerphile - YouTube
EXTRA BITS: Recursion and the Stack - Computerphile - YouTube
Programming Loops vs Recursion - Computerphile - YouTube
EXTRA BITS: Loops, Ackermann & Recursion - Computerphile - YouTube
Tail Recursion Explained - Computerphile - YouTube
Recursion 'Super Power' (in Python) - Computerphile - YouTube
Race Condition
Safety and Speed Issues with Threads. (pthreads, mutex, locks) - YouTube
Making variables atomic in C - YouTube
Concurrency and Parallelism
go-lang#Concurrency
python-notes#Concurrency
rust-lang#Async/Future
Concurrency:
- composition of independently executing processes
- multiple tasks
- about dealing with lots of things at once, about structure
Parallelism:
- simultaneous execution of computations
- multiple processing units
- about doing lots of things at once, about execution
- Concurrency is a prerequisite (Parallelism implies Concurrency)
- Concurrency is a prerequisite (Parallelism implies Concurrency)
Embarrassingly parallel - Wikiwand
Concurrency is not parallelism - The Go Blog
The Way of the Gopher. Making the Switch from Node.js to… | by Alexandra Bueno | Digg Data | Medium
You Keep Using That Word: Asynchronous And Interprocess Comms - Sam Newman - NDC Oslo 2023 - YouTube
Asynchronous vs Multithreading and Multiprocessing Programming (The Main Difference) - YouTube
What Color is Your Function? – journal.stuffwithstuff.com the chasm between sync and async code
What Color Is Your Function | Prime Reacts - YouTube
Zig's I/O and Concurrency Story - King Protty - Software You Can Love 2022 - YouTube
Linux's epoll, BSD's kqueue, none of them worked for file IO
Windows IOCP, proactive completion based IO, no extra syscall for polling state, no batch submission
non of them worked great for file IO, use thread pool
Linux io-uring, proactive completion based IO, no extra syscall for polling state, batch submission, kernel space thread pool
porting io-uring to zig in user space
per thread ring buffer use by many
io_uring: So Fast. It's Scary. - YouTube
Multitasking vs Multithreading vs Multiprocessing - YouTube
Fork and Pthreads - A Guide To Get You Started with Multiprocessing - YouTube
Is it concurrent or parallel? - YouTube
Concurrency vs Parallelism - YouTube
Seven Concurrency Models in Seven Weeks: When Threads Unravel by Paul Butcher | The Pragmatic Bookshelf
Thinking Concurrently: How Modern Network Applications Handle Multiple Connections | Linux Journal
还在疑惑并发和并行? - laike9m's blog
async-await: Cooperative vs Preemptive scheduling
Parallel vs Concurrent in Node.js
Concurrent JavaScript: It can work! | WebKit
Concurrency model and Event Loop - JavaScript | MDN
Concurrency in modern programming languages: Introduction | Technorage
Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno | Technorage
The Little Book of Semaphores – Green Tea Press
Memory Hierarchy/Memory Management
How Computer Memory Works - YouTube
What's Virtual Memory? - Computerphile - YouTube
How does Computer Memory Work? 💻🛠 - YouTube
Building the Bits and Qubits - YouTube
Memory, Cache Locality, and why Arrays are Fast (Data Structures and Optimization) - YouTube
The Origins of Process Memory | Exploring the Use of Various Memory Allocators in Linux C - YouTube
What's a Memory Allocator Anyway? - Benjamin Feng - YouTube
🚀 Demystifying memory management in modern programming languages | Technorage
🚀 Visualizing memory management in Golang | Technorage
🚀 Visualizing memory management in V8 Engine (JavaScript, NodeJS, Deno, WebAssembly) | Technorage
Garbage Collection
c-sharp#Garbage Collection
go-lang#Garbage Collection
nodejs-notes#Garbage Collection
Garbage Collection (Mark & Sweep) - Computerphile - YouTube
Endianness
Endianness - Wikiwand
Number format - Microsoft MakeCode
'0xA0 0xB0' in memory could be:
signed LE: -20320
unsigned LE: 45216
signed BE: -24400
unsigned BE: 41136
f = open('test.bin','wb')
f.write(b'\xA0\xB0')
f.close()