strace lets you look into the soul of a program and see how it works. Without even seeing the source code! ANY program. I've become kind of obsessed with it and I'd like to share my obsession with you. We'll learn about system calls and go through a couple of practical examples of how to use strace to solve your everyday programming problems.
1: Hello!!!!
2-4 Okay what even is strace?!
5-6: use strace to understand killall!
7-8: debug shared library problems with strace!!!
9-10: avoid reading Ruby code with strace!
- the actual examples I use may change as I discover new and more amazing uses of strace
I think it's suitable for beginner-to-intermediate audiences. I'll explain what a system call is. It is specific to Linux users because strace doesn't work on OS X. That might not be the best.
I have written a bajillion blog posts about strace.