Dear devs,
It's NEVER ok to lock people out of a webapp because their User-Agent doesn't match your predefined list. 😡
Especially webapps they need to manage their healthcare.
(I am in fact using one of the browsers on this list, your code just isn't able to tell.)
Please boost for basic education.

Look around you… Who is the most marginalised?
That’s who you should be protecting.
If for no other reason than if you don’t, you will be next. Maybe not today. Maybe not tomorrow. But you will be next.
(Or you will have to do things that will make you wish you’d been next.)
That’s just how fascism works.
And this is fascism.
On signing git commits…
@aral he’s also on the Fediverse and is working on an encryption system for DMs: https://soatok.blog/2022/11/22/towards-end-to-end-encryption-for-direct-messages-in-the-fediverse/ which looks a bit related to what you’re doing (although, obviously, building upon ActivityPub brings vastly different technical constraints)
@aral this brings https://soatok.blog/2022/01/27/the-controversy-surrounding-hybrid-cryptography/ to mind
language model, food, being silly with rwkv-4-pile-3b-instruct-test2-20230209 on a cpu
>
> A: 1. Make the garlic herb rub.
> 2. Preheat oven to 200°F (93°C).
> 3. Soak the ribs in water for 1 hour.
> 4. Soak in 5% salt for 1 hour.
> 5. Rinse ribs, pat dry, and rub with olive oil.
> 6. Season the ribs with salt and pepper.
> 7. Place the ribs on a wire rack and roast for 45 minutes.
5/7, had my oven at 93C for two hours while the ribs were soaking in water and... saline?

interestingly, #rwkvstic does not get any faster if i torch.set_num_threads(8) and torsh.set_num_interop_threads(8) compared to single-threaded, but uses a whole lot more cpu. but with bfloat16 instead of float32 it doesn't even use more cpu!
#rwkv #pytorch #llm

re: chatgpt is bad at software
@noracodes a fun question is whether it’s entirely hallucinating (coming up with vague but convincing-sounding bullshit using the words it is given), or it has enough capacity in its parameter space and enough examples in the training set to encode the connection between the two fields (affine types for borrow checking vs linear types to encode unitary operators in functional quantum programming languages) to some degree and thus is more likely to come up with this specific sort of bullshit
nevertheless, it’s pretty useless without any form of logical grounding, to say the least
re: space, the final frontier
@pigworker i thought javascript has horrifying semantics – but this thing has horrifying syntax
Q: When is it okay for a program to reach out to the internet?
A: In response to an explicit user request for it to do so.
Q: How much data should be included in network requests?
A: The minimum necessary.
hot take, telemetry
this makes sending telemetry impractical
that's the point
I had a systemd timer set up to take a #btrfs snapshot every hour and delete the snapshot taken 25 hours ago (so there are 24 snapshots at all times)
since the last time I upgraded (to #linux 6.1.9), removing the old snapshot pins a CPU thread to 100% with btrfs-cleaner
and btrfs-transaction
for several minutes, making IO latency (including network) on the system generally terrible
time to figure out what has happened. there isn’t any substantial btrfs change in 6.1.9 compared to 6.1.8, so I’m unsure whether it’s a regression, or just a coincidence and I broke something else
@halcy i tend to conceptualize it like “it outputs what a random webpage on the topic would say”, and that seems to elicit the right level of source criticism
@colin 2 is a simple protocol for accessing objects, right?
re: how to clean your mouse (much less interesting than training your dragon)
another cleaning tip: use a thin piece of plastic, about 3 mm wide (a cut it out from a transparent plastic sheet meant as a cover for documents) to knock out stubborn pieces of lint from under the wheel in its casing once the mouse is disassembled
had to get rid of my matrix homeserver, because it took up way too much resources compared to how little (facebook and irc bridge, essentially) i was using it
now i’m back at the stage where i can postgres VACUUM FULL;
without buying more disk space for my vps