Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
This is precisely what we are trying to do at Rizin[1][2]. Though the primary goal of the tool/framework is static analysis. All that portability across OSes, their versions, platforms and architectures, etc is definitely hard. If anyone is interested in these subjects, all contributions are welcome. For example, check out our "RzDebug" label, marking debugging issues[3].
[1] https://rizin.re
[2] https://github.com/rizinorg/rizin
[3] https://github.com/rizinorg/rizin/labels/RzDebug
I can reply because I was in the same situation at a younger age, at a time with no internet then limited internet.
Raw curiosity & having "just access to the required hardware" (a huge "just") and a bit of books & magazines can take you a long way.
My parents were not programmers but my father bought computers early on (1984), and later brought compilers at home (via his work), e.g. TurboPascal, C++, and let me experiment.
I learned mostly via magazines & books, and later a bit of exchanges with peers (demomaking), and also via buying disks (https://fr.wikipedia.org/wiki/DP_Tool_Club) that contained documentation (such as https://en.wikipedia.org/wiki/Ralf_Brown%27s_Interrupt_List) and arrived via snail mail.
I "just" gradually iterated and coded small stuff, then gradually more complicated stuff (Windowing toolkit in CGA, a Tetris clone, a Bomberman clone, FFT software, and ultimately 3D realtime rendering without any FPU, only in software, with Phong rendering and such https://github.com/thbar/demomaking#obez-1995).
I was not isolated in the sense I ended up stumbling on other teenagers (via the demomaking world) which did exactly the same thing.
Today a curious kid can go probably much further, as long as curiosity is encouraged :-)