Aufpassen müsst ihr weiterhin, wenn ihr ausvershen auf #Telegram seid.
Auf keinen Fall diesen Bot anschreiben: https://t.me/scihubot
Nicht, dass ihr noch ausversehen hinter die #Paywall kommt!
@M Früher konnte man einfach bei Wikipedia nachsehen, wo sich #SciHub gerade befindet. Jetzt unternimmt die Wikipedia endlich etwas dagegen und ist sogar gründlicher als die großen deutschen ISPs: Auch Ausweichdomains wie https://sci-hub.hkvisa.net und https://sci-hub.yncjkj.com stehen jetzt auf der globalen #URL-Sperrliste von #Wikipedia. Bravo, @wikipedia !
I just love it when #Activitypub is a walled garden. Who thought it was a good idea to only give the formatted HTML of each person's post? They contain internal links to the original instance, so they make a lot of sense if you want to lock someone in to the original instance, and draw others to it like flies to honey. There's no way to get the original text, and so I'm going to have to parse and undo things like <p><a href="https://pdx.social/tags/test" class="mention hashtag" rel="tag"><a class="mention hashtag" href="https://fedicy.us.to?t=<" rel="tag">#<</a>;span>test</span></a></p> if I don't want my instance linking to some other instance just for a hashtag.
This problem goes deep, in fact. HTML hyperlinks were always intended to be a #capitalist money trap. Ted Nelson's original Xanadu concept in the 60's would have you making a micropayment for every link you clicked, putting in an inherent incentive to trap you into clicking a given site's links, and make them moolah. The whole idea of a #URL is a location that someone owns, controls, and can charge #money for. A URI is the resource indicator for things other than that, but URLs were always about market control, by design.
With most of the world blinded and the dangerous carnivorous Triffids set loose, it falls upon a band of scattered survivors to fight this plant invasion and the madness following. Starring Dougray Scott, Joely Richardson, Eddie Izzard, Vanessa Redgrave, Brian Cox & Jason Priestly.
LibreOffice 24.2 Community, the new major release of the free, volunteer-supported office suite, with the new calendar-based numbering scheme (YY.M), many new useful features, and a focus on security and accessibility, is available at https://www.libreoffice.org/download@libreoffice@tdforg
I'm aware of the change from major.minor to year.month, but this means, #LibreOffice will not provide a real version number in the future, as a release date doesn't tell anything about major.minor or what to expect from a release.
And it looks like they discussed between 24.02 and 24.2...
But is 24.2 a version like 7.7 or a next generation like 8.0?
And what about 24.8?
Übrigens: Auf #Mastodon werden nur vollständige #URLs in anklickbare Links umgewandelt. Das ist kein Bug, sondern ein sinnvolles Feature. 💡
So könnte ich bspw. schreiben, dass BILD.de ein rassistisches Kackblatt ist, ohne dem Bumsladen unnötig Reichweite (z. B. durch versehentliches Anklicken) zu schenken.
(Auch klar: Dieser Hinweis bezieht sich auf die reguläre Ausgabe eines Mastodon-Servers im Webinterface, was die Masse aller Mastodon-Nutzer*innen ausmacht. Andere Web- oder native Apps oder andere Softwares im Fediverse interpretieren URLs ggf. anders, wobei sich selbst das stark verbreitete Tusky daran hält.)
Salut #Mastodon, #JeCherche un truc qui permet de #raccourcirLesURL. Un truc propre, pas un truc qui scrute tous les internautes qui cliquent. De préférence des #URL lisibles, mais je ne sais pas trop comment ça marche.
Est ce que vous avez un conseil ?
Does anyone else have a pile of unused domain names they are hording? I keep buying new ones that "I'll totally do something with" only for them to remind me yearly to renew them.
I have one coming up for renewal soon that I've turned off auto-renewal for. I must stay strong.
Auch deswegen nutze ich YouTube nicht direkt, sondern Links über @invidious* oder nutze es mobil via @newpipe*, um Videos zu sehen und so weit frei vom Tracking zu sein. Leider sind noch nicht sehr viele anregende Videoproduktionen im Fediverse zB auf @peertube vertreten.
🧵 …leider sehe ich bei den oben erwähnten #YouTube Player, die #Datenschutz-Konsum umsetzen, leider keine weiteren Updates aber dies muss nichts heißen.
Es gibt auf @fdroidorg u.a. zusätzlich auch den #MPV-Player, auf dem kann mensch auch #Videos vom https://archive.org abspielen. Dazu müsst ihr nur dessen Video direkt #URL kopieren und im Player angucken. Es ist ein min. #Player den ich deswegen zusätzlich nutze und mir gefällt.
Je publie enfin un #tutoriel qui traînait dans un tiroir depuis avril sur la manip des URL et query strings en #JS moderne avec #URL et #URLSearchParams. Comme toujours, plein de petites pépites cachées dans l'API…
Hat dieser Mensch tatsächlich den #Screenshot einer #Adresszeile seines Browsers als #Bild in eine #Word Datei gepackt und die Word Datei ins Ticketsystem hochgeladen um die #URL mitzuteilen.
I'm using the following #regex#code to strip a #url to its domain name and TLD:
url = url.replace(/^(?:https?://)?(?:[^./]+.)?([^./]+.[^./]+).*$/i, "$1");
For example, if url = ereader.perlego.com after stripping url = perlego.com
Cool. But this doesn't work for urls like jprs.co.jp. Technically, it performs correctly (stripped url = co.jp) but functionally it isn't what's needed (should be jprs.co.jp). Any suggestions on how to handle these sorts of cases?
Ihr müsst nicht zwingend einen #URL-Shortener in #Mastodon verwenden, den ein #Link zählt max. 23 Zeichen und ist unabhängig von seiner wirklichen Länge (fast) keine Einschränkung für den Toot.
Falls du doch einen URL verkürzen möchtest, dann nimm doch bitte einen #Datenschutz freundlichen und nicht die üblichen, die die unnötig #Daten von Userinnen abhorchen.
z.B. stellt @adminforge freundlicherweise einen solchen zur Verfügung & nutzt ihn:
L’ultimissimo miglioramento che ho in ogni caso poi fatto ad #MBViewer è stato l’aggiunta di una funzione per importare codice #CSS e #JavaScript, per modificare come i post possono essere visualizzati. Entrambi funzionano allo stesso modo, con i relativi parametri URL che accettano sia #URL esterni che data URI. Niente di particolare per gli stili, semplicemente importo nella pagina la qualunque cosa venga data lì, ma per gli #userscripts è stato leggermente più #complicato. 😕️
Il punto sta nel voler evitare che #script essenzialmente non affidabili siano iniettati nel contesto della pagina semplicemente da URL, perché potrebbero fare tante cosine cattive; prima fra tutte, rubare #dati dall’archiviazione del #browser del mio dominio, cosa che è un #problema, perché gli utenti inesperti che aprono la app da #link non andranno a cercare di investigare cosa accade dietro le quinte (e, molto probabilmente, non lo farei realisticamente nemmeno io, seguendo la logica del “i miei siti sono miei e li conosco, sui siti altrui ho le protezioni del browser attive“). E quindi inizio a scendere in un rabbithole… ☠️
#Iframe? Hmm… non so, non è il caso, sarebbero insicuri, ci sono alcuni modi in cui una pagina in frame può fare robe fastidiose. Non può essere assolutamente un’idea, proprio mai (foreshadowing). 🪟️
Trovo un bel po’ di #librerie vecchie che ricompilano codice #JS per rimuovere pericoli, o lo analizzano preventivamente per la presenza di operazioni dannose così che possa non essere mai eseguito… praticamente tutte abbandonate, qualcuna esplicitamente dichiarata insicura e non patchata, e per qualcun’altra lo possiamo dare per scontato. 🐛️
Forse questa libreria più recente, jailed, che sfrutta un iframe assieme ad un Web Worker per creare una sandbox forte e bloccare tutte le #API eccetto alcune che si decidono… No, l’ho provata e non va bene, non si riescono a passare alla sandbox oggetti complessi, tra cui i costruttori, è impossibile far funzionare API tipo quella del DOM. 🚧️
Sarebbe stata un’idea usare qualche reimplementazione del #DOM per NodeJS tramite browserify, tipo Cheerio, ma farla anche solo girare lì dentro è un altro casino allucinante. 🥴️
WASM tecnicamente è una #sandbox a sua volta, e non accede alle API del browser se non con codice colla, quindi magari… teoricamente ok, ma nella pratica non ho trovato nessuna soluzione già bella e pronta che potessi usare per questo specifico scopo. 🕳️
La #pazzia: PyScript… sarebbe quasi già pronto, ma avrei dovuto comunque modificarlo per bloccare tutte le API insicure (rimuovere #codice), e poi richiede 15+ MB di dipendenze di runtime… non ideale. 🗿️
Alla fine ci ho pensato meglio, e sono arrivata alla conclusione che è abbastanza sicuro far girare gli script in un iframe con proprietà src="data:[...]" e sandbox="allow-scripts" (che significa, “blocca tutte le proprietà sensibili eccetto gli script”)… voglio dire, nel visualizzare il contenuto dei siti, già permetto eventuali iframe provenienti dai post, e quelli teoricamente possono già fare quello che vogliono eccetto accedere ai dati della finestra root. Nella pratica, i programmini degli utenti quindi hanno accesso a (quasi) l’intera API JavaScript senza poter fare cose bruttissime. 🎉️
https://octospacc.altervista.org/wp-content/uploads/2024/02/image.pngEcco un esempio di tutto, alla fine: questo URL carica il mio MicroBlog, importa un foglio di #stile che mette questo font buffo, e uno script che colora le parole dei #messaggi in base a come si ripetono man mano (inutile, ma serve giusto per dare idea delle potenzialità)… <a href="https://hub.octt.eu.org/MBViewer/#/siteUrl=https://octospacc.altervista.org|platform=wordpress.org|includeStyle=data:text/css;utf8,@import%20url('https://fonts.googleapis.com/css2?family=Single+Day&display=swap');.MbPost{font-family:'Single%20Day',cursive;}|includeScript=data:text/javascript;utf8,function%20MbViewerFunction(data){const%20dom=new%20DOMParser().parseFromString(data.html,'text/html').body;const%20tokens=dom.textContent.split('%20');const%20words={};for(const%20i%20in%20tokens){const%20word%20=%20tokens[i];if(words[word])words[word]++;else%20words[word]=1;tokens[i]=%60%3Cspan%20style='color:${atob('Iw==')}${[0,'b58900','cb4b16','dc322f','d33682','6c71c4','268bd2','2aa198','859900'][words[word]]};'%3E${word}%3C/span%3E%60}data.html=tokens.join('%20').replaceAll('nn','%3Cbr%3E');for(const%20img%20of%20dom.querySelectorAll('img'))data.html+=img.outerHTML;MbViewerReturn(data)}">https://hub.octt.eu.org/MBViewer/#/siteUrl=https://octospacc.altervista.org|platform=wordpress.org|includeStyle=[...]|includeScript=[...]</a> (il link con tutta quella roba messa inline è una stringa di quasi 1 KB!). Userò tutta la cosa per rendere gli hashtag nel testo meno intrusivi per il mio sito anche lì, oltre che sul dominio originale. 👋️Finisco con dati ancora più tecnici, per chi non ha una vita: con questo #design, ogni #userscript deve provvedere ad esporre una funzione che, tramite la Channel Messaging API, viene richiamata dalla #app per ogni messaggio appena questo viene aggiunto al documento visibile; questa funzione riceve dati utili (per ora, solo l’HTML del contenuto; oltre a dati come l’id del messaggio nel flusso, che non sono granché utili all’utente ma devono essere restituiti alla app) e può rimandare nuovi dati indietro richiamando una funzione che è invece l’applicazione ad esporre allo script. Tutto questo ambaradan permetterebbe agli script di effettuare anche operazioni asincrone, comunque, non per forza di dover agire immediatamente alla chiamata. 🤓️
The Day Of The Triffids (2009 1080p) TV mini series (www.youtube.com)
With most of the world blinded and the dangerous carnivorous Triffids set loose, it falls upon a band of scattered survivors to fight this plant invasion and the madness following. Starring Dougray Scott, Joely Richardson, Eddie Izzard, Vanessa Redgrave, Brian Cox & Jason Priestly.