How the stack got stacked

Поделиться
HTML-код
  • Опубликовано: 8 ноя 2024

Комментарии • 107

  • @valentinussofa4135
    @valentinussofa4135 Месяц назад +52

    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 Месяц назад +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.

  • @shreyasdatar7251
    @shreyasdatar7251 Месяц назад +10

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

  • @cellularmitosis2
    @cellularmitosis2 Месяц назад +53

    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!

  • @klineaugust
    @klineaugust Месяц назад +8

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

  • @MarianoBustos-i1f
    @MarianoBustos-i1f Месяц назад +4

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

  • @drelephanttube
    @drelephanttube 14 дней назад

    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.

  • @MrKeebs
    @MrKeebs Месяц назад +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!

  • @vcv6560
    @vcv6560 9 дней назад

    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.

  • @dageekoftheweek
    @dageekoftheweek Месяц назад +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 :)

  • @phyphor
    @phyphor Месяц назад +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.

  • @juwulez
    @juwulez Месяц назад +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!!

  • @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.

  • @mikhailmikheev8043
    @mikhailmikheev8043 Месяц назад +2

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

  • @shubhxms
    @shubhxms Месяц назад +2

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

  • @moormoor4281
    @moormoor4281 Месяц назад +17

    Thanking you most kindly from England

    • @phyphor
      @phyphor Месяц назад +5

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

    • @billbond2682
      @billbond2682 Месяц назад +2

      @@phyphor 😂

  • @richardd9634
    @richardd9634 24 дня назад +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!!

  • @marcsh_dev
    @marcsh_dev Месяц назад +4

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

  • @moormoor4281
    @moormoor4281 Месяц назад +13

    From a radio amateur very interesting information

  • @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!

  • @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.

  • @Perezosos309
    @Perezosos309 27 дней назад

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

  • @kyouko5363
    @kyouko5363 Месяц назад

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

  • @damianpanek8667
    @damianpanek8667 Месяц назад +2

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

  • @apersonwhoskatesbad
    @apersonwhoskatesbad Месяц назад

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

  • @latch909
    @latch909 Месяц назад

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

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician Месяц назад +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

  • @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!

  • @jebuschrast
    @jebuschrast Месяц назад +2

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

  • @aliniaz6448
    @aliniaz6448 Месяц назад +2

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

  • @pdougall1
    @pdougall1 Месяц назад +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 😄

  • @AvanaVana
    @AvanaVana Месяц назад +1

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

  • @lumotroph
    @lumotroph Месяц назад +2

    This is absolutely brilliant.

  • @hosseinnajafi2181
    @hosseinnajafi2181 Месяц назад +2

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

  • @PyroWolf90
    @PyroWolf90 Месяц назад

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

  • @6AxisSage
    @6AxisSage Месяц назад

    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 😊

  • @Gersberms
    @Gersberms Месяц назад +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

  • @eterr9000
    @eterr9000 Месяц назад

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

  • @marcsh_dev
    @marcsh_dev Месяц назад +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 Месяц назад +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 15 дней назад +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.

  • @SanjayB-vy4gx
    @SanjayB-vy4gx Месяц назад +2

    We need more videos like this mam

  • @karlosfy
    @karlosfy Месяц назад

    Loved the video. Super well put together.

  • @alphabitserial
    @alphabitserial Месяц назад

    This is a wonderful video, thank you!

  • @realBenjaminFranklin_
    @realBenjaminFranklin_ Месяц назад +2

    Wow. Instant subscription. Well done!!

  • @rafaelomiya6048
    @rafaelomiya6048 19 дней назад

    captured me for good 40min. very good!

  • @bastabey2652
    @bastabey2652 Месяц назад

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

  • @h7qvi
    @h7qvi Месяц назад +3

    Lacky's back ❤

  • @flflflflflfl
    @flflflflflfl Месяц назад +1

    I love your channel, thank you!

  • @alfredooviedo9410
    @alfredooviedo9410 Месяц назад +2

    Love your videos!

  • @jespermikkelsen7553
    @jespermikkelsen7553 Месяц назад +8

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

  • @galactic_fx
    @galactic_fx Месяц назад +3

    amazing content ❤️🙏

  • @Notimetootime
    @Notimetootime Месяц назад +2

    you deserve more subs

  • @joebuydem
    @joebuydem Месяц назад +4

    cracked. as usual. good job.

  • @6AxisSage
    @6AxisSage Месяц назад +3

    I see Alan Turing and I clicks ❤

  • @Felixdaq
    @Felixdaq 19 дней назад

    I really like your videos!

  • @xbelanch
    @xbelanch Месяц назад

    kudos from Barcelona❤❤❤

  • @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?

  • @markteague8889
    @markteague8889 25 дней назад

    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.

  • @tgd2096
    @tgd2096 24 дня назад

    Great video

  • @nikbl4k
    @nikbl4k Месяц назад

    Hey, this is a hela interesting and informative vid

  • @pavalep
    @pavalep Месяц назад

    Thanks Kay :)

  • @pikuma
    @pikuma Месяц назад +1

    Very good content. Kudos. :)

  • @howwitty
    @howwitty Месяц назад +1

    That's great.

  • @R.Daneel
    @R.Daneel Месяц назад +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

  • @ashtonsimmonds7042
    @ashtonsimmonds7042 Месяц назад

    Interesting stuff

  • @satyarsh665
    @satyarsh665 Месяц назад +1

    Kay uploads, i click

  • @ProgrammingRainbow
    @ProgrammingRainbow Месяц назад

    Reverse Polish notation. Forth mentioned 🎉.

  • @Leetneetcode1729
    @Leetneetcode1729 Месяц назад

    you are modern day Turing

  • @pixelfingers
    @pixelfingers Месяц назад

    Amazing 😊👍

  • @onaecO
    @onaecO Месяц назад

    So cool

  • @emptycode1782
    @emptycode1782 Месяц назад

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

  • @cryplots2815
    @cryplots2815 Месяц назад +4

    😊

  • @b43xoit
    @b43xoit Месяц назад

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

  • @jenpsakiscousin4589
    @jenpsakiscousin4589 17 дней назад

    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.

  • @emilyyyylime-
    @emilyyyylime- Месяц назад

    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.

  • @moormoor4281
    @moormoor4281 Месяц назад +3

    Encryption on DMR is interesting subject

  • @AlanCanon2222
    @AlanCanon2222 25 дней назад

    When I see Turing I click.

  • @benholroyd5221
    @benholroyd5221 15 дней назад

    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

  • @ProgrammingRainbow
    @ProgrammingRainbow Месяц назад

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

  • @sacrify3449
    @sacrify3449 Месяц назад +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

  • @rasherbilbo452
    @rasherbilbo452 Месяц назад +1

    This dude's good.

  • @inerlogic
    @inerlogic Месяц назад +2

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

  • @Ahoora-o2v
    @Ahoora-o2v Месяц назад

    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 Месяц назад

    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.

  • @SweepAndZone
    @SweepAndZone Месяц назад +1

    Wow. What a brilliant mind.

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