It's so sad to hear that the performance course will end early next year. I am enjoying it so much while still learning the most of any course I've done. Any reason you are planning to give up on it? Or do you think by then the whole planned content will be completed?
Really it is just time-prohibitive. I'm not planning on winding it down before we finish the Haversine optimization pass, but, once that is complete, it is very unlikely that I will then start a new series.
Oh I see. It really does feel like it involves a ton of preparation. Sad to hear the news but I will be enjoying any content you create. Keep up the excellent work you are doing, even with less frequency :)
Let me just give you a quick message of support, since I have enjoyed this series very much so far. Sad to hear you won't consider a new series or a continuation, I would very much put my money where my mouth is and support future topics with my wallet! Still, thank you very much for your efforts on this!
Most of the rest of the lessons are on SIMD, since that is the majority of the backend stuff we will be learning.
The course was never designed to have a ton of multithreading content because that is an architectural problem more than a technical knowledge problem, but the very end of the course was designed to show how to multithread the Haversine code.
So sad that the course is finishing. I wish you make up your mind to start a new one soon. There are so many topics that you can cover, from multithreading to architecture.
Not only because your particular way of practical education works for lots of people, but also because those topics are rarely covered from Performance Aware Perspective.
Software engineers are indoctrinated with nonsense nowadays and it takes years to realize that your education was wrong and common sense is nonsensical (if this realization ever happens).
It's people like you Mike Acton, Jonathan Blow, Andreas Fredriksson and others, who decide to share their broad and opinionated knowledge, who make a difference and shift status quo in the end.
It's of course my selfish wish that you continue your education endeavors. Not everyone is blessed to work among folk like you, so every bit of information you share and I manage to grasp with my weak mind is super valuable for my enhancement as an engineer.
I'll throw my hat in the ring: I have learned and enjoyed myself so much with this course that it has become a beloved fixture in my weekly schedule. Quite literally yesterday I was watching a video and had the thought to myself, "Man, is there *anyone* else out there teaching this kind of stuff for software people to easily digest?" So for that, I am immensely thankful for what you've done thus far. It is such a shame this course may end seemingly prematurely. Is there any way we can make it more worth your while?
I would appreciate transcripts even in the crudest format, because after watching a video I often Ctrl-F into the transcript to check specific stuff that was explained, which is faster than trying to find it again in the video.
Really sorry to hear this will be winding down next year, I have been subscribed since the beginning and have found it super valuable.
There really isn't anyone else with your degree of experience putting out this level of educational content.
I hope you are able to make some modifications that could make this worth your while. I would gladly pay a higher subscription price or a pay-per-lesson model if that helped.
Thank you so much for this course! There's so much it taught me. I was lucky to be able and try some of these things at work, where we sped up some stuff quite a bit based on the spoilers you give in the Q&As.
Q: Once the course finishes, would you consider releasing the videos in some way (youtube or steam or private download links)? The substack video player isn't the best.
I wish you the best of luck in whatever else you are doing!
I am trying to figure out what the options are for that. One thing I was considering is making some Steam bundles you can buy permanently that have all the course content/code/etc. so it's basically there as long as The Gaben preside overeth.
Can you please point us to a few codebases written in C that you would consider exemplar ? Looking for great codebases, to read and study, to understand best practices and architecture in C.
I don't know what the best ones to read would be, but John Carmack's C codebases would be a good starting point (eg., Doom, Quake). It's very sane code, where functions do what you expect and it is easy to understand what everything does. I'm sure there are plenty of things people would nitpick, as there are in any commercial codebase, but I think people accustomed to modern programming styles would be surprised at how small, legible, and friendly well-written C actually is.
I'll save this Q for a later Q&A thread when it's more relevant (on the 2nd to last Q&A) but I'm going ahead and putting it here now, while I'm thinking about it, to remind me to post it then.
When the course ends, can you consider making a final callout video for other high-quality educational content for programming? For example, I'm only now finding Cem Yuksel who has graphics programming lectures available publicly on Youtube (https://www.youtube.com/@cem_yuksel/playlists), which would've been massively helpful BEFORE I spent 3 days trying to directly read the vulkan spec. Except for learning about Jonathan Blow and Sean Barrett from Handmade Hero, I think every other good programmer I've found has been from pure luck when looking for other resources. I only learned about Handmade Hero from the Pat Wyatt interview at HandmadeCon, which seems crazy given how much I've learned from HH, and how much it's influenced my programming style. I literally can't imagine how many people already have great presentations out there, but I've just never seen or heard about. I've just happened to miss them.
For note, (which may put you in a bad mood), I work on software made for professional engineers. Fluid and Gas simulations, structural simulations of mines and/or buildings, those types of things. And I've done a good share of real performant programming optimization while here. My boss tried to say that 2023 Windows would permanently leak memory. That if a program leaked memory you'd just be missing RAM until the PC restarted, and that there just simply wasn't Address Layout Randomization. Not that it was turned off, but that it didn't exist in the first place. Even what you would consider basic programming education or standards would be helpful, since I have no idea what I should've learned by now, but just haven't yet.
I don't disagree that such a video would be useful, but I am not the person for that particular job. I know very little about the other existing educational materials, since I don't consume them myself. That kind of video would have to come from someone who has viewed a large cross section of these materials and can highlight ones that were particularly good.
Dang, I switched to monthly prematurely thinking that it would just switch my billing after the annual subscription expires, which will be in March, but instead I got charged for the month and now have a recurring monthly bill. I contacted support already, but I guess a word of caution to not switch from annual to monthly early.
It was something like 20-30 minutes until I noticed the refund, it may have been less. I imagine it was just an automated job that took some time to process, I'd say to contact support if you haven't received it within 24 hours.
Thanks - It's been about 24 hours and I still didn't get any refund. I'll reach out to them. It could also be that Casey has to manually approve the refunds, though I'm not sure.
I haven't found any information regarding accessing the course post finished. If we subscribed the whole time do we get access to the course in some form or do you need to stop subscription once the course stops and then if we want to check some video we need to re-subscribe?
It's a problem with Substack IMO, and I wish they would fix it, but, I am not holding my breath (we still haven't got video subtitles, and that's a one-line change to the HTML). I would have preferred a model where people could "own" the content that they were subscribed for, or something like that, but Substack has not added any new features to the actual site in... well I guess the entire time I have been running this Substack? They seem preoccupied with stuff we don't need or want, like chat and Notes.
Something that has worked for me 100% of the time without much fuss is this Firefox-Addon, which I have used to work on the class offline: https://addons.mozilla.org/de/firefox/addon/video-downloadhelper/ Just navigate onto the lesson and choose download in the quality you wish (although anything less than 1080p might not turn out too legible). I have basically made myself a little archive on my local backup drive.
Considering that the performance aware course is ending in spring, would you create a discord server or some community platform for the course subscribers?
Wow I am sorry that Demetri left you hanging. So strange. Sorry to you for kinda getting shafted with the intent of promoting someone else and spicing up the course. I hope Demetri is alright!
Substack is such a strange platform. It has potential but right now videos don't even work on Android. I wish for it to succeed but it's really gonna have to pick up the pace to do that.
Fine-tune ChatGPT with all Handmade Hero episodes and Lectures. CaseyGPT will solve all your problems. Or at least everyone on the internet says it will!
But seriously, the only software I actively wait to come out anymore are video games and Star Code Galaxy (in part because I'd be really curious how you'd approach it).
I hope you re-consider coming back to the idea after a break from instruction-based content.
It's so sad to hear that the performance course will end early next year. I am enjoying it so much while still learning the most of any course I've done. Any reason you are planning to give up on it? Or do you think by then the whole planned content will be completed?
Really it is just time-prohibitive. I'm not planning on winding it down before we finish the Haversine optimization pass, but, once that is complete, it is very unlikely that I will then start a new series.
- Casey
Oh I see. It really does feel like it involves a ton of preparation. Sad to hear the news but I will be enjoying any content you create. Keep up the excellent work you are doing, even with less frequency :)
Let me just give you a quick message of support, since I have enjoyed this series very much so far. Sad to hear you won't consider a new series or a continuation, I would very much put my money where my mouth is and support future topics with my wallet! Still, thank you very much for your efforts on this!
Hi I subscribed to the course primarily to learn more about how to do proper multithreading and SIMD. Is this still on the agenda?
Most of the rest of the lessons are on SIMD, since that is the majority of the backend stuff we will be learning.
The course was never designed to have a ton of multithreading content because that is an architectural problem more than a technical knowledge problem, but the very end of the course was designed to show how to multithread the Haversine code.
- Casey
So sad that the course is finishing. I wish you make up your mind to start a new one soon. There are so many topics that you can cover, from multithreading to architecture.
Not only because your particular way of practical education works for lots of people, but also because those topics are rarely covered from Performance Aware Perspective.
Software engineers are indoctrinated with nonsense nowadays and it takes years to realize that your education was wrong and common sense is nonsensical (if this realization ever happens).
It's people like you Mike Acton, Jonathan Blow, Andreas Fredriksson and others, who decide to share their broad and opinionated knowledge, who make a difference and shift status quo in the end.
It's of course my selfish wish that you continue your education endeavors. Not everyone is blessed to work among folk like you, so every bit of information you share and I manage to grasp with my weak mind is super valuable for my enhancement as an engineer.
(And I want to get better at multithreading! :)
Do you consider any other formats? Opportunity to learn from people who actually know stuff is so rare..
Would you be willing to make a new series at a higher subscription cost?
Probably not.
- Casey
I'll throw my hat in the ring: I have learned and enjoyed myself so much with this course that it has become a beloved fixture in my weekly schedule. Quite literally yesterday I was watching a video and had the thought to myself, "Man, is there *anyone* else out there teaching this kind of stuff for software people to easily digest?" So for that, I am immensely thankful for what you've done thus far. It is such a shame this course may end seemingly prematurely. Is there any way we can make it more worth your while?
I was not planning on ending the course prematurely, but I am just not planning on extending it or doing another course.
- Casey
Any chance that you will resume the Handmade Hero series instead?
Gotcha - I forgot that the Haversine section was meant to be the main part of the course to begin with.
I would appreciate transcripts even in the crudest format, because after watching a video I often Ctrl-F into the transcript to check specific stuff that was explained, which is faster than trying to find it again in the video.
Really sorry to hear this will be winding down next year, I have been subscribed since the beginning and have found it super valuable.
There really isn't anyone else with your degree of experience putting out this level of educational content.
I hope you are able to make some modifications that could make this worth your while. I would gladly pay a higher subscription price or a pay-per-lesson model if that helped.
Thank you so much for this course! There's so much it taught me. I was lucky to be able and try some of these things at work, where we sped up some stuff quite a bit based on the spoilers you give in the Q&As.
Q: Once the course finishes, would you consider releasing the videos in some way (youtube or steam or private download links)? The substack video player isn't the best.
I wish you the best of luck in whatever else you are doing!
I am trying to figure out what the options are for that. One thing I was considering is making some Steam bundles you can buy permanently that have all the course content/code/etc. so it's basically there as long as The Gaben preside overeth.
- Casey
Casey,
Can you please point us to a few codebases written in C that you would consider exemplar ? Looking for great codebases, to read and study, to understand best practices and architecture in C.
I don't know what the best ones to read would be, but John Carmack's C codebases would be a good starting point (eg., Doom, Quake). It's very sane code, where functions do what you expect and it is easy to understand what everything does. I'm sure there are plenty of things people would nitpick, as there are in any commercial codebase, but I think people accustomed to modern programming styles would be surprised at how small, legible, and friendly well-written C actually is.
- Casey
I'll save this Q for a later Q&A thread when it's more relevant (on the 2nd to last Q&A) but I'm going ahead and putting it here now, while I'm thinking about it, to remind me to post it then.
When the course ends, can you consider making a final callout video for other high-quality educational content for programming? For example, I'm only now finding Cem Yuksel who has graphics programming lectures available publicly on Youtube (https://www.youtube.com/@cem_yuksel/playlists), which would've been massively helpful BEFORE I spent 3 days trying to directly read the vulkan spec. Except for learning about Jonathan Blow and Sean Barrett from Handmade Hero, I think every other good programmer I've found has been from pure luck when looking for other resources. I only learned about Handmade Hero from the Pat Wyatt interview at HandmadeCon, which seems crazy given how much I've learned from HH, and how much it's influenced my programming style. I literally can't imagine how many people already have great presentations out there, but I've just never seen or heard about. I've just happened to miss them.
For note, (which may put you in a bad mood), I work on software made for professional engineers. Fluid and Gas simulations, structural simulations of mines and/or buildings, those types of things. And I've done a good share of real performant programming optimization while here. My boss tried to say that 2023 Windows would permanently leak memory. That if a program leaked memory you'd just be missing RAM until the PC restarted, and that there just simply wasn't Address Layout Randomization. Not that it was turned off, but that it didn't exist in the first place. Even what you would consider basic programming education or standards would be helpful, since I have no idea what I should've learned by now, but just haven't yet.
I don't disagree that such a video would be useful, but I am not the person for that particular job. I know very little about the other existing educational materials, since I don't consume them myself. That kind of video would have to come from someone who has viewed a large cross section of these materials and can highlight ones that were particularly good.
- Casey
"No math November" :-)
Underrated joke haha
EDIT: Nvm, see reply
--
Dang, I switched to monthly prematurely thinking that it would just switch my billing after the annual subscription expires, which will be in March, but instead I got charged for the month and now have a recurring monthly bill. I contacted support already, but I guess a word of caution to not switch from annual to monthly early.
Actually I spoke prematurely, not switched prematurely. A refund for a few months came in after some time.
How long did it take ? I switched, got billed for the month, but didn't get a refund on my annual membership yet.
Was it an automated process or did you have to contact Substack ?
It was something like 20-30 minutes until I noticed the refund, it may have been less. I imagine it was just an automated job that took some time to process, I'd say to contact support if you haven't received it within 24 hours.
Thanks - It's been about 24 hours and I still didn't get any refund. I'll reach out to them. It could also be that Casey has to manually approve the refunds, though I'm not sure.
I do not approve them, no. They are automatic.
- Casey
Thanks for the confirmation. I haven't heard back from Substack, but hopefully they can look into it.
Otherwise, it's not a big deal. I appreciate your work, so I'll consider the remaining months of my annual subscription as some form of donation. :)
oh no, I just get here!!
"no math november" lmao
I haven't found any information regarding accessing the course post finished. If we subscribed the whole time do we get access to the course in some form or do you need to stop subscription once the course stops and then if we want to check some video we need to re-subscribe?
It's a problem with Substack IMO, and I wish they would fix it, but, I am not holding my breath (we still haven't got video subtitles, and that's a one-line change to the HTML). I would have preferred a model where people could "own" the content that they were subscribed for, or something like that, but Substack has not added any new features to the actual site in... well I guess the entire time I have been running this Substack? They seem preoccupied with stuff we don't need or want, like chat and Notes.
- Casey
Something that has worked for me 100% of the time without much fuss is this Firefox-Addon, which I have used to work on the class offline: https://addons.mozilla.org/de/firefox/addon/video-downloadhelper/ Just navigate onto the lesson and choose download in the quality you wish (although anything less than 1080p might not turn out too legible). I have basically made myself a little archive on my local backup drive.
yes!, but you can use addon in order to download it, someone created one specifically for it https://addons.mozilla.org/en-US/firefox/addon/substack-video-downloader/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search but seems to not work for everyone, you can pick the root url too and the index (you will have to tweak it a little bit though)
I am SO far behind on these lectures. Will we lose access once the series ends and the sub are no longer ongoing?
Considering that the performance aware course is ending in spring, would you create a discord server or some community platform for the course subscribers?
Wow I am sorry that Demetri left you hanging. So strange. Sorry to you for kinda getting shafted with the intent of promoting someone else and spicing up the course. I hope Demetri is alright!
Substack is such a strange platform. It has potential but right now videos don't even work on Android. I wish for it to succeed but it's really gonna have to pick up the pace to do that.
What if when I finish the course and I want to revisit some videos again in different times? Do I need to pay the monthly subscription?
Can I just buy all the content and have it with me as in the old times? And as you did with other products?
Is Star Code Galaxy on a permanent hold for now ?
Yes.
- Casey
How long I've waited for Star Code Galaxy is proof that Casey is a game industry programmer.
For us it is really more of a case of having too many things in the works and only one programmer :)
- Casey
Fine-tune ChatGPT with all Handmade Hero episodes and Lectures. CaseyGPT will solve all your problems. Or at least everyone on the internet says it will!
But seriously, the only software I actively wait to come out anymore are video games and Star Code Galaxy (in part because I'd be really curious how you'd approach it).
I hope you re-consider coming back to the idea after a break from instruction-based content.