I'm curious to hear about what other jobs/domains exist outside of this and how it is working on non-web stuff.
I'm curious to hear about what other jobs/domains exist outside of this and how it is working on non-web stuff.
Compressing Lamport Signatures is a side-project of mine too.
I work on graphics drivers. They're hard write and even harder to debug. You have to be a huge nerd about graphics to get very far. It's a relatively rare skill set, but new, younger, nerdier people keep on coming. Most people in graphics are quiet and are just keeping the industry functioning (me). It's applied computer architecture in a combination of continuous learning and intuition from experience.
Is there some big spec document or ISA that you follow when implementing the driver?
Also I'm curious is it easier to write a driver for the modern "lower level" APIs like vulkan/dx12?
There is documentation, but it's not as well organized as you might imagine. Documentation is usually only necessary when implementing new features, and the resulting code doesn't change often. There are also multiple instruction sets as there are a bunch of little processors you need to control.
Vulkan/DX12 aren't really "low-level" APIs. They're "low overhead", and honestly, no. Their code base is just as large and complicated, if not more so, than OpenGL/DX11.
It is a different experience to be sure - I work on stuff that nobody likes and where most people are surprised it still exists. And my goals tend to be about shutting down, not growing. I succeed with every server we kill, every product we turn off, every customer we get rid of.
runtimepanic•3h ago