Chris Kanich
Chris Kanich
  • 55
  • 489 119
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.
Переглядів: 469

Відео

APIs: the web is your computer
Переглядів 55511 місяців тому
APIs: the web is your computer
Secure Web App Dev: Homework 1 blind coding
Переглядів 605Рік тому
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
Переглядів 687Рік тому
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 тис.Рік тому
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!
Переглядів 887Рік тому
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
Переглядів 603Рік тому
Adversarial Tracking on the Web: History Sniffing and FIngerprinting
Everything you should know about deadlock in three minutes or less
Переглядів 16 тис.3 роки тому
Everything you should know about deadlock in three minutes or less
Everything you should know about race conditions in two minutes or less
Переглядів 3,2 тис.3 роки тому
Everything you should know about race conditions in two minutes or less
Everything you should know about thread safety in 2 minutes or less
Переглядів 20 тис.3 роки тому
Everything you should know about thread safety in 2 minutes or less
Using visual debugging and Factorio to understand multithreaded programs
Переглядів 2,3 тис.3 роки тому
Source code used in this video: github.com/csatuic/vscode-lectures/tree/master/chapter12
How to understand & implement read-write locks and bounded buffers
Переглядів 12 тис.3 роки тому
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,2 тис.3 роки тому
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.
Переглядів 7 тис.3 роки тому
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,4 тис.3 роки тому
Concurrency: the cause of, and solution to, lots of problems in computing.
Concurrency: what's good about it, what's hard about it.
Переглядів 1,5 тис.3 роки тому
Concurrency: what's good about it, what's hard about it.
what's the difference between processes, threads, and io multiplexing?
Переглядів 9 тис.3 роки тому
what's the difference between processes, threads, and io multiplexing?
A system programmer's introduction to the world wide web
Переглядів 1,8 тис.3 роки тому
A system programmer's introduction to the world wide web
The Linux socket API explained
Переглядів 36 тис.3 роки тому
The Linux socket API explained
The Internet just plain DUNKS on the phone network. Here's why.
Переглядів 9943 роки тому
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 тис.3 роки тому
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,3 тис.3 роки тому
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,6 тис.3 роки тому
A system design approach to understanding what's so AWESOME about the Internet
understanding mmap, the workhorse behind keeping memory access efficient in linux
Переглядів 56 тис.3 роки тому
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
Переглядів 22 тис.3 роки тому
What does it take to design a memory allocator? Dynamic Memory Allocation System Design
what's in a heap? simple malloc implementation internals explained
Переглядів 20 тис.3 роки тому
what's in a heap? simple malloc implementation internals explained
What makes a dynamic memory allocator any good? Systems Programming Lectures
Переглядів 2,5 тис.3 роки тому
What makes a dynamic memory allocator any good? Systems Programming Lectures
Demystifying Page Tables - Computer Systems Programming Course
Переглядів 4,6 тис.3 роки тому
Demystifying Page Tables - Computer Systems Programming Course
Page tables for your page tables: understanding how multi level page tables work
Переглядів 15 тис.3 роки тому
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
Переглядів 8 тис.3 роки тому
The magic of the page fault: understanding demand paging of virtual memory in linux

КОМЕНТАРІ

  • @AlexN2022
    @AlexN2022 2 дні тому

    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.

  • @AlexN2022
    @AlexN2022 2 дні тому

    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

  • @krispyChkn
    @krispyChkn 7 днів тому

    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.

  • @EdchelStephenNini
    @EdchelStephenNini 10 днів тому

    Thank you sir!

  • @Karim-nq1be
    @Karim-nq1be 12 днів тому

    Very clear explanation, thank you very much.

  • @kennethcarvalho3684
    @kennethcarvalho3684 16 днів тому

    How does a process know rhat a signal has been sent to it?

  • @kennethcarvalho3684
    @kennethcarvalho3684 16 днів тому

    Is v-node the same as i-node

  • @mhv4315
    @mhv4315 16 днів тому

    Great video, thank you

  • @user-td4pf6rr2t
    @user-td4pf6rr2t 16 днів тому

    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!

  • @commondenomvideos9604
    @commondenomvideos9604 16 днів тому

    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

  • @araz911
    @araz911 18 днів тому

    ...

  • @obama213
    @obama213 25 днів тому

    nice train example!

  • @shitshow_1
    @shitshow_1 27 днів тому

    This is the finest video on GOT, PLT topics. Thanks for your efforts.

  • @KFRogers263
    @KFRogers263 Місяць тому

    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!\

  • @volovodov
    @volovodov Місяць тому

    > Talks about Linux > Is on Windows mfw

  • @gemini_537
    @gemini_537 Місяць тому

    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.

  • @askinc102
    @askinc102 Місяць тому

    Great explanation Chris. Keep uploading.

  • @sheldonhage726
    @sheldonhage726 Місяць тому

    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.

  • @AFYOUN10
    @AFYOUN10 Місяць тому

    I'm soo in love with your way of teaching this is so unteresting !

  • @tengjiang8922
    @tengjiang8922 Місяць тому

    Great lecture! I'm wondering why is spawning subprocesses for ulimit and wc here?

  • @tengjiang8922
    @tengjiang8922 Місяць тому

    Thank you. Please keep sharing!

  • @Fracasse-0x13
    @Fracasse-0x13 Місяць тому

    15:00

  • @AadityaSPatil
    @AadityaSPatil Місяць тому

    This is probably the most in-depth (and clear) explanation of sockets I've seen yet. Thank you very very much.

  • @erenyeager4452
    @erenyeager4452 2 місяці тому

    Hello, Is the entire playlist here on your channel?

  • @kblmn
    @kblmn 2 місяці тому

    great video.this video clicked the javascript event loop for me.

  • @kafoby8732
    @kafoby8732 2 місяці тому

    Thank you for making these lectures FREE!!

  • @alexkfridges
    @alexkfridges 2 місяці тому

    I really wish you didnt waffle on about a separate topic for 3 minutes in the middle

  • @nicolaskeroack7860
    @nicolaskeroack7860 2 місяці тому

    I have few words: crystal clear

  • @sayansivakumaran
    @sayansivakumaran 2 місяці тому

    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 :)

  • @urbankoistinen5688
    @urbankoistinen5688 2 місяці тому

    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.

  • @DimaLifeIsGood
    @DimaLifeIsGood 2 місяці тому

    Finally I found a channel that was looking for a long time. Thank you 🙏

  • @happygofishing
    @happygofishing 2 місяці тому

    Good video

  • @photopro8764
    @photopro8764 2 місяці тому

    Every word of this video is gold! Good job explaining it.

  • @OUESLATIMohamedAmine-u7p
    @OUESLATIMohamedAmine-u7p 2 місяці тому

    what is the name of the book please ?

  • @grinlex
    @grinlex 3 місяці тому

    atomic?

  • @AmolGautam
    @AmolGautam 3 місяці тому

    thanks for this.

  • @AmolGautam
    @AmolGautam 3 місяці тому

    Thanks

  • @janshaka
    @janshaka 3 місяці тому

    Thank you!

  • @parimi001
    @parimi001 3 місяці тому

    This is the gold mine I have it. Kudos to the instructor. ❤it

  • @PUB5T0MP
    @PUB5T0MP 3 місяці тому

    So good.

  • @louvelpaul2290
    @louvelpaul2290 4 місяці тому

    For anyone wondering, he's using the example coming from Computer System: A Programmers Perspective !

  • @alex_d_lee
    @alex_d_lee 4 місяці тому

    this is so good

  • @User-ty2ml
    @User-ty2ml 4 місяці тому

    Beautiful & Unbelievable, how on earth you made it so simple !!!!

  • @deez_nu1s
    @deez_nu1s 4 місяці тому

    nice explanation man, keep up the analogies! <3

  • @HonghuaYang
    @HonghuaYang 4 місяці тому

    Another way to fix compilation error of multiple definition of `x', one can add `extern` to `int x` in weaklibrary.c. e.g., `extern int x`.

  • @josiaskas
    @josiaskas 5 місяців тому

    simply the best 👏🏾

  • @wonderfulworld2475
    @wonderfulworld2475 5 місяців тому

    When someone on UA-cam compress your 4 hour lecture into 20mns :D

  • @thinkingcitizen
    @thinkingcitizen 5 місяців тому

    chris you are a talented teacher, you should learn all areas of ECE and make lectures for all topics!

  • @victoriatfarrell
    @victoriatfarrell 5 місяців тому

    Thank you so much for sharing!

  • @guru.prasath
    @guru.prasath 5 місяців тому

    Very good. keep going. Thanks.