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. 🙏
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.
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.
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.
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.
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.
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!!
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!
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.
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 :)
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!
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 😊
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.
{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
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
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.
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?
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.
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)?
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
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.
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
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
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?
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.
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?
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. 🙏
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.
"A sentence written by a 30 year old - Edsger Djikstra..." I audibly gasped. Love this format. Keep up the good work :))
That's what I was hoping for 🤣 Thanks!
When you roll 20’s on both technical depth AND relaxing ASMR voice
Yes, except you don't roll on the technical dept, you develop it by putting in lots of effort over the years!
I loveee the way you work through history and tangible examples at the same time, your presentation of the material is great!
stacks r so cool
Never cease to be amazed by the quality of the content and your superb pedagogic skills.
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.
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!
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.
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.
Thanks for the comment - this was really nice to read and I'm so glad to help in that :)
I'm really enjoying this series. It fits neatly in my head alongside the work people like Ben Eater are doing with creating hardware.
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!!
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.
Your content is phenomenal. Thank you very much, and please continue doing it!
amazing video! i love how you explained everything, the details ofc and the editing!
Thanking you most kindly from England
It's gone 3am! You should be asleep.
...
It's gone 3am! *I* should be asleep!
@@phyphor 😂
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!!
Great video, thanks!
Brings back memories of learning to program and parse on my little home computer
From a radio amateur very interesting information
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!
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.
Great video. Lots to understand but you make it comprehensible .
Will listen to it more than once 😊
6:30 - My brain immediately jumped to LISP when you said that. I didn't know there was so much more history behind this.
Beautiful work, as always. Thank you for your well prepared materials.
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 :)
Thanks so much - this was really nice to read! Glad the fun part comes across :)
Kay you're a legend this is great - thanks for linking all these resources
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
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!
fascinating analysis, great presentation! Thanks for the lesson!
looking forward to the next video
A subscriber can be earned by just one and first impressive video, which he did in my case ❤
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 😄
Wonderful material
Edit: and the presentation is equally wonderful, of course!
This is absolutely brilliant.
Thank you so much, you're the best in low level stuffs 🥳🥳🥳🥳🥳🥳🙏🙏
wow to stumble on to a creator like you is rare, I am glad I have, subscribing for more great work!
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 😊
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.
Thanks! It was Monaspace Radon but thanks for introducing me to a new font, I like it
wow this is so great.... and thank you for attaching resources and links to papers/books!
{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
It would be really nice to just think about algorithms caring only whether the output is correct, but the real world exists
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
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.
We need more videos like this mam
Loved the video. Super well put together.
This is a wonderful video, thank you!
Wow. Instant subscription. Well done!!
captured me for good 40min. very good!
that's an amazing quality content.. thank you very much for sharing
Lacky's back ❤
I love your channel, thank you!
Love your videos!
Matthew 19:30 But many who are first will be last, and many who are last will be first.
How? Use a stack
amazing content ❤️🙏
you deserve more subs
cracked. as usual. good job.
I see Alan Turing and I clicks ❤
I really like your videos!
kudos from Barcelona❤❤❤
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?
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.
Great video
Hey, this is a hela interesting and informative vid
Thanks Kay :)
Very good content. Kudos. :)
That's great.
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)?
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
Interesting stuff
Kay uploads, i click
Reverse Polish notation. Forth mentioned 🎉.
you are modern day Turing
Amazing 😊👍
So cool
great videos , is the font in the recursive subroutines monospace radon ?
thanks - yep!
😊
The CDC 6000-series computers had no address stack and did not support recursion.
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.
Why not implement some JavaScript checker for the RPN evaluator answer with a simple hash or something?
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.
Encryption on DMR is interesting subject
When I see Turing I click.
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
When you say subroutine, can you please do it in the voice of Majel Barrett Roddenberry. It just seems right.
hello Kay, could you create a video about yourself? We would like to know more about you, as you are fascinating person
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
This dude's good.
All this talk of stacks and no mention of FORTH....
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?
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.
Great comment - thank you. I'll be talking briefly about this in the next video where I'm going through some comments
@@neoeno4242I quite like your videos. Crafting executables from actual binary. I have only played with assembly on the 6502.
Wow. What a brilliant mind.
What an amazing video! Thank you 👍
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?
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 :)