Resources
Subject notes on the things I study and rely on day to day — organized so you can jump straight to what you need.
Operating System
CPU Scheduling: Why Every Algorithm Is a Trade-off, Not a WinnerQuiz
I stopped asking students to memorize FCFS/SJF/SRTF/RR as separate algorithms and started asking one question instead: what is each one optimizing for, and what does it sacrifice to get there?
fork() Doesn't Do What Most Students Think It DoesQuiz
The trace-the-output exercise I use every time I teach fork() — because nobody actually understands it until they've gotten the process count wrong at least once.
Pipes, Sockets, Message Queues: Picking the Right IPC Isn't About SpeedQuiz
The framing I use for IPC — not 'which is fastest' but 'what relationship do the two processes already have' — because that's the question that actually decides it in practice.
System Calls: Why They Need a Trap Instruction, Not Just a Function CallAsked oftenQuiz
The question I use to separate students who memorized 'syscalls enter kernel mode' from those who understand why a plain function call couldn't do the job.
Virtual Memory: Three Illusions the OS Maintains Without You NoticingQuiz
I frame virtual memory as three specific lies the OS tells every process, not as a feature list — because naming the lies is what makes base-and-bound, paging, and the TLB click as one idea instead of three.
Virtualization vs Abstraction (and Why VMs Aren't Containers)Quiz
The distinction I check for when I teach OS: virtualization shares resources, abstraction hides complexity — and why mixing the two up is where most VM vs container confusion comes from.
What a Process Actually Is (Not 'A Running Program')Quiz
Why I make students name the four pieces of a process before I accept 'a program in execution' as an answer — and the GATE question that catches everyone who skipped that step.
Backend
No notes yet.
System Design
No notes yet.
Golang
Go vs Node.js: A Practical Comparison From ProductionQuiz
Where Go and Node.js actually differ once you've shipped both — concurrency model, performance profile, and which one to reach for when.
Go: A Language With Only 25 Keywords — and Why That's the PointQuiz
What Go actually optimizes for — simplicity, concurrency, deployability — based on shipping it in production, not a feature tour.
JavaScript
No notes yet.
AWS
No notes yet.