Artwork

Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Episode 19: Async hacks, unicorns and velociraptors

2:07:21
 
Share
 

Manage episode 470294661 series 3522009
Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

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

  continue reading

21 episodes

Artwork
iconShare
 
Manage episode 470294661 series 3522009
Content provided by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

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

  continue reading

21 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide

Listen to this show while you explore
Play