Chris May's Avatar

Chris May

@chris-may-python.bsky.social

Python technical coach, developer, and PyRVA co-founder. https://everydaysuperpowers.dev/

178 Followers  |  168 Following  |  106 Posts  |  Joined: 03.12.2024  |  1.8659

Latest posts by chris-may-python.bsky.social on Bluesky

Those look like 10 one-inch nails.
<ducks>

06.02.2026 21:13 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Accessibility For Everyone by Laura Kalbag Read the book online for free.

My book, Accessibility For Everyone, is now free and online as a website.

accessibilityforeveryone.site

The book was first published by A Book Apart in 2017 but it holds up! It covers web accessibility for designers, developers, content folks, and really everyone who works in tech.

27.01.2026 13:14 β€” πŸ‘ 306    πŸ” 193    πŸ’¬ 9    πŸ“Œ 10

I don't know who needs to hear this, but when it comes to web performance, if you're measuring in seconds, you're admitting defeat.

20.01.2026 19:31 β€” πŸ‘ 51    πŸ” 4    πŸ’¬ 3    πŸ“Œ 0

I'm going live on the @talkpython podcast at the bottom of the hour to talk about #dataStar with Michael and the creators of the framework.

Join us! www.youtube.com/watch?v=SFc7...

15.01.2026 15:10 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

I'm going to be on the @talkpython.fm podcast to talk about #dataStar.

Is there anything. you'd like us to talk about?

13.01.2026 21:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Especially considering that the SSE option incrementally updated two separate parts of the page on each loop.

10.12.2025 18:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Lighthouse reports that the SSE version renders in half the time as the streamed HTML.

This is not what I was expecting.

Fascinating to see that in this instance that SSE is so much faster.

10.12.2025 17:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I just ran an experiment about web page rendering. A status page includes a table of 200 items pulled from the database.

Option A: streaming HTML that is generated on the fly

Option B: Load the shell and leverage #DataStar and Server-Sent Events to populate the table and related data.

10.12.2025 17:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

But the idea is to have a reserve and an execute phase of the transaction.

The reserve phase ensures the consistency of the next number.

The execute phase handles the rest of the business logic

21.11.2025 15:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

He has an example for reserving email addresses with the pattern github.com/dilgerma/eve...

21.11.2025 15:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I haven't had to implement a patern like this yet, but it sounds kind of like the "reservation pattern" in Martin Dilger's Understanding Eventsourcing book might handle this.
It's a two-phase approach that manages access to a limited resource.

21.11.2025 15:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I spent years researching the "traditional" #refactoring advice and how #Python is different and created a Refactoring Toolkit.

I'm discounting it 60% off for single licenses till the end of the year. Grab a copy. Let it help you write more maintainable code!
everydaysuperpowers.dev/resources/py...

12.11.2025 21:59 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
The official home of the Python Programming Language

TLDR; The PSF has made the decision to put our community and our shared diversity, equity, and inclusion values ahead of seeking $1.5M in new revenue. Please read and share. pyfound.blogspot.com/2025/10/NSF-...
🧡

27.10.2025 14:47 β€” πŸ‘ 6420    πŸ” 2758    πŸ’¬ 125    πŸ“Œ 452

I finally pushed publish on why I moved from HTMX to Datastar.

everydaysuperpowers.dev/articles/why...

This feels a little more like a conference talk than a blog post, but there was too much to sum up, but not enough to overwhelm.

I'd love to know your thoughts!

#HTMX #DataStar #python

09.10.2025 15:00 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Hey #Django fam do I Know anybody at Zest Health? They've got some jobs I'm interested in and are apparently a django shop.

Boosts appreciated!

02.09.2025 23:01 β€” πŸ‘ 0    πŸ” 8    πŸ’¬ 0    πŸ“Œ 0

Firestore query UI: Which of the 25 fields do you want me to display, all of them?

Me: Just completion percentage.

F: OK! I'll just show you completion percentage and two others.

Me: Just completion percentage.

F: Sorry! I'll show just that one for a minute. Then I'll show you all of them.

08.09.2025 15:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Oof. That's a ruff spot.

27.08.2025 17:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I was struggling with that as well.

I wonder if there's a middle ground that has each item in a card-like format, where you can have a talk description and then list the date/events within the card.

13.08.2025 17:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think I prefer the second one.

But there's really good traits of both.

The first one is a long read, and I feel lost in the list, but I like that I can read what the talk is about.

The second one does a great job communicating the great list of your appearances.

13.08.2025 16:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I just published article 5 of my intro to event sourcing blog series, showing how to get started with event sourcing by using the eventsourcing PYPI package.

Let me know what questions you have lingering from my series.

everydaysuperpowers.dev/articles/get...

#eventSourcing #python

11.08.2025 18:23 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

WOAH! WAY TO GO!!!

11.06.2025 19:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Agreed. This talk is amazing, even for #Python developers.

I rewatch this gem every six months and continue to learn and grow from it.

11.06.2025 14:03 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I posted this last week, asking for #Python users to fill out a silly little survey.

I got quite a few responses! I can use this! It'll be hilarious! I can still use more answers, though. I hope with a few more responses I get more obvious standouts answers.

docs.google.com/forms/d/e/1F...

02.06.2025 11:23 β€” πŸ‘ 3    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0

Wow. That's the same code I have on my suitcase. πŸ˜‰

03.06.2025 16:10 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Informal Pointless Python Survey This is an informal, unscientific survey of (sort of) Python questions, with which I'd like to try to make something amusing, maybe something involving families feuding somehow. (I may have been inspi...

Use #Python at all? I would like to do a silly thing, which I hope will bring amusement to others as well as me (if it works out).

If you wouldn't mind, please fill out this form, and boost for reach:

docs.google.com/forms/d/e/1F...

27.05.2025 02:06 β€” πŸ‘ 27    πŸ” 29    πŸ’¬ 1    πŸ“Œ 2

I'm really proud of how this talk came out.

I spent two weeks on the code and a day on the talk. My development work sped up in the last couple of days when I adopted #dataStar.

I'm impressed! I will be defaulting to it over HTMX going forward.

27.05.2025 20:57 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Death to the spinner: event sourcing for reactive web apps - Chris May
YouTube video by FlaskCon Death to the spinner: event sourcing for reactive web apps - Chris May

Thanks to @davidism.bsky.social and the people behind the scenes, my talk "Death to the spinner: event sourcing for reactive web apps" is now available.

It shows how to create a reactive web experience with #eventSourcing and the #dataStar JS framework.

www.youtube.com/watch?v=H3jN...

27.05.2025 15:04 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

THAT'S AWESOME! LOL

23.05.2025 15:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Still not over how cool it is to fearlessly replay events in production. I do it all the time, and it just works.

22.05.2025 17:04 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 2    πŸ“Œ 0

It's true, but we have had success with remote speakers.

22.05.2025 21:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

@chris-may-python is following 20 prominent accounts