![Chris Gregg](/img/default-banner.jpg)
- 316
- 958 061
Chris Gregg
เข้าร่วมเมื่อ 18 มี.ค. 2013
วีดีโอ
Binary Heaps Lecture, May 6, 2022
มุมมอง 5152 ปีที่แล้ว
This video introduces the binary heap data structure. A binary heap is a completely filled tree-like data structure which can be implemented efficiently with an array. The tree maintains the "heap property, " meaning that for any node, all of that node's children are of lesser or equal "priority." Because of this property, accessing the highest priority element is a constant-time O(1) operation...
x86 recursion assembly code for factorial function
มุมมอง 4.2K2 ปีที่แล้ว
This video was created for Stanford's CS107 course. In it, I walk through the assembly for a factorial function and I show how the stack pointer and stack contents change throughout the recursion.
C Pointer example
มุมมอง 5412 ปีที่แล้ว
This is a short example that shows how pointers and regular ints work in C.
The musl strtok string library function in C
มุมมอง 1.2K2 ปีที่แล้ว
This video is an example of how the musl strtok function works.
matrix scroll
มุมมอง 2713 ปีที่แล้ว
Code: web.stanford.edu/class/archive/cs/cs106a/cs106a.1218/lectures/12-string-formatting-random-doctests/movie2.zip
CS 110 Lecture 19 - Principles of System Design
มุมมอง 2.5K5 ปีที่แล้ว
CS 110 Lecture 19 - Principles of System Design
CS 110 Lecture 14: Introduction to Networking
มุมมอง 2.9K5 ปีที่แล้ว
CS 110 Lecture 14: Introduction to Networking
CS 110 Lecture 13: Ice Cream Shop Simulation
มุมมอง 1.7K5 ปีที่แล้ว
CS 110 Lecture 13: Ice Cream Shop Simulation
CS 110 Lecture 12 Review of mutex, conditional_variable_any, semaphore
มุมมอง 2K5 ปีที่แล้ว
CS 110 Lecture 12 Review of mutex, conditional_variable_any, semaphore
CS 110 Lecture 11: Multithreading, Condition Variables, and Semaphores
มุมมอง 4K5 ปีที่แล้ว
CS 110 Lecture 11: Multithreading, Condition Variables, and Semaphores
CS 110 Lecture 10 -- From C threads to C++ threads
มุมมอง 2.3K5 ปีที่แล้ว
CS 110 Lecture 10 From C threads to C threads
CS 110 Lecture 9 - Introduction to Threads
มุมมอง 3.4K5 ปีที่แล้ว
CS 110 Lecture 9 - Introduction to Threads
CS 110 Lecture 8: Race Conditions, Deadlock, and Data Integrity
มุมมอง 2.8K5 ปีที่แล้ว
CS 110 Lecture 8: Race Conditions, Deadlock, and Data Integrity
IBM Wheelwriter voice dictation demonstration
มุมมอง 9675 ปีที่แล้ว
IBM Wheelwriter voice dictation demonstration
CS 110 Lecture 6: execvp, pipe, dup2, and signals
มุมมอง 7K5 ปีที่แล้ว
CS 110 Lecture 6: execvp, pipe, dup2, and signals
Lecture 04 Filesystem Data Structures, System Calls, and Intro to Multiprocessing
มุมมอง 5K5 ปีที่แล้ว
Lecture 04 Filesystem Data Structures, System Calls, and Intro to Multiprocessing
first comment
Thank you for your time. But it appears Apple loves making simple set ups complicated for people spending $3000 + on a computer.
This is a very good video and I appreciate how concise you are. Nevertheless, I copied your code verbatim, and when I ran valgrind it gave me 2 allocations on the heap and 1 freed. At the end of the day, yes, I can tell that there are 2 resources allocated yet there is only one freed, but because I'm new to this, I fear this minor discrepancy will become a bigger problem later in my programming career.
Here's a section of the output to give you an exact idea of what I'm talking about: HEAP SUMMARY: in use at exit: 4,000 bytes in 1 blocks total heap usage: 2 allocs, 1 frees, 5,024 bytes allocated
Great vid!
Thank you
In Jesus' Name Amen ✝️
doesnt work
static variable? Am I weird for considering it b---? Ah. I'm not xD. I wrote my own tokenizer. It takes a pointer to a struct that carries the tokenizer state. Basically a "class" in more steps. Only issue I see with it is that the tokenizer function assumes the input string does not change between calls. I _could_ make the tokenizer checksum the entire string at every call and return a failure if the string has changed. I am uncertain which is the better choice. (I am not writing library code(
Thank you! I just could not figure out how to connect my SYNCO Wireless Lavalier Microphone, G2(A2) 2.4G Dual Transmitter Lapel Mic to my MacBook. Boom ✅
Hi, can you share other videos of cs107e?
For your implementation of grantPermission() at 57:00, if the cv notified all but was unable to get to the end to deconstruct the lock guard and unlock the lock, would it be possible that a thread waiting at cv.wait(m) on line 59 wakes up, sees that the lock is still locked by the notifying thread, then goes back to sleep despite permits still being 1?
Nice video!
Btw where did you get that code?
Great explanation sir. Thank you so much. I was kinda confused when I tried to implement this function by myself. Now I have some understanding how it goes. Cheers
I don't know why people think that the main purpose of Valgrind memcheck's main use is memory leaks. In my opinion that's one of the least useful things that it does. I would say that the order of importance of the features are 1. uninitialized memory reads (the only alternative is memory sanitizer which is much more difficult to use than Vagrind) 2. invalid memory accesses (address sanitizer is an alternative and it does do a better job than memcheck) 3. syscall misuse 4. leak detection
Thank you!
Moof!
Pretty cool that the time of the iPhone screen recording was at 9:41. The same time that Steve Jobs/Apple has used on iPhone marketing for years.
I'm looking to pick up a daisy wheel printer for a custom book binding project. should I just get a Wheelwriter 3500 or is there a specific model I should look for for graphics. btw I'm in programming and hardware engineering so I can modify the thing
I'm not sure I understand what you're attempting to do. There aren't any daisy wheel typewriters that have legitimate graphics, though I have a proof-of-concept here.
after "CMP r1, r2" instruction, the next condition jump instruction imply how to treat the two operands "r1, r2", if it is "JG label", then the two operands are treated as signed integers (0xFFFFFFFF is -1), if it is "JA label", then they are treated as unsigned integers. its correspond to c/c++ code: "if (r1 > r2) then jump to label". In C++ code, if you compare a signed integer with a unsigned integer, the compiler will compiled the code as two unsigned integers compare, and often gives you a warning, because it may lead to result that conflict with your expectation.
please how u install valigrand on mac ?
hi would x64 code be the same ?
I have problems with finding Kits. what do you suggest . I did everything but i doesn’t find Macos Kits ? I can have the Macos Kit just for the first project after installing Qt and for the next projects there is no Macos Kits available? Please help me to solve that problem!
About as concise as you can get. Well done.
Thank you very much!🥰🥰🥰
You're welcome 😊
5:50 I didn't get this part. Why is it not copying anything here? I thought we were moving a folder (assign22) into another folder (assign23) and moving meant copying into a new directory and then deleting the original item.
This video wasn't very clear to me. 1. When you use pushd for the first time, do the directory in which you use it and the directory you move into both get added to the directory stack? What about the later uses? Same? 2. When you used popd at 1:02 after doing a couple of cd's, why did it put you back into the directory you were in when you used pushd (assign0), rather than the directory you moved into (~), even though this is supposed to be a stack (LIFO) and the stack here seemed to contain both ~ and assign0? 3. What happens if you use pushd with no argument? 4. When I experiment on WSL 2, I notice that the directories that I visit using the cd command are automatically added to my directory stack, which I can view using the dirs command. What's the point of having the pushd command then? To have a stack-sounding operation that goes with popd? How can I prevent the directories I cd into from being added to the directory stack? Is this a WSL thing, since that didn't happen to you in the video?
Thank you so much, Sir... I have attended the entire class and I got all my doubts cleared... Please keep recording and share more...
Where to get assignments , lecture notes from ?
Nice project! I'll be doing something similar, also on a Wheelwriter 6.
Thank you so much for the explanation!
My mind just short circuited when you did mot matrix art That is brilliant.
Im not in your class, but this was so so helpful! Thank you so much!!
thank you so much
Amazing
if only my school taught like this :|
Hello Good Sir, the link tonthe project description appears to be broken.
Thank you! I've fixed the link.
Decided to build this using my IBM 6747 (german Variant of the Wheelwriter 6). After struggling with a broken USB cable and installing pyserial on Windows I can confirm it works nicely :)
Woo-hoo! Great job!
Thank you!
I thought this was impossible, thanks for the explanation, great video!
Thanks. Appreciated!
Concise overview of sym links. Kindest regards, neighbours.
really love this project, thought about doing something similar abd stumbled over your project. would you mind sharing the gerber files? best regards from switzerland
Sure--I think they are in the GitHub repo already. Caveat: I've been thinking about redoing that board for years, as it wasn't a great effort
May you tell me the book for this?
Mersi frate te pup
This course is a gem. I have already done a project with pipes, and multiprocessing but it was self learning and there were holes in my knowledge. I am filling them in with this gem of course!
thankyou somuch
😢can give me the link of all the lecture truly appreciate