#Modifiche

2025-02-10

Come Rilevare le Modifiche in un Documento Word #howto #diy #Modifiche

Il postaggio sta scivolando nell’oblio, perché gli Animali Crostini mi stanno trascinando lì… non perché ci sto giocando tanto però. Ci sto giocando sempre poche decine di minuti al giorno, però sto parallelamente esplorando la scena del modding (non hacking), che è una cosa che non ho mai fatto. Per ora non ho installato niente, però c’è comunque molto da vedere. 👁️

A quanto pare, il modding vero e proprio è esploso con New Horizons tipo, e da quei tempi lì qualcosa è tornato indietro anche a New Leaf, ma onestamente non me lo ricordo da prima del nuovo decennio… e in effetti la pagina di GameBanana per il gioco quadra, tutte le mod sono recenti (e ce ne sono alcune veramente carine e pure uwu wtf). Sarà perché la gente negli anni prima si era già abbastanza divertita con runtime hacking (cheat RAM classici, per cui sono usciti fuori anche dei “mod menu”, che invece su Switch ancora non ci sono) e save editing, e proprio visto che ora il gioco è stantio vuole aggiungere nuovi oggetti? 🤔️

È interessante però che per gli ultimi due giochi ci sia abbastanza varietà (anche se l’ammontare di robe disponibili per New Horizons fa impallidire le liste di New Leaf), e per quelli precedenti non c’è nulla o quasi. (Per Pocket Camp zero assoluto… “mobile game, what did you expect?” beh, almeno un server privato!) Un grosso problema è che tutte queste modifiche riescono solo a modificare parti esistenti del gioco, ma mai ad aggiungere dati del tutto nuovi (come invece fanno le mod di boh, Minecraft)… quindi, una mod che aggiunge un certo mobile, lo fa sovrascrivendo il modello di un altro, idem per animali e qualsiasi altra cosa. Qualcuna modifica proprietà funzionali di robe anziché l’estetica, ma siamo sempre lì, e nessuna modifica il codice eseguibile della ROM, ma solo i dati. 🧩️

Essendo questo il contesto, secondo me le mod che propongono di aggiungere cose nuove hanno poco senso, perché idk… anche se rimpiazzano oggetti brutti o di poca importanza, mi fa comunque brutto pensare che quella cosa, che gli sviluppatori hanno pensato e messo non a caso, è stata effettivamente rimossa. Quelle che invece sono create con la filosofia di cambiare qualcosa di specifico per un motivo specifico, come i colori di un dato ambiente, il design di un animale o del giocatore, e così via, hanno molto più senso. Ma, suppongo che, se l’intento è di prolungare la longevità del gioco, in realtà qualsiasi cosa è meglio del vanilla… 😾️

Però uffa, sarebbe figo avere più item del normale, e magari anche implementare funzioni di gioco nuove, come il piazzare mobili all’esterno su New Leaf… Ho iniziato con Creeperiano a vedere se magari riusciamo a combinare qualcosa, e in effetti la ricerca va avanti, e stiamo scoprendo alcuni dettagli del funzionamento più interno del gioco, che possono essere utili… però per ora ci siamo bloccati. Ancora non sappiamo nemmeno se possiamo cavarcela con appena un po’ di patch, oppure servirebbe una decompilazione completa del gioco (sarebbe la megafine), ma comunque stiamo documentando i dettagli scoperti via via su una repository apposita… se sapete chi ci può aiutare, condividete: https://github.com/andrigamerita/ACNLWA-Decomp. 😩️ (Entro oggi devo caricare anche altra documentazione.)

https://octospacc.altervista.org/2024/06/06/modifiche-crostini/

#3DS #AnimalCrossing #AnimalCrossingNewLeaf #community #documentazione #gaming #hacking #modding #modificare #modifiche #mods #NewLeaf #ReverseEngineering #reversing

fine nxfinestra

Questa voce fa parte 6 di 7 nella serie Troppo Cloud Gaming

Well. Come dissi già, l’altro giorno non ho potuto #giocare appieno finora, in quanto un difetto del mio #programma mi aveva privata dell’asso di sfazione. Dopo non aver avuto modo, sia in termini di tempo che di forza, ieri fino a sera ho effettivamente fatto le #modifiche che dovevo (e pure qualcuna in più imprevista, #feature a sorpresa wow), altrimenti veramente esplodevo ora, perché sembrava quasi l’universo volesse impedirmi di continuare a programmare in questo caso. E intanto, la scheda di acquisizione è già in viaggio. 🫖

Comunque turns out che gestire gli stick analogici è più complicato di quello che speravo. Se è uscita la nuova release di #FrameNX significa che ce l’ho comunque fatta, però ecco, non mi sarei lamentata se fosse stato tutto davvero funzionante da subito. I #problemi erano molteplici, in primis il fatto che avevo bisogno, al contrario di come credevo, di inviare dei comandi di setup al demone sys-botbase per diminuire dei tempi di sleep, roba vabbè che poco vi interessa quindi zzz. Altra cosa che ho fatto è stata implementare configurazioni di precisione e deadzone per ciascuno degli stick; in generale può essere utile per stick difettosi, ma in casi specifici la prima si può usare per castrare gli input analogici ad un raggio di valori binario o poco maggiore, e la seconda… pensavo fosse inutile per comandare #Switch ma, in realtà alcuni stick in giro (come il sinistro del #3DS) non sembrano riportare mai una posizione a (0,0) precisa quando rilasciati, e nonostante nei giochi #Nintendo questo sembra irrilevante, in altri come #Minecraft per Switch si osserva drift. 🚓

https://youtu.be/-2V0bKG0zzo

E dopo che anche questo #progetto è arrivato ad uno stato più che maturo, è il momento di fare altro. E l’idea mi è venuta proprio lavorando a questo, perché ho usato JSON per il file di #configurazione e mamma mia è sconveniente proprio tanto quanto me lo ricordavo, ma allo stesso tempo gli altri linguaggi di dati in giro non è che siano meglio, anzi… Dunque, sfrutterò la mia magia intrinseca e le infinite potenzialità del computer per creare un formato che è come comando io!!! 💖

#3DS #configurazione #feature #FrameNX #gaming #giocare #homebrew #Minecraft #modifiche #Moonlight #Nintendo #NintendoSwitch #problemi #progetto #programma #switch #tweaks

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… 🤧
  • 🆎 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

Ben 2 mesi fa (pensavo meno…) avevo detto qualche dettaglio sul #backup del #MicroBlog… la metà delle cose rimane ancora valida, ma è uscita fuori qualche #rogna nel tempo. 🕤️

  • Avevo notato che #Altervista tende ad invalidare le sessioni un po’ a caso, quindi puntualmente lo #script falliva ad esportare il file #XRSS con cURL. Per un po’ di #tempo non ho tentato di risolvere il problema, immaginando che ci dovesse essere un modo migliore dello scraping di farlo, ma allo stesso tempo non riuscendo a pensare a nulla, e ho fatto giusto qualche #esportazione a mano di routine. ✍️
  • Non mi preoccupavo troppo perché (e ricordavo di averlo detto, ma temo di non averlo mai fatto, non trovo il post) avevo installato il plugin “Writing on GitHub“, che in automatico esporta i nuovi #post in Markdown nel posto lì dove dice il nome… sembrava perfetto, ma appena 2 settimane (meglio tardi che troppo tardi) fa ho scoperto che non fa il commit di eventuali modifiche apportate ad un post dopo la creazione (nemmeno con il tasto per forzare), che è quantomeno un #problemino. 🧨️

Troppo troppo pallose ‘ste cosine qui, ma menomale che proprio oggi mi è venuto lo schiribizzo di tentare di sistemarle, un po’ anche grazie alla minima ulteriore conoscenza tecnica di #WordPress accumulata in queste lunghe settimane, e quindi ecco i miei aggiustamenti: ⛏️

  • Ho fatto un #plugin mio per esporre un endpoint #REST custom che mi da il documento #XML di esportazione, quindi posso usare sempre il curlo o quello che è, ma senza impazzire. Ho pagato ciò con la pazzia ora, però, in quanto nonostante avessi capito subito di dover usare una certa funzione export_wp(), non mi è stato subito chiaro che io dovessi includere un certo file di libreria per poterla effettivamente chiamare; la documentazione ufficiale a riguardo è scarsa, e di quella terza non ne parliamo proprio. Anche ChatGPT a ‘sto giro è stato fregato dalla realtà del mondo. 😱️
  • Ho invano perso po’ di tempo a ravanare nel #codice di WOGH per capire come mai non prendesse in conto le #modifiche. Temevo non fosse programmato per farlo, ma in effetti lo è (e, a pensarci un attimo, sarebbe strano altrimenti), quindi è un #bug. Vabbè, dopo troppo #debugging sono arrivata alla conclusione che per qualche motivo non salva l’hash dei commit che fa, necessario per crearne di nuovi che modificano file esistenti, ma cercare di sistemarlo per bene è una grossa rogna che non voglio nemmeno iniziare a crearmi. Quindi, dato che la #sincronizzazione perfettamente istantanea non mi serve, ho banalmente aggiunto la scrittura su file in una cartella dall’URL segreto in wp-content, quindi poi prelevo tutto via FTP. Ahimé duplico lo spazio occupato sul #server, ma tanto in primis non ho limiti fissi, e comunque è tutto testo quindi poca roba. 👁️‍🗨️️

https://octospacc.altervista.org/2024/02/14/finalmente-backup-veri/

#AlterVista #backup #bug #codice #debugging #esportazione #MicroBlog #modifiche #plugin #post #problemino #REST #rogna #script #server #sincronizzazione #tempo #WordPress #XML #XRSS

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

https://octospacc.altervista.org/2024/01/29/quando-la-mia-wiki-non-e-al-primo-posto-sui-motori-di-ricerca-la-mettiamo-a-forza/

#API #Bing #browser #codice #community #cringiando #criptica #dati #DuckDuckGo #Ecosia #Firefox #funziona #funzionare #Git #Google #GoogleSearch #GSearch #idee #intoppo #JavaScript #JS #KnowledgeBase #lamegafine #LAN #link #localhost #Mannaggia #metodo #modificare #modifiche #motori #navigatore #navigazione #note #OcttKB #online #pagina #pagine #pazza #problema #ricerca #rogne #rotto #schifezza #script #server #sicurezza #siti #situazione #software #soluzione #strumento #strumentopolo #tempo #TiddlyWiki #userscript #utile #UX #visualizzazione #web #webserver #wiki

2022-11-15

StreetComplete

StreetComplete è l'app perfetta per le modifiche semplici e divertenti su OpenStreetMap. Con StreetComplete farete le modifiche giocando!

LINK --> lealternative.net/2020/01/15/s

#Viaggiemappe #foss #mappe #modifiche #opensource #openstreetmaps #osm

2021-08-18

Come Rilevare le Modifiche in un Documento Word #howto #diy #Modifiche

TheQuickFlashtheonehotnews
2020-07-05

Boeing 737 Max: terminati i test della Faa per la nuova certificazione al volo - Gli effetti del virus sulle compagnie aeree
ilsole24ore.com/art/boeing-737

more news -> onehot.news
’autorità

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst