CS 484 HW3 blind code
Chris Kanich
CS 484 HW3 blind code
2:16:18
APIs: the web is your computer
Chris Kanich
APIs: the web is your computer
27:46
Adversarial Tracking on the Web: History Sniffing and FIngerprinting
Chris Kanich
Adversarial Tracking on the Web: History Sniffing and FIngerprinting
20:37
Everything you should know about deadlock in three minutes or less
Chris Kanich
Everything you should know about deadlock in three minutes or less
2:50
Everything you should know about race conditions in two minutes or less
Chris Kanich
Everything you should know about race conditions in two minutes or less
1:54
Everything you should know about thread safety in 2 minutes or less
Chris Kanich
Everything you should know about thread safety in 2 minutes or less
1:56
Using visual debugging and Factorio to understand multithreaded programs
Chris Kanich
Using visual debugging and Factorio to understand multithreaded programs
23:45
How to understand & implement read-write locks and bounded buffers
Chris Kanich
How to understand & implement read-write locks and bounded buffers
17:06
The right tool for the job: when to use processes, when to use threads, and why!
Chris Kanich
The right tool for the job: when to use processes, when to use threads, and why!
19:31
Taking complete control: why IO multiplexing works well for webservers and GUIs.
Chris Kanich
Taking complete control: why IO multiplexing works well for webservers and GUIs.
24:18
Concurrency: the cause of, and solution to, lots of problems in computing.
Chris Kanich
Concurrency: the cause of, and solution to, lots of problems in computing.
23:38
Concurrency: what's good about it, what's hard about it.
Chris Kanich
Concurrency: what's good about it, what's hard about it.
15:55
what's the difference between processes, threads, and io multiplexing?
Chris Kanich
what's the difference between processes, threads, and io multiplexing?
14:48
A system programmer's introduction to the world wide web
Chris Kanich
A system programmer's introduction to the world wide web
21:21
The Linux socket API explained
Chris Kanich
The Linux socket API explained
15:21
The Internet just plain DUNKS on the phone network. Here's why.
Chris Kanich
The Internet just plain DUNKS on the phone network. Here's why.
16:18
Playing nice with others: the ONE WEIRD TRICK that makes the whole Internet not explode
Chris Kanich
Playing nice with others: the ONE WEIRD TRICK that makes the whole Internet not explode
21:43
How do we make the Internet work? Like other hard problems! We break it down into smaller problems.
Chris Kanich
How do we make the Internet work? Like other hard problems! We break it down into smaller problems.
25:55
A system design approach to understanding what's so AWESOME about the Internet
Chris Kanich
A system design approach to understanding what's so AWESOME about the Internet
14:22
understanding mmap, the workhorse behind keeping memory access efficient in linux
Chris Kanich
understanding mmap, the workhorse behind keeping memory access efficient in linux
22:44
What does it take to design a memory allocator? Dynamic Memory Allocation System Design
Chris Kanich
What does it take to design a memory allocator? Dynamic Memory Allocation System Design
22:32
what's in a heap? simple malloc implementation internals explained
Chris Kanich
what's in a heap? simple malloc implementation internals explained
36:07
What makes a dynamic memory allocator any good? Systems Programming Lectures
Chris Kanich
What makes a dynamic memory allocator any good? Systems Programming Lectures
13:31
Demystifying Page Tables - Computer Systems Programming Course
Chris Kanich
Demystifying Page Tables - Computer Systems Programming Course
34:54
Page tables for your page tables: understanding how multi level page tables work
Chris Kanich
Page tables for your page tables: understanding how multi level page tables work
18:00
The magic of the page fault: understanding demand paging of virtual memory in linux
Chris Kanich
The magic of the page fault: understanding demand paging of virtual memory in linux
20:36
Virtual Memory: why it's useful, why it's hard.
Chris Kanich
Virtual Memory: why it's useful, why it's hard.
10:56
The magic of the page miss: understanding demand paging of virtual memory in linux
Chris Kanich
The magic of the page miss: understanding demand paging of virtual memory in linux
20:36
Virtual Memory: why it's useful, why it's hard.
Chris Kanich
Virtual Memory: why it's useful, why it's hard.
10:56
Interacting with files in Linux
Chris Kanich
Interacting with files in Linux
38:00
What's behind a file descriptor in Linux? Also, i/o redirection with dup2.
Chris Kanich
What's behind a file descriptor in Linux? Also, i/o redirection with dup2.
20:20
The file abstraction in Linux
Chris Kanich
The file abstraction in Linux
12:56
Signal handling in Linux
Chris Kanich
Signal handling in Linux
53:32
Moving beyond fork() for process creation in Linux
Chris Kanich
Moving beyond fork() for process creation in Linux
1:01:56
Introduction to Processes in Linux
Chris Kanich
Introduction to Processes in Linux
22:00
The four flavors of exceptions in OS kernels
Chris Kanich
The four flavors of exceptions in OS kernels
15:53
But no really how does printf work? Syscalls & Exceptional Control Flow
Chris Kanich
But no really how does printf work? Syscalls & Exceptional Control Flow
18:40
PIC GOT PLT OMG: how does the procedure linkage table work in linux?
Chris Kanich
PIC GOT PLT OMG: how does the procedure linkage table work in linux?
49:35
What's so good about dynamic linking anyway?
Chris Kanich
What's so good about dynamic linking anyway?
11:55
Linux Executable Symbol Relocation Explained
Chris Kanich
Linux Executable Symbol Relocation Explained
27:23
How do linkers resolve symbols? Systems Programming CS Lecture
Chris Kanich
How do linkers resolve symbols? Systems Programming CS Lecture
33:19
Executable Linkers are basically just home theater setups
Chris Kanich
Executable Linkers are basically just home theater setups
12:09
VSCode, Docker Desktop, and remote container based development environments
Chris Kanich
VSCode, Docker Desktop, and remote container based development environments
34:27
Tricks of the trade: git, GitHub, Gradescope
Chris Kanich
Tricks of the trade: git, GitHub, Gradescope
27:49
Tricks of the Trade: ssh
Chris Kanich
Tricks of the Trade: ssh
19:10
Tricks of the Trade: shells
Chris Kanich
Tricks of the Trade: shells
27:44
Tricks of the trade: programming environments
Chris Kanich
Tricks of the trade: programming environments
16:33
"Tricks of the Trade" Module Introduction
Chris Kanich
"Tricks of the Trade" Module Introduction
7:34
CS 361 Systems Programming: Administrivia
Chris Kanich
CS 361 Systems Programming: Administrivia
18:37
Summer recording plans
Chris Kanich
Summer recording plans
3:17