These are great. Her blog has some really interesting reads as well. Does anyone have any good resource/book/etc. recommendations for learning more about Linux filesystems, signals, syscalls, /proc, etc.?
Design & Implementation of Operating Systems (the minix book) by Andrew Tanenbaum.
Advanced Programming in the UNIX Environment by Richard Stevens
Design & Implementation of FreeBSD
Not trying to troll by recommending a Minix & FreeBSD book, they’re all very good titles. Minix book goes into studying the source which may not be your thing but the reason I listed it is because It assumes zero prior knowledge of internals & brings you up to speed.
APUE will teach you the interfaces commonly available and how to use them.
D&I FreeBSD is really well written in a long series spanning back to the late 80s covering 4.3BSD.
For the Linux specific implementations of features such as procfs & file systems in general, I recommend a healthy dosage of Bryan Cantrill videos on his commentary of implementation in Linux. He’s definitely covered file systems & procfs among many other things.
Off the top of my head, file systems was touch on in his last bsdnow interview
It is sadly out of date, but Vahalia’s Unix Internals: A New Frontier is really well written and covers a lot of ground, albeit as of 1996.
I don’t understand why these, frankly, childish drawings of things you can learn from reading a wikipedia article have reached this level of popularity.
I’d be the first to point out that I’m not a particularly talented artist. So why do I spend my time drawing comics, when I’m not even that good at drawing?
it’s because I’ve found they’re, in some situations, such a great way to communicate that I feel silly not taking advantage of it
A few reasons:
Comics are great for summarizing. I wrote a blog post at work about how we do service discovery. I started out with just writing 1200 words, and trying to be as informative as possible. I thought it was pretty good. But then I drew a comic summarizing a main ideas! A really common reaction was “wow, the blog post took me 15 minutes to understand, but after reading the comic I understood the main ideas in 30 seconds”. This is awesome because somebody can see the main ideas and decide whether they want to continue reading.
I can trick people into reading about concepts that they might otherwise think are too hard or not useful or not fun. I wrote a zine called “linux debugging tools you’ll love” (here). This zine discusses a lot of tools which are traditionally considered a little bit advanced. Because of that, a lot of people don’t even know they exist, or might not consider trying them! All kinds of people have told me “julia, i read your zine, and the next day I used a tool in it to fix a bug at work”.
They’re an awesome way to introduce people to new ideas. Anyone can learn about /proc! It is not that complicated. But a lot of people don’t even know /proc is interesting. This comic about /proc took me maybe 15 minutes to draw. I posted it on twitter and it got 180,000 impressions. A lot of people replied to me “wow, that’s so useful, I didn’t even know that that existed, I’m going to go learn more about that now!!”. They will probably learn more about it by reading the man page or Wikipedia or some more traditional means. But they learned about it from a silly drawing :)
Basically, I do it because I love telling people things about computers that help them (“omg julia, i had no idea about this, this, this is so useful”), and silly drawings turn out to be a pretty effective way to do that.
Thanks for the great answer, but as I’ve already been downvoted as a ‘troll’, I won’t comment any more.
Because they have a carefully chosen tone that maintains a sense of psychological safety. If you’ve never been told off for learning I doubt it’d make a lot of sense.
Yeah, it doesn’t make much sense for me to need psychological safety when learning about /proc.