How the stack got stacked

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 113

  • @valentinussofa4135
    @valentinussofa4135 2 місяці тому +54

    The literary and historical research you've carried out is highly commendable. I've visited the site address you embedded, and there I can access papers and books from your extraordinary learning content. You have been a great teacher for a self learner like me. Thank you so much. 🙏

    • @6AxisSage
      @6AxisSage 2 місяці тому +1

      I love how my work brought me to to this channel, what an awesome couple of weeks, crack a problem where im suddenly deeply connected to the perspectives of many brilliant people hidden by the algo before.

  • @cellularmitosis2
    @cellularmitosis2 2 місяці тому +59

    When you roll 20’s on both technical depth AND relaxing ASMR voice

    • @user-ky4jy8mc1x
      @user-ky4jy8mc1x Місяць тому +3

      Yes, except you don't roll on the technical dept, you develop it by putting in lots of effort over the years!

  • @shreyasdatar7251
    @shreyasdatar7251 2 місяці тому +12

    "A sentence written by a 30 year old - Edsger Djikstra..." I audibly gasped. Love this format. Keep up the good work :))

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

      That's what I was hoping for 🤣 Thanks!

  • @MarianoBustos-i1f
    @MarianoBustos-i1f 2 місяці тому +5

    Never cease to be amazed by the quality of the content and your superb pedagogic skills.

  • @klineaugust
    @klineaugust 2 місяці тому +10

    I loveee the way you work through history and tangible examples at the same time, your presentation of the material is great!

  • @RyanMalmDesign
    @RyanMalmDesign 3 дні тому

    Not since "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold have I found such a vividly interesting and accessible foray into computer science and it's history. I love your 0DE5 content thus far (I haven't watched the latest videos yet) and hope you continue this series for a long time. Thank you so much, I am a fan.

  • @moormoor4281
    @moormoor4281 2 місяці тому +18

    Thanking you most kindly from England

    • @phyphor
      @phyphor 2 місяці тому +5

      It's gone 3am! You should be asleep.
      ...
      It's gone 3am! *I* should be asleep!

    • @billbond2682
      @billbond2682 2 місяці тому +2

      @@phyphor 😂

  • @MrKeebs
    @MrKeebs 2 місяці тому +9

    What an amazing channel and amazing videos. I love the ASM series and this is also excellent. Thank you so much for putting those videos together!

  • @moormoor4281
    @moormoor4281 2 місяці тому +14

    From a radio amateur very interesting information

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

    Absolutely fantastic video! After watching it, I literally found myself thinking about our modern computers in a different way, reminding me of the seemingly limitless possibilities that attracted me to computing in the first place. Very excited to learn more. Thank you.

  • @marcsh_dev
    @marcsh_dev 2 місяці тому +4

    Great video, thanks!
    Brings back memories of learning to program and parse on my little home computer

  • @richardd9634
    @richardd9634 Місяць тому +1

    Kay, your content is incredible. It's clear to see that you have a deep passion for the material that you teach. Congratulations on the launch of 0DE5. Keep going!!

  • @phyphor
    @phyphor 2 місяці тому +2

    I'm really enjoying this series. It fits neatly in my head alongside the work people like Ben Eater are doing with creating hardware.

  • @mikhailmikheev8043
    @mikhailmikheev8043 2 місяці тому +2

    Your content is phenomenal. Thank you very much, and please continue doing it!

  • @dageekoftheweek
    @dageekoftheweek 2 місяці тому +3

    This is an absolutely amazing video, your passion and respect for the history is evident and not seen enough in software in general in my opinion, it kind of strange how prevalent platforms like leetcode are that encourage fundamentals without any regard for where they come from and why, what you are doing is not only well constructed and entertaining but also important work. We may stand on the shoulders of giants but it feels like they get ignored far too often, you are helping to change that and as someone who was starting to feel like tech wasn't for me anymore, your passion has helped to re awaken a bit of my own that I had as a naive college student before the world beat me down so to speak.

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Thanks for the comment - this was really nice to read and I'm so glad to help in that :)

  • @shubhxms
    @shubhxms 2 місяці тому +2

    amazing video! i love how you explained everything, the details ofc and the editing!

  • @jemo_hack
    @jemo_hack Місяць тому +1

    Gosh, just found this channel, love the content and I can appreciate the effort that goes into making this type of content, thank you! On the subjects of stacks, I see you did not mention Forth, a stack based language, nor do you mention HW based stacks, and stack machines…. maybe a follow up video? Cheers!

  • @juwulez
    @juwulez 2 місяці тому +3

    such an incredible video!! i always enjoy them but this one was so very thorough and engaging and fascinating to watch! thank uuuu for sharing!!

  • @damianpanek8667
    @damianpanek8667 2 місяці тому +2

    Beautiful work, as always. Thank you for your well prepared materials.

  • @jebuschrast
    @jebuschrast 2 місяці тому +2

    fascinating analysis, great presentation! Thanks for the lesson!
    looking forward to the next video

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

    Great video. Lots to understand but you make it comprehensible .
    Will listen to it more than once 😊

  • @vcv6560
    @vcv6560 26 днів тому

    This title authoring SW, i.e. that animates the operations and jumps between written statements of the algorithm is simply excellent as a teaching tool. Thanks for using this, and if you're also its author double cheers.
    Also those brief historical insights are a nice touch introducing the topic. I had a few favorite text books from college that used this approach.

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

    This video and the others on your channel is a better introduction to computer architecture then my university courses were. It is great to see others interested in this deeper understanding of computing and not simply "means to an end" knowledge like the specifics of some JS framework.

  • @aliniaz6448
    @aliniaz6448 2 місяці тому +2

    A subscriber can be earned by just one and first impressive video, which he did in my case ❤

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

    Kay you're a legend this is great - thanks for linking all these resources

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

    Stack is first step, then recursive is beter stack is most value clarification and thx. This video is good to see link bethven details( hardware) and definition(software). Very very good video.

  • @lumotroph
    @lumotroph 2 місяці тому +2

    This is absolutely brilliant.

  • @AvanaVana
    @AvanaVana 2 місяці тому +1

    Wonderful material
    Edit: and the presentation is equally wonderful, of course!

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

    6:30 - My brain immediately jumped to LISP when you said that. I didn't know there was so much more history behind this.

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician 2 місяці тому +1

    Before i even watch the video: Here have a like for the great video title 👍
    All your videos are top notch content, so I'll now proceed watching it

  • @hosseinnajafi2181
    @hosseinnajafi2181 2 місяці тому +2

    Thank you so much, you're the best in low level stuffs 🥳🥳🥳🥳🥳🥳🙏🙏

  • @pdougall1
    @pdougall1 2 місяці тому +5

    This is a fantastic contribution to the graduate level CS education that I'm getting on YT 🙏
    thank you very much and I look forward to more 😄

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

    I get the feeling that the understanding of the arithmetic expression evaluation mechanism is key to writing a compiler. More specifically, the major difference between writing an assembler and a compiler. I never understood how arithmetic expressions and precedence were actually parsed and calculated, many thanks!

  • @Gersberms
    @Gersberms 2 місяці тому +2

    This is such a good video! I love the new font (NorB TypeWriter?) and the new indicators you're using as well. The pop filter seems to be working well too.

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Thanks! It was Monaspace Radon but thanks for introducing me to a new font, I like it

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

    Hello! I've been loving your videos. The content you've been covering is the exact stuff I was dying to know when I first started learning about computing. You present the information beautifully, and the historical context here is very interesting, and more important than a lot of people realize I think. If only I could send these videos back in time to my teenaged self, they'd blow his mind!
    Anyway, just wanted to put in a comment to let you know I think your work is really great, and I'm looking forward to seeing what you cover next. It gives me a warm feeling to see computing concepts being explained in a personal way, with an emphasis on fun. Personally, and I think this may be true for a lot of us who do computer work, programming as a job can strip away a lot of the awe that comes with first learning to program computers. These videos have helped bring back a bit of that wonder for me - computers truly are beautiful machines! So, also, thanks for reminding me of that :)

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

      Thanks so much - this was really nice to read! Glad the fun part comes across :)

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

    wow this is so great.... and thank you for attaching resources and links to papers/books!

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

    wow to stumble on to a creator like you is rare, I am glad I have, subscribing for more great work!

  • @6AxisSage
    @6AxisSage 2 місяці тому

    Omg! Your videos really made a lot of ideas click into place for me 🙏 Thank you for sharing your brilliant insights, hopefully people understand my work before while im around 😊

  • @SanjayB-vy4gx
    @SanjayB-vy4gx 2 місяці тому +2

    We need more videos like this mam

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

    This is a wonderful video, thank you!

  • @realBenjaminFranklin_
    @realBenjaminFranklin_ 2 місяці тому +2

    Wow. Instant subscription. Well done!!

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

    Loved the video. Super well put together.

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

    that's an amazing quality content.. thank you very much for sharing

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

    captured me for good 40min. very good!

  • @galactic_fx
    @galactic_fx 2 місяці тому +3

    amazing content ❤️🙏

  • @yxyk-fr
    @yxyk-fr 10 днів тому

    Damnit ! I had the reference for Turing, but the stack frame was Dijkstra's evil idea !!!
    Mixing data types was elegant in the 60s but today is a MAJOR headache, in particular for security, creating opportunities to crash or subvert programs !

  • @joebuydem
    @joebuydem 2 місяці тому +4

    cracked. as usual. good job.

  • @flflflflflfl
    @flflflflflfl 2 місяці тому +1

    I love your channel, thank you!

  • @marcsh_dev
    @marcsh_dev 2 місяці тому +5

    {Some ramblings about Djykstra's comment about how to approach programming - especially learning}
    Yeah, so throughout my entire career Ive wrestled with the 2 wolves, 'treat computers as high level abstract devices -AND- treat computers as a machine with the specific needs and implications'
    I definitely bounce between the 2 and try to have each inform the others
    Take, for example, how fast caches are and hitting caches VS getting values from random places in memory.
    As you are well aware, a ton of really nice^0 algos bounce around memory, while bog standard (sort of boring) ones just use an array.
    I want to think about the program at a higher level, since at that level, I get a lot of leverage over the problems Im solving.
    But, computers _arent_ abstract calculation machines with 0 implications on how I respect the hardware. Sigh.
    I dont know if other folks wrestle with this or not.
    ^0 By nice I mean solve it well, and technically quicker than an array

    • @kevinscales
      @kevinscales 2 місяці тому +1

      It would be really nice to just think about algorithms caring only whether the output is correct, but the real world exists

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

      Agreed, it reminds me of the idea of a dialectic. I think that idea of 'abstract machine' vs 'electron machine' has powered a lot of creative tension over the decades. Came across this post about 'mercurial CPUs' yesterday which also seems like a similar idea at a massive scale x.com/petereliaskraft/status/1840011158347972765

    • @benholroyd5221
      @benholroyd5221 Місяць тому +1

      I think the trick is to turn the limitations into features.
      I suppose the poster child for this is forth. its based around a low level view of what a computer can easily do, and puts just enough varnish over it to make it seem higher level that it is.
      I suppose its also what makes it an engineering discipline. You can make a pretty building, but at the end of the day, it needs to not fall down, A program needs to run at a reasonable speed.

  • @alfredooviedo9410
    @alfredooviedo9410 2 місяці тому +2

    Love your videos!

  • @h7qvi
    @h7qvi 2 місяці тому +3

    Lacky's back ❤

  • @Notimetootime
    @Notimetootime 2 місяці тому +2

    you deserve more subs

  • @6AxisSage
    @6AxisSage 2 місяці тому +3

    I see Alan Turing and I clicks ❤

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

    I really like your videos!

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

    Hey, this is a hela interesting and informative vid

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

    Great video

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

    kudos from Barcelona❤❤❤

  • @jespermikkelsen7553
    @jespermikkelsen7553 2 місяці тому +8

    Matthew 19:30 But many who are first will be last, and many who are last will be first.
    How? Use a stack

  • @pikuma
    @pikuma 2 місяці тому +1

    Very good content. Kudos. :)

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

    31:38. It sounds like Dijkstra was experiencing the same thing that Pascal felt when he became motivated to build a machine capable of carrying out addition / subtraction; or also, what Leibniz may have felt when he was motivated to extend Pascal's adding machine to incorporate multiplication / division. Arithmetic represents a kind of laborious chore for the mind seeking to relish in the abstract (i.e. on a higher level). Getting wrapped up in the details of how the machine intended to free your mind from that labor can just spoil it.

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

    Thanks Kay :)

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

    Interesting stuff

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

    Amazing 😊👍

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

    Thank you for this. It is an area of cs history that i didn't know. Would you be able to do a similar video on the haskel-style way of evaluating a program?

  • @howwitty
    @howwitty 2 місяці тому +1

    That's great.

  • @R.Daneel
    @R.Daneel 2 місяці тому +1

    Subbed! Great video. Alan Turing is a hero of mine. Was it string theory he was just starting to make interesting inroads into just prior to his suicide (aka manslaughter imho)?

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

      Thanks! I didn't come across string theory but I wouldn't be surprised - I did read a bit how he was working on biology and how complex biological structures get formed (in particular, I believe, pinecones). There's a little about it here - web.archive.org/web/20130324114121/www.wired.com/wiredscience/2011/02/turing-patterns/?pid=978&viewall=true

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

    So cool

  • @satyarsh665
    @satyarsh665 2 місяці тому +1

    Kay uploads, i click

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

    Reverse Polish notation. Forth mentioned 🎉.

  • @yxyk-fr
    @yxyk-fr 10 днів тому

    Thanks for all the research !
    I published an article on this subject half a year ago and I had the Polish and Turing reference but not the Keller and Dijkstra.
    Would you like to get in touch to discuss about it ?

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

    The CDC 6000-series computers had no address stack and did not support recursion.

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

    you are modern day Turing

  • @SweepAndZone
    @SweepAndZone 2 місяці тому +1

    Wow. What a brilliant mind.

  • @cryplots2815
    @cryplots2815 2 місяці тому +4

    😊

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

    great videos , is the font in the recursive subroutines monospace radon ?

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

    Algol 60 implementation is a fun language and is a shame there are no compilers available. I have an old Algol 60 / Fortran translator that doesn’t work very well. There used to be a algol60 / simula-67 compiler on paper tape at work that was originally for the ibm360. It would be nice to find it and try to get it to run on an emulator. If you ever worked turbo pascal then Algol won’t look to strange.

  • @moormoor4281
    @moormoor4281 2 місяці тому +3

    Encryption on DMR is interesting subject

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

    Why not implement some JavaScript checker for the RPN evaluator answer with a simple hash or something?

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Partly I've just not gotten around to it, and partly I like the emails! Good idea though, there'll be more like that in future for sure.

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

    When you say subroutine, can you please do it in the voice of Majel Barrett Roddenberry. It just seems right.

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

    When I see Turing I click.

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

    Wow turing burying his savings and then not finding them, I don't know but there is something about that. I look it up and it is said to have been 90kg of silver, time to go do some treassure hunting

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

      Bletchley Park cannot be that far from you, you may be sitting on a silver mine

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

    Re 'bury / unbury'
    I think youre just reading too much into it. we have a mental model of call/return. burying/unburying is just different Call/return suggests that the calling procedure is the master, and the callee a slave, burying/unburying views in more as switching focus from one to the other. it isn't wrong, just unintuitive to our eyes.
    Thinking about it further, it may be more of a reference to the stack. You are in a sense burying the top of stack when you push another value.
    My favourite example of this type of thing is the Leeds Liverpool canal. the mile markers show you where you have come from, ie the side of the sign matches the direction that Leeds or Liverpool is. This is completely unintuitive to our eyes, but makes sense from a certain point of view

  • @sacrify3449
    @sacrify3449 2 місяці тому +1

    hello Kay, could you create a video about yourself? We would like to know more about you, as you are fascinating person

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

      Hi! :) The next one is actually a Q&A video so there'll be a little more about me in that one. If you want to ask any questions in particular you can email me at hello@0de5.net or leave a comment on the most recent video

  • @inerlogic
    @inerlogic Місяць тому +2

    All this talk of stacks and no mention of FORTH....

  • @rasherbilbo452
    @rasherbilbo452 2 місяці тому +1

    This dude's good.

  • @Ahoora-o2v
    @Ahoora-o2v 2 місяці тому

    Hello, I had a question, which language is the best for making very strong and low-level malware, is there anything that can reach C? How about Rust or Zig language, which one would you suggest for these tasks and bypassing system security issues?

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

    It's very popular to give Alan Turing a lot of undue credit. Maybe it's because of some wildly false movies. But most of what I see attributed to Turing is not his at all. This talk about recursion is interesting because it leaves out the actual creator, and ironically, Turing's Teacher Alonzo Church. He's the father of Recursion and Lamda calculus. 1936 I think we'll before any of the people who are given credit here. I also like to point out that both Church and Turing had ideas about how computing should be done. Alan, with the simple already obvious to everyone. Somehow, he is given credit for, with the help of Church. But also Church as the much more sophisticated one. The real British star of computing was Tommy Flowers, who gets no credit for anything. Both Flowers and Turing were badly treated by the government, but Turings was worse. However, recently, he has been given God-like status and gifted with the credit for all these things he didn't do. But this video was all about Alonzo Church. And yet his name didn't come up.

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Great comment - thank you. I'll be talking briefly about this in the next video where I'm going through some comments

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

      ​@@neoeno4242I quite like your videos. Crafting executables from actual binary. I have only played with assembly on the 6502.

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

    What an amazing video! Thank you 👍

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

    Thank you for this. It is an area of cs history that i didn't know. Would you be able to do a similar video on the haskel-style way of evaluating a program?

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Thanks for the comment! Good idea - I believe one day I will do this, though it might be a little while before I get to it :)