#codice — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #codice, aggregated by home.social.
-
https://www.europesays.com/it/505175/ Grave malore per un turista a Volterra, trasferito con l’elicottero in codice rosso #codice #Cronaca #CronacaItaliana #CronacaItaliana #elicottero #grave #IT #Italia #Italy #malore #News #Notizie #rosso #trasferito #turista #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia #volterra
-
Biblia de los Cruzados.
La Biblia de los Cruzados, siglo XII, también conocida como Biblia de San Luis, Biblia Maciejowsky, Biblia de Sha Abbas o Biblia Morgan.
Es uno de los manuscritos iluminados más fascinantes de la Edad Media europea, por su abundancia y hermosura de sus miniaturas; aparte de su extraordinaria historia a lo largo de siete siglos y tres continentes.
Es una guía imprescindible para los recreadores medievales.#codice #edadmedia #medievo #libros #books
#historia #history #medieval #MedievalHistory
#arte #art #fotografie #fotografia #photography -
Ceremonial de Coronación y Unción y Exequias de los reyes de Inglaterra.
Elaborado en el escritorio de la abadía de Westminster, este códice reproduce el ritual de coronación de los reyes de Inglaterra y los funerales regios.
Se desconoce el motivo y momento de su llegada al reino, aunque tradicionalmente se ha vinculado al reinado de Carlos III, que tuvo embajador en **Londres**.
Aborda rituales separados para la coronación del rey y de la reina, como fue el caso del propio Carlos III y de su esposa Leonor de Trastámara.Westminster, hacia 1390-1399.
Códice manuscrito y miniado sobre vitela, en latín (24 folios), con cubiertas de pergamino sobre alma de madera.
Hoy se conserva en el Archivo Real y General de Navarra#codice #edadmedia #medievo #libros #books #navarra
#historia #history #medieval #MedievalHistory #arte
#art #ancienthistory #historiaantigua #fotografie #fotografia #photography #westminster #inglaterra -
Antifonario de León.
Realizado entre los siglos X y XII, es un libro litúrgico musical que contiene más de una centena de oficios del rito hispánico.
Este manuscrito es el mejor ejemplo conservado de los antifonarios de la liturgia hispánica y una de las fuentes que más información aporta en la actualidad para comprender esta forma ritual, que de sustituyo por el rito romano desde el siglo XI.#codice #edadmedia #antifonario #medievo #libros #books #historia #history #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography #León
-
Códice Rico.
Cantigas de Santa María.Las cantigas de Santa María (entre 1270-1282) son un recopilatorio de más de cuatrocientas canciones dedicadas a la Virgen realizado en la corte de Alfonso X.
En su creación intervinieron varios trovadores, entre ellos, el propio Alfonso X, presentándose como impulsor del proyecto en el prólogo, aparte de la intitulación de la obra.
Las cantigas están escritas en galaico-portugués y narra historias milagrosas de la Virgen.
#codice #edadmedia #medievo #libros #books #historia #history #trovadores #cantos #cantigas #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography
-
Códice Rico.
Cantigas de Santa María.Las cantigas de Santa María (entre 1270-1282) son un recopilatorio de más de cuatrocientas canciones dedicadas a la Virgen realizado en la corte de Alfonso X.
En su creación intervinieron varios trovadores, entre ellos, el propio Alfonso X, presentándose como impulsor del proyecto en el prólogo, aparte de la intitulación de la obra.
Las cantigas están escritas en galaico-portugués y narra historias milagrosas de la Virgen.
#codice #edadmedia #medievo #libros #books #historia #history #trovadores #cantos #cantigas #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography
-
Códice Rico.
Cantigas de Santa María.Las cantigas de Santa María (entre 1270-1282) son un recopilatorio de más de cuatrocientas canciones dedicadas a la Virgen realizado en la corte de Alfonso X.
En su creación intervinieron varios trovadores, entre ellos, el propio Alfonso X, presentándose como impulsor del proyecto en el prólogo, aparte de la intitulación de la obra.
Las cantigas están escritas en galaico-portugués y narra historias milagrosas de la Virgen.
#codice #edadmedia #medievo #libros #books #historia #history #trovadores #cantos #cantigas #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography
-
Códice Rico.
Cantigas de Santa María.Las cantigas de Santa María (entre 1270-1282) son un recopilatorio de más de cuatrocientas canciones dedicadas a la Virgen realizado en la corte de Alfonso X.
En su creación intervinieron varios trovadores, entre ellos, el propio Alfonso X, presentándose como impulsor del proyecto en el prólogo, aparte de la intitulación de la obra.
Las cantigas están escritas en galaico-portugués y narra historias milagrosas de la Virgen.
#codice #edadmedia #medievo #libros #books #historia #history #trovadores #cantos #cantigas #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography
-
Códice Rico.
Cantigas de Santa María.Las cantigas de Santa María (entre 1270-1282) son un recopilatorio de más de cuatrocientas canciones dedicadas a la Virgen realizado en la corte de Alfonso X.
En su creación intervinieron varios trovadores, entre ellos, el propio Alfonso X, presentándose como impulsor del proyecto en el prólogo, aparte de la intitulación de la obra.
Las cantigas están escritas en galaico-portugués y narra historias milagrosas de la Virgen.
#codice #edadmedia #medievo #libros #books #historia #history #trovadores #cantos #cantigas #medieval #MedievalHistory #arte #art #ancienthistory #historiaantigua #fotografie #fotografia #photography
-
Corán de Muley Zaydan.
De la Biblioteca particular de este Sultán de Marruecos que fue traído a España en 1611.
Sorprende por la riqueza decorativa usada de principio a fin.
Su escritura de tipo 'mabsut' está exquisitamente cuidada.
Está vocalizado en rojo con los 'tasdid' y los s'ukun' en azul.
Los títulos de las 'suras' están en cúfica oro sobre fondo azul, dándole un aspecto muy hermoso.
#book #libros #codice #historia #history #fotografia #photography #coran #ElCoran -
Libro de Horas de Ana de Bretaña.
Las Grandes Horas de Bretaña (datado entre los años 1503-1508) es, sin duda, la obra maestra de la pintura francesa, como corresponde a un manuscrito destinado a una reina de Francia...
#book #libros #francia #codice #sigloxvi #historia #history #arte #art #fotografia #photography -
Libro de Horas de Ana de Bretaña.
Las Grandes Horas de Bretaña (datado entre los años 1503-1508) es, sin duda, la obra maestra de la pintura francesa, como corresponde a un manuscrito destinado a una reina de Francia...
#book #libros #francia #codice #sigloxvi #historia #history #arte #art #fotografia #photography -
Libro de Horas de Ana de Bretaña.
Las Grandes Horas de Bretaña (datado entre los años 1503-1508) es, sin duda, la obra maestra de la pintura francesa, como corresponde a un manuscrito destinado a una reina de Francia...
#book #libros #francia #codice #sigloxvi #historia #history #arte #art #fotografia #photography -
Libro de Horas de Ana de Bretaña.
Las Grandes Horas de Bretaña (datado entre los años 1503-1508) es, sin duda, la obra maestra de la pintura francesa, como corresponde a un manuscrito destinado a una reina de Francia...
#book #libros #francia #codice #sigloxvi #historia #history #arte #art #fotografia #photography -
Libro de Horas de Ana de Bretaña.
Las Grandes Horas de Bretaña (datado entre los años 1503-1508) es, sin duda, la obra maestra de la pintura francesa, como corresponde a un manuscrito destinado a una reina de Francia...
#book #libros #francia #codice #sigloxvi #historia #history #arte #art #fotografia #photography -
https://www.europesays.com/it/421576/ La sfida tra Jovanotti e il Lorenzo Cherubini di Vernia al GialappaShow è tutta da ridere #aria #AriaCondizionata #aumento #AumentoTemperature #battaglia #BattagliaCoinvolge #capire #codice #CodiceBattaglia #CodiceBattagliaCoinvolge #coinvolge #condizionata #diciamo #direi #domanda #dovrebbero #Entertainment #fermi #gioco #giovanotti #indigeno #Intrattenimento #IT #Italia #Italy #passo #pazzesco #qual #ragazzi #RagazziAria #stop #suv #tv
-
https://www.europesays.com/it/414475/ Milano, anziano di 92 anni spara alla badante: la donna è grave. Dieci anni lui fa aveva incendiato un bar per ripicca #addome #AddomeDonna #anziano #avvenuto #badante #bar #codice #CodiceRosso #colpo #ColpoPistola #Cronaca #CronacaItaliana #CronacaItaliana #donna #IT #Italia #Italy #News #Notizie #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia
-
https://www.europesays.com/it/400324/ Milano, tir investe e uccide un pedone mentre stava attraversando la strada. L’incidente in piazza Ovidio #attraversando #AttraversandoStrada #auto #belisario #ciclista #codice #CodiceRosso #Cronaca #CronacaItaliana #CronacaItaliana #fuoco #incidente #intervenuti #IT #Italia #Italy #martedì #milano #News #Notizie #pedone #tir #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia
-
https://www.europesays.com/it/366910/ Lagarde, 140 mila euro nel 2025 dalla Bri nonostante il divieto per lo staff. La Bce: per lei un codice diverso #Affari #banche #BancheCentrali #bce #bri #BriDivieto #Business #centrali #codice #compensi #compenso #dipendenti #divieto #draghi #euro #eurodeputati #EurodeputatiTedeschi #EurodeputatiTedeschiSvedesi #interni #IT #Italia #Italy #lagarde #personale #presidente #regole
-
https://www.europesays.com/it/364787/ Prandelli: “Scudetto Inter? Chivu sa che prossimo anno cambierà tutto” #bastoni #Calcio #chiesto #chivu #codice #Football #fregare #gol #Inter #intervista #IntervistaMattino #IT #Italia #Italy #mattino #parlato #prandelli #prossima #ProssimaStagione #sa #sbagliato #scudetto #serie #Soccer #Sport #Sports #stagione
-
https://www.europesays.com/it/323749/ Milano, si schianta nel box con l’auto: morto 79enne. Feriti il nipotino e la moglie che viaggiavano con lui #auto #barona #box #codice #CodiceGiallo #controllo #Cronaca #CronacaItaliana #CronacaItaliana #fatale #feriti #giallo #incidente #IT #Italia #Italy #malore #News #Notizie #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia
-
https://www.europesays.com/it/321067/ Milano, schianto in corso Sempione: 45enne in auto muore dopo l’urto con un mezzo dell’Amsa #Amsa #auto #automobilista #bmw #codice #corso #CorsoSempione #Cronaca #CronacaItaliana #CronacaItaliana #incidente #infine #IT #Italia #Italy #milano #News #Notizie #precedenza #prime #semaforo #sempione #terzo… #trascinata #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia #urto
-
https://www.europesays.com/it/296100/ Nuovo Codice della Strada, in arrivo nuove regole per i ciclisti: obbligo casco, luce sempre accesa e marcia affiancata – Brocardi.it #arrivo #casco #ciclisti #CircolazioneStradale #codice #della #IT #Italia #Italy #Notizie #NotizieGiuridiche #nuove #nuovo #obbligo #regole #Sport #Sports #strada
-
https://www.europesays.com/it/285431/ Dramma a Calvagese, bambino di tre anni muore intossicato dal monossido #Calvagese #causa #CausaTragedia #CausaTragediaMalfunzionamento #codice #CodiceGiallo #Cronaca #CronacaItaliana #CronacaItaliana #IT #Italia #Italy #News #Notizie #tragedia #UltimeNotizie #UltimeNotizieENewsDiOggi #UltimeNotizieItalia #UltimeNotizie #UltimeNotizieEnewsDiOggi #UltimeNotizieItalia
-
https://www.europesays.com/it/228922/ Black Friday, arriva un sms con un codice Amazon non richiesto? Si tratta di una truffa: come difendersi #account #Affari #amazon #bancarie #black #BlackFriday #Business #carta #cinque #codice #consigli #controlla #credere #dati #difendersi #friday #indirizzo #IT #Italia #Italy #link #messaggio #minaccia #mittente #online #ordini #pagina #polizia #PoliziaPostale #postale #prossimità #ProssimitàBlack #ProssimitàBlackFriday #richiesto #sensibili #sms #SmsCodice
-
Fino ad ora ho apportato vari piccoli #miglioramenti al #sito del #MicroBlog con vari metodi, nessuno che includa anche il creare veri #plugin. Troppa sbatta perché si devono imparare tutte le API, ecc… Però, che posso fare quando sembra proprio che l’unica soluzione elegante per estendere le funzionalità di #WordPress sia quella? 😫
Quindi, ieri sera, non avendo molto tempo da perdere, ho provato a chiedere a #ChatGPT. E, con mia sorpresa, non solo non ha allucinato creando #codice rotto, ma addirittura sembra aver studiato ciò che io non ho fatto, e si è curato di fare le robe per bene, addirittura usando le funzioni sicure per scongiurare problemi come le #SQL injection! Alla fine gli ho fatto esporre uno #shortcode, da aggiungere su normali pagine, che visualizza l’HTML generato dal #PHP. È stato proprio carino questa volta, poi guardate come l’ho ringraziato alla fine… https://chat.openai.com/share/9072c3ea-f3f5-42bb-88ae-03efa795a66f. ❤️🔥
Al netto di qualche errore di interpretazione suo, che mi ha portato a dover fare piccole modifiche, ho già messo a frutto lo #script, attivandolo su una nuova pagina: Ricerca 🔍️. Essenzialmente quello che mi serviva era una #ricerca dei post di tot caratteri o meno (che per <= 500 ho chiamato Tootin’, riferendomi a chissà cosa)… e lo so che per ora è subottimale, ma è un inizio, poi magari la migliorerò. 😁
https://octospacc.altervista.org/2024/02/08/wp-gpt/
#ChatGPT #codice #MicroBlog #miglioramenti #PHP #plugin #ricerca #script #shortcode #sito #SQL #WordPress
-
Ecco un’altra #idea per il #MicroBlog che ebbi da subito, ma che non avevo avuto modo di #realizzare: #collezioni di #dati riguardanti il #sito stesso, visualizzati in maniera #interessante; #grafici colorati e non, in poche parole. 😳️
Oggi mi è capitato di trovare un #plugin #WordPress che facesse proprio al caso mio, permettendo di prelevare #informazioni dal #database tramite #query #MySQL, e generare un #istogramma, un #aereogramma, o altra roba. E allora, ho creato una #pagina dedicata, nello stesso spirito di cosa già feci per la mia #OcttKB (da lì viene anche un po’ l’idea), che cercherò di riempire di #visualizzazioni #intriganti: “Dati e Grafici 📊️“. Per ora ci sono quella dei #post al giorno, e delle #parole per ogni giorno.
La nuvola dei #tag è integrata nel #CMS e l’avevo messa da subito sulla #home (ora spostata), mentre il resto è grazie a questo cosiddetto #SQLCharts.Se come me #amate queste robe, fatevi un giro, e magari datemi qualche #suggerimento su che #illustrazioni in più #programmare… ho anche modificato il #codice del plugin per fargli sputare il #source #SQL utilizzato per ciascun grafico, che potete #copiare ed usare sui vostri #siti. ❤️ (Se volete la stessa #modifica, sappiate che vi basta aggiungere, nel file
wp-content/plugins/sql-chart-builder/functions.php, alla funzioneguaven_sqlcharts_local_shortcode, la seguente stringa in una parte che preferite della zona HTML:<?php echo htmlspecialchars($sql);?>)https://octospacc.altervista.org/2024/01/16/la-pagina-dei-grafi-novi/
#aereogramma #amate #CMS #codice #collezioni #copiare #database #dati #grafici #home #idea #illustrazioni #informazioni #interessante #intriganti #istogramma #MicroBlog #modifica #MySQL #OcttKB #pagina #parole #plugin #post #programmare #query #realizzare #siti #sito #source #SQL #SQLCharts #suggerimento #tag #visualizzazioni #WordPress
-
IMAP Instrument Reintegration for CoDICE - Mechanical Installati 🛰️
#APL #CoDICE #GSFC #GoddardSpaceFlightCenter #IMAP #InterstellarMappingandAccelerationProbe #KSC #KennedySpaceCenter
⏩ 17 new pictures from NASA (Image Library) https://commons.wikimedia.org/wiki/Special:ListFiles?limit=17&user=OptimusPrimeBot&ilshowall=1&offset=20250626010422
-
IMAP Instrument Reintegration for CoDICE - Mechanical Installati 🛰️
#APL #CoDICE #GSFC #GoddardSpaceFlightCenter #IMAP #InterstellarMappingandAccelerationProbe #KSC #KennedySpaceCenter
⏩ 17 new pictures from NASA (Image Library) https://commons.wikimedia.org/wiki/Special:ListFiles?limit=17&user=OptimusPrimeBot&ilshowall=1&offset=20250626010422
-
IMAP Instrument Reintegration for CoDICE - Mechanical Installati 🛰️
#APL #CoDICE #GSFC #GoddardSpaceFlightCenter #IMAP #InterstellarMappingandAccelerationProbe #KSC #KennedySpaceCenter
⏩ 17 new pictures from NASA (Image Library) https://commons.wikimedia.org/wiki/Special:ListFiles?limit=17&user=OptimusPrimeBot&ilshowall=1&offset=20250626010422
-
IMAP Instrument Reintegration for CoDICE - Mechanical Installati 🛰️
#APL #CoDICE #GSFC #GoddardSpaceFlightCenter #IMAP #InterstellarMappingandAccelerationProbe #KSC #KennedySpaceCenter
⏩ 17 new pictures from NASA (Image Library) https://commons.wikimedia.org/wiki/Special:ListFiles?limit=17&user=OptimusPrimeBot&ilshowall=1&offset=20250626010422
-
Il #problemino (tra i tanti!) delle #webapp è che saranno anche facili da #archiviare o #clonare spesso, ma non per questo anche semplici… (o per caso non sono neppure facili e la mia #esperienza mi fa sottovalutare la cosa?) 😫
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
wget -kp $URL, cioè scaricare la pagina #HTML con tutte le sue risorse collegate, e convertire i link da assoluti a relativi. - 🅱️ Quel #metodo però non è a conoscenza di tutte le risorse caricate dinamicamente, cioè dichiarate in posti diversi dall’HTML. Per prendere anche quelle (ed è spesso necessario, tutte le app moderne caricano roba così), bisogna aprire la app nel #browser, e guardare le richieste di #rete che macina con il normale uso.
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- Ho notato però che Firefox in alcune situazioni genera #HAR corrotti (2 giochi fatti in Phaser avevo provato a scaricare, ed una volta estratti gli script tiravano errori; ho riprovato con Chromium, ed è andato tutto liscio), quindi a prescindere io userei l’altro #navigatore per questa cosa. 🥴
- Poi, non ho ben capito se per via di come il file HAR in sé è generato, se come quegli #strumenti lo interpretano, o un misto delle cose, ma le risorse cross-domain (e credo anche caricate da iframe?) tendono a non venir estratte, quindi si deve andare poi a pescarle prelevando l’URL di ognuna a manina dai DevTools già aperti… 🤧
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- 🆎 Si potrebbero usare primo e secondo metodo insieme in linea di principio (copiando i file del primo passaggio su quelli del secondo, sovrascrivendo gli esistenti), ma nella pratica è inutile… se c’erano link assoluti da convertire in relativi nell’HTML, con spaventosa probabilità questi sono presenti anche nel #JavaScript o chissà dove, per cui, dato che bisognerà comunque andare a mano a modificarli da qualche parte, 1 o 2 file in più non cambiano (spesso) nulla.
- 2️⃣ Se si è usato il secondo metodo, bisogna a questo punto effettivamente verificare che i link siano tutti corretti, le #risorse effettivamente scaricate, e la app funzionante indipendentemente dal dominio originale… il modo più efficiente che ho trovato è aprire già da subito un webserver locale sui file, navigarci nel browser, e controllare sia che tutto funzioni nel pratico, sia che tutte le #richieste di rete per risorse effettive (ossia, non contano chiamate di telemetria o simili) vadano al mio #server, anziché al dominio originale (attivando la colonna omonima della tabella nei #DevTools lo si vede a colpo d’occhio).
- Quando ci sono richieste che falliscono o che vanno su altri server, bisogna capire da dove nel codice queste partono, e fare le opportune #modifiche per usare URL relativi. Quelle che partono dall’HTML o dal CSS (turns out, non molte, altrimenti avremmo usato direttamente wget) sono appunto una scemenza da sistemare… ma quando partono da #script, c’è poco da fare, con l’aiuto del debugger del browser (di nuovo, meglio Chromium, perché de-mininifica il JavaScript aggiungendo whitespace in automatico) si va a capire da che punto partono, e in base alla situazione si valuta che modifiche fare al #codice. Poi, si testa ancora, e ancora si applicano #fix, finché tutto non funziona. ♻️
- In genere questo non è un problema, e anche per app più ostiche (come quella che ho ricaricato sulla #SalaMuseoGames ieri, Little Alchemy 2) si fa tutto in un quarto d’ora ben ristretto. Tuttavia, bisogna fare attenzione a quei programmi che caricano le risorse man mano che ne hanno bisogno e non tutto subito (in genere, maggior parte dei giochi, oppure parecchie #app React)… lì si può potenzialmente perdere un bel po’ di tempo, perché bisogna mettersi ad usare il #software raggiungendo idealmente il 100% del codice; cioè, cliccare tutti i bottoni, usare qualunque azione, giocare tutti i livelli… fino ad ora non ho mai incontrato #ostacoli, ma se succede, l’unica è navigare tra il codice già scaricato per vedere cos’è che manca (da qualche parte ci sono scritti i nomi delle risorse ancora da scaricare, per ovvi motivi). 🗡️
- 🔚 Aggiustamenti finali: in base alla situazione, vanno fatte altre modifiche al source per ovviare a #problemi banali ma frequenti. La maggior parte riguardano i domini, che in certi casi sono hardcodati, e quindi o ci sono iframe che comunicano con la Messaging API e gli va cambiato il dominio (come per il gioco di ieri), o c’è del DRM che ostacola il #rehosting (come il giochino dell’altro ieri) ecc… con #pazienza si risolve tutto.
- E alla fine di tutto, una cosa che mi piace fare ma che non sarebbe obbligatoria, è disattivare tutte le componenti potenzialmente dannose dell’ #applicazione, ossia commentare via eventuali inclusioni e chiamate a sistemi di analitiche o pubblicità. 🚯
https://octospacc.altervista.org/2024/04/03/webaps-heist/
#app #applicazione #archiviare #browser #clonare #codice #DevTools #esperienza #fix #HAR #HTML #JavaScript #metodo #modifiche #navigatore #ostacoli #pazienza #problemi #problemino #rehosting #rete #richieste #risorse #SalaMuseoGames #script #server #software #strumenti #webapp
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
-
Il #problemino (tra i tanti!) delle #webapp è che saranno anche facili da #archiviare o #clonare spesso, ma non per questo anche semplici… (o per caso non sono neppure facili e la mia #esperienza mi fa sottovalutare la cosa?) 😫
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
wget -kp $URL, cioè scaricare la pagina #HTML con tutte le sue risorse collegate, e convertire i link da assoluti a relativi. - 🅱️ Quel #metodo però non è a conoscenza di tutte le risorse caricate dinamicamente, cioè dichiarate in posti diversi dall’HTML. Per prendere anche quelle (ed è spesso necessario, tutte le app moderne caricano roba così), bisogna aprire la app nel #browser, e guardare le richieste di #rete che macina con il normale uso.
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- Ho notato però che Firefox in alcune situazioni genera #HAR corrotti (2 giochi fatti in Phaser avevo provato a scaricare, ed una volta estratti gli script tiravano errori; ho riprovato con Chromium, ed è andato tutto liscio), quindi a prescindere io userei l’altro #navigatore per questa cosa. 🥴
- Poi, non ho ben capito se per via di come il file HAR in sé è generato, se come quegli #strumenti lo interpretano, o un misto delle cose, ma le risorse cross-domain (e credo anche caricate da iframe?) tendono a non venir estratte, quindi si deve andare poi a pescarle prelevando l’URL di ognuna a manina dai DevTools già aperti… 🤧
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- 🆎 Si potrebbero usare primo e secondo metodo insieme in linea di principio (copiando i file del primo passaggio su quelli del secondo, sovrascrivendo gli esistenti), ma nella pratica è inutile… se c’erano link assoluti da convertire in relativi nell’HTML, con spaventosa probabilità questi sono presenti anche nel #JavaScript o chissà dove, per cui, dato che bisognerà comunque andare a mano a modificarli da qualche parte, 1 o 2 file in più non cambiano (spesso) nulla.
- 2️⃣ Se si è usato il secondo metodo, bisogna a questo punto effettivamente verificare che i link siano tutti corretti, le #risorse effettivamente scaricate, e la app funzionante indipendentemente dal dominio originale… il modo più efficiente che ho trovato è aprire già da subito un webserver locale sui file, navigarci nel browser, e controllare sia che tutto funzioni nel pratico, sia che tutte le #richieste di rete per risorse effettive (ossia, non contano chiamate di telemetria o simili) vadano al mio #server, anziché al dominio originale (attivando la colonna omonima della tabella nei #DevTools lo si vede a colpo d’occhio).
- Quando ci sono richieste che falliscono o che vanno su altri server, bisogna capire da dove nel codice queste partono, e fare le opportune #modifiche per usare URL relativi. Quelle che partono dall’HTML o dal CSS (turns out, non molte, altrimenti avremmo usato direttamente wget) sono appunto una scemenza da sistemare… ma quando partono da #script, c’è poco da fare, con l’aiuto del debugger del browser (di nuovo, meglio Chromium, perché de-mininifica il JavaScript aggiungendo whitespace in automatico) si va a capire da che punto partono, e in base alla situazione si valuta che modifiche fare al #codice. Poi, si testa ancora, e ancora si applicano #fix, finché tutto non funziona. ♻️
- In genere questo non è un problema, e anche per app più ostiche (come quella che ho ricaricato sulla #SalaMuseoGames ieri, Little Alchemy 2) si fa tutto in un quarto d’ora ben ristretto. Tuttavia, bisogna fare attenzione a quei programmi che caricano le risorse man mano che ne hanno bisogno e non tutto subito (in genere, maggior parte dei giochi, oppure parecchie #app React)… lì si può potenzialmente perdere un bel po’ di tempo, perché bisogna mettersi ad usare il #software raggiungendo idealmente il 100% del codice; cioè, cliccare tutti i bottoni, usare qualunque azione, giocare tutti i livelli… fino ad ora non ho mai incontrato #ostacoli, ma se succede, l’unica è navigare tra il codice già scaricato per vedere cos’è che manca (da qualche parte ci sono scritti i nomi delle risorse ancora da scaricare, per ovvi motivi). 🗡️
- 🔚 Aggiustamenti finali: in base alla situazione, vanno fatte altre modifiche al source per ovviare a #problemi banali ma frequenti. La maggior parte riguardano i domini, che in certi casi sono hardcodati, e quindi o ci sono iframe che comunicano con la Messaging API e gli va cambiato il dominio (come per il gioco di ieri), o c’è del DRM che ostacola il #rehosting (come il giochino dell’altro ieri) ecc… con #pazienza si risolve tutto.
- E alla fine di tutto, una cosa che mi piace fare ma che non sarebbe obbligatoria, è disattivare tutte le componenti potenzialmente dannose dell’ #applicazione, ossia commentare via eventuali inclusioni e chiamate a sistemi di analitiche o pubblicità. 🚯
https://octospacc.altervista.org/2024/04/03/webaps-heist/
#app #applicazione #archiviare #browser #clonare #codice #DevTools #esperienza #fix #HAR #HTML #JavaScript #metodo #modifiche #navigatore #ostacoli #pazienza #problemi #problemino #rehosting #rete #richieste #risorse #SalaMuseoGames #script #server #software #strumenti #webapp
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
-
Il #problemino (tra i tanti!) delle #webapp è che saranno anche facili da #archiviare o #clonare spesso, ma non per questo anche semplici… (o per caso non sono neppure facili e la mia #esperienza mi fa sottovalutare la cosa?) 😫
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
wget -kp $URL, cioè scaricare la pagina #HTML con tutte le sue risorse collegate, e convertire i link da assoluti a relativi. - 🅱️ Quel #metodo però non è a conoscenza di tutte le risorse caricate dinamicamente, cioè dichiarate in posti diversi dall’HTML. Per prendere anche quelle (ed è spesso necessario, tutte le app moderne caricano roba così), bisogna aprire la app nel #browser, e guardare le richieste di #rete che macina con il normale uso.
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- Ho notato però che Firefox in alcune situazioni genera #HAR corrotti (2 giochi fatti in Phaser avevo provato a scaricare, ed una volta estratti gli script tiravano errori; ho riprovato con Chromium, ed è andato tutto liscio), quindi a prescindere io userei l’altro #navigatore per questa cosa. 🥴
- Poi, non ho ben capito se per via di come il file HAR in sé è generato, se come quegli #strumenti lo interpretano, o un misto delle cose, ma le risorse cross-domain (e credo anche caricate da iframe?) tendono a non venir estratte, quindi si deve andare poi a pescarle prelevando l’URL di ognuna a manina dai DevTools già aperti… 🤧
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- 🆎 Si potrebbero usare primo e secondo metodo insieme in linea di principio (copiando i file del primo passaggio su quelli del secondo, sovrascrivendo gli esistenti), ma nella pratica è inutile… se c’erano link assoluti da convertire in relativi nell’HTML, con spaventosa probabilità questi sono presenti anche nel #JavaScript o chissà dove, per cui, dato che bisognerà comunque andare a mano a modificarli da qualche parte, 1 o 2 file in più non cambiano (spesso) nulla.
- 2️⃣ Se si è usato il secondo metodo, bisogna a questo punto effettivamente verificare che i link siano tutti corretti, le #risorse effettivamente scaricate, e la app funzionante indipendentemente dal dominio originale… il modo più efficiente che ho trovato è aprire già da subito un webserver locale sui file, navigarci nel browser, e controllare sia che tutto funzioni nel pratico, sia che tutte le #richieste di rete per risorse effettive (ossia, non contano chiamate di telemetria o simili) vadano al mio #server, anziché al dominio originale (attivando la colonna omonima della tabella nei #DevTools lo si vede a colpo d’occhio).
- Quando ci sono richieste che falliscono o che vanno su altri server, bisogna capire da dove nel codice queste partono, e fare le opportune #modifiche per usare URL relativi. Quelle che partono dall’HTML o dal CSS (turns out, non molte, altrimenti avremmo usato direttamente wget) sono appunto una scemenza da sistemare… ma quando partono da #script, c’è poco da fare, con l’aiuto del debugger del browser (di nuovo, meglio Chromium, perché de-mininifica il JavaScript aggiungendo whitespace in automatico) si va a capire da che punto partono, e in base alla situazione si valuta che modifiche fare al #codice. Poi, si testa ancora, e ancora si applicano #fix, finché tutto non funziona. ♻️
- In genere questo non è un problema, e anche per app più ostiche (come quella che ho ricaricato sulla #SalaMuseoGames ieri, Little Alchemy 2) si fa tutto in un quarto d’ora ben ristretto. Tuttavia, bisogna fare attenzione a quei programmi che caricano le risorse man mano che ne hanno bisogno e non tutto subito (in genere, maggior parte dei giochi, oppure parecchie #app React)… lì si può potenzialmente perdere un bel po’ di tempo, perché bisogna mettersi ad usare il #software raggiungendo idealmente il 100% del codice; cioè, cliccare tutti i bottoni, usare qualunque azione, giocare tutti i livelli… fino ad ora non ho mai incontrato #ostacoli, ma se succede, l’unica è navigare tra il codice già scaricato per vedere cos’è che manca (da qualche parte ci sono scritti i nomi delle risorse ancora da scaricare, per ovvi motivi). 🗡️
- 🔚 Aggiustamenti finali: in base alla situazione, vanno fatte altre modifiche al source per ovviare a #problemi banali ma frequenti. La maggior parte riguardano i domini, che in certi casi sono hardcodati, e quindi o ci sono iframe che comunicano con la Messaging API e gli va cambiato il dominio (come per il gioco di ieri), o c’è del DRM che ostacola il #rehosting (come il giochino dell’altro ieri) ecc… con #pazienza si risolve tutto.
- E alla fine di tutto, una cosa che mi piace fare ma che non sarebbe obbligatoria, è disattivare tutte le componenti potenzialmente dannose dell’ #applicazione, ossia commentare via eventuali inclusioni e chiamate a sistemi di analitiche o pubblicità. 🚯
https://octospacc.altervista.org/2024/04/03/webaps-heist/
#app #applicazione #archiviare #browser #clonare #codice #DevTools #esperienza #fix #HAR #HTML #JavaScript #metodo #modifiche #navigatore #ostacoli #pazienza #problemi #problemino #rehosting #rete #richieste #risorse #SalaMuseoGames #script #server #software #strumenti #webapp
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
-
Il #problemino (tra i tanti!) delle #webapp è che saranno anche facili da #archiviare o #clonare spesso, ma non per questo anche semplici… (o per caso non sono neppure facili e la mia #esperienza mi fa sottovalutare la cosa?) 😫
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
wget -kp $URL, cioè scaricare la pagina #HTML con tutte le sue risorse collegate, e convertire i link da assoluti a relativi. - 🅱️ Quel #metodo però non è a conoscenza di tutte le risorse caricate dinamicamente, cioè dichiarate in posti diversi dall’HTML. Per prendere anche quelle (ed è spesso necessario, tutte le app moderne caricano roba così), bisogna aprire la app nel #browser, e guardare le richieste di #rete che macina con il normale uso.
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- Ho notato però che Firefox in alcune situazioni genera #HAR corrotti (2 giochi fatti in Phaser avevo provato a scaricare, ed una volta estratti gli script tiravano errori; ho riprovato con Chromium, ed è andato tutto liscio), quindi a prescindere io userei l’altro #navigatore per questa cosa. 🥴
- Poi, non ho ben capito se per via di come il file HAR in sé è generato, se come quegli #strumenti lo interpretano, o un misto delle cose, ma le risorse cross-domain (e credo anche caricate da iframe?) tendono a non venir estratte, quindi si deve andare poi a pescarle prelevando l’URL di ognuna a manina dai DevTools già aperti… 🤧
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- 🆎 Si potrebbero usare primo e secondo metodo insieme in linea di principio (copiando i file del primo passaggio su quelli del secondo, sovrascrivendo gli esistenti), ma nella pratica è inutile… se c’erano link assoluti da convertire in relativi nell’HTML, con spaventosa probabilità questi sono presenti anche nel #JavaScript o chissà dove, per cui, dato che bisognerà comunque andare a mano a modificarli da qualche parte, 1 o 2 file in più non cambiano (spesso) nulla.
- 2️⃣ Se si è usato il secondo metodo, bisogna a questo punto effettivamente verificare che i link siano tutti corretti, le #risorse effettivamente scaricate, e la app funzionante indipendentemente dal dominio originale… il modo più efficiente che ho trovato è aprire già da subito un webserver locale sui file, navigarci nel browser, e controllare sia che tutto funzioni nel pratico, sia che tutte le #richieste di rete per risorse effettive (ossia, non contano chiamate di telemetria o simili) vadano al mio #server, anziché al dominio originale (attivando la colonna omonima della tabella nei #DevTools lo si vede a colpo d’occhio).
- Quando ci sono richieste che falliscono o che vanno su altri server, bisogna capire da dove nel codice queste partono, e fare le opportune #modifiche per usare URL relativi. Quelle che partono dall’HTML o dal CSS (turns out, non molte, altrimenti avremmo usato direttamente wget) sono appunto una scemenza da sistemare… ma quando partono da #script, c’è poco da fare, con l’aiuto del debugger del browser (di nuovo, meglio Chromium, perché de-mininifica il JavaScript aggiungendo whitespace in automatico) si va a capire da che punto partono, e in base alla situazione si valuta che modifiche fare al #codice. Poi, si testa ancora, e ancora si applicano #fix, finché tutto non funziona. ♻️
- In genere questo non è un problema, e anche per app più ostiche (come quella che ho ricaricato sulla #SalaMuseoGames ieri, Little Alchemy 2) si fa tutto in un quarto d’ora ben ristretto. Tuttavia, bisogna fare attenzione a quei programmi che caricano le risorse man mano che ne hanno bisogno e non tutto subito (in genere, maggior parte dei giochi, oppure parecchie #app React)… lì si può potenzialmente perdere un bel po’ di tempo, perché bisogna mettersi ad usare il #software raggiungendo idealmente il 100% del codice; cioè, cliccare tutti i bottoni, usare qualunque azione, giocare tutti i livelli… fino ad ora non ho mai incontrato #ostacoli, ma se succede, l’unica è navigare tra il codice già scaricato per vedere cos’è che manca (da qualche parte ci sono scritti i nomi delle risorse ancora da scaricare, per ovvi motivi). 🗡️
- 🔚 Aggiustamenti finali: in base alla situazione, vanno fatte altre modifiche al source per ovviare a #problemi banali ma frequenti. La maggior parte riguardano i domini, che in certi casi sono hardcodati, e quindi o ci sono iframe che comunicano con la Messaging API e gli va cambiato il dominio (come per il gioco di ieri), o c’è del DRM che ostacola il #rehosting (come il giochino dell’altro ieri) ecc… con #pazienza si risolve tutto.
- E alla fine di tutto, una cosa che mi piace fare ma che non sarebbe obbligatoria, è disattivare tutte le componenti potenzialmente dannose dell’ #applicazione, ossia commentare via eventuali inclusioni e chiamate a sistemi di analitiche o pubblicità. 🚯
https://octospacc.altervista.org/2024/04/03/webaps-heist/
#app #applicazione #archiviare #browser #clonare #codice #DevTools #esperienza #fix #HAR #HTML #JavaScript #metodo #modifiche #navigatore #ostacoli #pazienza #problemi #problemino #rehosting #rete #richieste #risorse #SalaMuseoGames #script #server #software #strumenti #webapp
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
-
Il #problemino (tra i tanti!) delle #webapp è che saranno anche facili da #archiviare o #clonare spesso, ma non per questo anche semplici… (o per caso non sono neppure facili e la mia #esperienza mi fa sottovalutare la cosa?) 😫
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
wget -kp $URL, cioè scaricare la pagina #HTML con tutte le sue risorse collegate, e convertire i link da assoluti a relativi. - 🅱️ Quel #metodo però non è a conoscenza di tutte le risorse caricate dinamicamente, cioè dichiarate in posti diversi dall’HTML. Per prendere anche quelle (ed è spesso necessario, tutte le app moderne caricano roba così), bisogna aprire la app nel #browser, e guardare le richieste di #rete che macina con il normale uso.
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- Ho notato però che Firefox in alcune situazioni genera #HAR corrotti (2 giochi fatti in Phaser avevo provato a scaricare, ed una volta estratti gli script tiravano errori; ho riprovato con Chromium, ed è andato tutto liscio), quindi a prescindere io userei l’altro #navigatore per questa cosa. 🥴
- Poi, non ho ben capito se per via di come il file HAR in sé è generato, se come quegli #strumenti lo interpretano, o un misto delle cose, ma le risorse cross-domain (e credo anche caricate da iframe?) tendono a non venir estratte, quindi si deve andare poi a pescarle prelevando l’URL di ognuna a manina dai DevTools già aperti… 🤧
- 1️⃣ A questo punto, si può usare la funzione del browser per esportare le richieste in formato HAR, e poi tool come har-extractor o Har Extractor Online per ricavare i file effettivi da quel blob.
- 🆎 Si potrebbero usare primo e secondo metodo insieme in linea di principio (copiando i file del primo passaggio su quelli del secondo, sovrascrivendo gli esistenti), ma nella pratica è inutile… se c’erano link assoluti da convertire in relativi nell’HTML, con spaventosa probabilità questi sono presenti anche nel #JavaScript o chissà dove, per cui, dato che bisognerà comunque andare a mano a modificarli da qualche parte, 1 o 2 file in più non cambiano (spesso) nulla.
- 2️⃣ Se si è usato il secondo metodo, bisogna a questo punto effettivamente verificare che i link siano tutti corretti, le #risorse effettivamente scaricate, e la app funzionante indipendentemente dal dominio originale… il modo più efficiente che ho trovato è aprire già da subito un webserver locale sui file, navigarci nel browser, e controllare sia che tutto funzioni nel pratico, sia che tutte le #richieste di rete per risorse effettive (ossia, non contano chiamate di telemetria o simili) vadano al mio #server, anziché al dominio originale (attivando la colonna omonima della tabella nei #DevTools lo si vede a colpo d’occhio).
- Quando ci sono richieste che falliscono o che vanno su altri server, bisogna capire da dove nel codice queste partono, e fare le opportune #modifiche per usare URL relativi. Quelle che partono dall’HTML o dal CSS (turns out, non molte, altrimenti avremmo usato direttamente wget) sono appunto una scemenza da sistemare… ma quando partono da #script, c’è poco da fare, con l’aiuto del debugger del browser (di nuovo, meglio Chromium, perché de-mininifica il JavaScript aggiungendo whitespace in automatico) si va a capire da che punto partono, e in base alla situazione si valuta che modifiche fare al #codice. Poi, si testa ancora, e ancora si applicano #fix, finché tutto non funziona. ♻️
- In genere questo non è un problema, e anche per app più ostiche (come quella che ho ricaricato sulla #SalaMuseoGames ieri, Little Alchemy 2) si fa tutto in un quarto d’ora ben ristretto. Tuttavia, bisogna fare attenzione a quei programmi che caricano le risorse man mano che ne hanno bisogno e non tutto subito (in genere, maggior parte dei giochi, oppure parecchie #app React)… lì si può potenzialmente perdere un bel po’ di tempo, perché bisogna mettersi ad usare il #software raggiungendo idealmente il 100% del codice; cioè, cliccare tutti i bottoni, usare qualunque azione, giocare tutti i livelli… fino ad ora non ho mai incontrato #ostacoli, ma se succede, l’unica è navigare tra il codice già scaricato per vedere cos’è che manca (da qualche parte ci sono scritti i nomi delle risorse ancora da scaricare, per ovvi motivi). 🗡️
- 🔚 Aggiustamenti finali: in base alla situazione, vanno fatte altre modifiche al source per ovviare a #problemi banali ma frequenti. La maggior parte riguardano i domini, che in certi casi sono hardcodati, e quindi o ci sono iframe che comunicano con la Messaging API e gli va cambiato il dominio (come per il gioco di ieri), o c’è del DRM che ostacola il #rehosting (come il giochino dell’altro ieri) ecc… con #pazienza si risolve tutto.
- E alla fine di tutto, una cosa che mi piace fare ma che non sarebbe obbligatoria, è disattivare tutte le componenti potenzialmente dannose dell’ #applicazione, ossia commentare via eventuali inclusioni e chiamate a sistemi di analitiche o pubblicità. 🚯
https://octospacc.altervista.org/2024/04/03/webaps-heist/
#app #applicazione #archiviare #browser #clonare #codice #DevTools #esperienza #fix #HAR #HTML #JavaScript #metodo #modifiche #navigatore #ostacoli #pazienza #problemi #problemino #rehosting #rete #richieste #risorse #SalaMuseoGames #script #server #software #strumenti #webapp
- 🅰️ Per quelle meno complesse, il metodo migliore è senza dubbio un bel
-
La dualità del fixare #bug (o, in generale, far funzionare il #software?):
- Perdi almeno 1 ora buona appresso ad un #glitch oscurissimo (spoiler: la codifica del testo centra sempre in tutti questi bug, in realtà estremamente stupidi), facendo svariati test e tentando varie opzioni prima sensate, e poi senza senso perché altrimenti non sai nemmeno come continuare. 🤥️
- Nel frattempo si è fatto #tardi in culo, ti prepari per andare a #dormire e nel frattempo pensi, ma niente… a metà spegni ormai il PC, finisci di prepararti, e continui a #pensare, e solo a quel punto un’idea ovvia viene in testa. Troppo tardi ormai. 💀️
E poi ancora, perché le #incoerenze non sono mai abbastanza:
- Giustamente nel letto ti irrequieti e non prendi #sonno, perché il cervello non prende pace senza vedere il #problema finalmente risolto dopo tutta la #pazzia passata, anche scommettendo che l’#idea appena venuta è giusta al 100%. 🥴
- Però prima o poi il sonno lo prendi, e dopo ore arriva la #mattina dopo, in cui la sveglia suona e… pensi “zzzzzzz voglio stare nel lettino ancora, tanto la #rogna in mente l’ho risolta, chi me lo fa fare di ammazzarmi a prima mattina [prima mattina: le 9:30, ndr.]”. 🥹
Insomma, è una #condanna. Non se ne esce. Comunque si, il mio #errore era #stupido: stavo cercando di caricare #file nella galleria cloud di #WordPress tramite la #API REST, ma ricevevo sempre un
rest_upload_sideload_error… controllo gli header, tutti giusti; cerco in giro, poca roba che non mi aiuta; provo #minuzie come mettere gli header lowercase, ancora niente; tento di settare a mano content-type parziali o estensioni file arbitrarie, e ovviamente non risolvo. 🤯️Però, noto che un caricamento da
curl, anziché dal mio #codice JS, va a buon fine. Allora, provo a caricare verso un servernetcatin entrambi i modi, così da poter vedere al volo i dati della trasmissione #HTTP, e noto una differenza stronzetta: il corpo generato dal mio #server è molto più grosso del peso normale del file… quindi qualcosa lo sta corrompendo E qui, però, mi sono ribloccata. 🤔️Solo poi, quando ormai avevo chiuso tutto come ho detto, ci ho pensato: ma io, nella parte del #programma che legge i #dati trasmessi dal client, vado a castare tutto ad una stringa; sarà questa la causa? …E, ricordandomi di altri #incidenti simili capitati in #NodeJS, capisco subito che è così. Detto in breve: la #codifica del testo centra sempre e rovina ogni cosa. Se esistesse solo l’ASCII, ecco che castare dati binari a stringhe non causerebbe alcun danno. E invece abbiamo deciso che i #computer devono supportare nella loro codifica migliaia di #caratteri discutibili, come tutti quelli emoji. E io, dopo aver apportato questo #fix, devo ora continuare a programmare. Non. Se. Ne. Esce. 😭️
https://octospacc.altervista.org/2024/02/09/insetti-utf-nel-mio-codice/
#API #bug #caratteri #codice #codifica #computer #condanna #dati #dormire #errore #file #fix #glitch #HTTP #incidenti #incoerenze #mattina #NodeJS #pazzia #pensare #problema #programma #rogna #server #software #sonno #stupido #tardi #WordPress
-
[⤴️ https://octospacc.altervista.org/2024/02/01/emmebi-telegrammico/]
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à
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à)…src="data:[...]"esandbox="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://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. 🤓️
https://octospacc.altervista.org/2024/02/01/emmebi-javascriptico/
#API #app #browser #codice #complicato #CSS #dati #design #DOM #JavaScript #JS #librerie #link #MBViewer #messaggi #problema #sandbox #script #stile #URL #userscript #userscripts
-
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. ☠️
Rapido #esempio: questo #programma (giusto da #dimostrazione, non fa nulla se non mostrare questo testo e far navigare tra pagine) gira sia come server su #NodeJS, che come script in una pagina #HTML totalmente #locale, e l’esperienza non cambia. Percepisco il potenziale, continuerò così. 😤️https://octospacc.altervista.org/2024/02/07/frontendare-lato-client-come-fossimo-nel-backend/
#API #app #applicazione #backend #browser #client #ClientSide #codebase #codice #dimostrazione #esempio #frontend #genio #HTML #idea #JavaScript #locale #NodeJS #offline #piattaforme #problema #progetti #programma #rogne #script #server #ServerSide #web #webapp
-
#Distrazione della giornata: ho preso in prestito il #codice #ClientSide che fa funzionare t.me, e l’ho riadattato per gestire #blog #WordPress in questa classica #visualizzazione “a #canale”, o più in generale “a bolle di #messaggio” (da cui uno dei significati del nome, #MBViewer)! 👁️🗨️
Potevo probabilmente sgraffignare codice #frontend di altro tipo per lo stesso scopo (anche se con una #UI un po’ diversa, ad esempio di vari #software del Fediverso), ma ho preferito questo di #Telegram perché non usa framework astrusi come React, solo #jQuery e quindi a farci #hacking si fa subito subito. ⚒️
Dovrebbe funzionare per tutti i #siti WP che abbiano la #API #REST attiva e senza restrizioni CORS… provatelo per il mio #MicroBlog a questo indirizzo, altrimenti rimpiazzate il valoresiteUrlcon un altro se credete possa fungere: https://hub.octt.eu.org/MBViewer/#/siteUrl=https://octospacc.altervista.org 🤗https://octospacc.altervista.org/2024/01/13/wordpress-che-non-e/
#API #blog #canale #ClientSide #codice #distrazione #frontend #hacking #jQuery #MBViewer #messaggio #MicroBlog #REST #siti #software #Telegram #UI #visualizzazione #WordPress
-
Prima che #Durov commettesse quel gran bel po’ di trolling, seguivo alcuni #canali #MicroBlog di varia #gente su #Telegram… 🪵
Ora che mi sto ricordando, almeno quelli #pubblici sto potendo importarli nel mio #lettore di #feed, tramite #RSSHub, che mi genera i documenti #RSS per qualunque #canale. 💬
Però… la media di #interfaccia di un #aggregatore non è granché adatta a consumare #post di quel tipo, spesso tanti e corti. E allora toh, in qualche quarto d’ora ho creato dei #tweak per la mia #istanza #FreshRSS, che tagliano di molto i pezzi inutili della #UI quando navigo nella mia cartella fatta apposta (mentre per tutte le altre fonti non c’è alcuna #modifica). 🖌️
Ecco una #dimostrazione (con il profilo #guest) di cosa ho fatto per ora, potete provare su https://feeds.octt.eu.org/ oppure rubare il #codice per il vostro #server (sono tutte modifiche #ClientSide, tramite #JS e #CSS). ✨https://octospacc.altervista.org/2024/01/12/devo-aggregare-i-microblog/
#aggregatore #canale #canali #ClientSide #codice #CSS #dimostrazione #DUROV #feed #FreshRSS #gente #guest #interfaccia #istanza #JS #lettore #MicroBlog #modifica #post #pubblici #RSS #RSSHub #server #Telegram #tweak #UI
-
Da quando abbiamo dovuto spostare la #comunità #Spacc sulla #messaggistica #Matrix necessariamente dopo il ban di #Durov, gli sticker #cringe da usare in #chat sono mancati troppo. Per questo una #settimana fa ho iniziato a #sviluppare #MatrixStickerHelper, una #webapp (tutta #ClientSide) che permette di gestire facilmente e in maniera più automatizzata possibile la propria collezione di pacchetti, per i client della #piattaforma che li supportano tramite le #integrazioni. 🚀️
Nei giorni passati ora ci ho lavorato parecchio, e ho avuto sia modo di smussare di più gli spigoli della #UX (che però deve essere ancora parecchio levigata, ahimè), sia, cosa essenziale, aggiungere #features importanti. Ecco quindi che, qualche centinaio di righe di #codice più tardi, stasera la #applicazione supporta l’importazione di pacchetti #sticker da #Telegram, sia quelli statici che quelli #animati (non ancora quelli #video). Eccovi una #demo e, come sempre, aiuti e pareri sullo #sviluppo sono graditi. 🕷️ (Nella #registrazione, la parte dove vengono aggiunti sticker da #URL di Telegram è velocizzata 8x, purtroppo codificare quei #media in buona #qualità è costoso).
L’ultima versione, appena #aggiornata, è sempre disponibile a https://hub.octt.eu.org/MatrixStickerHelper/… provatela! 🙃️https://octospacc.altervista.org/2024/01/08/gli-sticker-da-telegram-a-matrix/
#aggiornata #animati #applicazione #chat #ClientSide #codice #cringe #demo #DUROV #features #integrazioni #Matrix #MatrixStickerHelper #media #messaggistica #piattaforma #registrazione #settimana #spacc #sticker #sviluppare #sviluppo #Telegram #URL #UX #video #webapp
-
Questa sera riparte “Discovery”, la serie di live #coding dedicate alla scoperta dei #tool di #sviluppo. 🧑🚀
Destinazione: il meraviglioso universo dell'analisi statica del #codice. 🔬
Missione: installare e configurare #SonarQube per analizzare codice #Delphi con il #plugin dedicato. 🕵️
Unisciti all'equipaggio per assistere in diretta, fare il tifo o anche sfottermi... simpaticamente eh!? 🤭
Il lancio è previsto per le 21.30 sul mio canale #Twitch “CompilaQuindiVa”! 🚀
👉 https://twitch.tv/compilaquindiva -
Fino ad ora ho apportato vari piccoli #miglioramenti al #sito del #MicroBlog con vari metodi, nessuno che includa anche il creare veri #plugin. Troppa sbatta perché si devono imparare tutte le API, ecc… Però, che posso fare quando sembra proprio che l’unica soluzione elegante per estendere le funzionalità di #WordPress sia quella? 😫
Quindi, ieri sera, non avendo molto tempo da perdere, ho provato a chiedere a #ChatGPT. E, con mia sorpresa, non solo non ha allucinato creando #codice rotto, ma addirittura sembra aver studiato ciò che io non ho fatto, e si è curato di fare le robe per bene, addirittura usando le funzioni sicure per scongiurare problemi come le #SQL injection! Alla fine gli ho fatto esporre uno #shortcode, da aggiungere su normali pagine, che visualizza l’HTML generato dal #PHP. È stato proprio carino questa volta, poi guardate come l’ho ringraziato alla fine… https://chat.openai.com/share/9072c3ea-f3f5-42bb-88ae-03efa795a66f. ❤️🔥
Al netto di qualche errore di interpretazione suo, che mi ha portato a dover fare piccole modifiche, ho già messo a frutto lo #script, attivandolo su una nuova pagina: Ricerca 🔍️. Essenzialmente quello che mi serviva era una #ricerca dei post di tot caratteri o meno (che per <= 500 ho chiamato Tootin’, riferendomi a chissà cosa)… e lo so che per ora è subottimale, ma è un inizio, poi magari la migliorerò. 😁
https://octospacc.altervista.org/2024/02/08/wp-gpt/
#ChatGPT #codice #MicroBlog #miglioramenti #PHP #plugin #ricerca #script #shortcode #sito #SQL #WordPress
-
Fino ad ora ho apportato vari piccoli #miglioramenti al #sito del #MicroBlog con vari metodi, nessuno che includa anche il creare veri #plugin. Troppa sbatta perché si devono imparare tutte le API, ecc… Però, che posso fare quando sembra proprio che l’unica soluzione elegante per estendere le funzionalità di #WordPress sia quella? 😫
Quindi, ieri sera, non avendo molto tempo da perdere, ho provato a chiedere a #ChatGPT. E, con mia sorpresa, non solo non ha allucinato creando #codice rotto, ma addirittura sembra aver studiato ciò che io non ho fatto, e si è curato di fare le robe per bene, addirittura usando le funzioni sicure per scongiurare problemi come le #SQL injection! Alla fine gli ho fatto esporre uno #shortcode, da aggiungere su normali pagine, che visualizza l’HTML generato dal #PHP. È stato proprio carino questa volta, poi guardate come l’ho ringraziato alla fine… https://chat.openai.com/share/9072c3ea-f3f5-42bb-88ae-03efa795a66f. ❤️🔥
Al netto di qualche errore di interpretazione suo, che mi ha portato a dover fare piccole modifiche, ho già messo a frutto lo #script, attivandolo su una nuova pagina: Ricerca 🔍️. Essenzialmente quello che mi serviva era una #ricerca dei post di tot caratteri o meno (che per <= 500 ho chiamato Tootin’, riferendomi a chissà cosa)… e lo so che per ora è subottimale, ma è un inizio, poi magari la migliorerò. 😁
https://octospacc.altervista.org/2024/02/08/wp-gpt/
#ChatGPT #codice #MicroBlog #miglioramenti #PHP #plugin #ricerca #script #shortcode #sito #SQL #WordPress
-
Fino ad ora ho apportato vari piccoli #miglioramenti al #sito del #MicroBlog con vari metodi, nessuno che includa anche il creare veri #plugin. Troppa sbatta perché si devono imparare tutte le API, ecc… Però, che posso fare quando sembra proprio che l’unica soluzione elegante per estendere le funzionalità di #WordPress sia quella? 😫
Quindi, ieri sera, non avendo molto tempo da perdere, ho provato a chiedere a #ChatGPT. E, con mia sorpresa, non solo non ha allucinato creando #codice rotto, ma addirittura sembra aver studiato ciò che io non ho fatto, e si è curato di fare le robe per bene, addirittura usando le funzioni sicure per scongiurare problemi come le #SQL injection! Alla fine gli ho fatto esporre uno #shortcode, da aggiungere su normali pagine, che visualizza l’HTML generato dal #PHP. È stato proprio carino questa volta, poi guardate come l’ho ringraziato alla fine… https://chat.openai.com/share/9072c3ea-f3f5-42bb-88ae-03efa795a66f. ❤️🔥
Al netto di qualche errore di interpretazione suo, che mi ha portato a dover fare piccole modifiche, ho già messo a frutto lo #script, attivandolo su una nuova pagina: Ricerca 🔍️. Essenzialmente quello che mi serviva era una #ricerca dei post di tot caratteri o meno (che per <= 500 ho chiamato Tootin’, riferendomi a chissà cosa)… e lo so che per ora è subottimale, ma è un inizio, poi magari la migliorerò. 😁
https://octospacc.altervista.org/2024/02/08/wp-gpt/
#ChatGPT #codice #MicroBlog #miglioramenti #PHP #plugin #ricerca #script #shortcode #sito #SQL #WordPress
-
Fino ad ora ho apportato vari piccoli #miglioramenti al #sito del #MicroBlog con vari metodi, nessuno che includa anche il creare veri #plugin. Troppa sbatta perché si devono imparare tutte le API, ecc… Però, che posso fare quando sembra proprio che l’unica soluzione elegante per estendere le funzionalità di #WordPress sia quella? 😫
Quindi, ieri sera, non avendo molto tempo da perdere, ho provato a chiedere a #ChatGPT. E, con mia sorpresa, non solo non ha allucinato creando #codice rotto, ma addirittura sembra aver studiato ciò che io non ho fatto, e si è curato di fare le robe per bene, addirittura usando le funzioni sicure per scongiurare problemi come le #SQL injection! Alla fine gli ho fatto esporre uno #shortcode, da aggiungere su normali pagine, che visualizza l’HTML generato dal #PHP. È stato proprio carino questa volta, poi guardate come l’ho ringraziato alla fine… https://chat.openai.com/share/9072c3ea-f3f5-42bb-88ae-03efa795a66f. ❤️🔥
Al netto di qualche errore di interpretazione suo, che mi ha portato a dover fare piccole modifiche, ho già messo a frutto lo #script, attivandolo su una nuova pagina: Ricerca 🔍️. Essenzialmente quello che mi serviva era una #ricerca dei post di tot caratteri o meno (che per <= 500 ho chiamato Tootin’, riferendomi a chissà cosa)… e lo so che per ora è subottimale, ma è un inizio, poi magari la migliorerò. 😁
https://octospacc.altervista.org/2024/02/08/wp-gpt/
#ChatGPT #codice #MicroBlog #miglioramenti #PHP #plugin #ricerca #script #shortcode #sito #SQL #WordPress
-
#Android è letteralmente un #incubo appena tenti di fare qualcosa di un attimo #particolare 😭️
Ricordate la mia idea di riciclare il vecchio #Huawei come #touchpad? Alla fine, #KDEConnect in questo modo funziona molto bene, ma mi secca che sia totalmente vuoto se c’è un #display #LCD da sfruttare, e vorrei approfittare per usare questo #smartphone per mostrare #animazioni carine, magari un orologio, ecc… E, per maggiore #flessibilità, vorrei semplicemente avere una pagina #web sullo #schermo. Però, ovviamente, nel frattempo l’area di #tocco del #mouse deve poter ricevere i miei input. E quindi? 😶️
- Ho provato in una decina di modi ad aggiungere un
WebViewal layout dell’app, con caratteristiche e mezzi diversi, ma non c’è verso di far si che questo sia visibile a tutto schermo, ma allo stesso tempo non si prenda lui tutti gli input… ho provato non so quanti consigli dai forum, tempo buttato. 🙄️ - Ho tentato facendo ereditare il componente
KeyListenerViewdalla classeWebViewanzichéView, ma questo ne rompe il funzionamento e gli #input se li prende tutti la pagina web aperta. 🥲️ - Ho cercato su Neo Store (F-Droid + repo terze) e Google Play #applicazioni che facessero da #browser web fluttuante, ma nessuna di quelle che ho provato permetteva di rendere il #popup “trasparente” ai #tocchi. 😮💨️
- Ho cercato su #Internet per esempi di #codice di app fluttuanti, ma tutti sono un #casino da implementare ora così in una app nuova da zero (o meglio, non ci sono tutorial buonissimi), e ho buttato tempo e speranze appresso a un sacco di app esempio già pronte — o applicazioni #OpenSource con altri scopi che potessi #riadattare — che non ne vogliono sapere di compilarsi. 😤️
Ovviamente, se gli strumenti funzionassero davvero, e fosse solo la #piattaforma in sé ad essere antipatica, non avrei perso tutto questo tempo. Invece no, appresso ad #AndroidStudio, Gradle, Java, le dipendenze di #build troppo vecchie perché la app è abbandonata, e se provi a sistemare fai solo danni, e quando la #app finalmente si compila devi aspettare un minuto buono ogni volta che fai un cambiamento e vuoi inviarlo al #dispositivo o emulatore… è una #schifezza. 😩️
…Tuttavia, la #pazienza è la #virtù di chi sa bramare il #superfluo in modo realistico, e dunque, alla fine, ho trovato una #demo che riuscissi a #compilare (https://github.com/mjlong123123/TestFloaWindow), infilarci dentro una #WebView, e vedere il tutto #magicamente funzionare come volevo. Che assoluta #goduria, guardate il #video sotto. Ora farò giusto qualche #aggiustamento minimo necessario al mio #UseCase, e poi avrò finito. Non farò una vera e propria #applicazione, non ho voglia, ma comunque caricherò i miei #sorgenti modificati (e l’APK pronto che legge un file #HTML da archiviazione locale) qui: https://gitlab.com/octtspacc/OcttBitsOfFun/-/tree/main/AndroidFloatingWebView (i #file appariranno quando avrò fatto). 💣️
Il #programma ora visualizza la pagina di errore di Android, perché il file che dovrà caricare non esiste ancora, e le dimensioni della #finestra dovranno essere sistemate. Quello che è importante è che in sé #funziona. 😁️https://octospacc.altervista.org/2024/01/17/overlay-webview-su-android-a-scopi-ricreativi/
#aggiustamento #Android #AndroidStudio #animazioni #app #applicazione #applicazioni #browser #build #casino #codice #compilare #demo #display #dispositivo #file #finestra #funziona #Goduria #HTML #Huawei #incubo #input #Internet #KDEConnect #LCD #magicamente #mouse #OpenSource #particolare #pazienza #piattaforma #popup #programma #riadattare #schermo #schifezza #smartphone #sorgenti #superfluo #telefono #tocchi #tocco #touchpad #UseCase #video #web #WebView
- Ho provato in una decina di modi ad aggiungere un
-
Consigli (09/ottobre/2025)
Ogni tanto riesco ancora a trovare il tempo per dedicarmi alla computer music, ecco un piccolo brano scritto fra ieri ed oggi.
-
[⤴️ 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