Hrefna (DHC)
mastodon 4.7.3SRE. Queer. Poly
Trans
Engineer. Ace
#ActuallyAutistic
#UnionStrong
Opinions my own. Does not suffer fools gladly.
Gods this AI written code is going to take me as long to clean up as it would have to just write it in the first place.
I love my hardware security key _at work_. Why? Because all of the failure modes are things where my job has decided the tradeoffs are worth it, so if I lose my key or if it breaks I call and get another one by either the end of the day or the next day.
They also issue me two, one of which can live in my laptop and is bound to that device, and if I ever don't have both of them but need to log in I have myriad options that involve talking to a person who will help.
Basically, by having good "customer support" (being able to call and talk to a human literally 24 hours a day, being able to get a new key quickly, having the ability to reauth easily if I lose my keys, etc) makes it a fundamentally better experience.
These things simply do not work this way for anyone whose employer has not gone all-in on them, and they don't work well in private use. I do use a hardware key personally, but I am _not_ a lay user and I always have other mechanisms to log in if I don't have access to it. It's mostly a backup (if I don't have my phone with my passkeys, TOTPs, etc _then_ I have my security key, etc).
The "born this way" identity framing had its plusses, but it also did irrevocable harm. In this essay I will…
Picked up a new gaming laptop. Went to play ONI. Realized I had stellaris and kind of had an itch to play it again.
I'm doomed, aren't I.
This remains one of my least favorite features of #ActivityPub.
1. It violates fundamental type safety principles.
2. "without authentication" means that it needs to be accessible to random people on the internet if read literally, and evidently changing this (along with "we should all require transport layer security") are controversial opinions in fediverse development.
3. Literally everything about that Note makes me die inside.
4. Yet another example of how "there are no servers in ActivityPub" is undermined by the spec. Because this entire concept and its use cases assume a server. "There are no servers" has always been a fiction, but this illustrates the tension.
5. It is the kind of thing that could be better implemented by using actors, but the protocol is unwilling to take that route for how to implement features.
Your irregular reminder that in the Arthurian stories _men_ are the ones who are "too emotional," while women are considered the "cold and rational" ones.
A trend that happened in industry around ten-ish years ago is extremely instructive for what we see again and again is the rise of NoSQL and Shadow IT.
See, at a lot of companies it got to the point where databases were Hard™. There were a lot of rules around them, schemas were difficult to manage, and specialists were required to make sure your performance was not terrible. What wasn't controlled by these factors got ruled by magical thinking, a kind of mythology where "when we misuse the database we get bad results, so clearly the problem is the database."
So the industry started finding salvation (using that word deliberately) in "shadow IT." Developers basically spinning up their own infrastructure and using "NoSQL" databases because it didn't have all of the rules that using a database had.
We as an industry quickly saw why this was a problem, but for several years it was considered Good Thing™ and a huge performance boost for the organization. Everything was magical. People talked about the "death of SQL databases."
But it turns out that "Shadow IT" created huge security threats (whoops), performance was typically not clear cut, thinking in these technologies was not straightforward, and that a lot of the problems with "schemaless" development started to cause significant velocity issues over time.
A lot of databases started to implement query languages on top of them that looked distinctly like SQL. Some of them were even named variations on the theme, like GoogleSQL.
The "NoSQL databases" (I still hate that term, I have a NoSQL toaster! it doesn't have any digital interface, but it also doesn't have a SQL interface) got folded into traditional IT, which was reshaped more by the prevalence of "cloud" and "serverless" architectures. The databases themselves stopped advertising themselves as lifestyle products for developers and started advertising themselves as serious IT products.
But. We still _use_ the NoSQL databases. BigTable, Mongo, Redis, Cassandra, etc all have various use cases. Some of the more hybrid tools—like BigQuery and Spanner—see a great deal of use even while never quite getting rid of traditional database structures.
Anyways, welcome to AI.
There's a special place in hell for journalists who, when discussing a federal court case, link to a paywalled article for more information but _never link to the federal court case_.
Link.
To.
Courtlistener.
So it turned out that switching my LDN dose to the morning basically solved my problems with it.
There's a phenomenon I've seen that is peculiar to leftists.
Thinking that ICE is the same as the military.
I rarely see this conflation among non-leftists. But a lot of leftists can't seem to figure out the difference.
These are very, very different entities. They have different rules of engagement, they have different histories, they have different policies.
You can be against both. That's fine. You can think the way we are using both is bad. That's fine. But you _need to understand that they are different_ to have anything like an informed take on it or know what can be done about each.
RE: @thisismissem@hachyderm.io
In general I think people who don't work in infrastructure (which both Emelia and I do):
1. Don't think about where things run enough.
2. Dramatically underestimate the costs involved.
3. Dramatically underestimate the _savings_ involved from sharing infrastructure.
There are always tradeoffs, and also: you can often paint yourself into a corner thinking something will work a particular way and then seeing how poorly it scales.
#RegretRate for various surgeries:
* Knee surgery: 22% total regret, 2.9% even without complications http://doi.org/10.1186/s12891-020-3041-y
* Back surgery: 21% in older adults http://doi.org/10.1097/BRS.0000000000004287
* Regret of having children: varies by study, but usually in the 10-20% range http://doi.org/10.1371/journal.pone.0254163
* Breast reconstruction after a mastectomy: 19.5% moderate to strong regret http://doi.org/10.1080/14768320601124899
* #GenderAffirmationSurgery: < 1% http://doi.org/10.1097/GOX.0000000000003477
Let's talk for a moment about what an actual actor model could look like in a protocol _like_ #ActivityPub. I've done variations on this thought experiment before, but I find it useful to revisit.
alice@servera wants to send a message to bob@serverb. So Alice (A) accesses her profile and pulls a reference to an outbox actor (Ref{O}). She send the message (M) to this outbox:
A -M-> O
With me so far?
The Outbox actor does Something™, it doesn't matter what, but the server that hosts the outbox actor now may do one of two things, depending on whether servera (Sa) already has a reference to an inbox actor (Ref{I}) for bob on serverb (Sb).
The first scenario is a derivation of the second, so let's go through the second.
For this scenario Sa reaches out to webfinger (or some other lookup mechanism, but let's use webfinger) and says to it "gimme the user profile for bob@serverb." Sb returns the user profile Profile{bob@serverb}.
Within Profile{bob@serverb} is a list of actor references with names. One of which is named inbox. So now Sa has Ref{I} and can execute:
Sa -M-> I
In a way, we could end here and be content.
We're not done.
This is basically identical to the current ActivityPub flow with a few notable exceptions:
1. Note that I am not talking about the _user_ as an _actor_. The user is a user. The actor is an actor. Profile{bob@serverb} is not an actor, it's a Profile of a User.
2. I formalized the addition of webfinger. I don't need to do this, and there are alternatives.
3. It could _very_ well be that the inbox reference you are handed is identical between multiple actors.
4. I am treating "The Inbox" as a singular thing, but it _doesn't have to be_. I could have a different reference for where to send Events or calendar entries, I could have a different reference for where to send direct messages versus general posts, etc. All of this could be laid out pretty easily in a single map.
5. Most critically: The "inbox" is not a dereferencable collection. It's an _actor reference_. What gets exposed to the user might be completely different than what gets sent there.
The details don't matter as much as this: the foundational unit by which we reason about the system is different.
The idea behind this AP-like system I'm working on is that it is _multitenanted_ (technically multi-single tenant, but multitenanted for all external purposes).
The idea is that you can have multiple groups operating on a single server. The server _may_ have an address of its own, but the individual tenants could have their own entirely separate domains.
so:
`social.example.com` could be a different tenant from `example.social` but both hosted on the same backend **server** and have their own moderation, their own everything as far as the app goes.
In order to do this, I'm implementing what essentially amounts to **row level security**: so if you send a message to social.example.com and you are on example.social this will end up with two distinct database entries for the message, etc. This has several advantages, the least of which is that it makes removing a tenant and shipping them elsewhere comparatively easy since we only have to lock your rows and you are the only one accessing your rows.
Now the question is: do I want two copies of the _data_ and the answer is… probably I do, but it needs deeper consideration because data is more expensive.
The answer may be "yes for local data, yes for remote text, no for remote non-text data that is really being cached anyways." But I need to think about it more.
People: "it would be nice if we could use a communication protocol to actually communicate"
Response: "THIS IS AN ATTEMPT TO HAVE A NEW CENTRAL POWER IN SOCIAL NETWORKING!!!!!!"
Describing Perlesvaus as the "least canonical" of the Arthurian stories is kind of laughable given how _none_ of Arthuriana is canon.
For those who don't have a background in VtM, what happened in #CityCouncilOfDarkness's finale was a bit like if a D&D party that started at level 3, after 8 short sessions and maybe 2 levels, killed Vanathor with a fire bolt.
Or maybe, for something more people would recognize but a little less 1:1, Vecna with a magic missile.
That's the kind of inanity we're talking about.
I had to tap out of #CityCouncilOfDarkness a while back on #Dimension20. I don't need things to be super serious or to be "teh grimdark" but I do need things to have some sort of internal logic, and the show just struggled to keep its own players in check.
This was especially evident in Ally, who if a bit didn't work would just… keep trying the bit or a variation until it succeeded, and made their character "all bits, all the time."
Like sure it can be fun to frak with the police or whatever, but why are you doing it? What's your motive? Why did you do it in _that way_ and not just use your abilities with dominate or presence or whatever.
And, if you fail at it or frak up the way that they did, why were there no narrative consequences at all for their actions?
In a game ostensibly titled after the Masquerade and which started off with a dire warning about enforcement of the masquerade, they all seemed to just forget about it for the rest of the season, even with Brennan's periodic reminders on the topic.
Then there were no actual consequences or real tone correction. At least as far as I had seen.
I know that this is a crew perfectly suited to a more serious tone when they need it, and who knows that sometimes things don't have to be a bit to be funny or endearing (Crown of Candy, Neverafter, and Burrow's End all coming to mind). It just felt like a completely missed opportunity.
It doesn't even really work as a parody of its own source material. What-we-do-in-the-shadows style. Because in order to parody material you have to actually be… based on that material, and this just wasn't. It borrowed the aesthetics, but that was where it ended. Never engaging with its source material in a meaningful way.
1/2
Really this persistent need by dentists to frame it as "dental anxiety" or "dental phobia" annoys me.
Because in a lot of cases it isn't "dental phobia," because a phobia is an irrational fear.
RE: @julieofthespirits@kolektiva.social
I need you to understand how different the response has been from every man I've seen talk about this versus every woman.
Me: "Do X"
AI: "Okay! Here's my plan for doing X"
Me: "LGTM"
AI: "Okay! Done!"
Me:
Me, to myself: Okay, skeleton is okay. Just a few things that I need to yell at it about. Okay that's weird who DOES that? Fixed. Hrm. This would be easier if knew the language it was doing this in…
Me: …
Me to AI: "There's a TODO to do all of the actual logic for what I asked for. Please do that."
The AI.
Put.
A TODO in.
For everything I had asked it to do from jump.
"SWYER SYNDROME IS THE ONLY CASE OF XY PRESENTING AS FEMALE"
*rubs temples*
Who taught the bigots what Swyer Syndrome is and why didn't they teach them literally anything else at the same time.
"There's no evidence to support the use of [Experimental Treatment] on [Poorly Understood Illness]"
Key question: Has it _been_ studied, or is this "no one has bothered looking?"
This is one of those things that drives me nuts. It's one of the core problems with a lot of doctors, who prioritize Nonmaleficence over the other three pillars of bioethics (Beneficence, Autonomy, Justice).
The ProPublica guild is asking for a boycott, so boycott away!
@superketchup@social.vivaldi.net
The question being primary language matters here. Sure, I'm sure there are some, though I am dubious on the sources there, even let's grant for the sake of argument 2000 (there were around 1000 native speakers in 2022 the world according to Ethnologue, and I'm wildly suspect of the claims that go into the millions of those with secondary learned language fluency, but we'll grant even that).
- That's still not those who use it as a primary language. The language is also overwhelmingly spoken in a small number of northern european countries by dominant groups, it doesn't have the same ethnographic, political, or representative power of even a language like Ainu, which is endangered and has 15 native speakers.
- That primary language number is not in the context of a west coast urgent care center asking about primary language.
- That's basically completely missing the point I was making. Like to an extraordinary degree. Going "well actually" on the number of Esperanto speakers, given that the list also includes Elamite. Which hasn't had a native speaker in probably 2000+ years.
Writing a generative AI usage policy for an OSS project, don't mind me
https://gist.github.com/dclements/fc4dcad0eea3680c88d8379bdac98e40
This LARP project I'm working on publishing has now reached 580 A4 pages. I suspect finally tally is going to be north of 620 pages. x_x
As someone who has, like, actual androphobia I continue to be unamused by various attempts to make "transandrophobia" a thing meaning discrimination.
There are great ways to talk about your own experience of marginalization and please do, and also. Androphobia is a thing, but it is not the thing you seem to think it is.