Spent basically the entire day (except for the mandatory walk) fighting with Python’s type hints. But, the result is that my widget toolkit now passes mypy --strict.

I really, really don’t want to write larger pieces of software without static typing anymore. With dynamic typing, you must test every code path in your program to catch even the most basic errors. pylint helps a bit (doesn’t need type hints), but that’s really not enough.

Also, somewhere along the way, I picked up a very bad (Python) programming style. (Actually, I know exactly where I picked that up, but I don’t want to point the finger now.) This style makes heavy use of dicts and tuples instead of proper classes. That works for small scripts, but it very quickly turns into an absolute mess once the program grows. Prime example: jenny. 😩

I have a love-hate relationship with Python’s type hints, because they are meaningless at runtime, so they can be utterly misleading. I’m beginning to like them as an additional safety-net, though.

(But really, if correctness is the goal, you either need to invest a ton of time to get 100% test coverage – or don’t use Python.)

⤋ Read More

@prologic@twtxt.net

Shin'ya M. > grep bridge.twtxt.net /var/log/pleroma.log
14:01:33.937 path=/api/v1/accounts/B26ukWUhEh8kKl0oPw/follow user=shinyoukai [error] Follower/Following counter update for https://bridge.twtxt.net/users/c350a5e5fb9d9457 failed.
14:01:35.541 path=/users/shinyoukai [error] Could not decode user at fetch https://bridge.twtxt.net/keys/bridge, :not_found
14:01:38.286 path=/users/shinyoukai/outbox [error] Could not decode user at fetch https://bridge.twtxt.net/keys/bridge, :not_found

Targeting just Mastodon will get anyone nowhere

⤋ Read More

Awk to take lines from Plan 9’s /lib/unicode and prepend the actual glyph and a tab: awk ‘{cmd=sprintf(“unicode %s”, $1); cmd | getline c; printf(“%s %s\n”, c, $0)}’

⤋ Read More

i’ve learned a lot of lessons from writing my notes app, gonna apply this to bbycll and refactor the code to make it way more legible cause my custom templating system is only kind of a giant mess

⤋ Read More

it is really annoying and degrading to find that you need to upgrade to payed subscription to enable 2fa on your account, cmon ppl those are basic things…

⤋ Read More

I’m gonna ask here again because I’m really frustrated and literally no one else is responding anywhere can u guys please help me find a good video camera the biggest think I want is long battery life but I also want it to be cheap like under $200, if you yourself don’t know please ask a friend because I am not a tech nerd and looking for stuff like this is very hard for me

⤋ Read More

Better Technology, Worse Motivation: GenAI’s Mediocrity Trap

While generative AI (GenAI) promises productive efficiency, it can paradoxically lead to lower-quality work. We conducted an experiment with professional illustrators and found that AI assistance flattens the quality curve—it accelerates initial gains but sharply diminishes the returns on sustained effort. Faced with this, a significant number of professionals made a strategic choice: they sacrificed the final quality to save time.

From http://www.jin-li.org/uploads/1/1/4/5/114595093/ai_and_motivation.pdf

I haven’t read this and can’t vouch for it; seems vaguely AI-boostery. Still, the conclusions are interesting. This seems to be the picture that is emerging about generative AI generally: most people don’t like it and find that degrades the quality of work. Coders seem to like it and think that it helps them, but in fact it makes the slower, less productive, and more bug prone.

By all measures it’s a bad technology. We should just be honest about it. There is no need to make excuses for multi-trillion-dollar corporations.

⤋ Read More

PSA: Just in case you start getting 5xxs on my end, I’m not dead 😂 (well, unless I am). Well be changing ISPs and hopefully get the new line up and running before the old provider cuts us off.

⤋ Read More