Hacker Newsnew | past | comments | ask | show | jobs | submit | gustavopezzi's commentslogin

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.

> "I also decided to invest time and money in my own website/school and that was probably the best decision I've ever made."

Thanks for not jumping to self promotion, but I'm actually curious to see how you did it - would you mind sharing a link?


pikuma.com

How are the videos served?

wistia.com

That's right. :)

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.


Hey there. Thanks for the mention and for the kind words.


Hi there. I'm glad you enjoyed the NES module. :)


This is precisely why I am suspicious of most "free" online resources out there. When one writes to establish themselves as a credible source or as authority on a subject, they are flipping the target of the writing. They are making it all about the author, and not the reader/student. This is similar to what happens with academic writing, where using an approachable tone of voice can be seen as hurtful to the author's image of authority. Unfortunately, by the time someone actually tries to learn from this type of resource, a lot of damage is already done.


Writing to teach others is a much more effective way of establishing credibility than writing to just show off.

There is a reason Andrej Karpathy has such a great reputation. His credentials are impressive, but the quality of his teaching content is spectacular.


Academic papers are supposed to be about the author... They're meant to be an author's work put forth to an intended community of "colleagues", not students or general public. No one should think that a general learner is supposed to turn to academic research papers as their main vector of learning content.


I personally never thought academic papers were about the author. They might have turned into an ego game, but I always assumed that the goal of academic writing was to effectively communicate complex ideas and research findings to the reader. If not, then it's no wonder our voices are the first ones the public ignores in a time of crisis.


As someone who has been teaching assembly to undergrads for many years, I have a couple of things to say about this. First of all, I agree. The 6502 is great for beginners but that is not just merit of the 6502 language and I want to explain why.

I have taught 68K, MIPS, ARM, x86, etc., and the overall good student feedback I got by teaching 6502 is mostly because of the surrounding context that comes with the CPU. The reason 6502 clicked better than other modern alternatives (MIPS, ARM, x86, etc.) was because we use it to program a real machine that is simple to understand (i.e. Nintendo Entertainment System). Rudimentary memory mapped IO, no operating system, no pipelined instructions, no delay slots, no network, no extra noise, ...it's just a simple box with a a clock inside, a CPU, some memory addresses, some helper chips, IO mapped to memory addresses, and that's pretty much it!!! So, even though I agree that the 6502 is not the simplest instruction set out there, THIS simplicity of the system helped a lot.

And about the limitations of the 6502 CPU, these limitations were also important for students to understand that these instructions have a reason to be the way they are. CPUs were designed and wired given the constraints of that time, and that reflects on how we programmed for them.

So, even thought this was mostly empirical, I have to say picking 6502 and the NES to teach beginners was successful. Once again, not really because it was the 6502, but because the 6502 forced us to go simple in terms of the sytem we were moving bits left and right.

Once students played around with the 6502 and saw NES tiles moving on the screen, then it was super cool to evolve and show them how the 68000 did things differently, and then evolve more and show how MIPS came, show how pipelining works, how to take advantage of delay slots, and being able to compare the differences of RISC and CISC. It's super simple to evolve once the basics are there.


Gustav, thanks for giving us Pikuma.


My pleasure! :)


Hi there. Thanks for the mention. I'm glad it was helpful. :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: