12 pointsby otheraydena day ago4 comments
  • theophilecan hour ago
    Oxide and Friends has an episode on the topic [1], I found interesting.

    [1] : https://oxide-and-friends.transistor.fm/episodes/paths-into-...

  • a_tartaruga16 hours ago
    It sounds like you're doing the normal sort of things that systems people do to get started. The fact that you have lots of ideas to jump off of is very good. In general just follow all of your ideas down as far as you can to the base systems. Write the TCP implementation for your HTTP server and run it over the internet for example. You've only gone too far when you start worrying about noise and debugging looks like randomly grounding metal things.
  • abhiseka day ago
    IMHO there is neither baseline nor “enough” when it comes to learning any programming language for any reasonably complex domain.

    As you already know, C/C++ helps with low level software layers that interface with or manage hardware resources. In my experience, Go and Rust are also pretty much used as systems programming languages. For example, I use Go and EBPF to instrument systems calls on Linux kernel.

    For me, most of my learning came from solving problems and building for specific use-cases. I think getting into builder mode and creating some cool will definitely accelerate your learning.

  • sargstuffa day ago
    On software side, building an OS (distribution) from scratch provides a step above bare metal programming[0].

    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