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!
https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
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:
https://blog.ganssle.io/articles/2018/03/pytz-fastest-footgun.html
Is there a good library out there in Python that provides a simple abstraction over the major LLM providers, such that it's easy for me to swap out which one I'm using for a given project?
I find myself writing my own version of this because each of the LLMs have strengths and weaknesses, and sometimes for a project I want to test them all out before committing to use a specific one.
A few months back I looked at @simon's `llm`, but from what I could tell it was mostly wrapping ChatGPT or compatible APIs, and I wasn't sure how to use it for everything.
¿Me podrían recomendar blogs, glosarios u otros recursos con terminología tecnológica en español? Quiero aprender a comunicar conceptos sobre programación, redes, seguridad, "open source", "dev ops", accesibilidad, etcétera.
Can anyone recommend blogs, glossaries and other resources with technological terminology in Spanish? I want to learn to communicate about concepts in programming, networking, security, open source, dev ops, accessibility, etc.
I was explaining retirement to my son today and he said, "Oh, I might not ever have to work."
"Why not?"
"I am going to ask Santa for $2M this year. Then I'll be able to retire."
"Hmm.. I have never heard of Santa giving anyone enough money to retire on, to be honest. And $2M might not be enough..."
I noticed that he and my wife made the list today and he has now upped the request to $2B. Go big or go home, I guess. 😅
Man my package has been stuck at a UPS facility in Koeln, Germany for 10 days now, apparently this is a very common theme: https://www.reddit.com/r/UPS/comments/1f969dw/more_delay_experiences_cologne_koeln_germany/
And from older threads, it seems like it has been like this for years (I dunno if it is constant or intermittent).
I wonder if this is just a dysfunctional facility or if stuff gets stuck there because everything goes there before coming to the US and the problem is getting stuff from Europe to the US in general...
Just released: humanize 4.11.0 🚀
https://github.com/python-humanize/humanize/releases/tag/4.11.0
This adds a new API:
>>> natural_list(["egg", "sausage", "beans"])
'egg, sausage and beans'
>>> natural_list(["egg", "sausage"])
'egg and sausage'
>>> natural_list(["egg"])
'egg'
Adds the newest ronna and quetta SI prefixes: https://www.npl.co.uk/si-prefix
Drops support for Python 3.8,
fixes rollover from ZB to 1.0 YB, fixes French & Chinese translations & finding location of translations, & improves import times.
I've been conducting more interviews lately, some of which involve traversing a tree / graph, and I am kind of surprised to find that uniformly everyone does these traversals with recursion. I'm not surprised to find that it's popular (I think it's often taught as an example of something where recursion is appropriate), but I personally almost never use recursion (especially in Python).
I think the main reasons I almost always avoid recursion (both in interviews and in practice) are:
1. I prefer to be very explicit about the resources I am using. It's easy to not realize how much overhead you are storing in the frame stack, whereas when you have an explicit stack or queue of nodes, it's quite easy to see what you are storing and passing up and down the stack.
2. No running into recursion limits (mostly Python specific thing).
3. It's pretty easy to switch between depth and breadth first searches by changing from a stack to a queue and vice-versa, whereas if you change your mind and decide you need to do BFS when you've written a recursive traversal, you have to rip everything out and start over.
4. When I need access to some resources outside of the traversal (either to modify them or for some other reason), it seems cleaner to use a variable that is already in scope rather than a closure (though maybe that's a dubious distinction).
Looking at this list, I do think that (other than the recursion limit thing), this is mostly just a bias against recursive functions. I think the primary benefit of a recursive function is that I think it's easier to pivot to a concurrent traversal by spawning multiple child nodes and letting the stack handle your resolution order for you.
Para los que tienen el español como lengua materna, ¿le encuentran sentido a este chiste malo de papá sin necesidad de traducirlo al inglés?
https://youtu.be/CpcWbwwLHkg?si=d_W8MlFTy0p0fKjB&t=269
(4m29s si el enlace no te lleva directamente al momento exacto)
Introducing MNT Reform Next https://mntre.com/media/reform_md/2024-09-09-introducing-mnt-reform-next.html
New #cattrs is out (24.1.0) but I'm too exhausted to do a large thread about it. The changelog is pretty large: https://catt.rs/en/stable/history.html#id1
A couple of my favorite features:
Hook factories can have the converter injected as an argument now. This very simple change makes them much more self contained and more fun to write.
Some converter APIs can be used as decorators now, and will read type hints from the decorated functions. It's a small thing but it adds finesse.
@hynek helped focus the docs!
I entered a game into #ifcomp2024 called Birding in Pope Lick Park! Its a peaceful simulation of one of my #birding walks in my favorite park. It includes photos taken by me of actual locations in the park, and photos taken by me of many of the birds mentioned in the game.
Play here: https://ifcomp.org/ballot?alphabetize=1#entry-2985
It should take roughly 30 minutes. Play on WiFi because of the high resolution images. Should work on phones or computers.
Mildly chuffed that I can't find recommendations for practical tips for which phone to get for a young kid (6-7).
All I can find is moral panic narrative stuff about not getting your kid a phone and recommendations for super locked down, deliberately crippled Orwell phones. I am looking for stuff like, "This one is cheap and rugged and they can operate it with their tiny hands" not "This one doesn't have a browser and you can remotely activate the camera to spy on your child, if you're insistent on raising a damaged child who had a phone too early."
you can always join our discord server ☝️
Ok, so I just watched the first episode of Dragon Ball for I think the first time, and upon meeting Goku, Bulma hits him with her car, then shoots him several times with a *gun*, and then **expresses surprise that this has failed to kill him** (note: he is obviously a child and she clearly believes this).
I guess there are talking dinosaurs and other prehistoric beasts around trying to eat people, so maybe this is just a post apocalyptic, kill-or-be-killed hellscape?
Programmer working at Google. Python core developer and general FOSS contributor. I also post some parenting content.