Welcome to Friendica.Eskimo.Com
Home of Censorship Free Hosting
E-mail, Web Hosting, Linux Shell Accounts terminal or full remote desktops.
Sign Up For A Free Trial Here
Please tell your friends about federated social media site that speaks several fediverse protocols thus serving as a hub uniting them, hubzilla.eskimo.com, also check out friendica.eskimo.com, federated macroblogging social media site, mastodon.eskimo.com a federated microblogging site, and yacy.eskimo.com an uncensored federated search engine. All Free!
libcom.org/article/untold-expe…
The untold experiment of National Syndicalism: When Fascism was the Decay of Socialism
This text serves as a supplement to the following articles; for a comprehensive perspective, it is recommended that they be read together. https://theanarchistlibrary.libcom.org
Parents in a western New York school district say a state mandate requiring electric school buses has left their children riding to and from school in unheated buses during winter weather.
Israeli fire kills 5 #Palestinians in #Gaza, including a baby @palestine
latimes.com/world-nation/story…
Israeli fire kills at least 5 Palestinians in Gaza, including a baby, hospital says
A local Gaza hospital says Israeli troops fired over the ceasefire line in the northern Gaza Strip, killing at least five Palestinians, including a baby.Wafaa Shurafa (Los Angeles Times)
but if I watch college sports I'm subverting the white race
just making sure
libcom.org/article/issue-03-4
Cozy Clew reshared this.
Drinkin' a big 40 and 'bout to go out an' raise the roof!
Nah. Drinkin' some soju in Korea. It's one in the afternoon on Sunday here... 🍻
🎶 Ahora en Fedi Drama Radio:
¿Cómo Estas? — Baster
💿 netBloc Vol. 8: I Copyleft!
📻 Bloque: Sunset Hits
🔊 Escucha: radio.tuiter.rocks
📅 Programación: radio.tuiter.rocks/parrilla
thecradle.co/articles-id/34966
Whistleblowers accuse CPJ of 'shielding' Israel to appease donors
The organization's annual fundraiser drew $250,000 from Rupert Murdoch-owned media outlets last yearthecradle.co
Enigmatick ActivityPub C2S
From its conception, #Enigmatick has leaned heavily on the /inbox and /outbox endpoints for client operations. There are some /api endpoints, but I avoid that were I can shoehorn operations into the #ActivityPub specification and #ActivityStreams vocabulary.
While typical operational activities are fairly well accounted for, administration is a weak point. For example: I haven't identified a clear way to use the currently described mechanisms for an administrative user to pull up and manage instances or actors on a server.
I've relied on CLI tools (e.g., ./enigmatick --help) to manage some of that. And in some cases, I know how to manipulate data in my database, so I haven't worried too much about building tooling. But I'd like to ship something that other folks can use to share in my efforts, so I've been thinking about how to model those activities in an ActivityPub-esque way to use in the Svelte UI.
ActivityPub Messages
To that end, I'm now using Block and Delete activities sent from the client to the server outbox to manage the blocking of instances and purging of data.
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"@context"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
<span class="hljs-string">"https://www.w3.org/ns/activitystreams"</span><span class="hljs-punctuation">,</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"ek"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/ns#"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"Instance"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:Instance"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/activities/550e8400-e29b-41d4-a716-446655440000"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Block"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"actor"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/user/system"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"object"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Instance"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://spammy-instance.example"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>In practice, my client does not generate the
id, but that attribute is generated by the server and the Activity is stored alongside other typically federated activities. These local Block activities are not federated out to other servers; they are intended solely for local server management.The Block activity is sent as a message signed at the client by a user with administrative privileges on the server. Enigmatick's user authentication is unique (i.e., I use a separate set of encryption keys for client-signing executed by a wasm module in the browser). That can be a topic for a future article.
That the actor is defined as the system Application user is important. That's used by the server to establish the scope of this action as system-wide, not just for a single user. The system actor is discoverable in the nodeinfo metadata.
I'm using a typed object rather than just an id reference. This is so that I can use this same flow for blocking and purging Actor objects (i.e., the type would be Person, Service, or Application).
The purge action is similar, using the Delete activity.
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"@context"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
<span class="hljs-string">"https://www.w3.org/ns/activitystreams"</span><span class="hljs-punctuation">,</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"ek"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/ns#"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"Instance"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:Instance"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/activities/550e8400-e29b-41d4-a716-446655440000"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Delete"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"actor"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/user/system"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"object"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Instance"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://spammy-instance.example"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>The term, "delete" is a bit of a misnomer in this case as it applies to the instance specifically. The instance will remain, but the
objects, activities, and actors associated with that instance will be fully deleted (i.e., not set to Tombstone).Collection Endpoints
To facilitate the UI operations, I've created two new collection endpoints on my server: /instances and /actors. These endpoints provide typical ActivityPub Collection objects.
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"@context"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
<span class="hljs-string">"https://www.w3.org/ns/activitystreams"</span><span class="hljs-punctuation">,</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"Instance"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:Instance"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"activitiesCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:activitiesCount"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"actorsCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:actorsCount"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"blocked"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:blocked"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"ek"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/ns#"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"lastMessageAt"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:lastMessageAt"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"objectsCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"ek:objectsCount"</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"OrderedCollection"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/instances"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"totalItems"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">7702</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"orderedItems"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"Instance"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://example-instance.name"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"blocked"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"created"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"2025-12-16T16:56:33Z"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"lastMessageAt"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"2025-12-16T16:56:33Z"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"actorsCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">0</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"objectsCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">1</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"activitiesCount"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">0</span>
<span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"first"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/instances?max=9223372036854775807"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"last"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/instances?min=0"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"next"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/instances?max=1765657395402834"</span>
<span class="hljs-punctuation">}</span>I've added some extensions in the
@context to account for a few non-standard attributes.That collection is used by the UI.
Collection Discovery
nodeinfo is a common protocol used for discovering information about ActivityPub-speaking servers. I've extended my use of that to facilitate client-discovery of these new endpoints using the metadata object contained in the nodeinfo JSON.
<span class="hljs-attr">"metadata"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
<span class="hljs-attr">"actor"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/user/system"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"adminActors"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/actors"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"adminInstances"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social/instances"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"domain"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"enigmatick.social"</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">"url"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://enigmatick.social"</span>
<span class="hljs-punctuation">}</span>Final Thoughts
As I'm reading through this, I see some opportunities for refinement. I should probably be using OrderedCollectionPage instead of OrderedCollection for my collection endpoints. I'm sure there are other tweaks to be made.
Sensitive content
Going through Top Gear #Christmas Specials and I must say this #TVShow has introduced me to many good songs...
Grace by WIll Young, Bolivia edit
youtube.com/watch?v=XwcAq_DjN0…
Top Gear Bolivia Special Will Young Grace
Top Gear's Bolivia Special with Will Young's Grace.Tharindu Wijayasekara (YouTube)
Sensitive content
they binted my boats i am officially empress of nothing
live at 10:30 CT @ twitch.tv/skylarkaede & youtube.com/live/ciybtp_UdYY
they binted my boats i am officially empress of nothing
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.Skylar Kaede 🦊🍹 (YouTube)
The other day I learnt that enabling syncookies in pf on OpenBSD lights up your server like a Christmas tree. Or in other words, it made the server respond to _every_ incoming tcp syn packet with syn/ack, making the bots scanning the internet think the port was open, even though the final ack would be dropped when rules were then evaluated. This increased scanning by a lot! Or so it seemed to me at least.
The reason for this experimentation was I got to experience what I think was a tiny syn-flood attack, and I was trying things to see what I could do to mitigate on my end.
I'll maybe write more about this after the holidays.
2002573491552620876
Ancient lock from China. pic.twitter.com/9X2QFFTZPC— Brian Roemmele (@BrianRoemmele) December 21, 2025Brian Roemmele (X (formerly Twitter))
@tankenator I am absolutely flabbergasted at how Moe was able to find various events and programs throughout history to pinpoint why blacks, yet again, were unable to act with civility or compassion. It just really is never their fault, according to him.
Curry wasted his precious time going along with that show, and the batshit crazy takes regularly made it onto the NA show.
That was the beginning of the end for me, in terms of listening to NA
@Milkandtoast @tankenator i got a completely different ideology out of listening to the first 50. What made me stop was actually Curry, he always has to say something, if someone else is talking he's like a goddamned child, he has to interject.
But i didn't get the feeling that Moe used white supremacy as a crutch.
The Greatest Fighter Pilot Of WW1 - Frank Luke "The Arizona Balloon Buster" - The Fat Electrician
youtube.com/watch?v=lp5dKs9ytj…
The Greatest Fighter Pilot Of WW1 - Frank Luke "The Arizona Balloon Buster"
Check Out Delete Me: https://joindeleteme.com/Electrician20% Off Code: Electrician----------------------------------------------------------------------Merch...The Fat Electrician (YouTube)
How the world of work will change over the next twenty years
Five experts look ahead and imagine a future that looks totally different
Simonalein ⁽⁽⁽i⁾⁾⁾ likes this.
Have you ever had an uncanny or possibly paranormal experience?
I have.
It happened when I was in undergrad, I had a work-study in the Archivists Office in the rare books section of the library. The library is a classic modern building from the 50s, once ahead of its time, now well behind. The computer system was similar, my college being one of the first to adopt a digital library catalog in the 60s
So, as you can see, this is, in part, a story of a haunted computer terminal. 1/ #threads
when I was a kid (starting at maybe 5 or 6), I used to swear every night I'd see a glowing figure watching me from the corner of my room, just inside the door.
For years. Never saw much detail, but I never wanted to look for too long. I slept with my ear covered by the blanket because in my lil child head if my ears were covered and eyes closed, ghosts couldn't get in.
But a part of me always assumed it was just a trick of the light - it was opposite the windows, after all.
But one night a cousin was staying over - she slept in my bed and I on a cot on the floor. Until she woke up SCREAMING about a glowing man staring at her from the same corner I'd always seen it in. I'd never told her (or anyone) about it because I was embarrassed by how scared it made me.
Someone else seeing it didn't help.
Not long after, I ended up moving and never saw it again.
I'm not a believer in the supernatural now, but I still can't come up with a satisfying explanation for that whole experience.
My last long-form essay of the year (there will be a few more book chapters and probably a retrospective article, but this is the last of the heavy analysis). It's about why bad politics is tedious politics, tedious politics is bad politics and how we can insulate ourselves against both:
The politics of tedium | deadS...
The politics of tedium | deadSimpleTech
All of these species of people, despite their wildly diverging politics, have one thing in common: they trigger the "my God, you're saying this again? You're full of shit" response.deadSimpleTech


Junes
in reply to Dr. Ngandu 🇨🇳 | KILL ALL VIDEO GAMES • • •