- Slides
- Nine levels of hell, leading to tech debt
- References and builds on prior talks and writing
- Puts mocking in historical TDD/OOP context, disambiguates it from other kinds of test doubles
- Works through example of getting out of hell via stubs/fakes, seams, dependency injection, clean architecture, etc.
- Slides
- Good overview of utility/math of cyclomatic complexity, Halsted metrics, and maintainability index
wily
graphs metrics trends based ongit
history- Fewer lines != less complex, Test coverage != behavior coverage
- Interprets six lines of "Zen of Python" as they apply to team culture
- High-level overview of simple-to-complex scenarios
- Start simple with WhiteNoise, eventually use
django-storages
for media on S3 anddjango-webpack-loader
for modern JavaScript
- Slides
- Fun problem statement and narrative about reducing toil with automation
tox
for testing, managing virtual environments, via.ini
filesnox
for same, plus general project automation, via Pythoninvoke
for general task-based automation, via Python
- Slides
- Observability == What's going on? Why did things go wrong?
- How to improve logging and metrics to tell the narrative of a web app
- How to manage the complexity and tech debt that arise from feature flags
- How to adapt company processes and culture around feature flags
- Slides
- Balanced view of a common debate, with examples and pros/cons of both approaches
- Slides
- Good overview of why, use cases of Python 3.8 feature
[y for x in data if y := f(x)]
if match := pattern.search(data)
- Good overview of PEP process, controversy, steering council
- Good introduction to theory of abstract/concrete syntax trees, with examples
- Used in
lib2to3
,futurize
,black
, etc. - Also useful for refactoring (but not clear how)
- Reasoning and implementation behind the popular "Opinionated, Deterministic, Consistent, Fast" formatter from its creator
- Use automation (instead of noisy linter) to focus on logic, not code style
- Builds on syntax trees talk
- Slides
- Blog post: the state of type hints in Python
- Why and how, with current gotchas and coming improvements
- Easier understandability, maintainability, editing; like unit tests, but for type correctness
- Narrative about Dropbox's motivation for and challenges faced during adoption
- Annotate legacy code to support new code and enable "aggressive refactoring"
- Used social pressure for adoption
- Performance challenges impeding adoption (and their solutions) were due to scale
- Slides
- A little too abstract/simple/quick, but still a decent introduction to changing code structure, not behavior
- Slides
- CircuitPython demo: make blinky lights and noise with Python!
- Lots of links in slides PDF
- Slides
- Nice walkthrough from problem to implementation of
miss-islington
, a bot for backporting CPython pull requests
- Slides
- Generally follows official PyPA guide to publish your first package so you can
pip install
- Example of automation via
nox
and CircleCI
- Elana Hashman
- Talk Resources
- Decent background on evolution of wheels
- Most focus on native extensions (e.g.
cryptography
library) andmanylinux
effort to improve adoption
- Slides
- Lot of theory, not an introduction; there are other docs and talks for that