Show newer

@glyph @sethmlarson @hynek Of course I still use type hints in big projects because they're useful for other people, or for when I start to build on top of them.

So I guess I'm one of those people who thinks type checking is useful for all kinds of code.

@glyph @sethmlarson @hynek In fact, for more serious stuff, I find that type checking is way more likely to put me in a situation where I'm pointlessly fighting with the type checker and reporting bugs to mypy because I can't express the contract of the function easily using the type system.

For quick scripts I'm usually just moving around strings or ints or paths or something and I'm not nearly as likely to write something like a function that takes functions and returns classes constrained to look a very specific way, or something with some cyclic references or something.

@glyph @sethmlarson @hynek Weird, I feel like I get the greatest bang for my buck when using at least basic typing on YOLO scripts because I'm never going to unit test them.

For anything serious, I'm writing extensive unit tests, and the type checking stuff is less likely to find bugs that, say, hypothesis wouldn't.

@hynek I have been teaching my younger son to like vegemite and marmite, I quite like it. A tip I got was to eat it in buttered toast (good butter, small amount of vegemite will do).

@peterdrake @lucifargundam There are some people who argue that an income without a job would lead to despair or a lack of meaning in life, but I think if it were common to have a reasonable income without a job, we would learn to cope...

@peterdrake @lucifargundam To be clear I do not think it's a bad thing when technology "destroys jobs". People think it's a bad thing because, IMO, they confuse costs for benefits (since practically speaking you need a job to get an income, people think they want a job rather than an income).

@peterdrake I never think of creating jobs as good, since a job is a cost of production.

Also, usually the people who talk about job creation are talking about creating them in a specific place, which I don't care about.

Though in reality a useful job is much better than make work, since make work is paying the cost without producing anything.

Nature, like many journals, has historically emphasized producing exciting, innovative outcomes as the basis for publication. Incentivizing researchers for rewards based on outcomes is a key contributor to many of the dysfunctional practices that the reform movement aims to address. Nature's adoption of Registered Reports is a powerful signal for the real opportunity to change the reward system. Culture change is a grind, but it is grinding on.

nature.com/articles/d41586-023.

@simon In the limit of "the LLM is as smart as the smartest human", you would still expect to need to give it the right kind of context and information to do what you want. Communication skills are super useful on both sides of the table.

Though I suppose somewhere along the way smarter LLMs will proactively recognize ambiguities and ask for clarification, which will lower the degree you which you need to be good at asking it to do something.

Another day, another PR to remove unnecessary upper version bounds from a package in order to unblock a project

iscinumpy.dev/post/bound-versi

Should You Use Upper Bound Version Constraints?

Bound version constraints (upper caps) are starting to show up in the Python ecosystem. This is causing real world problems with libraries following this recommendation, and is likely to continue to get worse; this practice does not scale to large numbers of libraries or large numbers of users. In this discussion I would like to explain why always providing an upper limit causes far more harm than good even for true SemVer libraries, why libraries that pin upper limits require more frequent updates rather than less, and why it is not scalable. After reading this, hopefully you will always consider every cap you add, you will know the (few) places where pinning an upper limit is reasonable, and will possibly even avoid using libraries that pin upper limits needlessly until the author updates them to remove these pins. If this 10,000 word behemoth is a bit long for you, then skip around using the table of contents, or see the TL;DR section at the end, or read version numbers by Bernát Gábor, which is shorter but is a fantastic read with good examples and cute dog pictures. Or Hynek’s Semantic Versioning Will Not Save You Be sure to check at least the JavaScript project analysis before you leave! Also be warned, I pick on Poetry quite a bit. The rising popularity of Poetry is likely due to the simplicity of having one tool vs. many for packaging, but it happens to also have a special dependency solver, a new upper bound syntax, and a strong recommendation to always limit upper versions - in direct opposition to members of the Python core developer team and PyPA developers. Not all libraries with excessive version capping are Poetry projects (like TensorFlow), but many, many of them are. To be clear, Poetry doesn’t force version pinning on you, but it does push you really, really hard to always version cap, and it’s targeting new Python users that don’t know any better yet than to accept bad recommendations. And these affect the whole ecosystem, including users who do not use poetry, but want to depend on libraries that do! I do really like other aspects of Poetry, and would like to eventually help it build binary packages with Scikit-build (CMake) via a plugin, and it has some great developers. If I don’t pick on Poetry enough for you, don’t worry, I have a follow-up post that picks on it in much more detail. Also, check out pdm, which gives many of the benefits of Poetry while following PEP standards. Also pixi, which works with the Conda ecosystem. If you come across something that can’t be solved, try using --exclude-newer <DATE> in uv and pdm. This limits the solve by ignoring packages newer than some date.

ISciNumPy.dev

@Daniel_Blake Feel free to do a tiny amount of research on the myriad reasons people have for using Signal as their SMS client, and the reasons why this is a *horrible* move on Signal's part.

In fact, I'm kinda, busy apologizing to the people who I sold on Signal with the line, "Oh it's great because you can use it as an SMS client that just upgrades you to a better protocol when the other person is using Signal, too!"

Show thread

"You will no longer be able to send SMS messages from Signal soon. Invite <x> to Signal to keep the conversation here."

Lol. I'd love to keep using Signal, but this move doesn't exactly inspire me to try and sell it to anyone else.

An article in today's Washington Post questions the scientific validity of Drug Recognition Experts. As it happens, this is one of the examples in my forthcoming book, Probably Overthinking It. I just posted an excerpt from Chapter 9: “Fairness and Fallacy”: allendowney.com/blog/2023/02/1

@jacob You also seem to be a very modal runner as well!

Umm, so: the #PyCon 2023 schedule is out, and according to it, on Friday morning I am a keynote speaker! yikes.

us.pycon.org/2023/schedule/

@hynek "Hynek, you've been such a loyal KLM customer that we are awarding you lifetime platinum status... on Lufthansa. Or Virgin if you'd prefer? BA? Whatever you want, just let us know, as long as it's not us."

Show older
Qoto Mastodon

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