minioctt, to wordpress Italian

Un po’ di e ora che mi rendo conto che la di non è poi così tanto epica e funzionale come speravo, credevo, e dicevo… rimane comunque mooolto meglio di quella di Telegram, su questo punto ci rimango perché lo avevo detto con cognizione di causa, e perché su quella la ricerca di specifici (che ricordiamo, non ha operazioni avanzate) fa spesso così incredibilmente cilecca; però ecco, migliore non vuol dire perfetto. Ci sono due principali: il fatto che la ricerca non sia veramente agile, e non aggiorni i risultati immediatamente durante l’input, ma bisogna sempre ricevere la pagina nuova dal server, e poi il fatto che sia limitata in termini di dei . 🦍

Il primo direi che almeno un pochino l’ho risolto installando semplicemente il plugin Relevanssi Live Ajax Search; ho anche modificato il codice in relevanssi-live-ajax-search/templates/search_results.php, modificando l’HTML sotto il blocco the_post(); per far apparire anche un estratto del contenuto di ogni risultato, aggiungendo <?php the_excerpt(); ?>, che avere solo il titolo non è cosa buona (alcuni miei post neanche lo hanno il titolo). ☢️

Quello che mi fa impazzire è il secondo! Ho cercato e provato tanti , ma nessuno fa cosa mi serve, cioè i con complesse includendo ed escludendo certi termini, specificando magari anche il tempo, e così via. Insomma, vorrei avere una ricerca simile a quella che Twitter ha da un secolo, o che, addirittura, ormai anche Mastodon ha (seppur con alcune sue limitazioni arbitrarie di design, che personalmente meh, però sul livello tecnico è ottima)! Su Twitter ricordo che si potessero usare operatori logici AND e OR per formare molto complesse, mentre su Mastodon vedo sicuramente che si possono usare i simboli più (+) e meno (-) per forzare l’inclusione o l’esclusione di alcune , oltre ad esserci specifici per il prima o dopo una data, ed altre robe. 👑

Il vantaggio di un normale sito web è che almeno posso con motori di ricerca generali quando quello integrato sul mio non mi basta (ammesso che il sito non sia bistrattato dagli algoritmi e dai crawler, fortunatamente questo su dominio Altervista è indicizzato), ma fa : non è detto che esca davvero tutto in ordine cronologico come a me serve, e non escono nuovi se non dopo ore o giorni. 🐌

Dovrò vedere come giostrarmela, perché al momento per quanto io personalmente riesco a ritrovare singoli post vecchi per qualunque scopo, mi è impossibile condividerne molti insieme con la semplicità che vorrei: 1 solo link verso una pagina di ricerca con una comanda appositamente costruita. 🦴

https://octospacc.altervista.org/2024/03/04/wpricerca/

minioctt, to apple Italian

When heart rate falls below 5, Post all drafts (X)Il concetto di “scritti pubblicati postumi” nell’anno del signore 2024, in cui non si scrive su quadernelli e letterine, ma sulle piattaforme di . ✝️Essendo l’ecosistema di molto congruente e coeso (ahimè, pure io devo ammetterlo), si possono creare di tipo questa… che non so se sia vera o meno, non ho dubbi sulla parte when dell’ , ma mi sembra strano #X abbia delle API per pubblicare tutte le . 🤨

L’idea è particolare, e mi chiedo se si possa fare una cosa del genere su Android con la Mi Band, per pubblicare sul sitoctt tutti quei post iniziati che non sono mai stati finiti, non si sa mai… anche se un delay lo metterei per queste cose, non è furbissimo fidarsi al 100% del sistema e pensare che non possano mai verificarsi falsi positivi. Soprattutto perché, di tutte le bozze potenzialmente da pubblicare in punto di , per l’utente medio quelle di X sono probabilmente al vetriolo scritti e appena trattenuti dall’invio per evitare il proprio linciaggio… 🤖

https://octospacc.altervista.org/2024/02/28/bozze-in-punto-di-morte/

#X

minioctt, to mastodon Italian

[⤴️ https://octospacc.altervista.org/2024/02/11/amicini-wordpressiani/]

Sentimenti misti riguardo #FriendsForWordpress, ci sono alcuni punti #critici che ho già notato (oltre a #problemi minori, che non fregano):

  • Mentre la #comunicazione con #Mastodon e Pleroma funziona bene, con Misskey e chissà quali altri #software non va affatto. Si può comunque decidere di ricevere i #messaggi pubblici iscrivendosi al feed #RSS, ma la visualizzazione così è castrata: le note di risposta appaiono come post normali (scomodo) e i renote non si vedono proprio. 🔑️
  • Nell’interfaccia del #feed, rispondere a qualcosa comporta per forza la creazione di un nuovo post sul #blog, cosa per me non accettabile, dato che scrivo dal mio #sito proprio per poter ritrovare sempre i miei post veri senza difficoltà o confusione. Ed è strano, perché allo stesso tempo pare si possa scegliere di boostare messaggi solo su #ActivityPub, senza crearne uno nuovo sul sito. Ma, forse, questa opzione non negoziabile si può cambiare nel codice, perché… 🗳️
  • Ho provato il #pluginEnable Mastodon Apps“, che permette di usare il sito con Friends facendo login con app che implementano la client API Mastodon… sarebbe fantastico, se solo non avesse un #bug del feed, che fa uscire tutti i #post ordinati a caso (mi sembra di stare su Reddit, maremma bona). Però, è interessante che lui espone un’opzione “Post replies to posts as comments“, che è quello che vorrei io come ho detto sopra… e quindi forse il codice di #Friends è già pronto a ciò, manca solo l’impostazione. 🙃️
    • Ho provato se funzionasse con Brutaldon, e no, non va. Il che è un peccato, ma dall’altro lato anche un sollievo, significa che WuppìMini non l’ho creato a vuoto.

https://octospacc.altervista.org/2024/02/12/wordpressin-not-friendin/

#ActivityPub #blog #bug #comunicazione #critici #feed #Friends #FriendsForWordpress #Mastodon #messaggi #plugin #post #problemi #RSS #sito #software

minioctt, (edited ) to CSS Italian

[⤴️ https://octospacc.altervista.org/2024/02/01/emmebi-telegrammico/]

L’ultimissimo miglioramento che ho in ogni caso poi fatto ad è stato l’aggiunta di una funzione per importare codice e , per modificare come i post possono essere visualizzati. Entrambi funzionano allo stesso modo, con i relativi parametri URL che accettano sia esterni che data URI. Niente di particolare per gli stili, semplicemente importo nella pagina la qualunque cosa venga data lì, ma per gli è stato leggermente più . 😕️

Il punto sta nel voler evitare che essenzialmente non affidabili siano iniettati nel contesto della pagina semplicemente da URL, perché potrebbero fare tante cosine cattive; prima fra tutte, rubare dall’archiviazione del del mio dominio, cosa che è un , perché gli utenti inesperti che aprono la app da 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… ☠️

  • ? 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 vecchie che ricompilano codice 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 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 per NodeJS tramite browserify, tipo Cheerio, ma farla anche solo girare lì dentro è un altro casino allucinante. 🥴️
  • WASM tecnicamente è una 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 : PyScript… sarebbe quasi già pronto, ma avrei dovuto comunque modificarlo per bloccare tutte le API insicure (rimuovere ), 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 che mette questo font buffo, e uno script che colora le parole dei 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 , ogni deve provvedere ad esporre una funzione che, tramite la Channel Messaging API, viene richiamata dalla 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. 🤓️

https://octospacc.altervista.org/2024/02/01/emmebi-javascriptico/

minioctt, to AdobePhotoshop Italian

Tra i giorni passati fino a ieri, ho fatto delle robine su , era questo che dovevo … La prima è stata, più che altro perché mi serviva effettivamente da tempo una piccola in grado di fare questa cosa, implementare la lettura del formato di esportazione chat in di . Infatti, le da lì possono essere esportate anche in JSON per usi di manipolazione dati futuri, oltre che HTML per consultazione immediata; però, appunto non c’è ufficialmente un modo per leggere una esportata in quel macchina, e la conversione in HTML statico dopo sarebbe facile ma bruttina: avere un lettore con un’interfaccia a bolle classica so già che può tornarmi utile, perché ho qualche dump non-HTML da parte. 📦️

A parte la per interpretare la struttura del testo di Telegram e trasporla in corretto, non è stato complesso… eccetto che c’è un . Il sistema funziona, ma il tende a soffocare male con dump di troppi . Dopo poche migliaia, già subentrano , con l’uso di RAM della scheda del che arriva a più di 1 GB, e il caricamento, se riesce a finire senza che tutto crashi, è veramente lentissimo. Potrei in teoria risolvere la cosa, ma è veramente una , dovrei portare ancora di più la codebase all’assurdo per fargli caricare elementi DOM a mano a mano da una struttura che di base è comunque un singolo file tutto in memoria, perché così è il formato… per ora lascio tutto così, purtroppo nessuno mi paga, quindi nessuno godrà al 100%. 😈️

https://octospacc.altervista.org/wp-content/uploads/2024/02/Screenshot-from-2024-01-24-21-59-14-960x520.pnghttps://octospacc.altervista.org/wp-content/uploads/2024/02/Screenshot-from-2024-01-24-23-02-36-960x254.pnghttps://octospacc.altervista.org/wp-content/uploads/2024/02/Screenshot-from-2024-01-24-23-04-49-960x524.pngComunque, su Firefox anche con file enormi non muore completamente, ma su Chromium dopo quel limite ho avuto solo . Qui nel scrollo l’export completo del vecchio Telegram nella volpe, e sorprendentemente è abbastanza fluido… ma nel momento riuscivo a sentire in sottofondo il rumore del mio hard disk che swappava memoria. 💽️Giusto se volete provare, ho caricato una versione ridimensionata dell’esportazione del canale, con appena un mese e mezzo di messaggi: https://hub.octt.eu.org/MBViewer/#/dataUrl=https://hlb0.octt.eu.org/Misc/ChatExport_2023-12-10_OctoVoLTE_UwjPwbToBapltoHa/result_2311.json|platform=telegram.export. Se avete un vostro dump su un vostro server CORS-enabled, o alternativamente ospitate una copia della mia app sullo stesso (anche localhost), potete ovviamente usarlo… ma quello che dovrei fare è aggiungere un bottone per caricare un file dall’archiviazione del computer. 🔘️

https://octospacc.altervista.org/2024/02/01/emmebi-telegrammico/

image/png
image/png

simplescreenrecorder-2024-01-25_00.11.13

minioctt, to telegram Italian

[⤴️ https://octospacc.altervista.org/2024/01/13/wordpress-che-non-e/]

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. 😈️

https://octospacc.altervista.org/2024/01/16/spaghetti-a-breve-termine/

#API #applicazione #blog #casino #client #ClientSide #codice #coding #contenuti #dati #divertente #feed #frontend #HTML #idea #interfaccia #intrigante #JavaScript #JS #JSON #lavoro #MBViewer #messaggi #MicroBlog #minimale #moderno #MVP #post #progettare #progetto #programmazione #protocollo #retrofitting #script #semplice #sito #social #software #soluzione #SpaghettiCode #Telegram #webapp #WordPress

Dany_Prive, to mastodon Italian

Ma come si mandano qui su ?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • GTA5RPClips
  • rosin
  • Youngstown
  • everett
  • khanakhh
  • slotface
  • InstantRegret
  • Durango
  • ngwrru68w68
  • kavyap
  • modclub
  • DreamBathrooms
  • mdbf
  • JUstTest
  • magazineikmin
  • thenastyranch
  • cubers
  • cisconetworking
  • osvaldo12
  • ethstaker
  • normalnudes
  • Leos
  • tester
  • megavids
  • tacticalgear
  • anitta
  • lostlight
  • All magazines