Episode 19: Async hacks, unicorns and velociraptors
Description
In this asynchronous episode we're interviewing a fellow core developer Yury Selivanov to talk about asyncio's past and future, composable design, immutability, and databases you'd actually like using. We also broke the 2-hour episode barrier!
## Timestamps
(00:00:00 ) INTRO
(00:01:33 ) PART 1: INTERVIEW
(00:02:27 ) What drives you?
(00:04:47 ) How do you choose what to work on?
(00:08:10 ) Hyperfocus
(00:09:28 ) Things from Rust that Python could use
(00:14:50 ) Nothing is sacred when you depend on glibc
(00:18:47 ) TypeScript typing is god-tier
(00:22:04 ) Adding async and await to Python
(00:34:11 ) Adding new keywords to the language
(00:41:17 ) Jumping into a new codebase
(00:49:22 ) Any design regrets?
(00:58:46 ) Contextvars
(01:10:40 ) Is the frozenmap PEP happening?
(01:19:21 ) uvloop
(01:23:25 ) What makes Gel lovable?
(01:39:57 ) PART 2: PR OF THE WEEK
(01:47:08 ) Saturday talks at PyCon should be fun
(01:50:35 ) PART 3: WHAT'S GOING ON IN CPYTHON
(01:50:47 ) Ken Jin's tail-call interpreter
(01:55:05 ) Barney Gale's glob.glob() optimization
(01:55:43 ) Brandt's boolean guards to narrow types to values in the JIT
(01:56:33 ) Mark Shannon's stack limits implemented with addresses, not counters
(01:58:34 ) Brandt's removal of _DYNAMIC_EXIT
(01:58:53 ) Mark Shannon's async for branches instrumented
(01:59:36 ) Free-threading changes
(01:59:58 ) Sam Gross' regression tests can now run in --parallel-threads
(02:00:34 ) Tomasz Pytel's thread safety crusade
(02:01:01 ) Xuanteng Huang's __annotations__ race fix
(02:01:11 ) Kumar's per-thread linked lists for tasks
(02:02:54 ) Serhiy's crashes related to PySys_GetObject() fixed
(02:03:22 ) Sam's usage of stack pointers in thread stack traversal
(02:03:38 ) Dino Viehland's lock avoidance during object cleanup
(02:04:23 ) OUTRO