Hacker News regularly makes me feel very stupid, and none more so than blog posts by Alyssa Rosenzweig.
I couldn't even write an engine that used Vulkan in six months, nor a software rasteriser; meanwhile, Alyssa wrote an entire compliant driver on a non-native operating system running on locked-down hardware in one month flat.
What am I doing with my life?
EDIT: I point this out because I'd eventually like to write GPU drivers too, having been fascinated by video games since I was like three.
You're making wrong comparisons is what you're doing. If you had already written N game engines, could you write a new one in a month? Yes, right? Alyssa didn't spring from the head of Zeus fully formed; she has been developing GPU drivers for years. Pick something you want to work on and work on it for years.
Yes, definitely want to back this up. Alyssa is definitely a really skilled and competent engineer. But she also has years of domain knowledge she has built up. That isn't to knock down her skill, but more of, don't let it demotivate it you because it too also took Alyssa time to get where she is.
That is something I was just thinking about a few moments ago. I've haven't watched any of Hector latest stuff if he is still streaming. But between Hector, Alyssa, and Asahi Lina, they all 3 are pretty motivated and pretty excited to share. Which is great and something I wish we had more of. It helps to demystify these systems some. For many, GPUs and graphics APIs are just black boxes of magic and it can be hard to get past that. But content like this helps to remove the black box and make it more approachable.
I don't really care. Whoever is Asahi Lina, if they wish to be seen as a third, separate, content creator, that is how I see it. Could careless, just happy that someone is out there passionate and good enough to make it.
I only say this, because on a live stream from awhile back, I saw hector's username in the command line terminal that was being screenshared, implying Asahi Lina could be simply an alt for Hector. Just an amusing sidebar note.
I sometimes feel like her success is driving me into madness, I feel like Salieri looking at Mozart when I look at her work.
Here is the Alyssa timeline:
* She started programming at ~3 with MIT Scratch. Her Father introduced it to her, he works at Intel and is a very successful person.
* I think around age 11-12 she knew C very well, worked on some low level networking stuff for games, she wanted to make an MMO.
* At 12 she made a project to convert LLVM IR to MIT Scratch.
* She was involved with libreboot, not sure to what degree.
* She was 15 when she worked to the open source RPI firmware.
* Interned at FSF
* I think she was ~16 when she developed the Panfrost GPU driver.
I can't help but wonder how my life would be if I was a native English speaker. Lived in USA and had a great father and mentors like hers. I gave everything to programming, everything I have to give. Wonder if I am hitting the limits of my nature or just had worse nurture.
She probably was born with already very good genetics for her brain to grasp those concepts + bespoke tutorship from a very competent tutor very early on, that's a winning combination (at least concerning low-level programming)
It's like being born a Gracie and starting jiu jitsu before you can walk. Of course you are going to be proficient in that field at a young age due to being taught by an expert at a time when the mind is most malleable.
> I couldn't even write an engine that used Vulkan in six months, nor a software rasteriser; meanwhile, Alyssa wrote an entire compliant driver on a non-native operating system running on locked-down hardware in one month flat.
Apple Silicon Macs are explicitly not locked down, it's just that the hardware is totally undocumented. This means that there's no jailbreaking necessary, just a lot of reverse engineering (which is still very difficult of course).
> Apple allows booting unsigned/custom kernels on Apple Silicon Macs without a jailbreak! This isn’t a hack or an omission, but an actual feature that Apple built into these devices. That means that, unlike iOS devices, Apple does not intend to lock down what OS you can use on Macs (though they probably won’t help with the development).
I often also feel imposter syndrome. But it's also good to realize that some people are just better at things than others, others have more free time, more motivation, more experience, etc.
Don't let other people's success bring you down.
Of course I've been dealing with imposter syndrome my whole life because my older brother is a genius and it's taken me my whole 44 years of life to try not to compare myself to him.
>> Alyssa wrote an entire compliant driver on a non-native operating system running on locked-down hardware in one month flat.
Well if it makes you feel any better, remember that she has spent a few years doing very in-depth work on other graphics drivers for this hardware so she knows the hardware, shader compilers, etc inside and out. There is also a full test suite for Vulkan and existing driver code for other hardware to start from. Nevertheless, you're still seeing a great programmer at the top of their game :-)
You're living it the best you can with what you have. As the other commenter stated, you are making unfair comparisons. Focus on comparing your tomorrow self with your today self. As long as that comparison trends in the right direction, you're doing well.
No programmer ever work from zero. If you see the header files for the new drivers, most of them have multiple copyright information. The files themselves were "stolen" from other good drivers to reduce the amount of code that has to be rewriten and the potential bugs that could be avoided by simply reusing.
One complicating factor is also there's a huge range of time required for different levels of quality.
Something that's quickly hacked together with limited error handling, limited security, limited flexibility/reusability, vs. something very high quality and enterprise quality.
Writing an engine from scratch is debatably more complicated since you need to do a lot of guesswork around what capabilities you actually need and how badly the artists and gameplay programmers will break everything - assuming your not doing it all solo.
That's a big assumption. Alyssa may very well not spend all her walking time writing code (setting aside the implication that writing code is not "enjoyable" for now).
Feynman was a very successful physicist. A nobel price medalist, among other things. He very famously was also someone who enjoyed a life outside of physics a great deal.
Paul Erdős, on the other hand, did at least outwardly seem to have spent most of his life focused on doing mathematics. And nobody can convince me that he did not enjoy his life as well...
It takes more lines of code to draw a triangle in the screen with Vulkan than it takes to write a Gameboy emulator that can play Pokemon Blue. Vulkan is a modern stack, Gameboy isn't.
I couldn't even write an engine that used Vulkan in six months, nor a software rasteriser; meanwhile, Alyssa wrote an entire compliant driver on a non-native operating system running on locked-down hardware in one month flat.
What am I doing with my life?
EDIT: I point this out because I'd eventually like to write GPU drivers too, having been fascinated by video games since I was like three.