"there are two types of programmers - those who have written a compiler and those who haven't" - Terry "The greatest programmer that's ever lived" Davis
15:53 There is nothing with RDI register, just (in Linux) the exit codes are specified in the range 0-255 (1 byte). The number 420 lost its most significant bytes and became 164.
Here is a visualization of what you are saying | 00000000 | 0000000 | 00000001 | 10100100 | rdi register (420) | | | | 10100100 | return syscall (164) The return syscall only views the first 8 bits of the 64 bit rdi register
`man 3 exit` states: "The exit() function causes normal process termination and the least significant byte of status (i.e., status & 0xFF) is returned to the parent." Turns out `420 & 0xFF == 164`.
I really appreciate that the sequences, where you are not quite sure are NOT cut out. It's really helpful, to see the thought process in a specific language / context, when you are not sure what to do. For example, which docs to turn to, or how to use intellisense etc. to find the information one needs to solve the problem. Seeing just some finished code explained is not nearly as helpful as this format in my opinion. Very watchable. Thank you!
Mistakes and forgetting easy things. Something I tell newbies is that you don't need to memorise content but rather know that it exists and understand it when you see it again. E.g. what an entry point is, not the exact syntax.
@@doresearchstopwhining "a little" is very important here, I kind of like the bare-bones explanation. there are definitely some parts that are unnecessary, and maybe some visualization..s? i don't know. but i hope this guy doesn't become into an over-stimulating mess.
You make the learning so much more approachable for people with no previous understanding of compilers or asm. This style of teaching where you build a project live while explaining why you make that decision is so comprehensible. Thank you
I came across this and was compelled to sit all the way through it. I love your delivery, your voice and that you haven't edited anything, leaving in your mistakes. Thank you
As a self taught software engineer that loves going deep into all the layers this is great introduction! Currently Im building VM's for Chip8 and Gameboy, and writing VMs REALLY helped me to understand how a computer works from a binary level. Feels really genuine that you dont know everything and use Google, really shows how the day to day of a software engineer is.
It's insane how well you explained things in this video. Not only did you successfully explain basic Assembly, you also made me understand all the premises of compiling. I also like the human aspect of this video, of making mistakes and fixing them live. Thanks for this.
One underated aspect of this kind of videos is that making mistakes is actually good to keep in the video instead of editing it out. Really makes it engaging and relatable as if we're doing it together. Great content !
This is unironically the exact type of video I wanted to see about this topic. A "Let's build X" from start to finish with really great commentary and explanation on the side. Keep it up man
I whole-heartedly appreciate how you approach communication, have subscribed, and am looking forward to both learning from and seeing the growth of this channel. Stay grounded!
Just stumbled upon this video thanks to RU-vid's recommendations, and I'm already amazed by the content. Haven't had a chance to watch it all the way through yet, but it's clear that a subscription is well-deserved. Can't wait to dive into the rest of the video!
first video ive seen of yours and i love that you go into detail and try to explain stuff the viewer may not understand, it really helped me understand and enjoy the video more. keep it up!
I love this! I started a project similar to this a while back but never got anywhere. Your ability to explain something is incredible! Can’t wait to see how this goes.
Wow, this video is incredible! The way you code is truly impressive. Your approach to understanding how things work reminds me of myself. I often worry about forgetting syntax, but you've reassured me that it's normal to forget syntax.
No cap, how do I donate? Never even considered donating to a RU-vidr before but this, but this is the content that’s enjoyable. Not the average hour long video with cuts and edits everywhere, because every time the person has to look something up it’s all secretive and never seen. I got a lot of respect for someone that is probably a little bit nervous because they may be using a language they’re not be 110% comfortable or familiar with, but is well and truly comfortable enough to show what’s going on in their head as they walk through the project and show all the pivots and everything that’s happening. I fucking love it, I got a lot of respect for it and I want to support this kind of “free thought with a goal” style RU-vid videos. If you’ve got some way to accept donations, let me know 🙌💪
This was so helpful to watch. Ty for not cutting out the errors etc. Seeing how you thought through and resolved them really made this much more educational.
Oh, it's nice to see someone else making long-form coding videos like this. There are far too few people making this sort of content. I really hope you continue.
This is a great way of teaching when you are showing your unscripted research, googling, what goes through your head, making and fixing mistakes, starting with a naïve approach, reinventing bicycles, etc. This teaches much more about the subject than just giving a final polished solution.
Thank you so much for doing something actually interesting, as opposed to mind numbing web dev tutorials. I’m a mid level programmer by day and looking to do more low level stuff as a hobby. I really liked that you didn’t cut the video, and did some of your research on the fly. It was like hanging out with a buddy. Fun video!
Thx for making this video, even tho you struggle a lot it just makes the video way more relatable and enjoyable imo. It just shows what programming REALLY is sometimes, that it's not this thing you do sometimes where you write perfect C++ or whatever in like a 20 minute video where it just makes you feel like you are not good enough because you can't do it like that.
Sir absolute solid teaching style. Really enjoyable to watch and follow along. Perfect pacing, just the right amount of wit and crisp information. This ist the first video I watched from you, and you already earned a new subscriber. Keep up the amazing work!
i love that this guy simply woke up and decided he wanted to teach us to create a compiler without even researching or scripting the videos, just pure skills and remembering the syntax on the go. thanks for the content!
Dude, this was amazing. Thank you so much. To be honest, I had fallen asleep on the sofa and woke up at 4AM. I put this video on almost at random to go to sleep horizontally on an actual bed. I thought "I hope this dude isn't really annoying" but I ended up staying up to watch it. If you did this basically off the cuff, it's brilliant. If not, it's brilliant. I am *super* excited to watch the next parts. You're helping answer a question I've had for years and doing it wonderfully. Have a great weekend!
You've made me understand and connect the dots about how compiling and linking works more than my Compiler Design Course at University which I studied for 6 months 😭
the content is enjoyable thank you man I checked your profile and I think that you have a bright future, keep it up ( I finished all straight to the end )
I really like how you explain things. No need to make anything look more complicated than it is. For learning, it much more efficient to focus relevant parts, not nyances.
It just came up on my feed and I could not resist. This is what I am talking about! This is the engine room of the ocean liner (metaphorically speaking) Great presentation.
Hey Pixeled, thank you for this video about Compilers. At around 17:00 when dealing with your program exit code, you put 420 into rdi and get 164 in return. That is totally normal and It has nothing to do with registers, that is just how exit(2) works, the exit code is masked with 0xFF so the exit value cannot exceed 255 : " The value status & 0xFF is returned to the parent process as the process's exit status". Cheers ! o/
I've been thinking of making a big project like a basic game engine without any libraries but I'm not really out of my comfort zone yet lol. This video is great and I've seen your whole channel is pretty good too.
I've actually done that too, if you look on my GitHub for "Voxelverse", it's a Minecraft clone written in c++ that uses vulkan directly without any game engine/framework. I might make a video on it in the future