#Loqi[preview] [[tantek]] π Admin notice: Due to a Bridgy Fed bug, @tantek.com's "ActivityPub actor" was deleted, notifying every following server which then unfollowed @tantek.com. It was an accident! Feel free to refollow @tantek.com at your discretion. Sorry for the inc...
#[tantek]β¦inconvenience. [This one-time DM sent by Bridgy Fed on behalf of @tantek.com. Bridgy Fed accounts do not yet support receiving DMs]
#[snarfed]I'm happy to use your words as verbatim you want. if I was to revise, here's a draft:
#[snarfed]Admin notice: this account was recently accidentally deleted due to a bug in its fediverse provider, Bridgy Fed, which resulted in fediverse servers removing all of its followers, including you. We've now restored the account, so feel free to re-follow at your discretion. Sorry for the inconvenience!
#[Murray]I agree with the analogy. Feels almost self-evident and well labelled. Not sure I agree with a lot of the economics discussed, but that's another matter π
bret joined the channel
#[tantek]Yes, agreed, the aspects are separable. Appreciated [Murray]!
GuestZero joined the channel
#capjamesg[d]I have a question. My document store is thread unsafe, in that if I run it in multiple threads I'll end up needing to index all the data in each thread. But I want to use it with multhreaded Flask. What is my best option?
#_pi_r2_0[d]capjamesg[d] how is it thread-unsafe? you can have a multi-reader, single writer lock, or you can do all the lookups and mutations in a dedicated thread, or you can make it thread-safe by storing in an MVCC datastore
#capjamesg[d]It's thread-safe in that I haven't written a lot of multi-threaded code.
#capjamesg[d]Assume you can't write to the index, after loading it with data all it's doing is get() operations on dictionaries.
#_pi_r2_0[d]pure reads are always thread safe in the absence of mutations
#_pi_r2_0[d]to get to thread safety in the presence of mutation, the simplest thing to do is to bring something like https://pypi.org/project/rwmutex/ to the equation, to take a read lock on reads and a write lock on writes
#_pi_r2_0[d][edit] to get to thread safety in the presence of mutation, the simplest thing to do is to bring something like https://pypi.org/project/rwmutex/ to the equation, to take a read lock on reads and a write lock on writes
#_pi_r2_0[d]only one writer is allowed, if there is no writer infinite readers are possible. so make your write sections as small as possible by doing as much work as possible before (rarely, after) the shared state mutation
#capjamesg[d]I am using a tool called waitress to host a uwsgi server.
#capjamesg[d]I think it may only be running threads for requests, so I'm okay.
#[tantek][snarfed]++ amazing of you to automate such a one-off (hopefully lol) thing
#Loqi[snarfed] has 53 karma in this channel over the last year (100 in all channels)
GuestZero and lazcorp joined the channel
#[tantek]ok so I'm tempted to flip my @-mention autolinker to use xcancel(.com) rather than twitter(.com). Any reasons I shouldn't do that? (like literally for everytime I @-mention someone in all posts 2010 to present)
#[tantek][snarfed] minor issue, does the "followers" count (on the BF profile dashboard page) need to be reset as of 2024-09-22 and/or recounted somehow?
#[tantek]I'm assuming I still have a subset of the prior number (<1500) whereas it looks the like the number is only going up
#[snarfed][tantek] yeah I haven't cleaned those up yet
#[snarfed]I'm a bit reluctant because I can't be sure how different implementations handled the actor delete. I know Mastodon severed following relationships, but others may not have, so ideally I'd keep delivering to them just in case
#[snarfed]and I don't currently sniff server software, so I'm not easily set up to distinguish
#[tantek]Iβm guessing 90%+ are mastodon so I'd be ok with a onetime follower count reset as of 2024-09-22, even if that undercounts other implementations that were not impacted by the bug
#[snarfed]I was thinking more about keeping delivery to old non-Mastodon followers where it might be working
#[snarfed]do you have a preference? keep the old stale followers possibly working, and the stale count? or reset and possibly cut off those old still-working followers?
#[tantek]is that a followers vs instances question?
#[tantek]oh wait, [snarfed] are you saying that if someone refollows me that they don't add to the overall count because the BF database already thought they were following me?
#[tantek]like is BF double-counting follows from before bug and now or are those de-duped automatically?
#[snarfed]no, it's not about count, it's about non-Mastodon instances that may have preserved your followers, so when you post now, those old pre-delete followers might be getting your posts again
#[snarfed]I can reset all of your pre-delete followers - which will also "fix" your follower count - but that would cut off any of those non-Mastodon followers who are now working again and haven't re-followed
#[snarfed](but yes, separate from that, BF de-dupes followers, so if someone re-follows you, they won't add to your current count since it already includes them)
#[tantek]Ok, given that refollows are not inflating the follower count, let's leave it as-is and see if it sorts itself out to be vaguely (within 10%) accurate
#[0x3b0b]Some of Tantek's stuff showed up for me again from Sunday, to provide that data point. My updated follow request still shows as "follow request sent" rather than "already following" but I don't remember what it looked like before.
#[tantek]0x3b0b odd, because all follow requests should be (nearly?) instantly approved AFAIK from BridgyFed
#[tantek]feel free to unfollow / refollow and see if that fixes it?
#[0x3b0b]Hmm, worth trying. Could also be a side effect of my direct actor record editing. Unfollowed; waiting a minute to make sure the new follow request gets a new ID and doesn't throw an error instead... (that's a me thing)
#[0x3b0b]maybe someday I will decide that only being able to act once per minute is enough of a hassle that I want to make my IDs one character longer