Greg Ward

Greg Ward

I've been using and contributing to open source software since before it was called open source. I have contributed to Python, Mercurial, and many more projects, and I have been working professionally as a programmer for over 25 years. In short, I've been around long enough to make a lot of mistakes, and now I want to help others avoid those mistakes.

Sessions Montréal 2025

Oh Python! Where Did We Go Wrong?

Session en anglais - Intermédiaire

20 years ago, the Python community was rightly proud of clear, transparent, obvious code. With growth of the language and the community, we have forgotten the importance of this. I'll discuss some of the technologies that make it too easy to write unclear, obfuscated Python code shrouded in implicit dependencies: decorators, active records, metaclasses, and more. And I will discuss ways back to the true path: how can we make our code clear again?

Stop Using (Quite So Many) Mock Objects

Session en anglais - Intermédiaire

Mock objects are a great trick for testing code that cannot be tested any other way. Unfortunately, a lot of developers have interpreted that to mean that mock objects should be used for testing any and all code. This leads to tests that are not very thorough, tightly coupled to the code under test, hard to understand, and hard to modify. I'll discuss some techniques that help you write better tests -- most importantly, fakes and stubs.

Sessions Montréal 2017