- 55
- 514 581
Chris Kanich
United States
เข้าร่วมเมื่อ 16 ต.ค. 2013
CS 484 Fall 23: blind coding of HW2 (React)
This is me doing the React homework assignment and talking through my thought process. It should be helpful for people to understand how to both work through a React project as well as understand the problem solving strategies one might use during a programming assignment.
มุมมอง: 507
วีดีโอ
Secure Web App Dev: Homework 1 blind coding
มุมมอง 626ปีที่แล้ว
In this video I do the crud assignment currently available at 484.cs.uic.edu/homeworks/homework1/ after not having looked at the source code or requirements closely. I talk through everything that I'm doing so you can get an idea of how to think about and debug this type of program.
JavaScript for CS Majors
มุมมอง 715ปีที่แล้ว
Already know C , Java, or Python? Want to pick up JavaScript? Here's what to watch out for. Take a look at javascript.info for a good resource for picking up JS as an experienced developer.
HTTP: The Protocol that Binds
มุมมอง 1.1Kปีที่แล้ว
HTTP is the basis for all of the cool things we do on the web and more. This video introduces the fundamentals fo HTTP and demos how to see it in action in a browser and a text based http client.
Secure Web App Dev: Welcome to CS 484 Fall 23!
มุมมอง 936ปีที่แล้ว
What is this course? Why is this course? This video is an introduction to my course on secure web application development, and provides a short motivation for why a computer science major ought to take it. Course website: 484.cs.uic.edu/
Adversarial Tracking on the Web: History Sniffing and FIngerprinting
มุมมอง 615ปีที่แล้ว
Adversarial Tracking on the Web: History Sniffing and FIngerprinting
Everything you should know about deadlock in three minutes or less
มุมมอง 17K3 ปีที่แล้ว
Everything you should know about deadlock in three minutes or less
Everything you should know about race conditions in two minutes or less
มุมมอง 3.3K3 ปีที่แล้ว
Everything you should know about race conditions in two minutes or less
Everything you should know about thread safety in 2 minutes or less
มุมมอง 21K3 ปีที่แล้ว
Everything you should know about thread safety in 2 minutes or less
Using visual debugging and Factorio to understand multithreaded programs
มุมมอง 2.3K3 ปีที่แล้ว
Source code used in this video: github.com/csatuic/vscode-lectures/tree/master/chapter12
How to understand & implement read-write locks and bounded buffers
มุมมอง 13K3 ปีที่แล้ว
How to understand & implement read-write locks and bounded buffers
The right tool for the job: when to use processes, when to use threads, and why!
มุมมอง 2.4K3 ปีที่แล้ว
The right tool for the job: when to use processes, when to use threads, and why!
Taking complete control: why IO multiplexing works well for webservers and GUIs.
มุมมอง 7K3 ปีที่แล้ว
Taking complete control: why IO multiplexing works well for webservers and GUIs.
Concurrency: the cause of, and solution to, lots of problems in computing.
มุมมอง 2.5K3 ปีที่แล้ว
Concurrency: the cause of, and solution to, lots of problems in computing.
Concurrency: what's good about it, what's hard about it.
มุมมอง 1.5K3 ปีที่แล้ว
Concurrency: what's good about it, what's hard about it.
what's the difference between processes, threads, and io multiplexing?
มุมมอง 9K3 ปีที่แล้ว
what's the difference between processes, threads, and io multiplexing?
A system programmer's introduction to the world wide web
มุมมอง 1.9K3 ปีที่แล้ว
A system programmer's introduction to the world wide web
The Internet just plain DUNKS on the phone network. Here's why.
มุมมอง 1K3 ปีที่แล้ว
The Internet just plain DUNKS on the phone network. Here's why.
Playing nice with others: the ONE WEIRD TRICK that makes the whole Internet not explode
มุมมอง 1.1K3 ปีที่แล้ว
Playing nice with others: the ONE WEIRD TRICK that makes the whole Internet not explode
How do we make the Internet work? Like other hard problems! We break it down into smaller problems.
มุมมอง 1.4K3 ปีที่แล้ว
How do we make the Internet work? Like other hard problems! We break it down into smaller problems.
A system design approach to understanding what's so AWESOME about the Internet
มุมมอง 1.7K3 ปีที่แล้ว
A system design approach to understanding what's so AWESOME about the Internet
understanding mmap, the workhorse behind keeping memory access efficient in linux
มุมมอง 59K4 ปีที่แล้ว
understanding mmap, the workhorse behind keeping memory access efficient in linux
What does it take to design a memory allocator? Dynamic Memory Allocation System Design
มุมมอง 24K4 ปีที่แล้ว
What does it take to design a memory allocator? Dynamic Memory Allocation System Design
what's in a heap? simple malloc implementation internals explained
มุมมอง 21K4 ปีที่แล้ว
what's in a heap? simple malloc implementation internals explained
What makes a dynamic memory allocator any good? Systems Programming Lectures
มุมมอง 2.6K4 ปีที่แล้ว
What makes a dynamic memory allocator any good? Systems Programming Lectures
Demystifying Page Tables - Computer Systems Programming Course
มุมมอง 4.8K4 ปีที่แล้ว
Demystifying Page Tables - Computer Systems Programming Course
Page tables for your page tables: understanding how multi level page tables work
มุมมอง 15K4 ปีที่แล้ว
Page tables for your page tables: understanding how multi level page tables work
The magic of the page fault: understanding demand paging of virtual memory in linux
มุมมอง 9K4 ปีที่แล้ว
The magic of the page fault: understanding demand paging of virtual memory in linux
Hey, you posted this video twice ("The magic of page miss" is the same video as "The magic of page fault". Excellent content by the way, I am following all your courses as an open source coder eager to learn more and build his own software :D Your explanations are the best I could find on the internet so far. What a precious resource !
This is really good.
Just WOW... really nice explanation with practical examples
Thank you professor for these lectures.💌
thank you so much. and may I know is it possible for a gradescope invitation code for labs or homeworks?
crazy I'm doing this because my uni just brought in a new teacher for systems prog and he just does what everrrrr and wings everything and has zero clue what anything is or even test if the random stuff he gets on google actually works before assigning it lol. we have not been shown a SINGLE line of code in class. but we have coding assignments. he has not shown anything, at all. I have no idea what systems programming is even supposed to be about.
SIGHUP, SIGKILL, SIGSIGSPUTNIK.. nice hair bro!
Thank you for this clear explanation. You made a hard concept very clear to me. Just clicked in my head. I have a big AHAAA!!! thank you again!
the way you explain is so satisfying and slayinggggg
This is amazing. Thanks!
Very useful! Thanks for sharing these here
Outstanding explanation
Please never stop uploading
we should not need separate not_full and not-empty conditional variables. Also probably should avoid signaling if queue size wasn't empty or full before out change.
using pthread_mutex in place of a Posix semaphore though, we have one process (first reader) locking a mutex and a different process (last leaving reader) unlocking it. This is not allowed with mutexes. Which is why we would usually use semaphore(1) instead
Doubt: the tcp handshake that happens between the client and server is happening on the listen stage or on each accept stage? can you explain this if possible or direct me to a resource from where i can understand this better. Thanks for the amazing explaination.
Thank you sir!
Very clear explanation, thank you very much.
How does a process know rhat a signal has been sent to it?
Is v-node the same as i-node
+1
Great video, thank you
5:48 'As application developers we don't need to know how it works, just that it does', lol what? Who knows how it works then if not application developers? This is probably why so many aiming for entry level position have trouble landing work... "Uhm sorry sir I don't know how it works just that it does - that'll be $75/hour please" - If i google how to install a door I generally am expecting the tutor to know how to install a door. Is there an analogy for the difference in unix and af_inet sockets? At my next programmer interview I just answer each problem with 'click download', cheers!
Damnnn i havent been in UIC since 2017 but we once talked randomy for half an hour at your office while i was looking for another professor, and you shared your thoughts on getting a masters with me. Hope youre doing well Mr Kanich
...
nice train example!
This is the finest video on GOT, PLT topics. Thanks for your efforts.
Really appreciate the clarification on the server side of the two different fd's. I think that was muddy in my head and now with the diagram and your explaining the difference, it all makes more sense!\
> Talks about Linux > Is on Windows mfw
Gemini 1.5 Pro: This lecture is about memory mapping (mmap) and its role in virtual memory. The speaker, Chris Kanich, explains that memory mapping is a technique that allows a process to access a file as if it were directly mapped into its memory address space. This means that the process can read and write to the file using normal memory access instructions, without having to explicitly call read or write system calls. [1,2] One of the benefits of memory mapping is that it can improve the efficiency of memory access. When a process reads from a file using traditional read system calls, the data must be copied from the kernel address space to the user address space. This copying can be time-consuming. With memory mapping, the data is already in the process's address space, so there is no need to copy it. [1,2] Another benefit of memory mapping is that it can simplify the process of sharing memory between processes. Two processes can map the same file into their respective address spaces, and any changes made by one process will be immediately visible to the other. This can be useful for things like shared libraries, which can be mapped into the address space of multiple processes at the same time. [2] The lecture also discusses the concept of copy-on-write (COW). COW is a technique that allows multiple processes to share a read-only page of memory. The first process to write to the page will cause a page fault, and the kernel will create a private copy of the page for the writing process. This means that the original page can still be shared by other processes, and the writing process will not affect them. [2] Overall, memory mapping is a powerful technique that can improve the efficiency of memory access and simplify the process of sharing memory between processes.
Great explanation Chris. Keep uploading.
I've been doing packet decodes from packet decoders where first introduced (really before Ethernet was invented) and have read and watched seemingly countless examples of tutorials on this subject. This is easily the best one anywhere.
I'm soo in love with your way of teaching this is so unteresting !
Great lecture! I'm wondering why is spawning subprocesses for ulimit and wc here?
Thank you. Please keep sharing!
15:00
This is probably the most in-depth (and clear) explanation of sockets I've seen yet. Thank you very very much.
Hello, Is the entire playlist here on your channel?
great video.this video clicked the javascript event loop for me.
Thank you for making these lectures FREE!!
I really wish you didnt waffle on about a separate topic for 3 minutes in the middle
I have few words: crystal clear
Wanted to add in another thank you for all of your videos. They're really helpful for teaching myself material that I never had the opportunity to take classes for in college :)
It is also worthwhile to test that the system does what the documentation seems to imply it should do. Try mmap on a large file using different flags, see what happens when the file is cashed in main memory.
Finally I found a channel that was looking for a long time. Thank you 🙏
Good video
Every word of this video is gold! Good job explaining it.
what is the name of the book please ?
atomic?
thanks for this.
Thanks