The Long Hello World
Hello World is often used as a stand-in for "the simplest program", great for teaching and getting people started on their coding journey. But what really happens in that one line? This talk will be a deep dive into the Python interpreter, C libraries, Linux kernel, and beyond. We will poke holes in every abstraction and learn about our computers like never before, both to aid in debugging and to pick the best level of tooling for future development projects.
See this talk and many more by getting your ticket to PyCon AU now!
I want a ticket!As described in the abstract, this talk is a 30 (or more) minute deep dive into the line print("Hello world")
. This will include Python-level things like the parser, abstract syntax trees, and peeping at the generated bytecode, then how that bytecode is interpreted (and now JIT'd) by CPython, how the print()
builtin gets found and executed, what's inside builtin_print_impl()
and how that eventually calls into libc, then (time permitting) into syscalls, kernel-space code, file descriptor tables, and then back up the stack towards the shell and then terminal program receiving the output. I would like to fit in at least a little bit of a discussion of x86_64 instructions as well, likely as part of discussing how syscalls actually work. The goal is for everyone to walk away with a better understanding of what goes on "under the covers", and to be more comfortable diving down into deeper layers of abstraction when needed for debugging or future development.

Noah Kantrowitz is a web developer turned infrastructure automation enthusiast, and all around engineering rabble-rouser. By day he runs infrastructure at Geomagical/IKEA and by night he makes candy and stickers. He is an active member of the DevOps community, and enjoys merge commits, cat pictures, and beards.