The explanation is straight to the point, detailed and correct. Without begging for likes and subscribers. And with good aesthetics/editing. This is my new favorite KZitem channel.
@Splarkszter
4 ай бұрын
Agreed. The quality is incredibly high.
@user-pj9vw8ic3v
4 ай бұрын
forgot one very important detail... 😏
@Billabongbabalog
3 ай бұрын
@@user-pj9vw8ic3v ...
@yurisich
5 ай бұрын
I like the juxtaposition of low level concepts from a security engineer known for writing ASM, on a Windows XP VM, using an website to do hex calculations, and a Google search to divide by 1000. And the vi/notepad++ use. It's all so random, but it feels very much planned.
@arossfelder
5 ай бұрын
I think it's WIndows 10 tho :)
@bazylicyran7727
5 ай бұрын
Exactly this, it really fucks with my mind. Such a well done video though.
@Haegarrnc
5 ай бұрын
@@bazylicyran7727 it’s probably software from Stardock with an XP theme.
@user-uf4rx5ih3v
5 ай бұрын
I think this is part of her channel branding. Personally, I could have done away with the whole algebra section but yeah.
@b0ntr4g3r3
5 ай бұрын
And in the closing screens it looks like a MacOS running a windowed game of Burnout!
@sasan8822
5 ай бұрын
Great video. The only problem is the blue font on the terminal is not very visible on a black background.
@lauriewired
5 ай бұрын
Yeah I noticed that 🥲 will fix it in future videos
@GaryChike
5 ай бұрын
My eyes are black and blue now @@lauriewired
@Haegarrnc
5 ай бұрын
@@lauriewired can’t fault you for it, it is the default for Linux. You should look at the “cool-retro-term” project. It might not fit with the theme of your videos but if you want a retro feel to your terminals then you can’t be it.
@dannfr
5 ай бұрын
upgrade that eye
@JohnsonSmithson
5 ай бұрын
@@dannfr his vision is not augmented.
@LunaticEdit
5 ай бұрын
Wow, someone who actually knows what they're talking about. Accurate, concise, and to the point. Excellent job.
@troybird8253
5 ай бұрын
SIMP
@TheOnlyJura
5 ай бұрын
Does she? She did not mention how exactly does a stack overflow get triggered (page fault exception, which happens when accessing a guard page). But I get that not everybody wants to be truly knowledgeable.
@homomorphic
Ай бұрын
@@TheOnlyJura she just said that the operating system terminates the process which is correct, since the exception vector points into kernel code. Having seen few of her other videos, I'm quite confident that Laurie could explain how the hardware generates the exception and how the kernels handler works, but covering how a program is terminated and unloaded from memory at a detailed level is a whole series of videos by itself.
@MaxProgramming-uv6br
5 ай бұрын
Can we stop a moment to thank Laurie for the amazing theme that she has ? Whether the room or the frame they both are amuzing.
@Zappexe
5 ай бұрын
7:12 People might get the wrong idea that you are allocating memory in the stack as you push. Instead, you are pushing and poping data in the stack which is already percolated and is of fixed size - it's like a fixed-size array where the stack pointer is like an array index. Despite that, great video!
@theRPGmaster
5 ай бұрын
"Percolated" 😄
@Zappexe
5 ай бұрын
@@theRPGmaster ups :D
@TheBypasser
4 ай бұрын
Technically there is no such a thing as "memory allocation", it is just a language concept ;)
@InservioLetum
3 ай бұрын
You must never pope data. Data poping is haram.
@homomorphic
Ай бұрын
Stack *is* allocated on demand. The 8MB of stack referenced in this video is not 8MB of physically reserved memory, it is just 8MB worth of unbacked virtual addresses and as each unbacked address is read or written to, there is an exception and the OSs exception handler then allocates (one page at a time) the physical memory to that page (populates the page table).
@NoiseCommander3DS
5 ай бұрын
I am developing a homebrew music-making app for the Nintendo 3DS and a stack overflow happened to me recently there. At first I thought my project was doomed and done for, it gave me quite a shock. After googling, I learned that 32kb are allocated by default and that it can be changed, so I allocated 128 kb instead. Phew... :D
@pluto9000
5 ай бұрын
It might just take longer to overflow if you're pushing but not popping.
@reeb3687
5 ай бұрын
i read that you were developing hebrew music
@pluto9000
5 ай бұрын
@@reeb3687 😆
@ThiemenDoppenberg
5 ай бұрын
😂@@reeb3687
@xydez
5 ай бұрын
You might consider moving something to the heap instead - stack overflows are usually a sign of poor code. For example, you probably don't want to store the user's entire song on the stack, since it's used for the entire duration of the program anyways. Keep in mind that the main benefit of the stack is quick allocations and deallocations. Interesting project btw!
@Drewer
5 ай бұрын
No Click bait, pure video teaching about stack overflow, well done!
@notafbihoneypot8487
5 ай бұрын
Ready to stack this knowledge
@Jool4832
5 ай бұрын
until it overflows.
@uncleswell
5 ай бұрын
Mine was popping as it pushed. I'm left only with the last 5 seconds of the video :/. Gonna rewatch with a queue.
@fyoutube2294
5 ай бұрын
Here dawg, you can place it right next to my stack of bread
@notafbihoneypot8487
5 ай бұрын
@@fyoutube2294 I do love bread
@BlackxesWasTaken
5 ай бұрын
With every single video I'm so delighted how well spoken you are. No ehm, like or similar. It feels really good listening to you describing the topic
@strelkan
5 ай бұрын
listening and looking good too!
@LuisAPeregrina
5 ай бұрын
@@strelkan 1 googol% agree.
@xydez
5 ай бұрын
It's a script and good production, one should not underestimate the work that goes into making a video like this. It's well produced though, imo.
@b43xoit
5 ай бұрын
That's right -- the absence of noise-vocalizations makes the speech easier to hear and understand and shows respect for the audience and self-respect.
@Damon970
5 ай бұрын
This young lady's voice is very nice to listen to and learn. Thank you, Laurie.
@pepijn_m
5 ай бұрын
A year ago her voice was lower then it is now. I am curious why she changed it/what's her normal tone.
@JoRoBoYo
5 ай бұрын
@@pepijn_mhuh, i watch her first video, she is struggling to speak and breathe, from that i conclude this is her real voice
@asdfjoe12
5 ай бұрын
@@JoRoBoYo I'm curious if she's a trans. She does seem to have some level of masculine characteristics.
@BigAl7976
4 ай бұрын
Easy on the eyes too
@upsilondiesbackwards7360
4 ай бұрын
@@BigAl7976 You're pathetic.
@archivethearchives
5 ай бұрын
Cool aesthetics. You definitely have that finesse for themes and your speech is so clear. Cool video.
@Ne-lm7dy
5 ай бұрын
your channel is really cool, your editing and teaching skills for low code are the best I've seen on youtube, I'm learning a lot thank you
@Kaiymu
5 ай бұрын
Thank you very much, I'm a software programmer but on the high level side, so I've never fully understood the memory part ! It gets cleare after your video.
@joseph-montanez
5 ай бұрын
Another god-tier level video! Thank you so much everything you do and all the effort you put into these video!
@aazjo
5 ай бұрын
Laurie, you have just the right amount of computer nerd, videographer, super awesome programmer, and mad computer scientist to make me wish one of my daughters had turned out like you. Keep it up! I'm a computer scientist and appreciate your well rehearsed explanations of these often hard to understand concepts.
@Cm0nd00d
3 ай бұрын
your daughters are probably amazing, daughters are the best
@VincentGroenewold
5 ай бұрын
Really clear, back in the day Assembly was a bit too much, but I appreciated it more and more. Even though it's not super productive. :)
@gorak9000
5 ай бұрын
The lower level the language, and the harder it is to code, the more efficient the code will be in the end, because the programmer won't want to put the effort in to make it bloated adding extra junk. Now we have high level languages that people that have no idea what's going on behind the scenes and at the lowest levels code in, and layers upon layers of libraries and frameworks, and you end up with the bloated garbage that is pretty much all software these days. Because why write even the simplest thing from scratch in 5 lines of code when you can just use a 500MB library to do the same thing. I've seriously asked people in interviews that supposedly "know how to code" and supposedly have "data science" degrees the simplest most fundamental questions about Big Oh, and complexity, and they have not even the faintest whiff of an idea of what I'm talking about. All they know how to do is write glue code to glue various libraries together, and if it runs too slow, buy a bigger CPU.
@fearisan
5 ай бұрын
@@gorak9000I feel you, but it is simply incorrect to say high level = inefficient. A high level (language) gives the compiler more freedom to optimize. With low level code the programmer has to optimize by hand. Often times the compiler or interpreter can and will do a better job. A good example for this is SQL. It is a very high level language, yet extremely efficient at fetching data. Another example are JIT compilers which have knowledge about the actual architecture the code runs on and incorporate that into the compiled program. This works so well, that gcc added profile guided optimization. Another example is futhark which is a high level GPU computing language. Yes, you can likely write more efficient CUDA code by hand using shared memory and intrinsics but let me tell you that is a pain and a half in the beginning and futhark is plenty fast. Futhark allows you to more declaratively specify what it is you want calculated rather than telling the processor step by step what to do. Another example would be JSON encoding and decoding in Scala for which there are libraries which generate very efficient json (de-)serialization code using pseudo SIMD instructions (they load the data into a 64 bit long and use bit shift to parse the string very efficiently). The developer does absolutely not have to deal with this, the compiler will on their behalf. On that note: protobuf also is a high level language which gets compiled into very efficient code to (de-)serialization and nobody would want to write that by hand. If you factor in correct alignment to efficiently make use of CPU and I/O caches you better leave this task to a well written piece of algorithm than trying to reinvent the low level efficiency wheel all the time. Rust is another great high level example which gets compiled into very efficient code. Even haskell can run really fast even though it definitely is not a low level language. Thanks to referential transparency, the compiler can make assumptions about the code which it could not do otherwise and can produce efficient native code for the target platform. Even though you write haskell as if you couldn't mutate your data, thanks to referential transparency the compiler can turn this into very efficient code which may safely mutate state under the hood. This would not be possible if the developer were to write unsafe low level code because this takes away the guarantee for the compiler that this transformation is safe to do, Of course, just giving the opportunity to optimize to a compiler does not necessarily mean it will, but in general they do a great job. It is true, however, that many developers have only a surface level knowledge about what they are doing and are lost without google and stack overflow and it is those developers who write inefficient code which works ok enough for their small test data but absolutely explodes if fed anything of marginally interesting size.
@fearisan
5 ай бұрын
@@gorak9000I feel you 100% , but it is simply incorrect to say high level = inefficient. A high level (language) gives the compiler more freedom to optimize. With low level code the programmer has to optimize by hand. Often times the compiler or interpreter can and will do a better job. A good example for this is SQL. It is a very high level language, yet extremely efficient at fetching data. Another example are JIT compilers which have knowledge about the actual architecture the code runs on and incorporate that into the compiled program. This works so well, that gcc added profile guided optimization. Another example is futhark which is a high level GPU computing language. Yes, you can likely write more efficient CUDA code by hand using shared memory and intrinsics but let me tell you that is a pain and a half in the beginning and futhark is plenty fast. Futhark allows you to more declaratively specify what it is you want calculated rather than telling the processor step by step what to do. Another example would be JSON encoding and decoding in Scala for which there are libraries which generate very efficient json (de-)serialization code using pseudo SIMD instructions (they load the data into a 64 bit long and use bit shift to parse the string very efficiently). The developer does absolutely not have to deal with this, the compiler will on their behalf. On that note: protobuf also is a high level language which gets compiled into very efficient code to (de-)serialization and nobody would want to write that by hand. If you factor in correct alignment to efficiently make use of CPU and I/O caches you better leave this task to a well written piece of algorithm than trying to reinvent the low level efficiency wheel all the time. Rust is another great high level example which gets compiled into very efficient code. Even haskell can run really fast even though it definitely is not a low level language. Even though you write haskell as if you couldn't mutate your data which if executed naively would be inefficient, thanks to referential transparency the compiler can turn this into very efficient code which may safely mutate state under the hood. This would not be possible if the developer were to write unsafe low level code because this takes away the guarantee for the compiler that this transformation is safe to do, Of course, just giving the opportunity to optimize to a compiler does not necessarily mean it will, but in general they do a great job. It is true, however, that many developers have only a surface level knowledge about what they are doing and are lost without google and stack overflow and it is those developers who write inefficient code which works ok enough for their small test data but absolutely explodes if fed anything of marginally interesting size.
@QW3RTYUU
5 ай бұрын
Because the big library is tested and maintained :) the 5 lines of code might have a deep rooted bug in it and if you do data science without tests, Id rather you use a bloated library than buggy code :)))
@renatoathaydes3162
4 ай бұрын
Not gonna lie, I was expecting just a python program that recursed forever. To see actual Assembly code, plus Python for GUI visualization, plus doing the calculation of how much memory each iteration was using, plus the use of an old-fashioned Solaris-like desktop... with nice informational popus at opportune times :D and the use of both vi and NotePad++!! You got a subscriber :).
@vectoralphaSec
5 ай бұрын
This is one of the top 3 best channels in the Computing/ Programming community here on KZitem.
@Slycooper2456
5 ай бұрын
Yet another fantastic video! The stack usage visualizer really nails down the concept and makes it crystal clear. Great job!
@StevenOfWheel
5 ай бұрын
Came for the lit looks, stayed for the computer science
@Haegarrnc
5 ай бұрын
Yeah, I’m completely turned on by her programming in Assembly but I’m learning new things too.
@cardrivingdude
5 ай бұрын
For every thumbs up this comment receives, a thousand white knight gate keepers screech in total agony. lol
@silvermeta2421
5 ай бұрын
fr this chick has crazy energy
@pluto9000
5 ай бұрын
My stack is overflowing and she isn't going to pop it off 😩
@cardrivingdude
5 ай бұрын
@@pluto9000That's kinda cringe yo, ngl. Keep it classy kids!
@mytechnotalent
5 ай бұрын
Great visual Laurie! It really helps solidify how the stack grows down as it grows toward the heap great graphic!
@scraphex
5 ай бұрын
Let's all love Laurie!
@BlackHermit
5 ай бұрын
Let Laurie love all!
@GarfieldKartPMC
5 ай бұрын
simp
@dxfate
5 ай бұрын
HUH
@gatsu8634
5 ай бұрын
🎶 *I am ballin, I am faded* 🎶
@cl0udbear
4 ай бұрын
Great video and I really appreciated both the pace and the consistency of the pace. It was exactly the right rate of information the entire way through and at no point did I feel like speeding the video up or wandering into the comments and missing anything.
@picchioknossus8096
3 ай бұрын
OMG one of the very few youtubers that actually tells real content without BS, without showing unrelated stuff. Many tanks.
@munto7410
5 ай бұрын
Wow, your videos are really some of the best out there! I've never seen an educational video have this much personality. I can't wait to watch more!
@LelandMaurello
5 ай бұрын
Very cool! I learned a long time ago about using stacks, and how they overflow, and your explanation is right on point. Also you speak perfectly. Thank you LaurieWired!
@TheAussieRepairGuy
4 ай бұрын
Your clear articulation is far better than any programming channel I've ever watched. It's clear you have a good handle on the subject matter, but you may have lost touch with those who have a lesser grasp.
@maxmustermann5590
4 ай бұрын
Yo this channel is criminally underrated. You're not only really knowledgeable, but also great at explaining and very articulate. The algorithm should pick this up soon :)
@ourinator692
3 ай бұрын
To be fair, the first video was only a year ago. Give it some time and she will grow very fast if she stays consistent.
@lllIIIlIllIIll
3 ай бұрын
Highly informative computer science ASMR, I love it ❤️ By the way this hairstyle looks fabulous, consider wearing it more often!
@brianhsu_hsu
5 ай бұрын
Wow, I like the visual theme of this video. Bring back so much memory of my childhood with computer. And the explanation is also very good and comprehensive. I really like it.
@rorychivers8769
4 ай бұрын
I'm not really sure why, but suddenly the only thing I am interested in learning is what actually happens during a stack overflow.
@ravensthor9547
5 ай бұрын
Awesome explanation Laurie!
@OceanusHelios
4 ай бұрын
Very clear and I am not even a coder. It was even clear and understandable watching it on 1.25 playback speed (faster).
@user-iy3fx5sq7q
5 ай бұрын
Very clearly communicated and well edited video. Cheers Laurie
@graytico
5 ай бұрын
Really glad i discovered your channel, as its quickly becoming one of my favorites
@demonikidoff4613
5 ай бұрын
Everything about your videos is so cool and so well crafted... Such a great job !
@RhinoBlindado
5 ай бұрын
Excellent video! Very well researched, love that you put the code available and I absolutely adore the whole Serial Experiments Lain theme!
@TheManOfTheHourEveryHour
Ай бұрын
Came for the pigtails. Stayed for the pigtails.
@pcsecuritychannel
5 ай бұрын
It's been decades since I have seen that olive XP taskbar, I mean all the nostalgia videos have the blue one...
@garya1809
5 ай бұрын
Thanks for this it has helped solidify the concept in my brain. Computerfile has a "running a buffer overflow attack" video for the security perspective of this and how it is abused by threat vectors , so it was nice to see your video with more of the code exposed side of things.
@surftheweb37
26 күн бұрын
Lucid, thorough and up to the point. Please, use some local calculator and value converter next time around (or at least host your own web instances of the said tools)
@ThisIsJustADrillBit
4 ай бұрын
Woah im so glad i found this channel!! Super clean descriptions and very well laid out. Will be checking out the rest of your clips for sure!!! Thank you! 🔥❤
@garyjonjon
5 ай бұрын
This lady needs to be the face and voice of most instructional videos!
@KelseyJacobson-zn3mw
5 ай бұрын
Your bangs are so freaking cute!!!!
@jogizy
Ай бұрын
deviant
@BenjaminWheeler0510
5 ай бұрын
Cool video! I like the use of assembly to explain “why” SOs occur: it’s the link reg! Not immediately obvious in C.
@RIOTNOOB
4 ай бұрын
Its good to see younger coders that learn something
@martijn3151
5 ай бұрын
Perhaps a nice idea for a follow up is how does the CPU even detect an overflow? It’s just a pointer that gets lower and lower, what mechanism actually triggers a seg fault? And the stack size is something that can be set a link time; meaning you as a programmer have some control on its size, which can be handy if you expect your program to consume a lot of stack. Could be interesting to dive into as well. Just a thought.
@jak3legacy
5 ай бұрын
She already explained that in this video, at least that is what I inferred. What you describe (detection of the segfault) is the very reason that the stack counts downward (or at least one of them). There is a "minimum" memory address that it can count down to, and it knows this minimum address in advance based on the initial allocation. The CPU is watching for that lower boundary memory address to become used, which is what triggers the seg fault.
@bigp3t3_cpt
5 ай бұрын
Operating systems have a memory management components that use the MMU in the CPU to detect address violations but devs have to register an exception handler for it to be handled gracefully, otherwise the CPUs or OS send segfault to the process. If os is that process...
@0x90h
5 ай бұрын
In big simplification when running process at user mode level it uses virtual memory instead of physical memory where virtual memory pages are mapped to physical memory addresses. Each virual memory page can be flagged as executable, readable or writable and other things (depending on CPU architecture and operating system). What happens when process creates new stack for thread ? There is allocation of virtual pages which are flagged as read and write and they are mapped linearly in process virtual memory space for example first page of size 4kb at address 0x40000000 second page at address 0x40004096, and so on but the page before the first allocated memory pages is flagged as not allocated or allocated and flagged as not for read and write therefore when CPU tries to access it, page fault exception is generated and cpu switches to execution page fault handler of operating system (some function in kernel mode which is executed when page fault happens). Operating system knows by analyzing active process and memory page address that it belongs to virtual memory page before stack beginning and then it generates stack overflow exception.
@dixztube
5 ай бұрын
@@0x90hawesome. Any books you’d recommend to learn more on this
@0x90h
5 ай бұрын
@@dixztube "Windows Internals" book Intel® 64 and IA-32 Architectures Software Developer Manuals wikiAosdevAorg // replace A with . Linux kernel source code
@theata
3 ай бұрын
That was an amazing demonstration on how the stack works.
@delibellus
5 ай бұрын
Thanks, Laurie! Your subjects are very good and you're really good at explaining. Quality content!
@theharbingerofconflation
4 ай бұрын
Ah this is nice, I remember blowing other students minds in Uni when I showed them you can infer buffer sizes in most functions in C during callup since you already initialize the datastream somewhere. I avoided using malloc in my entire uni life and never had a single overflow. People outsource their brain to much to their language
@OhhCrapGuy
5 ай бұрын
Interesting... I didn't realize that the stack grows down instead of up... That's actually really interesting. Btw, (extremely) minor point of accuracy, the Google byte/kilobyte converter is using base-10 kilobyte, while ulimit -s should be giving us base-2 kilobytes (kibobytes for those who prefer that nomenclature), meaning that the value of 315 KB it's giving us is very slightly wrong, or at least not as useful for comparing to the 8192 KiB value. The value it should have given us is actually 308 KiB. smh... Google is a tech company, they should know better than to default to base-10 units for bytes...
@xydez
5 ай бұрын
*kibibytes but yeah good point, we really should standardize base 2, now its just a limbo
@b43xoit
5 ай бұрын
Typical implementations of FORTH have the call stack and the operand stack growing toward each other from the two ends of one area of memory.
@OhhCrapGuy
5 ай бұрын
@@xydez thanks, my phone kept "fixing" it for me and I missed the vowel
@infexis_95
4 ай бұрын
Gotta say, the Serial Experiment Lain theme you've got going is just amazing
@chauchau0825
5 ай бұрын
never expected but getting a deeper explaination than Uni
@Quantumqbit
5 ай бұрын
Windows XP, Mac OS.... where is the Amiga Workbench?! 😛I still use various flavours of that on a daily basis....! Thanks for the video, perfect timing as I was just looking into this...and oddly enough, they recently fixed a stack overflow issue in Workbench!
@rsbah
5 ай бұрын
omg wow, I love your hairstyle 😍
@ebojager
5 ай бұрын
Wow so glad I stopped to watch, I love your MacOS desktop theme and having your video in a window, looks amazing! Ive always wanted to know what a Stack Overflow was, thank you.
@HoSza1
5 ай бұрын
Imagine Powerpuff girls do programming.😂 The day is saved!
@Pwnification
5 ай бұрын
Currently taking CS50 to start my programming journey and I really enjoyed this video. Luckily I'm far enough into the course to understand a good portion of what you were talking about! Thanks :)
@LukeAvedon
5 ай бұрын
Amazing. How do you get the 90s mac OS vibe?
@spiceyfrenchtoast9421
5 ай бұрын
Careful, it's hard to break the hypnotic trance.
@kcsnipes
4 ай бұрын
i like this person's face, clicked cause the thumbnail but i dont code so i can't stay, wish you well on your youtube journey
@afrancis7475
4 ай бұрын
Homegirl is smarter than most of my teachers when I was a student. Even though I stopped coding a long time ago, this was a very enjoyable video. Your voice sounds a little bit like D.VA from Overwatch, so I feel like this channel is D.VA's side hustle 😂 Subbed!
@anonymoose9907
4 ай бұрын
Hello Laurie. I am very happy to finally be pointed by the You Tube algorithms towards women who have engineering smarts. Refreshing!
@wayneswildworld
4 ай бұрын
Beautifully executed visualization of a stack overflow. Simple and clear.
@alphabitserial
5 ай бұрын
Oh my gosh I love what you've done with your hair!!
@VishwajithSaminathan
2 ай бұрын
that visualization is so sick.
@volsbit
5 ай бұрын
Loving your tutorials.
@DominikJaniec
5 ай бұрын
thank you. very interesting stuff! I find those layouts and transitions very enjoyably too - maybe I could wish to see letters a little bigger, I love reading code
@c0p0n
4 ай бұрын
That was very well reasoned and explained.
@ScottPuopolo
5 ай бұрын
Need to start a drinking game every time I hear 'actually'.
@ganeshkale9665
5 ай бұрын
Can you share how you achieve good at your career in low level programming in security that would be so helpful 😃
@dwsel
4 ай бұрын
Thank you I've learnt something new today. Also I appreciate visual progress bar showing filling up of the stack 👍
@ka1r0ww
5 ай бұрын
Great explanation and visual representation. I agree, the dark blue text was hard for me to read against the dark terminal/text editor. But other than that, great content. As someone who is "vintage," I love the retro vibe as well. I def. subscribed for more videos like this. Thanks!
@rn221
5 ай бұрын
"I'm sorry what?"
@jorge.patino
4 ай бұрын
Ver que alguien tan joven tiene tanto dominio de la tecnología me da un poco de celos, pero ese estilo retro vintage me recuerda mis primeras interacciones con la tecnología en las que buscaba un experto que me entrenara, por lo que se me pasa los celos y me entra la nostalgia, jajaja, bendita juventud.
@user-tc2ky6fg2o
4 ай бұрын
Your HEX calculator was so kind to inform us of the answer in decimal directly as well 😉
@oneistar6661
5 ай бұрын
What a bright star! Very nice, thank you for doing this.
@Guishan_Lingyou
2 ай бұрын
When I learned about recursion it was in math, and the fact that it just kept on going was the point...infinite process represented with finite symbolic description.
@CineFans-io
5 ай бұрын
greetings from Lima, Peru
@MM-ts9jy
4 ай бұрын
I love Indian people and I owe them a lot as a programmer, but it's just nice to hear a different accent now and then. Also, nice production quality
@ant1fact
5 ай бұрын
Great video! Fun fact: at 9:20 the decimal value was automatically presented to you just underneath the hex result :)
@mateusribcampos
5 ай бұрын
Thanks for an amazing explanation!
@TheBypasser
4 ай бұрын
Really love this happening on bare-metal cores with no memory mapping, say AVRs. At some point the stack gets so deep it leaves the actual SRAM and starts being pushed into the on-chip peripherals' registers, making fun out of interface controllers and ports (with all kinds of mess like bus contentions and alike). Though yeah, I only code those tiny things in ASM so this is tough to trigger - yet still may happen should you get too fond of tricks like overlapping interrupts etc ;)
@johnmckown1267
14 күн бұрын
Good video. But I'm wondering if the SIGSEGV is an "artifact" of your memory layout. The stack grows "up" towards lower addresses. In the system I'm used to, the "heap" is actually in lower addresses than the stack. In a rare case, it is possible for the allocated heap to extend down to be adjacent to the "top" of the stack. This allows the stack pointer to actually point to a heap location. Rare, but not impossible. On a different architecture I used, the CPU actually had special registers which contained the process' stack start and end addresses. Any instruction which changed the stack pointer had the new value checked against these bounds & had a special interrupt to abort the instruction.
@SydneyApplebaum
5 ай бұрын
odd style, love it
@keithr6541
5 ай бұрын
Fantastic video! I've had to explain stack overflow in the past - you did a much better job. From now on I'll just send people here. I'd love to see a follow-on video about stack smashing and buffer overflow vulnerabilities, and how to write code to avoid them.
@daljeetbhati8353
5 ай бұрын
Definately my one of fav vids from channel
@godmarback9866
2 ай бұрын
When using vim on a dark background, try `:set background=dark` for better syntax highlighting.
@ever.silva7
2 ай бұрын
Lain from Lain serial experiments... has reincarnated :-)
@hyperxml
4 ай бұрын
I just came for the green light, stayed for the pointers 😮
@murtadha96
4 ай бұрын
Asuka is explaining a stack overflow :D
@PyMike
4 ай бұрын
Your channel is 10/10, congrats from Italy, subscribed
@williamjessop422
4 ай бұрын
Awesome video! Your style is incredible! Also your explanations are great!
@kdog3908
5 ай бұрын
I'm exploring the idea of getting back into coding after about 30 years of never having looked at a line of it. Your videos are helping to poke (geddit?) memories loose from the rust that's accumulated over all that time. Thanks for posting and thanks for you!
@kxmode
4 ай бұрын
10:04 "This is gonna be good!" 😄
@scottriddell7893
5 ай бұрын
Great video. One tiny addition that might be informative would be to do an additional run without using the print statement. This would illustrate how much time screen IO adds to run time as well as show how fast the stack can fill from an unintended loop.
@soldierbirb
5 ай бұрын
I thought I would get tired of your way of talking (you look like a barbie) but actually, your voice and style is a little bit addictive lol. Good video!
@notiashvili
5 ай бұрын
Can I just declare a large array and fill it with bytes to also get a stack overflow? All data not put into the heap just adds to the stack, so a statically declared array should also easily fill up that 8MB of stack size, right?
@notiashvili
5 ай бұрын
Correction: a static array won't end up in the stack, it will be in a separate global memory store which is allocated at the startup of the program by the OS. To put the array on the stack, it must be declared within a function so that's what my question refers to.
Пікірлер: 659