Live data from Hacker News

Ask HN: Going low-level – what to learn next?

news.ycombinator.com

31–40 of 59 posts

Re: Ask HN: Going low-level – what to learn next?

#33
Maybe side-step into the most fun hobby in low-level computing: OS development.

https://wiki.osdev.org/Main_Page

It will give you a much more holistic view of computers-as-hardware and the low-level intricacies, that are in my opinion more useful and more foundational than just being good at optimising a hot-loop.

I did it in my teenage years, and it's my first true and only love. Now almost 20 years later I'm back at it, this time with all the accumulated experience in software engineering. There is nothing quite like it. Any basic, trite design (i.e. the usual POSIX clone) will teach you a great deal about the entire stack.

Re: Ask HN: Going low-level – what to learn next?

#34
Go to oswiki and find out how to use an off the shelf real-mode boot loader to get qemu-system-x86_64 to boot into some code you write that adds 1 and 1 and leaves it in the A register. Find out how to use qemu to single step and see your 2 in the register.

Then write your own OS.

Re: Ask HN: Going low-level – what to learn next?

#35
post #12

to be honest, i think you have it all there - now write something useful using it

This is really the key. Grinding something you don't actually enjoy or find useful is pretty deathly, even if you get actively paid for it. "Low level", as others have said, is a very, very broad field and if you have an general interest in lower-level stuff, home in on what specifically interests you by trying to achieve some actual goal of use or interest to you.

It doesn't really matter what it is, it could be porting FeeeRTOS to your toaster, writing a kernel driver for something, reversing some device protocol, implementing something on an FPGA or building some embedded device or hacking another one into something else. Just get stuck into something and feel the gravity of your open interests.

Nothing you learn along the way will be a waste.

Re: Ask HN: Going low-level – what to learn next?

#36
CUDA programming (writing CUDA kernels) might be a good direction too.

GPU race is getting really hot and there is a lot of work being done to squeeze every ounce of performance especially for LLM training and inference.

One resource I would recommend is “Programming massively parallel processors” [1]

I am also learning it as my hobby project and uploading my notes here [2]

[1] https://shop.elsevier.com/books/programming-massively-parall...

[2] https://github.com/mandliya/PMPP_notes

Re: Ask HN: Going low-level – what to learn next?

#38

an optimizing Lua or Lisp compiler

Yes: +1, this. Learning Lua is a great way to get introduced to a lot of low-level concepts, from bytecode to VM's to language design and beyond.

Ironically, I've been avoiding learning Lua for quite some time for some reason. I guess it's finally time to give it a try!

Re: Ask HN: Going low-level – what to learn next?

#39

Join the Handmade Network [0]. Much can be learned by hanging out with the right kind of competent/enthusiastic crowd. And if you allow the plug, I run the conferences [1]. [0] https://handmade.network [1] https://handmadecities.com

It seems that I've been on a right track in some sense - I stumbled upon Handmade Network a few weeks ago!

Re: Ask HN: Going low-level – what to learn next?

#40
post #5

RTOS, robotics, virtual machines, bare metal games. Or move on to the GPU and pick up CUDA?

Unless you are working on firmware for the actual actuators I would argue that nowadays robotics is not that low level as OP is aiming for.

Nowadays robotics is about throwing stuff (including ROS, necessarily) in docker containers and running them on an Ubuntu 24.04 onboard the robot, and then adding GPUs and say "so that we can do AI in the future", right?

At least that's my experience :-).

Post reply on HN