Init con Hugo, conversione ListedDownsync.js, fix metadati post

This commit is contained in:
octospacc 2024-08-24 02:16:17 +02:00
parent a8a226b4f4
commit dda72042fd
151 changed files with 2063 additions and 1033 deletions

5
.gitignore vendored
View File

@ -1,4 +1,4 @@
i18n/*
build/
public/*
public.Content/*
public.gmi/*
@ -8,7 +8,8 @@ Scripts/.bak/*
#Scripts/package-lock.json
Scripts/node_modules/*
Scripts.out/*
*.pyc
*.tmp
tmp.*
.env
TiddlyWiki/*
.hugo_build.lock

View File

@ -1,9 +0,0 @@
// % Title = 📓️ Blog
// % HTMLTitle = <span class="twa twa-notebook twa-📓️"><span>📓️</span></span> Blog
// % Index = True
// % Order = 55
// % URLs = Blog.html
# <span class="twa twa-notebook twa-📓️"><span>📓️</span></span> Il blogoctt
<div><staticoso:Category:Blog></div>

View File

@ -1,7 +0,0 @@
// % Title: 🛠️ DIY
// % HTMLTitle: <span class="twa twa-hammer-and-wrench"><span>🛠️</span></span> DIY
// % Index: True
# <span class="twa twa-hammer-and-wrench"><span>🛠️</span></span> DIY
<div><span>[staticoso:Category:DIY]</span></div>

View File

@ -1,7 +0,0 @@
// % Title: ♻️ Ecologia
// % HTMLTitle: <span class="twa twa-recycling-symbol"><span>♻️</span></span> Ecologia
// % Index: True
# <span class="twa twa-recycling-symbol"><span>♻️</span></span> Ecologia
<div><span>[staticoso:Category:Ecologia]</span></div>

View File

@ -1,8 +0,0 @@
// % Title: 🦄 Fritto Misto
// % HTMLTitle: <span class="twa twa-unicorn"><span>🦄</span></span> Fritto Misto
// % Index: True
// % Order = 70
# <span class="twa twa-unicorn"><span>🦄</span></span> Fritto Misto
<div><staticoso:Category:Fritto-Misto></div>

View File

@ -1,8 +0,0 @@
// % Title: 🕹️ Gaming
// % HTMLTitle: <span class="twa twa-joystick"><span>🕹️</span></span> Gaming
// % Index: True
// % Categories: Tecnologia
# <span class="twa twa-joystick"><span>🕹️</span></span> Gaming
<div><staticoso:Category:Gaming></div>

View File

@ -1,8 +0,0 @@
// % Title: 🌐️ Internet
// % HTMLTitle: <span class="twa twa-globe-with-meridians twa-🌐️"><span>🌐️</span></span> Internet
// % Index: True
// % Categories: Tecnologia
# <span class="twa twa-globe-with-meridians twa-🌐️"><span>🌐️</span></span> Internet
<div><staticoso:Category:Internet></div>

View File

@ -1,8 +0,0 @@
// % Title: 📱️ Mobile
// % HTMLTitle: <span class="twa twa-mobile-phone"><span>📱️</span></span> Mobile
// % Index: True
// % Categories: Tecnologia
# <span class="twa twa-mobile-phone"><span>📱️</span></span> Mobile
<div><staticoso:Category:Mobile></div>

View File

@ -1,7 +0,0 @@
// % Title: 📝️ Note
// % HTMLTitle: <span class="twa twa-memo"><span>📝️</span></span> Note
// % Index: True
# <span class="twa twa-memo"><span>📝️</span></span> Note
<div><span>[staticoso:Category:Note]</span></div>

View File

@ -1,8 +0,0 @@
// % Title: 💰 Rasperino
// % HTMLTitle: <span class="twa twa-money-bag"><span>💰</span></span> Rasperino
// % Index: True
// % Categories: Tecnologia
# <span class="twa twa-money-bag"><span>💰</span></span> Rasperino
<div><staticoso:Category:Rasperino></div>

View File

@ -1,7 +0,0 @@
// % Title: 🎖️ Recensioni
// % HTMLTitle: <span class="twa twa-🎖️"><span>🎖️</span></span> Recensioni
// % Index: True
# <span class="twa twa-🎖️"><span>🎖️</span></span> Recensioni
<div><staticoso:Category:Recensioni></div>

View File

@ -1,8 +0,0 @@
// % Title: ⚙️ Sysadmin
// % HTMLTitle: <span class="twa twa-gear twa-⚙️"><span>⚙️</span></span> Sysadmin
// % Index: True
// % Categories: Tecnologia
# <span class="twa twa-gear twa-⚙️"><span>⚙️</span></span> Sysadmin
<div><staticoso:Category:Sysadmin></div>

View File

@ -1,7 +0,0 @@
// % Title: 📡 Tecnologia
// % HTMLTitle: <span class="twa twa-satellite-antenna twa-📡"><span>📡</span></span> Tecnologia
// % Index: True
# <span class="twa twa-satellite-antenna twa-📡"><span>📡</span></span> Tecnologia
<div><staticoso:Category:Tecnologia></div>

View File

@ -1,295 +0,0 @@
// % Title = 🏠 ~Home~
// % HTMLTitle = <span class="twa twa-house twa-🏠">🏠</span> ~Home~
// % Template = WM.html
// % Style = @import "[staticoso:Site:RelativeRoot]Assets/Pages/index.css";
// % Index = True
// % Order = 10
// % Image = [staticoso:Folder:Assets:AbsoluteRoot]/RichPreview/index.png
// % UpdatedOn = 2024-01-27
h1 Ciao!! (UwU)
p
| Sei entrat
span(class='BlinkA') a
span(class='NoDisplay') /
span(class='BlinkO') o
| nel...
// Credits: https://codepen.io/jh3y/pen/WNrXqYz
div(style='Position:Relative;')
br
h1(class='NoTitle WavyText' style='--x: 6; --y: -6;')
for letter, index in '✨sitoctt✨'.split('')
span(style=`--index: ${index}; --alpha-l: 0.125; --alpha-u: 0.25;`)= letter
h1(class='NoTitle WavyText' style='--x: 3; --y: -3;')
for letter, index in '✨sitoctt✨'.split('')
span(style=`--index: ${index}; --alpha-l: 0.25; --alpha-u: 0.5;`)= letter
h1(class='NoTitle WavyText')
for letter, index in '✨sitoctt✨'.split('')
span(style=`--index: ${index}; --alpha-l: 0.5; --alpha-u: 1;`)= letter
br
p
| Esatto, il
strong(class='twa twa-sparkles twa-✨') ✨
strong(class='MainIdTextGradientL') sitoctt
strong(class='twa twa-sparkles twa-✨') ✨
| . Letteralmente il mio sito, perchè io sono octt e quindi #[i(style='Color:#8040d0;') sito] + #[i(style='Color:#d000d0;') octt] =
strong(class='twa twa-sparkles twa-✨') ✨
strong(class='MainIdTextGradientR') sitoctt
strong(class='twa twa-sparkles twa-✨') ✨
| (#[i #[a(href='[staticoso:Folder:Assets:AbsoluteRoot]/Media/sitoctt-pronuncia.flac' target='_blank' rel='noopener') pronuncia: "sitòctt"]]).
br
| Se preferisci, puoi chiamarlo #[i(class='MainIdTextGradientL') sitocto]. O anche #[i(class='MainIdTextGradientR') postoctt]! È pur sempre un posto questo - il mio posto - anche se virtuale!
h2 Collegamenti rapidi
p Sul sito, ormai, un po' di roba c'è. Dovresti navigare il menu principale per poter accedere a tutto (leggi il seguito) ma, se proprio non sai da dove partire, allora perché non dare un'occhiata ai miei post più recenti, dalla finestrella in alto a sinistra? Altrimenti, magari vai a qualcosa tra..
<span>
<h3 class="Inline NoWrap"><a href="./Categories/Blog.html"><span class="twa twa-notebook twa-📓️"><span>📓️</span></span> Blog</a></h3>, o
<h3 class="Inline NoWrap"><a href="https://octospacc.altervista.org/microblog/"><span class="twa twa-ledger twa-📒"><span>📒</span></span> MicroBlog</a></h3> <small>(nuovo)</small>.
</span>
h2 Stato del sito e come navigare
p
| Nonostante abbia già un po' più di sostanza, tutto questo ambaradan è ancora pesantemente in costruzione. E lo sarà per sempre, perché avrò sempre roba nuova da condividere. #[del E, quando sarò morta, sarà comunque non finito perché nella mia vita non avrò scritto tutto lo scibile universale teoricamente possibile sul sitoctt.]
br
| Gli aggiornamenti al sito sono di diverso tipo: la pubblicazione di nuovi articoli di blog succede, boh, 3 volte al mese, è una buona idea usare i #[a(href='#-Feed-e-notifiche') feed] che metto a disposizione; le modifiche per pagine normali sono continue e avvengono a caso, quindi dovresti controllare magari ogni settimana quelle che ti interessano, se ti aspetti novità.
p
| #[b Da tenere a mente] (da Web): quando ci sono per lo schermo i seguenti tastini, è perché possono nascondere menu collassabili.
| Possono stare in posizioni diverse su pagine diverse, perché mi piace sperimentare con diversi temi; però cerco di mantenere il loro significato coerente ovunque.
br
| Un'icona con l'emoji di una pila di libri (<big class='twa twa-books twa-📚'>📚</big>) segnala il menu principale del sito, fondamentale per poterlo navigare saltando tra pagine completamente diverse e non collegate.
| Invece, l'icona con l'emoji di un foglio con un segnalibro (<big class='twa twa-bookmark-tabs twa-📑'>📑</big>) indica l'elenco delle sezioni della pagina corrente - non è essenziale, ma può tornare utile per saltare tra parti diverse di un lungo testo.
details
summary: h4 Note sulla compatibilità dei browser (Espandi)
div: p
| Per la migliore esperienza #[span(style='Color:#d00000;') DEVI] usare un browser con supporto almeno a CSS3 e alle immagini in formato AVIF (quest'ultima cosina, almeno finché non riesco a far funzionare il polyfill).
| Se usi un browser antico ti garantisco che troverai tanta, tanta roba rotta (ma comunque il sito dovrebbe essere navigabile lo stesso).
br
| Essendo che questo sito, per l'appunto, contiene immagini AVIF, assicurati che il tuo browser sia aggiornato e decente. Safari di Apple, per esempio, mi dicono che non supporta AVIF, quindi #[span(style='Color:#d00000;') buttalo via].
br
| Preferibilmente #[i non] usare Chromium, che ha degli strani memory leak su pagine con animazioni complesse, e ha qualche #[i glitch particolare]. #[b Firefox] non ha questo problema, ma usa molto di più la CPU.
br
| Direi che la scelta non è tra il migliore ma tra il meno peggio..
br
i Nota: se scegli Firefox, non usare la versione ESR! È per sua natura vecchia, fossilizzata, e manca sempre di funzionalità moderne - per esempio, al giorno d'oggi ancora non supporta AVIF.
h3 Script client-side
p
| Il sito Web non usa alcuno script client-side per le funzioni di base, perché non voglio costringere chi (per validi motivi di sicurezza e non solo) non vuole attivare JavaScript ad avere un'esperienza degradata. A proposito della questione spinosa, ho scritto anche un articolo: #[a(href='Posts/2022-06-14-0000-I-Documenti-Non-Devono-Diventare-Applicazioni.html') <span class="twa twa-page-facing-up"><span>📄</span></span> I documenti non devono diventare applicazioni].
br
| Ad ogni modo, però.. per fornire alcune funzionalità extra, devo per forza avere del JS, c'è poco da fare. Qui sotto, la lista di cosa uso. #[i Tutti i file sono caricati dai server del mio sito, quindi è difficile che enti malevoli possano nasconderci malware dentro].
details
summary: h4 Lista di script client-side usati nel sito Web (Espandi)
div: ul
li Script interni, scritti da me: <del>Auto-espansione dei menu sulle pagine con tema sitoctt in modalità desktop</del> (sto cercando di sistemarlo..), Visualizzazione a schermo intero degli sfondi delle pagine.
li #[del Polyfill per supportare le immagini AVIF su vecchi browser: #[a(href='https://github.com/Kagami/avif.js' target='_blank' rel='noopener') avif.js di Kagami]] (#[i Non ancora attivato... #[del lo sarà a breve] #[small quando cavolo lo farò? Sono mesi che rimando, il problema è che non è una soluzione plug-and-play, devo prima capirla e poi creare uno script di wrapping 😭]])
p Di seguito, metto la mia classifica dei possibili modi per visualizzare questo sito, dal migliore al peggiore. Per standardizzazione, tutti presuppongono supporto completo ai colori (nel possibile).
details
summary: h4 Mie inutili digressioni su modi assolutamente assurdi di consultare il sitoctt (Espandi)
div: dl
dt: b • Browser Web, con supporto completo a CSS3
dd (Perfetto!)
dt: b • Stampa su carta olografica, GIF e CSS3 completamente renderizzati nel possibile
dd (Richiede muovere il foglio a mano ma ottimo!)
dt: b • Browser Web, con supporto incompleto a CSS3
dd (Meh, OK..)
dt: b • Stampa su carta normale, animazioni CSS3 e GIF non renderizzate
dd (Buuu, mancano le animazioni..)
dt: b • Browser vecchio (Web vecchio, Web testuale, o Gemini) / Stampa su carta normale, zero supporto CSS
dd (Ma che è sto schifo?!?!)
h2 Ma di che si tratta?
p Su questo mio spazio di Internet metterò di tutto. Spero.
p Per ora, sicuramente metto paginine superficiali su argomenti specifici, ma anche articoli di blog lunghi e discorsivi. Voglio, inoltre, mettere anche tante raccolte sulle cose che mi piacciono, in forma sia testuale che di media. Una specie di galleria sulle cose che per me valgono.
p
| Oltre che degli effettivi contenuti, però, voglio che il sito (la versione Web, ovviamente) sia galleria di sé stesso. Voglio creare qualcosa che abbia un suo carattere unico, come i siti Web amatoriali degli anni 1995-2005, dove ogni luogo di Internet aveva sempre un'atmosfera diversa da tutto ciò visitato un attimo prima.
br
span(style='Color:#404040;') L'ascesa dei social come li abbiamo oggi ha purtroppo rovinato il web sotto questo punto di vista, portando alla standardizzazione completa e alla morte della creatività espressa con la forma.
br
| Voglio che questo mio spazio web sia diverso da tutti gli altri, caratterizzati da testo monocromatico e temi riciclati, perché è un peccato avere strumenti potentissimi e non sfruttarli davvero.
p
| Per questo, cercherò di inventarmi di continuo modi di abbellire le pagina con il CSS, non solo con layouting o effetti del testo fissi, ma soprattutto con le animazioni.
br
| Al resto della forma, come l'ordine ad albero delle pagine nel sito o dei paragrafi nelle pagine, non penserò molto, altrimenti mi distraggo dal creare contenuti e la voglia mi passa.
p Ricapitolando, le mie intenzioni attuali sono queste, poi non lo so cosa ci finirà qui sopra col tempo per davvero.. considerando anche che questa pagina può subire, ha subito, e subirà, lente modifiche.
h2 Disponibilità del sito
p
| Al momento, questo sito è disponibile per la navigazione su vari indirizzi diversi (i contenuti sono sempre identici).
br
| Per chi non sapesse, comunque, il nome è da un mesetto cambiato in sitoctt da postoctt, perché il vecchio nome mi dava l'impressione di qualche servizio postale...
br
| Dovrei pensare anche a molti altri mirror in cloud da diversi provider (ovviamente gratuiti), se voglio che il sitocto sopravviva ad octt stessa me medesima e superi la prova del tempo... Ma questa è una questione lunga.
h3 Web
p Il sito Web è disponibile da diverse fonti.
ul
li Sul #[b clearweb] HTTPS, sui server di #[span(style='Color:#fc6d26;') GitLab]: #[a(href='https://sitoctt.octt.eu.org') sitoctt.octt.eu.org].
li Sull'#[b Onion Web] (#[span(style='Color:#59316b;') Tor]), sui server di Replit: #[a(href='http://sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion') sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion]. Alla fine non è più ospitato in casa mia, ma forse è meglio così, è un carico in meno per il povero serverino di fortuna che ho (al momento, #[del una console Nintendo Switch con Ubuntu] il Raspberry Pi 3).
details
summary: h4 <span class="twa twa-💾"><span>💾</span></span> Opzioni di compatibilità per sistemi obsoleti o esotici (Espandi)
div: dl
dt: b • Versione HTTP di base
dd
| Il sito include funzioni CSS complesse e relativamente moderne, per poter fornire effetti grafici (e funzionali) epici. Ironia della sorte, per quanto visualizzando le pagine su browser veramente vecchi, che mancano di supporto CSS totale o quasi, il tutto si vede brutto ma è leggibile.. su browser che sono #[i sia troppo vecchi e sia troppo nuovi] si presentano bug parecchio gravi, che rendono impossibile usare alcuni menù o addirittura leggere il testo!
br
| Oltre al fatto che (nel possibile) voglio supportare sistemi vecchi, 'ste maledette rogne si presentano anche su dispositivi meno popolari ma attuali, tipo il Kindle! Insomma, per i troppi browser che non includono un'impostazione per disattivare completamente il CSS, era d'obbligo fare quello che ho fatto: al percorso #[a(href="./Plain") /Plain] sui miei domini del clearweb c'è una root parallela, e pagine con uguale contenuto ma CSS ridotto all'osso.
dt: b • HTTP non cifrato
dd Per evitare problemi ci ho dedicato un sottodominio dedicato, tenendo HTTPS forzato sul principale; ma, visto che non mi richiede manutenzione, ho fatto si che dal dominio di quinto (!) livello "#[span(style="Font-Style: Monospace;") http]" si acceda al sito tramite HTTP non cifrato (ospitato da GitHub, stavolta): in poche parole, l'indirizzo è #[code(style="Text-Decoration:Underline;") http://http.sitoctt.octt.eu.org]. I contenuti sono identici, ovviamente, ma finalmente si può navigare il sitoctt su roba come #[i Internet Explorer 4] direttamente contattando il server.
h3 Gemini
p
| Da ora, inoltre, il sitoctt è disponibile come capsula Gemini. Per andarci, si deve usare un browser Gemini.
br
| Ovviamente (per chi conosce Gemini), è tutto più castrato, e la forma non è esattamente la migliore perché tutte le pagine sono una diretta conversione dall'HTML del sito Web (e il programma su cui mi appoggio per farla è un po' rotto, per giunta).
br
| Vai alla octocapsula, gentilmente ospitata da koyu.space: #[a(href='gemini://koyu.space/octt') gemini://koyu.space/octt]
h3 Feed e notifiche
p Da ora il sitocto (il blogoctt e il MicroBlog, nello specifico) ha dei feed integrati, che vengono automaticamente aggiornati quando pubblico un nuovo articolo!
p
b(style='color:#ff6a00;') Feed Atom
| (moderno, #[b consigliato], contiene post completi):
b #[a(href='./feed/atom.xml') feed/atom.xml]
br
| Feed RSS (obsoleto, disponibile per compatibilità):
a(href='./feed/rss.xml') feed/rss.xml
p
| Ti serve un aggregatore di feed compatibile per usarli.
br
| - Su PC desktop consiglio
a(style='Color:#0080FF;' href='https://thunderbird.net' target='_blank' rel='noopener') Thunderbird
| o
a(style='Color:#003399;' href='https://www.seamonkey-project.org' target='_blank' rel='noopener') SeaMonkey Mail
| .
br
| - Su Android consiglio
a(href='https://f-droid.org/packages/com.nononsenseapps.feeder' target='_blank' rel='noopener') Feeder
| o
a(href='https://f-droid.org/packages/com.poloure.simplerss' target='_blank' rel='noopener') Simple Rss
| .
br
| - Se vuoi usare un dispositivo come un lettore di e-book e-ink, l'unico software universale che - tra le altre cose - include un aggregatore di feed, che conosco e posso consigliare, è
a(href='https://github.com/koreader/koreader' target='_blank' rel='noopener') KOReader
| .
br
| - Suggerimento: se usi Friendica, puoi copiare il link al feed e incollarlo nella barra di ricerca, per poterlo seguire come se fosse un profilo!
p #[del Inoltre, se usi una qualunque piattaforma del #[b Fediverso ActivityPub] (Mastodon, Pleroma, Misskey, ...) puoi seguire il bot del sitoctt, così da ricevere nel tuo feed Home i nuovi post: #[a(href='https://botsin.space/@sitoctt' target='_blank' rel='me noopener') @sitoctt@botsin.space]!] Per alcune complicazioni iniziate a fine agosto 2022, il bot non è accessibile dalla più grande istanza Mastodon italiana, #[i mastodon.uno], quindi è quasi praticamente inutile ora. Non lo tolgo di mezzo solo perché mi costerebbe di più fare ciò che lasciarlo dov'è #[b :P]; comunque ne dovrei creare uno nuovo, prima o poi.
h2 Sorgenti e licenze
h3 Licenze dei contenuti
<p>Tutto il contenuto presente su questo sito che ho creato io (i miei testi, media originali, e maggior parte del codice sorgente) è rilasciato sotto licenza <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.it" target="_blank" rel="noopener">"Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale" (CC BY-SA 4.0) (<span class="CCIcons"><img class="i1em" src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Icons/CC/CC.svg"> <img class="i1em" src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Icons/CC/BY.svg"> <img class="i1em" src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Icons/CC/SA.svg"</span>)</a>, una licenza libera che promuove la condivisione, e non intacca i legittimi diritti alla cultura e la collaborazione dell'umanità in generale.</p>
p
| Sono presenti, però, anche contenuti non miei.
br
| In ogni caso, se qualcosa viene dalla mia mano, non avrà nessuna indicazione di crediti vicino.
br
| Per la roba presa in prestito, invece, verrà sempre indicata la fonte da cui ho prelevato e la licenza, che sia questa di dominio pubblico, Creative Commons, o non specificata.
br
| Occhio, che i crediti per le cosine HTML e CSS spesso li lascio soltanto nei sorgenti della pagina.. Quindi, in caso, controlla lì per questo genere di crediti. Per cose come immagini o testi, invece, spesso eventuali crediti sono parte visibile della pagina, vicini all'oggetto preso in prestito (come una descrizione); altre volte, lo stesso oggetto è un link che, se cliccato, riporta alla fonte.
br
| Comunque, ho pensato di creare una sezione della pagina #[a(href='#-Crediti-speciali') qui sotto], dedicata a crediti speciali (che compilo quando mi ricordo).
h3 Codice sorgente
p
| Parlando dei sorgenti del sito, quelli HTML dell'effettiva pagina caricata dal browser potrebbero essere difficili da leggere. Questo è perché in realtà non scrivo direttamente l'HTML completo per comporre le pagine.
br
| Non solo sarebbe un casino replicare le mie varie barre e sezioni di navigazione su tutte le pagine, e se devo fare modifiche a queste poi è un inferno replicare la cosa ovunque, ma la sintassi HTML è sporca e faticosa da scrivere.
p
| Proprio per questi motivi, ho creato un mio generatore di siti statici (anche quello, come questo sito stesso, incompleto ma aggiornato di tanto in tanto quando mi serve), che preprocessa il mio codice sorgente per includere le mie barre in tutte le pagine, generare le sezioni della pagina (che appaiono nel menu a destra), generare la lista di pagine del sito (del menu a sinistra), e #[i altre cosette]. Passaggio importante, eventuali file Markdown o Pug vengono tradotti in HTML per essere comprensibili da normali browser, ed ecco qua.
br
| Ah, si, sto dicendo "#[i altre cosette]" perché si tratta di roba che al momento della scrittura di questo capitolo della pagina è assente o incompleta, e scrivendo come scrivo mi paro le chiappette e non devo fare future modifiche. #[pre(class='Inline') #[i H e h .]]
h4 Prendi tutto!
p
| Per terminare, trovate tutti i miei sorgenti sulle rispettive repo Git.
br
| Quelli del mio sito (divisi in repo multiple per tenere la cronologia pulita), alle condizioni descritte sopra:
a(href='https://gitlab.com/octtspacc/sitoctt' target='_blank' rel='noopener') gitlab.com/octtspacc/sitoctt
| ;
a(href='https://gitlab.com/octtspacc/sitoctt-assets' target='_blank' rel='noopener') sitoctt-assets
| .
br
| Quelli del mio generatore, anche questo rilasciato sotto una licenza libera, la AGPL: #[a(href='https://gitlab.com/octtspacc/staticoso' target='_blank' rel='noopener') gitlab.com/octtspacc/staticoso].
p Altra cosa: in caso possa interessare, per conservare e/o condividere in modo immediato (esclusi i file che sono sulle repo a parte, perché linkati in modo assoluto) copie offline del sito, si può scaricare uno <b>zip</b> contenente tutte le pagine compilate <a href="https://gitlab.com/octtspacc/sitoctt/-/jobs/artifacts/main/download?job=pages" target="_blank" rel="noopener">qui</a>!
h3 Crediti speciali
details
summary: h4 Lista di crediti e ringraziamenti speciali a chi ho preso materiale in prestito (Espandi)
div: ul
li Lista di #[a(href='#-Script-client-side') script client-side], tra cui alcuni di terzi
li Titolo animato ad onda: #[a(href='https://codepen.io/jh3y/pen/WNrXqYz' target='_blank' rel='noopener') Waaaves di jh3y]
li Famiglia caratteri: #[a(href='https://fonts.google.com/specimen/Space+Mono' target='_blank' rel='noopener') Space Mono di Colophon Foundry]
li Pacchetto emoji CSS: #[a(href='https://twemoji.twitter.com' target='_blank' rel='noopener') Twemoji di Twitter], via #[a(href='https://gitlab.com/octtspacc/twemoji-astonishing' target='_blank' rel='noopener') Twemoji Astonishing]
li Alcuni bottoni 88x31 non identitari: #[a(href='https://cyber.dabamos.de/88x31' target='_blank' rel='noopener') 88x31 GIF Collection di cyber.dabamos.de]
h2 Riservatezza e trasparenza
p In quanto mio interesse legittimo, in questo sito web utilizzo un servizio di analitica; sia per poter migliorare ciò che faccio, che per soddisfare la mia pura curiosità di scoprire dati.
p Il servizio di analitica è basato su software completamente #[a(href='https://github.com/arp242/goatcounter/blob/master/LICENSE' target='_blank' rel='noopener') libero ed open-source], ospitato gratuitamente per siti a basso traffico da #[b GoatCounter.com].
p A quanto pare, con GoatCounter non serve includere un avviso a schermo che disturba gli utenti per essere in regola con il GDPR (si veda <a href='https://www.goatcounter.com/help/gdpr' target='_blank' rel='noopener'>goatcounter.com/help/gdpr</a>), ma, per onestà e trasparenza, sto scrivendo comunque questo paragrafo.
p Solo i dati non-personali vengono raccolti, in forma anonima, per i soli fini di statistica generale, e non di tracciamento individuale. Il servizio non utilizza cookies, e i dati non vengono ceduti a terze parti. Per ulteriori informazioni, non posso fare altro che consigliare di leggere la <a href='https://www.goatcounter.com/help/privacy' target='_blank' rel='noopener'>Privacy policy di GoatCounter</a>.
br
hr
div#RingsDiv
span.Center
h2 Rings
p
| Se dei link tra questi sotto non funzionano, vuol dire che chi amministra i ring non ha ancora accettato il mio sito negli stessi.
br
| L'attesa sta uccidendo più me che te, fidati.
br
| #[i O, magari, si tratta di un problema temporaneo].
<p class="Center">
<a href="https://fediring.net/previous?host=sitoctt.octt.eu.org"><big>←</big></a>
<span> </span>
<a href="https://fediring.net/"><img class="i1em" title="Fediverse Logo Proposal, Eukombos, CC0, Wikimedia Commons" src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Icons/Fediverse/Fediverse_logo_proposal.svg"> Fediring</a>
<span> </span>
<a href="https://fediring.net/random">[<span class="twa twa-🎲">🎲</span>]</a>
<span> </span>
<a href="https://fediring.net/next?host=sitoctt.octt.eu.org"><big>→</big></a>
</p>
br
hr
small(style="Float:Right; Opacity:0.7;"): i ❤️ Copying is an act of love. Please <a href="#-Prendi-tutto">copy and share</a>.

View File

@ -1,10 +0,0 @@
// % Description = Ecco la lista di tutti i post del sitoctt: blogoctt, MicroBlog... c'è roba da leggere per sempre.
// % Type = Page
# Lista di Tutti i Post
_Quelli più in alto alla lista sono i più recenti!_
<div>
<staticoso:DirectoryList:Posts/>
</div>

12
Scripts/.Globals.sh Normal file
View File

@ -0,0 +1,12 @@
#!/bin/sh
RepoUrl="https://gitlab.com/octtspacc/sitoctt.git"
BranchThis="sitoctt-next"
BranchTranslate="translate-cache"
#/bin/sh!
set -e
owd="$(pwd)"
swd="$(dirname "$(realpath "$0")")"

18
Scripts/Build.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/sh
. "$(dirname "$(realpath "$0")")/.Globals.sh"
cd "${swd}/.."
mkdir -p ./build
cd ./build
cp -r \
../archetypes ../content \
../layouts ../themes \
../config.toml ../hugo.toml \
./
sh "${swd}/Translate.Get.sh"
$([ -n "$(which python3)" ] && echo python3 || echo python) "${swd}/Translate.Main.py"
sh "${swd}/Translate.Apply.sh"
hugo
sh "${swd}/Translate.Push.sh"
cd "${owd}"

7
Scripts/Clean.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
. "$(dirname "$(realpath "$0")")/.Globals.sh"
cd "${swd}/.."
rm -rf ./build ./public ./resources
cd "${owd}"

View File

@ -6,24 +6,33 @@ Exp.ConfigParser = require('./config-ini-parser').ConfigIniParser;
Exp.importAll = function importAll(){ delete this.importAll; Object.assign(global, this); };
Exp.ParseMeta = (Raw) => {
let Mid = { Meta: "", Macros: "", };
let Data = { Meta: {}, Macros: {}, };
let Mid = { Meta: "", Macros: "" };
let Data = { Meta: {}, Macros: {}, IsToml: false };
const Lines = Raw.trim().split('\n');
if (Lines[0].trim() === '+++' && Lines.slice(-1)[0].trim() === '+++') {
Data.IsToml = true;
Lines = Lines.slice(1, -1);
}
for (let i=0; i<Lines.length; i++) {
let Type;
let Line = Lines[i].trim();
if (Line.startsWith('//')) {
Line = Line.slice('2').trim();
};
}
if (['%', '$'].includes(Line[0])) {
if (Line.startsWith('%')) {
Type = 'Meta';
} else if (Line.startsWith('$')) {
Type = 'Macros';
}
} else {
if (!Data.IsToml) {
continue;
};
}
Mid.Meta += Line.trim() + '\n';
}
Mid[Type] += Line.substring(1).trim() + '\n';
};
}
Object.keys(Mid).forEach((Type) => {
const Items = new ConfigParser().parse(Mid[Type]).items();
Items.forEach((Item) => {

View File

@ -87,12 +87,14 @@ const GetLinkElem = Dom => {
const MakeMetaStr = Post => {
let Str = '';
['Meta', 'Macros'].forEach((Type) => {
const Marks = { Meta: "%", Macros: "$", };
const Marks = { Meta: "%", Macros: "$" };
Object.keys(Post[Type]).forEach((Key) => {
Str += `// ${Marks[Type]} ${Key} = ${Post[Type][Key]}\n`;
//Str += `// ${Marks[Type]} ${Key} = ${Post[Type][Key]}\n`;
// TODO: should this properly handle non-strings?
Str += `${Key} = ${JSON.stringify(Post[Type][Key])}\n`;
});
});
return Str;
return `+++\n${Str}+++\n`; //Str;
};
const HandlePost = (PostSrc, Output) => {
@ -109,9 +111,10 @@ const HandlePost = (PostSrc, Output) => {
// Handle .MetadataBlock elements
Array.from(ContentDom.querySelectorAll(MetadataBlockSelect)).forEach((Elem) => {
if (Elem.textContent) {
const Meta = ParseMeta(Elem.textContent);
const Meta = ParseMeta(Post.RawMeta = Elem.textContent);
Post.Meta = Object.assign(Post.Meta, Meta.Meta);
Post.Macros = Object.assign(Post.Macros, Meta.Macros);
Post.IsToml = Meta.IsToml;
};
Elem.outerHTML = '';
});
@ -150,7 +153,7 @@ const HandlePost = (PostSrc, Output) => {
Post.Content = GetFragHTML(ContentDom);
const PathFile = LinkPath.split('/').slice(-1)[0];
const PathDir = LinkPath.split('/').slice(0, (LinkPath.split('/').length - 1)).join('/');
const PathDir = ('./content/' + LinkPath.split('/').slice(0, (LinkPath.split('/').length - 1)).join('/'));
const DatePrefix = PostsFileDate ? Post.Meta.CreatedOn + '-' : '';
const FinalFilePath = `${PathDir}/${DatePrefix}${PathFile.substring(0, (PathFile.length - 4))}md`;
if (!CheckDownsync(TryReadFileSync(FinalFilePath))) {
@ -197,8 +200,8 @@ const HandlePost = (PostSrc, Output) => {
if (Output == 'file') {
TryMkdirSync(PathDir);
Fs.writeFileSync(FinalFilePath, `\
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
${MakeMetaStr(Post)}
${/* Post.IsToml ? Post.RawMeta : */ MakeMetaStr(Post)}
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1>${Post.Meta.HTMLTitle ? Post.Meta.HTMLTitle : Post.Meta.Title}</h1>
${Post.Content}

6
Scripts/Translate.Apply.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
. "$(dirname "$(realpath "$0")")/.Globals.sh"
if [ -n "$(ls ./translate)" ]
then cp -r ./translate/* ./content/
fi

6
Scripts/Translate.Get.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
. "$(dirname "$(realpath "$0")")/.Globals.sh"
if [ ! -d ./translate ]
then git clone --depth 1 --branch "${BranchTranslate}" "${RepoUrl}" ./translate
fi

98
Scripts/Translate.Main.py Executable file
View File

@ -0,0 +1,98 @@
#!/usr/bin/env python3
DestinationLanguages = ["it", "en"] # "de", "eo", "es", "fr"
IncludePaths = ["/"]
ExcludePaths = ["/Categories"]
from os import getcwd, listdir
from os.path import dirname, realpath, isfile, isdir
from pathlib import Path
from translate_shell.translate import translate
# TODO handle frontmatter properly, some data must be translated (title, ...) but other must not (date, ...)
# TODO also somehow handle overriding data for some translation (title, slug, ...)
# TODO add warning about automatic translation at the beginning
# TODO handle deleted files? (it should probably be done in another sh script, not here)
#
def printf(*objects):
print(*objects, end='')
def get_source_language(document_path):
return document_path.split('/')[0]
def make_destination_path(document_path, destination_language):
return ('./translate/' + destination_language + '/'
+ '/'.join(document_path.split('/')[1:]))
# TODO check for edit date in already translated documents and update them if needed
def is_translation_uptodate(source_path, destination_path):
return True
# TODO handle when the same document is available in multiple source languages?
def needs_translation(source_path, destination_language=None):
for folder_path in ExcludePaths:
if ('/' + '/'.join(source_path.split('/')[1:])).startswith(folder_path + '/'):
return False
if not open('../content/' + source_path).read().strip():
return False
if destination_language:
destination_path = make_destination_path(source_path, destination_language)
if isfile(destination_path) and is_translation_uptodate(source_path, destination_path):
return False
return True
def find_documents(folder_path):
documents_queue, documents = [], {}
for document_path in Path(folder_path).rglob('*.*'):
if isfile(document_path):
documents_queue.append('/'.join(str(document_path).split('/')[2:]))
for document in documents_queue:
if needs_translation(document):
documents[document] = []
for destination_language in list(set(DestinationLanguages) - {get_source_language(document)}):
if needs_translation(document, destination_language):
documents[document].append(destination_language)
return documents
def translate_document(document_path, documents):
printf(f'* {document_path} ->')
for destination_language in documents[document_path]:
source_language = get_source_language(document_path)
printf('', destination_language)
try:
translated = translate(
open(('../content/' + document_path), 'r').read(),
destination_language,
source_language)
if not len(translated.results):
raise Exception("Unhandled error")
printf('')
except Exception as exception:
printf('', exception)
continue
translated_text = translated.results[0].paraphrase
text_header = translated_text.strip().splitlines()[0].strip()
translated_preamble = ("\n\n{{< noticeAutomaticTranslation " + source_language + " >}}\n\n")
if text_header in ["---", "+++"]:
text_tokens = translated_text.split(text_header)
translated_text = (text_header.join(text_tokens[:2]) + translated_preamble + text_header.join(text_tokens[2:]))
else:
translated_text = (translated_preamble + translated_text)
destination_path = make_destination_path(document_path, destination_language)
Path('/'.join(destination_path.split('/')[:-1])).mkdir(parents=True, exist_ok=True)
open(destination_path, 'w').write(translated_text)
printf('\n')
def main():
for source_language in listdir('../content'):
for folder_path in IncludePaths:
documents = find_documents('../content/' + source_language + folder_path)
for document_path in documents:
if len(documents[document_path]):
translate_document(document_path, documents)
if __name__ == "__main__":
globals_text = open(dirname(realpath(__file__)) + '/.Globals.sh').read()
exec(globals_text.split('#' + globals_text.splitlines()[0].split('#!')[1] + '!')[0])
main()

6
Scripts/Translate.Push.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
. "$(dirname "$(realpath "$0")")/.Globals.sh"
cd ./translate
git add . && git commit -m . && git push || true
cd ..

View File

@ -1,87 +0,0 @@
#!/usr/bin/env python3
import hashlib, os, shutil, sys, time
from pathlib import Path
GoogleLangs = ['af', 'sq', 'am', 'ar', 'hy', 'as', 'ay', 'az', 'bm', 'eu', 'be', 'bn', 'bho', 'bs', 'bg', 'ca', 'ceb', 'ny', 'zh', 'zh_HANT', 'co', 'hr', 'cs', 'da', 'dv', 'doi', 'nl', 'en', 'eo', 'et', 'ee', 'tl', 'fi', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'gn', 'gu', 'ht', 'ha', 'haw', 'iw', 'hi', 'hmn', 'hu', 'is', 'ig', 'ilo', 'id', 'ga', 'it', 'ja', 'jw', 'kn', 'kk', 'km', 'rw', 'gom', 'ko', 'kri', 'ku', 'ckb', 'ky', 'lo', 'la', 'lv', 'ln', 'lt', 'lg', 'lb', 'mk', 'mai', 'mg', 'ms', 'ml', 'mt', 'mi', 'mr', 'mni-Mtei', 'lus', 'mn', 'my', 'ne', 'no', 'or', 'om', 'ps', 'fa', 'pl', 'pt', 'pa', 'qu', 'ro', 'ru', 'sm', 'sa', 'gd', 'nso', 'sr', 'st', 'sn', 'sd', 'si', 'sk', 'sl', 'so', 'es', 'su', 'sw', 'sv', 'tg', 'ta', 'tt', 'te', 'th', 'ti', 'ts', 'tr', 'tk', 'ak', 'uk', 'ur', 'ug', 'uz', 'vi', 'cy', 'xh', 'yi', 'yo', 'zu'] # {LingvaURL}/api/v1/languages
DeepLLangs = ['et', 'ja', 'lt', 'lv', 'de', 'hu', 'ru', 'zh', 'ro', 'da', 'it', 'es', 'nl', 'fr', 'sk', 'sl', 'pt', 'en', 'sv', 'fi', 'pl', 'el', 'bg', 'cs'] # All from output of `deepl --help`
UserAgent = 'sitoctt:Translate.py'
Engine = 'Google' # 'Google' or 'DeepL'
SourceLang = 'it'
DestLangs = GoogleLangs
# With shutil.copytree copy only folder struct, no files; https://stackoverflow.com/a/15664273
def IgnoreFiles(Dir, Files):
return [f for f in Files if os.path.isfile(os.path.join(Dir, f))]
def FindTextFiles():
List = []
#for Dir in ('Posts/'): #('Pages/', 'Posts/'):
for Ext in ('htm', 'html', 'markdown', 'md', 'pug', 'txt'):
for File in Path(Dir).rglob(f'*.{Ext}'):
List += [File]
return List
def GetMetaComment(Paragraph, Num, Count, Translation=None):
return f'<!-- Paragraph {abs(Count-Num)} {hashlib.md5(Paragraph.encode()).hexdigest()} {hashlib.md5(Translation.encode()).hexdigest() if Translation else ""} --->'
def StrReverse(Str):
_ = list(Str)
_.reverse()
return ''.join(_)
def TryTranslate(Text):
try:
if Engine.lower() == 'google':
return json.loads(urlopen(Request(f'{LingvaURL}/api/v1/{SourceLang}/{Lang}/{URLParse.quote(Text, safe="")}', headers={'User-Agent':UserAgent})).read())["translation"]
elif Engine.lower() == 'deepl':
return Translate.translate(Text)
except Exception as e:
print(e)
return False
if Engine.lower() == 'google':
LingvaURL = sys.argv[1]
import json
from urllib import parse as URLParse
from urllib.request import urlopen, Request
elif Engine.lower() == 'deepl':
from deepl import deepl
try:
DestLangs.remove(SourceLang)
except Exception:
pass
for Lang in DestLangs:
if Engine.lower() == 'deepl':
Translate = deepl.DeepLCLI(SourceLang, Lang)
for Dir in ('Pages', 'Posts/'):
shutil.copytree(Dir, f'i18n/{Lang}/{Dir}', ignore=IgnoreFiles, dirs_exist_ok=True)
for File in FindTextFiles():
if os.path.isfile(f'i18n/{Lang}/{File}'): # Skip already translated pages - This will evolve into a skip only if not updated
continue
with open(File, 'r') as f:
FullSource, Target, Trans = f.read(), '', ''
print(f'\n{Lang}/{File}:', end='')
Paragraphs = StrReverse(FullSource).split('\n\n')
for i,Paragraph in enumerate(Paragraphs): # Assuming no single paragraph is > 5000 chars
print(f' {i}', end='')
Backoff = 0
Target = StrReverse(Paragraph)
if not Target: # There were more than 2 line breaks
Trans += '\n\n'
continue
Done = ''
while not Done:
time.sleep(0.5 + (Backoff*1.025))
Backoff += 1.025
Done = TryTranslate(Target)
Trans = GetMetaComment(Target, i, len(Paragraphs), Done) + '\n' + Done + '\n\n' + Trans
with open(f'i18n/{Lang}/{File}', 'w') as f:
f.write(Trans)

View File

@ -1,85 +0,0 @@
<!DOCTYPE html>
<html lang="<staticoso:PageLang>">
<head>
<staticoso:StaticPart:Standard/Head.Global.html>
<link rel="stylesheet" href="[staticoso:SiteRelativeRoot]Assets/WM.css"/>
<style>
<staticoso:PageStyle>
Body {
Background: url(<staticoso:CustomPath:Assets>/Media/Backgrounds/Circles-Purple.png), #5C00CA;
Background-Repeat: Repeat;
}
</style>
<staticoso:PageHead>
<staticoso:DynamicPart:*/Head>
</head>
<body id="Body">
<div class="TaskBar">
<details>
<summary><span class="MenuButton"><big><b>[<span class="twa twa-books twa-📚"><span>📚</span></span>]Menu</b></big></span><br><br></summary>
<div class="TaskBarMenu">
<staticoso:SiteMenu>
</div>
</details>
<span class="TaskBarRight">&nbsp;<h4 title="Home Page" class="Inline"><a href="<staticoso:SiteRelativeRoot>index.html"><span class="twa twa-sparkles twa-✨"></span>sitoctt2023<span class="twa twa-sparkles twa-✨"></span></a></h4>&nbsp;</span>
</div>
<input title="Mostra Desktop" type="checkbox" class="CheckToggle" id="DesktopCheck">
<label title="Mostra Desktop" for="DesktopCheck"><span class="twa twa-🪬"><span>🪬</span></span></label>
<div class="Window" id="FeedWindow">
<div class="TitleBar">
<input type="checkbox" class="CheckToggle" id="FeedWindowCheck">
<div class="TitleBarContent">
<span> <label class="CheckLabel" for="FeedWindowCheck"></label> </span> &nbsp;&nbsp; <span> <b>Ultimi Post</b> </span> &nbsp;&nbsp; <span> <span class="twa twa-📣"><span>📣</span></span> </span>
</div>
<div class="WindowContent ToggleBox">
<staticoso:Feed>
</div>
</div>
</div>
<!--<div class="DragContainer">
<div class="DragBox"></div>-->
<div class="Window" id="MainWindow">
<div class="TitleBar">
<input type="checkbox" class="CheckToggle" id="MainWindowCheck">
<div class="TitleBarContent">
<span> <label class="CheckLabel" for="MainWindowCheck"></label> </span> &nbsp;&nbsp; <span> <b><staticoso:PageTitle></b> </span> &nbsp;&nbsp; <span> <span class="twa twa-pencil twa-✏️"><span>✏️</span></span> </span>
</div>
<div id="PageContent" class="WindowContent ToggleBox">
<staticoso:PageContent>
</div>
</div>
<!--</div>-->
</div>
<div class="Window" id="TitlesWindow">
<div class="TitleBar">
<input type="checkbox" class="CheckToggle" id="TitlesWindowCheck">
<div class="TitleBarContent">
<span> <label class="CheckLabel" for="TitlesWindowCheck"></label> </span> &nbsp;&nbsp; <span> <b>Sezioni</b> </span> &nbsp;&nbsp; <span> <span class="twa twa-bookmark-tabs twa-📑"><span>📑</span></span> </span>
</div>
<div class="WindowContent ToggleBox">
<staticoso:PageSections>
</div>
</div>
</div>
<div id="Desktop">
<div class="Absolute-↙" id="DesktopButtons">
<staticoso:StaticPart:Standard/MiscButtons.Vertical.html>
<br>
<staticoso:StaticPart:Buttons/Feed-88x31.html>
<span> </span>
<staticoso:StaticPart:Buttons/CreativeCommons-88x31.html>
</div>
</div>
<staticoso:DynamicPart:WM/Other>
</div>
<staticoso:DynamicPart:*/Foot>
<link rel="stylesheet" href="[staticoso:CustomPath:Assets]/Fonts/SpaceMono/Style.css"/>
<staticoso:StaticPart:Standard/Foot.Global.html>
</body>
</html>

View File

@ -1,41 +0,0 @@
<!-- % MenuStyle = Line -->
<!DOCTYPE html>
<html lang="<staticoso:PageLang>">
<head>
<staticoso:StaticPart:Standard/Head.Global.html>
<link rel="stylesheet" href="<staticoso:SiteRelativeRoot>Assets/WriteFreely-loli-documentatrice-min.css">
<link rel="stylesheet" href="<staticoso:SiteRelativeRoot>Assets/loli-documentatrice.css">
<style>
body {
background-color: #3B6EA5 !important;
/*! Copyright: <staticoso:CustomPath:Assets>/Media/Backgrounds/Windows-2000-Clouds/COPYRIGHT.md */
background: url('<staticoso:CustomPath:Assets>/Media/Backgrounds/Windows-2000-Clouds/Windows-2000-Clouds-1920x1440-Q96.webp');
background-size: auto fill;
background-position: center;
}
.CCIcons > img, .CCIcon {
display: inline !important;
height: 1em !important;
margin-left: 3px;
vertical-align: text-top; /* text-bottom; */
}
<staticoso:PageStyle>
</style>
<staticoso:PageHead>
<staticoso:DynamicPart:*/Head>
</head>
<body id="post">
<header>
<h1 id="blog-title"><a href="<staticoso:SiteRelativeRoot>index.html" class="h-card p-author"><strong class="twa twa-sparkles"><span></span></strong><strong class="MainIdTextGradientL">sitoctt</strong><strong class="twa twa-sparkles"><span></span></strong></a></h1>
<nav><staticoso:SiteMenu></nav>
</header>
<article id="post-body" class="sans h-entry" style="margin-bottom:24px!important;"><h2 id="title" class="p-name dated"><img src="<staticoso:CustomPath:Assets>/Media/Icons/Text-File-32x32.png"> <span><staticoso:PageTitle></span></h2><div id="PageContent" class="e-content"><staticoso:PageContent>
<br><hr><br>
<p><a href="<staticoso:SiteRelativeRoot>index.html">sitoctt</a> di <a href="https://mastodon.uno/@octo" target="_blank" rel="noopener">octospacc</a> è <a href="<staticoso:SiteRelativeRoot>index.html#-Sorgenti-e-licenze">concesso sotto licenza CC BY-SA 4.0 <span class="CCIcons"><img src="<staticoso:CustomPath:Assets>/Media/Icons/CC/CC.svg"> <img src="<staticoso:CustomPath:Assets>/Media/Icons/CC/BY.svg"> <img src="<staticoso:CustomPath:Assets>/Media/Icons/CC/SA.svg"></span></a></p>
<p><i><b>Nota sul copyright</b>: tutti i diritti sull'immagine di sfondo appartengono a Microsoft Corporation (immagine originale) e a <a href="https://www.deviantart.com/master-bit/art/Windows-2000-Wallpaper-4K-Remastered-732122164" target="_blank" rel="noopener">deviantart.com/master-bit</a> (immagine rimasterizzata).</i></p>
</div><div id="ContentInfo"><staticoso:PageContentInfo></div></article>
<p id="BuildTimeLine">Pagina compilata in data: <span><staticoso:BuildTime></span></p>
<staticoso:DynamicPart:*/Foot>
<staticoso:StaticPart:Standard/Foot.Global.html>
</body>
</html>

View File

@ -1,76 +0,0 @@
<!DOCTYPE html>
<html lang="[staticoso:PageLang]">
<head>
<staticoso:StaticPart:Standard/Head.Global.html>
<link rel="stylesheet" href="[staticoso:SiteRelativeRoot]Assets/sitoctt.css"/>
<style>
<staticoso:PageStyle>
</style>
<staticoso:PageHead>
<staticoso:DynamicPart:*/Head>
</head>
<body id="Body">
<div id="Background"></div>
<div id="Header">
<staticoso:DynamicPart:*/Header>
</div>
<div id="Container">
<input type="checkbox" id="DesktopModeCheck" checked="true">
<label title="Attiva/Disattiva Vista a Colonne" id="DesktopModeLabel" for="DesktopModeCheck"><big><b>[<span class="twa twa-framed-picture twa-🖼️"><span>🖼️</span></span>]</b></big></label>
<div id="TopBox">
<staticoso:StaticPart:Standard/TopBox.html>
</div>
<div id="MiddleBox">
<div id="LeftBoxContainer">
<details>
<summary title="Menu Globale"><big><b>[<span class="twa twa-books twa-📚"><span>📚</span></span>]</b></big></summary>
<div id="LeftBox">
<staticoso:SiteMenu>
<hr>
<div id="LeftBoxBottom" class="Pixelated NoABigger">
<staticoso:StaticPart:Standard/MiscButtons.Vertical.html>
</div>
</div>
</details>
</div>
<div id="RightBoxContainer">
<details>
<summary title="Sezioni della Pagina"><big><b>[<span class="twa twa-bookmark-tabs twa-📑"><span>📑</span></span>]</b></big></summary>
<div id="RightBox">
<staticoso:PageSections>
</div>
</details>
</div>
<div id="MainBox">
<div id="MainBoxTop">
<staticoso:PageContentInfo>
</div>
<div id="PageContent">
<staticoso:PageContent>
</div>
<div id="MainBoxBottom">
<staticoso:Comments/>
<br>
<staticoso:DynamicPart:*/Footer>
<br>
<div id="MainBoxGlobalFooter" class="Pixelated">
<staticoso:StaticPart:Standard/Footer.html>
</div>
</div>
</div>
</div>
<div id="BottomBoxContainer">
<label title="Apri/Chiudi Nastro Inferiore" id="BottomBoxLabel" for="BottomBoxCheck"><big><b>[<span class="twa twa-label twa-🏷️"><span>🏷️</span></span>]</b></big></label>
<input type="checkbox" id="BottomBoxCheck" class="ToggleBoxCheck">
<div id="BottomBox" class="ToggleBox">
<staticoso:StaticPart:Standard/BottomBox.html>
</div>
</div>
<!-- <div id="PrivacyPopup"></div> -->
</div>
<staticoso:DynamicPart:*/Foot>
<script src="[staticoso:SiteRelativeRoot]Assets/sitoctt-template-routine.js"></script>
<link rel="stylesheet" href="[staticoso:CustomPath:Assets]/Fonts/SpaceMono/Style.css"/>
<staticoso:StaticPart:Standard/Foot.Global.html>
</body>
</html>

6
archetypes/default.md Normal file
View File

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

4
config.toml Normal file
View File

@ -0,0 +1,4 @@
baseURL = 'http://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'

View File

@ -1,16 +1,15 @@
// % Title: 😺 Chi sono
// % HTMLTitle: <span class="twa twa-grinning-cat"><span>😺</span></span> Chi sono
// % Index: True
// % Order: 20
// % UpdatedOn = 2023-10-17
// $ SelfhostLineBadge = <small style="Color:#CC0000; Font-Size:X-Small; Display:Inline-Block; Rotate:35deg; Margin-Left:-1.5em; Margin-Right:-1.5em;">SELFHOST!</small>
# <span class="twa twa-grinning-cat"><span>😺</span></span> Chi sono?
+++
Title = "😺 Chi sono"
Index = true
Order = 20
Lastmod = 2023-10-17
xSelfhostLineBadge = '<small style="Color:#CC0000; Font-Size:X-Small; Display:Inline-Block; Rotate:35deg; Margin-Left:-1.5em; Margin-Right:-1.5em;">SELFHOST!</small>'
+++
Giustamente, venendo qui, che tu abbia o meno letto le informazioni generali del sito sulla [Home](./index.html), ti starai chiedendo chi sono io.
Io sono Octt. Si, esatto, Octt da cui sitoctt, il mio sito, prende il nome.
_Octt_ si pronuncia "òctt" - [come sitoctt, ma senza "sit"]([staticoso:Folder:Assets:AbsoluteRoot]/Media/sitoctt-pronuncia.flac){[:MdTgtBlank:]}.
_Octt_ si pronuncia "òctt" - [come sitoctt, ma senza "sit"]({{< assetsRoot >}}/Media/sitoctt-pronuncia.flac){[:MdTgtBlank:]}.
Io sono la webmaster di questo posto. O, forse, [webmistress](https://www.dictionary.com/browse/webmistress){[:MdTgtBlank:]} sarebbe più corretto, peccato che le persone che anche soltanto conoscono dell'esistenza di questa parola si contano sulle dita di una mano mozzata.
Vabbe, io ho capito che nel mondo c'era necessità di questo sito <small>(ma quando mai??)</small>, ho immaginato il sito, ho iniziato a costruire il sito, ho messo in piedi strategie per semplificarmi la creazione del sito <small>(eee, che paroloni, ho scritto un programmino in Pitone)</small>, ed ecco qui il risultato.
@ -56,7 +55,7 @@ Mi puoi trovare sul Fediverso, ai contatti da me preferiti che lascio qui sotto.
- <b style="Color:#FFA020;">Friendica</b>: [@octt@poliverso.org](https://poliverso.org/profile/octt){[:MdTgtBlank:]}
- <b style="Color:#3088D4;">Mastodon</b>: [@octo@mastodon.uno](https://mastodon.uno/@octo){[:MdTgtBlank:]}
- <b style="Color:#2D2D2D;">Matrix</b>: [@octt:matrix.org](https://matrix.to/#/@octt:matrix.org){[:MdTgtBlank:]}
- C'erano anche le mie istanze ActivityPub qui, ma poi sono successi [**gli incidenti**](./Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.html).
- C'erano anche le mie istanze ActivityPub qui, ma poi sono successi [**gli incidenti**](../Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali).
<!--
- ~~<b style="Color:#60C000/*#7FE600*/;">Misskey</b>[:SelfhostLineBadge:]: [@octt@miss.octt.eu.org](https://miss.octt.eu.org/@octt){[:MdTgtBlank:]}~~
@ -79,7 +78,7 @@ Qui sul sito, comunque, non ho ancora avuto le idee abbastanza chiare, né la pa
---
<div class="Center" markdown="1">
![Me su Animal Crossing Wild World.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Animal-Crossing/ACWW-Me-2022-08-01.avif)
![Me su Animal Crossing Wild World.]({{ ASSETS_ROOT }}/Media/Animal-Crossing/ACWW-Me-2022-08-01.avif)
_Io? Cute. Assolutamente indiscutibile._
_Voi? Meh, forse.. penso???_
</div>

View File

@ -36,7 +36,7 @@ Da quanto che non scrivevo un devlog! Qualcosina però, per **sitoctt e staticos
Il primo **cambiamento notevole** che ho apportato al sito in questi giorni è l'applicazione del **nuovo tema** (esclusivamente) alla [pagina home](./index.html). Lascio una foto, cosicché questo post sia comprensibile anche a distanza di tempo senza che serva controllare la Wayback Machine.
La cosa bella? **Avevo iniziato** a progettarlo diversi **mesi fa**, pian piano, giorno per giorno, fino a che ad un certo punto.. _ho dimenticato di continuare!_ 😵 Alla fine, però, ho finito tutte le rifiniture e aggiunto **nuovi dettagli**.
![Schermata ritagliata della home page corrente.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/sitoctt/home-2022-11-06.png)
![Schermata ritagliata della home page corrente.]({{< assetsRoot >}}/Media/Screenshots/sitoctt/home-2022-11-06.png)
Non so cosa stavo pensando mentre costruivo il template, e quindi è venuto un **miscuglio di roba**: **stile** ambiente **desktop**.. ma con lo sfondo _Bubbles_ di **Windows 95** ricolorato di viola, tema **quasi-metro** per taskbar (dove a sinistra si trova il tasto menu) e decorazioni di finestra, con la barra del titolo che ha il titolo al centro, ma un'icona rappresentante la finestra a destra, e un tasto per **collassare/riaprire** le stesse. Quest'ultima roba, assieme al poter portare una finestra mezza nascosta in primo piano cliccandola (su PC basta passarci sopra il cursore del mouse), l'ho fatta ovviamente funzionare **senza alcuno script**!
@ -148,7 +148,7 @@ Questo, infine, è il **CSS applicato alle singole finestre**, che differisce se
Questa **complessa soluzione** funziona perfettamente su Firefox e su Chromium desktop, ma su Chromium per Android questi **posizionamenti pixel-perfect** fanno _imbizzarrire_ il motore CSS, che _non si vergogna affatto_ di mostrare dello spazio vuoto tra i bordi decorativi e lo sfondo degli altri div che compongono la finestra.
![Schermata ritagliata e zoomata della home page renderizzata da Chromium su Android.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/sitoctt/WM-Chromium-Mobile-Glitch.png)
![Schermata ritagliata e zoomata della home page renderizzata da Chromium su Android.]({{< assetsRoot >}}/Media/Screenshots/sitoctt/WM-Chromium-Mobile-Glitch.png)
Vabbè, lo diciamo che fa schifo? Ma sì: **FA SCHIFO!** Se hai una soluzione migliore senza JavaScript, io [sto aspettando la tua pull request](https://gitlab.com/octtspacc/sitoctt){[:MdTgtBlank:]}. _Forza, sto aspettando, aiutami a togliere lo schifo._
@ -228,7 +228,7 @@ Il mio sito, con **30 pagine Markdown** (ho escluso l'unica in Pug, che richiede
Giusto per, ho voluto fare un **test** - che, se avessi voluto fare davvero per bene, avrei dovuto fare in confronto ad altri generatori di siti statici - su un ipotetico sito da **1500 pagine**. Ho quindi copiato la cartella del mio sito, sdoppiato tutte le pagine per farle arrivare alla grossa cifra (in peso dei file avrò avuto un totale di **9 MB**, considerando `(180/30)*1500`), e ho acceso il programmino.
Esecuzioni diverse hanno dato risultati un po' diversi, forse perché avevo diversi _altri programmi_ aperti che _mangiavano CPU_ (primo di tutti, Firefox che riproduceva un video da Invidious; almeno il 20% di CPU era occupato); ma posso dire di aver visto **~160 s** per una build pulita e **~17 s** per la differenziale (di nuovo, senza alcuna effettiva modifica).
![Schermata di Task Manager nel momento della compilazione del sito grosso.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/Task-Manager-staticoso-Test-1500-2022-08-30.avif)
![Schermata di Task Manager nel momento della compilazione del sito grosso.]({{< assetsRoot >}}/Media/Screenshots/Task-Manager-staticoso-Test-1500-2022-08-30.avif)
Quei 17 secondi in particolare, comunque, mostrano senza alcun dubbio che il mio codice **va ancora ottimizzato** - oltre il poco che ho già fatto. Vabbè, in ogni caso mi soddisfa già il punto in cui sono arrivata!
</details>

View File

@ -31,9 +31,9 @@ href='./PicoBlog.html'>disponibile qui</a>. Considera di consultare quella per u
## Cose varie
- Puoi ricevere gli aggiornamenti del PicoBlog tramite Atom. Non ho ancora sistemato staticoso per supportare pagine di questo tipo, ma grazie al servizio _Journal to Atom_ posso avere un feed: [![The Neon Kiosk]([staticoso:CustomPath:Assets]/Media/Buttons/Feed-88x31.png){.NoImgCenter .DispBlock}](https://journal.miso.town/atom?url=https%3A%2F%2Fsitoctt.octt.eu.org%2FPicoBlog.Journal.html){[:MdTgtBlank:]}
- Puoi ricevere gli aggiornamenti del PicoBlog tramite Atom. Non ho ancora sistemato staticoso per supportare pagine di questo tipo, ma grazie al servizio _Journal to Atom_ posso avere un feed: [![The Neon Kiosk]({{< assetsRoot >}}/Media/Buttons/Feed-88x31.png){.NoImgCenter .DispBlock}](https://journal.miso.town/atom?url=https%3A%2F%2Fsitoctt.octt.eu.org%2FPicoBlog.Journal.html){[:MdTgtBlank:]}
- Se qui hai finito di leggere le cose recenti, allora fatti un giro per il **Neon Kiosk**, dove puoi trovare pagine simili a questa ma da altre persone: [![The Neon Kiosk]([staticoso:CustomPath:Assets]/Media/Buttons/Sites/The-Neon-Kiosk-88x31.png){.NoImgCenter .DispBlock}](https://kiosk.nightfall.city){[:MdTgtBlankNofw:]}
- Se qui hai finito di leggere le cose recenti, allora fatti un giro per il **Neon Kiosk**, dove puoi trovare pagine simili a questa ma da altre persone: [![The Neon Kiosk]({{< assetsRoot >}}/Media/Buttons/Sites/The-Neon-Kiosk-88x31.png){.NoImgCenter .DispBlock}](https://kiosk.nightfall.city){[:MdTgtBlankNofw:]}
## Leggi il PicoBlog
@ -129,7 +129,7 @@ Di nuovo inattività qui, eh? Purtroppo un po' non avevo voglia, un po' non sape
#### [2022-09-19] Luigi ambience </summary>
La musichetta del casinò di Luigi, nonostante lui sia bastardo, è molto raffinata e ci sta benissimo come ambience per l'appartamento. Cliccando sulla foto sotto la si può ascoltare da YouTube.
[![Schermata del primo minigioco di Luigi in Super Mario 64 DS.]([staticoso:CustomPath:Assets]/Media/Misc/Luigi-Casino.avif)]([:YouTubeURL:]/QoydhH3xODU){[:MdTgtBlank:]}
[![Schermata del primo minigioco di Luigi in Super Mario 64 DS.]({{< assetsRoot >}}/Media/Misc/Luigi-Casino.avif)](https://youtu.be/QoydhH3xODU){[:MdTgtBlank:]}
</details>
<details markdown="1"><summary>
@ -181,7 +181,7 @@ Per mesi sto, occasionalmente, abusando del PicoBlog come devlog per la roba che
#### [2022-08-22] Risolvere. </summary>
Il sitoctt è dalla sua creazione no-bloat ed efficiente. Eccetto per una (1) risorsa caricata: il [CSS per le emoji](https://octtspacc.gitlab.io/sitoctt-assets/twemoji-amazing.min.css){[:MdTgtBlank:]}. Spreca 400KB di traffico, non va bene, ma ho già qualche idea per risolvere.
![Schermata "Rete" degli strumenti sviluppatore di Firefox, che mostra i file più grossi caricati dalla home.]([staticoso:CustomPath:Assets]/Media/Screenshots/Firefox-Devtools-sitoctt-index.html-2022-08-22-23-56-53.avif)
![Schermata "Rete" degli strumenti sviluppatore di Firefox, che mostra i file più grossi caricati dalla home.]({{< assetsRoot >}}/Media/Screenshots/Firefox-Devtools-sitoctt-index.html-2022-08-22-23-56-53.avif)
</details>
<details markdown="1"><summary>
@ -251,7 +251,7 @@ Mi rendo conto solo ora che su questo sito non ho mai detto che sono la Dea dell
<details markdown="1"><summary>
#### [2022-07-21] Decreto fu fatto (20 luglio 2022) </summary>
Avevo detto l'altro ieri del Decretocto, ieri l'ho finito e rilasciato. Purtroppo il documento ha qualche problemino di branding: la Repubblica dello Spacc e lo statocto non hanno ancora un logo ufficiale, per ora abbiamo quindi usato un fork di quello della Republica Italiana. Secondo i termini del decreto, che invito a leggere accedendo al file PDF [qui]([staticoso:CustomPath:Assets]/Files/Decreto-20-luglio-2022.pdf){[:MdTgtBlank:]}, sto già riempiendo gli [Archivi MicroBlog](./Categories/MicroBlog.html).
Avevo detto l'altro ieri del Decretocto, ieri l'ho finito e rilasciato. Purtroppo il documento ha qualche problemino di branding: la Repubblica dello Spacc e lo statocto non hanno ancora un logo ufficiale, per ora abbiamo quindi usato un fork di quello della Republica Italiana. Secondo i termini del decreto, che invito a leggere accedendo al file PDF [qui]({{< assetsRoot >}}/Files/Decreto-20-luglio-2022.pdf){[:MdTgtBlank:]}, sto già riempiendo gli [Archivi MicroBlog](./Categories/MicroBlog.html).
</details>
<details markdown="1"><summary>

View File

@ -1,7 +1,8 @@
// % Categories: Fritto-Misto
// % Index: Categories
# Carte QR
+++
Title = "Carte QR"
Categories = [ "Fritto-Misto" ]
#Index = Categories
+++
Ecco un'idea che mi saltò in mente verso inizio 2022, non so bene perché. O meglio, era un periodino in cui mi stavo interessando al concetto di usare la carta come mezzo di archiviazione di piccoli dati informatici, ma non so perché iniziai a provare questo gusto.

View File

@ -10,7 +10,7 @@ Questa è letteralmente una raccolta di cose a caso, trovate in giro per Interne
<details markdown="1">
<summary>The Misery</summary>
<p><video controls><source src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Random/RickMisery.webm" type="video/webm"></video></p>
<p><video controls><source src="{{< assetsRoot >}}/Media/Random/RickMisery.webm" type="video/webm"></video></p>
_(Origine e Licenza del video: Sconosciute)_
@ -21,7 +21,7 @@ _(Origine e Licenza del video: Sconosciute)_
APKPure, uno store di app Android, integra per qualche motivo funzioni social. E questo è un post che trovai tanti anni fa a caso. Boh, mi fa ridere.
![]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Random/photo_31@18-09-2019_10-28-17.avif)
![]({{< assetsRoot >}}/Media/Random/photo_31@18-09-2019_10-28-17.avif)
_(Licenza della foto: Sconosciuta)_

View File

@ -10,7 +10,7 @@
/*
*/#Background {
Background-Color: #000000;
Background-Image: url('[staticoso:CustomPath:Assets]/Media/2048/yandex.com-games-app-176908.jpg');
Background-Image: url('{{< assetsRoot >}}/Media/2048/yandex.com-games-app-176908.jpg');
Filter: Blur(5px);
}
@ -35,7 +35,7 @@ h1, h2, h3, h4, h5, h6 { color: #e090e0; }
L'implementazione ufficiale del gioco è open source, cosa che ha portato alla creazione di tantissimi cloni e versioni modificate che implementano le meccaniche più svariate.
...**WIP**... Se vuoi scoprire altre cosine sul gioco, leggi su [Wikipedia]([:WikipediaIt:]/2048_(videogioco)){[:MdTgtBlank:]}.
...**WIP**... Se vuoi scoprire altre cosine sul gioco, leggi su [Wikipedia](https://it.wikipedia.org/2048_(videogioco)){[:MdTgtBlank:]}.
## Implementazioni

View File

@ -9,7 +9,7 @@ Credo si possa definire Minecraft come **il** gioco moderno (bene o male) che da
All'inizio è fare "case" che sono buchi 4x4 sotto terra, ma dopo diventa creare installazioni titaniche, puramente estetiche o anche totalmente funzionali - non dimentichiamo che Minecraft, con la sua pietrarossa, è Turing-complete. E alla fine? Beh, non si arriverà mai alla fine...
...WIP. Per altre informazioni non totalmente soggettive, per ora c'è [Wikipedia]([:WikipediaIt:]/Minecraft){[:MdTgtBlank:]}.
...WIP. Per altre informazioni non totalmente soggettive, per ora c'è [Wikipedia](https://it.wikipedia.org/Minecraft){[:MdTgtBlank:]}.
## La mia storia

View File

@ -10,7 +10,7 @@
/*
*/#Background {
Background-Color: #C0C0C0;
Background-Image: /*linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),*/ url('[staticoso:CustomPath:Assets]/Media/Minesweeper/XP-Window-www.techradar.com.webp');
Background-Image: /*linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),*/ url('{{< assetsRoot >}}/Media/Minesweeper/XP-Window-www.techradar.com.webp');
Filter: Blur(5px);
}
@ -43,7 +43,7 @@ Tutto questo è assurdo se si considera di che roba parliamo:
* Un gioco appartenente ad un'epoca lontana in cui il concetto di "gamification" era alieno a tutti, e i videogiochi free-to-play erano veramente gratis: **non** costruiti appositamente per creare dipendenza o pressioni nei giocatori, in quanto gli acquisti-in-app non esistevano.
Personalmente, chiamo il campo minato anche "**minaspazzante**", per scherzare su una traduzione pseudo-letterale scorretta della parola "minesweeper" (letteralmente ma correttamente "[spazzamine]([:WikipediaIt:]/Dragamine){[:MdTgtBlank:]}") in italiano. In certi momenti, in un attimo diventa "**minasp<span style="border: 2px dotted yellow;">i</span>azzante**", quando ti mette davanti a bivi strani o a schemi di piazzamento delle bombe intricati.
Personalmente, chiamo il campo minato anche "**minaspazzante**", per scherzare su una traduzione pseudo-letterale scorretta della parola "minesweeper" (letteralmente ma correttamente "[spazzamine](https://it.wikipedia.org/Dragamine){[:MdTgtBlank:]}") in italiano. In certi momenti, in un attimo diventa "**minasp<span style="border: 2px dotted yellow;">i</span>azzante**", quando ti mette davanti a bivi strani o a schemi di piazzamento delle bombe intricati.
Ma, se queste sono tutte cose che può notare anche un osservatore terzo, questo passatempo **apparentemente semplice e da ufficio** nasconde ben di più. Campo minato riesce in qualche modo ad offrire emozioni che, sempre per via delle circostanze oggettive, è difficile comunicare al mondo.
@ -53,7 +53,7 @@ Accumulando quella singola o doppia partita giornaliera nelle settimane, nei mes
Parafrasando ciò che scrive [un autore di PCGamesN](https://www.pcgamesn.com/minesweeper/get-free): **Campo minato è una delle forme di escapismo digitale più pure** di cui si possa fare esperienza, perché è la dimostrazione pratica di come un gioco, per essere profondamente immersivo, non ha un vitale bisogno di un _open world_ dettagliato, narrativa elaborata, o personaggi a cui affezionarsi.
<p markdown="1" style="background: #fde; padding: 0.5em;">...Scusa, ci sono lavori in corso su questa pagina, sto piazzando le mine in giro per trollare le prossime persone che verranno qui a leggere e inciamperanno su qualche parola... se nel frattempo vuoi imparare a giocare leggiti [Wikipedia]([:WikipediaIt:]/Campo_minato_(videogioco)){[:MdTgtBlank:]}, vai va...</p>
<p markdown="1" style="background: #fde; padding: 0.5em;">...Scusa, ci sono lavori in corso su questa pagina, sto piazzando le mine in giro per trollare le prossime persone che verranno qui a leggere e inciamperanno su qualche parola... se nel frattempo vuoi imparare a giocare leggiti [Wikipedia](https://it.wikipedia.org/Campo_minato_(videogioco)){[:MdTgtBlank:]}, vai va...</p>
## Curiosità
@ -79,7 +79,7 @@ Parafrasando ciò che scrive [un autore di PCGamesN](https://www.pcgamesn.com/mi
* Per giocare da **browser Web**, beh, su questa pagina sto mettendo su qualcosa che per i miei personali gusti è il meglio disponibile. Funziona bene sia su desktop che mobile (anche se lì il tempo per cui bisogna tenere un quadrante premuto per piantare una bandiera è lunghetto), ed ha una grafica minimale.
Sto lavorando per rendere il gioco personalizzabile, per il momento si può solo giocare con ciò che ho implementato come minigioco per sbloccare la lettura della sezione [Curiosità](#-Curiosit) (se non vedi nulla, attiva JavaScript!).
**Nota**: la mia implementazione è basata su [vue-minesweeper](https://github.com/antfu/vue-minesweeper){[:MdTgtBlank:]}, con alcune personali modifiche per l'embedding. Tutto il mio codice modificato è [nella repository del sitoctt]([:sitocttRepoBase:]/-/tree/main/Assets/vuesweeper-core){[:MdTgtBlank:]} (licenza MIT).
**Nota**: la mia implementazione è basata su [vue-minesweeper](https://github.com/antfu/vue-minesweeper){[:MdTgtBlank:]}, con alcune personali modifiche per l'embedding. Tutto il mio codice modificato è [nella repository del sitoctt](https://gitlab.com/octtspacc/sitoctt/-/tree/main/Assets/vuesweeper-core){[:MdTgtBlank:]} (licenza MIT).
</div>
@ -98,7 +98,7 @@ Sto lavorando per rendere il gioco personalizzabile, per il momento si può solo
* [Authoritative Minesweeper](https://minesweepergame.com){[:MdTgtBlank:]}
* [Minesweeper is one of the purest gaming experiences]([:RedditL:]/r/patientgamers/comments/11i6zqy/minesweeper_is_one_of_the_purest_gaming/){[:MdTgtBlank:]}
* [Minesweeper is one of the purest gaming experiences](https://old.reddit.com/r/patientgamers/comments/11i6zqy/minesweeper_is_one_of_the_purest_gaming/){[:MdTgtBlank:]}
## [:HNotesRefsHtml:]

View File

@ -6,7 +6,7 @@
# <span class="twa twa-🏃‍♀️">🏃‍♀️</span> Mirror's Edge
<video frameBorder="0" src="[:YouTube360:]2N1TJP1cxmo" style="Height:Calc(80vw / 16 * 9);"></video>
<cite>Da <a href="[:YouTubeURL:]/2N1TJP1cxmo" [:HTMLTgtBlank:]>YouTube/2N1TJP1cxmo</a>.</cite>
<cite>Da <a href="https://youtu.be/2N1TJP1cxmo" [:HTMLTgtBlank:]>YouTube/2N1TJP1cxmo</a>.</cite>
Il modo migliore per definire **Mirror's Edge** è dire che è un gioco in costante movimento. Stando letteralmente sul bordo dello specchio, i bordi degli enormi vetri di cui sono formati i palazzoni de La Città, si corre e si salta senza alcun freno.
@ -16,4 +16,4 @@ Per un titolo che ci si gusta con attrezzatura standard, non in realtà virtuale
Il gioco non può deludere nemmeno chi, dopo una soggettiva analisi, potrebbe ritenere che una formula del genere possa diventare rapidamente monotona: _Mirror's Edge_ non è solo platforming e parkour, ma presenta combattimenti corpo a corpo contro entità umane (praticamente la polizia che vuole ostacolare i runner). Nei momenti più adatti a smezzare il ritmo del gameplay, ci si inbatte in degli appostamenti che bisogna affrontare nell'immediato, con mosse secche e continue: meno si perde tempo, e prima si continua sulla propria strada, meglio è.
È un vero peccato che, con buonissima probabilità, non vedremo mai un terzo gioco venir creato per la saga, per motivi relativi agli andamenti del mercato videoludico. Oddio, in realtà un terzo gioco già esiste, _[Mirror's Edge Mobile]([:WikipediaIt:]/Mirror%27s_Edge_(2010_video_game)){[:MdTgtBlank:]}_: fu rilasciato nel 2011 (ben prima di Catalyst) per iOS e Windows Phone, e se forse potrei provarlo con l'emulatore Windows Phone di Microsoft per Windows desktop, vorrei poterci giocare sullo smartphone Android, ma per il momento questo non è ancora possibile.
È un vero peccato che, con buonissima probabilità, non vedremo mai un terzo gioco venir creato per la saga, per motivi relativi agli andamenti del mercato videoludico. Oddio, in realtà un terzo gioco già esiste, _[Mirror's Edge Mobile](https://it.wikipedia.org/Mirror%27s_Edge_(2010_video_game)){[:MdTgtBlank:]}_: fu rilasciato nel 2011 (ben prima di Catalyst) per iOS e Windows Phone, e se forse potrei provarlo con l'emulatore Windows Phone di Microsoft per Windows desktop, vorrei poterci giocare sullo smartphone Android, ma per il momento questo non è ancora possibile.

View File

@ -10,7 +10,7 @@
/*
*/#Background {
Background-Color: #CCF;
Background-Image: url('[staticoso:CustomPath:Assets]/Media/Nonogram/stock.adobe.com-323111281.jpg');
Background-Image: url('{{< assetsRoot >}}/Media/Nonogram/stock.adobe.com-323111281.jpg');
Filter: Blur(5px);
}
@ -26,7 +26,7 @@
I **Nonogram** (conosciuti anche come **Picross**, **Crucipixel**, e un'altra ventina di nomi) sono dei puzzle che consistono nel riempire una griglia di quadratini al fine di svelare un'immagine, utilizzando i numeri ai lati del foglio per trovare intersezioni tra righe e colonne.
WIP... Se vuoi scoprire altre cosine o imparare a giocare, leggi su [Wikipedia]([:WikipediaIt:]/Nonogram){[:MdTgtBlank:]}.
WIP... Se vuoi scoprire altre cosine o imparare a giocare, leggi su [Wikipedia](https://it.wikipedia.org/Nonogram){[:MdTgtBlank:]}.
## [:HNotesRefsHtml:]

View File

@ -47,7 +47,7 @@ Una serie di giochi in prima persona che, con un ritmo vivace ma non opprimente,
Ho giocato pochissimo la prima entrata della saga, perché fu la seconda uscita, Mirror's Edge Catalyst, ad introdurmi alla serie circa 2 anni fa. Catalyst lascia un po' da parte i colori molto saturi che erano parte dell'identità iniziale, per offrire grafica più realistica e immersiva. Anche la fisica e diversi dettagli minuti subiscono miglioramenti importanti rispetto al Mirror's Edge originale.
In ogni caso, parliamo di un gioco capace di dare un gran senso di libertà e di speranza. È peculiare come i suoi piccoli dettagli riescano a farti sentire di essere effettivamente nel gioco - per un titolo non VR, è una grande vittoria. Il gameplay in sé è chiave per questa esperienza, ma anche la lore è di tutto rispetto.
<video frameBorder="0" src="[:YouTube360:]2N1TJP1cxmo" style="Height:Calc(80vw / 16 * 9);"></video>
<cite>Da <a href="[:YouTubeURL:]/2N1TJP1cxmo" [:HTMLTgtBlank:]>YouTube/2N1TJP1cxmo</a>.</cite>
<cite>Da <a href="https://youtu.be/2N1TJP1cxmo" [:HTMLTgtBlank:]>YouTube/2N1TJP1cxmo</a>.</cite>
-->
### <a href="./Nonogram.html">#⃣️ Nonogram ↗️</a>
@ -61,7 +61,7 @@ Giocare in Mischie Mollusche (questo il nome delle battaglie online 4-contro-4)
#### Tetris Effect
Tetris effect aggiunge a Tetris atmosfere ambient con tanti temi diversi. Effetti visivi e sonori lavorano gli uni per potenziare gli altri, e permettere la totale immersione, anche in un gioco che resta semplicemente fatto di cubi che cadono. Centinaia di migliaia di particelle ovunque, forme, colori, musica attraente, questa è la sua formula. Ha dei difetti, come l'essere particolarmente pesante per un Tetris e l'avere comandi non terribilmente responsivi, ma non per questo va buttato via. Resta da godere.
<br/>[:YouTubeEmbedOpen169:]PFVL6t8IHE8[:YouTubeEmbedClose:]
<cite>Da <a href="[:YouTubeURL:]/PFVL6t8IHE8" [:HTMLTgtBlank:]>YouTube/PFVL6t8IHE8</a>.</cite>
<cite>Da <a href="https://youtu.be/PFVL6t8IHE8" [:HTMLTgtBlank:]>YouTube/PFVL6t8IHE8</a>.</cite>
## Giochi multiforma
@ -100,13 +100,13 @@ Celeste è un bel giochino platformer, con meccaniche originali e uno stile graf
Ho provato a giocarci tante volte, ma ad un certo punto della storia la difficoltà diventa per me troppo alta. Dovrei forse provare a finirlo in modalità guidata, visto che l'opzione c'è. Fino a quando non l'ho fatto, però, non vado a cercare video del finale e spoilerarmi roba, visto che dicono che il valore di Celeste sta proprio nel suo significato.
• Ottieni: <https://go.octt.eu.org/$ce7941cddd5e>{[:MdTgtBlankNofw:]}
<br/>[:YouTubeEmbedOpen169:]_bM0uEAis14[:YouTubeEmbedClose:]
<cite>Da <a href="[:YouTubeURL:]/_bM0uEAis14" [:HTMLTgtBlank:]>YouTube/_bM0uEAis14</a>.</cite>
<cite>Da <a href="https://youtu.be/_bM0uEAis14" [:HTMLTgtBlank:]>YouTube/_bM0uEAis14</a>.</cite>
### <span class="twa twa-✈️">✈️</span> Pilotwings
#### Pilotwings Resort
Pilotwings Resort continua la serie di Pilotwings, gioco di simulazione di volo arcade, in modo diverso. Finisce su una console portatile, il 3DS, tra l'altro una console che riesce a prenderti direttamente, con il suo display in 3D stereoscopico. Il gioco è ambientato su Wuhu Island, lo stesso posto pieno di storia, luoghi, e misteri di Wii Sports Resort. La modalità missioni riesce ad essere in certi casi una vera sfida se, come me, si ha la mania del platinaggio.. ma la modalità di volo libero è indiscutibilmente rilassante e, forse, direi anche più immersiva. In essa, comunque, non è che non si faccia nulla: si devono trovare, pochi alla volta, tutti e 120 gli anelli informazione, passandoci attraverso per sbloccarli.
<br/>[:YouTubeEmbedOpen169:]QJCb8qnHauo[:YouTubeEmbedClose:]
<cite>Da <a href="[:YouTubeURL:]/QJCb8qnHauo" [:HTMLTgtBlank:]>YouTube/QJCb8qnHauo</a>.</cite>
<cite>Da <a href="https://youtu.be/QJCb8qnHauo" [:HTMLTgtBlank:]>YouTube/QJCb8qnHauo</a>.</cite>
## Altri ancora

View File

@ -13,13 +13,13 @@ Le bandiere di nazione (emoji, forse non visibili su browser antichi) accanto ai
<div markdown="1" id="SitesList" class="NoImgCenter NoLinkLink ImgShiftedH Pixelated">
<marquee markdown="1">
[![✨sitoctt✨]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/sitoctt-1.png)](#-Il-mio)&nbsp;
[![serimemo]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/serimemo-88x31.png)](#-s-a-1)&nbsp;
[![Dante Scanline]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/DanteScanline-88x31.png)](#-s-a-2)&nbsp;
[![2Bit]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/2Bit-88x31.png)](#-s-a-3)&nbsp;
[![neonaut]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/neonaut-88x31.png)](#-s-a-4)&nbsp;
[![Yesterweb]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/Yesterweb-88x31.png)](#-s-a-5)&nbsp;
[![OpenBooks]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/OpenBooks-88x31.gif)](#-s-a-6)&nbsp;
[![✨sitoctt✨]({{< assetsRoot >}}/Media/Buttons/Sites/sitoctt-1.png)](#-Il-mio)&nbsp;
[![serimemo]({{< assetsRoot >}}/Media/Buttons/Sites/serimemo-88x31.png)](#-s-a-1)&nbsp;
[![Dante Scanline]({{< assetsRoot >}}/Media/Buttons/Sites/DanteScanline-88x31.png)](#-s-a-2)&nbsp;
[![2Bit]({{< assetsRoot >}}/Media/Buttons/Sites/2Bit-88x31.png)](#-s-a-3)&nbsp;
[![neonaut]({{< assetsRoot >}}/Media/Buttons/Sites/neonaut-88x31.png)](#-s-a-4)&nbsp;
[![Yesterweb]({{< assetsRoot >}}/Media/Buttons/Sites/Yesterweb-88x31.png)](#-s-a-5)&nbsp;
[![OpenBooks]({{< assetsRoot >}}/Media/Buttons/Sites/OpenBooks-88x31.gif)](#-s-a-6)&nbsp;
</marquee>
_Questi sopra sono i siti della lista che hanno un bottone 88x31. Vuoi anche tu il privilegio di stare anche in cima? Allora muoviti a disegnare st'immaginetta, su!_
@ -39,7 +39,7 @@ Link testuale:
</code></pre>
Link con immagine _(Nota: sarebbe meglio se scarichi l'immagine e la ricarichi sul tuo server, cambiando l'URL nel codice di conseguenza, anziché usare il mio URL)_:
![✨sitoctt✨]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/sitoctt-1.png)
![✨sitoctt✨]({{< assetsRoot >}}/Media/Buttons/Sites/sitoctt-1.png)
_L'immagine è in formato PNG e già compressa il più possibile.[^Comandi di Compressione PNG Lossless]_
<pre class="CodeScroll"><code>
&lt;a
@ -67,7 +67,7 @@ Come si può leggere dal nome del sito e dal dominio, è il sito di Arci (o anch
• Clearweb: [arci.me](https://arci.me){[:MdTgtBlankNofw:]} <!-- [auroraviola.eu.org](https://auroraviola.eu.org){[:MdTgtBlankNofw:]} -->
- <b id="-s-a-1">🇬🇧 🇮🇹 astral town</b>
![serimemo]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/serimemo-88x31.png)
![serimemo]({{< assetsRoot >}}/Media/Buttons/Sites/serimemo-88x31.png)
Sito colorato e accogliente, boh non c'è altro da dire.
• Clearweb: [astral.town](https://astral.town){[:MdTgtBlankNofw:]}
@ -88,24 +88,24 @@ Solo una pagina principale e poca altra roba, ma solo l'idea del sito è un'espe
• Clearweb: [tassoman.com](https://tassoman.com){.tassoman [:MdTgtBlankNofw:]}
- <b id="-s-a-2">🇬🇧 Dante Scanline</b>
![Dante Scanline]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/DanteScanline-88x31.png)
![Dante Scanline]({{< assetsRoot >}}/Media/Buttons/Sites/DanteScanline-88x31.png)
Sito di un artista che pare faccia roba nello stile dei giochi PC anni '90-2000, tipo Quake ma non solo. Le immagini di ambienti 3D pixellosi sono molto belle.
• Clearweb: [dantescanline.com](https://dantescanline.com){[:MdTgtBlankNofw:]}
- <b id="-s-a-3">🇬🇧 2Bit</b>
![2Bit]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/2Bit-88x31.png)
![2Bit]({{< assetsRoot >}}/Media/Buttons/Sites/2Bit-88x31.png)
Credo sia l'unico sito web non-testuale che su Kindle si naviga (quasi) esattamente come su PC.. Come lo stesso nome dice, tutto su questo spazio web è un elogio all'era del 2 bit, ed arriva a ciò con i contenuti, ma inizia con la forma: tutta la grafica (e ce n'è molta) è rigorosamente in 4 colori!
• Clearweb: [2bit.neocities.org](https://2bit.neocities.org){[:MdTgtBlankNofw:]}
- <b id="-s-a-4">🇬🇧 neonaut</b>
![neonaut]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/neonaut-88x31.png)
![neonaut]({{< assetsRoot >}}/Media/Buttons/Sites/neonaut-88x31.png)
Sito personale con grafica flat colorata, che però sembra anche essere un metasito riguardo Neocities e una parte della sua cultura, contenente alcune informazioni su quell'universo.
• Clearweb: [neonaut.neocities.org](https://neonaut.neocities.org){[:MdTgtBlankNofw:]}
## Miscellanea
- <b id="-s-a-5">🇬🇧 The Yesterweb</b>
![Yesterweb]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/Yesterweb-88x31.png)
![Yesterweb]({{< assetsRoot >}}/Media/Buttons/Sites/Yesterweb-88x31.png)
Sito collettivo che rimanda, concettualmente e visivamente, al Web dei giorni passati e ai suoi lati migliori, verso cui promuove di tornare.
• Clearweb: [yesterweb.org](https://yesterweb.org){[:MdTgtBlankNofw:]}
@ -114,7 +114,7 @@ Non ho ben capito cosa sia questo sito, a cosa serve, chi lo gestisce, e tutto i
• Clearweb: [xxiivv.com](https://xxiivv.com){[:MdTgtBlankNofw:]}
- <b id="-s-a-6">🇬🇧 OpenBooks</b>
![OpenBooks]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Buttons/Sites/OpenBooks-88x31.gif)
![OpenBooks]({{< assetsRoot >}}/Media/Buttons/Sites/OpenBooks-88x31.gif)
Movimento, e libreria di siti e risorse, che promuove una rinascita in chiave moderna del Web personale. Il sito ha persino una bella grafica.
• Clearweb: [openbooks.neocities.org](https://openbooks.neocities.org){[:MdTgtBlankNofw:]}

View File

@ -34,7 +34,7 @@ _In costruzione..._
#### W5 Ottobre 2022 </summary>
-> #Linux #Desktop #XFCE
![]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Ricing/Desktop/Screenshot_2022-10-30_00-14-14.png)
![]({{< assetsRoot >}}/Media/Ricing/Desktop/Screenshot_2022-10-30_00-14-14.png)
- [:L/VoidLinuxOS:]
- **Desktop**: `xfce4`
@ -50,7 +50,7 @@ _In costruzione..._
#### W2 Ottobre 2022 </summary>
-> #Linux #Desktop #XFCE
![]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Ricing/Desktop/Screenshot_2022-10-10_20-21-47.png)
![]({{< assetsRoot >}}/Media/Ricing/Desktop/Screenshot_2022-10-10_20-21-47.png)
- **OS**: [Void Linux](https://voidlinux.org){[:MdTgtBlank:]}
- **Desktop**: `xfce4`

7
content/it/_index.md Normal file
View File

@ -0,0 +1,7 @@
+++
#title: "il sitoctt"
#description: "The last theme you'll ever need. Maybe."
#cascade:
# featured_image: '/images/gohugo-default-sample-hero-image.jpg'
+++
Welcome to my blog with some of my work in progress. I've been working on this book idea. You can read some of the chapters below.

213
content/it/index2.md Normal file
View File

@ -0,0 +1,213 @@
+++
Title = '🏠 ~Home~'
Lastmod = 2024-01-27
#Template = WM.html
#Style = @import "[staticoso:Site:RelativeRoot]Assets/Pages/index.css";
#Index = True
#Order = 10
#Image = {{< assetsRoot >}}/RichPreview/index.png
#UpdatedOn = 2024-01-27
+++
## Ciao!! (UwU)
Sei entrat<!--
--><span class="BlinkA">a</span><!--
--><span class="NoDisplay">/</span><!--
--><span class="BlinkO">o</span> nel...
<!-- Credits: https://codepen.io/jh3y/pen/WNrXqYz -->
<div style="Position:Relative;"><br/>
<h1 class="NoTitle WavyText" style="--x: 6; --y: -6;"><span style="--index: 0; --alpha-l: 0.125; --alpha-u: 0.25;"></span><span style="--index: 1; --alpha-l: 0.125; --alpha-u: 0.25;">s</span><span style="--index: 2; --alpha-l: 0.125; --alpha-u: 0.25;">i</span><span style="--index: 3; --alpha-l: 0.125; --alpha-u: 0.25;">t</span><span style="--index: 4; --alpha-l: 0.125; --alpha-u: 0.25;">o</span><span style="--index: 5; --alpha-l: 0.125; --alpha-u: 0.25;">c</span><span style="--index: 6; --alpha-l: 0.125; --alpha-u: 0.25;">t</span><span style="--index: 7; --alpha-l: 0.125; --alpha-u: 0.25;">t</span><span style="--index: 8; --alpha-l: 0.125; --alpha-u: 0.25;"></span>
</h1>
<h1 class="NoTitle WavyText" style="--x: 3; --y: -3;"><span style="--index: 0; --alpha-l: 0.25; --alpha-u: 0.5;"></span><span style="--index: 1; --alpha-l: 0.25; --alpha-u: 0.5;">s</span><span style="--index: 2; --alpha-l: 0.25; --alpha-u: 0.5;">i</span><span style="--index: 3; --alpha-l: 0.25; --alpha-u: 0.5;">t</span><span style="--index: 4; --alpha-l: 0.25; --alpha-u: 0.5;">o</span><span style="--index: 5; --alpha-l: 0.25; --alpha-u: 0.5;">c</span><span style="--index: 6; --alpha-l: 0.25; --alpha-u: 0.5;">t</span><span style="--index: 7; --alpha-l: 0.25; --alpha-u: 0.5;">t</span><span style="--index: 8; --alpha-l: 0.25; --alpha-u: 0.5;"></span>
</h1>
<h1 class="NoTitle WavyText"><span style="--index: 0; --alpha-l: 0.5; --alpha-u: 1;"></span><span style="--index: 1; --alpha-l: 0.5; --alpha-u: 1;">s</span><span style="--index: 2; --alpha-l: 0.5; --alpha-u: 1;">i</span><span style="--index: 3; --alpha-l: 0.5; --alpha-u: 1;">t</span><span style="--index: 4; --alpha-l: 0.5; --alpha-u: 1;">o</span><span style="--index: 5; --alpha-l: 0.5; --alpha-u: 1;">c</span><span style="--index: 6; --alpha-l: 0.5; --alpha-u: 1;">t</span><span style="--index: 7; --alpha-l: 0.5; --alpha-u: 1;">t</span><span style="--index: 8; --alpha-l: 0.5; --alpha-u: 1;"></span>
</h1><br/>
</div>
<!-- Esatto, il **✨**<strong class="MainIdTextGradientL">sitoctt</strong>**✨**.
Letteralmente il mio sito, perchè io sono octt e quindi
<i style="Color:#8040d0;">sito</i> + <i style="Color:#d000d0;">octt</i>
= **✨**<strong class="MainIdTextGradientR">sitoctt</strong>**✨**
(<a href="{{< assetsRoot >}}/Media/sitoctt-pronuncia.flac" target="_blank" rel="noopener">pronuncia: "sitòctt"</a>). -->
<p>Esatto, il <strong class="twa twa-sparkles twa-✨"></strong><strong class="MainIdTextGradientL">sitoctt</strong><strong class="twa twa-sparkles twa-✨"></strong>. Letteralmente il mio sito, perchè io sono octt e quindi <i style="Color:#8040d0;">sito</i> + <i style="Color:#d000d0;">octt</i> = <strong class="twa twa-sparkles twa-✨"></strong><strong class="MainIdTextGradientR">sitoctt</strong><strong class="twa twa-sparkles twa-✨"></strong> (<i><a href="https://sitoctt-assets.octt.eu.org/Media/sitoctt-pronuncia.flac" rel="noopener" target="_blank">pronuncia: "sitòctt"</a></i>).<br/>Se preferisci, puoi chiamarlo <i class="MainIdTextGradientL">sitocto</i>. O anche <i class="MainIdTextGradientR">postoctt</i>! È pur sempre un posto questo - il mio posto - anche se virtuale!</p>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Collegamenti-rapidi"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Collegamenti-rapidi"> Collegamenti rapidi</span></h2>
<p>Sul sito, ormai, un po' di roba c'è. Dovresti navigare il menu principale per poter accedere a tutto (leggi il seguito) ma, se proprio non sai da dove partire, allora perché non dare un'occhiata ai miei post più recenti, dalla finestrella in alto a sinistra? Altrimenti, magari vai a qualcosa tra..</p><span>
<h3 class="Inline NoWrap"><a href="./Categories/Blog.html"><span class="twa twa-notebook twa-📓️"><span>📓️</span></span> Blog</a></h3>, o
<h3 class="Inline NoWrap"><a href="https://octospacc.altervista.org/microblog/"><span class="twa twa-ledger twa-📒"><span>📒</span></span> MicroBlog</a></h3> <small>(nuovo)</small>.
</span>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Stato-del-sito-e-come-navigare"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Stato-del-sito-e-come-navigare"> Stato del sito e come navigare</span></h2>
<p>Nonostante abbia già un po' più di sostanza, tutto questo ambaradan è ancora pesantemente in costruzione. E lo sarà per sempre, perché avrò sempre roba nuova da condividere.
<del>E, quando sarò morta, sarà comunque non finito perché nella mia vita non avrò scritto tutto lo scibile universale teoricamente possibile sul sitoctt.</del><br/>Gli aggiornamenti al sito sono di diverso tipo: la pubblicazione di nuovi articoli di blog succede, boh, 3 volte al mese, è una buona idea usare i <a href="#-Feed-e-notifiche">feed</a> che metto a disposizione; le modifiche per pagine normali sono continue e avvengono a caso, quindi dovresti controllare magari ogni settimana quelle che ti interessano, se ti aspetti novità.
</p>
<p><b>Da tenere a mente</b> (da Web): quando ci sono per lo schermo i seguenti tastini, è perché possono nascondere menu collassabili.
Possono stare in posizioni diverse su pagine diverse, perché mi piace sperimentare con diversi temi; però cerco di mantenere il loro significato coerente ovunque.<br/>Un'icona con l'emoji di una pila di libri (<big class="twa twa-books twa-📚">📚</big>) segnala il menu principale del sito, fondamentale per poterlo navigare saltando tra pagine completamente diverse e non collegate.
Invece, l'icona con l'emoji di un foglio con un segnalibro (<big class="twa twa-bookmark-tabs twa-📑">📑</big>) indica l'elenco delle sezioni della pagina corrente - non è essenziale, ma può tornare utile per saltare tra parti diverse di un lungo testo.
</p>
<details>
<summary>
<h4>Note sulla compatibilità dei browser (Espandi)</h4>
</summary>
<div>
<p>Per la migliore esperienza <span style="Color:#d00000;">DEVI</span> usare un browser con supporto almeno a CSS3 e alle immagini in formato AVIF (quest'ultima cosina, almeno finché non riesco a far funzionare il polyfill).
Se usi un browser antico ti garantisco che troverai tanta, tanta roba rotta (ma comunque il sito dovrebbe essere navigabile lo stesso).<br/>Essendo che questo sito, per l'appunto, contiene immagini AVIF, assicurati che il tuo browser sia aggiornato e decente. Safari di Apple, per esempio, mi dicono che non supporta AVIF, quindi <span style="Color:#d00000;">buttalo via</span>.<br/>Preferibilmente <i>non</i> usare Chromium, che ha degli strani memory leak su pagine con animazioni complesse, e ha qualche <i>glitch particolare</i>. <b>Firefox</b> non ha questo problema, ma usa molto di più la CPU.<br/>Direi che la scelta non è tra il migliore ma tra il meno peggio..<br/><i>Nota: se scegli Firefox, non usare la versione ESR! È per sua natura vecchia, fossilizzata, e manca sempre di funzionalità moderne - per esempio, al giorno d'oggi ancora non supporta AVIF.</i>
</p>
</div>
</details>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Script-client-side"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Script-client-side"> Script client-side</span></h3>
<p>Il sito Web non usa alcuno script client-side per le funzioni di base, perché non voglio costringere chi (per validi motivi di sicurezza e non solo) non vuole attivare JavaScript ad avere un'esperienza degradata. A proposito della questione spinosa, ho scritto anche un articolo: <a href="Posts/2022-06-14-0000-I-Documenti-Non-Devono-Diventare-Applicazioni.html"><span class="twa twa-page-facing-up"><span>📄</span></span> I documenti non devono diventare applicazioni</a>.<br/>Ad ogni modo, però.. per fornire alcune funzionalità extra, devo per forza avere del JS, c'è poco da fare. Qui sotto, la lista di cosa uso. <i>Tutti i file sono caricati dai server del mio sito, quindi è difficile che enti malevoli possano nasconderci malware dentro</i>.</p>
<details>
<summary>
<h4>Lista di script client-side usati nel sito Web (Espandi)</h4>
</summary>
<div>
<ul>
<li>Script interni, scritti da me: <del>Auto-espansione dei menu sulle pagine con tema sitoctt in modalità desktop</del> (sto cercando di sistemarlo..), Visualizzazione a schermo intero degli sfondi delle pagine.</li>
<li>
<del>Polyfill per supportare le immagini AVIF su vecchi browser: <a href="https://github.com/Kagami/avif.js" rel="noopener" target="_blank">avif.js di Kagami</a></del> (<i>Non ancora attivato...
<del>lo sarà a breve</del> <small>quando cavolo lo farò? Sono mesi che rimando, il problema è che non è una soluzione plug-and-play, devo prima capirla e poi creare uno script di wrapping 😭</small></i>)
</li>
</ul>
</div>
</details>
<p>Di seguito, metto la mia classifica dei possibili modi per visualizzare questo sito, dal migliore al peggiore. Per standardizzazione, tutti presuppongono supporto completo ai colori (nel possibile).</p>
<details>
<summary>
<h4>Mie inutili digressioni su modi assolutamente assurdi di consultare il sitoctt (Espandi)</h4>
</summary>
<div>
<dl>
<dt><b>• Browser Web, con supporto completo a CSS3</b></dt>
<dd>(Perfetto!)</dd>
<dt><b>• Stampa su carta olografica, GIF e CSS3 completamente renderizzati nel possibile</b></dt>
<dd>(Richiede muovere il foglio a mano ma ottimo!)</dd>
<dt><b>• Browser Web, con supporto incompleto a CSS3</b></dt>
<dd>(Meh, OK..)</dd>
<dt><b>• Stampa su carta normale, animazioni CSS3 e GIF non renderizzate</b></dt>
<dd>(Buuu, mancano le animazioni..)</dd>
<dt><b>• Browser vecchio (Web vecchio, Web testuale, o Gemini) / Stampa su carta normale, zero supporto CSS </b></dt>
<dd>(Ma che è sto schifo?!?!)</dd>
</dl>
</div>
</details>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Ma-di-che-si-tratta"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Ma-di-che-si-tratta"> Ma di che si tratta?</span></h2>
<p>Su questo mio spazio di Internet metterò di tutto. Spero.</p>
<p>Per ora, sicuramente metto paginine superficiali su argomenti specifici, ma anche articoli di blog lunghi e discorsivi. Voglio, inoltre, mettere anche tante raccolte sulle cose che mi piacciono, in forma sia testuale che di media. Una specie di galleria sulle cose che per me valgono.</p>
<p>Oltre che degli effettivi contenuti, però, voglio che il sito (la versione Web, ovviamente) sia galleria di sé stesso. Voglio creare qualcosa che abbia un suo carattere unico, come i siti Web amatoriali degli anni 1995-2005, dove ogni luogo di Internet aveva sempre un'atmosfera diversa da tutto ciò visitato un attimo prima.<br/><span style="Color:#404040;">L'ascesa dei social come li abbiamo oggi ha purtroppo rovinato il web sotto questo punto di vista, portando alla standardizzazione completa e alla morte della creatività espressa con la forma.</span><br/>Voglio che questo mio spazio web sia diverso da tutti gli altri, caratterizzati da testo monocromatico e temi riciclati, perché è un peccato avere strumenti potentissimi e non sfruttarli davvero.</p>
<p>Per questo, cercherò di inventarmi di continuo modi di abbellire le pagina con il CSS, non solo con layouting o effetti del testo fissi, ma soprattutto con le animazioni.<br/>Al resto della forma, come l'ordine ad albero delle pagine nel sito o dei paragrafi nelle pagine, non penserò molto, altrimenti mi distraggo dal creare contenuti e la voglia mi passa.</p>
<p>Ricapitolando, le mie intenzioni attuali sono queste, poi non lo so cosa ci finirà qui sopra col tempo per davvero.. considerando anche che questa pagina può subire, ha subito, e subirà, lente modifiche.</p>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Disponibilit-del-sito"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Disponibilit-del-sito"> Disponibilità del sito</span></h2>
<p>
Al momento, questo sito è disponibile per la navigazione su vari indirizzi diversi (i contenuti sono sempre identici).<br/>Per chi non sapesse, comunque, il nome è da un mesetto cambiato in sitoctt da postoctt, perché il vecchio nome mi dava l'impressione di qualche servizio postale...<br/>Dovrei pensare anche a molti altri mirror in cloud da diversi provider (ovviamente gratuiti), se voglio che il sitocto sopravviva ad octt stessa me medesima e superi la prova del tempo... Ma questa è una questione lunga.</p>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Web"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Web"> Web</span></h3>
<p>Il sito Web è disponibile da diverse fonti.</p>
<ul>
<li>Sul <b>clearweb</b> HTTPS, sui server di <span style="Color:#fc6d26;">GitLab</span>: <a href="https://sitoctt.octt.eu.org">sitoctt.octt.eu.org</a>.</li>
<li>Sull'<b>Onion Web</b> (<span style="Color:#59316b;">Tor</span>), sui server di Replit: <a href="http://sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion">sitoctt2fxjvx3lc2iqqef2aeulflprjaasv2xl4zi7sxxbmvjy5b5yd.onion</a>. Alla fine non è più ospitato in casa mia, ma forse è meglio così, è un carico in meno per il povero serverino di fortuna che ho (al momento,
<del>una console Nintendo Switch con Ubuntu</del> il Raspberry Pi 3).
</li>
</ul>
<details>
<summary>
<h4><span class="twa twa-💾"><span>💾</span></span> Opzioni di compatibilità per sistemi obsoleti o esotici (Espandi)</h4>
</summary>
<div>
<dl>
<dt><b>• Versione HTTP di base</b></dt>
<dd>Il sito include funzioni CSS complesse e relativamente moderne, per poter fornire effetti grafici (e funzionali) epici. Ironia della sorte, per quanto visualizzando le pagine su browser veramente vecchi, che mancano di supporto CSS totale o quasi, il tutto si vede brutto ma è leggibile.. su browser che sono <i>sia troppo vecchi e sia troppo nuovi</i> si presentano bug parecchio gravi, che rendono impossibile usare alcuni menù o addirittura leggere il testo!<br/>Oltre al fatto che (nel possibile) voglio supportare sistemi vecchi, 'ste maledette rogne si presentano anche su dispositivi meno popolari ma attuali, tipo il Kindle! Insomma, per i troppi browser che non includono un'impostazione per disattivare completamente il CSS, era d'obbligo fare quello che ho fatto: al percorso <a href="./Plain">/Plain</a> sui miei domini del clearweb c'è una root parallela, e pagine con uguale contenuto ma CSS ridotto all'osso.</dd>
<dt><b>• HTTP non cifrato</b></dt>
<dd>Per evitare problemi ci ho dedicato un sottodominio dedicato, tenendo HTTPS forzato sul principale; ma, visto che non mi richiede manutenzione, ho fatto si che dal dominio di quinto (!) livello "<span style="Font-Style: Monospace;">http</span>" si acceda al sito tramite HTTP non cifrato (ospitato da GitHub, stavolta): in poche parole, l'indirizzo è <code style="Text-Decoration:Underline;">http://http.sitoctt.octt.eu.org</code>. I contenuti sono identici, ovviamente, ma finalmente si può navigare il sitoctt su roba come <i>Internet Explorer 4</i> direttamente contattando il server.</dd>
</dl>
</div>
</details>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Gemini"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Gemini"> Gemini</span></h3>
<p>Da ora, inoltre, il sitoctt è disponibile come capsula Gemini. Per andarci, si deve usare un browser Gemini.<br/>Ovviamente (per chi conosce Gemini), è tutto più castrato, e la forma non è esattamente la migliore perché tutte le pagine sono una diretta conversione dall'HTML del sito Web (e il programma su cui mi appoggio per farla è un po' rotto, per giunta).<br/>Vai alla octocapsula, gentilmente ospitata da koyu.space: <a href="gemini://koyu.space/octt">gemini://koyu.space/octt</a></p>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Feed-e-notifiche"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Feed-e-notifiche"> Feed e notifiche</span></h3>
<p>Da ora il sitocto (il blogoctt e il MicroBlog, nello specifico) ha dei feed integrati, che vengono automaticamente aggiornati quando pubblico un nuovo articolo!</p>
<p><b style="color:#ff6a00;">Feed Atom</b> (moderno, <b>consigliato</b>, contiene post completi): <b><a href="./feed/atom.xml">feed/atom.xml</a></b><br/>Feed RSS (obsoleto, disponibile per compatibilità): <a href="./feed/rss.xml">feed/rss.xml</a></p>
<p>Ti serve un aggregatore di feed compatibile per usarli.<br/>- Su PC desktop consiglio <a href="https://thunderbird.net" rel="noopener" style="Color:#0080FF;" target="_blank">Thunderbird </a>o <a href="https://www.seamonkey-project.org" rel="noopener" style="Color:#003399;" target="_blank">SeaMonkey Mail</a>.<br/>- Su Android consiglio <a href="https://f-droid.org/packages/com.nononsenseapps.feeder" rel="noopener" target="_blank">Feeder</a> o <a href="https://f-droid.org/packages/com.poloure.simplerss" rel="noopener" target="_blank">Simple Rss</a>.<br/>- Se vuoi usare un dispositivo come un lettore di e-book e-ink, l'unico software universale che - tra le altre cose - include un aggregatore di feed, che conosco e posso consigliare, è <a href="https://github.com/koreader/koreader" rel="noopener" target="_blank">KOReader</a>.<br/>- Suggerimento: se usi Friendica, puoi copiare il link al feed e incollarlo nella barra di ricerca, per poterlo seguire come se fosse un profilo!</p>
<p>
<del>Inoltre, se usi una qualunque piattaforma del <b>Fediverso ActivityPub</b> (Mastodon, Pleroma, Misskey, ...) puoi seguire il bot del sitoctt, così da ricevere nel tuo feed Home i nuovi post: <a href="https://botsin.space/@sitoctt" rel="me noopener" target="_blank">@sitoctt@botsin.space</a>!</del> Per alcune complicazioni iniziate a fine agosto 2022, il bot non è accessibile dalla più grande istanza Mastodon italiana, <i>mastodon.uno</i>, quindi è quasi praticamente inutile ora. Non lo tolgo di mezzo solo perché mi costerebbe di più fare ciò che lasciarlo dov'è <b>:P</b>; comunque ne dovrei creare uno nuovo, prima o poi.
</p>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Sorgenti-e-licenze"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Sorgenti-e-licenze"> Sorgenti e licenze</span></h2>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Licenze-dei-contenuti"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Licenze-dei-contenuti"> Licenze dei contenuti</span></h3><p>Tutto il contenuto presente su questo sito che ho creato io (i miei testi, media originali, e maggior parte del codice sorgente) è rilasciato sotto licenza <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.it" rel="noopener" target="_blank">"Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale" (CC BY-SA 4.0) (<span class="CCIcons"><img class="i1em" src="https://sitoctt-assets.octt.eu.org/Media/Icons/CC/CC.svg"/> <img class="i1em" src="https://sitoctt-assets.octt.eu.org/Media/Icons/CC/BY.svg"/> <img <="" class="i1em" span="" src="https://sitoctt-assets.octt.eu.org/Media/Icons/CC/SA.svg"/>)</span></a>, una licenza libera che promuove la condivisione, e non intacca i legittimi diritti alla cultura e la collaborazione dell'umanità in generale.</p>
<p>Sono presenti, però, anche contenuti non miei.<br/>In ogni caso, se qualcosa viene dalla mia mano, non avrà nessuna indicazione di crediti vicino. <br/>Per la roba presa in prestito, invece, verrà sempre indicata la fonte da cui ho prelevato e la licenza, che sia questa di dominio pubblico, Creative Commons, o non specificata.<br/>Occhio, che i crediti per le cosine HTML e CSS spesso li lascio soltanto nei sorgenti della pagina.. Quindi, in caso, controlla lì per questo genere di crediti. Per cose come immagini o testi, invece, spesso eventuali crediti sono parte visibile della pagina, vicini all'oggetto preso in prestito (come una descrizione); altre volte, lo stesso oggetto è un link che, se cliccato, riporta alla fonte.<br/>Comunque, ho pensato di creare una sezione della pagina <a href="#-Crediti-speciali">qui sotto</a>, dedicata a crediti speciali (che compilo quando mi ricordo).</p>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Codice-sorgente"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Codice-sorgente"> Codice sorgente</span></h3>
<p>Parlando dei sorgenti del sito, quelli HTML dell'effettiva pagina caricata dal browser potrebbero essere difficili da leggere. Questo è perché in realtà non scrivo direttamente l'HTML completo per comporre le pagine.<br/>Non solo sarebbe un casino replicare le mie varie barre e sezioni di navigazione su tutte le pagine, e se devo fare modifiche a queste poi è un inferno replicare la cosa ovunque, ma la sintassi HTML è sporca e faticosa da scrivere.</p>
<p>Proprio per questi motivi, ho creato un mio generatore di siti statici (anche quello, come questo sito stesso, incompleto ma aggiornato di tanto in tanto quando mi serve), che preprocessa il mio codice sorgente per includere le mie barre in tutte le pagine, generare le sezioni della pagina (che appaiono nel menu a destra), generare la lista di pagine del sito (del menu a sinistra), e <i>altre cosette</i>. Passaggio importante, eventuali file Markdown o Pug vengono tradotti in HTML per essere comprensibili da normali browser, ed ecco qua.<br/>Ah, si, sto dicendo "<i>altre cosette</i>" perché si tratta di roba che al momento della scrittura di questo capitolo della pagina è assente o incompleta, e scrivendo come scrivo mi paro le chiappette e non devo fare future modifiche.
<pre class="Inline"><i>H e h .</i></pre>
</p>
<h4 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Prendi-tutto"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Prendi-tutto"> Prendi tutto!</span></h4>
<p>Per terminare, trovate tutti i miei sorgenti sulle rispettive repo Git.<br/>Quelli del mio sito (divisi in repo multiple per tenere la cronologia pulita), alle condizioni descritte sopra: <a href="https://gitlab.com/octtspacc/sitoctt" rel="noopener" target="_blank">gitlab.com/octtspacc/sitoctt</a>; <a href="https://gitlab.com/octtspacc/sitoctt-assets" rel="noopener" target="_blank">sitoctt-assets</a>.<br/>Quelli del mio generatore, anche questo rilasciato sotto una licenza libera, la AGPL: <a href="https://gitlab.com/octtspacc/staticoso" rel="noopener" target="_blank">gitlab.com/octtspacc/staticoso</a>.</p>
<p>Altra cosa: in caso possa interessare, per conservare e/o condividere in modo immediato (esclusi i file che sono sulle repo a parte, perché linkati in modo assoluto) copie offline del sito, si può scaricare uno <b>zip</b> contenente tutte le pagine compilate <a href="https://gitlab.com/octtspacc/sitoctt/-/jobs/artifacts/main/download?job=pages" rel="noopener" target="_blank">qui</a>!</p>
<h3 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Crediti-speciali"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Crediti-speciali"> Crediti speciali</span></h3>
<details>
<summary>
<h4>Lista di crediti e ringraziamenti speciali a chi ho preso materiale in prestito (Espandi)</h4>
</summary>
<div>
<ul>
<li>Lista di <a href="#-Script-client-side">script client-side</a>, tra cui alcuni di terzi</li>
<li>Titolo animato ad onda: <a href="https://codepen.io/jh3y/pen/WNrXqYz" rel="noopener" target="_blank">Waaaves di jh3y</a></li>
<li>Famiglia caratteri: <a href="https://fonts.google.com/specimen/Space+Mono" rel="noopener" target="_blank">Space Mono di Colophon Foundry</a></li>
<li>Pacchetto emoji CSS: <a href="https://twemoji.twitter.com" rel="noopener" target="_blank">Twemoji di Twitter</a>, via <a href="https://gitlab.com/octtspacc/twemoji-astonishing" rel="noopener" target="_blank">Twemoji Astonishing</a></li>
<li>Alcuni bottoni 88x31 non identitari: <a href="https://cyber.dabamos.de/88x31" rel="noopener" target="_blank">88x31 GIF Collection di cyber.dabamos.de</a></li>
</ul>
</div>
</details>
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Riservatezza-e-trasparenza"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Riservatezza-e-trasparenza"> Riservatezza e trasparenza</span></h2>
<p>In quanto mio interesse legittimo, in questo sito web utilizzo un servizio di analitica; sia per poter migliorare ciò che faccio, che per soddisfare la mia pura curiosità di scoprire dati.</p>
<p>Il servizio di analitica è basato su software completamente <a href="https://github.com/arp242/goatcounter/blob/master/LICENSE" rel="noopener" target="_blank">libero ed open-source</a>, ospitato gratuitamente per siti a basso traffico da <b>GoatCounter.com</b>.</p>
<p>A quanto pare, con GoatCounter non serve includere un avviso a schermo che disturba gli utenti per essere in regola con il GDPR (si veda <a href="https://www.goatcounter.com/help/gdpr" rel="noopener" target="_blank">goatcounter.com/help/gdpr</a>), ma, per onestà e trasparenza, sto scrivendo comunque questo paragrafo.</p>
<p>Solo i dati non-personali vengono raccolti, in forma anonima, per i soli fini di statistica generale, e non di tracciamento individuale. Il servizio non utilizza cookies, e i dati non vengono ceduti a terze parti. Per ulteriori informazioni, non posso fare altro che consigliare di leggere la <a href="https://www.goatcounter.com/help/privacy" rel="noopener" target="_blank">Privacy policy di GoatCounter</a>.</p><br/>
<hr/>
<div id="RingsDiv"><span class="Center">
<h2 class="SectionHeading staticoso-SectionHeading"><span class="SectionLink staticoso-SectionLink"><a href="#-Rings"><span>»</span></a> </span><span class="SectionTitle staticoso-SectionTitle" id="-Rings"> Rings</span></h2></span>
<p>Se dei link tra questi sotto non funzionano, vuol dire che chi amministra i ring non ha ancora accettato il mio sito negli stessi.<br/>L'attesa sta uccidendo più me che te, fidati.<br/><i>O, magari, si tratta di un problema temporaneo</i>.</p><p class="Center">
<a href="https://fediring.net/previous?host=sitoctt.octt.eu.org"><big></big></a>
<span> </span>
<a href="https://fediring.net/"><img class="i1em" src="https://sitoctt-assets.octt.eu.org/Media/Icons/Fediverse/Fediverse_logo_proposal.svg" title="Fediverse Logo Proposal, Eukombos, CC0, Wikimedia Commons"/> Fediring</a>
<span> </span>
<a href="https://fediring.net/random">[<span class="twa twa-🎲">🎲</span>]</a>
<span> </span>
<a href="https://fediring.net/next?host=sitoctt.octt.eu.org"><big></big></a>
</p>
</div><br/>
<hr/><small style="Float:Right; Opacity:0.7;"><i>❤️ Copying is an act of love. Please <a href="#-Prendi-tutto">copy and share</a>.</i></small>
<style>
#RingsDiv Img,
.CCIcons > Img, .CCIcon {
Display: Inline !Important;
Max-Height: 1em !Important;
Vertical-Align: Sub;
}
.CCIcons > Img, .CCIcon {
Margin-Left: 3px;
}
/*!-- Credits: https://codepen.io/jh3y/pen/WNrXqYz ---*/
.WavyText {
Text-Align: Center;
Position: Absolute;
Left: 50%;
White-Space: NoWrap;
Transform: Translate(-50%, -50%) Translate(Calc(Var(--x, 0) * 1%), Calc(Var(--y, 0) * 1%));
font-variation-settings: 'wght' Var(--lower);
Margin: 0;
}
.WavyText Span {
Color: HSLA(300, 100%, 20%, Var(--alpha-l));
Animation: Rise 2.25s infinite ease-in-out;
Animation-Delay: Calc((Var(--index) - 6) * 0.225s);
Display: Inline-Block;
}
@keyframes Rise {
50% {
font-variation-settings: 'wght' Var(--upper);
Color: HSLA(300, 100%, 30%, Var(--alpha-u));
Transform: Translate(0, -15%);
}
}
</style>

View File

@ -1,12 +1,11 @@
// % Title = 🌐️ Come e perché il sitoctt su Tor?
// % Description = In poco tempo dall'apertura del sitoctt, ne ho creato un mirror Tor. Perché? Maggiore sicurezza, privacy per chi visita, e divertimento mio!
// % HTMLTitle = <span class="twa twa-globe-with-meridians twa-🌐️"><span>🌐️</span></span> Come e perché il sitoctt su Tor?
// % URLs = Posts/2022-06-03-0000-Come-e-Perche-il-Sitoctt-su-Tor.html
// % Categories = Blog Internet Sysadmin
// % CreatedOn = 2022-06-03
// % EditedOn = 2022-06-29
# <span class="twa twa-globe-with-meridians twa-🌐️"><span>🌐️</span></span> Come e perché il sitoctt su Tor?
+++
Title = "🌐️ Come e perché il sitoctt su Tor?"
Description = "In poco tempo dall'apertura del sitoctt, ne ho creato un mirror Tor. Perché? Maggiore sicurezza, privacy per chi visita, e divertimento mio!"
URLs = "Posts/2022-06-03-0000-Come-e-Perche-il-Sitoctt-su-Tor.html"
Categories = [ "Blog", "Internet", "Sysadmin" ]
Date = 2022-06-03
Lastmod = 2022-06-29
+++
In questi giorni ho sistemato i primi affari riguardanti il rendere disponibile il sitocto sulla rete <span style='Color:#59316b;'>Tor</span>. C'è chi mi definirà esagerata anche soltanto per aver avuto il pensiero di fare una cosa del genere, ma c'è poco da fare.
Se nulla è andato storto, il servizio Onion è ancora raggiungibile a questo indirizzo:

View File

@ -1,9 +1,10 @@
// % Title = 📄 I documenti non devono diventare applicazioni
// % Description = Il Web sta diventando sempre più gonfiato, lento, e rischioso. Ogni sito sta diventando una app, anche se è una cosa sbagliatissima...
// % HTMLTitle = <span class="twa twa-page-facing-up twa-📄"><span>📄</span></span> I documenti non devono diventare applicazioni
// % URLs = Posts/2022-06-14-0000-I-Documenti-Non-Devono-Diventare-Applicazioni.html
// % Categories = Blog Internet
// % CreatedOn = 2022-06-14
+++
Title = "📄 I documenti non devono diventare applicazioni"
Description = "Il Web sta diventando sempre più gonfiato, lento, e rischioso. Ogni sito sta diventando una app, anche se è una cosa sbagliatissima..."
URLs = "Posts/2022-06-14-0000-I-Documenti-Non-Devono-Diventare-Applicazioni.html"
Categories = [ "Blog", "Internet" ]
Date = 2022-06-14
+++
# <span class="twa twa-page-facing-up twa-📄"><span>📄</span></span> I documenti non devono diventare applicazioni

View File

@ -1,15 +1,14 @@
// % Title = ☀️ Rasperino Solare (ed altri esperimenti andati a male)
// % Description = Quando ho comprato un pannellino solare USB, l'ho subito messo alla prova. Il suo po' lo fa bene, ma bisogna avere pretese realistiche!
// % HTMLTitle = <span class="twa twa-sun twa-☀️"><span>☀️</span></span> Rasperino Solare (ed altri esperimenti andati a male)
// % URLs = Posts/2022-06-23-0000-Rasperino-Solare-ed-Altri-Esperimenti-Andati-a-Male.html
// % Categories = Blog Rasperino Ecologia Tecnologia
// % CreatedOn = 2022-06-23
# <span class="twa twa-sun twa-☀️"><span>☀️</span></span> Rasperino Solare (ed altri esperimenti andati a male)
+++
Title = "☀️ Rasperino Solare (ed altri esperimenti andati a male)"
Description = "Quando ho comprato un pannellino solare USB, l'ho subito messo alla prova. Il suo po' lo fa bene, ma bisogna avere pretese realistiche!"
URLs = "Posts/2022-06-23-0000-Rasperino-Solare-ed-Altri-Esperimenti-Andati-a-Male.html"
Categories = [ "Blog", "Rasperino", "Ecologia", "Tecnologia" ]
Date = 2022-06-23
+++
Qualche mese fa comprai un piccolo [pannello solare monocristallino](https://www.amazon.it/Lixada-Pannello-Monocristallino-Caricabatterie-Cellulare/dp/B071Z1LGFV){[:MdTgtBlank:]} online, dalle dimensioni simili a quelle di un foglio A4, per la cifra di circa 20€ (su Amazon.it i venditori sono tutti ladri, su Aliexpress sarebbe costato un pochino in meno).
[![Schermata di una foto inviata in chat. La foto mostra il pannello nella sua scatola di cartone. La didascalia recita "❗️ L'ENEL la odia! ⚠️ Scopri come la Dea dello Spacc ha iniziato il lento ma proficuo percorso per l'indipendenza energetica! ➡️ @spacccraft".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/SpaccCraft-975.png)](https://t.me/SpaccCraft/975){[:MdTgtBlank:]}
[![Schermata di una foto inviata in chat. La foto mostra il pannello nella sua scatola di cartone. La didascalia recita "❗️ L'ENEL la odia! ⚠️ Scopri come la Dea dello Spacc ha iniziato il lento ma proficuo percorso per l'indipendenza energetica! ➡️ @spacccraft".]({{< assetsRoot >}}/Media/Screenshots/SpaccCraft-975.png)](https://t.me/SpaccCraft/975){[:MdTgtBlank:]}
## Dubbi elettrici
@ -39,7 +38,7 @@ Provando la stessa formula subito dopo, ma con il telefono spento, mi pare che i
L'ultimo test l'ho fatto verso le 14, quando il cielo si era purtroppo scurito. Ho appoggiato il pannellino su un piano e ho usato il telefono normalmente, ascoltando musica e credo usando app di messaggistica online. Come sospettavo, non si è ricaricato, ma almeno è stato quasi senza scaricarsi, il che è comunque buono considerate le condizioni atmosferiche.
![Schermata di una foto inviata in chat. La foto mostra il pannello appoggiato sul tettuccio di un'auto parcheggiata, con un cavo collegato che scende giù. La didascalia recita "La nostra macchina è parcheggiata e io ci appoggio il pannello solare sopra".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/OctoVoLTE-16754.png)
![Schermata di una foto inviata in chat. La foto mostra il pannello appoggiato sul tettuccio di un'auto parcheggiata, con un cavo collegato che scende giù. La didascalia recita "La nostra macchina è parcheggiata e io ci appoggio il pannello solare sopra".]({{< assetsRoot >}}/Media/Screenshots/OctoVoLTE-16754.png)
### Guardiamo oltre..
@ -67,7 +66,7 @@ Ho ben pensato, come prima cosa, di configurare BOINC su Raspbian, un software d
Come ho già detto, il Raspino va alimentato dal powerbank, il pannello direttamente non gli da abbastanza corrente. Sembra che si accenda, ma in realtà pare vada in bootloop.
Bene, non ci girerò attorno troppo: mentre (con lo stesso powerbank, quello di credo 4000mAh) per alcune applicazioni a basso carico, come [Pwnagotchi](https://pwnagotchi.ai/){[:MdTgtBlank:]}, il Pi riesce a stare acceso per ore anche con uno schermo LCD retroilluminato collegato... la CPU al 100%, che svolge calcoli complessi, mangia tanta di quella corrente che la batteria si appiattisce in appena 1 ora.
[![Schermata di un mio toot. La foto mostra il pannello appeso sul mio balcone con dei ganci, con un cavo che lo collega al Rasperino fissato al pannello stesso. Il testo recita "#RasperinoVitaEcologica Ho fissato il Pi al mio pannellino solare con gli elastici di stoffa delle mascherine usa e getta (prima di buttarle, stacco gli elastici, li lavo, e li conservo), e pare avere appena la corrente che gli serve per funzionare al pomeriggio. Oggi ho flashato la nuova SD con Raspbian, per ora scelgo di usare l'accrocco per eseguire #BOINC, strumento per il calcolo distribuito con cui si può donare potenza di calcolo a progetti scientifici. Domani si testa come va su BOINC".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/mastodon.uno-octo-108211397314015161.png)](https://mastodon.uno/@octo/108211397314015161){[:MdTgtBlank:]}
[![Schermata di un mio toot. La foto mostra il pannello appeso sul mio balcone con dei ganci, con un cavo che lo collega al Rasperino fissato al pannello stesso. Il testo recita "#RasperinoVitaEcologica Ho fissato il Pi al mio pannellino solare con gli elastici di stoffa delle mascherine usa e getta (prima di buttarle, stacco gli elastici, li lavo, e li conservo), e pare avere appena la corrente che gli serve per funzionare al pomeriggio. Oggi ho flashato la nuova SD con Raspbian, per ora scelgo di usare l'accrocco per eseguire #BOINC, strumento per il calcolo distribuito con cui si può donare potenza di calcolo a progetti scientifici. Domani si testa come va su BOINC".]({{< assetsRoot >}}/Media/Screenshots/mastodon.uno-octo-108211397314015161.png)](https://mastodon.uno/@octo/108211397314015161){[:MdTgtBlank:]}
_Psssss.. se vuoi vedere altre foto del pannello (3) e in qualità un po' più decente, le ho messe su Pixelfed: [pixelfed.uno/p/octo/426839557817260168](https://pixelfed.uno/p/octo/426839557817260168){[:MdTgtBlank:]}!_

View File

@ -1,13 +1,12 @@
// % Title = ⌨️ L'idea di una tastiera fisica per smartphone fatta in casa
// % HTMLTitle = <span class="twa twa-keyboard twa-⌨️"><span>⌨️</span></span> L'idea di una tastiera fisica per smartphone fatta in casa
// % Description = Con difficoltà ho comprato una tastiera ultra-compatta. L'idea è di costruire una cover-tastiera per il mio telefono, ma ho riscontrato intoppi!
// % URLs = Posts/2022-07-03-0000-L-Idea-di-una-Tastiera-Fisica-per-Smartphone-Fatta-in-Casa.html
// % Categories = Blog Tecnologia Mobile DIY
// % CreatedOn = 2022-07-03
// % UpdatedOn = 2023-03-21
// % Image = [staticoso:Folder:Assets:AbsoluteRoot]/Media/Cover-Tastiera-mobilefun.com.avif
# <span class="twa twa-keyboard twa-⌨️"><span>⌨️</span></span> L'idea di una tastiera fisica per smartphone fatta in casa
+++
Title = "⌨️ L'idea di una tastiera fisica per smartphone fatta in casa"
Description = "Con difficoltà ho comprato una tastiera ultra-compatta. L'idea è di costruire una cover-tastiera per il mio telefono, ma ho riscontrato intoppi!"
URLs = "Posts/2022-07-03-0000-L-Idea-di-una-Tastiera-Fisica-per-Smartphone-Fatta-in-Casa.html"
Categories = [ "Blog", "Tecnologia", "Mobile", "DIY" ]
Date = 2022-07-03
Lastmod = 2023-03-21
Image = "{{< assetsRoot >}}/Media/Cover-Tastiera-mobilefun.com.avif"
+++
Forse un annetto fa, un po' per curiosità e un po' perché immaginavo già che potrebbe essere stato qualcosa di comodo, ho sviluppato un marginale interesse per gli smartphone dotati di tastiere fisiche complete.
@ -28,7 +27,7 @@ Non essendoci speranza, ho provato a cambiare leggermente strategia, e cercare u
La ricerca su Amazon è stata assolutamente infruttuosa, mah. Su AliExpress, attorno ai 13€ c'era la tastiera come la cercavo, ma per me comprare lì è una rogna a dir poco. Per fortuna, però, uno dei tanti casalinghi tuttoavere (quelli che vendono miliardi di cinesate) nella mia zona aveva il prodotto che mi serviva, a soli 2€ in più di quanto l'avrei pagato da Ali.
Un affare, e quindi ho comprato.
![Il fronte della mini-tastiera]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Mini-Bluetooth-Keyboard/Tastiera-Fronte.avif)
![Il fronte della mini-tastiera]({{< assetsRoot >}}/Media/Mini-Bluetooth-Keyboard/Tastiera-Fronte.avif)
## Dopo l'acquisto
@ -46,12 +45,12 @@ Decido di farla caricare un po', per poi smontarla, e misurare con un multimetro
Supponendo che la scheda sia correttamente progettata, quindi che l'interruttore ON/OFF fisico tagli la corrente tra batteria e scheda al punto in cui dovrebbe, e che il circuito di gestione della batteria non sia una ciofeca, la colpa di un problema del genere può essere solo una: la banale vecchiaia della batteria.
![Foto della piccola batteria della tastiera]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Batteria-SCW302030-2015-08-27.avif)
![Foto della piccola batteria della tastiera]({{< assetsRoot >}}/Media/Batteria-SCW302030-2015-08-27.avif)
In effetti, non solo la batteria era visivamente abbastanza gonfia, ma riporta una data sull'esterno: "2015/8/27", quasi 8 anni fa.
Giurerei che la tastiera stessa sia anche più vecchia, considerando i richiami ad un epoca anche un po' precedente presenti sulla scatola e le istruzioni: iPhone 4 e iOS pre-7, Galaxy S4 e una Touchwiz visibilmente vecchissima, Windows Mobile 6 e Windows 8 desktop, Symbian 3, la PS3.. insomma, ne è passato di tempo.
![Scansioni di alcune parti del retro della scatola e delle istruzioni, contenenti rimandi a cose vecchie.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Mini-Bluetooth-Keyboard/Rimandi-Vecchi.avif)
![Scansioni di alcune parti del retro della scatola e delle istruzioni, contenenti rimandi a cose vecchie.]({{< assetsRoot >}}/Media/Mini-Bluetooth-Keyboard/Rimandi-Vecchi.avif)
## Fine bruttina

View File

@ -1,11 +1,10 @@
// % Title = 💻 Come ho riparato il mio portatile (con 25€)
// % HTMLTitle = <span class="twa twa-laptop twa-💻"><span>💻</span></span> Come ho riparato il mio portatile (con 25€)
// % Description = Man mano che il mio portatile invecchiava, e la tastiera si rompeva sempre più, ho lentamente smesso di usarlo; fino a che, ora, l'ho sistemato!
// % URLs = Posts/2022-07-09-0000-Come-ho-Riparato-il-mio-Portatile-con-25-Euro.html
// % Categories = Blog Tecnologia DIY Ecologia
// % CreatedOn = 2022-07-09
# <span class="twa twa-laptop twa-💻"><span>💻</span></span> Come ho riparato il mio portatile (con 25€)
+++
Title = "💻 Come ho riparato il mio portatile (con 25€)"
Description = "Man mano che il mio portatile invecchiava, e la tastiera si rompeva sempre più, ho lentamente smesso di usarlo; fino a che, ora, l'ho sistemato!"
URLs = "Posts/2022-07-09-0000-Come-ho-Riparato-il-mio-Portatile-con-25-Euro.html"
Categories = [ "Blog", "Tecnologia", "DIY", "Ecologia" ]
Lastmod = 2022-07-09
+++
Da quasi 7 anni ho un PC portatile Acer, [Aspire V3-572G](https://www.acer.com/ac/en/US/content/support-product/5389){[:MdTgtBlank:]}, indubbiamente ormai un po' vetusto, senza lode e con qualche infamia.
Quando fu comprato, era in sostanza un notebook di fascia media come un altro, senza alcuna caratteristica degna di nota. Voglio dire, l'ho usato abbastanza e ha più o meno sempre fatto quello che doveva, finché circa 2 annetti fa ho iniziato a pretendere di usare giochini e strumenti di sviluppo pesanti, a quel punto il nuovo PC (fisso) è stato d'obbligo.
@ -63,7 +62,7 @@ Avrei dovuto onestamente comprarla subito, quando la W si ruppe, ma, banalmente,
Senza perdere troppo ulteriore tempo, ho fatto in modo di ordinarla (3 giorni dopo, ma poteva andare molto peggio), e dopo 2 giorni era già a casa (in anticipo, rispetto a periodo di consegna riportato). 20+7€.. ben spesi? È **da vedersi**.
Il prezzo della tastiera credo ci stia, quello della spedizione non mi è piaciuto >:(.
![Particolare della scatola in cui mi è arrivata la tastiera. Lo sfondo è bianco e presenta il logo del distributore del prodotto (new NET)]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Scatola-Fronte-Sinistra.avif)
![Particolare della scatola in cui mi è arrivata la tastiera. Lo sfondo è bianco e presenta il logo del distributore del prodotto (new NET)]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Scatola-Fronte-Sinistra.avif)
La tastiera era disponibile solo nera, e tutto il resto del mio PC, inclusa la tastiera di fabbrica, è invece bianco.
Le possibilità che esca un qualcosa di orribilmente brutto sono alte, ma io sono un'utente Linux: è già tanto che io stia cercando di riparare il mio laptop mezzo scassato, anziché andare dicendo in giro che è il migliore computer che si possa usare; figurati se mi interessa che sia brutto o meno, se funziona va bene.
@ -73,19 +72,19 @@ Le possibilità che esca un qualcosa di orribilmente brutto sono alte, ma io son
Non mi perdo d'animo, e vedo di iniziare a svitare le innumerevoli viti che tengono la scocca del portatile insieme, e separo le sezioni di plastica. Poi scollego i 3 cavi flex di tasto power, tastiera, e touchpad, e sollevo la parte superiore della scocca. Nulla di nuovo, comunque, dovetti già fare questa procedura quando installai l'SSD.
Dopo questa cosa, però, altre viti. _Mannaggia!_ Tutte ste viti, e diventa un casino rimettere tutto a posto. Basta viti.
![Tutte le viti esterne del portatile, estratte e raccolte]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Viti.avif)
![Tutte le viti esterne del portatile, estratte e raccolte]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Viti.avif)
Ma bisogna continuare. Tolte le viti _(mannaggia!!)_ che tengono insieme la tastiera, in mezzo al supporto esterno di plastica e quello interno di metallo, si può togliere la tastiera vecchia e mettere la nuova, per poi fare tutto il resto al contrario.
O quasi.
![I frame di plastica (esterno) e metallo (interno), che servono a tenere insieme la tastiera, separati]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Frame-Tastiera-Smontati.avif)
![I frame di plastica (esterno) e metallo (interno), che servono a tenere insieme la tastiera, separati]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Frame-Tastiera-Smontati.avif)
### Lavoretti "già che ci sono"
Visto che c'ero, ho voluto approfittarne anche per pulire un po' la ventola e il suo filtro, che negli anni hanno accumulato polvere, permettendo a meno aria di passare e facendo così che la CPU arrivasse a ben ~50°C in idle.
Pensavo più polvere, onestamente, vabbè.
![La ventola smontata, con un po' di polvere tolta e raccolta in una pallina]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Ventola.avif)
![La ventola smontata, con un po' di polvere tolta e raccolta in una pallina]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Ventola.avif)
Ho anche controllato al volo (forse, troppo al volo) la pasta termica.
Per farlo, ho dovuto capovolgere la scheda madre, dopo aver tolto ancora altre viti. Si intravedeva un po' della pasta fuori dal perimetro di CPU, e quel poco che ho visto non mi è sembrato particolarmente secco. Non so effettivamente ogni quanto andrebbe davvero cambiata la pasta termica, se non è secchissima, quindi ho lasciato stare.
@ -100,7 +99,7 @@ Si vede che continuerò ad usare la scheda audio USB (6€ su Amazon) per usare
Un po' a fatica, rimonto tutto, e ammiro il nuovo stato del PC - il quale tra l'altro, in idle dopo l'avvio, ora che ho pulito la ventola, arriva a ~40°C, direi decisamente meglio di prima!
![Il portatile rimontato e acceso, con in vista sia la nuova tastiera, che quella vecchia (appoggiata sopra), oltre al mio desktop]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Portatile-Rimontato-Acceso.avif)
![Il portatile rimontato e acceso, con in vista sia la nuova tastiera, che quella vecchia (appoggiata sopra), oltre al mio desktop]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Portatile-Rimontato-Acceso.avif)
Che dire, si vede proprio che uso GNU+Linux.
Non solo ora il portatile ha un contrasto estetico bruttino (ma almeno funziona!), ma nella foto si vede com'era la vecchia tastiera bianca: lercia e ingiallita. Oh, almeno faceva pendant con il tema del mio emulatore terminale, solarizzato chiaro - faceva e non fa più, purtroppo, un po' mi dispiace.
@ -109,7 +108,7 @@ Riguardo la vecchia tastiera, devo mettere in chiaro che la plastica del tasto W
Questo è anche il motivo per cui non tenterò di staccare i segnalettere neri dalla nuova tastiera per metterci i vecchi bianchi al loro posto.. non vale la pena rischiare di rompere qualche tasto.
Piccolo **bonus**: una foto del fondo della vecchia tastiera.. il tasto W è **effettivamente sfondato**.
![Dettaglio del fondo/retro della vecchia tastiera, con un buco in corrispondenza del tasto W. La zona circostante ha un dislivello di pochi centimetri di diametro, di profondità appena percettibile ad occhio nudo. Si vedono anche segni di affondo nel metallo attorno al buco, circa del diametro di uno spillo]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Vecchia-Tastiera-Sfondata.avif)
![Dettaglio del fondo/retro della vecchia tastiera, con un buco in corrispondenza del tasto W. La zona circostante ha un dislivello di pochi centimetri di diametro, di profondità appena percettibile ad occhio nudo. Si vedono anche segni di affondo nel metallo attorno al buco, circa del diametro di uno spillo]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Vecchia-Tastiera-Sfondata.avif)
## La scelta giusta
@ -118,7 +117,7 @@ Mi pento solo di non averla comprata prima.
Un particolare curioso, ma che non mi fa assolutamente pensare di aver fatto una scelta errata, è il fatto che un'area di tasti sulla sinistra non sia esattamente a livello con tutti gli altri. Non sembra essere un problema nel pratico ma, esteticamente, boh, mi fa ridere.
![I tasti più a sinistra (da W ad F) della nuova tastiera, che appaiono appena leggermente affondati verso l'interno in un angolo]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Riparazione-Aspire-V3-572G/Tasti-Affondati.avif)
![I tasti più a sinistra (da W ad F) della nuova tastiera, che appaiono appena leggermente affondati verso l'interno in un angolo]({{< assetsRoot >}}/Media/Riparazione-Aspire-V3-572G/Tasti-Affondati.avif)
Non buttate i vostri laptop, se hanno qualche piccolo problema che può essere risolto facilmente e spendendo poco.
Se si rompe la tastiera, si cambia quella; se Windows diventa insopportabilmente lento, si installa una distribuzione Linux (GNU è raccomandato, ma non obbligatorio!) conforme alle proprie esigenze.

View File

@ -1,10 +1,9 @@
// % Title = 🥸️ Come la nostra impronta digitale sociale ci frega
// % HTMLTitle = <span class="twa twa-disguised-face twa-🥸️"><span>🥸️</span></span> Come la nostra impronta digitale sociale ci freg
// % Description = Per i motivi più vari, anche leciti, ci si può trovare a voler nascondere proprie identità passate. A volte, però, i dettagli rovinano tutto!
// % Categories = Blog
// % CreatedOn = 2022-07-17
# <span class="twa twa-disguised-face twa-🥸️"><span>🥸️</span></span> Come la nostra impronta digitale sociale ci frega
+++
Title = "🥸️ Come la nostra impronta digitale sociale ci frega"
Description = "Per i motivi più vari, anche leciti, ci si può trovare a voler nascondere proprie identità passate. A volte, però, i dettagli rovinano tutto!"
Categories = [ "Blog" ]
Date = 2022-07-17
+++
Questa storia, più pratica che mai, è secondo me incredibile.
Non solo dimostra a cosa possano arrivare le loli con troppo tempo libero, tipo me; mostra come chiunque tra noi abbia una specie di "impronta digitale sociale" che, se non adeguatamente mascherata, ci può far identificare.

View File

@ -1,13 +1,12 @@
// % Title = 👾 L'emulazione NDS, Google Play, e una storia oscura
// % HTMLTitle = <span class="twa twa-alien-monster twa-👾"><span>👾</span></span> L'emulazione NDS, Google Play, e una storia oscura
// % Description = Quella che era nata come ricerca per un emulatore NDS che girasse, e bene, sul mio Android, ha rapidamente svelato verità ed eventi assurdi...
// % URLs = Posts/2022-07-27-0000-Emulazione-NDS-Google-Play-e-una-Storia-Oscura.html
// % Image = [staticoso:Folder:Assets:AbsoluteRoot]/Media/Emulazione-NDS-Android/ACWW-on-Androids.avif
// % CreatedOn = 2022-07-27
// % UpdatedOn = 2022-07-29
// % Categories = Blog Tecnologia Gaming Mobile
# <span class="twa twa-alien-monster twa-👾"><span>👾</span></span> L'emulazione NDS, Google Play, e una storia oscura
+++
Title = "👾 L'emulazione NDS, Google Play, e una storia oscura"
Description = "Quella che era nata come ricerca per un emulatore NDS che girasse, e bene, sul mio Android, ha rapidamente svelato verità ed eventi assurdi..."
URLs = "Posts/2022-07-27-0000-Emulazione-NDS-Google-Play-e-una-Storia-Oscura.html"
Image = "{{< assetsRoot >}}/Media/Emulazione-NDS-Android/ACWW-on-Androids.avif"
Date = 2022-07-27
Lastmod = 2022-07-29
Categories = [ "Blog", "Tecnologia", "Gaming", "Mobile" ]
+++
Il Nintendo DS. Basta, non serve dire altro; in fondo, tra _nintenditori_, ci si intende.
Una console che, 15 anni fa, ha saputo innovare il mercato con lo stesso spirito con cui il Gameboy innovò a suo tempo. Una console le cui esclusive rimangono, ancora oggi, delle perle senza tempo.
@ -124,7 +123,7 @@ L'unica cosa di cui sono stupita, e non poco, è di aver trovato questa **app cl
Comunque, bell'impegno che ci hanno messo i creatori dell'app nel rimuovere ogni riferimento a Drastic. Ci sono _quasi_ riusciti.
Nel programma non compare mai il famigerato nome, ma una decompilazione del file APK tramite [apktool](https://ibotpeaches.github.io/Apktool){[:MdTgtBlank:]}, e poi ricerca in tutti i file estratti (con `grep -iR Drastic *`) della stringa "Drastic", mostra che il nome della app da cui quella sospetta ha rubato il codice è presente 2 volte in totale, in 2 file diversi. Giusto così, ecco la conferma, nel caso ci fossero dubbi sulla natura di questa applicazione.
![Schermata del comando grep sopracitato.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Emulazione-NDS-Android/Free-DS-Emulator-Grep-Drastic.avif)
![Schermata del comando grep sopracitato.]({{< assetsRoot >}}/Media/Emulazione-NDS-Android/Free-DS-Emulator-Grep-Drastic.avif)
### Nuove ricerche
@ -138,7 +137,7 @@ Gli screenshot presenti nelle pagine delle applicazioni puzzano di truffa da lon
Tutte e due, quando le apro, mi presentano un bottone "Play" che, quando premuto, fa partire l'installazione di un APK (credo patchato) di Drastic (!!!).
Avete capito bene: questa **app**, **proveniente dal Play Store**, **contiene** nel suo pacchetto **un file** APK (non lo scarica nemmeno da Internet!), **crackato**, di un'altra app. Una delle due, tra l'altro, integra anche la ROM pirata di un gioco DS che non ho mai sentito prima: _Zoo Quest Puzzle Fun_. Che gentili, che bel regalo, non solo l'emulatore gratis ma anche il gioco gratis. Sembra di essere su app store strani, e invece siamo su Google Play.
![Schermata delle pagine Google Play delle 2 app, affiancate, e schermata della lista dei file in violazione del copyright in uno dei due APK.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Emulazione-NDS-Android/Adware-Emulator-Installers.avif)
![Schermata delle pagine Google Play delle 2 app, affiancate, e schermata della lista dei file in violazione del copyright in uno dei due APK.]({{< assetsRoot >}}/Media/Emulazione-NDS-Android/Adware-Emulator-Installers.avif)
Per gli scettici, non solo vi rimando a <a href="https://mastodon.uno/@octo/108709092014240395" target="_blank" rel="noopener">questo video</a> che ho registrato qualche giorno fa, ma vi invito a scaricare le applicazioni in questione (e, magari, _bloccate l'accesso di rete o disattivate la connessione Internet_ prima di avviarle) e toccare con mano il tutto: [Green Emu NDS](https://play.google.com/store/apps/details?id=com.nud.ndsemu){[:MdTgtBlank:]}, [The FrieNDS Emu](https://play.google.com/store/apps/details?id=com.blackversion.citra_platinum){[:MdTgtBlank:]}.
Ad ogni modo, non è stata una scoperta utile: i regalini dati da queste app hanno gli stessi problemi degli APK di Drastic che si trovano sul Web.
@ -148,7 +147,7 @@ Ad ogni modo, non è stata una scoperta utile: i regalini dati da queste app han
Nel mio giro sullo store, finalmente, vedo ancora un'altra app che mi puzza di Drastic ribrandizzato, non so perché, forse per la disposizione dei tasti negli screenshot: [vDS](https://play.google.com/store/apps/details?id=com.icorewwwi.vDS){[:MdTgtBlank:]}. Costa ben 1,29€ ma, per fortuna, dopo neanche 10 secondi di ricerca ho già trovato l'APK ricaricato da altre persone sul Web, e l'ho installato.
All'apertura, confermo i miei sospetti: il menu principale è identico a quello di Drastic, eccetto per i colori cambiati. Anche tutti gli altri menu sono identici, e il motore di emulazione anche. Come se non bastasse, la cartella in cui salva i dati è esattamente la stessa di Drastic (`/sdcard/Drastic`!). Non ci hanno nemmeno provato a nascondere il furto, questi!
![I menu iniziali di Drastic e di vDS, affiancati per confronto.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Emulazione-NDS-Android/Drastic-VS-vDS-Main-Menu.avif)
![I menu iniziali di Drastic e di vDS, affiancati per confronto.]({{< assetsRoot >}}/Media/Emulazione-NDS-Android/Drastic-VS-vDS-Main-Menu.avif)
Comunque, si, l'emulatore funziona, fa aprire i file e non fa il trolling del chiudersi in faccia. Da ormai 3 giorni lo sto usando, e non ho da ridire.
@ -185,7 +184,7 @@ Nell'archivio ci sono anche altri emulatori sparsi, anche liberi, di cui ho comu
Grazie per la lettura. Vi invito a seguire il blog, anche se non in tutti gli articoli futuri ci saranno file binari in regalo 😁!
**P.S.**: Ma quanto sono bellini tutti i miei androidi che fanno girare _ACWW_ insieme? Vi lascio la foto, giusto per.
![Foto di 3 dei miei dispositivi Android tascabili, che mostrano la schermata del titolo di Animal Crossing Wild World.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Emulazione-NDS-Android/ACWW-on-Androids.avif)
![Foto di 3 dei miei dispositivi Android tascabili, che mostrano la schermata del titolo di Animal Crossing Wild World.]({{< assetsRoot >}}/Media/Emulazione-NDS-Android/ACWW-on-Androids.avif)
## [:HNotesRefsHTML:]

View File

@ -1,10 +1,9 @@
// % Title = 📈 sitoctt - Da 3 mesi fa ad oggi, l'inizio e i motivi
// % HTMLTitle = <span class="twa twa-chart-increasing twa-📈"><span>📈</span></span> sitoctt - Da 3 mesi fa ad oggi, l'inizio e i motivi
// % Description = Dopo pochi mesi dalla nascita di sitoctt e staticoso, guardo indietro per vedere i piccoli - ma certo importanti - progressi fatti finora.
// % Categories = Blog Internet
// % CreatedOn = 2022-08-26
# <span class="twa twa-chart-increasing twa-📈"><span>📈</span></span> sitoctt - Da 3 mesi fa ad oggi, l'inizio e i motivi
+++
Title = "📈 sitoctt - Da 3 mesi fa ad oggi, l'inizio e i motivi"
Description = "Dopo pochi mesi dalla nascita di sitoctt e staticoso, guardo indietro per vedere i piccoli - ma certo importanti - progressi fatti finora."
Categories = [ "Blog", "Internet" ]
Date = 2022-08-26
+++
Questo articolo si può probabilmente considerare come il primo di una serie sulla _filosofia del sitoctt_, se così vogliam dire.
Per iniziare, di cosa è meglio parlare, se non di tutto ciò che ha portato alla **nascita del sito** e ha iniziato a caratterizzarlo?
@ -30,7 +29,7 @@ Non che le **1300** attuali siano tante - affatto, ed è meglio così - ma **la
Se però, con un'immagine (ignorando che il mio font non si sia caricato, anche se lo avevo già incluso al tempo), vediamo come era nel pratico il sito nei suoi primi giorni... ahhh, ma _quanto erano grezzi alcuni dettagli_, rispetto ad oggi?
![La home page del sitoctt, vista come era il 25 maggio.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/sitoctt/home-2022-05-25.png)
![La home page del sitoctt, vista come era il 25 maggio.]({{< assetsRoot >}}/Media/Screenshots/sitoctt/home-2022-05-25.png)
Il mio _discorsone sconclusionato_ figurava più o meno ancora come lo fa oggi sulla home page, ma il resto è appena riconoscibile.
**Sembra tutto più vuoto**... essendo che mancano tutte le iconcine e i bottoni che ora ho ai bordi e nel menu globale. Si, quest'ultimo già c'era; la sua utilità in quei giorni era pressoché nulla, considerando che le pagine presenti erano di numero 2, ma diciamo che è stata buona cosa averlo creato da subito.
@ -66,7 +65,7 @@ Ce ne sono si diversi altri di siti fondati su questa idea, dell'usare il Web co
Con i siti Web si possono scegliere nei **minimi dettagli** animazioni, colori, sfondi, caratteri, disposizioni, allineamenti, categorizzazioni, abbellimenti, interazioni, ma sempre **rimanendo nel campo dei documenti**.
Davvero bello è il fatto che con il CSS scritto a mano, anche appena qualche decina di righe, si possa già istituire un'**identità grafica unica**. Poi il vero grosso del codice si traduce solo in dettagli minori (ma comunque apprezzabili).
![Foto del monitor che mostra una parte del CSS del sitoctt.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Foto/CSS-sitoctt.avif)
![Foto del monitor che mostra una parte del CSS del sitoctt.]({{< assetsRoot >}}/Media/Foto/CSS-sitoctt.avif)
Tralasciando i mezzi: questa, l'idea di creare una **galleria collaterale**, era uno dei miei obiettivi iniziali. In questi mesi l'ho un po' lasciato da parte, nel senso che mi sono concentrata principalmente sul creare contenuti, pensando che _✨ i dettagli scintillanti ✨_ avrei potuto metterli quando capita.. e dovrei iniziare a farlo, onestamente! Al momento solo la pagina home ha grandi particolarità, se escludiamo lo stile globale del sito a cui comunque ho lavorato con un minimo di regolarità.
@ -92,7 +91,7 @@ Alcuni contenuti non esclusivi sono ancora già disponibili in altri miei posti
Quelli non archiviati sono semplicemente disordinati e mal preservati, nonché senza garanzie per chi vuole copiarli o riutilizzarli; quelli, invece, che per un motivo o un altro sono archiviati, è come se per il mondo non esistessero, ed è facile che anche io li perda.
Alcuni di questi dati possono aver valore, quindi tutto **ciò è un peccato**.
Come un mesetto fa annunciai con il mio [**decretocto**](../PicoBlog.html#-2022-07-21-Decreto-fu-fatto-2) <!-- ([staticoso:Folder:Assets:AbsoluteRoot]/Files/Decreto-20-luglio-2022.pdf){[:MdTgtBlank:]} --> (_non ci s'è capito una mazza, vè?_), questa è una cosa che richiede lavoro noioso (_prendere il vecchio, valutarne la qualità, copiare il testo, incollarlo sui nuovi file di testo impaginandolo bene, scaricare foto e video, ottimizzarli bene e caricarli..._ altro che il divertimento di creare, qui è una catena di montaggio!), ma **va fatta**.
Come un mesetto fa annunciai con il mio [**decretocto**](../PicoBlog.html#-2022-07-21-Decreto-fu-fatto-2) <!-- ({{< assetsRoot >}}/Files/Decreto-20-luglio-2022.pdf){[:MdTgtBlank:]} --> (_non ci s'è capito una mazza, vè?_), questa è una cosa che richiede lavoro noioso (_prendere il vecchio, valutarne la qualità, copiare il testo, incollarlo sui nuovi file di testo impaginandolo bene, scaricare foto e video, ottimizzarli bene e caricarli..._ altro che il divertimento di creare, qui è una catena di montaggio!), ma **va fatta**.
Con i miei larghi tempi l'ho già iniziata a fare, e continuerò.
Anche i post del mio [vecchio blog](https://noblogo.org/loli-documentatrice){[:MdTgtBlank:]} vanno archiviati qui, sempre per organizzazione e preservazione - ma quelli sono più facili.

View File

@ -1,10 +1,9 @@
// % Title = 🎮 Storia antica del DSpacc
// % HTMLTitle = <span class="twa twa-🎮"><span>🎮</span></span> Storia antica del DSpacc
// % Description = La prima console da gioco della mia vita ha fatto la guerra, poi preso polvere, e ad oggi non è che stia benissimo; ma uno scopo gliel'ho dato.
// % Categories = Blog Gaming Tecnologia
// % CreatedOn = 2022-10-31
# <span class="twa twa-🎮"><span>🎮</span></span> Storia antica del DSpacc
+++
Title = "🎮 Storia antica del DSpacc"
Description = "La prima console da gioco della mia vita ha fatto la guerra, poi preso polvere, e ad oggi non è che stia benissimo; ma uno scopo gliel'ho dato."
Categories = [ "Blog", "Gaming", "Tecnologia" ]
Date = 2022-10-31
+++
Quasi due mesi fa, un po' casualmente mi è tornato alla mente il **DSpacc**; prima come concetto, parlandone con gente online, e poi direttamente come l'oggettino che fieramente possiedo.
@ -16,7 +15,7 @@ Scrivendo, però, mi sono accorta di come il contesto sarebbe stato confuso se n
Il tutto inizia quando, all'età di circa 6 anni, ebbi in regalo per il mio compleanno questo **Nintendo DS Lite**... no, non sto divagando, ora ci arrivo. Per ben 3 anni è stata la mia unica console da gioco - e, per almeno 1-2 di questi anni, il mio unico dispositivo da gioco, prima che io ottenessi il Galaxy Player o il _tablet scassone_.
Era per me un oggetto di battaglia assolutamente indispensabile, necessario sempre e ovunque al pari del mio smartphone ad oggi, e forse per questo ha avuto una vita particolarmente intensa nei suoi primi anni. Di giochi non ne avevo tantissimi, perché avevo solo 2 GB di memoria nella flashcart e nessun gioco fisico (a parte uno oscuro, che comprai solo più avanti), ma avevo alcuni tra quelli di punta. Insomma, con Pokémon, tutti i principali Mario, e pure roba come Cooking Mama (che ai tempi andava un sacco), la goduria era sempre presente.
[![Nintendo DS Lite (right side)]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/Nintendo_DS_Lite_(right_side)/4.jpg)](https://commons.wikimedia.org/wiki/File:Nintendo_DS_Lite_(right_side).jpg){[:MdTgtBlank:]}
[![Nintendo DS Lite (right side)]({{< assetsRoot >}}/Media/Misc/Nintendo_DS_Lite_(right_side)/4.jpg)](https://commons.wikimedia.org/wiki/File:Nintendo_DS_Lite_(right_side).jpg){[:MdTgtBlank:]}
_Un DS Lite.. non il mio, per ovvi tra poco ovvi - <small>Havok at en.wikipedia, CC BY 2.5 <https://creativecommons.org/licenses/by/2.5>{[:MdTgtBlank:]}, via Wikimedia Commons</small>_
## Il giorno dello spacc
@ -61,7 +60,7 @@ Con la mia nuova **pericolosissima arma** (non una mia opinione questa, ma di ch
Altre gentili anime su Internet, infatti, illustrano come i gommini conduttivi usati per i tasti dei telecomandi (e dello stesso DS) hanno spesso il giusto valore di resistenza che serve in questo caso. Fortuna ha voluto che un vecchio telecomando rotto che avevo sotto mano avesse dei gommini adatti: tagliandone uno, e tenendolo premuto col dito sui famigerati testpoint, **la console si accendeva** come prima che tagliassi via il pannello.
Qui **la cosa dura** è stata il riuscire a **fissare** quel _cosino_ alla scheda madre, in modo che facesse la giusta pressione, e quindi il giusto contatto elettrico, sui punti dove in teoria andrebbe fatta una saldatura - _per il motivo che la stessa parola "saldatura" suggerisce_. Qualche centimetro di **nastro isolante** dopo, che ho dovuto applicare e riapplicare fino a riuscire a fermarlo con la giusta tensione, e sembrava che io avessi finito; ma _la sorte ha deciso di schernirmi_.
![Foto della zona del testpoint, con sopra applicato un misto di nastro isolante ed adesivo.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/GBA-Macro-Button-Resistor.avif)
![Foto della zona del testpoint, con sopra applicato un misto di nastro isolante ed adesivo.]({{< assetsRoot >}}/Media/Misc/GBA-Macro-Button-Resistor.avif)
### L'ennesimo guaio
@ -70,7 +69,7 @@ Beh, a causa di queste manovre (e l'ho capito solo dopo), forse per il mio aver
Non vogliatemi male, ma non avendo il resistore che sapevo esattamente mi servisse, potevo mai avere il fusibile che non potevo mai immaginare si bruciasse? Ho dovuto quindi fare un bellissimo ponticello con lo stagno... Suvvia, non ha senso fare troppe storie a riguardo, non potrà mai succedere che io colleghi **per sbaglio**, nel vano batteria, una fonte di energia più potente di quello che la circuiteria della console può reggere; il fusibile della porta di ricarica è separato, quindi è da escludere che un alimentatore difettoso possa scaricare _i letterali fulmini_ nella CPU della console.
![Foto del ponte di stagno fatto (a fatica) sopra il fusibile della batteria, con contrassegnata la posizione della zona sull'intera board.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/DSpacc-Fuse-Bridge.png)
![Foto del ponte di stagno fatto (a fatica) sopra il fusibile della batteria, con contrassegnata la posizione della zona sull'intera board.]({{< assetsRoot >}}/Media/Misc/DSpacc-Fuse-Bridge.png)
### Questione risolta
@ -78,7 +77,7 @@ Mi sarebbe piaciuto ricollegare lo speaker (il posto nella parte inferiore della
Successivamente (ben **13 mesi dopo**... ho pensato per tutto questo tempo che la console fosse bella da vedere messa com'era?!?) ho **rifinito** un po' **la scocca**, principalmente usando della carta vetrata per appiattire totalmente l'altra sporgenza che normalmente serve al meccanismo a conchiglia, facendola arrivare allo stato in cui **ancora adesso è**.
![Vecchia foto ritraente il DSpacc e un pezzo di carta vetrata sulla mia scrivania, nel momento del lavoro.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/GBA-Macro-Sandpaper-Job-Detail.avif)
![Vecchia foto ritraente il DSpacc e un pezzo di carta vetrata sulla mia scrivania, nel momento del lavoro.]({{< assetsRoot >}}/Media/Misc/GBA-Macro-Sandpaper-Job-Detail.avif)
## Il seguito

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = ⚡️ Il blogging rapido con Standard Notes
// % CreatedOn = 2022-12-13
// % Downsync = /Posts/Blogging-Rapido-con-Standard-Notes.html
// % HTMLTitle = <span class="twa twa-high-voltage twa-⚡️"><span>⚡️</span></span> Il blogging rapido con Standard Notes
// % Description = Volendo scrivere e pubblicare di più, mi accorgo che il mio workflow mi rallentava, e nel cercare modi di blogging più rapidi, ripenso a Listed.
// % UpdatedOn = 2022-12-16
// % Categories = Blog Tecnologia
+++
Title = "⚡️ Il blogging rapido con Standard Notes"
CreatedOn = "2022-12-13"
Downsync = "/it/posts/Blogging-Rapido-con-Standard-Notes.html"
HTMLTitle = "<span class=\"twa twa-high-voltage twa-\"><span>⚡️</span></span> Il blogging rapido con Standard Notes"
Description = "Volendo scrivere e pubblicare di più, mi accorgo che il mio workflow mi rallentava, e nel cercare modi di blogging più rapidi, ripenso a Listed."
UpdatedOn = "2022-12-16"
Categories = "Blog Tecnologia"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-high-voltage twa-⚡️"><span>⚡️</span></span> Il blogging rapido con Standard Notes</h1>
<p>È da direi parecchio tempo che uso <strong><a href="https://standardnotes.com" rel="noopener nofollow" target="_blank">Standard Notes</a></strong> come <strong>app di note</strong> personali.<br>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🎄 Distrazioni di Natale: l'albero Padoru
// % CreatedOn = 2022-12-17
// % Downsync = /Posts/Distrazioni-di-Natale-Albero-Padoru.html
// % HTMLTitle = <span class="twa twa-christmas-tree twa-🎄"><span>🎄</span></span> Distrazioni di Natale: l'albero Padoru
// % Description = Tempo di Natale, di scongelare i Padoru, e metterli sull'albero. Durante questo calmo fai-da-te, però, scopro che ho la memoria corta...
// % Image = [staticoso:CustomPath:Assets]/Media/Padoru/Padoru-Tree-Old-New-Fragments.webp
// % Categories = Blog DIY
+++
Title = "🎄 Distrazioni di Natale: l'albero Padoru"
CreatedOn = "2022-12-17"
Downsync = "/it/posts/Distrazioni-di-Natale-Albero-Padoru.html"
HTMLTitle = "<span class=\"twa twa-christmas-tree twa-🎄\"><span>🎄</span></span> Distrazioni di Natale: l'albero Padoru"
Description = "Tempo di Natale, di scongelare i Padoru, e metterli sull'albero. Durante questo calmo fai-da-te, però, scopro che ho la memoria corta..."
Image = "[staticoso:CustomPath:Assets]/Media/Padoru/Padoru-Tree-Old-New-Fragments.webp"
Categories = "Blog DIY"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-christmas-tree twa-🎄"><span>🎄</span></span> Distrazioni di Natale: l'albero Padoru</h1>
<p>Ahhh, ed ecco che anche quest'anno siamo a Novembre. Direi che è tempo di avviare la necessaria procedura di <em>scongelamento dei <strong>Padoru</strong></em>.<br>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🐕‍🦺 Epicyon, piattaforma del Fediverso durata 2 giorni
// % CreatedOn = 2022-12-26
// % Downsync = /Posts/Epicyon-Piattaforma-del-Fediverso-Durata-2-Giorni.html
// % HTMLTitle = <span class="twa twa-service-dog twa-🐕‍🦺"><span>🐕‍🦺</span></span> Epicyon, piattaforma del Fediverso durata 2 giorni
// % Description = Ho provato una certa piattaforma del Fediverso. Belle promesse di semplicità e leggerezza, ma dopo soli 3 giorni ho dovuto togliere baracca!
// % Image = [staticoso:CustomPath:Assets]/Media/Epicyon-Dec-2022/Featured-LCD.png
// % Categories = Blog Internet
+++
Title = "🐕‍🦺 Epicyon, piattaforma del Fediverso durata 2 giorni"
CreatedOn = "2022-12-26"
Downsync = "/it/posts/Epicyon-Piattaforma-del-Fediverso-Durata-2-Giorni.html"
HTMLTitle = "<span class=\"twa twa-service-dog twa-🐕🦺\"><span>🐕‍🦺</span></span> Epicyon, piattaforma del Fediverso durata 2 giorni"
Description = "Ho provato una certa piattaforma del Fediverso. Belle promesse di semplicità e leggerezza, ma dopo soli 3 giorni ho dovuto togliere baracca!"
Image = "[staticoso:CustomPath:Assets]/Media/Epicyon-Dec-2022/Featured-LCD.png"
Categories = "Blog Internet"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-service-dog twa-🐕‍🦺"><span>🐕‍🦺</span></span> Epicyon, piattaforma del Fediverso durata 2 giorni</h1>
<p>Ormai, si sa, più passa il tempo e più finisco con l'<strong>esplorare</strong> dettagli sempre più minuti del <strong>Fediverso</strong>.<br>

View File

@ -1,11 +1,13 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🤯 Quando i problemi hardware diventano mentali (maledetto Raspino)
// % CreatedOn = 2023-01-28
// % Downsync = /Posts/Problemi-Hardware-Diventano-Mentali.html
// % HTMLTitle = <span class="twa twa-🤯"><span>🤯</span></span> Quando i problemi hardware diventano mentali (maledetto Raspino)
// % Description = Servizi che crollano decretando la fine del mio Regno Del Terrore, le giornate perse a dir mannaggia al Rasperino, e 2 mesi di peripezie...
// % Categories = Blog Sysadmin Rasperino
+++
Title = "🤯 Quando i problemi hardware diventano mentali (maledetto Raspino)"
CreatedOn = "2023-01-28"
Downsync = "/it/posts/Problemi-Hardware-Diventano-Mentali.html"
HTMLTitle = "<span class=\"twa twa-🤯\"><span>🤯</span></span> Quando i problemi hardware diventano mentali (maledetto Raspino)"
Description = "Servizi che crollano decretando la fine del mio Regno Del Terrore, le giornate perse a dir mannaggia al Rasperino, e 2 mesi di peripezie..."
Categories = "Blog Sysadmin Rasperino"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🤯"><span>🤯</span></span> Quando i problemi hardware diventano mentali (maledetto Raspino)</h1>
<p>Fino ad, ormai, 2 mesi fa, il mio <strong>regno del Rasperino</strong> era al suo <strong>splendore massimo</strong>: l'istanza Misskey, messa su giusto 2 settimane prima, <strong>andava alla grande</strong>, e ormai (quasi) tutto sembrava destinato a continuare per bene...<br>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🥴 Brutta interfaccia? File tutti distrutti!
// % CreatedOn = 2023-03-18
// % HTMLTitle = <span class="twa twa-🥴"><span>🥴</span></span> Brutta interfaccia? File tutti distrutti!
// % Description = Per fare cose di fretta, ho eliminato per errore una parte del disco del PC. Ma la colpa non è solo mia: il programma che ho usato è disegnato male.
// % Downsync = /Posts/Cattiva-Interfaccia-Partizione-Distrutta.html
// % Categories = Blog Sysadmin
// % UpdatedOn = 2023-03-20
+++
Title = "🥴 Brutta interfaccia? File tutti distrutti!"
CreatedOn = "2023-03-18"
HTMLTitle = "<span class=\"twa twa-🥴\"><span>🥴</span></span> Brutta interfaccia? File tutti distrutti!"
Description = "Per fare cose di fretta, ho eliminato per errore una parte del disco del PC. Ma la colpa non è solo mia: il programma che ho usato è disegnato male."
Downsync = "/Posts/Cattiva-Interfaccia-Partizione-Distrutta.html"
Categories = "Blog Sysadmin"
UpdatedOn = "2023-03-20"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🥴"><span>🥴</span></span> Brutta interfaccia? File tutti distrutti!</h1>
<p>Mettiamo a <strong>confronto visivo</strong> due applicazioni per PC: <strong>GNOME Disks, e GParted</strong>.</p>

View File

@ -1,11 +1,13 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🔋 Tutto per non cambiare due pile...
// % CreatedOn = 2023-04-03
// % Downsync = /Posts/Tutto-Per-Non-Cambiare-Due-Pile.html
// % HTMLTitle = <span class="twa twa-🔋"><span>🔋</span></span> Tutto per non cambiare due pile...
// % Description = Mi secco a cambiare le batterie del telecomando della TV che ho sulla scrivania, quindi ovvio realizzando un accrocco con graffette e cartone...
// % Categories = Blog DIY
+++
Title = "🔋 Tutto per non cambiare due pile..."
CreatedOn = "2023-04-03"
Downsync = "/it/posts/Tutto-Per-Non-Cambiare-Due-Pile.html"
HTMLTitle = "<span class=\"twa twa-🔋\"><span>🔋</span></span> Tutto per non cambiare due pile..."
Description = "Mi secco a cambiare le batterie del telecomando della TV che ho sulla scrivania, quindi ovvio realizzando un accrocco con graffette e cartone..."
Categories = "Blog DIY"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🔋"><span>🔋</span></span> Tutto per non cambiare due pile...</h1>
<p>Tra <strong>1 e 2 mesi fa</strong> - rendetevi conto di <strong>quanto tempo</strong> è passato <strong>prima che</strong> io <strong>mi scocciassi</strong> definitivamente - le <strong>pile nel telecomando</strong> della <strong>televisione</strong> che tengo sulla mia <strong>scrivania</strong> (la uso come secondo monitor) hanno <strong>iniziato a scaricarsi oltre il limite</strong> di usabilità sopportabile.</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🏴‍☠️ Che impatto avrà la nuova legge anti-pirateria italiana?
// % CreatedOn = 2023-04-16
// % Downsync = /Posts/Che-Impatto-Nuova-Legge-Anti-Pirateria-Italiana.html
// % HTMLTitle = <span class="twa twa-🏴‍☠️"><span>🏴‍☠️</span></span> Che impatto avrà la nuova legge anti-pirateria italiana?
// % Description = Hanno approvato in Italia una legge per un contrasto forte alla pirateria. Il fatto è che comporta rischi importanti per gli internauti.
// % Categories = Blog Internet
// % UpdatedOn = 2023-04-17
+++
Title = "🏴‍☠️ Che impatto avrà la nuova legge anti-pirateria italiana?"
CreatedOn = "2023-04-16"
Downsync = "/it/posts/Che-Impatto-Nuova-Legge-Anti-Pirateria-Italiana.html"
HTMLTitle = "<span class=\"twa twa-🏴\"><span>🏴‍☠️</span></span> Che impatto avrà la nuova legge anti-pirateria italiana?"
Description = "Hanno approvato in Italia una legge per un contrasto forte alla pirateria. Il fatto è che comporta rischi importanti per gli internauti."
Categories = "Blog Internet"
UpdatedOn = "2023-04-17"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🏴‍☠️"><span>🏴‍☠️</span></span> Che impatto avrà la nuova legge anti-pirateria italiana?</h1>
<p>Alcuni lo sapranno, in Italia è stata <strong>approvata</strong> la <strong>nuova legge anti-pirateria</strong>, ed ora i <strong>dubbi</strong> con cui noi appassionati della condivisione libera dobbiamo confrontarci sono diversi:</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 😭 Più che un esame, ho fatto una guerra.
// % CreatedOn = 2023-05-02
// % Downsync = /Posts/Piu-Che-un-Esame-Ho-Fatto-una-Guerra.html
// % HTMLTitle = <span class="twa twa-😭"><span>😭</span></span> Più che un esame, ho fatto una guerra.
// % Description = Per colpa di gente che non sa leggere delle regole, mi sono venuti i demoni in capa mentre svolgevo un esame che doveva essere facilissimo.
// % Categories = Blog
// % EditedOn = 2023-05-03
+++
Title = "😭 Più che un esame, ho fatto una guerra."
CreatedOn = "2023-05-02"
Downsync = "/it/posts/Piu-Che-un-Esame-Ho-Fatto-una-Guerra.html"
HTMLTitle = "<span class=\"twa twa-😭\"><span>😭</span></span> Più che un esame, ho fatto una guerra."
Description = "Per colpa di gente che non sa leggere delle regole, mi sono venuti i demoni in capa mentre svolgevo un esame che doveva essere facilissimo."
Categories = "Blog"
EditedOn = "2023-05-03"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-😭"><span>😭</span></span> Più che un esame, ho fatto una guerra.</h1>
<p>Come <strong>da titolo</strong>, è stato questo il <strong>pensiero poetico</strong> dispensato da mia madre oggi, dopo che al pomeriggio sono tornata a casa con una <strong>psiche</strong> completamente <strong>obliterata</strong>, irriconoscibile.</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = ☣️ Le brutture irrisolvibili della dock di Nintendo Switch (Parte I)
// % CreatedOn = 2023-06-30
// % Downsync = /Posts/Brutture-Irrisolvibili-della-Dock-Nintendo-Switch.html
// % HTMLTitle = <span class="twa twa-☣️"><span>☣️</span></span> Le brutture irrisolvibili della dock di Nintendo Switch (<i>Parte I</i>)
// % Image = https://sitoctt-assets.octt.eu.org/Media/Switch-Dock/Dock-Binned-Unsharp.webp
// % Description = Possibile trovare così tanti difetti in un solo accessorio? Nintendo, da anni, con il dock del suo Switch ci dimostra di si!
// % Categories = Blog Tecnologia Gaming
+++
Title = "☣️ Le brutture irrisolvibili della dock di Nintendo Switch (Parte I)"
CreatedOn = "2023-06-30"
Downsync = "/it/posts/Brutture-Irrisolvibili-della-Dock-Nintendo-Switch.html"
HTMLTitle = "<span class=\"twa twa-\"><span>☣️</span></span> Le brutture irrisolvibili della dock di Nintendo Switch (<i>Parte I</i>)"
Image = "https://sitoctt-assets.octt.eu.org/Media/Switch-Dock/Dock-Binned-Unsharp.webp"
Description = "Possibile trovare così tanti difetti in un solo accessorio? Nintendo, da anni, con il dock del suo Switch ci dimostra di si!"
Categories = "Blog Tecnologia Gaming"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-☣️"><span>☣️</span></span> Le brutture irrisolvibili della dock di Nintendo Switch (<i>Parte I</i>)</h1>
<p><small><em><strong>Nota</strong>: questo articolo <strong>avrebbe dovuto</strong> si in primo luogo illustrare i problemi della dock di Switch, ma poi continuare e terminare con lo <strong>sviluppo totale della mia soluzione</strong> alternativa. La prima parte è venuta <strong>bella lunga</strong>, però, e ho paura che possa <strong>eclissare</strong> quella veramente importante, quella della mia soluzione <strong>pericolosamente originale</strong>. Quindi, <strong>in questo</strong> articolo parlo solo delle <strong>mie rogne</strong>; quello che uscirà in <strong>seguito sarà</strong> dedicato al mio <strong>fai-da-te</strong>.</em></small></p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🏖️ Recensione: Pipì nel Mare (Mar Tirreno)
// % CreatedOn = 2023-08-11
// % Downsync = /Posts/Recensione-Pipi-Nel-Mar-Tirreno.html
// % HTMLTitle = <span class="twa twa-🏖️"><span>🏖️</span></span> Recensione: Pipì nel Mare (Mar Tirreno)
// % Image = https://sitoctt-assets.octt.eu.org/Media/Misc/craiyon_211338_anime_girl_in_the_ocean_looking_at_the_sunset__half_body_rem.webp
// % Description = Un'azione di solito considerata come priva di rilevanza, in un attimo speciale può scoprirsi magica e impossibile da tenere per sé: tocca scrivere una recensione.
// % Categories = Blog
+++
Title = "🏖️ Recensione: Pipì nel Mare (Mar Tirreno)"
CreatedOn = "2023-08-11"
Downsync = "/it/posts/Recensione-Pipi-Nel-Mar-Tirreno.html"
HTMLTitle = "<span class=\"twa twa-🏖\"><span>🏖️</span></span> Recensione: Pipì nel Mare (Mar Tirreno)"
Image = "https://sitoctt-assets.octt.eu.org/Media/Misc/craiyon_211338_anime_girl_in_the_ocean_looking_at_the_sunset__half_body_rem.webp"
Description = "Un'azione di solito considerata come priva di rilevanza, in un attimo speciale può scoprirsi magica e impossibile da tenere per sé: tocca scrivere una recensione."
Categories = "Blog"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🏖️"><span>🏖️</span></span> Recensione: Pipì nel Mare (Mar Tirreno)</h1>
<p>Con l'estate ormai al suo picco, in un ennesimo agosto estremamente caldo, è praticamente d'obbligo che tutte le <strong>tradizioni della stagione</strong> siano onorate, anche quest'anno.</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 📎 Mollette per capelli, ridotte a colla e sassolini
// % CreatedOn = 2023-09-15
// % Downsync = /Posts/Mollette-per-Capelli-Colla-e-Sassolini.html
// % HTMLTitle = <span class="twa twa-📎"><span>📎</span></span> Mollette per capelli, ridotte a colla e sassolini
// % Image = https://sitoctt-assets.octt.eu.org/Media/Decor/craiyon_182944_small_hair_clip_decorated_with_glitter__worn_on_head__profile_closeup_smiling__anime.webp
// % Description = Non tutte le mie creazioni DIY sono orripilanti. Stavolta, per fare un regalo sia a me che non, abbellisco delle mollette per capelli, nel primo modo che mi viene a mente.
// % Categories = Blog DIY
+++
Title = "📎 Mollette per capelli, ridotte a colla e sassolini"
CreatedOn = "2023-09-15"
Downsync = "/it/posts/Mollette-per-Capelli-Colla-e-Sassolini.html"
HTMLTitle = "<span class=\"twa twa-📎\"><span>📎</span></span> Mollette per capelli, ridotte a colla e sassolini"
Image = "https://sitoctt-assets.octt.eu.org/Media/Decor/craiyon_182944_small_hair_clip_decorated_with_glitter__worn_on_head__profile_closeup_smiling__anime.webp"
Description = "Non tutte le mie creazioni DIY sono orripilanti. Stavolta, per fare un regalo sia a me che non, abbellisco delle mollette per capelli, nel primo modo che mi viene a mente."
Categories = "Blog DIY"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-📎"><span>📎</span></span> Mollette per capelli, ridotte a colla e sassolini</h1>
<p><em>Per una serie strana di ragioni, questo articolo è rimasto tra le mie bozze per più di un mese, nonostante fosse praticamente finito. Vabbè, meglio tardi che mai, buona lettura...</em></p>

View File

@ -1,10 +1,12 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🎇 Il resocontoctt di questo 2023, almeno in termini di posting!
// % CreatedOn = 2023-12-31
// % Downsync = /Posts/Resocontoctt-2023.html
// % HTMLTitle = <span class="twa twa-🎇"><span>🎇</span></span> Il resocontoctt di questo 2023, almeno in termini di posting!
// % Categories = Blog
+++
Title = "🎇 Il resocontoctt di questo 2023, almeno in termini di posting!"
CreatedOn = "2023-12-31"
Downsync = "/it/posts/Resocontoctt-2023.html"
HTMLTitle = "<span class=\"twa twa-🎇\"><span>🎇</span></span> Il resocontoctt di questo 2023, almeno in termini di posting!"
Categories = "Blog"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🎇"><span>🎇</span></span> Il resocontoctt di questo 2023, almeno in termini di posting!</h1>
<p>Per la fine dell'anno, molti fanno la lista di buoni propositi per il nuovo, mentre io a 'sto giro stilo la raccolta di alcune mie magagne... bentornati nel mio mondo.</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 🚀 LIBERTY WINGS: un Breve RPG sulla Libertà (Recensione)
// % CreatedOn = 2024-04-07
// % Downsync = /Posts/LIBERTY-WINGS-Breve-RPG-Liberta-Recensione.html
// % HTMLTitle = <span class="twa twa-🚀"><span>🚀</span></span> LIBERTY WINGS: un Breve RPG sulla Libertà (Recensione)
// % Image = https://sitoctt-assets.octt.eu.org/Media/Games/LIBERTY-WINGS/COVER-ART.jpg
// % Description = Riguardo un breve gioco sulla libertà, ambientato in un futuro non troppo lontano, in cui l'umanità è schiava del regime di un'azienda.
// % Categories = Blog Gaming Recensioni
+++
Title = "🚀 LIBERTY WINGS: un Breve RPG sulla Libertà (Recensione)"
CreatedOn = "2024-04-07"
Downsync = "/it/posts/LIBERTY-WINGS-Breve-RPG-Liberta-Recensione.html"
HTMLTitle = "<span class=\"twa twa-🚀\"><span>🚀</span></span> LIBERTY WINGS: un Breve RPG sulla Libertà (Recensione)"
Image = "https://sitoctt-assets.octt.eu.org/Media/Games/LIBERTY-WINGS/COVER-ART.jpg"
Description = "Riguardo un breve gioco sulla libertà, ambientato in un futuro non troppo lontano, in cui l'umanità è schiava del regime di un'azienda."
Categories = "Blog Gaming Recensioni"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-🚀"><span>🚀</span></span> LIBERTY WINGS: un Breve RPG sulla Libertà (Recensione)</h1>
<p>Proprio l'altro ieri si è conclusa una <em>game jam</em>, cioè una competizione (online) di sviluppo di videogiochi, basata sul creare qualcosa utilizzando RPG Maker 95, una versione vecchissima della serie in questione di motori di gioco. ...Non è stata ben pubblicizzata, a quanto pare? Perché cercando sul web non trovo uno straccio di pagina di annuncio o che raccolga i lavori. Peccato.</p>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 📓️ Sul passaggio dai diari ai blog ai social, una riflessione
// % CreatedOn = 2024-06-22
// % Downsync = /Posts/Diari-Blog-Social-Riflessione.html
// % HTMLTitle = <span class="twa twa-📓️"><span>📓️</span></span> Sul passaggio dai diari ai blog ai social, una riflessione
// % Description = Partendo dalla proposta C2 dell'Esame di Stato 2024, racconto la mia storia e le criticità con le modernissime forme di diario personale.
// % Image = https://sitoctt-assets.octt.eu.org/Media/Decor/dall-e_ca32679b-2878-4fb1-a031-f28a3865058d.jpeg
// % Categories = Blog Internet
+++
Title = "📓️ Sul passaggio dai diari ai blog ai social, una riflessione"
CreatedOn = "2024-06-22"
Downsync = "/it/posts/Diari-Blog-Social-Riflessione.html"
HTMLTitle = "<span class=\"twa twa-📓\"><span>📓️</span></span> Sul passaggio dai diari ai blog ai social, una riflessione"
Description = "Partendo dalla proposta C2 dell'Esame di Stato 2024, racconto la mia storia e le criticità con le modernissime forme di diario personale."
Image = "https://sitoctt-assets.octt.eu.org/Media/Decor/dall-e_ca32679b-2878-4fb1-a031-f28a3865058d.jpeg"
Categories = "Blog Internet"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-📓️"><span>📓️</span></span> Sul passaggio dai diari ai blog ai social, una riflessione</h1>
<p>Quest'anno, i miei più assidui seguaci lo sanno, godo del privilegio di non dover affrontare l'esame di maturità: ho già dato abbastanza l'anno scorso, mentre ora mi trovo nel ben peggiore vortice dell'università. Ma, per coloro che invece non degnano i miei profili online delle dovute attenzioni: fa niente, lo avete scoperto ora.</p>
@ -22,7 +24,7 @@ Un po' per il meme, un po' per sfizio, ma sotto sotto anche un po' per nostalgia
<p>Tralasciando la prova di matematica che, quella si, l'ho aperta davvero solo per il meme (non capisco un'accidente!), era inevitabile che almeno la prova di italiano avesse qualche buona proposta, e tra tutte oggi ne scelgo una che, dato questo contesto, è abbastanza <em>meta</em>: la C2, della tipologia di "riflessione critica di carattere espositivo-argomentativo su tematiche di attualità"... Il nome è una palla, si, quindi la smetterei subito di citare il testo del Miur e andrei al dunque; prima, però, la traccia:</p>
<details>
<summary>(Clicca per espandere) <b>Proposta C2: Testo tratto da: Maurizio Caminito, _Profili, selfie e blog_, in LiBeR 104, (Ottobre/Dicembre 2014), pp.39-40.</b></summary>
<summary>(Clicca per espandere) <b>Proposta C2: Testo tratto da: Maurizio Caminito, <i>Profili, selfie e blog</i>, in LiBeR 104, (Ottobre/Dicembre 2014), pp.39-40.</b></summary>
<blockquote>
<p>Quando cambia il modo di leggere e di scrivere, cambiano anche le forme più consolidate per trasmettere agli altri (o a se stessi) le proprie idee e i propri pensieri. E non cè forse nessuna forma letteraria (o para-letteraria) che, nellepoca della cosiddetta rivoluzione digitale, abbia subìto una mutazione pari a quella del diario.
Il diario segreto, inteso come un quaderno o un taccuino in cui si annotano pensieri, riflessioni, sogni, speranze, rigorosamente legati alla fruizione o (ri)lettura personale, non esiste più. Non solo perché ha mutato forma, lasciando sul terreno le sembianze di scrigno del tesoro variamente difeso dalla curiosità altrui, ma perché ha subìto un vero e proprio ribaltamento di senso.</p>

View File

@ -1,9 +1,11 @@
// % Template = loli-documentatrice.html
// % Title = Gli inaspettati vantaggi della chiavetta Linux
// % Categories = Blog Tecnologia
// % CreatedOn = 2022-05-07
// % EditedOn = 2022-08-13
// % Feed = False
+++
Template = "loli-documentatrice.html"
Title = "Gli inaspettati vantaggi della chiavetta Linux"
Categories = [ "Blog", "Tecnologia" ]
Data = 2022-05-07
Lastmod = 2022-08-13
Feed = false
+++
Una cosa che ho fatto mesi fa e che, fino ad ora, si è rivelata una **scelta vincente**, è stata **l'installare** un sistema operativo basato su **Linux**, in modalità persistente, **su** una piccola **pennina USB**.
@ -30,7 +32,7 @@ Di schede microSD veloci ne avrei, ma i miei adattatori USB per quelle schedine
Insomma, prendo la fidata pennina USB 2.0 da 2 GB, color menta (_sarebbe perfetta come media di installazione di Linux Mint!_), anche questa di Kingston, e parto.
![Foto della chiavina USB che ho dedicato a Linux.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Chiavetta-Linux-2022-05-07.avif)
![Foto della chiavina USB che ho dedicato a Linux.]({{< assetsRoot >}}/Media/Chiavetta-Linux-2022-05-07.avif)
### Scelta del software
@ -60,7 +62,7 @@ Avendo provveduto ad impostare la cifratura [LUKS](https://en.m.wikipedia.org/wi
Anche il gestore di finestre integrato, [JWM](https://en.m.wikipedia.org/wiki/JWM){[:MdTgtBlank:]}, è molto pulito e mi piace abbastanza - anche se mi piacerebbe avesse qualche funzione di allineamento delle finestre (sembra non abbia nulla, o mi sbaglio?).
E ora, infine, di spazio libero ne ho abbastanza; e ho anche Minecraft!
![Schermata del desktop del mio Puppy Linux, con neofetch aperto sull'emulatore terminale.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Screenshots/Desktop-Chiavetta-Linux-2022-05-07.png)
![Schermata del desktop del mio Puppy Linux, con neofetch aperto sull'emulatore terminale.]({{< assetsRoot >}}/Media/Screenshots/Desktop-Chiavetta-Linux-2022-05-07.png)
_Crediti sfondo: [pixelartmaker.com/art/becdd8955dc57eb](http://pixelartmaker.com/art/becdd8955dc57eb){[:MdTgtBlank:]}_
### Vantaggi importanti

View File

@ -1,7 +1,8 @@
// % Categories = MicroBlog
// % CreatedOn = 2022-09-11
# Che accade
+++
Title = "Che accade"
Categories = [ "MicroBlog" ]
Date = 2022-09-11
+++
Questi ultimi 7 giorni, davvero poco è stato detto o fatto qui sul sitoctt.
Ho creato questa sezione per usarla come diario generico, ma solo ora sto scrivendo qualcosa.

View File

@ -1,11 +1,12 @@
// % Categories = MicroBlog
// % CreatedOn = 2022-09-18
# Quando metto mano io spacc
+++
Title = "Quando metto mano io spacc"
Categories = [ "MicroBlog" ]
Date = 2022-09-18
+++
Dall'altro giorno mi è, diciamo così, tornato alla mente il fatto che ho un [Nintendo DSpacc](https://wikispacc.miraheze.org/wiki/DSpacc){[:MdTgtBlank:]} nel cassetto.
![Il mio DSpacc, che esegue Pokémon Rubino dalla sua cartuccia.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/DSpacc_Pokemon_Rubino.jpg)
![Il mio DSpacc, che esegue Pokémon Rubino dalla sua cartuccia.]({{< assetsRoot >}}/Media/Misc/DSpacc_Pokemon_Rubino.jpg)
Non mi vergogno ad ammettere che è in disuso, perché l'unica cosa a cui posso giocarci è Pokémon Rubino.
Ma mica perché è rimasto uno schermo solo! È perché..
@ -30,8 +31,8 @@ La prima cosa che mi trovo a dover fare è dissaldare lo slot. _Ahia_.
Dopo aver tagliato i punti non elettrici che tenevano fissato lo slot alla scheda madre - che sembravano punti di saldatura, ma non si scioglievano - inizio prima provando a riscaldare tutti i pin pian piano, tirando leggermente fuori lo slot. Ma non va. Allora provo a riscaldare ogni singolo pin e tirare via lo stagno con quello strumento strano che serve per aspirarlo.. ma ne viene su poco e niente. Alla fine torno al metodo iniziale, ma fatto più velocemente e scorrendo.. **che disastro**!
<div class="MediaRow2" markdown="1">
![Foto dell'area in cui c'era lo slot DS.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/IMG_20220918_170148.avif)
![Foto macro dell'area in cui c'era lo slot DS.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/IMG_20220918_170157.avif)
![Foto dell'area in cui c'era lo slot DS.]({{< assetsRoot >}}/Media/Misc/IMG_20220918_170148.avif)
![Foto macro dell'area in cui c'era lo slot DS.]({{< assetsRoot >}}/Media/Misc/IMG_20220918_170157.avif)
</div>
Se ne son venuti via quasi tutti i punti di saldatura, e ora c'è il marrone. Conosco il trucchetto del graffiare via lo strato verde della PCB, per esporre metallo pulito su cui saldare, ma qui proprio non c'è spazio. Su questa scheda è tutto messo vicino, non c'è il minimo spazio di manovra.

View File

@ -1,7 +1,8 @@
// % Categories = MicroBlog
// % CreatedOn = 2022-09-23
# Nuove frontiere
+++
Title = "Nuove frontiere"
Categories = [ "MicroBlog" ]
Date = 2022-09-23
+++
Da quando qualche giorno fa l'ho scoperto. sto provando quell'epico software che è [TiddlyWiki](https://tiddlywiki.com){[:MdTgtBlank:]}.
L'ho inizialmente trovato cercando qualcosa per organizzare note in formato ricco, da poter usare per la scuola, e che fosse ovviamente libero.

View File

@ -1,8 +1,9 @@
// % Categories = MicroBlog
// % CreatedOn = 2022-10-16
// % UpdatedOn = 2022-10-20
# Aggiornamenti DSpacc - Tastino maledetto
+++
Title = "Aggiornamenti DSpacc - Tastino maledetto"
Categories = [ "MicroBlog" ]
Date = 2022-10-16
Lastmod = 2022-10-20
+++
Un mesetto fa, nel [post del 18 ottobre](./2022-09-18-Quando-Metto-Mano-Io-Spacc.html), avevo brevemente detto che fosse il DSpacc, e che nuovo guaio avessi combinato.
Beh, stavolta ho fatto pure di peggio; per capire le proporzioni, è bene rispolverare un secondo cosa avevo scritto.
@ -17,7 +18,7 @@ In quel momento mi scoccio di aprire la console, ma vedo che due minuti di eserc
Oggi decido finalmente di rismontare il DSpacc, per vedere di fare il servizio al tastino. Con mia sorpresa, vedo che questo è come rialzato dal lato; uno dei tanti pin GND si è dissaldato, mentre l'unico che chiude l'altro lato del circuito, si nota appena, si è spezzato.
![Foto macro del tasto rialzato.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/DSpacc-Shoulder-Macro-Front.avif)
![Foto macro del tasto rialzato.]({{< assetsRoot >}}/Media/Misc/DSpacc-Shoulder-Macro-Front.avif)
Ora, non si può dire se i problemi a registrare le pressioni fossero dovute al tasto fracassato esternamente, oppure a problemi interni che non centrano nulla con il malfunzionamento iniziale del tasto (e la distruzione finale è avvenuta a causa del mio premere il bottone un centinaio di volte al minuto per farlo esercitare).. quel che è certo è che non basta l'alcol per sistemare 😅.
@ -28,10 +29,10 @@ A questo punto, penso di dissaldare il bottoncino, perché tanto ormai... e la c
Tempo di prendere un nuovo tastino dai tanti che ho da parte, anche se molto più grande di quello dorsale del DS, e saldarlo.
Vabbè, basta, mi scoccio di girarci ancora attorno: tento di saldare un filo sul contatto principale, ma lo stagno non attacca. È micidiale la PCB del DSpacc, oh. Provo, riprovo.. e finisce che il pad metallico su cui saldare se ne viene via. Un classicocto, oserei proprio dire, finisce sempre così! 😑
![Foto macro della zona di saldatura del dorsale, con il pad centrale distrutto.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/DSpacc-Shoulder-PCB-Pad-Broken.avif)
![Foto macro della zona di saldatura del dorsale, con il pad centrale distrutto.]({{< assetsRoot >}}/Media/Misc/DSpacc-Shoulder-PCB-Pad-Broken.avif)
Era meglio un tasto dorsale che funziona con grande fatica, o è meglio non averlo proprio? Non lo so, e non voglio saperlo. Fatto sta che ora dovrò trovare delle soluzioni, ai numerosi problemi frutto di questa storiaccia,...,,,..,
_**P.S, aggiornamento del 2022-10-20:** Vi concedo una foto del bottone rotto smontato, prima di buttarlo, perché no? La microSD nell'angolo fa da scala, per far capire le dimensioni._
![Foto macro del tasto staccato e smontato.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/DSpacc-Shoulder-Button-Disassembled-Macro.avif)
![Foto macro del tasto staccato e smontato.]({{< assetsRoot >}}/Media/Misc/DSpacc-Shoulder-Button-Disassembled-Macro.avif)

View File

@ -8,7 +8,7 @@
<details markdown="1"><summary>
#### [2019-09-18 20:58] Lagwei lazur </summary>
> A.y&#x3A; ooooo
> ![Foto del Huawei di A.y, che sembra emettere un laser viola dal sensore di prossimità.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/A.y-Huawei-Laser.avif)
> ![Foto del Huawei di A.y, che sembra emettere un laser viola dal sensore di prossimità.]({{< assetsRoot >}}/Media/Misc/A.y-Huawei-Laser.avif)
> Octt&#x3A; cosa ezere quel lazur viola
@ -20,7 +20,7 @@
> A.y&#x3A; esere sensore di prossimità
> A.y&#x3A; se tu spaca vetro sopra quelo
> ![Sticker di un violinista che suona. In questo contesto di chat sottintende qualcosa di finito male.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Stickers/Violin.avif)
> ![Sticker di un violinista che suona. In questo contesto di chat sottintende qualcosa di finito male.]({{< assetsRoot >}}/Media/Stickers/Violin.avif)
> A.y&#x3A; lo so per esperienza
> &#xA0; no non è vero
@ -29,10 +29,10 @@
<details markdown="1"><summary>
#### [2019-09-17 15:16] Test più disparati con il Galaxy Player </summary>
> &#x3A; Good Lagsung
> ![Foto del Galaxy Player, che mostra il canale Telegram in Plus Messenger.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-OctoVoLTE.avif)
> ![Foto del Galaxy Player, che mostra il canale Telegram in Plus Messenger.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-OctoVoLTE.avif)
> &#x3A; 512 MB di RAM e gira meglio del Lagwei
> ![Schermata "RAM" in "Gestione Attività" del Galaxy Player. Sono indicati 215 MB su 488 MB di RAM occupati.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Task-Manager-RAM.avif)
> ![Schermata "RAM" in "Gestione Attività" del Galaxy Player. Sono indicati 215 MB su 488 MB di RAM occupati.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Task-Manager-RAM.avif)
> &#x3A; Ora proviamo l'emulatore del N64 e del DS, così esplode
@ -40,7 +40,7 @@
{: .Center }
> &#x3A; Eeee i giochi del DS girano meglio su un Android di 8 anni fa che sul mio PC [l'Android in questo caso è ARMv7, mentre il PC è x86_64, ndr], perfetto
> <video controls><source src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/GP3.6-Pokemon-Platino.webm" type="video/webm">Pokemon Platino</video>
> <video controls><source src="{{< assetsRoot >}}/Media/Galaxy-Player-3.6/GP3.6-Pokemon-Platino.webm" type="video/webm">Pokemon Platino</video>
> **[Sondaggio]** Devo provare del DS come prossimo gioco
@ -57,10 +57,10 @@
{: .Center }
> &#x3A; Ho trovato una cosa nella memoria del lag
> ![Schermata di una cartella, con dentro i file di un NANDroid backup del Galaxy Player risalente al 2017-12-09.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/CWM-Backup-2017-12-09.avif)
> ![Schermata di una cartella, con dentro i file di un NANDroid backup del Galaxy Player risalente al 2017-12-09.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/CWM-Backup-2017-12-09.avif)
> &#x3A; Ecco un motivo per cui le nuove versioni di Android fanno schifo [gestiscono il collegamento come memoria USB peggio di Android 2.3, ndr]
> ![Foto del Galaxy Player che mostra la schermata "Archivio USB in uso".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Archivio-USB.avif)
> ![Foto del Galaxy Player che mostra la schermata "Archivio USB in uso".]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Archivio-USB.avif)
> &#x3A; In realtà ce ne sono tanti, poi ne parleremo
> &#x3A; E ora testiamo gli altri giochi
@ -69,10 +69,10 @@
{: .Center }
> &#x3A; Super Mario 64 DS
> <video controls><source src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/GP3.6-SM6464DS.webm" type="video/webm">Super Mario 64 DS</video>
> <video controls><source src="{{< assetsRoot >}}/Media/Galaxy-Player-3.6/GP3.6-SM6464DS.webm" type="video/webm">Super Mario 64 DS</video>
> &#x3A; Mario Kart DS
> <video controls><source src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/GP3.6-MKDS.webm" type="video/webm">Mario Kart DS</video>
> <video controls><source src="{{< assetsRoot >}}/Media/Galaxy-Player-3.6/GP3.6-MKDS.webm" type="video/webm">Mario Kart DS</video>
> &#x3A; Allora, vorrei registrare altri giochi ma il Memewei è rotto e, nonostante abbia cancellato i video di prima, dice che non ho memoria
@ -82,19 +82,19 @@
> &#x3A; Non ho registrato ma il framerate dei giochi era sempre stabile e giocabile.. purtroppo i giochi non sono tanto giocabili, ma soltanto perchè ci sono gravi glitch grafici
> &#x3A; Credo sia colpa dell'emulatore che è vecchio (purtroppo su Android 2.3.6 non posso fare molto)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-0.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-1.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-2.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-3.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-0.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-1.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-2.avif)
> ![Schermata di Mario Kart 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Mario-Kart-64/GP3.6-MK64-3.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-0.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-1.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-2.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-0.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-1.avif)
> ![Schermata di Super Mario 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Super-Mario-64/GP3.6-SM64-2.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-0.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-1.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-2.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-3.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-0.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-1.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-2.avif)
> ![Schermata di Wave Race 64 emulato sul Galaxy Player.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/Wave-Race-64/GP3.6-WR64-3.avif)
> &#x3A; Gli screen li ho fatti direttamente sul Lagsung con una app
@ -102,14 +102,14 @@
> &#x3A; A parte Zelda che ho provato ora, gli altri giochi hanno un framerate stabile se vedete, nice, un Lagsung di 8 anni fa si sta riscattando.
> &#x3A; Vi avverto che ci potrebbe essere un trigger epilettico quando avvio quake 2 eh xd
> <video controls><source src="[staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/N64/GP3.6-N64-Misc.webm" type="video/webm">N64</video>
> <video controls><source src="{{< assetsRoot >}}/Media/Galaxy-Player-3.6/N64/GP3.6-N64-Misc.webm" type="video/webm">N64</video>
> &#x3A; Vabbè per ora basta test sul Lagsung
</details>
<details markdown="1"><summary>
#### [2019-09-16 18:35] Memewei memoria piena </summary>
> !["Schermata del P9 Lite Mini che dice che la memoria è quasi piena e ciò rallenterebbe il dispositivo."]([staticoso:Folder:Assets:AbsoluteRoot]/Media/P9-Lite-Mini/Memewei-Memoria-Piena.avif)
> !["Schermata del P9 Lite Mini che dice che la memoria è quasi piena e ciò rallenterebbe il dispositivo."]({{< assetsRoot >}}/Media/P9-Lite-Mini/Memewei-Memoria-Piena.avif)
> &#x3A; Il Memewei si dimostra valido kek
@ -137,7 +137,7 @@ Qui un po' di contesto è doveroso: questo schifo di smartphone, quando ha tipo
> &#x3A; Non ha quelle emoji tossiche perché ha di meglio
> &#xA0; MOLTO MEGLIO
> ![Foto del Galaxy Player che mostra la app di note, con aperta la tastiera sulla scheda delle emoticon, che sono nel vecchio stile a simboli, non emoji.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Notepad-Emoticon-Keyboard.avif)
> ![Foto del Galaxy Player che mostra la app di note, con aperta la tastiera sulla scheda delle emoticon, che sono nel vecchio stile a simboli, non emoji.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Notepad-Emoticon-Keyboard.avif)
[...]
{: .Center }
@ -161,10 +161,10 @@ Qui un po' di contesto è doveroso: questo schifo di smartphone, quando ha tipo
> &#xA0; Ho lasciato il coso lì attaccato quasi mezz'ora e non andava, quindi stacco
> &#x3A; Lo riaccendo e
> ![Sticker distorto di Kanna e Tohru (due loli drago) che leggono un libro chiamato "Am I retarded?".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Stickers/Lolis-Reading-Am-I-Retarded-Book.avif)
> ![Sticker distorto di Kanna e Tohru (due loli drago) che leggono un libro chiamato "Am I retarded?".]({{< assetsRoot >}}/Media/Stickers/Lolis-Reading-Am-I-Retarded-Book.avif)
> &#x3A; Si, perché c'era una bella schermata che diceva
> ![Foto del Galaxy Player che, sul bootloader, mostra un triangolo di avvertimento e la scritta "Firmware update encountered an issue. Please select recovery mode in Kies & try again.".]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Softbrick-Bootloader.avif)
> ![Foto del Galaxy Player che, sul bootloader, mostra un triangolo di avvertimento e la scritta "Firmware update encountered an issue. Please select recovery mode in Kies & try again.".]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Softbrick-Bootloader.avif)
> &#x3A; E quindi, niente, io visto che ho la segatura nel cervello, per letteralmente quasi un anno ho creduto fosse la mia ROM corrotta, perché anche se riflashavo dava sempre errore alla fine, e letteralmente per un anno ho perso tempo a cercare altre ROM inutilmente
@ -183,7 +183,7 @@ Qui un po' di contesto è doveroso: questo schifo di smartphone, quando ha tipo
> &#xA0; Compresi i miei oldissimi mondi di Minecraft
> &#x3A; E niente sar, questo è il Lagsoong di nuovo in vita dopo un anno di coma
> ![Foto della schermata di blocco del Galaxy Player, con uno sfondo di Astolfo non-canon.]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Astolfo-Lockscreen.avif)
> ![Foto della schermata di blocco del Galaxy Player, con uno sfondo di Astolfo non-canon.]({{< assetsRoot >}}/Media/Galaxy-Player-3.6/Galaxy-Player-3.6-Astolfo-Lockscreen.avif)
</details>
<details markdown="1"><summary>
@ -194,7 +194,7 @@ Qui un po' di contesto è doveroso: questo schifo di smartphone, quando ha tipo
> &#x3A; Ah e, ovviamente, metodi per avere 🅱oLTE sul telefono
> ![VoLTE]([staticoso:Folder:Assets:AbsoluteRoot]/Media/Misc/phh-VoLTE-JiOwO.avif)
> ![VoLTE]({{< assetsRoot >}}/Media/Misc/phh-VoLTE-JiOwO.avif)
Da questi messaggi ebbe ufficialmente inizio la storia di OctoVoLTE. Di Memewei se n'è parlato lì in questi anni, forse anche troppo; Di metodi per avere VoLTE, non se n'è avuto nemmeno uno, tipo. Sad.
</details>

View File

@ -1,12 +1,14 @@
<!-- < Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. > -->
// % Title = 2⃣ Gaming sincronizzato tra PlayStation 2 e smartphone
// % CreatedOn = 2023-10-17
// % Downsync = /Posts/Notes/Gaming-Sincronizzato-PS2-Smartphone.html
// % HTMLTitle = <span class="twa twa-2⃣"><span>2</span></span> Gaming sincronizzato tra PlayStation 2 e smartphone
// % Description = Per filo e per segno, come ho ideato un sistema per avere giochi e salvataggi sempre sincronizzati tra emulatore e console PS2 reale, condiviso qui.
// % Categories = Note Gaming
// % EditedOn = 2023-10-18
+++
Title = "2⃣ Gaming sincronizzato tra PlayStation 2 e smartphone"
CreatedOn = "2023-10-17"
Downsync = "/it/posts/Notes/Gaming-Sincronizzato-PS2-Smartphone.html"
HTMLTitle = "<span class=\"twa twa-2\"><span>2</span></span> Gaming sincronizzato tra PlayStation 2 e smartphone"
Description = "Per filo e per segno, come ho ideato un sistema per avere giochi e salvataggi sempre sincronizzati tra emulatore e console PS2 reale, condiviso qui."
Categories = "Note Gaming"
EditedOn = "2023-10-18"
+++
<!-- Autogenerated by ListedDownsync.js. Do not edit (unless also set "% Downsync = False") - it would be overwritten. -->
<h1><span class="twa twa-2⃣"><span>2</span></span> Gaming sincronizzato tra PlayStation 2 e smartphone</h1>
<p>Chi segue le mie avventure da abbastanza tempo e con dovuta attenzione forse lo sa, ma il più grande problema dell'informatica è: come conciliare bene le discrepanze che si vengono a creare quando ci si pone il problema di videogiocare sia a casa che in portatilità? Tra giochi che in un caso sono comodi da giocare e in un altro magari nemmeno girano, e i salvataggi che si spargono per innumerevoli dispositivi diversi, risolvere questo problema in toto non sarà mai possibile...<br>

43
hugo.toml Normal file
View File

@ -0,0 +1,43 @@
relativeURLs = true
theme = ["hugo-notice", "ananke"]
disablePathToLower = true
defaultContentLanguage = 'it'
defaultContentLanguageInSubdir = true
[permalinks]
[permalinks.page]
posts = "Posts/:year/:month/:day/:slug/"
[permalinks.section]
posts = "Posts/"
[languages]
[languages.it]
contentDir = "content/it"
languageDirection = "ltr"
languageName = "Italiano"
weight = 1
[languages.en]
contentDir = "content/en"
languageDirection = "ltr"
languageName = "English"
weight = 2
#[security]
# enableInlineShortcodes = false
# [security.exec]
# allow = ['^(dart-)?sass(-embedded)?$', '^go$', '^git$', '^npx$', '^postcss$', '^tailwindcss$', '^asciidoctor$']
[markup]
[markup.goldmark]
[markup.goldmark.parser]
[markup.goldmark.parser.attribute]
block = true
title = true
[markup.goldmark.renderer]
unsafe = true
[params]
toc = true
#custom_css = [ "Global.scss", "sitoctt.scss" ]

View File

@ -0,0 +1 @@
https://sitoctt-assets.octt.eu.org

View File

@ -0,0 +1,4 @@
{{- $name := (.Get 0) -}}
{{- with $name -}}
{{- with ($.Page.Param .) }}{{ . | safeHTML }}{{ else }}{{ errorf "Param %q not found: %s" $name $.Position }}{{ end -}}
{{- else }}{{ errorf "Missing param key: %s" $.Position }}{{ end -}}

View File

@ -0,0 +1,14 @@
{{- $languageName := "[???]" -}}
{{- $languageCode := (.Get 0) -}}
{{- range .Site.Languages -}}
{{- if eq $languageCode (string .) -}}
{{- $languageName = .LanguageName -}}
{{- end -}}
{{- end -}}
{{- $noticeText := "" -}}
{{- with dict "languageName" $languageName -}}
{{- $noticeText = (i18n "noticeAutomaticTranslation" .) -}}
{{- end -}}
{{- with dict "Params" "" "noticeType" "caution" "Inner" $noticeText -}}
{{- partial "notice" . -}}
{{- end -}}

1
requirements.txt Normal file
View File

@ -0,0 +1 @@
translate-shell

1
themes/ananke Submodule

@ -0,0 +1 @@
Subproject commit 33fbda0e9d3e97c92af5d195be94e8eea8003239

33
themes/hugo-notice/.gitignore vendored Normal file
View File

@ -0,0 +1,33 @@
# Hugo
public/
resources/
# Node
node_modules/
# Mac finder files and hidden folders
*.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

674
themes/hugo-notice/LICENSE Normal file
View File

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@ -0,0 +1,122 @@
# hugo-notice
[![Awesome](https://awesome.re/badge.svg)](https://github.com/budparr/awesome-hugo)
## About
A [Hugo](https://gohugo.io) theme component providing a shortcode: `notice` to display nice notices, and supporting dark mode.
Several sets of icons are provided too: make your choice second your taste!
Four notice types are provided: `warning`, `info`, `note` and `tip`.
This component comes with __localization in 18 languages__: English, French, German, Italian, Portuguese, Spanish, Chinese, Russian, Turkish, Arabic, Polish, Finnish, Korean, Vietnamese, Swahili, Japanese, Chinese (Taiwan) and Swedish.
Other languages welcome! Send your pull request.
![Screenshot](screenshot.png)
## Installation
### As a Hugo module
1. Initialize your existing site as hugo module
```shell
hugo mod init github.com/USERNAME/REPO
```
2. Add the `hugo-notice` as a hugo module to be able to get upstream changes later
```shell
hugo mod get github.com/martignoni/hugo-notice
```
3. In your site's or theme's configuration file `hugo.yaml` or `hugo.toml`, add a new `module` section and define both `hugo-notice` and your currently used theme as modules to be imported.
Example, with `hugo.yaml`:
```yaml
module:
imports:
- path: github.com/martignoni/hugo-notice
- path: my-theme
```
or, with `hugo.toml`,
```toml
[module]
[[module.imports]]
path = "github.com/martignoni/hugo-notice"
[[module.imports]]
path = "my-theme"
```
### As a Git submodule
1. Add the `hugo-notice` as a submodule to be able to get upstream changes later `git submodule add https://github.com/martignoni/hugo-notice.git themes/hugo-notice`
2. Add `hugo-notice` as the left-most element of the `theme` list variable in your site's or theme's configuration file `hugo.yaml` or `hugo.toml`.
Example, with `hugo.yaml`:
```yaml
theme: ["hugo-notice", "my-theme"]
```
or, with `hugo.toml`,
```toml
theme = ["hugo-notice", "my-theme"]
```
## Usage
In your site, use the shortcode, this way:
```go
{{< notice warning >}}
This is a warning notice. Be warned!
{{< /notice >}}
```
or
```go
{{< notice tip >}}
This is a very good tip.
{{< /notice >}}
```
### Enabling dark mode
We recommend that you use the standard [`prefers-color-scheme`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme) CSS media feature to detect if a user has requested light or dark color themes. In this case, dark mode will work automatically. The `prefers-color-scheme` media feature is fully supported by all modern browsers.
Another way to make it work is to inject (e.g. via Javascript) the class `dark` into the `body` element of your pages when dark mode is needed.
### Changing icon set
Just copy the icons from one of the subfolders of folder `icons/` into folder `icons/`.
Any __solid__ SVG icons can be used. If you want to contribute your open licensed icons, your pull request is welcome.
## Acknowledgements
Copyright © 2019 onwards, Nicolas Martignoni nicolas@martignoni.net.
### Localization
Thanks to
- [Geraldo Ribeiro](https://github.com/geraldolsribeiro) for the Portuguese localization.
- [thatrocketx](https://github.com/thatrocketx) for the Italian localization.
- [casaqori](https://github.com/casaqori) for the Spanish localization.
- [理头张](https://github.com/qidongz) for the Chinese localization.
- [Алексей Корнеев](https://github.com/korney4eg) for the Russian localization.
- [Ahmad Al Maaz](https://github.com/Music47ell) for the Turkish and Arabic localizations.
- [Rafal S.](https://github.com/sulik76) for the Polish localization.
- [Oskari J. Manninen](https://github.com/x7Gv) for the Finnish localization.
- [Haseop Lee](https://github.com/haservi) for the Korean localization.
- [Bùi Nguyễn Hoàng Thọ](https://discourse.gohugo.io/u/hoangtho97/summary) for the Vietnamese localization.
- [callaloo](https://github.com/callaloo) for the Swahili localization.
- [kevinzch](https://github.com/kevinzch) for the Japanese and Chinese (Taiwan) localizations.
- [mcfrojd](https://github.com/mcfrojd) for the Swedish localization.
### Development
Thanks to
- [Gary Tai](https://github.com/gary-tai) for raising a nasty spacing bug.
- [Dephilia](https://github.com/Dephilia) for suggesting and implementing dark mode.
- [RoneoOrg](https://github.com/RoneoOrg) for implementing default notice type.
- [Andreas Deininger](https://github.com/deining) for installation as a Hugo module How To.
- [rea1shane](https://github.com/rea1shane) for suggesting and implementing a few useful features.

View File

@ -0,0 +1,3 @@
module github.com/martignoni/hugo-notice
go 1.18

View File

@ -0,0 +1,8 @@
- id: warning
translation: "تحذير"
- id: note
translation: "ملاحظة"
- id: info
translation: "معلومة"
- id: tip
translation: "نصيحة"

View File

@ -0,0 +1,8 @@
- id: warning
translation: "Warnung"
- id: note
translation: "Anmerkung"
- id: info
translation: "Info"
- id: tip
translation: "Hinweis"

View File

@ -0,0 +1,12 @@
- id: caution
translation: "Caution"
- id: warning
translation: "Warning"
- id: danger
translation: "Danger"
- id: note
translation: "Note"
- id: info
translation: "Info"
- id: tip
translation: "Tip"

Some files were not shown because too many files have changed in this diff Show More