Query the archive
Find the right depth.
Filter the notebook by what you know, how much time you have, and where you want to go next.
14 matching notes
| The fastest operation is the one your algorithm avoids | intermediate | 32 min | 3.10+ | Performance, Algorithms |
| Containers are bundles of protocols | advanced | 26 min | 3.10+ | Object Model, Data Structures |
| Deque, heap, and bisect: choosing the non-obvious container | advanced | 31 min | 3.10+ (3.14+ for max-heaps) | Internals, Data Structures |
| How classes are built | advanced | 32 min | 3.10+ | Internals, Object Model |
| Lists are dynamic arrays, not generic sequences | advanced | 32 min | 3.10+ | Internals, Data Structures |
| Building plugin discovery without directory-scanning hacks | advanced | 33 min | 3.14 | Architecture, Packaging |
| Protocols beat inheritance | advanced | 29 min | 3.10+ | Architecture, Object Model |
| Sets: dictionaries with different tradeoffs | advanced | 33 min | 3.10+ | Internals, Data Structures |
| What __slots__ really changes | advanced | 29 min | 3.10+ | Internals, Object Model |
| Strings are Unicode storage strategies | advanced | 35 min | 3.10+ | Internals, Data Structures |
| Structural typing meets runtime protocols | advanced | 27 min | 3.10+ | Typing, Object Model |
| Task groups and failure propagation | advanced | 31 min | 3.11+ | Concurrency, Error Handling |
| Tuples, records, and the cost of shape | advanced | 36 min | 3.10+ | Internals, Data Structures |
| How Python dictionaries actually remember | advanced | 34 min | 3.10+ | Internals, Data Structures |