2025-11-08 –, Room 301B
Many talks show how to make Python code faster. This one flips the script: what if we try to make our Python as slow as possible? By exploring deliberately inefficient programs — from infinite loops to Turing machines that halt only after an astronomically long time — we’ll discover surprising lessons about computation, large numbers, and the limits of programming languages. Inspired by new Turing machine results, this talk will connect Python experiments with deep questions in theoretical computer science.
Performance is usually about speed. But slowness has its own story to tell.
In this talk, we’ll investigate a progression of Python programs, each designed under a different “rule set”:
- Anything Goes: the trivial infinite loop.
- Must Halt, Finite Memory: nested loops with fixed ranges.
- Tiny Machines with Absurdly Long Runs: abstract machines (emulated in Python) that eventually halt, but only after more-than-astronomical time.
- Plain Python with Infinite Memory and Absurdly Long Runs: short Python code with zero-initialized, unbounded memory; its runtime dwarfs the lifetime of the universe.
Along the way, we’ll explore a famous problem in theoretical computer science called the Busy Beaver challenge. You don’t need to know what that is yet; part of the fun is discovering why it fascinates researchers, and why it makes even ‘small’ programs capable of unimaginable slowness.
Takeaways:
- A fresh perspective: performance slowness can be as illuminating as speed.
- Concrete Python code you can run to explore programs that push the limits of time.
- An intuitive sense for how simple rules can encode enormous complexity.
No prior background in theoretical computer science is required. The talk is playful, hands-on, and grounded in Python examples.
Carl Kadie leads the FaST-LMM open-source Python project for genomics. He also contributes to other Python and Rust projects, including a visualizer for the Turning Machine bbchallenge.org website. Previously, Carl was a Principal Applied Scientist at Microsoft and Microsoft Research, where he worked in machine learning, statistics, and genomics, with publications in Science and Nature.
(On the side, he writes fun articles about Python, Rust, and scientific programming on Medium.)