TIL: Whatever #ebooks or documents you put on a #Kindle, they're being indexed & uploaded automatically to the #Amazon server if the device has an internet connection. Just found out with an unpublished #manuscript that someone wanted to read on their Kindle and it ended up on the Amazon server, although it was put onto the Kindle manually via cable. Whatever you do with Amazon devices, you're adding everything to Amazon's data collection. #Enshittification #AuthorRights #IntellectualProperty
The domain mirage.foxb612.com and IP address 65.108.53.178 have been blocked (defederated) from Enby.Life. These are part of a fediverse crawler system that indexes servers based on the country where they are physically located. This wouldn't normally be against our rules, but the crawler goes to great lengths to de-anonymize instances, including sending fake-signed ActivityPub probes to obtain the server's true IP address. Requests from the crawler use a web browser's User Agent to evade filters, and documentation on the website mentions that CloudFlare bypasses are also in use.
Given the complexity of setting up something like this, we believe that the crawler is likely operating with bad intentions. While there could be some use for an index of instances based on community region, tracking the actual physical location of the server backends is highly suspicious. I'd encourage all instance admins to consider whether something like this poses a threat, and to take appropriate action.
For anyone interested in going beyond a simple domain block, please see these log excerpts typical of being crawled via AP probes. Logs are taken from a non-standard Sharkey deployment and may not directly translate to other software, but I've tried to include as much detail as possible anyway.
Sharkey admins can check whether you've been scanned by searching for backend log patterns like this (make sure to replace your instance hostname where appropriate):
Feb 17 20:10:21 campsite run-sharkey.sh[241576]: INFO * [apserv sigcheck] req-yzi /users/9fpwmts9tv (by Mozilla/5.0 (X11; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0) apparently from mirage.foxb612.com: we don't know the user for keyId https://mirage.foxb612.com/kiite/key/enby.life/1739823020/NHc8pVYoNGmLk3My/main-key, trying to fetch via https://mirage.foxb612.com/kiite/key/enby.life/1739823020/NHc8pVYoNGmLk3My/main-key
id,at,duration,host,request_uri,object_uri,accepted,result,object,context_hash a4n23pddff,2025-02-24 20:10:24.433000 +00:00,894.86,mirage.foxb612.com,https://mirage.foxb612.com/kiite/key/enby.life/1740427823/Y93ZjgZHZlxNSuxa/main-key,,false,Error: invalid content type of AP response - content type is not application/activity+json or application/ld+json: https://mirage.foxb612.com/kiite/key/enby.life/1740427823/Y93ZjgZHZlxNSuxa/main-key,,
Feb 24 20:10:25 campsite caddy[916]: 2025/02/24 20:10:25.329 ERROR http.log.access.log0 handled request { "request": { "remote_ip": "65.108.53.178", "remote_port": "53964", "client_ip": "65.108.53.178", "proto": "HTTP/1.1", "method": "GET", "host": "enby.life", "uri": "/users/9fpwmts9tv", "headers": { "Accept-Encoding": [ "gzip, deflate" ], "Accept": [ "application/activity+json" ], "Connection": [ "keep-alive" ], "Content-Type": [ "application/activity+json" ], "Date": [ "Mon, 24 Feb 2025 20:10:23 GMT" ], "Signature": [ "keyId=\"https://mirage.foxb612.com/kiite/key/enby.life/1740427823/Y93ZjgZHZlxNSuxa/main-key\",algorithm=\"rsa-sha256\",headers=\"(request-target) host date\",signature=\"5umGzjOXHeV8DdI4NjQqwbag6ChMKYS6\"" ], "User-Agent": [ "Mozilla/5.0 (X11; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0" ] }, "tls": { "resumed": false, "version": 772, "cipher_suite": 4865, "proto": "http/1.1", "server_name": "enby.life" } }, "bytes_read": 0, "user_id": "", "duration": 0.901198418, "size": 254, "status": 500, "resp_headers": { "Date": [ "Mon, 24 Feb 2025 20:10:25 GMT" ], "Access-Control-Allow-Origin": [ "*" ], "Alt-Svc": [ "h3=\":443\"; ma=2592000" ], "Content-Type": [ "application/json; charset=utf-8" ], "Strict-Transport-Security": [ "max-age=15552000; preload" ], "Access-Control-Allow-Methods": [ "GET, OPTIONS" ], "Content-Length": [ "254" ], "Access-Control-Allow-Headers": [ "Accept" ], "Server": [ "Caddy" ], "Access-Control-Expose-Headers": [ "Vary" ], "Cache-Control": [ "private, max-age=0, must-revalidate" ] } }
For anyone else in health insurance hell:
It happened *again*. After two years of polite phone calls every 2-3 months to my doctor and health insurance, the thing that got me unstuck was writing a polite email to the various CEOs documenting the delays, citing the state law requiring insurers to pay within 30 days, and asking for a written explanation as to why, 695 days later, they hadn't paid. Actual emails and phone calls from competent human beings within a week!
https://aphyr.com/posts/368-how-to-replace-your-cpap-in-only-666-days
The fact that Jessica after only a week of solitary confinement began showing signs of severe mental health effects is not surprising to me and is also a vindication of the concept of prison abolition.
occasionally i have some problem where i'm like. i think a llm would give me a good answer with less effort than finding it on the internet. and then i remember that the only reason that is true is because the search results are filled with llm generated results that spend 15 paragraphs not answering the question, and if none of that shit existed there would just be the thing i actually wanted, which is a html webpage that answers my question and has links to other places where i could learn more.
recipe, vegan, making fresh fries with an airfryer (2)
As an extra note: regular shaking is recommended, as is always the case with an airfrier.
Even with regular shaking, some potatoes are going to brown before others; this is not a problem, even the ones that haven't browned will have cooked enough to be edible and tasty!
Don't wait until *all* potatoes have browned, because by that point, some of them will have started burning.
recipe, vegan, making fresh fries with an airfryer
How to make fresh fries with an airfryer that are actually nice (even though they are not crispy):
1. Do not peel the potatoes; wash them thoroughly instead.
2. Cut into thick fries; think 1cm thickness.
3. Soak in water for about 30 minutes. This removes starch from the surface which would otherwise burn.
4. Drain the water away.
5. Air-fry 10 minutes at 120C, *without oil*.
6. Put fries into a bowl, add a tablespoon or two of oil, mix them around until everything is oily.
7. Air-fry *at least* 22 minutes at 180C. If after that they still seem a bit undercooked, add 5-10 more minutes.
They're done when they're starting to look brown (but not burnt yet). Most likely the skin will start curling and browning first. This is fine!
UX opinions
I'm just saying that a lot of the computer experience we have now is optimized for the needs of Steve Jobs personally, and given that he's literally dead and that I want to use my computer for getting work done and not just fucking around, maybe we should think about these things a little harder
UX opinions
Ubiquitous touchscreens: great for if you want to do a demo at a Mac conference and wow the Apple faithful, but bad if it has a small amount of moisture on it, or if you want to work quickly, or if you want to do something without looking at the touchscreen, or if you wanted to touch the device without pushing a button accidentally, or if—
UX opinions
A lot of computer design decisions that came from Apple were shitty but everyone accepts them because they're from Apple
The Dock for desktop OS that's everywhere: great for if you want to do a demo at a Mac conference and wow the Apple faithful, bad if you want to just see what windows you have open currently
The "iTunes" cluster of app design problems: great if you want to do a demo at a Mac conference and wow the Apple faithful, bad if you have say less than infinity disk space
USPOL/Why aren't Americans protesting?
I keep seeing people ask why Americans haven't been protesting Trump. The thing is, we have been. It's just that "protesting" has been a toothless tactic in the US for a long time.
*News agencies are owned by the billionaires. They refuse to cover left wing protests in a positive light. They are either not covered or made to look belligerent.
*People don't know how to protest. Americans view it as asking lawmakers to do something based on the will of the people. Oftentimes, the ask isn't even clear. Other countries view it as "meet our specific demands or else we will do this specific thing to make your life hell."
*Branded organizers, like the Women's March, do not want to cause violence or even disruption. They get a permit from the city, a crowd goes there and shouts for a few hours before going home.
*Spontaneous protests like what we saw in 2020 after Breonna Taylor's murder are met with militarized police, sometimes even the National Guard. Best case scenario is getting arrested and released with a court date for the future. Keep in mind a record severely fucks up your ability to find a job and housing. Worst case scenario is the state using lethal force.
*Cops show up at small protests saying they're there to "keep the peace." That means they are there to protect the Nazis and right wingers. Cops started out as slave catchers and have continued to be allied with right wing extremists all this time. At the protest in Pikeville some years ago, the white supremacists where put in a gated area ("the Nazi pen") with cops guarding it. The cops faced away from the Nazis and toward the crowd of regular people there to protest.
*Speaking of which, there are armed MAGA chuds everywhere. You don't even have to be protesting to be in danger.
We are going up against a country who has 0 issues killing millions of its citizens by withholding healthcare, they do not give a fuck about protests that never make it to the "tear shit down and make the elite scared" stage.
"In order for nonviolence to work, your opponent must have a conscience. The United States has none." - Stokely Carmichael
if you're responsible for a FOSS project, it's now time to consider how you can run your project without relying on the US.
like, using GitHub is fine. Continue using it - I do, too, and there's a lot of value of having projects centralized in one place.
but you **need** to make sure you have a contingency plan. is your repo with all branches and metadata backed up somewhere else? do you own your project's website, discussion forums, or something else that allows you to point your users and contributors to a new place if you need to?
can you continue work on your project if US-big-tech decides your very existence is no longer allowed?
now is the time to take inventory and build backups.
periodic reminder that your language's standard library may have "join paths safely" and "join URL segments safely" functions, and you should use them
if it doesn't, and you're working with paths or URLs, you should write them and then use them
I am going to smack the next person who imposes a "this base URL/path must/must not have a slash on the end because we blindly concatenate it with a relative path that doesn't/does start with a slash" requirement on a configuration value
"Here are the illustrations for your history book," the artist said.
"Thanks, very g- Is this man using an iPod?"
"Very iconic of the early 21st."
"This is a history of the Post-Capitalism Neorenaissance, starting 2027! The iPod was outmoded then."
"It's centuries ago, who will notice?"
"Me!"
Technical debt collector and general hype-hater. Early 30s, non-binary, ND, poly, relationship anarchist, generally queer.
- No alt text (request) = no boost.
- Boosts OK for all boostable posts.
- DMs are open.
- Flirting welcome, but be explicit if you want something out of it!
- The devil doesn't need an advocate; no combative arguing in my mentions.
Sometimes horny on main (behind CW), very much into kink (bondage, freeuse, CNC, and other stuff), and believe it or not, very much a submissive bottom :p
My spoons are limited, so I may not always have the energy to respond to messages.
Strong views about abolishing oppression, hierarchy, agency, and self-governance - but I also trust people by default and give them room to grow, unless they give me reason not to. That all also applies to technology and how it's built.