Creating a window - Software from Scratch (Ep. 1)

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 พ.ย. 2024

ความคิดเห็น • 583

  • @Muukid
    @Muukid  หลายเดือนก่อน +241

    OK I know this is cliche but this video is blowing up hella fast, like WAY faster than I was anticipating.
    Yes, I am working on further videos like this (next episode will have graphics :P), and questions about that video will naturally be answered by the video itself. May take a while to produce since I'm kinda busy irl at the moment, but I'm hoping that will clear up within the next few weeks and I can really get on it. I might release a video or two not focused on this series in the meantime, but I wouldn't bet on it
    There's plenty of stuff about my editing style and speaking that I intend to improve in the next video. For example, I think I talk WAY too fast on some of this stuff; when I was editing it, I struggled to keep up with what I was saying a lot of the time. So, stuff like that will hopefully be hammered out over time
    Reading these comments truly makes me aware of how much of a newbie I am in Win32 lol. I've gotten plenty of insight as to what things I didn't understand or things I did wrong, and at some point I will likely be coming back to muCOSA for Linux support, so I'll take all your feedback into consideration when doing that and fix up a lot of the Win32 code as well. I think the Win32 code can be vastly improved, and you all have given some extremely helpful pointers (hehe) in that direction. I'll try and address as many tips and suggestions within these comments in the future, and I'll prolly include your comments too when talking about it if that's an incentive lol
    Thank you for all of the feedback and support!!
    Also the video is in 5:4 because I code with a 5:4 Dell monitor because it's funny

    • @dothex
      @dothex หลายเดือนก่อน +4

      Have you finally learned about WSL's existence yet?
      That's the real question.

    • @MrLoghead84
      @MrLoghead84 หลายเดือนก่อน +5

      Loved the video and the editing is great. Well paced, easy to listen and watch, just all around great job! Can't wait for the next episode

    • @vandershraaf
      @vandershraaf หลายเดือนก่อน +1

      Haven't finished episode 1 yet but I'm now looking forward to next episodes. Please

    • @s.p.rsuperman407
      @s.p.rsuperman407 หลายเดือนก่อน +15

      the editing style is why this blew up bro
      please dont change it and become a boring average yt channel that has 10000 blender graphics,
      this feels like old yt, this is art.

    • @christianbouwense4702
      @christianbouwense4702 หลายเดือนก่อน +1

      You reminded me about my love of writing stuff in C and I'm back to doing what you've basically done in this video. Thank you so much and please keep making videos!

  • @uk4558
    @uk4558 หลายเดือนก่อน +544

    This really is a legendary algorithm pull
    Not every day the algorithm gives me an amazing video from a small channel

    • @flooku987
      @flooku987 หลายเดือนก่อน +6

      good shot m8

    • @trinity6880
      @trinity6880 หลายเดือนก่อน +2

      real

    • @MIKAEL212345
      @MIKAEL212345 หลายเดือนก่อน +4

      for the all the shit youtube gets, it still has BY FAR the best algorithm at finding niche stuff that is tailor made for your interest

    • @CypherPrubru-yg9wh
      @CypherPrubru-yg9wh 6 ชั่วโมงที่ผ่านมา

      @@MIKAEL212345 true, it's a hit or miss algorithm but when it hits it HITS

  • @rickdeckard4735
    @rickdeckard4735 หลายเดือนก่อน +284

    You say from scratch but I don't see you harvesting your own silicon

    • @25RAD
      @25RAD 25 วันที่ผ่านมา +20

      I'd argue about harvesting the "ready to use" siicon. The proper way would be to collect pure energy and turn it into atoms of silicon.

    • @אקרמיצאלח
      @אקרמיצאלח 17 วันที่ผ่านมา

      Amateur,
      Sure using already made energy is fine for most use cases, but real low level chads create their own energy​@@25RAD

    • @iamtimsson
      @iamtimsson 16 วันที่ผ่านมา +9

      IM INDEPENDENT
      I ENGINEER AND REFINE AND RESOURCE AND PLAN AND PREPARE AND TRANSPORT THE GOODS AND PATENT AND I MAKE LANGUAGE AND
      IM INDEPENDENT INDONT NEED NO ONE

    • @rickdeckard4735
      @rickdeckard4735 16 วันที่ผ่านมา +3

      @@iamtimsson Based

    • @morezco
      @morezco 16 วันที่ผ่านมา +1

      @@iamtimssonlol good point

  • @tusharsnx
    @tusharsnx หลายเดือนก่อน +329

    Finally someone explaining the struggle of first time Windows developer.

    • @monad_tcp
      @monad_tcp หลายเดือนก่อน +27

      everyone should create a Windows Window without any help in pure C just once to know what it entails.

    • @AK-vx4dy
      @AK-vx4dy หลายเดือนก่อน +6

      Is much easier on Linux directly using X or Wayland ?

    • @notrealaz
      @notrealaz 29 วันที่ผ่านมา

      @@AK-vx4dy with X its literally so easy its way easier than the win32 api

    • @jeremiasvillagran4858
      @jeremiasvillagran4858 24 วันที่ผ่านมา

      ​@@monad_tcpI always did that because i didnt knew how to install wxwidgets 😢

    • @AK-vx4dy
      @AK-vx4dy 17 วันที่ผ่านมา +1

      @@ktxed For windows we also has libraries to ease this, that's why I asked how it looks if I try to go raw on Linux

  • @DotNetDemon83
    @DotNetDemon83 หลายเดือนก่อน +165

    Senior engineer here. This is a great learning exercise that I encourage all engineers to try (e.g., writing a platform or framework, etc). Keep up the great work Muukid

    • @rallokkcaz
      @rallokkcaz 29 วันที่ผ่านมา +8

      Senior engineer here as well, this is such an awesome video displaying all the pitfalls and also best practices at the same time. I'd suggest this to anybody taking their CS/self taught C programming skills to the next level.

    • @suvetar
      @suvetar 29 วันที่ผ่านมา +1

      Absolutely! It's fundamentally important to get in touch with the fundamentals, and a great lesson in humility and good library writing!
      It's amazing what you gotta keep on top of to get anykind of coherence with a suitable complex target ... guess that explains Win32 🤯🤣

  • @FiveGamerNauts
    @FiveGamerNauts หลายเดือนก่อน +266

    I thoroughly enjoyed the 4:3 aspect ratio of this video. 10/10

    • @joeeeyyyyyy
      @joeeeyyyyyy หลายเดือนก่อน +30

      4:3 is gods chosen ratio.
      16:9 got me using unreal numbers

    • @mbakheet
      @mbakheet หลายเดือนก่อน +6

      100% I enjoyed with multiple repeats to reflect in my trials and errors on Windows system programming. Windows sucks and it needs to be replaced with MuOS to have the full benefits and the potential of all the advancement in hardware during the last 10 to 20 years of developments..

    • @Vexxter
      @Vexxter หลายเดือนก่อน +4

      Actually this video is in 5:4 aspect ratio

    • @cerulity32k
      @cerulity32k 29 วันที่ผ่านมา +2

      81:80 best ratio, my monitor is straight up syntonic

    • @theredbluecube2
      @theredbluecube2 17 วันที่ผ่านมา +1

      4:3 ratio best ratio
      You can't change my mind

  • @mattymerr701
    @mattymerr701 หลายเดือนก่อน +71

    Raymond Chen is a literal G.O.A.T. engineer. He has made so many insanely useful blog posts, as well as headed really major things at MS.
    If youve ever used compatability mode with an old program, he is one of the people you have to thank for it

    • @twobob
      @twobob หลายเดือนก่อน +5

      he is the ONLY mail that gets its own folder instead of being redirected to spamola
      "Chen's Rule" Rules.

    • @michaelcobb1024
      @michaelcobb1024 23 วันที่ผ่านมา +2

      Watching this video I was like, “wait, I recognise this guy!” I know I must have found some of his blog posts and remember them being exceptionally good! A huge amount of detail and explanation. What a legend

  • @FintMC
    @FintMC หลายเดือนก่อน +25

    i am so glad i had the attention span to make it through a one hour video without distractions, this video quality is great and i cant wait to see more on this topic

  • @lpsinko9705
    @lpsinko9705 29 วันที่ผ่านมา +19

    the youtube algorithm came in clutch with this one , one of my top c related videos i watched this year good job

  • @codingwithjamal
    @codingwithjamal หลายเดือนก่อน +35

    here before the primeagen reacts

  • @rallokkcaz
    @rallokkcaz 29 วันที่ผ่านมา +12

    This is a super educational video for people trying to learn real world C programming and I wish I had it 14 years ago. I learned all of this like you, but through a much longer trial and error time frame as my focus was building websites to make money.

  • @woddenhorse
    @woddenhorse หลายเดือนก่อน +38

    Half way through your video and I am already in love with your channel.
    Keep it up.
    I have a low attention span and and there are very few youtubers whose long videos I watch start to end without putting it in watch later!!!
    Kudos Man keep it up.

    • @woddenhorse
      @woddenhorse หลายเดือนก่อน +3

      Also, I'd love to see a rant video on Windows!!

    • @mbakheet
      @mbakheet หลายเดือนก่อน +2

      ​@@woddenhorse Yes, Please. We would love have someone to reflect our pain with Windows' low level handling of the straight forward system things, such as required compatibility with the older implementation mistakes on the architecture being used back then, and whenever there is a conflict with very simple common sense things against what is currently being shipped with Windows OS, or even having the best practices on basic programming and developing of simple apps that deal with user experience, giving the advancement the current HW specifications went to waste.
      Feeling that you are not alone is a big thing to comfort you in your miserable workdays trying to fix Window OS stupidity for Microsoft.

  • @carloselfrancos7205
    @carloselfrancos7205 20 วันที่ผ่านมา +10

    New low-level guy that does everything from scratch just dropped 🔥🔥
    Really cool video! Take care

  • @emptycode1782
    @emptycode1782 หลายเดือนก่อน +145

    Keep posting with the same quality , this channel will explode

    • @CatNjoyer100
      @CatNjoyer100 หลายเดือนก่อน +6

      BOOM

    • @shreyash1
      @shreyash1 หลายเดือนก่อน +4

      some men just want to watch youtube servers burn

  • @dwi-tyo
    @dwi-tyo หลายเดือนก่อน +38

    "What a treat! This must be one of, if not the best programming videos out there. It explains the pitfalls of the language and presents a viable solution for them. It doesn't contrive abstract and ideal problems to be solved, instead focusing on real-world problems and how to approach them with a functional product in mind. Though not a tutorial, this is better than 90% of the tutorials for people who have learnt the syntax of a language, even if they don't fully understand the concepts. Programming is like riding a bike: you can study every aspect of it and will still know nothing until you're doing it in practice-be it riding your bike around your area or, in the case of programming, solving real-world problems in a real-world project environment. Congratulations on the masterpiece! Promptly saved it and am awaiting with bated breath for the next installments.

    • @rallokkcaz
      @rallokkcaz 29 วันที่ผ่านมา +3

      Most of the videos about C on YT are "INTERNAL INTEGAR POINTAR" style and completely useless to people learning the language correctly.

  • @neonblue289
    @neonblue289 หลายเดือนก่อน +19

    Wasn't expecting to stick around the whole video but here I am. Good content.

  • @jacobmccollum1206
    @jacobmccollum1206 หลายเดือนก่อน +11

    I've always wanted to spend the time to do something like this, but have never been able to justify the time investment. Was really gratifying to see someone do it and create such a comprehensive video about the process.

  • @maybetomorrow-e6r
    @maybetomorrow-e6r 2 วันที่ผ่านมา

    This tutorial is A++ in addressing C, C+?, C++? and technology in general. Not my strength, but your outstanding communication and organized, creative teaching method awoke my interest and made it seem possible that I too could learn something new and expand my world to more than just opening e-mails, texting and scrolling. Your passion fuels my interest. Need to learn more and awaiting the next chapters. Continuing one chapter at a time is a great help.

  • @actually_it_is_rocket_science
    @actually_it_is_rocket_science หลายเดือนก่อน +9

    As a c dev i give you kudos. Im not allowed to use libs for my work so its my norm but in the world of js learning this is pretty awesome

  • @mintsaucemilitia
    @mintsaucemilitia 15 วันที่ผ่านมา +2

    Thank you TH-cam algorithm gods. This series is gonna be legendary.

  • @sedouri
    @sedouri หลายเดือนก่อน +44

    Win32 allows you to assign arbitrary data pointers to windows using SetPropW that you can later retrieve using GetPropW. This would allow to you associate a muCOSAW32_Window pointer with a window and later retrieve it from the HWND value in your window procedure, rather than having to build a thread safe global value map between the two values yourself.

    • @jgcodes2020
      @jgcodes2020 หลายเดือนก่อน +4

      While that does work on Windows, it won't work on X11 since X11 doesn't have a mechanism for that (AFAIK)

    • @SillyOrb
      @SillyOrb หลายเดือนก่อน +10

      @@jgcodes2020 Given that it's internal to the Win32 API portion, the feature set of other window systems should have no influence on it.

    • @sedouri
      @sedouri หลายเดือนก่อน

      @@jgcodes2020I’ve never programmed for X11, so this may not be completely accurate, but some quick Googling suggests a combination of XInternAtom, XChangeProperty, and XGetWindowProperty are rough equivalents in X11.

    • @michaelcobb1024
      @michaelcobb1024 23 วันที่ผ่านมา +1

      I just made a comment asking exactly this. I should’ve read a few more comments 😅 I think this approach is fairly common, for example I know GLib lets you set a user pointer attached to its data structures that you can then use to pass additional data to callbacks. this is definitely the way it should be implemented, at least in my opinion

  • @tanvirhasanakash
    @tanvirhasanakash หลายเดือนก่อน +6

    Please don't stop uploading. This is a banger of a video. I want moreee!!!

  • @gataslice7663
    @gataslice7663 หลายเดือนก่อน +4

    Watched this with my wife (both autistic and programmers) enjoyed it a lot. Keep at it, youtuber man!

  • @EmilMacko
    @EmilMacko หลายเดือนก่อน +4

    Having worked with OpenGL in C++, your implementation and explanation of the context system (and the global context) was SUPER insightful! Massive thanks and I dearly hope this series blows up and I cant wait for the next part!

  • @NikhilS-1
    @NikhilS-1 15 วันที่ผ่านมา +4

    I was thinking of creating os from scratch and when I opened the wikidev it gave me reality check 😂😂
    They clearly mentioned that if you don't have decades of experience then just give up!😂

  • @LBCreateSpace
    @LBCreateSpace หลายเดือนก่อน +2

    I’ve been working my way through ‘The C Programming Language’ book (reading and doing the exercises) and this video helps to put it all together. You’re right! You do learn so much more having to do it all on a lower level.

  • @Marcos-nz8pe
    @Marcos-nz8pe หลายเดือนก่อน +14

    Algorithm made brick by brick. Amazing video!!🥳

  • @Hellbending
    @Hellbending หลายเดือนก่อน +2

    I haven’t got epilepsy but man I gotta give you props for providing people that do an ACTUAL way to watch your content and hide it in the window that they might have problems during. Huge f props to you brother 🫡

  • @ismailesadklc3874
    @ismailesadklc3874 หลายเดือนก่อน +6

    please please please please continue this series. you are a legend.

  • @carti7152
    @carti7152 10 วันที่ผ่านมา

    youre a soldier for this. moved away from c for everything except for the things that require it

  • @miffi411
    @miffi411 21 วันที่ผ่านมา +1

    Just wanna say that this has been one of the most entertaining long form coding videos I've watched. I loved you highlighting all the little things you learnt about the system gradually and your thought process in each step. I'll be eagerly waiting for the next episode!

  • @hexstudios
    @hexstudios หลายเดือนก่อน +3

    Seldom I watch a full hour long video, but you kept my attention and interest the whole time, so A++ video in my book. You skills are insane and you somehow make this super low level stuff make sense. I look forward to the rest of these videos!

  • @workethicrecords5901
    @workethicrecords5901 หลายเดือนก่อน +13

    47:24 "About as low overhead as you can get"
    One way to go even lower, is to use a bit map instead of an array of bools.
    Bools are always going to use at least 8 bits of data.
    So in this big map of all the keys, that means ~83 bytes, depending on all the supported keyboard buttons.
    But, of those 83 bytes, 72.5 of them will always be 0, since you only care about 83 bits.
    This could be a bit packed 11 byte array, or 6 uint16s, of you want to keep even numbers.
    Then use some shifting and masking macros to get back your keys.
    Now, there is probably a tradeoff here between memory and performance, maybe those shifting and masking operations take more time than a memory access, so you don't want to make that tradeoff on a system that most likely has GB of memory available. But, still a fun thing to think about in your architecture choices.

  • @corbendasquid8496
    @corbendasquid8496 18 วันที่ผ่านมา +1

    This is awesome. I have always wanted technical and entertaining programming videos. Super nice stuff man

  • @petevenuti7355
    @petevenuti7355 23 วันที่ผ่านมา +2

    This is what I call staring with the symple stuff. (I'm weird)
    I subscribed and clicked the Bell immediately upon hearing the intro as I've never heard of anybody else willing to even try this!

  • @charismaticcatholic1
    @charismaticcatholic1 12 วันที่ผ่านมา

    The algorithm strikes again! I will say the most underrated feature of this video, ironically, is the random robot voice correcting narration mistakes. Well done for making it an amusing, memerrific voice to regrab attention from my ADHD ears.
    Additionally this gives me flashbacks of teaching C at the college level and of ALL the MANY warnings I gave students about pointers that could be null, letting one resource be accessed in multithreaded applications, etc. Wish I'd had your video back then...

  • @marius.ballot
    @marius.ballot หลายเดือนก่อน +3

    massive respect wether this is your first video or not, DAYUM that shits sick

  • @gabiiiMa
    @gabiiiMa 25 วันที่ผ่านมา +1

    keep doing this please,this is the type of content that I like and people need in this days

  • @LetsSmiley
    @LetsSmiley หลายเดือนก่อน +56

    You are the Acerola of low-level C programming.

    • @twobob
      @twobob หลายเดือนก่อน +3

      lol. he even co-opted the thumbs up candy man.

    • @brdane
      @brdane หลายเดือนก่อน +3

      I read that as "areola" at first.

    • @ipizza9941
      @ipizza9941 21 วันที่ผ่านมา +1

      Acerola has the GOAT status in graphics programming. Muukid has just started, he will surely become one of the GOATs.

    • @matthijsreus9656
      @matthijsreus9656 15 วันที่ผ่านมา

      But Acerolaaa...

  • @maddyv5948
    @maddyv5948 หลายเดือนก่อน +2

    This is amazing! I'm surprised it's the only video on this channel. Subscribed and waiting for more. 🥰🥰🥰

  • @SillyOrb
    @SillyOrb หลายเดือนก่อน +6

    This is fun, once you get past the annoying boilerplate and the even more annoying mechanisms of the windowing system. I encourage you to also show some mistakes, because people keep making them, but they are rarely shown and explained, as you did with the window class.
    Speaking of which: You should make sure that you are only using one set of APIs when it comes to text: either *W or *A. You show multiple times around 36:00 that PeekMessageA is used. If I'm not mistaken, the kernel uses UTF-16 exclusively, so the *A APIs might cause overhead (I haven't checked that, but it should not matter, as *W has been the standard for decades now).
    That said, I learned something (I wasn't aware of ImageBase, must have skipped that article on The Old New Thing), even though I've been using Win32 for about 25 years. Thanks. 😄
    Cheers.

  • @bradley1995
    @bradley1995 หลายเดือนก่อน +4

    Bro! I absolutely love it! Straight up making muC++ into a safe wrapper. I truly hope this project takes off! You have a cheerful tone in your voice, and seem excited to teach us about the topic. The editing isnt insane but it does a great job keeping me very interested. I think you did great overall! I subbed and look forward to your future content!

  • @acasualviewer5861
    @acasualviewer5861 หลายเดือนก่อน +6

    Pure Win32 is how we did things in the 90s. There's plenty of good documentation. Charles Petzold's book on Windows Programming is a classic. (Though probably outdated for today's 64bit Windows)
    The excess of boilerplate code in C illustrates why at the time C++ became popular and frameworks such as MFC were the preferred way to make windows programs.
    Now pause and imagine how hard it was for novice college students to pick all this up on our own just from books. Now you know why the senior programmers in your midst seem to know it all. They probably did Assembler in High School, but the hardest thing for them to pick up was learning how to use other people's APIs. In the 80s you just whipped up all your own code. Reusing code was not a thing. But when it was it involved interrupts.

  • @mhmtkrnlk
    @mhmtkrnlk หลายเดือนก่อน +16

    Awesome cant wait for graphics episode

  • @alexiscomix
    @alexiscomix หลายเดือนก่อน +82

    was about to go to sleep but im a cs student i can watch this and get 30 minutes of sleep and drink a monster and be absolutely fine
    update: missed all my lectures but it was okay

    • @CrinkleFox
      @CrinkleFox หลายเดือนก่อน +1

      sound just like me XD

    • @bradley1995
      @bradley1995 หลายเดือนก่อน +1

      😂😂 a few pees from the same pod!

    • @brainwashalpha5495
      @brainwashalpha5495 หลายเดือนก่อน +1

      damn. i skipped all my classes to watch c++ videos yesterday. 😂😂

    • @mbakheet
      @mbakheet หลายเดือนก่อน +1

      If you encounter Win32 or MFC, you would have nightmares about your career. Trust me. :)

    • @alexiscomix
      @alexiscomix หลายเดือนก่อน

      @@mbakheet tried using win32 once and i gained 6 diseases

  • @procrvstinvtion8479
    @procrvstinvtion8479 หลายเดือนก่อน +4

    Wow, excellently edited, funny, well explained, long form, and interesting topic to boot. Very awesome video, subbed.

  • @sunshine19088
    @sunshine19088 หลายเดือนก่อน +4

    thank you TH-cam algorithm, absolute masterpiece

  • @Diabl0pl
    @Diabl0pl 14 วันที่ผ่านมา +2

    Instantly subbed, can't wait for more.

  • @smooll_d
    @smooll_d หลายเดือนก่อน +2

    Now, this is quality content. Funny, informative, I love the style of the video, the 5:4 ratio is a great touch. Please keep it up, don't change the style, I love it.
    I don't usually subscribe to channels, even if I enjoy watching their videos but this is different. Don't stop, can't wait for the next video.

  • @madfangkills
    @madfangkills 11 วันที่ผ่านมา

    What an incredible autobiography on the descent into madness

  • @natsuhiboshi7161
    @natsuhiboshi7161 18 วันที่ผ่านมา +1

    Fun video!
    I exactly knew what was gonna happen when you said you wanted to make the window draggable :D
    Keep it up!

  • @reddz_
    @reddz_ 28 วันที่ผ่านมา +2

    legendary algorithm pull

  • @nito8066
    @nito8066 29 วันที่ผ่านมา +1

    congrats you get the 1080p award for the quality of your videos

  • @ARKSYN
    @ARKSYN 15 วันที่ผ่านมา +1

    Feels like God handed me this video, exactly what I needed

  • @willianvinagre3338
    @willianvinagre3338 หลายเดือนก่อน +6

    my man just uploaded one of the greatest programming video of all time as the first ever video of the channel. awesome video, can't wait for the next video(s)!

  • @Nuwa-6X
    @Nuwa-6X 10 วันที่ผ่านมา

    genuinely one of the best videos i've seen on youtube about programming, great work. can't wait for the next upload :)

  • @andythedishwasher1117
    @andythedishwasher1117 8 วันที่ผ่านมา

    I love your goals! Enshittification has polluted the way we learn to build software these days. I've had to dig past a lot of idiotic frameworks to find sane expressions of the basic functionality we use every day, and even those frequently break or lose important features due to increasingly idiotic decisions across their dependency chains. I definitely would love to work toward a dependency-free stack to the extent that it's practical to pursue. Excellent work.

  • @joiscode3832
    @joiscode3832 หลายเดือนก่อน +1

    Hardest way only 💪. This channel has the potential to blow up like jdh, my personal project right now(and for the last year) is building a basic kernel and operating system in c++

  • @shiiroitori5403
    @shiiroitori5403 หลายเดือนก่อน +2

    Unbelievably well made video, I'm extremely excited to see what you develop further! Great job!

  • @eccodreams
    @eccodreams 25 วันที่ผ่านมา +2

    Super interested in where you go with this. I'm in a programming college course now and watching this is oddly soothing while I burn in the dumpster fire that is the Canadian education system.

  • @alexsmart2612
    @alexsmart2612 หลายเดือนก่อน +2

    This reminded me a lot of Emacs's source code. The graphics system in emacs is implemented in quite a similar way, which is how it is able to run on both windows and linux.

  • @AftercastGames
    @AftercastGames หลายเดือนก่อน +4

    Win32 is too complicated, so I’m going to create my own wrapper for it.”
    5 mins later…
    “Sorry this library I wrote is so complicated…”
    Good stuff 👍😏
    By the way, if it helps, any time you see the word Handle, or a type that starts with H, you can just think of it as an ID. HWND = Window ID. HDC = Device ID.

  • @phoenixxofficial
    @phoenixxofficial หลายเดือนก่อน +2

    Well structured, full of information and funny! Good shi man, thanks for the content

  • @Benb253
    @Benb253 28 วันที่ผ่านมา +2

    Amazing video. I will be watching the whole series. Keep it up! 🎉

  • @blackcanaryhorcrux7962
    @blackcanaryhorcrux7962 13 วันที่ผ่านมา +1

    First time watching your channel. I love how your camera is just different versions of the same cat image

  • @christianbouwense4702
    @christianbouwense4702 หลายเดือนก่อน +1

    I started doing something similar last year, super happy to see others do it too!

  • @bagofmanytricks
    @bagofmanytricks หลายเดือนก่อน +14

    When making a Window you should never enforce a position. You can save the client position and use it on open to restore last position it had when closed, hopefully with a switch to turn that on if the user actually wants it.
    This means you never need to know the actual position of the window and if the user wants half the context be outside the monitor or whatever it's totally valid.
    When forcing any kind positioning or size you're going to fight peoples own automations, workflows, accessibility features and window handlings.
    If you make a "borderless fullscreen" window, for example, you don't have any native decorations and the client match the actual top left of your context (as long as you haven't set it to something else), and top left will always be the top left coordinates of the monitor the window is on, and the size the same as that monitor.
    Another important aspect of moving/sizing manipulation beyong monitors is that your own window will be hidden and stuff if it's not on the current desktop.

    • @bagofmanytricks
      @bagofmanytricks หลายเดือนก่อน +2

      If I remember correctly, you shouldn't directly point one of the builtin cursor. You should copy the builtin cursors data to the current cursor. I suspect that what Windows does is that it correctly sets the cursor back to the current cursor, which isn't the cursor that you want to replace it with.

  • @IsaacHisey
    @IsaacHisey หลายเดือนก่อน +3

    Fantastic watch! This is the first time I've ever used the "bell icon" and set it to all. Looking forward to more. Regardless though, excellent job!

  • @demidaniel9253
    @demidaniel9253 15 วันที่ผ่านมา +2

    Hilarious and informative, subscribed and looking forward to more!

  • @jazzochannel
    @jazzochannel 15 วันที่ผ่านมา +1

    What a grand and intoxicating innocence.
    -- Dagoth Ur

  • @DatKidDude1
    @DatKidDude1 หลายเดือนก่อน +3

    I love finding channels like these. Insta sub.

  • @rodrigodh1
    @rodrigodh1 หลายเดือนก่อน +13

    Your channel is going to explode

  • @bhanusharma2363
    @bhanusharma2363 3 วันที่ผ่านมา

    Is it one of those legendary TH-cam algorithm encounters where we come across some highly valuable stuff.

  • @mbakheet
    @mbakheet หลายเดือนก่อน +1

    Wonderful land of OS, future OS is about to be built. keep going!

  • @jgcodes2020
    @jgcodes2020 หลายเดือนก่อน +2

    From an experienced C++ programmer: the include guard is actually _very_ important. If 2 separate other headers include your header, then you have a 3rd header which includes both of those 2, you'd be pasting 2 copies of the same definitions into one file, and C++ will flip out on you for it.

  • @nikkehtine
    @nikkehtine หลายเดือนก่อน +2

    >he pronounces clang just like "clank"
    instantly subscribed

  • @scoopp3902
    @scoopp3902 29 วันที่ผ่านมา +1

    What a fantastic video.
    From one windows api survivor to another, great job!

  • @nathanhampton8049
    @nathanhampton8049 หลายเดือนก่อน +5

    I think as far as Linux compatibly check out using Windows Subsystem for Linux (WSL), should be a lighter alternative to a full VM and I think it's a lot easy to work with directly on windows. Also Fantastic video! I can't wait to see where this series goes

    • @newlochte
      @newlochte หลายเดือนก่อน +1

      I was literally scrolling to see if someone suggested that, like mate just use wsl it's all you need for Linux and Windows

    • @rnts08
      @rnts08 หลายเดือนก่อน +1

      Maybe little bro is running low ram or disk. It's not free even if Wsl is deeply integrated into wintendo now. 😅

    • @shmunkyman33
      @shmunkyman33 หลายเดือนก่อน +1

      I believe it still ultimately depends on Windows windowing system, so it wouldn't really be very good for thorough or accurate testing, especially if he has decided a VM isn't going to be accurate enough

  • @magixshiz2543
    @magixshiz2543 หลายเดือนก่อน +1

    I wouldn’t really consider myself a programmer (I mess around in godot’s gdscript or python to make games every once in awhile, but I’ve always been more into the game design side of it) so I don’t really know why TH-cam recommended me this, but I’m glad it did. The large majority of it went straight over my head, but I still really enjoyed it!

  • @AlguienMas555
    @AlguienMas555 หลายเดือนก่อน +217

    Jajajaja😂😂😂. I Believed that i was the only one that hates the way win32 API is implemented and how the f*cking documentation don't help to much.

    • @artipeo816
      @artipeo816 หลายเดือนก่อน +4

      Fr

    • @cybernite99
      @cybernite99 หลายเดือนก่อน +11

      Win api is the devil

    • @glytchd
      @glytchd หลายเดือนก่อน +9

      This actually knocked me back when I was a kid in the 90s. Of it wasn't such a pain to understand I literally would be leading a spent life but no.. heaven forbid you actually explain wtf anything means

    • @genZoutCast-h8y
      @genZoutCast-h8y หลายเดือนก่อน +1

      9:36

    • @LevmurQ_Q
      @LevmurQ_Q หลายเดือนก่อน +4

      So you don't know about Casey Murray huh?

  • @unthinkabilities
    @unthinkabilities 20 วันที่ผ่านมา

    love this, the pacing, your speaking style, the content, it’s super entertaining!!

  • @sanjaycse9608
    @sanjaycse9608 28 วันที่ผ่านมา

    Bro dont stop these series 🎉

  • @yesil_hiyar7335
    @yesil_hiyar7335 หลายเดือนก่อน

    This is an insane video for such a small channel, you deserve more attention lol

  • @Eddies_Bra-att-ha-grejer
    @Eddies_Bra-att-ha-grejer 3 วันที่ผ่านมา

    First time I see a video in 5:4 aspect ratio. Really neat.

  • @scottspitlerII
    @scottspitlerII 29 วันที่ผ่านมา

    You will learn a lot from creating the HAL, it’s going to be the hardest part, keep going.

  • @Kevroa1
    @Kevroa1 หลายเดือนก่อน +1

    great video man, cant wait for the next part

  • @irkedoff
    @irkedoff 9 วันที่ผ่านมา +1

    This is awesome! ❤

  • @purlascinza
    @purlascinza 27 วันที่ผ่านมา +1

    Very good.
    Do more videos, it's an order!

  • @tomeck.y2239
    @tomeck.y2239 21 วันที่ผ่านมา +2

    Awesome video! As a beginner programmer I love this kind of videos where I follow the process of creating some libraries and get to know the reasoning behind some solutions.
    One question: do you plan on releasing source code for Mucosa library/framework? I would love to look through the code and try to run it myself.
    Anyway, good job and I'm waiting for future episodes! 😁😁

  • @Hip-HopStateOfmind
    @Hip-HopStateOfmind 23 วันที่ผ่านมา

    This is actually explained pretty well, good job, very interesting and well explained

  • @sub1yo271
    @sub1yo271 หลายเดือนก่อน +1

    Damm guess found a gem of a channel 🎉❤

  • @xelaxander
    @xelaxander 10 วันที่ผ่านมา

    Holy moly this is pedestrian. Gotta implement your own compile time generics system and dynamic generics system.

  • @dessera4035
    @dessera4035 หลายเดือนก่อน

    I have watched first 10 minutes and thought that the end of the video is gonna be soon. But then i've seen length of the video and couldn't believe that you can make content of this quality that is an hour long

  • @bourgeoibee
    @bourgeoibee หลายเดือนก่อน

    Wow, great video! Love the subject matter and how you covered it. You are incredibly entertaining, you deserve at least five digits worth of subs. Hope this blows up!

    • @bourgeoibee
      @bourgeoibee หลายเดือนก่อน

      Oh, no wonder you don't have subs your first video is a banger.

  • @jswp5
    @jswp5 หลายเดือนก่อน +1

    When I went into college for computer science, this is what I was hoping I'd come out knowing how to do.

  • @grifferthrydwy
    @grifferthrydwy 7 วันที่ผ่านมา

    banger video, keeping me entertained by mostly a black screen and a voice is not an easy task, let alone doing so for over an hour

  • @_zjp
    @_zjp 24 วันที่ผ่านมา

    I'm excited to see your next video, this is an impressive project.

  • @Sulayre
    @Sulayre 20 วันที่ผ่านมา

    i dont usually comment on youtube videos but i gotta say this was a wonderful watch! Loved the vid dude, Hope you keep going with this looks fun and learning along got me hooked :)

  • @Bhrz
    @Bhrz หลายเดือนก่อน

    I really jive with the quality and depth of your video. I thoroughly enjoy it. I'm happy to have found your channel!

  • @workethicrecords5901
    @workethicrecords5901 หลายเดือนก่อน +4

    This is the best operating system architecture video that I've ever seen. Easily.
    While most of this is just like, re-making the SDL2 window system, (might be being a bit reductive here, not trying to discredit the work) I feel like I have a much better understanding of why it works the way it does now.