Lists are dynamic arrays, not generic sequences
Pointers, overallocation, shifting costs, and the choices hidden behind Python list operations.
Independent field notes / Vol. 01
Precise explanations of the machinery, patterns, and tradeoffs that make Python feel deceptively simple.
Read the cover storyThe index
49 notes, edited for signal.
Pointers, overallocation, shifting costs, and the choices hidden behind Python list operations.
Choose names that expose domain decisions, ownership, units, and boundaries instead of narrating syntax.
Build a precise model of binding, mutation, copying, argument passing, closure cells, identity, and API ownership.
Understand Python name binding so mocks replace the object production code will actually resolve.
Use distribution entry points for explicit plugin discovery, lazy loading, validation, conflict policy, testing, and operational visibility.
Design process workers around explicit values, importable callables, transfer costs, and start-method realities.
Use cProfile and pstats to locate expensive call paths before choosing what to optimize.
Design around behavior with Python data-model protocols, structural typing, narrow contracts, and honest runtime validation.
Editorial policy
No listicles. No folklore. No just trust me abstractions.
Every note should leave you with a better model of the system, not just another snippet to paste.