Mike Shah
Mike Shah
  • Видео 674
  • Просмотров 2 085 980
[Dlang Episode 103] D Language - unittest 3 of n - More powerful unit test with metaprogramming
►Full DLang Series Playlist: ruclips.net/p/PLvv0ScY6vfd9Fso-3cB4CGnSlW0E4btJV
►Find full courses on: courses.mshah.io/
►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin
►Lesson Description: In this lesson I show you how to add more power to your unittest block if you like. Of course, there are many frameworks (e.g. unitthreaded, d-unit, etc.) that already have this for you from the dub package repository, but it's still neat to know you can customize things to your needs using compile-time reflection (i.e. the traits library). As always, share your interesting use cases with the community in the discussion below!
►Please like and subscribe to help the channel!
►RUc...
Просмотров: 114

Видео

[Dlang Episode 102] unittest 2 of n - Test Techniques (Pure, Whitebox, Blackbox, __ctfe, more)
Просмотров 2154 часа назад
►Full DLang Series Playlist: ruclips.net/p/PLvv0ScY6vfd9Fso-3cB4CGnSlW0E4btJV ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I show you some testing techniques in the D programming language. The unittest block again is a simple feature, but we can combine it with things that we have lear...
Lobster, Programming Languages, and Game Engines with Wouter van Oortmerssen - Conversation #5
Просмотров 1,2 тыс.14 часов назад
►Conversation/Podcast Playlist: ruclips.net/p/PLvv0ScY6vfd_Hk1jw-NIDSOK-RhMOhEg3 ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this conversation I speak with Wouter Van Oortmerssen who continues an amazing career in programming language, compiler, and game engine development. Wouter has developed p...
Walter Bright - 5 Minutes, Dogged Persistence, and the D Language [Conversation #4]
Просмотров 1,3 тыс.День назад
►Conversation/Podcast Playlist: ruclips.net/p/PLvv0ScY6vfd_Hk1jw-NIDSOK-RhMOhEg3 ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this conversation I speak with Walter Bright who continues his prolific career as an engineer, and is best known for his work on C, C , and now the D Language Compiler. Thr...
OpenGL [Episode 39] Adding MeshTranslate, MeshRotate, and MeshScale
Просмотров 46614 дней назад
►Full OpenGL Series Playlist: ruclips.net/p/PLvv0ScY6vfd9zlZkIIqGDeG5TUWswkMox ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I continue our refactoring of the 'MeshDraw' function, this time adding translation, rotation, and scale functions for our two meshes. We almost have a little fra...
OpenGL Episode 38 Refactoring MeshDraw and our Camera
Просмотров 34821 день назад
►Full OpenGL Series Playlist: ruclips.net/p/PLvv0ScY6vfd9zlZkIIqGDeG5TUWswkMox ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I continue our refactoring of the 'MeshDraw' function, this time moving out the constant recalculation of the projection matrix into the camera class. We are now ...
OpenGL [Episode 37] Refactoring MeshUpdate and Finding Uniforms
Просмотров 34821 день назад
►Full OpenGL Series Playlist: ruclips.net/p/PLvv0ScY6vfd9zlZkIIqGDeG5TUWswkMox ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I do a little bit of refactoring to continue improving our graphics framework, this time by cleaning up our MeshDraw and removing MeshUpdate (The best code is cod...
[Dlang Episode 101] D Language - unittest 1/n - The Basics (TDD, separate module testing, and more!)
Просмотров 6721 день назад
►Full DLang Series Playlist: ruclips.net/p/PLvv0ScY6vfd9Fso-3cB4CGnSlW0E4btJV ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I show you how to use one of my favorite features of the D programming language, the 'unittest' block. The unittest block treats blocks of code effectively as func...
OpenGL [Episode 36] Mesh Abstraction Refactor Continued -- two quads
Просмотров 53821 день назад
►Full OpenGL Series Playlist: ruclips.net/p/PLvv0ScY6vfd9zlZkIIqGDeG5TUWswkMox ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson I continue the refactoring and we end up ultimately with two quads! I opt for a 'C style' API for creating meshes and discuss a few of those trade-offs. I would e...
Books and web resources for starting OpenGL, Math, and a graphics engineer career [Mike's Advice]
Просмотров 2,8 тыс.28 дней назад
►Full Series Playlist: ruclips.net/p/PLvv0ScY6vfd-kxPfRttOVYkyM2xal-x0U ►Find full courses on: courses.mshah.io/ ►Join as Member to Support the channel: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this video I provide a few resources that I've used along my journey to learn computer graphics. We'll start with free web resources first, and then we'll look at some of ...
cerr and clog (buffered vs unbuffered) - Stream-Based IO part 2 of n - Modern Cpp Series Ep. 192
Просмотров 692Месяц назад
►Full C Series Playlist: ruclips.net/p/PLvv0ScY6vfd8j-tlhYVPYgiIyXduu6m-L ►Find full courses on: courses.mshah.io/ ►Join as Member to Support the channel: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson we take a look at std::cerr and std::clog which write to the stderr file handle. These are also globally defined objects provided in the iostream header. The...
std::cout - Stream-Based I/O part 1 of n - Modern Cpp Series Ep. 191
Просмотров 1 тыс.Месяц назад
►Full C Series Playlist: ruclips.net/p/PLvv0ScY6vfd8j-tlhYVPYgiIyXduu6m-L ►Find full courses on: courses.mshah.io/ ►Join as Member to Support the channel: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson we take a look at std::cout, a globally defined object that has been around for a long time in C . But why do we still need it if we have std::print in C 23?...
std::print - Print formatted text!(C++23) - C++ I/O | Modern Cpp Series Ep. 190
Просмотров 1,7 тыс.Месяц назад
►Full C Series Playlist: ruclips.net/p/PLvv0ScY6vfd8j-tlhYVPYgiIyXduu6m-L ►Find full courses on: courses.mshah.io/ ►Join as Member to Support the channel: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: In this lesson we take a look at std::print function available in C 23! It is finally here, and we have a way to print out formatted text without the std::cout stream funct...
gcc 14.1 for C++23 - Compiling from source demonstration and explanation
Просмотров 1,7 тыс.Месяц назад
►Full CS Essentials Playlist: ruclips.net/p/PLvv0ScY6vfd9OxOzvroGivi0Q_0UtFzk1 ►Find full courses on: courses.mshah.io/ ►Join as member to get perks: ruclips.net/channel/UCA64pZbN5Mz5NxC3SO4qpDgjoin ►Lesson Description: This is an updated video on how to build large source projects, specifically the gcc compiler for version 14.1. In this version of the video I show you a little bit more behind ...
OpenGL [Episode 35] Starting Application and Mesh Abstraction Refactor
Просмотров 845Месяц назад
OpenGL [Episode 35] Starting Application and Mesh Abstraction Refactor
std::formatter for Custom Types with std::format (C++20) - C++ Utilities | Modern Cpp Series Ep. 189
Просмотров 826Месяц назад
std::formatter for Custom Types with std::format (C 20) - C Utilities | Modern Cpp Series Ep. 189
Lisp - First Impression [Programming Languages Episode 30]
Просмотров 1,5 тыс.Месяц назад
Lisp - First Impression [Programming Languages Episode 30]
Channel Update - Live streams, Training, Programming Courses, Free Video List, sRGB Color Article
Просмотров 802Месяц назад
Channel Update - Live streams, Training, Programming Courses, Free Video List, sRGB Color Article
std::format with STL Containers - C++ Utilities | Modern Cpp Series Ep. 188
Просмотров 679Месяц назад
std::format with STL Containers - C Utilities | Modern Cpp Series Ep. 188
Mojo - First Impression [Programming Languages Episode 29]
Просмотров 1,6 тыс.Месяц назад
Mojo - First Impression [Programming Languages Episode 29]
Carbon - First Impression [Programming Languages Episode 28]
Просмотров 2,5 тыс.Месяц назад
Carbon - First Impression [Programming Languages Episode 28]
Cpp2 - First Impression [Programming Languages Episode 27]
Просмотров 3,1 тыс.Месяц назад
Cpp2 - First Impression [Programming Languages Episode 27]
std::format Introduction (C++20) - C++ Utilities | Modern Cpp Series Ep. 187
Просмотров 957Месяц назад
std::format Introduction (C 20) - C Utilities | Modern Cpp Series Ep. 187
[Dlang Episode 99] D Language - version (for conditional compilation)
Просмотров 2322 месяца назад
[Dlang Episode 99] D Language - version (for conditional compilation)
COBOL - First Impression [Programming Languages Episode 26]
Просмотров 5562 месяца назад
COBOL - First Impression [Programming Languages Episode 26]
Haskell - First Impression [Programming Languages Episode 25]
Просмотров 9152 месяца назад
Haskell - First Impression [Programming Languages Episode 25]
Dart - First Impression [Programming Languages Episode 24]
Просмотров 5572 месяца назад
Dart - First Impression [Programming Languages Episode 24]
[Dlang Episode 98] D Language - static assert - catch errors at compile-time
Просмотров 2172 месяца назад
[Dlang Episode 98] D Language - static assert - catch errors at compile-time
[Dlang Episode 97] D Language - assert
Просмотров 2402 месяца назад
[Dlang Episode 97] D Language - assert
[Dlang Episode 96] D Language - Typedef and TypedefType - Type Constructors
Просмотров 1802 месяца назад
[Dlang Episode 96] D Language - Typedef and TypedefType - Type Constructors

Комментарии

  • @guilherme5094
    @guilherme5094 2 часа назад

    Thanks Mike👍!

  • @twenty-fifth420
    @twenty-fifth420 12 часов назад

    Lol, I was just thinking if unittesting can be meta/reflective. I was thinking of making some tests for my OpenGL state machine exercise that can automate various testing stages of the pipelines. Actually wanna take it further, but that was the simple of it. What I would love as a programmer and potential programming language designer is to just make any function isTestable? and give it optional parameters. The amount of asserts and tests I do just to say “okay now test this parameter, but do not use 0 because that will fail because I said so”.

  • @GaryChike
    @GaryChike 13 часов назад

    D First!

  • @caiodavi9829
    @caiodavi9829 19 часов назад

    thanks! it helped me a lot

  • @georgiosdoumas2446
    @georgiosdoumas2446 21 час назад

    11:34 , I think that destructor should not have any parameter list!

    • @MikeShah
      @MikeShah 19 часов назад

      Indeed -- copy & paste error without actually testing (just in the 'discussion' or 'sketch' portion of the video). I'd need to think a bit about a use case for a parameter in a destructor -- perhaps for control flow on how you'd like to perform deletion for instance -- but the mechanism may not work as well as 'defer' or 'scope(exit)' in other languages.

  • @udance4ever
    @udance4ever День назад

    thank you very much! I'm another step forward to getting this project built - one more library (VLC) to build from scratch to go!

  • @SamOaks
    @SamOaks День назад

    auto is silly

    • @MikeShah
      @MikeShah День назад

      Using it for regular variables probably is -- useful for local scope and generic programming however

  • @salio4671
    @salio4671 День назад

    Came here to update my knowledge about pointers, great explanation as always thanks. For me pointers are very similar to shortcuts in windows for example, just in a smaller scope. They both store an address and both reference to something whether it is some value or an executable, the idea is similar. They are not that hard as they seem to be, tho for many beginner's they are something unthinkable. But the idea of shortcuts in an OS for the same beginners is something intuitive.

    • @MikeShah
      @MikeShah День назад

      Cheers! Nice analogy :)

  • @kcvinu
    @kcvinu День назад

    Is it good if a library developer uses static asserts for error checking in his final output ? By "final output" I mean the code I uploaded to my repo.

    • @MikeShah
      @MikeShah День назад

      static asserts should not have any runtime cost for the final product, as they are just executed at compile-time and otherwise stop the program from compiling if they do not pass. static asserts otherwise I would encourage folks to have, and you don't necessarily need to hide them in your implementation. Some folks do hide the test suite however, if that gives away critical information for some reason.

    • @kcvinu
      @kcvinu День назад

      @@MikeShah Got it. Thanks Mike 😀

  • @sanjaygatne1424
    @sanjaygatne1424 День назад

    time 3:13. Why not even "read only" access to global static data is allowed in pure function.

    • @MikeShah
      @MikeShah День назад

      If you make global 'const' or 'immutable' this is fine. The reason we cannot allow 'int global=3' otherwise to be used in pure functions is because if we have multiple threads then global data could be modified elsewhere, and thus the function would not be pure.

    • @MikeShah
      @MikeShah День назад

      See more with pure here: ruclips.net/video/PAXHOEufVFM/видео.html

    • @bsdooby
      @bsdooby День назад

      I watched this episode again; why isn't the compileStatic function not called twice? ah, I see: you did not execute the actual program 😅

  • @bastiaan9127
    @bastiaan9127 День назад

    I finally had time watch to the end, and loved it. A very enjoyable interview!

    • @MikeShah
      @MikeShah День назад

      @@bastiaan9127 cheers!

  • @JumpercraftYT
    @JumpercraftYT День назад

    This is probably the best opengl series on youtube. It helped me a lot on graphics programing. Recently, i've added bindless textures on my laptop. It works just fine, but when I pushed to github, downloaded it and used it on my PC instead of my laptop, I still see the stuff, but not the textures. So why is it only working on my laptop but not my pc.

    • @MikeShah
      @MikeShah День назад

      Cheers, thanks for the kind words! Perhaps your laptop and PC have different graphics cards? Bindless textures as I understand are an extension, and not part of core OpenGL 4.5 or 4.6

  • @georgiosdoumas2446
    @georgiosdoumas2446 2 дня назад

    18:50 in the for loop, it would be even better to have it as for(const auto &e : m_messages) since the element is accessed only for reading and not for modifying it!

  • @georgiosdoumas2446
    @georgiosdoumas2446 2 дня назад

    30:35 ,the usage of words "move " and "undo " was confusing for me, but I translated in my mind as (and that is the output that I would rather see) : "move by x and y" and instead of undo : " move by -x and -y ".

    • @MikeShah
      @MikeShah 2 дня назад

      Since the value of the move that is being written is not what is being output(i.e. c.x and c.y), x and y still need to be negated.

  • @bsdooby
    @bsdooby 2 дня назад

    Learned a lot, too ;)

  • @bsdooby
    @bsdooby 2 дня назад

    Learned a lot 🎉

  • @twenty-fifth420
    @twenty-fifth420 2 дня назад

    It is weird I didnt get the notification for part one. But related, testing makes ‘computer science’ feel like ‘science’. Plus, I think we all started in the broad sense ‘testing behavior’ in some repl of some kind. Soooo you just type your expression and find out what happens 😂. Of course, this is not software testing, more empirical testing. That is my thoughts though. Anyway, neat we have made it past 101 episodes. Maybe I should watch this series one more time..

    • @bsdooby
      @bsdooby 2 дня назад

      Me neither (?)

    • @MikeShah
      @MikeShah День назад

      Not aure why the notification did not go out -- maybe a big from RUclips ​@@bsdooby

  • @Surasia
    @Surasia 2 дня назад

    Would this be useful for defining simple magic numbers? so instead of #define MAGIC 1000 constexpr int value = 1000 in some sense, would it be more "C++-y" or would a const be enough?

    • @MikeShah
      @MikeShah День назад

      Generally speaking, I prefer 'constexpr int' versus #define, as the defines are just a textural replacement, and you get the advantage of typecheck. Constexpr also sort of 'forces' a constant propogation or other evaluation for more complicated magic values alongside the stronger typechecking. Depending on your debugger as well, #define's may not expand well (unless you use -ggdb for gdb for instance) either, as the 'magic' value gets lost.

    • @Surasia
      @Surasia 20 часов назад

      @@MikeShah thank you! your channel is a great resource

  • @GaryChike
    @GaryChike 2 дня назад

    I remember asking Wouter if this is a good beginning language and he said no. And since there is dearth of tutorials on Lobster, this language is essentially built for more experienced developers that has experience in another language. 🦞

    • @MikeShah
      @MikeShah 2 дня назад

      I could probably agree with that. Given enough tutorials and some fun graphics/game themes perhaps it could be over time if folks wanted to learn it as a first language. Generally speaking, I still recommend python as a first language -- or even D 🙂

  • @CptBaconNipple
    @CptBaconNipple 2 дня назад

    Sigh... use the HDMI port for the ZV1 and connect it to a CamLink. If you use the USB to connect it to your computer, you're stuck with this bad quality.

  • @marks209
    @marks209 3 дня назад

    why cant i find this documentation that you have opened, it looks like they removed so much from the sdl wiki

    • @MikeShah
      @MikeShah 3 дня назад

      @@marks209 I think for sdl3 that might be the case. There may be a mirror to the sdl2 docs elsewhere otherwise

  • @androth1502
    @androth1502 3 дня назад

    i tried lobster a couple years ago. it's a great 'batteries included' type of language. i just, at the time, didn't find the pythonesque syntax agreeable.

  • @insadeyt
    @insadeyt 4 дня назад

    hey mike, iam super new to programming and my question is that what is size_t?? i ve learned so much from this playlist. all thanks to you but i am so confused at this point what in the world is this? size_t and vectors

    • @MikeShah
      @MikeShah 4 дня назад

      Welcome! size_t is an 'unsigned integer', usually an unsigned long or some type that can otherwise hold lots of integer values. By convention we use it to ensure we don't access a negative index, as well as to indicate a 'count' or 'index' of something

  • @guilherme5094
    @guilherme5094 4 дня назад

    👍!

  • @HackDiary1
    @HackDiary1 4 дня назад

    39:41

  • @rahulindian123
    @rahulindian123 4 дня назад

    Very detailed and informative explanation. thanks Mike for making such useful content.

  • @d0rzA
    @d0rzA 4 дня назад

    thank you very much !!! helped me a ton

  • @LukeAGuest
    @LukeAGuest 5 дней назад

    I learnt assembly on Amiga and used AmigaE a lot, there are new E compilers not just the original assembly one. My advice is, don't learn C or C++, find a language which helps you find errors, so strongly typed, not one which will basically force you in hours of debugging and wasting your life.

    • @MikeShah
      @MikeShah 5 дней назад

      I think I'm going to have to try AmigaE. :)

    • @LukeAGuest
      @LukeAGuest 5 дней назад

      @@MikeShah Search GH for EEC. This is the latest compiler which is being worked on, iirc. It doesn't contain the weirder parts of E tho, like the lisp cells.

  • @avinashagarwal3625
    @avinashagarwal3625 5 дней назад

    Good explanation. One doubt since "s_instance" is created with "new" keyword. How and where to use the "delete" in this case? Also since the destructor is private will it ever be used in this class?

    • @MikeShah
      @MikeShah 5 дней назад

      Once initialized it can effectively live forever an the operating system will reclaim the object. That said, you could add a member function (e.g. void DestroyInstance() or ResetSingleton()) if you wanted to reclaim the memory at some other time.

  • @djsonx3268
    @djsonx3268 5 дней назад

    I have tried to setup sfml on windows several times and everytime i stumbled upon some kind of error that screwed everything and it took like 15 minutes to make it on linux, thanks for this great tutorial

    • @MikeShah
      @MikeShah 5 дней назад

      Cheers! You are most welcome!

  • @twenty-fifth420
    @twenty-fifth420 5 дней назад

    Hey, just a heads up for Linux users! Lobster does build fairly easily out of the box, BUT you will still need to set the path to the exe in the /bin directory if you want your command line to recognize the arguments globally. Some languages do this out of the box and others do not have to do that. But this is probably going to be helpful both when running examples and quickly iterating on code! Otherwise, it is just as simple as getting the repo and building! This is one of the easier make/cmake projects I built, so look forward to it! <3

    • @MikeShah
      @MikeShah 5 дней назад

      Cheers, thanks for following up on this!

  • @finlaymetcalfe6360
    @finlaymetcalfe6360 5 дней назад

    First time watching one of these. Really interesting conversation. Would love to see some insights on game engine architecture from Wouter.

    • @MikeShah
      @MikeShah 5 дней назад

      Wouter has given some talks at the Rendering Engine Architecture Conference (REAC) previously that are available :) Otherwise diving into the Cube and Cube 2 source wouldn't be a bad place to start!

  • @deutschWallah
    @deutschWallah 6 дней назад

    Thanks a lot Mike. 🙂

    • @MikeShah
      @MikeShah 6 дней назад

      You are most welcome!

  • @guilherme5094
    @guilherme5094 6 дней назад

    👍!

  • @guilherme5094
    @guilherme5094 7 дней назад

    One more👍!

  • @guilherme5094
    @guilherme5094 7 дней назад

    👍And thanks!

  • @georgiosdoumas2446
    @georgiosdoumas2446 8 дней назад

    2:29 , in summer 2024 the API design for C++ got a 2nd edition! 3:22 , I believe that Professional C++ should be read before the API design book, because the API book assumes you already know enough C++11.

    • @MikeShah
      @MikeShah 8 дней назад

      Indeed, I have a copy of the second edition already 😁 I can agree with that -- I've found that reading Professional C++ to supplement whatever I'm learning (so two books at once) had worked well for me. Thanks for adding your thoughts!

  • @jaguerra
    @jaguerra 8 дней назад

    Walter Bright story telling is interesting and funny. Such a gifted man.

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

    is that still a thing?

  • @sashabernans7883
    @sashabernans7883 10 дней назад

    Looking forward to your next upload in this series!

    • @MikeShah
      @MikeShah 10 дней назад

      Will be coming soon!

  • @salim444
    @salim444 10 дней назад

    c, c#, c3 and c4 (carbon). Programmers are drawining in a sea of c's

    • @MikeShah
      @MikeShah 10 дней назад

      C2, C0, Cyclone, Safe-C, there are many, many more variations :)

  • @k0185123
    @k0185123 10 дней назад

    Thank you

    • @MikeShah
      @MikeShah 10 дней назад

      Cheers! Thank you for your support!

  • @MNN-s2h
    @MNN-s2h 10 дней назад

    I really like this interview and it gives a different perspective. Very nice to see Walter talking about motivation and giving Arnold as an example. By the way Walter himself is an example of dedication after what +20 years working on D for free... again awesome.

    • @MikeShah
      @MikeShah 10 дней назад

      @@MNN-s2h truly amazing indeed! Really lucky folks like Walter give so much. It's more fun to do these interviews and understand a little more about them prior to jumping into the technical bits right away 🙂

  • @aberbaCodes
    @aberbaCodes 10 дней назад

    ARM is going to be even more important going forward. Glad Walter is doing something about it

    • @MikeShah
      @MikeShah 10 дней назад

      Agreed -- it's an exciting time for the D Language!

  • @sam_phys-yz7fr
    @sam_phys-yz7fr 10 дней назад

    Hi Mike, small question, but I can guess an answer: why do you go through all the effort of making a mouseDelta, if e.motion.xrel is already a delta? Is it because passing the absolute position to a camera member function instead of delta will be handy later? Thanks in advance

    • @MikeShah
      @MikeShah 8 дней назад

      I wanted to disconnect the SDL dependency from the camera if I were to use a different input API. If I'm being good, I try to minimize depenencies and just pass the information in :) When I first did this, I think it was also just more clear rather than having to remember a specific event (i.e. e.motion.xrel).

    • @sam_phys-yz7fr
      @sam_phys-yz7fr 8 дней назад

      @@MikeShah That makes alot of sense. Thanks for answering, and again what a great series, it's wonderful you are going into object oriented C/C++ here too, I'm learning alot. Peace out!

  • @antropod
    @antropod 10 дней назад

    Thank you for the interview with the leged, and thanks Walter Bright for the D language