MicroBlog 📝️

[NEW] Leggi il MicroBlog tramite MBViewer per un’esperienza più moderna!

Il mio profilo…
Puoi seguire il MicroBlog…

Categorie, serie, e altre liste…

  • Aggiornamenti sulla questione chiaro di luna, anche se sicuramente questo non sarà l’ultimo post a riguardo: a meno che ciò che ho appena ora finito di architettare dovesse saltare per aria, già dopodomani proverò questo setup regolarmente fuori casa, sul campo, e ciò decreterà se effettivamente è una buona per il oppure ho preso l’ennesima cantonata… 👀

    Sia ieri sera in cui non l’ho detto bene riguardo il fisso, sia stasera per fare la sul portatile (più ideale per questo caso d’uso, consuma meno e il WiFi è forse un po’ più stabile), ho dovuto copincollare dei comandi dalla documentazione di per far funzionare il gamepad virtuale. Una volta fatto ciò, per giochi come SuperTuxKart non c’è bisogno di fare oltre, ma per altra roba invece ho dovuto usare AntiMicroX per mappare gli input del controller ad input di tastiera. Nel mio caso, mi serve per inviare gli input ad NXController. 🪰

    Quest’ultimo programmino ha qualche difetto, tipo che la sua finestra deve stare in focus per leggere gli input (io la metto nell’angolino in modo che non copra il gioco) e che la mappatura dello stick va cambiata dai tasti freccia ad altri, perché altrimenti per qualche ragione non funziona bene; però il suo lavoro lo fa, e via WiFi invia tutti gli input alla console sulla LAN. E dall’altro lato, il video della è trasmesso al PC tramite USB con SysDVR, ed arriva praticamente perfetto e con zero latenza… roba che importa poco, perché tanto in ogni caso io ci metto lo streaming da sopra. 🐌

    Insomma, è un po’ complicato usare Switch come server di , ma con il PC così correttamente configurato si può fare… e quindi in giro anziché portarmi la console grossa e pesante mi porto il (o, in realtà, anche solo il telefono, dipende). Da un certo punto di vista è meglio comunque questa configurazione rispetto ad eseguire giochi nativi PC perché, a parte che dovrei usare per forza il fisso in quel caso, i giochi su PC (a meno di non emulare Switch, ma a quel punto perché non usare la reale?) sono un estremo dolore da gestire quando hai sia la sfiga di usare Linux, che quella di non poterli comprare. Quindi vabbè. 🏴‍☠️🏴‍☠️

    Sempre ammesso che le prestazioni siano godibili in giro, spero solo che la preparazione da fare ogni volta prima di uscire di casa per non sia mentalmente troppa… in teoria sul PC posso usare uno script per aprire in automatico tutto, e l’unica cosa che dovrei ricordarmi di fare è accendere lui e collegare , quindi spero non sia eccessivo. (…Ah e poi, anche piazzare la console sotto alla webcam del portatile come in foto, perché altrimenti non riesco a navigare nei menu, SysDVR non mirrora quelli… ma questo è un problema che risolverò con la scheda di cattura da €4.) 🙏
  • Beh, qualcuno a quanto pare ha portato al (new) : https://github.com/zoeyjodon/moonlight-N3DS. Il che avrei sempre voluto fare, ma che non c’è mai stato verso, ora è reale, e alla faccia di chi lo credeva impossibile… perché gira persino infinitamente meglio del client per Switch. È vero che qui la risoluzione è molto inferiore, ma lì anche abbassando al minimo era tutto quasi ingiocabile, tra stutter e artefatti di compressione a non finire. Qui il bitrate è ottimo, e il framerate meh ma comunque più che utilizzabile. Ovviamente, è trasmesso anche l’audio. 🐔

    Sarebbe una buona idea per evitare di far ricadere a prendere polvere il mio , che quando si corrompono i salvataggi mi passa sempre la voglia di giocare, ma usandolo semplicemente come client per lo dei in cloud non dovrei più preoccuparmi. È molto più ideale una come quella per questo scopo, rispetto ad un telefono, per via dei tasti fisici. Dovrò effettivamente vedere come si comporta su rete mobile quando sono in culandia, o magari in bus in autostrada, tutti questi casi più specifici che però sono quelli che davvero devono funzionare, altrimenti è tutto inutile… sarebbero quelli i momenti in cui mi interesserebbe il pazzo. 🐙

    Ora ho potuto provare solo a casa con sul mio PC (server Sunshine), e appunto per i miei gusti riesco a giocare, sul WiFi. Però, l’ho provato con la linea 4G sempre qui, e… beh, con qualsiasi cosa che non sia il mio telefono a fare da hotspot funziona bene (ma in giro non funzionerà così bene), però ho appena scoperto che con lo Ximi stuttera ogni 2 secondi, rendendo l’esperienza non esattamente ingiocabile, ma comunque a dir poco infuriante; ho cambiato varie opzioni della rete mobile, ma niente. Questa è la volta buona che compro davvero il Kaiosofonino, cazzarola, se ‘sto rottame che mi ritrovo non è buono manco a fare da hotspot… 😩
  • Non fate caso al nuovo buco nel postaggio, ieri come avevo promesso ho tradotto The Question di Ren’Py e inviato la pull request, chissà quando pure questa verrà unita all’upstream quindi… a giudicare da come sono state gestite le traduzioni in passato lì, avverrà o a giorni o giusto per la prossima release. Per il Tutorial ora non so quando riuscirò a completare la traduzione, ma comunque, ho fatto caso al fatto che entrambe le novel dimostrative non sono messe online per essere testate senza scaricare l’SDK, e non credo che altri lo abbiano già fatto, quindi… perché no? Possono tornare utili per al volo da qualunque dispositivo. 🌚️

    Allora ho deciso di creare una paginetta per raccogliere queste ultime due cose, anche per sperimentare di più con , più altre che avrei già in mente, che sicuramente torneranno utili nel breve futuro. Quattro cose in programma da esplorare sono: il bundling dei giochi in file HTML standalone, la generazione di pacchetti per piattaforme diverse tramite web (e nello specifico, la generazione di pacchetti nativi a partire dal binario HTML), miglioramenti radicali alla schermata di caricamento web, e l’adattamento dello schermo a qualsiasi rapporto d’aspetto. E posso metterle tutte in ordine su: https://octt.itch.io/a-renpy-demo-box/. 🎰️

    Ho caricato la su Itch, come avevo accennato, perché so già che per alcune di queste robe dovrò andare oltre il limite di 100 MB per file delle pagine Git, e a parte il mio server in casa (dove ho poco spazio libero) non saprei quindi dove mettere tutto. Ma forse è buono, è capace che più gente la trovi e ne goda, che ne so… E, per evitare di impazzire caricando due volte gli ZIP per permettere il download a chi vuole, ho deciso di usare JSZip per aggiungere un tastino che, beh, scarica lato client tutti i file del server e li zippa per gli utenti; molto lmao in quanto creare cartelle compresse a livello 9 con un linguaggio interpretato non è velocissimo (potrebbero servire da decine di secondi a minuti), ma funziona bene. ✨️

    E, come se non avessi già cacciato troppe scuse in questa storia, ne ho approfittato per rendere bellina la pagina provando qualche tecnica per me nuova: il coso si chiama A Ren’Py Demo Box, quindi mi sembrava più che giusto creare una letterale scatola di cartone, da cui esce un foglio di carta con una lista di link, usando le trasformazioni 3D del … c’è voluto un pochino. Spero che lo sfondo animato preso in prestito sia sufficientemente strano da creare la giusta atmosfera, soprattutto in aiuto con la scatolina, ma non fate caso al fatto che su mobile la scritta in basso è tagliata… su desktop appare giusta, pezzi. 😤️
  • Ecco anche oggi un’ennesima, più che mezza, giornata spesa a fare cose non previste, perché “non ci si può mettere a far qualcosa senza che qualcos’altro non vada fatto prima“. Avevo accennato vagamente che a ‘sto giro avrei un’idea effettivamente cavalcabile per fare una , ma per qualche motivo adesso sono finita ad aggiornare tutte le in italiano di Ren’Py (proprio il motore), sistemando le tantissime stringhe scritte male e aggiungendone alcune mancanti… ho iniziato stamattina, e ho finito un’ora fa. (💀️)

    • In pratica, avevo pensato di creare una novel giusto per il gusto, una specie di demo, perché altrimenti le idee buone non mi vengono… e ho detto: anziché fare una roba proprio inutile, sarebbe ganzo farne una che magari fa proprio da tutorial a , andando a puntate dalle cose semplici ad altre sempre più complesse, dove la storia non ha da essere mirabolante perché è giusto un contorno grazioso. Ho visto in giro, e praticamente nessuno pare aver fatto questa cosa come la intendo io, quindi ho pure campo libero… 😳️
    • Però in effetti ho pensato, dopo aver notato che la novella Tutorial ufficiale inclusa proprio con l’SDK Ren’Py non esiste in , che sarebbe una buona cosa magari prima lavorare a tradurre quella, così ne approfitto anche per imparare alcuni dei tanti dettagli dell’engine che dovrò in ogni caso padroneggiare, se proprio ho voglia di creare il mio personale walkthrough… In realtà però, inizierei prima dall’altro gioco incluso, The Question, perché anche quello non esiste in italica lingua, ma dura una manciata di minuti e quindi è un buon antipasto prima del più grosso, anche se cambia poco ai fini della mia … 🌊️
    • La cosa è che, iniziando a tradurre, non essendosi i file di della GUI automaticamente riempiti dai sorgenti dell’engine (credo sia normale anche se strambo), ho dovuto guardarli qualche minuto per capire che semplicemente copiarli a mano sarebbe stato sufficiente a non dover riscrivere a manina tutte le stringhe comuni… però a quel punto ho notato quanto erano imperfette in molti punti, quante fossero un pelino inconsistenti, quante tradotte da una macchina e brutte da fare schifo, e anche quante mancassero proprio; nel programma SDK soprattutto, ma anche nelle parti del motore che i giocatori vedono sempre, e quindi… mi sono messa di forza e in queste ore ho fatto il lavorone che qualcuno non faceva bene da anni, per l’italiano, ahimé. 😵️

    Non mi capita spesso tanto quanto sento che vorrei di riuscire a contribuire al software , inteso come progetti più grandi di me (non solo i personali, insomma) che beneficiano tante persone non solo in teoria ma anche in modo evidente nella pratica, quindi quando l’occasione arriva è bene non farmela sfuggire. Ho già inviato la pull request al santissimo Tom, probabilmente il merge dimensionale dei branch avverrà a breve: https://github.com/renpy/renpy/pull/5486. …E quindi ora potrò finalmente tradurre i due giochini invece, yee, come se non avessi già lavorato abbastanza oggi. 🗿️

  • Un po’ meh il fatto che anche ieri non ho postato, sta andando tutto alla deriva, ma è che fino ad oggi pomeriggio non ero a casa, e quindi, non solo tra una cosa e l’altra il tempo è passato, ma poi non è successo niente di condivisibile. Però, visto che non avevo granché modo e/o voglia per i miei soliti passatempi pesanti, avendo con me solo il tablet come oggetto in più del solito, ho approfittato dei vari momenti morti per risolvere alcune di quelle più noiose e scoccianti piccole faccende per il mio sitarello :

    • Ho implementato anche finalmente lo script Service Worker per il , in modo da permettere alle pagine di andare in cache offline, facendo quindi funzionare le app anche senza , che è un requisito senza il quale non potrei in tutta onestà considerarle veramente complete e meglio delle native… ma ora oh si, avoja. 🗡️
      • Cosa in parte correlata e in parte no, che in realtà però ho fatto una settimana fa (lol): il Worker viene registrato solo per il dominio principale (hub.octt.eu.org), mentre non per tutti gli altri (sono vari) da cui lo stesso sito è accessibile. Su quelli (esempio, qui) appare un avviso in cima ad ogni pagina che ricorda di spostarsi, e c’è un link, ma nessun redirect automatico, perché così gli altri domini possono fungere da costante backup, non si sa mai.
    • Ho aggiunto un (1) nuovo link alla barra scorribile in basso (quello della mia pagina Itch.io, perché forse ho in programma qualcosa di utile, ma questa sarà un’altra storia), che quindi è diventata talmente larga da scrollare anche sul mio desktop e sul tablet in orizzontale, e quindi ho potuto notare quanto è fastidioso il fatto che faccia di continuo avanti e indietro ogni mezzo secondo senza neanche un frame di pausa… per cui l’ho migliorata, facendo ad ogni cambio di direzione scattare un delay (che era già programmato, ma veniva prima usato solo come pausa al passaggio di mouse o dito). Ne ho anche approfittato e allargato il padding, perché su dispositivi touch era un po’ difficile trascinare per scorrere a mano. 💈️
    • Infine, non meno importante: non so perché, qualche neurone sarà scattato a caso per colpa dei raggi cosmici, ma ieri sera senza motivo mi è tornata in mente una delle musichette che fanno da sottofondo al menu di selezione di alcuni famicloni… e le voci mi hanno detto che ci starebbe benissimo su una pagina web che è praticamente un menu di selezione per le mie cose. Quindi, detto fatto, “Slum” di Mighty Final Fight è stata messa… (Ovviamente, di default è mutata, non ci sono saltispaventi.) ❤️‍🔥️

    E qualcosa ho fatto anche per la , actually: oltre ad aver finalmente risolto tutti i problemi riguardo DDLC (mancava poco e sarebbe diventata una saga), e aver aggiunto altri giochi, ho implementato un tasto per allargare gli embed senza andare a schermo intero, nascondendo la sidebar che si vede sui display larghi. Ma ci sono ancora tante e tante cose da sistemare lì sopra (soprattutto in termini di PWA), voi non avete proprio idea… ☠️

  • [ ⤴️ https://octospacc.altervista.org/2024/04/25/doki-doki-browser-club/ ]

    Bene, come dire, oggi con questa storia di ho a dir poco esagerato… perché in realtà, dopo aver detto che me ne sarei lavata le mani, ho comunque cercato di vedere della roba, perché avevo scoperto altri non proprio ignorabili. È servito? Sni. ☠️

    La prima cosa è che su mobile la tastiera su schermo non funziona, perché è implementata in modo strano, prima che cambiassero e la facessero effettivamente bene. Quindi, sul mio porting di DDLC non si riuscirebbe neanche ad iniziare il gioco, perché non si può inserire il proprio nome nel momento in cui il programma lo chiede, a meno di collegare una tastiera fisica, che è pazzia. Con un po’ di ingegno e tanta sperimentazione, però, ho effettivamente risolto il problema: premendo un tasto dedicato nel menu contestuale, faccio apparire un <input> a schermo, dove l’utente può digitare con la propria tastiera virtuale normalmente, e il codice che ci sta dietro legge gli eventi per ricostruirli e inviarli al <canvas> che esegue il gioco. È un po’ una ma sostanzialmente funziona bene. 🕳️

    E poi… ho scoperto che in realtà no, le immagini che impiegano una vita a caricare si rifiutano proprio di farlo finché non avviene (oltre al passaggio di abbastanza scene di dialogo, ma va un po’ a caso) un evento di re-rendering totale, che ho individuato succedere in due casi: quando si preme il tasto destro per far scomparire l’HUD, oppure quando la finestra viene ridimensionata. Ora, chiamatemi scema, ma ho provato a mettere mano nella parte del codice che triggera un resize, perché quella del render è proprio dentro il codice WASM e quindi non c’è umanamente verso, ma… non sono arrivata a granché, dopo un po’ di prove. Ho tentato una strategia diversa, cioè simulare un doppio click col mouse ad ogni click dell’utente, ma farlo troppo veloce non fa ri-renderizzare nulla, e farlo troppo lentamente spacca le interazioni degli utenti… E quindi ho anche provato a sfruttare un iframe di servizio per poter fare ridimensionamenti della finestra ad ogni click (no, non basta lo styling), ma ci sono le stesse problematiche riguardo la velocità (eccetto che qui l’eccesso causa flash dello schermo, aiuto!). 🐞️

    E in tutto questo, nonostante abbiano dimostrato di fare release totalmente rotte una dopo l’altra, i RenPyisti si sono rivelati anche abbastanza efficienti: la mia di prima ha non solo avuto delle risposte, ma qualche ora fa è già stata creata una pull request per sistemare il problema, incredibilmente. (Ma io ancora mi chiedo, come è possibile che sono stata io a individuarlo?) Però, loro non hanno una CI normale per creare le build, e io a compilare da sorgente sul mio PC non ci sono riuscita (ed ecco perché volevo a tutti i costi ficcare i miei workaround nel codice già compilato anziché provare a fare un fix per bene prima), quindi dovrò per forza aspettare che creino loro la prossima nightly… domani, probabilmente?! Vabbè, per ora tenetevi il giochino sistemato in parte, è già meglio di nulla; ho anche aggiunto un ulteriore tasto al menu contestuale per fare refresh visivo su mobile, dove il right click non si può fare. 🤥️

  • La mia di scovare e archiviare app e di valore per il , seguendo la filosofia del binario universale e tutti i mazzi annessi, certe volte mi porta si a complicarmi un po’ le giornate, ma non credevo di arrivare persino a scontrarmi con bug breaking di motori di famosi e utilizzatissimi… È la maledizione per cui in mano a me si rompe sempre tutto, anche se in questo caso no, è tutto già rotto da tempo, solo che nessuno lo sapeva bene. 🤢️

    In pratica, ieri mi è venuta l’idea di caricare alcune VN sulla , considerando sia che RenPy supporta la creazione di build web da un bel po’, e che in genere è molto facile ricompilare e portare giochi fatti con questo . Infatti, ho già provato a portare diversi giochi gratuiti presi da Itch.io, e al netto di #difficoltà inaspettate per alcuni (che magari racconto la prossima volta), in linea di massima non ci sono mai con i giochi in RenPy 8. 💟️

    Però volevo portare una in particolare, ovviamente: ! …e ops, questa è dei tempi di RenPy 6 addirittura, e non c’è verso di farla girare sotto le v8 (basata su Python 3 anziché 2.7, era ora). Sulle versioni 7.x.x per fortuna sembra venir eseguita a modino, ma… la compatibilità web lì è in “beta” (cosa che ho scoperto va letta come “totalmente rotta lmao”) e quindi sono subentrati problemi immediatamente. O meglio, ho compilato con la più recente v7 (7.7.1), e sembrava tutto funzionare, finché non ho aperto la pagina su Linux o Android per scoprire che crashava tutto al caricamento per via di uno strano errore del video, e solo su Firefox nella mia VM Windows si riusciva a giocare (quindi binario universale un corno). 🚧

    Ho cercato e cercato tra changelog e pagine di aiuto, ma non c’ho capito granché, a parte che hanno cambiato tipo il sistema video ad un certo punto… eppure RenPy 8 funziona senza problemi. Ho verificato che solo fino alla v7.4.11 i giochi (qualsiasi) girano ovunque, invece dalla v7.5 appare la rogna. Alla fine, me ne sono dovuta lavare le mani: mi sono impegnata solo a scrivere bene una sul GitHub, e ora se la vedranno loro a fixare questa immondizia, te saludo!!! https://github.com/renpy/renpy/issues/5478 (leggete lì se vi interessa il tecnico). Il problema è che quest’altra versione funziona solo su Firefox, e ha un strano per cui la musica di sottofondo non carica quando cambia la traccia, quindi pensavo di dovermi rassegnare e aspettare ora… 🦧

    Però poi, dopo aver ancora letto, ho visto che RenPy < v7.4.7 usa FFmpeg per l’audio, “quindi magari”… e, sicuro abbastanza, con v7.4.6 la musica funge. E, casualità, non c’è manco il bug con i motori WebKit! Però pare ci sia un altro , ossia che le immagini fanno veramente fatica a caricare, a volte impiegano decine di secondi… non è gravissimo, perché alla fine se aspetti si caricano, però magari vedrò se posso sistemarlo comprimendo gli assets per farli stare tutti nel game.zip < 100 MB, anziché farli streammare separatamente. Comunque, forza, potete già fare il su https://gamingshitposting.github.io/SalaMuseoGames/2024/04/24/doki-doki-literature-club/ 👽️
  • Oggi i intrusivi hanno proprio voglia di prendere un estremamente abusivo controllo della mia vita ma… sono attualmente così che persino i penzieri generati dal mio essere mentalmente provata non riescono davvero a farmi agire, perché sarebbe troppa seguire cosa dicono loro rispetto a cosa il flusso degli mi pone davanti e io devo solo dire oooh, bello, anzi brutto, questo è e questo si fa. 🛏️

    Stamattina ho letteralmente visto il mio bus mentre stavo ancora sopra a casa mia… ops. Puntualmente, fa sempre svariati minuti di quando io sono ad aspettarlo per tempo, e sempre un tremendo anticipo quando sono io a fare un ritardo di appena 2 minuti letterali. Sono comunque scesa facendo finta di niente, perché in realtà non avevo letto benissimo il titolo e speravo di non averlo perso… ma invece il mio presentimento era giusto. Da un lato però le voci dormivano ancora a quell’ora, dall’altro aveva pure iniziato a piovere in modo strano e non pensavo di potermi comportare diversamente dallo stare lì sotto il portico ad aspettare il prossimo bus, quindi giustamente così ho fatto, e non ho riprogrammato in modo sbagliato la . 🙃

    Dopo le lezioni della mattina, visto che anche altre persone avevano all’ultimo deciso di fare lo stesso, i pensieri intrusivi mi hanno detto di prendere il bus e tornare a casa, anche se avrei avuto una prova intermedia subito dopo la pausa pranzo… fortunatamente, data la fame, dato il fatto che aveva iniziato a piovere in modo ancora più strano qui, oltre al freddo glaciale ritornato chissà come, in questo momento ero talmente dissociata dal mio corpo che non è stato per nulla difficile semplicemente rimanere lì. Eccetto che non sono semplicemente rimasta lì, ho macinato parecchi passi praticamente per sport andando avanti e indietro senza nessuna migliore task secondaria da fare mentre mangiavo, prima andando alla fermata (!!! a vuoto a vuoto!) e poi alla mensa per salutare delle persone. 😈

    E infine, in quest’ultimo caso le vøcį avrebbero avuto ragione, ma come dico sempre il è tiranno, e tra problemi tecnici e spiegazioni l’esame è nella pratica iniziato mezz’ora più tardi, quindi… non ho potuto fare alcun compromesso per cercare di prendere l’ultimo pullman prima dell’enorme buco orario in cui ora mi ritrovo a scrivere delle mie sofferenze per ammazzare un ennesimo dei tanti, interminabili quarti d’ora. Avrei probabilmente dovuto sfruttare ogni ultimo minuto disponibile per la consegna in ogni caso nella mia situazione, quindi non rosico, però eh, fa comunque molto pensare a quanto bene si alleino professori e SITA per farmi sempre e solo . 🙀

  • Sembra che sto di nuovo perdendo l’abitudine di riuscire a scrivere abbastanza qui negli ultimi giorni, e la cosa non mi piace granché, ma questi nuovi progetti un po’ mi stanno rapendo quindi non ho per la testa nemmeno la necessaria entropia per scrivere scemenze. Comunque, stasera con la scusa del mio compleanno (il tempo scorre…) ho visto degli amici, quindi non ho potuto fare tantissimo sul mio , solo robine tra stamattina e oggi pomeriggio (e tra poco vado a mimir, sembra che io stia riuscendo a prendere abitudini migliori):

    • Ho fatto un nuovo componente Shell con una grossa API contentRunner, praticamente ciò che dovrebbe occuparsi di far partire nuovi processi applicativi, di qualunque tipo, ma che hanno requisiti diversi dietro le quinte. Btw, a causa di questo devo riprogettare il componente Proc, che prima avevo fatto solo per prototipare e ora non va affatto bene (per il momento questa API lo bypassa completamente, ma a lungo termine non andrà bene). 🙄️
    • Devo fare un po’ i salti mortali per far fungere programmi negli iframe che si integrino con il al massimo, considerando che è un requisito per me fondamentale quello che il sistema funzioni anche senza alcun tipo di server di backend… già far comunicare i programmi nel frame con quelli nella normale finestra è un bel disastro, ma poi ho dovuto inventarmi anche qualche per far caricare ai frame risorse presenti nel file system virtuale, cosa che a quanto pare nessun altro implementa correttamente. E non ho nemmeno finito… 😊️
    • Ho già provato a fare dei test riguardo il theming dell’interfaccia utente, precisamente con 7.css, ma… è un altro disastro. Questa libreria usa nomi di classi talmente generici e altri attributi talmente specifici che so già che prima o poi usciranno problemi se volessi usarla così stock… ho anche quasi provato ad implementare qualche hack per sistemare uno dei problemi, però no, gli altri rimarrebbero. E con altri possibili temi sarà la stessa questione! Dato che non posso forkare e mantenere infiniti temi per colpa di minuzie, piuttosto credo che mi inventerò qualcosa per patchare i fogli di stile come serve a me… o aggiungendo un processo di build apposito, o implementando processi di patching al volo (con caching) direttamente nel sistema. ☠️

    Ho tra l’altro deciso almeno di crearla una repo Git per il progetto, almeno per ora, perché andare avanti senza conservare la minima history può essere problematico considerando che sto pesantemente prototipando. Man mano che farò aggiornamenti potrete testare su https://hakujos-octtspacc-[…].gitlab.io/… ma ora non c’è proprio nulla da provare lì, al massimo vi può incuriosire leggere il , boh. 💣️
  • In piccoli momenti tra stamattina e oggi pomeriggio, sono stata convinta dalle voci che dovevo perdere un po’ di tempo, e ormai ho raggiunto inavvertitamente lo stato di avere così poche distrazioni involontarie sul telefono che sono finita ad aprire la galleria con l’intento di un pochino dalla , liberare dello insomma… e ci voleva, sono fin troppo spesso a corto altrimenti. 👁️

    Beh, stavo navigando tra i , e tra i tanti arrivo ad uno con miniatura nera, lungo poco più di 3 minuti, e giustamente lo riproduco per capire cosa fosse… eeeee ho subito un rickroll. Il video era Never Gonna Give You Up, per qualche motivo lo avevo sulla microSD. E avevo anche l’audio del telefono acceso, ops. Che tu possa essere stramaledetta, me di quasi esattamente 2 anni fa, per aver piazzato quel file lì probabilmente con lo scopo di indurre in trappola me del presente!!! Ormai non posso letteralmente più fidarmi nemmeno di me stessa. ✝️

    Comunque, a parte eventuali reperti storici, tra cui una sorprendente quantità di copie di roba di scuola delle categorie più disparate (non solo foto di appunti non miei, ma anche roba “meta”, incluso un documento del 2022 con la lista dei percorsi del PCTO lmaooo), foto giustamente non ne ho potuto levare molte, perché saranno più di quattromila in totale: insomma, non si può mai pensare di poter fare una vera di quelle, solo ricontrollare ogni tanto per togliere ciò che puzza molto di marcio. Però, con di mezzo anche altre cose, avrò si e no praticamente liberato 6-7 GB! 🧼️

    C’erano un sacco di video vecchi, alcuni addirittura temporanei, cioè che non sarebbero mai dovuti rimanere conservati più di qualche minuto, e invece sono rimasti per … ops. Quelli li ho potuti giustamente , poi però ce ne sono altri che invece ho potuto quantomeno comprimere, riducendo la risoluzione quando possibile (non spesso, l’editor integrato della galleria di MIUI non fa scendere oltre il 720p, e forse è un bene perché rimanendo a questa soglia comunque non si apprezza perdita di qualità), cambiando il rapporto d’aspetto per tagliare via parti inutili ai bordi, e qualcuno (tipo solo le cose conservate per reference o demo e nulla di più) anche velocizzandolo, olè. Maggior parte dei filmati sono scesi a 30-40% l’originale, con questa prassi. 🚀️

    Poi nel frattempo ho notato che i dati di Termux pesavano più di 6 GB, e la cosa mi puzzava un po’… ok circa 3 GB di bin, però vado a controllare il peso di tutte le cartelle della home e si conta a fatica qualche centinaio di MB… quindi dove stanno questi 3 GB residui? Ah, semplicemente le cartelle nascoste della home, che ci ho messo 5 minuti a scoprire perché du -sh ovviamente non le troverà mai, se non esplicitamente scrivendo du -sh .*…..,.., quanto odio le CLI è assolutamente irreale, sono utili solo se devi scriptare, quando invece sono l’unica via pratica di interazione con un sistema per qualsiasi altro scopo sono sempre tra i piedi e c’è da piangere. Comunque erano cose di SDK e roba di build, ho cancellato tutto, erano servite in specifici momenti e mai più poi. 😩️

  • Lo dico chiaro e tondo ora, perché a quanto pare il mio pitch veloce di ieri non è entrato bene in testa a molti: si, il che voglio creare è scritto con tecnologie web vanilla (HTML5, CSS, e ) e gira interamente nel . Si, è un po’ una per la grandezza del mio scopo, ma per favore non stupitevi e non rabbrividite, perché non sono la prima a pensare qualcosa del genere, e anzi, diverse cose sono già state belle che realizzate… 🦷️

    Non so in realtà se qualcuno di quegli pseudo-OS si avvicina più ad un normale nel modo in cui vorrei fare io, magari dovrei prendermi del tempo per sfogliare (ma mai leggere, non abbiamo così tanto tempo!!!) meglio il loro codice… perché da un lato già sentimenti contrastanti su questa cosa. Potrei forse semplicemente forkare uno di quei robi open-source, e avrei così forse da fare un po’ meno lavoro con un costo minimo di possibilità perse dal punto di vista dell’utilizzo pratico (che poi spiegherò meglio)… però, avrebbe anche un minor valore come lavoro del mio portfolio rispetto a qualcosa di costruito tutto da zero, e fino ad ora in realtà sembra starsi rivelando un grattacapo gradevole, come non avevo granché fatto prima d’ora. 👽️

    In realtà finora non c’è nulla di difficile da , la vera difficoltà sta nel costruire una buona progettazione senza avere nemmeno un briciolo di conoscenza formale sulla teoria dei sistemi operativi, ma solo andando un po’ a sentimento e con le conoscenze collaterali che, da power user di Linux, Windows, Android e tutto quanto da anni, comunque ho indubbiamente accumulato. Perché appunto, non voglio fare uno di quei simulatori che direttamente funzionano con logica di alto livello, ma vorrei tentare di partire da più in basso per… well, creare tutte le astrazioni in modo più ordinato e funzionale, per poter quindi implementare caratteristiche anche più avanzate che altrimenti sarebbero possibili solo con delle hack (ad esempio, come permetti a delle app di mostrare overlay a schermo intero se tutta la tua logica dei processi ruota attorno al dogma che un processo è la sua finestrella nel DOM con il suo tastino in taskbar?). 🧨️

    Questo è ciò che ho fatto da stamattina ad ora… ho implementato per iniziare giusto un pizzico di logica di eventi, processi, file system, e poi i primissimi passi per il gestore di finestre, in quello che potrebbe tecnicamente essere considerato un … si, l’ambiente è praticamente nel kernel al momento (yikes!), ma dovrò pur andare un passo alla volta. Almeno, sto cercando di strutturare il codice in modo modulare, come strati non direttamente dipendenti tra loro, quindi prima o poi dovrebbe essere facile scambiare componenti core del come pezzettini! Ganzo comunque avere già qualcosa che a video gira, nonostante la strada per la vera funzionalità è ancora lunga. 🙃️
  • La oggi sottrattami una non ignorabile quantità di tempo. Realmente però, da stamattina fino a oggi pomeriggio sono dovuta impazzire per far funzionare il menu delle opzioni su come in figura… cioè esattamente come nella di , dove i tastini della barra del titolo vanno a collassarsi in un menu quando non c’è più spazio. Purtroppo la libreria che ho usato per questo stile non è per nulla funzionale di suo, quindi ho dovuto implementare io queste cose. 🥱

    A parte che non ho in teoria manco finito con quel menu, perché non si chiude ancora cliccando fuori su qualsiasi altra cosa che non sia il bottone di apertura (ma questa è una rogna sottile), ma poi ho dovuto spendere altro tempo per implementare quello che avrei già dovuto fare ma non potevo prima perché sarebbe mancato lo spazio per il bottone di attivazione della funzione, ossia effettivamente la disinstallazione dei pacchetti lì… Ovviamente sono sempre usciti fuori altri problemi strambissimi strada facendo, che sempre ho dovuto risolvere dolorosamente, ma alla fine ecco qua… 🙏

    Volevo in realtà iniziare un altro stasera, probabilmente a lungo termine invece, ma ho giustamente deciso di finire prima ciò che avevo iniziato appena poco prima, per una buona volta, altrimenti sappiamo come va a finire. Quindi bene. Però, da domani, e adesso vi droppo una bomba, devo iniziare il mio sistema operativo . Sembra una pazzia, e lo è, ma voglio creare qualcosa che sia come quegli pseudo-OS HTML5 a scopi di portfolio, ma che sia per me anche un software di uso quotidiano, andando leggermente oltre le limitazioni di tutti quelli fatti solo come esercizio di stile… visto che non mi va bene nessun OS desktop o mobile, perché non farne uno io per entrambi, eh? 😇

Una risposta a “MicroBlog 📝️”