What I'm doing at ^C
Besides playing curseofwar and lurking with Iris, I'm mostly doing assembly (x64 linux) right now. The plan is to work my way through the syscalls and create example code for each.
A future project will be creating a humane assembler for web assembly, because "wat" syntax is OUCH.
As a result of doing this assembly stuff, I now have a couple of resources on my Web site:
The syscalls are just what it says: every syscall in Linux, with its register meanings.
The "Destructed" database solves a problem I've been having myself. Kernel and C-library code are extremely convoluted, so it's hard to divine the ultimate sizes of struct fields, which are crucial to working with syscalls. This database gives you the structure in NASM form, so you can just copy and paste into your .asm, or even insert it from VIM -- sweet!
The struct database took a ton of munging of /usr/include, plus gdb hacks and whatnot to build. But YES it's there. It's one of those things I am quite proud of, but nobody else cares, heh.
Still though, I had a blast poking around in kernel code, it almost felt like I was reverse engineering.