Pinned post

Latest post is a big one: "Why you shouldn't invoke setup​.py directly"

A lot of people don't know about this because we haven't been great about getting the word out. This blog post is in part an attempt to remedy this.

Please help spread the word!

blog.ganssle.io/articles/2021/

Pinned post

From the archives of my blog but still very relevant: "pytz: The Fastest Footgun in the West", about why you probably shouldn't be using pytz:

blog.ganssle.io/articles/2018/

Me: "We might go to a bookstore."
Son: "Aww, I don't want to go to a bookstore, it's probably very crowded because so many people like books."
Me: "Ha ha"
Bookstore: *actually is fairly crowded*

I told my 7 year old that if we moved to London he would probably get a British accent eventually and now every 5 minutes he worriedly asks me if he has started talking British yet (he has yet to interact with a British person).

My credit card when I buy gas on a highway near my house: "Seems pretty sus... 🤨"

My credit card when I order zero calorie sauces from Spain, delivered to someone else in the Netherlands, with that person's name as the cardholder: "All good bro, enjoy your sauces! 👍"

I can't tell if their fraud detection are not that good or if they just know me really well 😛

Do you dislike drafting long text messages on a mobile keyboard? Me too!

I created a little tool that lets you write text messages from a computer and then send them from your phone by scanning a QR code:

sethmlarson.dev/draft-sms-and-

Oof, didn't realize that I didn't affirm my PSF membership this year and now the website is rejecting my password and when I try to reset it. Hopefully I can get it sorted out in the next... 90 minutes I guess? 😬

#blind I want to make the CLI app tools I use blind accessible. Did I correctly read that the better way is to create a local mini-website? (because the accessibility tools for browsers are so much better than for anything else?)

Or is a CLI tool automatically blind accessible because it is all text already?

MVP of S'mores?

Today we got our dishwasher fixed under warranty. To diagnose it, the tech stuck a photosensor+magnet onto the front panel over the green status LED and started reading diagnostics. It turns out the status LED is actually a serial port*, and it's continually transmitting status.

I can think of so many gadgets that could and should use this trick...

*It's probably something other than regular serial -- a UART's TX would flicker. I don't know any details.

#HidingInPlainSight

The pytest.mark.parametrize feature is amazing, and more people should use it, especially people new to writing #Python tests. But it looks scary. I wrote an explainer: nedbatchelder.com/blog/202508/

Interested in helping out with one of the most innovative, grassroots, publishing efforts around? The Journal of Open Source Software (@joss) is looking for editors: blog.joss.theoj.org/2025/08/ca

We conduct collaborative checklist-based peer review of research software using GitHub issues.

JOSS is a positive, rewarding, community-based reviewing/editing effort. I'm happy to answer questions if anyone is interested.

Did you know: You can build iOS and Android Python wheels with cibuildwheel, and upload them to PyPI? You can! But not many projects have.

Want to know if your popular package offers iOS or Android support? Here's a leaderboard. Want a great way to contribute? Submit a PR adding iOS and Android support to your favourite package.

beeware.org/mobile-wheels/

Anyone have a reasonable way to programmatically get your Netflix watch history? I have a good way to read my history from Kodi, a decent way to get it from AntennaPod and a just OK way to get the history from VLC, but no way to get it from Netflix, which I would like to include in my tracking. 😔

@aperalesf Pienso en crear una app o página web para encontrar podcasts menos conocidos (un algoritmo anti-algoritmo) pero ya tengo demasiados proyectos 😭

Show thread

@aperalesf Acabo de escuchar [El podcasting no me enfada, pero me da coraje](divagaciones-de-adrian-perales), y estoy de acuerdo en que es bastante difícil encontrar podcasts independientes.

Por eso, hace poco me bajé la DB de podcast-index.org y la filtré yo mismo, utilizando `popularityScore` para evitar los podcasts demasiado popular. Me funcionó suficientemente bien para encontrar unos podcasts.

As the Wayback Machine nears 1 trillion archived web pages this October, we're still looking for standout sites to feature.

Reply with your favorite pages to nominate them for the spotlight!

🔗 blog.archive.org/2025/07/01/wa

#Wayback1T #WaybackMachine #internetarchive

Also I feel that my older one's natural reflex to protect himself against malicious djinn will serve him well in the coming age of superintelligences.

Show thread

7 year old has written a wish list for Christmas already. It includes "a non laggy PC", "a mouse (not the pet kind)" and "anything I imagine comes true and I can enable and disable it".

My 4 year old has asked to stop aging and in fact he would like to be younger.

Glad to be raising ambitious kids.

TIL that, as of Python 3.13, virtual environments write their own .gitignore file. It adds a single line, consisting only of `*`.

Did you know this? Are you still adding `.venv/` to your own .gitignore files?

#Python

boosting from bsky where @buttondown 's @jmduke says:

bsky.app/profile/jmduke.com/po

"buttondown is very excited to sponsor @htmlenergy.bsky.social's HTML DAY this coming saturday. if you attend and DM me what you built I will comp you a year's subscription to Buttondown.

at the very least, you owe it to yourself to go to html.energy/html-day/2025/inde and click through to the very zine-core event sites, each of them more lovely than the last. (i am biased, but my favorite is seattle's)"

Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.