The 3D software rendering is still the most popular lecture from our school even after all these years. And it really surprises me because we "spend a lot of time" talking about some old techniques (MS-DOS, Amiga, ST, Archimedes, etc.). But it's fun to see how much doing things manually help students understand the math and the data movement that the GPU helps automate and vectorize in modern systems.
I also started teaching on Udemy in 2019 and even though the number of students was high, I quickly noticed that income was low and most enrolled students did not even start the courses they purchased (let alone complete them). I also decided to invest time and money in my own website/school and that was probably the best decision I've ever made.
Also, I'm not sure most people know that Udemy was never profitable up until 2025. Before going public, Udemy had never been profitable despite good revenue growth. As of mid-2021 (around its IPO filing), the company had accumulated significant losses (hundreds of millions of dollars) and explicitly noted it had not generated a profit in its SEC filing. After its October 2021 IPO, Udemy continued to report net losses most quarters and years, even as revenue grew. Losses persisted through 2023 and into 2024. Finally, in 2025 they saw profits for the first time since its IPO.
Any idea if some (perhaps many) of those enrolled students were from Udemy's corporate clients?
When we used to have access to (not all, but a lot of) Udemy through work - I could enroll into seemingly unlimited number of courses. And IIRC there was no (or no good) playlist/favorites mechanism - so I would just enroll in courses as a "playlist".
I started writing a udemy course some time ago in a very weird specialty and then I saw the $5 promo days. I was planning to charge $50-100 for the course (in line with other training materials in the specialty), and I realized that this was incompatible with udemy's model.
Hi there. Gustavo Pezzi here! Thanks for the mention. I always add new stuff to the lectures and I'm happy to inform that about a year ago I have added a bonus lecture on fixed-point rasterization at the end of that course. Nothing too crazy, but enough to cover the main points. Also, the PlayStation programming course is pretty much 100% fixed-point if anyone feels like diving into that too.
I share the same feeling. Programming can be an entertaining and joyful activity where enthusiasts don't really need to worry about creating something useful that will be shared with others.
It's like cooking a beautiful and tasty gourmet recipe that serves only one.
gustavo!!! your website was the first thing i thought of as i was reading this blog post. im a huge fan of your teaching style. thank you for everything you do! :-]
Author here! I remember struggling with the decision of adding that last sentence or not. But at the end I was sure most readers would get that it is obviously a joke. Maybe a bad one but still a joke.
I loved the ending! Glad you kept it in. I’m sure the emacs folks will appreciate the humour in it. And they’re welcome to write their own article on the history of emacs and end it similarly. They’ve probably got a binding for it.
I read it as sincere, gratuitous and unfounded mud-slinging, which made me end this remarkable article on a pretty underwhelming note.
We all have different senses of humor, mine would have needed some caption here :'-)
Lua's LPeg library would also be a great option here. A couple of years ago I taught an interpreters class together with Roberto Ierusalimschy and we used LPeg for lexing and parsing. The end result was great. Even if you're not using PEGs for your implementation I would recommend spending 30 minutes and looking at LPeg.
The 3D software rendering is still the most popular lecture from our school even after all these years. And it really surprises me because we "spend a lot of time" talking about some old techniques (MS-DOS, Amiga, ST, Archimedes, etc.). But it's fun to see how much doing things manually help students understand the math and the data movement that the GPU helps automate and vectorize in modern systems.
reply