home.social

#pycon2025 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pycon2025, aggregated by home.social.

  1. YEAR IN REVIEW: Social/health

    - Very bad #MentalHealth, including a real mid-life crisis (not done)
    - Ate w/ strangers indoors >0 times, thanks to nasal sprays, leading to…
    - A relatively fun, social #PyCon2025
    - Got a li'l closer to being a full-time #pescatarian
    - Incredible amount of family drama, jfc (not done)
    - Switched my caffeinated mint brand
    - Got back to my #tea habit
    - First new pair of glasses since moving back East
    - Incredible run of lovely weather late summer/early fall

  2. YEAR IN REVIEW: Social/health

    - Very bad #MentalHealth, including a real mid-life crisis (not done)
    - Ate w/ strangers indoors >0 times, thanks to nasal sprays, leading to…
    - A relatively fun, social #PyCon2025
    - Got a li'l closer to being a full-time #pescatarian
    - Incredible amount of family drama, jfc (not done)
    - Switched my caffeinated mint brand
    - Got back to my #tea habit
    - First new pair of glasses since moving back East
    - Incredible run of lovely weather late summer/early fall

  3. YEAR IN REVIEW: Social/health

    - Very bad #MentalHealth, including a real mid-life crisis (not done)
    - Ate w/ strangers indoors >0 times, thanks to nasal sprays, leading to…
    - A relatively fun, social #PyCon2025
    - Got a li'l closer to being a full-time #pescatarian
    - Incredible amount of family drama, jfc (not done)
    - Switched my caffeinated mint brand
    - Got back to my #tea habit
    - First new pair of glasses since moving back East
    - Incredible run of lovely weather late summer/early fall

  4. YEAR IN REVIEW: Social/health

    - Very bad #MentalHealth, including a real mid-life crisis (not done)
    - Ate w/ strangers indoors >0 times, thanks to nasal sprays, leading to…
    - A relatively fun, social #PyCon2025
    - Got a li'l closer to being a full-time #pescatarian
    - Incredible amount of family drama, jfc (not done)
    - Switched my caffeinated mint brand
    - Got back to my #tea habit
    - First new pair of glasses since moving back East
    - Incredible run of lovely weather late summer/early fall

  5. YEAR IN REVIEW: Social/health

    - Very bad #MentalHealth, including a real mid-life crisis (not done)
    - Ate w/ strangers indoors >0 times, thanks to nasal sprays, leading to…
    - A relatively fun, social #PyCon2025
    - Got a li'l closer to being a full-time #pescatarian
    - Incredible amount of family drama, jfc (not done)
    - Switched my caffeinated mint brand
    - Got back to my #tea habit
    - First new pair of glasses since moving back East
    - Incredible run of lovely weather late summer/early fall

  6. 🌏 Coming to PyCon AU from overseas?

    If you're traveling from outside Australia, now is the time to get your visa sorted!

    We’ve just published updated information to help you prepare your visa application. Visa processing can take time, so check it out and don't be late!

    👉 2025.pycon.org.au/attend/inter

    #PyConAU #PyCon2025 #PyCon #Python

  7. Everyone’s loving the avatars @pycon — so I had to make one for our amazing Devs-in-Residence @ThePSF too. This photo? Epic.
    @ambv @sethmlarson @miketheman

  8. Takeaways:

    1. Your business code is sacred
    2. Protect it from your tools
    3. Write tests; get a better design

    ox.cx/design for more!

    And follow Hynek on YouTube at @THE_HYNEK

    #PyCon2025 #PyConUS

  9. Whenever possible, start with the domain model, then start ✨engineering✨

    "Complexity is not about how many keys I have to press -- it's about how difficult it is to reason about the consequences of what I'm doing"

    - @hynek

    #PyCon2025

  10. If you follow this method, Hynek argues that you have lost control over your domain model and therefore over your business logic.

    It's ok to have duplicative-looking types at the edges of your project! Like the web interface and the DB layer

    You might have three (or more!) classes for the same thing and that's OK.

    (with a h/t to Adam Montgomery)

    #PyCon2025 #PyConUS

  11. There are multiple approaches to solving this tension!

    I won't write down the first one because @hynek asked us not to.

    But the next way (which is apparently worse?) is to use class-based validators and an ORM as the bread in a sandwich of your business logic

    They do not make good bread and your domain model gets squeezed to death.

    #PyCon2025 #PyConUS

  12. Conflicting goals exist in all meaningful apps

    The Web API is dictated by what is best for the user, what's a good external standard, etc

    The Database Schema is motivated by effective data storage, developer affordances, and performance

    The Domain Model is dictated by the Business Requirement

    #PyCon2025

  13. All the shitty stuff should happen on the outside layer of your program.

    Once it's inside, make it as nice as possible.

    The shape of the data determines the shape of the code.

    #PyCon2025 #PyConUS

  14. Next pressure: The Rising Sea.

    The example here is a box-moving problem from Advent of Code.

    Good solutions reflect a well-formulated Domain Model, a model of code and data that describes the domain of your business or problem

    Good solutions often include The Darkness, the messy layer that connects the outside world to your Domain Model

    #PyCon2025

  15. This relates to how tightly coupled code is. Two pieces of code are coupled if they can only be understood by looking at both pieces

    Testable code is better code for a number of reasons, but one of them is decoupling

    This is the first pressure we're talking about, and it's a good one!

    #PyCon2025

  16. Business logic has consequences! User's lives can be affected or ended based on our code.

    Canonical reference: Therac-25. Every programmer should look this up.

    Business logic is the most important code in your application

    This is where Design Pressure comes into play.

    #PyCon2025

  17. Why do we write software?

    We write software to achieve a goal using tools. The core of what we're trying to accomplish is the "Business logic"

    Business logic is the code that processes the data coming in to you application and does something with it to solve business needs

    #PyCon2025 #PyConUS

  18. Starting with a hottake: ORMs and validation frameworks ruin your projects!

    That's a hook to wake up the audience, what's the real story?

    The _unreflected_ use of the above ruins a project.

    We're not here to tell you to stop using your favorite tool. The emphasis is _unreflected_

    #PyCon2025

  19. It's time for another "Phildini liveblogs talks that already happened", this time being @hynek's #PyConUS talk:

    Design Pressure: The Invisible Hand That Shapes Your Code

    youtube.com/watch?v=IhNSINolcS

    #PyCon2025

  20. There will be more of these threads! I plan to go through a reasonable chunk of the #PyCon2025/#PyConUS videos from this year.

    If you enjoyed this, the best way to support me right now is supporting @civicband, the civic transparency non-profit, which you can do at opencollective.com/civicband

  21. Common gotcha: trying to raise one Exception from an ExceptionGroup loses a bunch of the traceback and context! Treat ExceptionGroups like ExceptionGroups, not Exceptions.

    ExceptionGroups don't have great tooling at the moment, and there are active PEPs to improve that.

    #PyCon2025

  22. Also new in #python 3.11 is the `except*` syntax.

    except* can catch a bare error or the subset of an exception group that matches the types specified.

    except* _always_ catches an ExceptionGroup, even if it's a single error specified

    #PyCon2025

  23. ExceptionGroups are designed for situations where multiple things went wrong concurrently.

    They have: a message, and a list of other exceptions/exception groups

    One example: testcase teardown. The teardown _must_ succeed, but you still want to know all the errors. This way, you can collect them and print them all at the end!

    #PyCon2025

  24. `err.add_note("note...")` can add more detail to an exception as it's going by, and you can then re-raise it if needed.

    Very cool, the notes are just printed after the exception.

    Now: exception groups.

    #PyCon2025

  25. The reasonable part of the talk is now over, according to the speaker. Let's keep going!

    Exception().with_traceback(err) let's you change the traceback of one exception with the traceback of another.

    This happens in-place! Use with care.

    #PyCon2025

  26. In python 3.11 onward, the part of the line that raised the error will be highlighted!

    Python also has exception chaining, and you can use "raise from" to be more specific.

    You can "raise from" None to skip previous errors.

    #PyCon2025

  27. In #Python, errors raise an exception!

    Exceptions propagate up the stack until they're handled.

    One big advantage of raising exceptions: you get tracebacks! This is a good thing, because you get to figure out where the error actually happened

    #PyCon2025

  28. This is a talk about exceptions, not rock music. Thankfully we're here for the #python

    Starting with: who's willing to put their hands up when asked a question?

    Who here has had something go wrong in a #python program

    #PyCon2025

  29. It's time for another episode of "Phildini liveblogs talks after they happened"!

    Right now: " Notes, Groups and Stars: exceptional new features of Python 3.11!" by Zac Hatfield-Dodds

    youtube.com/watch?v=x5WdMYfsxn

    Note: I start these in #PyCon so people can find them, then move to #PyCon2025

  30. Fantastic talk from @mitten about color theory in Data Visualization. I love how the talk provides history, context, demonstration, impact, practical advice, and tools all in the right doses. Thanks for sharing, I'll be badgering my team to watch it!
    https://social.lol/@mitten/114569046893769442

    #PyCon2025 #Python #ColorTheory

  31. I'm not exactly sure why I've been feeling shy about sharing the link to the recording of my #PyConUS talk, but I have been.

    But I did thing! I gave the talk! And if you weren't able to hear it in person, well, gulp, um, here it is to view at your leisure: youtube.com/watch?v=M2bMpiztBx

    #PyCon2025 #PyConUS2025

  32. So what are the takeaways?

    - Write obvious code. This means going beyond just "it works"
    - Use or abuse the language to make clearer code!
    - But don't jump the shark ✨

    Code and slides are at github.com/amyreese/pycon

    #PyCon2025

  33. I have to choose fonts for my slide deck! Aiiieeeeeeeee! They must be perfect!!!!!!! With the right amounts of nerdiness and sans-serif-y-ness and artistic-ness and erudite-ness and me-ness! Augggghhhhhhhhh! THIS IS TOO HARD.
    #PyCon2025 #ArtIsHard