Hi all!
I'm looking for recommendations on where to start with learning systems programming. Ideally, I'd like to be able to get to a point where I can make a living doing it, but currently I just want to do fun stuff to build up curiosity around it.
Here's all of the "low-level" stuff that I know so far / imagine being useful. I...
- Have enough of an understanding of networking to write a toy HTTP server on top of TCP
- Know enough C to write some basic terminal tools + window applications if needed (on Linux)
- Love terminal tools like neovim + several core utils
- Have dabbled with Arduino/ESP32 & communicating via USB over the serial port with a host pc
- Am pretty decent with Python, and have been using it for like 10 years
Some things that I've been curious about in the past
- Converting parts of python libraries from pure python to C/C++ bindings for better performance
- Writing a terminal based file manager to work with Google Chrome
- Actually contributing to chromium (my laptop is a potato though so all of my builds fail)
About me: I'm in my junior year of uni studying CS, and I've been able to make money doing web dev for the past 2 years of my degree. For many reasons including curiosity and the fact that AI makes me feel replaceable doing many frontend + backend tasks, though I'm very curious about getting into lower level programming.
Any help would be greatly appreciated!
Provides familiarity with different types of things a kernel does via programs/scripts that make use of kernel.
Actually writing binary code for kernel bit can be done under qem[1][2]. aka don't need to buy actual hardware, can use 'software probes' to view what's going on, etc. Don't have to worry about 'crashing'/trashing box running on (just crash the qem software & loosing just what was done in qem session, if didn't save as 'export/save to external location outside of qem session')
"Reading OpenBSD source code daily (blog.tintagel.pl)" from [hn: 3] automated way to review code.
-----
[0] : https://www.linuxfromscratch.org/
[1] : qem for kernel developers - https://www.youtube.com/watch?v=LyWlpuntdU4
[2] : https://www.collabora.com/news-and-blog/blog/2017/01/16/sett...
[hn:3] : https://news.ycombinator.com/item?id=14521386