diff --git a/Assets/Assets/WM.css b/Assets/Assets/WM.css index 67a09af..179b016 100644 --- a/Assets/Assets/WM.css +++ b/Assets/Assets/WM.css @@ -23,9 +23,7 @@ --TaskBarHeight: 36px; } -* { - Box-Sizing: Border-Box; -} +* { Box-Sizing: Border-Box; } Body { Margin: 0; @@ -62,12 +60,8 @@ Body { Backdrop-Filter: Blur(Var(--RectBlur)); Border: Solid Var(--WindowBorderSize) Var(--TitleBarBackground); } -.Window:Hover { - Z-Index: 192 !Important; -} -.Window A, .WindowContent A { - /*Color: Var(--WindowLinks);*/ -} +.Window:Hover { Z-Index: 192 !Important; } +.Window A, .WindowContent A { /*Color: Var(--WindowLinks);*/ } .TitleBar { Padding: Var(--WindowMargin); @@ -77,16 +71,9 @@ Body { Vertical-Align: Top; Max-Height: Var(--TitleBarHeight); } -.TitleBarContent { - Text-Align: Center; -} - -.TitleBarContent > Span:Nth-Child(1) { - Float: Left; -} -.TitleBarContent > Span:Nth-Child(3) { - Float: Right; -} +.TitleBarContent { Text-Align: Center; } +.TitleBarContent > Span:Nth-Child(1) { Float: Left; } +.TitleBarContent > Span:Nth-Child(3) { Float: Right; } .TaskBar { Width: 100%; @@ -100,9 +87,9 @@ Body { Max-Height: Var(--TaskBarHeight); Z-Index: 256; } -.TaskBar > Details { - Z-Index: 296; -} + +.TaskBar > Details { Z-Index: 296; } +.TaskBar > Details > Summary { Width: Max-Content; } .TaskBar > Details > Div { Position: Fixed; Left: 0px; @@ -114,12 +101,8 @@ Body { Max-Height: Calc(90vh - Var(--TaskBarHeight)); Overflow-Y: Scroll; } -.TaskBarMenu { - Font-Size: Larger; -} -.TaskBarMenu A { - Color: Var(--TaskBarLinks) !Important; -} +.TaskBarMenu { Font-Size: Larger; } +.TaskBarMenu A { Color: Var(--TaskBarLinks) !Important; } .MenuButton { Display: Inline-Block; Height: 100%; @@ -137,9 +120,7 @@ Body { Opacity: 0; /*Visibility: Hidden;*/ } -.CheckLabel:Before { - Content: '🔼'; -} +.CheckLabel:Before { Content: '🔼'; } :Checked ~ .TitleBarContent > Span > .CheckLabel:Before { Content: '🔽'; } @@ -181,12 +162,12 @@ Body { #MainWindow { Max-Width: 85vw; Max-Height: Calc(90vh - 24px); - Top: Calc(24px + Var(--TitleBarHeight)); + Top: Calc(/*24px*/56px + Var(--TitleBarHeight)); Right: 12px; Z-Index: 20; } #MainWindow .WindowContent { - Max-Height: Calc(90vh - 24px - (Var(--TitleBarHeight) * 2) - Var(--WindowMargin)); + Max-Height: Calc(90vh - /*24px*/56px - (Var(--TitleBarHeight) * 2) - Var(--WindowMargin)); } #TitlesWindow { @@ -269,9 +250,7 @@ Body { Bottom: Calc(Var(--TaskBarHeight) + Var(--WindowMargin)); Left: Calc(Var(--WindowMargin) * 2); } -#DesktopButtons:Hover { - Z-Index: 192 !Important; -} +#DesktopButtons:Hover { Z-Index: 192 !Important; } /*--- "Show Desktop" feature -------------------------*/ #DesktopCheck { @@ -279,9 +258,7 @@ Body { Width: Calc(Var(--TaskBarHeight) - 4px); Height: Calc(Var(--TaskBarHeight) - 4px); } -#DesktopCheck ~ Label { - Height: Var(--TaskBarHeight); -} +#DesktopCheck ~ Label { Height: Var(--TaskBarHeight); } #DesktopCheck, #DesktopCheck ~ Label { Position: Absolute; Bottom: 0 !Important; diff --git a/Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.md b/Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.md index f8090b2..b1828f4 100644 --- a/Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.md +++ b/Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.md @@ -9,18 +9,24 @@

Fino ad, ormai, 2 mesi fa, il mio regno del Rasperino era al suo splendore massimo: l'istanza Misskey, messa su giusto 2 settimane prima, andava alla grande, e ormai (quasi) tutto sembrava destinato a continuare per bene...
E invece, sono subentrati i problemi. Diciamo che ci ho messo un pochino ad accorgermene, perché si sono sviluppati in modo stranamente graduale.

+

Le crepe iniziali

+

La prima cosa veramente strana la notai verso l'inizio di Dicembre, in cui mi accorsi che il sistema poteva crashare provando a fare un'operazione molto banale ma specifica: creare un grande archivio di file (compresso e non)... con qualunque programma.
Questo piccolo inconveniente ha, a sua volta, causato una problematica secondaria... Ci arrivo.
Comunque, non ci ho fatto troppo caso. Come potevo? Il resto, se non toccato, funzionava, a parte qualche leggera degradazione delle prestazioni dovuta al lavoro di Misskey stesso.

+

Il primo crollo

+

Ma poi, sono passate quelle altre 2 settimane di relativa pace, e io mi sveglio con il server piantato, e che muore male dopo qualunque mio riavvio manuale (staccando e riattaccando l'alimentatore, è l'unico modo). Dopo 2 giorni di ricerca molto scazzata non ho capito assolutamente qual'era la causa generale del problema, ma solo il sintomo più grave, e ormai mi stavo quasi per convincere che in qualche modo mistico Misskey da solo riuscisse ad abbattere tutto il server, che invece tornava a girare per bene senza quel particolare software in esecuzione. Beh, un fondo di logica nel mio ragionamento c'era, visto che comunque l'uso medio di CPU e RAM era alto (anche se non andava a saturare totalmente).
Nei giorni ancora successivi, invece, con qualche test scopro che il server non si piantava per via del serverino di microblogging, ma per quello che gli fa da database: PostgreSQL (in Docker). Se eseguivo Misskey sul mio PC, ma lo lasciavo collegarsi al database sul Raspino, ecco che in pochi secondi, con l'arrivo di tante note, il server fruttato moriva.

Ormai, ad ogni modo, era per me chiara la necessità di installare qualcos'altro, perché mi ero convinta che Misskey fosse troppo pesante, e pazienza.
Per ben 2 giorni ho provato Epicyon, una piattaforma a dir poco particolare... e l'esperienza non è stata proprio gradevolissima, ma credo sia stata completa, visto che quattromila parole le ho cacciate fuori nel mio articolo dedicato. Subito dopo ho quindi deciso di dare una chance ad un altro software che non avevo mai visto prima, ossia GoToSocial. Con quest'ultimo, nonostante sia dichiaratamente di qualità alpha (e infatti ha qualche problemino), mi sono trovata - perché ahimè ora è tutto finito... ci arrivo, ci arrivo - molto bene, ma non è questo il punto.

+

Problemi sempre più sospetti

+

Appena pochi giorni dopo, quei crash strani hanno ripreso a presentarsi, ma stavolta erano decisamente sospetti, perché l'utilizzo di risorse generale del sistema era basso. Io ho provato a leggere i log di sistema in maniera produttiva, ma la mia pazienza era ormai arrivata al limite, e con essa la mia lucidità, quindi ogni giorno cercavo il minimo errore sospetto ma leggibile, fissandomi su quello ed ignorando completamente l'errore illeggibile che mi stava sempre di fronte.

Ormai, giusto per disperazione, ma non perché avevo capito ragionando fosse quello il problema, mi decido a cambiare la schedina microSD, e adesso che l'ho fatto mi pento amaramente... di non averci provato prima! Il problema era quello, maremma scapestrata!
@@ -80,11 +86,15 @@ Altro tempo ancora fu allora perso nel flashar +

La pace violata

+

La cosa importante è che, messa la nuova SD nel server lampone, quegli errori terrificanti non si sono più presentati, e i grossi problemi sono spariti... o almeno così credevo, volevo, speravo.
Se questo articolo, che sarebbe dovuto letteralmente uscire alla fine dell'anno scorso, esce solo ora, dei motivi ci sono. Subito dopo che ebbi fatto il cambio di scheda SD, preferii aspettare qualche giorno, per vedere se davvero le acque si fossero calmate, ed evitare di cantare vittoria troppo presto. Ho fatto bene!

+

Il disco sofferente

+

Ahimè, infatti, quelle altre cose viste nei giorni passati nei log non erano degli enormi buchi nell'acqua (ancora agitata), in particolare gli errori che ho subito riconosciuto riguardare il disco USB.
È una cosa che mi succedeva già in passato con un altro adattatore USB per dischi SATA da 2.5", addirittura su macchine diverse (nel periodo in cui ho usato la mia console Nintendo Switch come server...), ma con questo che uso ora non c'erano mai stati problemi. E però ora, a quanto vedo, si scollega dall'host in maniera casuale, facendo morire tutti quei processi che dipendono dai file che stanno su quel disco, come se di punto in bianco ci fossero attimi in cui non riceve abbastanza corrente. Con qualsiasi combinazione di adattatori SATA e cavetti USB (sia corti che lunghi), il disco funziona ancora alla grande su PC, quindi il problema è chiaramente il Raspino... ma vai a capire perché!

@@ -93,6 +103,8 @@ Tornando al mondo reale, l'unica ipotesi sensata mi pare che sia questa: a furia +

Per tentare di risolvere

+

Non avendo un altro Raspone uguale, e non avendo altri alimentatori 5V 3A, la verità non la scoprirò mai, ma la soluzione in qualche modo devo trovarla per forza.
Dopo aver aspettato così tanto che i problemi al server sono diventati solo più grossi, e i downtime molto più frequenti, mi decido a comprare un cavo USB-A-Y. Alla peggio, se pure non avessi risolto, un cavo di questo tipo fa sempre comodo averlo perché - nonostante violi gli standard USB 1- alcuni dispositivi danno tante rogne senza, e alcuni produttori di periferiche merdose addirittura consigliano di usare cavi di questo tipo in caso di problemi (e procedono tuttavia a non includerne uno in confezione, indecenti!).

@@ -111,6 +123,8 @@ Dopo aver aspettato così tanto che i problemi

Non so perché, specialmente considerando che non serve per i riavvii software, ma senza questa procedura il boot può fallire.

+

Finalmente, il riposo

+

Alla fine, comunque, l'inferno sembra essere finito, e il server ora funziona.
Le fiamme hanno fatto dei danni, però: i database di molti miei servizi ospitati si sono corrotti, e di 2 in particolare (GoToSocial, che dicevo prima, e Peka, un chatbot basato su una catena di Markov) ho backup troppo vecchi (di settimane prima) perché, con il server che moriva, i miei script di backup non riuscivano mai a lavorare... e quindi questi programmi ancora adesso sono offline, perché non ho ancora avuto la forza di rassegnarmi a ripristinare i backup antichi.
Ma io comprare il cavetto un po' prima, e spegnere il server nell'attesa, proprio no, eh?

diff --git a/StaticParts/Standard/BottomBox.html b/StaticParts/Standard/BottomBox.html index bf70acd..269833c 100644 --- a/StaticParts/Standard/BottomBox.html +++ b/StaticParts/Standard/BottomBox.html @@ -1,5 +1,5 @@

- ⬆️ Torna su + ⬆️ Torna Su

diff --git a/StaticParts/Standard/Footer.html b/StaticParts/Standard/Footer.html index 4e0a73b..0a6c0c6 100644 --- a/StaticParts/Standard/Footer.html +++ b/StaticParts/Standard/Footer.html @@ -14,6 +14,6 @@
-

Copyright (C) 2022, OctoSpacc

+

(Part.) Copyright (C) 2022-2023, OctoSpacc

Pagina compilata in data:

diff --git a/StaticParts/Standard/GlobalHead.html b/StaticParts/Standard/GlobalHead.html index cdb9a19..1cb070b 100644 --- a/StaticParts/Standard/GlobalHead.html +++ b/StaticParts/Standard/GlobalHead.html @@ -1,19 +1,28 @@ - - - - - + + + + + + + + + + + + + + + <staticoso:PageTitle> - <staticoso:SiteName> - - - - - - - - - + + + + + + + + +[<]script src="Assets/AVIF-Polyfill/index.js" defer="true"[>][] +--> diff --git a/Templates/WM.html b/Templates/WM.html index 9c6a9b2..fd33303 100644 --- a/Templates/WM.html +++ b/Templates/WM.html @@ -80,4 +80,4 @@ - + \ No newline at end of file diff --git a/Templates/loli-documentatrice.html b/Templates/loli-documentatrice.html index 084ec12..1b6d74e 100644 --- a/Templates/loli-documentatrice.html +++ b/Templates/loli-documentatrice.html @@ -36,4 +36,4 @@

Pagina compilata in data:

- + \ No newline at end of file diff --git a/Templates/sitoctt.html b/Templates/sitoctt.html index 78f1930..80585a0 100644 --- a/Templates/sitoctt.html +++ b/Templates/sitoctt.html @@ -65,4 +65,4 @@ - + \ No newline at end of file