Systems programming as a swiss army knife

Short Form


Why understanding some systems programming basics will make you a better developer.


You might think of the Linux kernel as something that only kernel developers need to know about. Not so! It turns out that understanding some basics about kernels and systems programming makes you a better developer, and you can use it in concrete ways in your normal run-of-the-mill programs.

We’ll talk about how to use strace, ltrace, /proc, and friends to debug your servers and your misbehaving programs. A few specific tricks we’ll cover:

  • how to recover files with /proc (and other tricks)
  • using strace to understand programs without reading their source code
  • easily hunting down which log file a program is writing to and what commands it’s executing

You’ll come away with a new toolset for debugging your programs that work in any programming language. This talk will be Linux-specific.


kernel, debugging

Speaking experience

I've spoken at PyCon Canada, PyData NYC, and am speaking at PyCon this year. I also speak pretty frequently at local user group meetups.

Video of me speaking before:

I have not given this talk before.


  • Julia Evans



    Julia Evans works on building models to detect fraud at Stripe. She loves taking apart systems to find how they work, making Serious Computer Programs do silly things, and organizing outreach events to make our developer communities a better place.