shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

269
active users

#pycon2025

0 posts0 participants0 posts today
Georgically🐍<p>Everyone’s loving the avatars <span class="h-card" translate="no"><a href="https://fosstodon.org/@pycon" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>pycon</span></a></span> — so I had to make one for our amazing Devs-in-Residence <span class="h-card" translate="no"><a href="https://fosstodon.org/@ThePSF" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>ThePSF</span></a></span> too. This photo? Epic.<br><span class="h-card" translate="no"><a href="https://mastodon.social/@ambv" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>ambv</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@sethmlarson" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>sethmlarson</span></a></span> <span class="h-card" translate="no"><a href="https://hachyderm.io/@miketheman" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>miketheman</span></a></span> <a href="https://fosstodon.org/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a> <a href="https://fosstodon.org/tags/pycon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon2025</span></a></p>
phildini<p>Takeaways:</p><p>1. Your business code is sacred<br>2. Protect it from your tools<br>3. Write tests; get a better design</p><p><a href="https://ox.cx/design" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">ox.cx/design</span><span class="invisible"></span></a> for more!</p><p>And follow Hynek on YouTube at @THE_HYNEK</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a></p>
phildini<p>Whenever possible, start with the domain model, then start ✨engineering✨</p><p>"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"</p><p>- <span class="h-card" translate="no"><a href="https://mastodon.social/@hynek" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>hynek</span></a></span> </p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>If you follow this method, Hynek argues that you have lost control over your domain model and therefore over your business logic.</p><p>It's ok to have duplicative-looking types at the edges of your project! Like the web interface and the DB layer</p><p>You might have three (or more!) classes for the same thing and that's OK.</p><p>(with a h/t to Adam Montgomery)</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a></p>
phildini<p>There are multiple approaches to solving this tension! </p><p>I won't write down the first one because <span class="h-card" translate="no"><a href="https://mastodon.social/@hynek" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>hynek</span></a></span> asked us not to.</p><p>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</p><p>They do not make good bread and your domain model gets squeezed to death.</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a></p>
phildini<p>Conflicting goals exist in all meaningful apps</p><p>The Web API is dictated by what is best for the user, what's a good external standard, etc</p><p>The Database Schema is motivated by effective data storage, developer affordances, and performance</p><p>The Domain Model is dictated by the Business Requirement</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>All the shitty stuff should happen on the outside layer of your program.</p><p>Once it's inside, make it as nice as possible.</p><p>The shape of the data determines the shape of the code.</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a></p>
phildini<p>Next pressure: The Rising Sea.</p><p>The example here is a box-moving problem from Advent of Code.</p><p>Good solutions reflect a well-formulated Domain Model, a model of code and data that describes the domain of your business or problem</p><p>Good solutions often include The Darkness, the messy layer that connects the outside world to your Domain Model</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>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</p><p>Testable code is better code for a number of reasons, but one of them is decoupling</p><p>This is the first pressure we're talking about, and it's a good one!</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>Business logic has consequences! User's lives can be affected or ended based on our code.</p><p>Canonical reference: Therac-25. Every programmer should look this up.</p><p>Business logic is the most important code in your application</p><p>This is where Design Pressure comes into play.</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>Why do we write software? </p><p>We write software to achieve a goal using tools. The core of what we're trying to accomplish is the "Business logic"</p><p>Business logic is the code that processes the data coming in to you application and does something with it to solve business needs</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a></p>
phildini<p>Starting with a hottake: ORMs and validation frameworks ruin your projects!</p><p>That's a hook to wake up the audience, what's the real story?</p><p>The _unreflected_ use of the above ruins a project.</p><p>We're not here to tell you to stop using your favorite tool. The emphasis is _unreflected_</p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
phildini<p>It's time for another "Phildini liveblogs talks that already happened", this time being <span class="h-card" translate="no"><a href="https://mastodon.social/@hynek" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>hynek</span></a></span>'s <a href="https://wandering.shop/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a> talk:</p><p>Design Pressure: The Invisible Hand That Shapes Your Code</p><p><a href="https://www.youtube.com/watch?v=IhNSINolcSM" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=IhNSINolcS</span><span class="invisible">M</span></a></p><p><a href="https://wandering.shop/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a></p>
mitten<p>I'm not exactly sure why I've been feeling shy about sharing the link to the recording of my <a href="https://social.lol/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a> talk, but I have been.</p><p>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: <a href="https://www.youtube.com/watch?v=M2bMpiztBxQ" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=M2bMpiztBx</span><span class="invisible">Q</span></a></p><p><a href="https://social.lol/tags/PyCon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyCon2025</span></a> <a href="https://social.lol/tags/PyConUS2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS2025</span></a></p>
Gabriel Pettier<p><span class="h-card" translate="no"><a href="https://mamot.fr/@pluralistic" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>pluralistic</span></a></span> was invited to give a keynote at <a href="https://mas.to/tags/pycon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon2025</span></a> and you should watch it.</p><p>"Happy liberation day" indeed, let's make it so.</p><p><a href="https://www.youtube.com/watch?v=ydVmzg_SJLw" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=ydVmzg_SJL</span><span class="invisible">w</span></a></p>
mittenPyCon 2025
mittenPyCon 2025
AJ Jordan is @ PyCon US<p>"An app is just a website that we have wrapped in the correct DRM to make it a felony to protect your privacy while you use it." - <span class="h-card" translate="no"><a href="https://mamot.fr/@pluralistic" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>pluralistic</span></a></span> <a href="https://tech.lgbt/tags/pyconus" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pyconus</span></a> <a href="https://tech.lgbt/tags/pyconus2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pyconus2025</span></a> <a href="https://tech.lgbt/tags/pycon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon2025</span></a></p>
S. Lott<p><a href="https://fosstodon.org/tags/PyConUS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConUS</span></a> <a href="https://fosstodon.org/tags/pycon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon2025</span></a> </p><p>As a <a href="https://fosstodon.org/tags/technomad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>technomad</span></a>, I’ve checked into a lot of hotels VRBOs AirBnBs. But the Omni luxury joint in Pitt was a bit overwhelming. Valet. Bellhop. Takes a moment to adjust to not living out of the back of a truck. </p><p>Forgot something? Normally, It’s in the truck. But now, we need to get everything into the room to minimize valet tipping.</p>
Jessica Tegner 👩🏻‍🦰<p>"I came for the language, but I stayed for the community." ... I wish I could say. ⁉️<br>PyCon DE &amp; PyData 2025</p><p>I wish I could have attended PyCon DE &amp; PyData 2025, but was unable to due to unfortunate factors. Let me explain.</p><p>My name is Jessica, and I'm a maintainer of python libraries used by millions. I've used python for over 10 years, and have recently started joining the community where ever I'm able to.<br>I'm also fully blind.</p><p>Back In January/February I applied for financial aid to attend, and at the end of February my application was gracefully accepted.<br>Come the very start of March, when my acceptance had been confirmed, I wrote to the main PyCon DE &amp; PyData help desk, explaining my situation, that I'm fully blind, and asking if any accommodations were possible and could be made.</p><p>A few days later I got a reply, that my request had been forwarded to the correct team, and that THEY would get back to me.</p><p>Waiting, is not fun, especially when you also have to book flights and accommodations for being there, especially if you don't know if it's all going to be for nothing.<br>A "Sorry, we are unable to provide accommodations" is totally okay, but that was not the answer I got.</p><p>I heard nothing.</p><p>Having heard nothing at end of March, I reached out again, to the help desk, asking for a followup at the start of April.<br>A whole week later, a little over a week away from the conference at this point, I get a response from the main desk again, letting me know that they've followed up directly with the on-site team, and someone will be in contact with me shortly to coordinate the best possible support for me.</p><p>Yet again - silence.<br>No email, no call, no dm... Nothing.</p><p>So I ended up not being able to attend. Not being able to join the community that I have come to love and cherish so much. And it's especially hard, because it's the closest PyCon to where I leave.</p><p>And let me be clear. I would totally have accepted a no, a sorry we can't do that. But hearing nothing at all, even after multiple followups, is not acceptable, regardless of if they were able to provide accommodations or not.</p><p>Personal opinion?<br>I feel like the community, in some way, has failed. For all the talk about accessibility, inclusion and diversity, it only feels like that mattered in this case if you were able to make things accessible yourself, if you were able to include yourself.</p><p>"I came for the language, but couldn't join the community" 💔</p><p>Feel free to like, comment or repost</p><p><a href="https://caneandable.social/tags/pycon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon</span></a> <a href="https://caneandable.social/tags/PyConDE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PyConDE</span></a> <a href="https://caneandable.social/tags/pydata" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pydata</span></a> <a href="https://caneandable.social/tags/pydatade" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pydatade</span></a> <a href="https://caneandable.social/tags/pycon2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pycon2025</span></a> <a href="https://caneandable.social/tags/pyconde2025" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pyconde2025</span></a> <a href="https://caneandable.social/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> <a href="https://caneandable.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://caneandable.social/tags/conference" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>conference</span></a> <a href="https://caneandable.social/tags/blind" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blind</span></a> <a href="https://caneandable.social/tags/disability" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>disability</span></a> <a href="https://caneandable.social/tags/disabled" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>disabled</span></a> <a href="https://caneandable.social/tags/dei" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>dei</span></a> <a href="https://caneandable.social/tags/accessibility" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>accessibility</span></a> <a href="https://caneandable.social/tags/a11y" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>a11y</span></a> <a href="https://caneandable.social/tags/inclusivity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>inclusivity</span></a> <a href="https://caneandable.social/tags/diversity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>diversity</span></a> <a href="https://caneandable.social/tags/accommodations" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>accommodations</span></a></p>