Vai al contenuto

Senza categoria

Niente ETH e niente docc

Per stavolta vi risparmio i preamboli, magari approfondirò a parte, ma in pratica mi sto avviando per davvero per la moneta #Spacc, per fare la mia rete personale basata su #Ethereum in modalità #ProofOfStake, con blackjack e squillo di lusso. (Creare un token $SPACC su reti normali, ahimè, costa troppo). #Problema: è un #casino. 😭

Un sacco di articoli in giro sono stati scritti prima del fork PoS, quindi già quelli non vanno bene per capire come mettere questa robaccia sul mio #server. Qualche risorsa nuova si trova, ma è principalmente per creare #devnet, non proprio reti private a scopo di produzione. Ovviamente si può fare, Ethereum lo supporta praticamente nel protocollo (lo so che non è la terminologia corretta questa, abbiate pazienza un attimo), però in giro gli aiuti scarseggiano. Ma evidentemente il trolling involontario è molto presente. 😫

Ho trovato questo articolo, e quindi sono andata sulla repo Git menzionata a scaricare la roba (configurazioni personalizzate per i programmi ufficiali, nessun #software speciale) e tentare di avviarla, ma lo script di pre-pulizia (o meglio; di post-pulizia, che ti viene però detto erroneamente di farlo girare anche dall'inizio) è fatto a culo... e mi ha cancellato tutti i contenitori Docker che avevo sul sistema, che erano roba che ho sempre avuto e non centravano nulla. ...#MANNAGGIA! Soprattutto perché alla fine non ha nemmeno funzionato, una buona parte dei container veniva terminata da sola. Ho anche provato un fork delle configurazioni menzionato in una issue (di un altro problema): quello funziona ma non è adatto, perché non persiste i dati della rete, che vengono persi al termine dell'esecuzione. Non posso vincere. ☠️

Almeno, i container Docker che mi servivano li ho potuti ri-tirare su subito, avendo i loro file di configurazione tutti conservati su disco. A parte uno, che ho dimenticato di vedere e farò domani. Però mamma mia, scriveteli meglio sti scriptini. Ora però mi sa che dovrò leggere la documentazione ufficiale e soffrire per far funzionare tutto questo come serve a me... per cui è importante ricordare le parole del saggio: la documentazione è fatta per essere scrollata, non letta; se l'utente ha bisogno di leggerla per capire, allora è scritta male. Mic drop, goodnight. 🥱

emmebi javascriptico

[sc name=quote-embed-post]2024/02/01/emmebi-telegrammico/[/sc]

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

Ecco 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à)... https://hub.octt.eu.org/MBViewer/#/siteUrl=https://octospacc.altervista.org|platform=wordpress.org|includeStyle=[...]|includeScript=[...] (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. 🤓️

emmebi telegrammico

Tra i giorni passati fino a ieri, ho fatto delle robine #sperimentali su #MBViewer, era questo che dovevo #scrivere... La prima è stata, più che altro perché mi serviva effettivamente da tempo una piccola #app in grado di fare questa cosa, implementare la lettura del formato di esportazione chat in #JSON di #Telegram. Infatti, le #conversazioni 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 #chat esportata in quel #formato 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 #scocciatura per interpretare la struttura #dati del testo di Telegram e trasporla in #HTML corretto, non è stato complesso... eccetto che c'è un #problema. Il sistema funziona, ma il #programma tende a soffocare male con dump di troppi #messaggi. Dopo poche migliaia, già subentrano #rogne, con l'uso di RAM della scheda del #browser 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 #pazzia, 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%. 😈️

Comunque, su Firefox anche con file enormi non muore completamente, ma su Chromium dopo quel limite ho avuto solo #spacc. Qui nel #video scrollo l'export completo del vecchio #canale 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. 🔘️

Vietato rompere le palle

Ieri tardi stavo finendo una roba, e dal niente esce mio padre a #rompere il cazzo perché non sto ancora dormendo...?! Non ho idea di come sia fisicamente possibile... in un altro caso avrei pensato di star facendo tanto rumore da disturbare, ma ormai escludo questa ipotesi, perché è più di 1 mese che ho la tastiera nuova e non sono mai uscite fuori rotture di scatole prima di ieri. #Mannaggia! 😩️

La mia #ipotesi è che dovesse in bagno or some shit, e ha visto un filo di luce (che in genere abbasso apposta, ma non ho mai capito bene quale delle mie lampade si noti meno da fuori, quindi è sempre una roulette) da sotto la porta chiusa, e, magari, allo stesso tempo la mia tastiera si sente stando appena appena fuori alla porta chiusa quando non c'è altro rumore in giro (provai a testare col microfono del telefono, ma non ho mai ben capito). In ogni caso, so con certezza che luce e rumore non arrivano fino a dentro la stanza dei miei genitori, quindi... fatti i fatti tuoi? Dormi e lascia vivere? Se stessi rompendoti il cazzo, allora il tuo diritto di rompere il mio sarebbe inalienabile; ma, dalle mie analisi, penso di non dare alcun fastidio; e se invece lo do, allora la lamentela deve essere esplicita perché io possa comprendere i danni delle mie azioni, non mascherata dietro un'accusa di diverso ambito. (Tutte #supposizioni comunque.) 😐️

E quindi non ho finito di scrivere il post che avevo iniziato, e non potevo continuare a scriverlo magari nel letto col telefono, perché dovevo prima finire di testare una cosa con il JavaScript... ma in quel momento avevo dimenticato di avere una VM desktop sul server, e a fare tutto da app Android native mi viene da vomitare seriamente l'anima (i browser non hanno i DevTools, e se li hanno fanno cagare). Ci ho messo dai 5 ai 10 minuti buoni poi, quando mi sono messa nel lettino a leggere, a godermi la lettura senza avere la mente che andava per fatti suoi per l'amarezza... menomale che alla fine ce l'ho fatta, altrimenti alla prossima buona occasione mi mettevo a fabbricare #pezzi. ⛏️

Aliacquisti di gennaio

Comunque non ho detto i #pacchetti che ieri finalmente sono arrivati dalla #Cina con furore. Non Temu #haul, bensì #AliExpress haul; tutta #roba che mi serviva da tempo, comunque.

  • 🧻️ I rullini di #carta termica adesiva per la stampantina, che in negozi fisici non si trovano e su Amazon costano relativamente molto di più. ....me li aspettavo un po' meno cortini di diametro, ma per €2,67 credo sia ok:

https://it.aliexpress.com/item/1005005756598752.html
  • 🔌️ I #cavetti jumper eterosessuali; mi servono per collegare il Raspberry alle breadboard, ma fino ad ora avevo solo #cavi jumper gay a casa, che sono quelli da usare sulle schede di pane, ma ahimè serve l'altro sesso per collegarsi ai piedini del Rasperino (a meno di saldare). Allora, in realtà dall'inserzione pensavo fossero 120 pezzi, ma, per un prezzo di €1,67, la cosa un po' mi puzzava. Ho voluto fare comunque la scommessa perché altre #inserzioni da 40 #jumper avevano un prezzo perfettamente in linea con questo, quindi anche se è andata male non ho buttato #soldi:

https://it.aliexpress.com/item/1893179831.html
  • 📺️ Il cavone #AV per collegare la #PSP alla TV, passando all'istante da gioco tascabile a gameplay casalingo comfy. Questo è #YPbPr (ottima qualità visiva) e mi è venuto appena €5,35. Su Amazon avrei speso non meno di 7 euro, e sarebbe stato per un cavo composito (pessima qualità #video). In sé, funziona, tuttavia devo capire perché su RetroArch mi causi un letterboxing tremendo...

https://it.aliexpress.com/item/1005003610941702.html
  • 📦️ E infine, una cover per lo #Ximi. Fino a ieri, ho usato la stessa #cover per quasi un anno e mezzo... quando era nuova era fantastica viola #intrigantissima, ma dopo tutta l'usura si è fatta uno schifo dal bordo color giallo vecchiaia. Se dovevo #comprare una #custodia nuova, allora tanto è valso comprarne una #particolare come questa qui, con il perimetro tutto ondulato e le #decorazioni aggiuntive sul #silicone:

https://it.aliexpress.com/item/1005006008094553.html (€4,46)

C'erano diversi #design, questo mi è piaciuto di più, con i diversi #fiori e le scrittine dietro, e il #laccetto per il polso fatto anche quello coi #fiorellini tutto #colorato. È bello come i fiori del laccetto, nonostante siano #colorati solo al centro e trasparenti per il resto, emettano anche dal bordo #riflessi colorati, per via della rifrazione. Poi, tutto il #rumore che fa la #plastica è bello soddisfacente e uwu... 😻️

(ok, in registrazione è molto meno soddisfacente il #suono, mi disp.)

Il cringio si allunga

La fanbase di OctoSpacc sta morendo... ricondividete questo post se anche voi spacciate. 🙏

Seriamente, però, la gente sta pian piano fuggendo; almeno dal canale Telegram, mentre sul Fediverso non c'è nessuna discesa, ma un po' di ristagno si. Non so se sono #io che sto diventando sempre più #cringe e #insopportabile, o sta succedendo tutto perché i miei "micro" #post sono diventati tutti papiri. In ogni caso, non so come mai la situazione del mio cervello sia diventata così nel giro di appena 2 settimane... credo che il codice auto-modificante che gira lì dentro si sia corrotto un'altra volta. 😭

Dovrei investigare meglio su cosa sto diventando senza accorgermene, ma intanto per il meme ho pensato ad una soluzione impraticabile, che risolverebbe questo #problema (ammesso ci riesca) creandone probabilmente di peggiori, ma tecnicamente è fattibile: posso integrare un sistema sul #MicroBlog che, per pubblicare qualcosa, mi costringa a "pagare" un prezzo proporzionale alla lunghezza... 😳

Questi criptospiccioli andrebbero in un montepremi che verrebbe automaticamente diviso tra chi abitualmente legge con interesse i messaggi e li condivide su siti esterni. Vorrei davvero fare questa cosa, quantomeno come esperimento, a pensarci... ma non durerebbe molto, perché prima o poi finirei i satoshi o quello che è, ed escludo di poter mai ricevere abbastanza donazioni per non andare in perdita. Ci penserò. Datemi altre #idee plz.❣️

L’occhio cade e il cervello si blocca

Mi è capitato di sedermi nel posto affianco all'autista sul #bus stamattina qualche ora fa, e l'occhio mi è caduto un paio di volte sul #cruscotto. Tanti #dettagli quantomeno #curiosi: 💡

  • (Il bus era un SITA di quelli bombati, che mi dicono essere nuovi ma intanto la timbratrice era rotta... alla faccia del nuovo)
  • Un piccolo display a caratteri (in un modulo che sembra un'autoradio, ma che evidentemente è un'altra cosa, se si guardano bene i tasti) che diceva "#Guida senza scheda valida". Qualunque cosa significhi. ❓
  • Due display più comuni a sinistra e a destra, spenti, non so cosa siano pensati per fare (forse navigazione? ma non penso 2 insieme...). 🗿
  • Uno schermo grande centrale, che mostra una UI a me ignota (giustamente) con al centro una scritta "livello di attenzione" e l'icona di un occhio piazzata su un estremo di una barra a segmenti verde (!). Cos'è, il sistema rileva l'allerta dell'autista? Io non... ⁉️
  • A sinistra e a destra del display grosso, rispettivamente un contachilometri e un contanonsocosa analogici (ma non so se siano effettivamente meccanici, o siano display che emulano i contatori analogici). 🎡
  • Incastonati al centro dei contatori ci sono due display a segmenti; quello di sinistra mostrava i km/h (di nuovo) ed alcune statistiche intelligibili, quello di destra visualizzava l'orario (corretto, stranamente) e la temperatura esterna. ♨️
  • Sul volante, un logo di qualche animale, tipo un leone drago ma non so, stavo drogata di sonno... mi coglie di sorpresa onestamente. 🐲

Anche al ritorno, ho fatto la stessa cosa, stavolta volontariamente, per scovare le #differenze... tutto sommato, meno #strano (o magari sono io che non ho potuto vedere cose #particolari?):

  • (Bus #SITA squadrato, di quelli mezzi vecchi e mezzi nuovi IVECO)
  • Cruscotto in sé più classico, con il grosso display non-touch, e i contatori analogici meccanici di velocità a sinistra e carburante a destra; nulla di veramente degno di nota. 📊
  • C'è almeno un display LCD classico sulla destra, che mi sembra non visualizzare sempre nulla... ma, stando in galleria, mi è parso che la retroilluminazione fosse accesa, chissà perché. Però no, sempre nero il contenuto. 🔳
  • Mi sa che è un vizio con sti display tecnicamente funzionanti ma inutili, però: su questo stesso bus il display per i passeggeri in alto è fermo su una schermata bianca vuota (ma anche su altri...). 🔲

Se entro quando ricominciano ufficialmente i corsi (e quindi devo fare avanti e indietro come prima) mi dovesse salire l'autismo di abbastanza punti percentuali in più del mio valore base, potrei provare a filmare i #pullman al terminal per fare concorrenza ad Ame... anche se la cosa è molto più difficile rispetto ai treni, palle. 🚍

Boicottare TEMU

https://m.youtube.com/watch?v=-Q3dmP1BKh8
https://m.youtube.com/watch?v=-Q3dmP1BKh8

Mi è capitato questo #video prima... c'è molto da dire. Sapevo già che #Temu è merdaccia, ma evidentemente i colpì di scena non finiscono mai quando si ha a che fare queste aziende #turbocapistaliste gestite da sciroccati e originatesi in paesi con meno restrizioni. 😐️

Ricapitolando:

  • Io scoprii dell'esistenza di Temu praticamente solo dallo #scandalo che ci fu riguardo la app Android di PinDuoDuo (la compagnia di holding) che conteneva letterale #malware, nemmeno conoscevo il #servizio prima. È evidente già solo per questo che va evitato come la peste, ha intenti malevoli. 👿️
  • Negli ultimi mesi ho notato molti #influencer che fanno "woo vediamo la roba che mi arriva da Temu!!!", e qualcuno ho visto che in effetti diceva che la roba gliel'avevano inviata gratis per fare il video... ma molti altri no. E ora così a caso vengo a scoprire che, probabilmente, una parte sostanziale di quegli influencer dal cervello bacato, che non hanno detto nulla a riguardo della provenienza economica della merce (né detto di averla comprata coi soldini propri, né detto di averla ricevuta col video per motivi di sponsor), hanno commesso qualcosa che sarebbe un #reato in tantissime nazioni, perché comporta #danni per i #consumatori, nonché direi una cosa di una scorrettezza etica profonda verso i #followers. Nelle sue #mail, Temu da proprio #istruzioni riguardo il non dire che il video è #sponsorizzato, non vogliono che lo si sappia... non va bene. 💳️
  • A quanto pare, rompono le palle con incessanti e insistenti #email ai #creator, fin quando non ricevono una risposta positiva riguardo il voler collaborare e fare la #sponsorizzazione. Comportamento praticamente da bambini di 5 anni, non da #azienda rispettabile che vuole competere più o meno legittimamente nel #mercato mondiale. Mamma mamma voglio la #sponsor voglio la sponsor!! Mamma uffa devi sponsorizzarmi, io ti mando 100€ di ciofeche e tu mi devi sponsorizzare, rispondiiii!!!! 🤑️
  • Ho sentito che, nella loro #strategia di dominazione del mercato, oltre a star perdendo soldi loro (classica cosa, a me non frega questo, non è un'azione direttamente scorretta contro i consumatori), non pagano nemmeno ai #mercanti tutti i #soldi che gli spettano. Non so se è vero questo, non trovo articoli precisi #online, ma considerando tutto il resto non fatico a crederci. E, da un lato sarebbe schifoso ma comunque non "errato" se nel contratto piattaforma-venditori questi ultimi siano messi al corrente del fatto che #PinDuoDuo potrebbe trattenere soldi per motivi arbitrari (nel senso che, come venditore, sei libero di farti andare bene i termini predatori e stare sul #negozio, oppure rifiutarti e vendere altrove); ma qualcosa mi dice che questa cosa la fanno sotto banco, violando la #legge. Tanto già inducono gli influencer a violare la legge, per cui è evidente che non gli frega. 🔪️

Sarebbe il caso di dire che bisogna #BOICOTTARE TEMU, ma qualcosa mi dice che non avverrà facilmente perché, seppur il voto tramite portafoglio sia collettivamente efficace, il problema è che la collettività è clinicamente rincitrullita e i siti che fino a ieri andavano bene, oggi non più, nonostante la differenza di prezzo sia trascurabile per la roba che serve per davvero. Ma, realisticamente, non sarebbe nemmeno la fine del mondo se cerchi un #prodotto e lo compri lì perché in quel momento ti conviene, ma questo vale se quell'acquisto ti serve davvero, se ti porta un qualche tipo di valore; se sai già perfettamente che si romperà in un attimo, o che finirà in disuso dopo pochi minuti perché è spazzatura, perché comprare solo perché costa poco? Vedo fin troppa gente agire in questo modo. 😩️

Btw, opinione personale, ma il claim "Shop like a billionaire" è estremamente #cringe... i miliardari non comprano plasticaccia schifosa da un #sito estremamente invadente (al massimo i #miliardari sono al capo del sito, ecco). 🙄️

Quando la mia wiki non è al primo posto sui motori di ricerca… la mettiamo a forza.

Ieri, cercando della roba riguardo #TiddlyWiki (che non ho trovato e ho dovuto fare io quindi, comunque), ho per sbaglio trovato quest'altra cosina... (con questo #software è praticamente sempre così, onestamente, le cose più ganze si trovano sempre per caso, la #community è #pazza). 😏

..."Search your nodejs wiki in Google", "TiddlyWiki5: Combine TW5 and search engine results"... nella pratica, è un #userscript che aggiunge sulla pagina di ricerca di diversi motori #web dei link che riportano a quei tiddler che combaciano con la ricerca. Il senso è che, se hai (come me) diversi link in #wiki (salvati dopo che in passato si sono rivelati almeno una volta utili), questo #strumento evita di farti finire troppo spesso nella #situazione in cui impazzisci a trovare una #pagina #online per una determinata cosa che non ricordavi di avere già salvato. Non ci avevo mai pensato, ma questo #strumentopolo è effettivamente #utile, infatti l'ho installato ora. 💯

Qui avevo provato una query di ricerca mediamente complessa, per vedere come funzionasse... e #funziona! 😻

L'ho impostato su #Ecosia (che alla fine è banalmente DuckDuckGo con qualcosa in meno e qualcosa in più), per un semplice motivo:

  • Su #Google pare funzionare correttamente, ma io #GoogleSearch non lo preferisco. 🤮
  • Su #DuckDuckGo è #rotto, e provando a sistemare il #codice in pochi minuti non ho risolto il problema. 😔
  • Su Ecosia non ha funzionato da subito, ma disattivando #JS sul suo dominio e sistemando una piccola parte dello #script, subito ha iniziato a fungere. La versione no-JS di Ecococosia è sorprendentemente ben fatta, quindi ad usare quella non si perde granché. 😺
  • Il resto sono #motori minori (di cui nessuno è un meta-motore, tra l'altro), a parte #Bing... che non c'è motivo di usare, in quanto è banalmente DDG/Ecosia ma con la certezza di datamining, poco simpatico. 🦧

#Ahimé, dopo aver risolto questo primo #intoppo, altro #problema, che esiste praticamente solo perché questi 2 fattori sono allo stesso tempo veri:

  • L'userscript ha bisogno di un server TiddlyWiki NodeJS per fare le sue richieste (non può leggere l'HTML della versione statica classica, deve usare le #API) ma, a quanto pare, permettere qualsiasi filter query (cosa praticamente necessaria per questo uso) su un #server aperto su Internet ti espone ad attacchi DoS (e posso immaginare come mai, conoscendo come funziona il Tiddlino)... quindi, andrebbe tenuto tutto in LAN. 🚧
  • Da non si sa quando, #Firefox (e, mi è parso di capire, anche gli altri browser) bloccano la navigazione da una pagina residente in Internet verso posizioni locali (file://, 127.xxx.xxx.xxx, 192.168.xxx.xxx), sia con metodi #JavaScript (comprensibile, lato sicurezza)... che con metodi manuali come il semplice click su un #link <a> (il che è assolutamente incomprensibile, invece). Ho cercato e cercato, e ho trovato (non senza confusione), qualche #soluzione, che però (e te pareva) non ne vuole sapere di #funzionare... o risolvo questo problema, o devo ogni volta aprire il collegamento in una nuova scheda facendo un passaggio extra (o copia e incolla, o Ctrl+click e poi refresh), che è una merda. 🤧

#Mannaggia!!! Vedi tu se non escono sempre problemi perché qualcuno decide che non c'è abbastanza #sicurezza, e partendo con buone intenzioni va puntualmente oltre. La cosa peggiore di tutte, inoltre, è che la cancellazione della #navigazione avviene in maniera #criptica, senza alcun avviso, errore, o spiegazione: semplicemente non accade nulla. Ma, lasciando da parte per un attimo le mie opinioni su chi dovrebbe essere licenziato in tronco, nel quel dove in cui si sviluppano i #browser, vediamo come ho perso il mio #tempo dopo: 🌚

  • Ho provato a bypassare questa #schifezza del #navigatore creando dei domini personali in /etc/hosts, che puntassero al PC come #localhost o in #LAN... e non ha funzionato; evidentemente, il blocco della navigazione avviene in base alla risoluzione dell'indirizzo, non necessariamente in base alla parte letterale dell'URL (cosa che spiegherebbe come mai all'inizio la pagina pare caricare, ma è dopo giusto qualche istante che si ferma). 🚨
  • Mi è venuto in mente di tenere un #webserver locale che semplicemente fa da proxy per il motore di ricerca, permettendomi di accedervi nel browser dallo stesso indirizzo del server wiki... e ho provato a settare il mio nginx, nello stesso identico modo in cui ho sempre fatto per tanti altri #siti, ma per Ecosia non ne voleva proprio sapere di andare. 🛑

...e ho così finito le #idee per qualche minuto. Turns out però, e mi chiedo come ho fatto a non pensarci prima, che il #metodo meno tendente a #rogne sarebbe stato #modificare lo script per visualizzare i link alla versione online della mia #KnowledgeBase, anche se i dati li continua a ricavare dal server locale. ...E, infatti, ci ho messo 3 minuti e ho risolto il mio casino. Vorrei tanto avere una mini-me virtuale, magari come widget sul desktop, che mi suggerisce i modi giusti di fare le cose quando nota che io reale sto #cringiando. 😫

Ora, a parte mettere questo sistema in funzione anche sul telefono (cosa immediata) ci sarebbero almeno 3 cose da fare:

  1. Necessaria: mettere sul mio homeserver (dove tengo il robo con le API) un servizio che scarica di continuo aggiornamenti della #OcttKB da #Git, e riavvia il server Node quando necessario. Nulla di difficile, ma è palloso. ⚽
  2. Preferibile: mandare una pull request per lo userscript con le #modifiche che ho fatto, incluse quelle di compatibilità, o almeno caricare su qualche mio robo pubblico la mia versione. Nulla di complesso, ma è scocciante. 🧻
  3. Idealissima: Portare al livello estremo la #UX di questa estensione, integrando sicuramente dei risultati di #ricerca che facciano quantomeno vedere il contenuto che ha causato il match, e magari addirittura che supportino un formato custom definito in-wiki per la #visualizzazione di diversi tipi di #dati in modo specifico per ogni situazione (ad esempio, una differenza tra corrispondenze in #pagine di #note, pagine che sono solo ammassi di link, e così via...). E questo è proprio la #lamegafine, invece, non ci sono mezzi termini. Però quanto sarebbe top. ☠️

La cannella che lagga

Ora vi mostro una cosa #allucinante, cioè che il selettore di file di #Cinnamon è #spaccato: se si seleziona un #file o una cartella, ma nel frattempo si continua a scorrere, ciò che verrà registrato sarà l'elemento su cui il cursore di selezione sarà posizionato nell'ultimo momento in cui l'applet elabora i suoi vattelappesca; non, come invece dovrebbe essere, l'elemento su cui si era nell'istante in cui si è premuto Invio. (A parte il fatto che nessun ritardo sarebbe giustificabile, considerando che oggi abbiamo hardware che, relativamente alla storia di tutto l'home computing, è stellare.) Guardate il #video (rallentatelo dal vostro browser però magari) e notate come io premo Enter, ma poi scorro ancora, e finisce puntualmente male ogni volta, #mannaggia ai #bug. 🪲️

Penso che la colpa sia proprio del mio #DesktopEnvironment, perché questo #problema non succede, ad esempio, con le app di Flatpak che integrano l'intera runtime GTK e fanno apparire il #FilePicker di GNOME. È comunque #fastidiosissimo, devo ogni volta andare al ritmo del #computer solo perché un componente di sistema è programmato evidentemente male. Penso di cambiare #desktop, ma vorrei qualche consiglio... voglio qualcosa che non sia totalmente scarno, ma non abbia alcun problema di #prestazioni, voglio tutto istantaneo (cosa che al momento in media non ho, ho tanti altri #problemi oltre a questo specifico). 🐢️