@hrefna@hachyderm.io
@hrefna@hachyderm.io avatar

hrefna

@hrefna@hachyderm.io

SRE at Google. Queer. Poly :potion_polyamory: Trans :verified_trans: :nonbinary_potion: Engineer. Ace :flag_ace: Member of AWU-CWA. #ActuallyAutistic :rainbowinfinity: #UnionStrong

Opinions my own. Does not suffer fools gladly.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

hrefna, to trans
@hrefna@hachyderm.io avatar

What the hell about this woman's background makes her suited to be an "independent investigator" of issues?

https://en.wikipedia.org/wiki/Hilary_Cass

There's literally nothing here that ties into any of the fields that are relevant. Her specialization is all in developmental and mental disabilities in high-support-need younger children.

"Independent" evidently means "so far out of her lane that she can't see her lane on this side of the horizon."

hrefna, to random
@hrefna@hachyderm.io avatar

Some notes on , thinking out loud

Feature 1:

A: {firstName: foo}

you want to know that it is identical to:

B: {name: foo}

So you add a context directive:

A: {
@'context: {
firstName: one.example.com#name
}
firstName: foo
}

and:
B: {
@'context: {
name: one.example.com#name
}
name: foo
}

So now I have a processing algorithm that converts A and B into a common format:

Unified: {
one.example.com#name: foo
}

If that's all it were you'd get many fewer complaints.

1/🧵

hrefna, to random
@hrefna@hachyderm.io avatar

I don't really care about how a truck handles being shot by an arrow.

I do care about what happens when it gets kicked by a horse, and that's a very different engineering problem in multiple respects.

hrefna, to random
@hrefna@hachyderm.io avatar

Thinking out loud: part of my thinking in how I am approaching is what I started thinking of as the "boids model" of federated software development.

"But Hrefna, I sure as hell didn't hear about the 'boids model' in my SE classes"

Yes, this is just kind of my own colloquial thinking about it.

For those who are unaware, boids is an artificial life simulator based around the flocking behavior of birds. The idea is that we can simulate general flocking with a few basic rules.

1/

hrefna, to random
@hrefna@hachyderm.io avatar

I'm going to do some reflecting here on

https://hachyderm.io/@nivenly/110890692128244044

Because I have tried to write a perspective more appropriate for the private discussion and I keep failing because I get angry, so I am going to start here.

First, as a pet peeve, let me say:

I am autistic. I have ADHD. I have NVLD.

I strongly dislike when people say things like "As a neurodivergent, I will readily admit that I do not react well to such comments and for that I’d like to apologize and try again."

1/

hrefna, (edited ) to random
@hrefna@hachyderm.io avatar

Considering the proposal for building a shared system the devil is in the details, but IMO trying to get consent and build their list from large instances circumvents some of the problems in lists that derive from smaller instances. Not all, not by a longshot, but some.

Larger instances cause higher impact on their users by wanton blocking, making them less likely (though not unlikely, for reasons I'll get into) act capriciously or to align with a single person's view.

1/

hrefna, to golang
@hrefna@hachyderm.io avatar

Some notes on , this is purely my personal opinion and not representative of my employer's take in any way.

When golang was first released there were several things that Rob Pike in particular seemed to think about it:

  1. A replacement for C++ and Java for server systems

  2. Good for large, scaled engineering teams. The sorts of teams with lots of moving parts

  3. Effective for large amounts of data processing, especially the sort you do in web environments

https://go.dev/talks/2012/splash.article

1/

hrefna, to Futurology
@hrefna@hachyderm.io avatar

Actually effective strategies against to prevent an are difficult, but they start from asking "what will actually help here."

I maintain that preemptive is ineffective for this and that defederating from those who won't defederate from meta does more harm than good.

But what will help is thinking about the roadmap and getting there first. What will help is building a robust and thriving community around and other fediverse protocols.

hrefna, to random
@hrefna@hachyderm.io avatar

"Software isn't engineering, it is like <X>"

<describes something that is exactly like engineering>

Every. Single. Time.

Take an engineering cultures class and get back to me. -.-

hrefna, to random
@hrefna@hachyderm.io avatar

A: "What if the entire internet was one giant database."

B: "Okay, that's an interesting thought experiment, but how will we make sure that everyone is using everything the same way? How will we handle security? What about performance?"

A: "One. Giant. Database."

B: "Can we at least agree on terms and reduce the scope of the weirdness that people can do?"

A: "But someone might want to have that weirdness! It could enable cool things in our one giant database!"

hrefna, to random
@hrefna@hachyderm.io avatar

The thing about with false positives versus negatives:

I'm generally for optimizing for the false negative rate but with a few caveats.

  1. False positives should be bounded.
  2. There needs to be a way to get off the list
  3. When mistakes happen there needs to be a revocation process that is propagated automatically
  4. This is for individual blocklists. If you are blocking on behalf of others or sharing your blocklist the calculus here changes and false positives matter
hrefna, to random
@hrefna@hachyderm.io avatar

Overall I'm kind of just of the view that blocking Meta's hypothetical server preemptively is just the most… performative, useless gesture

To annoy everyone who reads this for a moment, however:

It does encompass what many leftists (and liberals) seem to think of as "taking action." A nice moral test. Easy to pontificate about. Feels good. Let's you talk in grandiose terms. Easy for an individual to do. Largely ineffective both short and long term.

I swear we are our own worst enemies.

hrefna, to random
@hrefna@hachyderm.io avatar

The gist of what I am going for with :

What is a minimal subset that would allow us to treat the @'context object as a set of extensions rather than a set of processing directives while still remaining useful?

Basically, you could have a "mastodon postprocessor" with all of the logic there.

I have a bunch of thoughts and have validated some, but I'm interested in the experience of those who have banged their head against this problem. Any ideas? Does that make sense as a goal?

hrefna, to random
@hrefna@hachyderm.io avatar

"Choosing an instance isn't difficult, I think people are overstating that."

Okay, now find an instance that:

  • Isn't defederated from some significant portion of my friend group.

  • Isn't defederated from by the same.

  • Doesn't defederate from major news sources running on their own instances.

  • Has reasonable moderation.

  • Will actually be here tomorrow and not just fold.

  • Has reasonable uptime.

  • I can trust to not to keep an unencrypted copy of the database on a personal device.

hrefna, to random
@hrefna@hachyderm.io avatar

My boss ranking would look… so different from everyone else's.

I died more to two random ACs that most people don't seem to have struggled with more than the Sea Spider, CEL240, the ice worm, and <the last boss of the Fires of Raven ending>…

…combined.

hrefna, to fediverse
@hrefna@hachyderm.io avatar

If I read between the lines on the software design for , I don't think there are actually supposed to be servers per se, or more precisely that servers are supposed to be very simple passthroughs that have some forwarding/processing logic?

If so then this makes some sense, since when AP was being written was a big time for BaaS (Backend as a Service; https://en.wikipedia.org/wiki/Backend_as_a_service ) and that influenced a lot of ideas.

hrefna, to random
@hrefna@hachyderm.io avatar

> "You can just move to another instance"

Except you can't, for the reasons already discussed.

> "But they are awful"

Okay, I agree, and? Adults can figure out what they do or do not read. You don't have to babysit them.

> "I don't want to see that on my timeline…"

Then block them and put a mute on the relevant keywords for yourself, and/or put a limit on them from your instance.

When you you are acting on your user's behalf and saying "you are not allowed to follow them."

hrefna, to fediverse
@hrefna@hachyderm.io avatar

No no, definitely haven't lost my mind, noooo

#ActivityPub

hrefna, to random
@hrefna@hachyderm.io avatar

One option.

hrefna, to random
@hrefna@hachyderm.io avatar

I'm having a Day™, so let's take a look at the denylist (https://github.com/iftas-org/resources/tree/main/CARIAD), since that's a good way to distract myself.

First, IFTAS is doing a few things differently than others.

  1. They are sourcing from only larger instances' blocklists. For inclusion servers must have at least 2k monthly active users and have been around a year.
  2. They combine a manually sourced list (their DNI list) with their consensus list.
  3. They do provide a way to get off the list via email.

1/

hrefna, to fediverse
@hrefna@hachyderm.io avatar

Questions.

  1. If someone calls Delete and sets the object to a Like object, what behavior would you expect to happen?

  2. If someone Deletes a Create, what is the expected behavior?

  3. If someone Deletes a Note, what is the expected behavior on the Create?

  4. If someone Deletes a Follow, what is the expected behavior?

  5. If someone Delete's an Undo of a Follow, what should happen?

hrefna, to random
@hrefna@hachyderm.io avatar

In which I think out loud for a bit about , it's place, and what compromises need to be made:

First, the vision of JSON-LD is essentially this (and yes I will use entirely references, this is me talking to myself after all :p ):

A request comes in to Handler Walter (HW) for a mission for C4-621 (Raven) to assault a dam and blow up some generators along with G4 and G5, troops under G1 Michigan, part of a squad called the "Red Guns"

G1 gives you the "lucky" callsign G13

1/

hrefna, to random
@hrefna@hachyderm.io avatar

I may have strong feelings about the weakening of language of collective action to be an individual burden

"Mutual aid" becomes "one person gives money to another via a corporation that takes a cut"

"General strike" becomes "encourage people to take PTO"

"Boycott" becomes "tell people on social media that they are a bad person if they buy on a particular day"

It's like we've lost—or had ruthlessly crushed—the belief that real collective action drives change and lost any idea what it entails.

hrefna, to fediverse
@hrefna@hachyderm.io avatar

Another example of how the flexibility in is so high it makes it hard to work with: parser edition. Again, this is me thinking out loud while I figure out how to solve problems in my own project.

For this, we'll look at Collection and OrderedCollection.

Collection is an object to wrap, as one might expect, collections of objects.

It's designed to allow paging through collections, which is a hard problem in and of itself, using a forward and backwards cursor.

1/

hrefna, (edited ) to twitter
@hrefna@hachyderm.io avatar

If you can't figure out how to block four entities who you have identified by IP from scraping your website such that it is causing that level of damage to your business, I don't know what to tell you.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • thenastyranch
  • magazineikmin
  • ethstaker
  • khanakhh
  • rosin
  • Youngstown
  • everett
  • slotface
  • ngwrru68w68
  • mdbf
  • GTA5RPClips
  • kavyap
  • DreamBathrooms
  • provamag3
  • cisconetworking
  • cubers
  • Leos
  • InstantRegret
  • Durango
  • tacticalgear
  • tester
  • osvaldo12
  • normalnudes
  • anitta
  • modclub
  • megavids
  • lostlight
  • All magazines