If there's one thing I'd change about the fediverse (as I understand it), it would be a wider adoption of the ActivityPub client-to-server API. Even more standards!
I've been re-reconverting a lot of my "stuff" to the BSDs (Free, Open, Net). It's refreshing. The Linux every-tool-has-to-be-a-swiss-army-knife ethos is exhausting after a while. The relative simplicity and clean organization of *BSD (especially OpenBSD) re-affirms my fondness for UNIX-y things.
You might think there's not that much difference but, in many cases, I'd rather admin a BSD box. Try it, you'll see.
Also, NetBSD is soo lean, it has made my old Pentium III almost useful again. Even with 333Mhz and 128 MB of RAM 🙃
@rory Well, for OS71337 I took inspiration from @w84death 's #Floppinux and took his #documentation and went full "chimp banging rocks together" on it, but swapping #BusyBox for @landley 's #toybox since I prefer #bash over #ash and wanted something really basic that would do more than cat text files but provide i.e. a portable #SSH#client on a FDD.
Something that could serve as a foundation or rather plain "slate for my other projects in lieu of a THICC distro that is not practically auditable
@ljrk@lexd0g The problem is that #SSL is trivial to #DoS & #DDoS and doesn't require a malicious actor on #Client-side to create their Pubkey at a similar computational cost,
And PGP would solve the whole #login issue more elegantly - just like with eMail encryption!
@landley I'll propably have to gut functions out of toybox to get it where I want it to be, but then again the "#CORE" Version of OS/1337 will be very much barebones....
Just the essentials to get #Dropbear#Client to be able to #SSH into stuff, be able to make a #ramdisk and #wget / tiny-#curl everything else (i.e. a system image one could dd onto a HDD/SSD)...
And unlike #Discord it's not a #centralized shit they host with #VC money on #aws, #GCP or whatever but instead you can #SelfHost and even write your own client because it has an actual #API...
What's the point of an #anonymizing#messenger if they - in clear violation of #GDPR & #BDSG - conmect that to a #PhomeNumber which im more juristictions than ever can't be obtained anonymously in.any legal capacity???
@anderseknert In AS2 it's defined as "Identifies one or more Objects that are part of the private secondary audience of this Object."
Then AP dictates how to handle it (https://www.w3.org/TR/activitypub/#client-to-server-interactions): you treat it like a cc/to field but strip the information before sending it. So it gets sent to the actor and they know who sent it, but don't see any of the other actors in the b(to/cc) fields.
@amadeus I had it happening to me yesterday: A toot from an account (from another server) I do not follow showed up in my stream. None of its hashtags followed. Noticed a person I do follow had replied to a post on the thread further below the toot. For now I assume the following: A person I follow retoots/boosts a post, then remove the boost. The post stays published/cached and is seen by me, confusing me. #mastodon#cache#refresh#client#mastodon_client#tooot
Colpo di #genio estremamente radicale per risolvere un annoso #problema: il creare una data #webapp, che non abbia bisogno di grande interattibilità (vedi un social network, o un CMS), senza dover mantenere 2 #codebase separate e quindi impazzire, facendola funzionare sia con un #server che totalmente senza… ossia, come unire in una sintesi circa accettabile i due maggiori paradigmi del #frontend? 🤔️
Quello antico, delle prime #piattaforme#web, dove il server genera tutto l’HTML e il browser lo visualizza com’è, spesso con (quasi) zero #JavaScript (vedi la Spacc BBS). 📦️
Quello moderno, dove nel #backend si espongono API (spesso JSON REST), e il fronte viene sviluppato a parte come app che gira totalmente lato #client, con il #browser che richiede pezzetti di dati e fa i suoi iperprocessamenti. 💱️
Ormai quello antico non si usa quasi mai per #progetti nuovi, perché gli svantaggi sono pesanti appena si vuole andare un po’ più in là: per tappare i buchi nel progetto medio si finirebbe a dover scrivere talmente tanto #codice#ClientSide, che a questo punto era meglio fare tutto nel secondo modo, senza menzionare i modelli e le #API da esporre nel server che altrimenti non si sarebbero implementati. Però, le webapp antiche girano bene anche sul computer tascabile meno performante (average Ximi), sui browser vecchi, e spesso sono le uniche che vanno quando tutto il resto ti lascia a piedi. D’altro canto però, anche se in teoria quella #app potrebbe funzionare #offline, magari mostrando dati cachabili, se è sviluppata in modo attaccato al server ecco allora che non si può fare nulla: muore il server, muore tutto. 💣️
Quindi la mia #idea paxxerella, dato che devo fare banalmente una #applicazione come frontend per un altro servizio già esistente, ma voglio i vantaggi appena millantati: sviluppare con i paradigmi #ServerSide in un framework JS adatto, che giri sia in Node che nel browser. A quanto pare, qualcuno ci ha pensato prima, e qualcosa di già fatto ho trovato (Express+FrontExpress, Koa+Koa-Client, Rill)… ma è tutta roba ormai abbandonata, che o non funziona (ho provato) o ha altre #rogne. Te pareva che trovavo mai qualcosa di buono già pronto… Però, in un quarto d’ora ho tirato su uno #script scheletrino, giusto per poter partire per questa via. ☠️
Dunque, quel bellissimo #MBViewer, che ho iniziato a realizzare appena 3 giorni fa… è già #SpaghettiCode. Ehh, si, quel codice di #Telegram lì non è proprio fatto per gestire un caricamento di dati troppo avanzato e tutto #ClientSide: nel suo normale caso d’uso riceve #HTML già preparato dal server, ed usa #JavaScript non #moderno, quindi tentare il #retrofitting che ho fatto io è chiaro porti a difficoltà. Si può fare, perché nella #programmazione si può fare tutto, ma è un #casino. …E un po’ me lo aspettavo, e lo sapevo da quando ho iniziato. 😁️
Considerate, questa #idea mi era venuta per un motivo molto #semplice: era da un po’ che volevo implementare una vista più #minimale e con #comodità moderne (come lo scorrimento infinito, o la vista in contesto) per il #MicroBlog nuovo, ma tenendo comunque io il controllo dei miei #dati. Farlo dentro #WordPress non mi va, dato che alla fine comunque dovrei usare #script#JS, e a questo punto ho ritenuto #intrigante l’idea di fare proprio una cosa a parte, che potesse potenzialmente essere facilmente adattata per prendere i #contenuti anche da altre fonti (e lo fa, legge #JSON da ovunque, se opportunamente assemblato), qualora il #sito Altervista dovesse avere dei problemi. 🧭️
Però, questa non è la mia #soluzione a lungo termine. Per quello, in realtà, ho in mente un #progetto semi-segreto che iniziai mesi fa, ma che poi, presa da altre cose, non continuai. Doveva essere una #webapp per il Fediverso e, potenzialmente qualunque altro #protocollo#social grazie ad un layer di astrazione di #API interno. È Il#software che vorrei far funzionare con una doppia #interfaccia, a #messaggi o a “piazza” (stile Miiverse), e quindi in secondo luogo anche come #client Matrix, e in terzo e quarto per #blog e #feed standard… problema è che, dovendo non solo #progettare tutto il #frontend, ma anche svecchiare una spaventosa porzione del #codice, non è affatto una cosa rapida arrivare ad uno stato di primissimo #MVP. 😳️
Insomma, è per questo che questa piccola #applicazione, tirata su alla bene e meglio e che esiste in buona parte per via di #lavoro non mio, l’ho chiamata “#distrazione”. Continuerò ad aggiornarla, anche dopo che ora ho aggiunto l’ultima funzione fondamentale, ossia l’apertura di #post specifici? Probabilmente no, sarebbe meglio pensare a sistemare quell’altro progetto e fare un robo fatto bene. Importa qualcosa? Naaaah… come si dice, “the first rule of gun safety is to have fun“? Vale la stessa cosa per il #coding, quando l’arma è la propria tastiera insomma. Basta sia stato #divertente. 😈️