Other articles


  1. Good developers care about their tools - 2020 October 15

    Good tools are important and organizations that shut down progress on this front don't succeed longer term.


    read more
  2. Default parameters and sentinel objects - 2020 August 18

    How you can use sentinel objects to define default parameters in Python without running into the mutable default parameter pitfall.


    read more
  3. Python's data model and intuitive operators - 2020 July 11

    Being familiar with the implications of Python's data model will help you be able to make more intuitive APIs.


    read more
  4. Updating your setup.py files to the newer format - 2020 May 11

    One of the not so nice things about legacy installable python packages is the executable nature of setup.py files. This means amongst other things that you can't reliably determine the contents of some setup.py files without arbitrary code execution. This is what led to PEP 518 which specified a declarative metadata format that can be stored in easy to parse file. Updating is a pain though, but thankfully there's some tooling that makes this easier as I found out recently.


    read more
  5. Creating your own user events in pygame - 2020 April 21

    Here's how you can create your own user events in Pygame.


    read more
  6. Finding out what a python script imports - 2020 April 16

    Finding out what a Python module imports


    read more
  7. Pylint false positives with C extensions - 2020 April 14

    Pylint can give you false positives for missing-member errors when C extensions are involved, here's why and what you can do to avoid the issue.


    read more
  8. Stringly typed functions - 2020 March 28

    An overuse of strings when you could use better types is an antipattern I commonly see when doing code review of distressed systems. This tends to come up more often in older languages that have weaker type systems, but the issue can come up in more modern language also.


    read more
  9. Happy leap day! - 2020 February 29

    Happy leap day!


    read more

Page 1 / 4 »