$30 off During Our Annual Pro Sale. View Details »

PyCon 2023 Keynote

PyCon 2023 Keynote

Python: The People's Programming Language This keynote given at the 20th anniversary of PyCon was about how Python's global network has an impact on the world. The key message is the importance of connection, communication, and scale on building an effective and resilient network.

Carol Willing
PRO

April 24, 2023
Tweet

More Decks by Carol Willing

Other Decks in Programming

Transcript

  1. 1
    Python: The People's
    Programming Language
    Building a Resilient Network for the Next Decade
    Carol Willing

    View Slide

  2. 2
    Thanks for


    sponsoring


    PyCon 2023.
    Core Developer


    Software Council
    Core Developer


    Steering Council - 3 term


    PSF Fellow
    willingc


    @[email protected]
    VP Engineering

    View Slide

  3. 3

    View Slide

  4. 4
    Distributed Computing
    and Networks
    Liskov Substitution Principle

    CLU language (cluster)

    Argus language (distributed)
    • data abstraction

    • fault tolerance

    • distributed computing

    View Slide

  5. 5
    Anthropology
    Linguistics
    Education
    AI
    Psychology
    Philosophy
    Neuroscience
    Cognitive Science and Learning

    View Slide

  6. 6
    Critical


    Global


    Issues

    View Slide

  7. 7
    Tech


    Trends

    View Slide

  8. 8
    You are here

    View Slide

  9. 9
    Uncertainty
    is a


    constant

    View Slide

  10. People
    10
    have


    opinions

    View Slide

  11. 11
    Node
    Group
    Network
    Connect
    Communicate
    Scale
    Python’s Distributed Network

    View Slide

  12. Margot Daniels-Tyler
    Encourage others to


    imagine the possible.
    12

    View Slide

  13. 2013
    a decade ago
    13

    View Slide

  14. 14

    View Slide

  15. 15
    Alzheimers
    How?
    Connect


    Communicate

    View Slide

  16. 16

    View Slide

  17. 17
    Using Senses to Connect
    Touch Hearing

    View Slide

  18. 18
    Using Senses to Guide Me
    I have no idea what the future holds for me. Yet, I am comforted that, just as my
    mother, I will use my senses to guide me through life and all its uncertainty.
    https://www.willingconsulting.com/blog/2013/02/05/using-senses-to-guide-yourself-through-the-fog

    View Slide

  19. 19
    Using Senses to Guide Me
    So what does the complex world of software development
    with its many languages and acronyms have to do with
    Alzheimer's? If one peels back the confusion around
    operating systems and varying ways to accomplish a task,
    good software makes sense. It becomes simpler and less
    complicated. It proves to be familiar and beautiful as it
    changes just like my mother's senses.
    https://www.willingconsulting.com/blog/2013/02/05/using-senses-to-guide-yourself-through-the-fog

    View Slide

  20. 20
    Using Senses to Guide Me
    As I continue to follow my passion and interest in
    writing software and building things, I plan to take
    enough time to admire the beauty, history, and art in the
    world around me. I also intend to share my interests
    with the next generation of problem solvers and lovers
    of creativity.
    https://www.willingconsulting.com/blog/2013/02/05/using-senses-to-guide-yourself-through-the-fog

    View Slide

  21. Connect
    21
    Came for the Language

    View Slide

  22. 22
    http://wefeel
    fi
    ne.org/book/

    View Slide

  23. Motivation
    Possibilities
    23
    Python's rich ecosystem
    2018
    2023
    Thank you to the maintainers.

    View Slide

  24. Motivation
    Connect with Interests
    24
    5 lines of
    code or less
    Personal
    interests
    music21

    View Slide

  25. Guido's Goals for Python
    25
    Intention
    Language Design for Success
    It should be an easy and intuitive language, just as powerful as major competitors.

    It should be open source, so anyone can contribute to its development.

    Its code should be understandable as plain English.

    It should be suitable for everyday tasks, allowing for short development times.

    View Slide

  26. Readability
    26
    Intention
    Accessible

    View Slide

  27. Choice
    27
    Intention
    Yes


    Production


    Prior experience with


    statically typed language
    No


    Learning


    Prototyping
    Flexible
    Type annotations

    View Slide

  28. PEPs: How to Teach This
    28
    Intention
    Build con
    fi
    dence
    PEP 701 - Syntactic formalization of f-strings
    You can place any valid Python expression


    within an f-string expression.
    You can place any valid Python expression


    inside an f-string expression, and


    everything after a : character at the top level
    will be identified as a format specification.

    View Slide

  29. Confidence


    Ready to connect


    29
    Send a request
    Decision

    View Slide

  30. 30
    Send a request
    Person
    Systems


    Database


    API
    https://www.drchriseducation.com/
    product/neural-networks-for-babies/
    Decision
    Tools


    ChatGPT


    LLM


    Autonomous agents

    View Slide

  31. 31
    Aside: Neural Networks
    My perspective: Understand and Experiment
    https://github.com/noteable-io/genai https://noteable.io/gallery/
    Work in the Open Provide Examples

    View Slide

  32. 32
    Aside: Neural Networks
    My perspective: Understand and Experiment
    Assist: Beginners to Experts

    View Slide

  33. 33
    Aside: Neural Networks
    My perspective: Helpful voices for learning
    Jeremy Howard & Rachel Thomas
    https://simonwillison.net/
    Simon Willison
    https://datasette.io/
    https://fast.ai

    View Slide

  34. Trust (maybe) but verify
    34
    Receive a response
    Process information
    MIT Sloan Management Review, Spring 2023

    View Slide

  35. Monitoring
    35
    Maintain
    Connections

    View Slide

  36. 36
    Disconnect
    Loopback

    View Slide

  37. 37
    Reconnect
    Monitor

    View Slide

  38. • Motivation

    • Intention

    • Send a request

    • Receive a response

    • Disconnect

    • Reconnect
    38
    Connect
    Came for the Language

    View Slide

  39. Communicate
    39
    Stayed for the Community

    View Slide

  40. 40
    In reality, programming languages
    are how programmers express and
    communicate ideas — and the
    audience for those ideas is other
    programmers, not computers.
    http://neopythonic.blogspot.com/2016/04/kings-day-speech.html
    – Guido van Rossum

    View Slide

  41. 41
    Broadcast messages

    View Slide

  42. 42
    Translators bridge different protocols
    23 Wow!

    View Slide

  43. Translators: programming
    languages and domains
    43
    Complex Issue of Water Quality

    View Slide

  44. 44
    Topology: Network Clusters
    "File:P2P Topology.jpg" by Txelu Balboa is licensed under CC BY-SA 2.5.

    View Slide

  45. 45
    Share
    Shauna Gordon-McKeon
    Outreach cluster
    Mentor
    Build skills

    View Slide

  46. 46
    FabLab San Diego source: San Diego Union Tribune
    Local clusters

    View Slide

  47. 47
    Virtual clusters

    View Slide

  48. 48
    Django Girls cluster

    View Slide

  49. 49
    Open Hardware and Python cluster

    View Slide

  50. 50
    Pyladies cluster

    View Slide

  51. 51
    PyCon 2017 Language Summit
    Credit: LWN.net
    Core development cluster
    Contributors, Triage Team, Core Developers
    PyCon 2019 Core Dev Sprint - Bloomberg London

    View Slide

  52. 52
    Conferences cluster

    View Slide

  53. Who is missing?


    Why?
    53
    PyCascades 2023 quote paraphrased:

    I can be who I am. There's maybe a place for me.
    Clusters in Network Analysis
    Network Topology

    View Slide

  54. 54
    Network expansion

    View Slide

  55. 55
    Python's network


    depends on
    communication

    View Slide

  56. Scale
    56
    Global Impact

    View Slide

  57. 57
    the most important
    lesson I learned...
    sharing
    – Guido van Rossum
    http://neopythonic.blogspot.com/2016/04/kings-day-speech.html

    View Slide

  58. Start small and
    scale
    58

    View Slide

  59. 59
    Interactive computing
    is a tool of connection.
    —Prof. Lorena Barba
    2014
    Lorena Barba &

    Natalia Clementi

    View Slide

  60. 2014
    60
    65,848


    notebooks on GitHub
    https://github.com/parente/nbestimate/blob/master/estimate.ipynb

    View Slide

  61. Today
    61
    11,226,249


    notebooks on GitHub
    https://github.com/parente/nbestimate/blob/master/estimate.ipynb

    View Slide

  62. How did we grow to over


    11 million notebooks in a decade?
    62

    View Slide

  63. 63
    It started with


    communication,


    problem solving,


    passion, and


    simplicity

    View Slide

  64. Start small and
    scale
    64

    View Slide

  65. 65
    PyLadies, you are the most-e
    ff
    ective
    grass-roots professional organization in IT.
    Your positive impact is all around me. I am a
    huge fan!
    Luciano Ramalho, a distinguished writer and
    teacher of Python worldwide

    View Slide

  66. 66

    View Slide

  67. 67

    View Slide

  68. 68
    Meet PyLadies,
    the women-led
    group helping
    120,000 coders
    across the globe
    land jobs and
    diversify the
    popular Python
    programming
    language

    Insider 2021

    View Slide

  69. 69
    Insider 2021
    It's clear that women are
    underrepresented in
    open source software
    overall: Figures
    reported by GitHub in
    2020 show that 90% of
    all contributors to open
    source projects identify
    as male, while only
    around 3% identify as
    female.

    View Slide

  70. 70
    Insider 2021
    To encourage women,
    we need to show and
    make role models and
    mentors accessible to
    them," said Abigail
    Dogbe, a fellow at the
    Python Software
    Foundation and lead
    organizer of PyLadies
    Ghana.

    View Slide

  71. 71
    On a personal
    level, there's
    many times
    where you think,
    'okay, is this
    worth it?' And
    then I look at the
    other PyLadies
    who are around
    the world and
    the impact it has
    on them.
    Insider 2021
    Marlene Mhangami

    View Slide

  72. 72
    And I'm like,
    okay, tech
    might not be
    worth it, but all
    these people
    are worth it.
    Insider 2021

    View Slide

  73. Start small and
    scale
    73

    View Slide

  74. 74
    Scaling the Python Network

    View Slide

  75. 75
    Selena Deckelman
    Great leaders inspire
    others to lead
    Lynn Root
    Audrey Roy Greenfeld

    View Slide

  76. 76
    Mobile will help us expand

    View Slide

  77. 77
    WebAssembly will open new doors
    Past, Present, Future
    PyCon Colombia 2019 PyCon 2023 https://github.com/psf/webassembly
    Future
    Attended by Core Developers, Steering Council
    members, PSF Board members, Interested
    parties from industry and education.
    https://snarky.ca/
    https://pyscript.net/
    https://pyodide.org/

    View Slide

  78. 78
    Humility
    Long term success


    Learn from failures


    Innovate

    View Slide

  79. Increase the probability


    of success
    79
    in an uncertain world
    Global Impact
    Scale

    View Slide

  80. 80
    Python's Global Network
    Call to Action

    View Slide

  81. 81
    Node
    Group
    Network
    Connect
    Communicate
    Scale
    Python’s Global Network

    View Slide

  82. 82
    Maintain Python's Global Network
    Join the Python Software Foundation

    Participate in user groups

    Share your knowledge

    Ask questions

    Take 5 minutes to encourage others to imagine

    the possible

    View Slide

  83. 83
    ...a programming
    language created by a
    community fosters
    happiness in its users
    around the world.
    – Guido van Rossum
    http://neopythonic.blogspot.com/2016/04/kings-day-speech.html

    View Slide

  84. 84
    Succeed with our
    Resilient, Global Network
    Python: The People's
    Programming Language

    View Slide

  85. 85

    View Slide

  86. 86
    CHANGED OUR


    WORLD
    Python's Network

    View Slide

  87. 87
    Thank you

    View Slide

  88. 88
    Thank you
    Special thanks to Mariatta
    for too many things to put
    on this slide.
    I'm so grateful for the
    past decade with Python.
    Until our paths cross again,
    safe journeys with Python.

    View Slide