@treyhunner@mastodon.social
@treyhunner@mastodon.social avatar

treyhunner

@treyhunner@mastodon.social

#Python & #Django educator & team trainer

I help folks sharpen their Python skills with https://PythonMorsels.com🐍🍪

#pythonoddity

Also a #humanist #YIMBY who is attempting more ethical eating (#vegetarian, not yet #vegan) and thinks #economics is highly underrated, but I don't post about those topics very often.

he/him

This profile is from a federated server and may be incomplete. Browse more on the original instance.

singingwolfboy, to random
@singingwolfboy@queer.dev avatar

I’m getting married in less than one week. My parents just arrived, and more of my family and friends are arriving over the next few days.

Shit is getting real. And I’m excited! 😄

treyhunner,
@treyhunner@mastodon.social avatar

@singingwolfboy congratulations! 💗

nedbat, to python
@nedbat@hachyderm.io avatar

The joy of trying to be on the cutting edge of :

HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
'Programming Language :: Python :: 3.14' is not a valid classifier.

treyhunner,
@treyhunner@mastodon.social avatar

@nedbat I suppose 3.13 is the cutting edge while 3.14 is still the bleeding edge? 😬

treyhunner, to random
@treyhunner@mastodon.social avatar

@hugovk I found 2 differences in some (very in-the-weeds) Python Morsels exercises on Python 3.13.

I think the first might be a bug and the second is probably the result of fixing a bug.

https://pym.dev/p/35r3x/

Any thoughts on whether either might matter for production code? Or insight into the CPython issues/PRs that fixed these? (I did a quick search but couldn't figure it out)

Happy to report either difference in behavior, but I don't want to clutter up the issue tracker with noise.

treyhunner,
@treyhunner@mastodon.social avatar

@hugovk thanks! I'll open an issue for the first one later. 👍

treyhunner, to python
@treyhunner@mastodon.social avatar

Note that this function uses an "if" statement that returns, and an "else" that also returns.

Read more 👉 https://trey.io/FlSco3

treyhunner, to python
@treyhunner@mastodon.social avatar

Tell me about a time that you didn't question your own assumptions as well as you would have hoped... in work or life in general.

Maybe a bug in code lead you on a wild goose chase because of an incorrect assumption.

Maybe you looked up evidence that confirmed your view and later realized you neglected to lookup opposing views.

Or anything else!

treyhunner, to python
@treyhunner@mastodon.social avatar

This is the first year that after the sprints, I find myself scanning the recent issues and pull requests on CPython's repository to watch the improvements happen on a Python feature in real-time. ⏳

I was planning to wait until the next beta to re-install Python 3.13, but I had to try it out again yesterday after seeing some fixes land. 💗

I'm not a core developer and I'm not usually an early adopter, but I am so excited for each new improvement in the new Python REPL. 🎉

treyhunner, to random
@treyhunner@mastodon.social avatar

Let's say a attendee didn't attend the sprints this year but they plan to next year. They'd like to prepare themselves over the next year.

Thoughts? Advice?

treyhunner,
@treyhunner@mastodon.social avatar

@glyph sprint on an existing project.

Think casual Python user who uses it some at work but is somewhat enthusiastic about learning.

treyhunner, to python
@treyhunner@mastodon.social avatar

On the other hand, adding or removing items from the beginning of a list is very slow (it requires shifting all items after the change).

Read more 👉 https://trey.io/d8D57O

treyhunner, to vegan
@treyhunner@mastodon.social avatar

I decided to be for the week of 2024. I put little effort into this endeavor but I did think about it during each meal.

I'd like to share how it went, but first I'll note why I did this.

Since early 2020, I've been attempting to gradually reducing the animal suffering I cause (as much as I'm individually able to).

I focused one-by-one on small habit changes that had large impacts (e.g. I completely cut out chicken first). After ~2 years of this, I was .

treyhunner,
@treyhunner@mastodon.social avatar

More on why...

In 2020 I realized I was living with some cognitive dissonance that I'd never seriously considered.

Namely, I believe that:

  1. The outcomes of my actions are more important than my intent
  2. Most animals likely experience pain & pleasure within ~2 orders of magnitude of mine
  3. Most farmed animals greatly suffer for most of their lives
  4. Through my habits, I implicitly accept this suffering AND signal my acceptance to the economy

And yet I eat any and all meat that I can. 🤔

treyhunner,
@treyhunner@mastodon.social avatar

My reasoning aside (always happy to chat about this though)...

How did this experiment go?

In short: it was painful (given the food that was around me) and I kept accidentally eating dairy!

First, the hotel breakfast... 🏨

I ate the free breakfast in my hotel on tutorial and sprint days. They had heated containers of eggs, sausage, potatoes, biscuits, and gravy. I assumed the biscuits and gravy both had milk and butter in them, so only the potatoes were likely to be vegan. 🥔

treyhunner,
@treyhunner@mastodon.social avatar

The hotel had some breakfast cereals that were likely vegan, but the only milk disperser was cow's milk. They also had a little fridge, but it had yogurts rather than non-dairy milks.

The vegan breakfast I settled on was an English muffins with peanut butter and jelly, oatmeal with raisins, and potatoes covered in hot sauce.

That wasn't bad, but I ate this same breakfast for 4 days, which got boring. If they'd had plant-based milk I would have loved to eat some bowls of various cold cereals.

treyhunner,
@treyhunner@mastodon.social avatar

What about at PyCon?

Well, during the tutorial days the lunch was chicken salad minus the chicken. 🥗 I ate 2 lunches one day. 😢

I would have LOVED beans, peas, tofu, or quinoa in the salad. Our bodies don't need a ton of protein, but they do need SOME!

Fortunately, lunch during the 3 talk days was much better. The 2 dietary needs tables at the end of the lunch lines had a mix of gluten free and vegan options and the vegan options often involved quinoa, black beans, bread, and other proteins.

treyhunner,
@treyhunner@mastodon.social avatar

Eating out took research, but the 4 restaurants I went to were fairly popular and had decent vegan options. 💗

The sprint days were a bit like the tutorial days for me. Free boring vegan hotel breakfast and unfilling vegan lunches.

Finding vegan food in spaces (like the hotel) that didn't label their ingredients and was very challenging and I found myself accidentally eating non-vegan foods. I ate cookies and other treats without thinking about the fact that they likely had dairy in them.

treyhunner,
@treyhunner@mastodon.social avatar

One of the most disappointing meals was in the airport. I ordered a Beyond Burger, which was the one filling vegan option I saw on the menu. 🍔

A few minutes later, I was informed that they had run out of Beyond Burgers. 😭

I ended up ordering a pretzel, a salad minus the meat and cheese, fries, and broccoli. The pretzel may have involved butter and the salad ended up having cheese on it, but I gave up at that point. There wasn't really even a vegetarian option on that menu besides the burger.

treyhunner,
@treyhunner@mastodon.social avatar

We live in a world of carnism & the 4 N's (eating meat is thought to be normal, necessary, natural, and nice).

I love the taste of nearly all meats and I've gone through my life eating animal products without thinking twice.

I'll definitely re-do this experiment at PyCon next year.

In the meantime, I'll continue my journey of modifying my eating habits by starting at home. It's easier to gradually remove dairy and egg products at home before I do so in environments I have little control over.

treyhunner,
@treyhunner@mastodon.social avatar

@mariatta I did not know about this! I'll definitely consider this next year during tutorial and sprint days. Thanks!

treyhunner, to random
@treyhunner@mastodon.social avatar

What's the wisest thing to do 10 minutes before teaching? Compiling and installing a new version of Python 3.13. 🤷

treyhunner,
@treyhunner@mastodon.social avatar

@rprimus glad you enjoyed it!

phildini, to python
@phildini@wandering.shop avatar

Hi folks! Former chair of @ThePSF Conduct Working Group with a message that might be timely!

If you see a member of the community behaving against the spirit or the letter of the CoC, especially if the comments are in public about an official event, especially if using a hashtag, please report to conduct-wg@python.org as you are comfortable.

The WG might not be able to take action due to the CoC’s scope, but its useful background for the inevitable next incident.

Thanks! ✨

treyhunner,
@treyhunner@mastodon.social avatar

@phildini not in the WG anymore but still able to put that "well I need to take action here" hat on. Thank you Philip! 💖

treyhunner, to python
@treyhunner@mastodon.social avatar

With Python's slicing syntax, the first item is the start index, and the second item is the stop index.

Read more 👉 https://trey.io/ZEuawA

treyhunner,
@treyhunner@mastodon.social avatar

@_KevinTrainor I agree with the sentiment, but I do think calling these by their names is helpful.

  1. Python uses the terms start, stop, and step for slices & ranges
  2. Names are handy for remembering, even when the names may feel a bit off. The alliteration helps a bit in this case too.

Calling out the exclusivity is definitely necessary though and calling it "weird" might me helpful too! I certainly critique some of Python's decisions ("I wish they were called generator comprehensions").

treyhunner, to random
@treyhunner@mastodon.social avatar

Years ago, a meetup I helped organize explicitly added a CoC and we decided to note its importance during every meeting. I remember discussing with some members that having a CoC made them feel anxious that they might inadvertently violate the CoC. They were also concerned that some folks might even stop coming because we added a CoC.

My response at the time was "good".

Sometimes we take on discomfort to bring greater comfort to others.

Sometimes we exclude some in order to include others.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • DreamBathrooms
  • cisconetworking
  • osvaldo12
  • ethstaker
  • magazineikmin
  • thenastyranch
  • Youngstown
  • InstantRegret
  • rosin
  • slotface
  • everett
  • kavyap
  • anitta
  • tacticalgear
  • ngwrru68w68
  • tester
  • cubers
  • khanakhh
  • GTA5RPClips
  • Durango
  • normalnudes
  • modclub
  • Leos
  • megavids
  • provamag3
  • lostlight
  • All magazines