| 19 Jun 2024 |
The Prehistory of Kubernetes: From Cubic Equations to Cloud Orchestration |
| 07 May 2023 |
Safe, Simple, Automatic Releases |
| 30 Dec 2022 |
The "Dynamic" Properties in PyProject |
| 14 Aug 2022 |
On The Go |
| 20 Feb 2022 |
Reading the Documentation for Popular Products |
| 24 Dec 2021 |
Three Problems with a Tool |
| 15 Aug 2021 |
Better Outage Retrospectives |
| 15 Jul 2021 |
Empathy vs. sympathy for Site Reliability Engineers (SRE) |
| 07 Jul 2021 |
Minimal packing list |
| 16 Jun 2021 |
Post that PR |
| 05 Apr 2021 |
Portable Python Binary Wheels |
| 11 Mar 2021 |
So you want to create a universe |
| 18 Feb 2021 |
Virtual Buffet Line |
| 11 Dec 2020 |
DRY is a Trade-Off |
| 19 Sep 2020 |
Fifty Shades of Ver |
| 20 Aug 2020 |
Universal Binary |
| 24 Jul 2020 |
The Hardest Logic Puzzle Ever (In Python) |
| 12 Jul 2020 |
Hey, Back Off! |
| 03 Jul 2020 |
A Labyrinth of Lies |
| 13 Jun 2020 |
Conditionally Logging Expensive Tasks |
| 26 Apr 2020 |
My Little Pony -- DevOps is Magic |
| 26 Apr 2020 |
Numbers in Python |
| 21 Apr 2020 |
Goodbye, John H. Conway |
| 13 Apr 2020 |
Using Twisted to Massively Parallelize Web Clients |
| 04 Apr 2020 |
Comfort with Small Mistakes |
| 12 Mar 2020 |
Or else: |
| 19 Feb 2020 |
Forks and Threats |
| 30 Dec 2019 |
Meditations on the Zen of Python |
| 17 Dec 2019 |
Precise Unit Tests with PyHamcrest |
| 17 Nov 2019 |
Raise Better Exceptions in Python |
| 17 Oct 2019 |
An introduction to zope.interface |
| 16 Sep 2019 |
Adding Methods Retroactively |
| 07 Aug 2019 |
Designing Interfaces |
| 12 Jul 2019 |
Interfaces are forever |
| 27 May 2019 |
Analyzing the Stack Overflow Survey |
| 15 May 2019 |
Inbox Zero |
| 08 Apr 2019 |
Publishing a Book with Sphinx |
| 29 Mar 2019 |
A Local LRU Cache |
| 13 Feb 2019 |
Don't Make It Callable |
| 24 Jan 2019 |
Staying Safe with Open Source |
| 08 Jan 2019 |
Checking in JSON |
| 08 Dec 2018 |
Office Hours |
| 28 Nov 2018 |
Common Mistakes about Generational Garbage Collection |
| 07 Nov 2018 |
The Conference That Was Almost Called "Pythaluma" |
| 06 Oct 2018 |
Why No Dry Run? |
| 02 Sep 2018 |
Managing Dependencies |
| 02 Aug 2018 |
Tests Should Fail |
| 02 Aug 2018 |
Thank you, Guido |
| 01 Jul 2018 |
Composition-oriented programming |
| 01 Jun 2018 |
Avoiding Private Methods |
| 16 May 2018 |
PyCon US 2018 Twisted Birds of Feather Open Space Summary |
| 15 May 2018 |
PyCon 2018 US Docker Birds of Feather Open Space Summary |
| 02 May 2018 |
Wheels |
| 02 Apr 2018 |
Web Development for the 21st Century |
| 19 Mar 2018 |
Running Modules |
| 14 Mar 2018 |
Random Bites of Pi(e) |
| 01 Feb 2018 |
The Python Toolbox |
| 30 Dec 2017 |
Jupyter for SRE |
| 17 Dec 2017 |
Write Python like an expert |
| 13 Dec 2017 |
Interesting text encodings (and the people who love them) |
| 10 Dec 2017 |
Exploration Driven Development |
| 14 Nov 2017 |
Abstraction Cascade |
| 13 Nov 2017 |
Gather |
| 27 Sep 2017 |
Brute Forcing AES |
| 19 Sep 2017 |
Announcing NColony 17.9.0 |
| 30 Aug 2017 |
SSH to EC2 |
| 07 Aug 2017 |
Python as a DSL |
| 25 Jul 2017 |
Image Editing with Jupyter |
| 19 Jul 2017 |
Anatomy of a Multi-Stage Docker Build |
| 17 Jul 2017 |
Bash is Unmaintainable Python |
| 25 Jun 2017 |
Imports at a Distance |
| 24 Jun 2017 |
X Why Zip |
| 09 Jun 2017 |
Nitpicks are for Robots |
| 29 Apr 2017 |
My Little Subclass: Inheritance is Magic |
| 11 Apr 2017 |
PYTHONPATH Considered Harmful |
| 17 Mar 2017 |
Shipping Python Applications in Docker |
| 07 Mar 2017 |
Pelican -- an Experiment |