Agg. PicoBlog; Nuova sezione Note + 1 post

This commit is contained in:
octospacc 2022-08-05 16:27:02 +02:00
parent b493827b19
commit e1753f950c
4 changed files with 74 additions and 3 deletions

View File

@ -1,8 +1,8 @@
// Title: 📝️ MicroBlog // Title: 📒 MicroBlog
// HTMLTitle: <span class="twa twa-memo"><span>📝️</span></span> MicroBlog // HTMLTitle: <span class="twa twa-ledger"><span>📒</span></span> MicroBlog
// Index: True // Index: True
# <span class="twa twa-memo"><span>📝️</span></span> MicroBlog # <span class="twa twa-ledger"><span>📒</span></span> MicroBlog
_Nota: I contenuti negli archivi possono aver subito redazioni non segnalate._ _Nota: I contenuti negli archivi possono aver subito redazioni non segnalate._

7
Pages/Categories/Note.md Normal file
View File

@ -0,0 +1,7 @@
// 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>[HTML:Category:Note]</span></div>

View File

@ -24,6 +24,11 @@ Tieni a mente che le pubblicazioni più recenti vanno sempre in cima, facendo sc
<div markdown="1" class="BorderBoxContainer"> <div markdown="1" class="BorderBoxContainer">
<details markdown="1">
<summary>[2022-08-05] Il Miiverso</summary>
Un [video YT](https://yewtu.be/watch?v=JjQDik3yNhA){[:MdTgtBlank:]} ha fatto tornare Miiverse alla mia memoria, social network di Nintendo che fu chiuso. Poi mi viene in mente che la community tentò di ricrearlo e.. scopro che il progetto [rverse](https://libredd.it/r/3dshacks/comments/l4klae/miiverse_patch_to_make_it_work_again_rverse/gmyx2e4/?context=3){[:MdTgtBlank:]} è in vita. E funziona! Ho di nuovo Miiverse!
</details>
<details markdown="1"> <details markdown="1">
<summary>[2022-08-02] C.</summary> <summary>[2022-08-02] C.</summary>
Una sola lettera, ma quante rogne. Dall'altro giorno sto provando a scrivere [questo giochino](https://gitlab.com/octospacc/BloccSpacc){[:MdTgtBlank:]}, non dico il perché o perché ho scelto C qui, altrimenti fo il papiro. Una sola lettera, ma quante rogne. Dall'altro giorno sto provando a scrivere [questo giochino](https://gitlab.com/octospacc/BloccSpacc){[:MdTgtBlank:]}, non dico il perché o perché ho scelto C qui, altrimenti fo il papiro.

View File

@ -0,0 +1,59 @@
// Categories: Note
// CreatedOn: 2022-08-05
# Evitare di richiamare comandi per sbaglio nel terminale
Lavorando nel terminale, magari allo sviluppo di programmi, mi capita spesso di richiamare per sbaglio un comando che non dovrei.
Ciò mi succede perché lavoro in questo modo: modifico qualcosa nella finestra del mio editor di testo di fiducia, quindi passo alla finestra del terminale, e premo `[Freccia Su]` (che richiama l'ultimo comando eseguito) ed `[Invio]` per eseguirlo.
Quello che ho notato è che certe volte, nella fretta, mi capita di premere una volta di troppo `[Freccia Su]`, cosa che richiama il penultimo comando eseguito, o quello ancora prima.
Visto che praticamente queste sequenze di azioni le faccio quasi in automatico, senza leggere per accertarmi che il comando selezionato sia effettivamente quello che voglio prima di premere `[Invio]` (perché solo quello mi aspetto), accade diverse volte che io esegua un comando che non dovrei: spesso, si tratta del comando per fare un commit Git delle mie modifiche alla cartella di lavoro, e subito caricarle in cloud.
Ora, questa cosa non va bene, perché significa che nella cronologia di Git avrò certi punti "sbagliati": con descrizioni dal testo duplicato, e il codice in uno stato inadatto, non funzionante, perché ero nel pieno di testare alcune modifiche.
Avere una cronologia di Git così conciata intacca decisamente la sua qualità, perché è più difficile trovare un punto specifico passato del codice in futuro, cosa che nullifica una delle funzionalità utili di Git - e in generale è qualcosa che non mi piace, mi da fastidio, vedere la cronologia sporca.
## Lo script
Per risolvere il problema, mi sono inventata questo scriptino, l'idea è di avviare i comandi "pericolosi" attraverso di lui nelle situazioni in cui devo fare quelle mie mosse con il terminale (ma, volendo, lo si può impostare come alias per richiamarlo in maniera implicita sempre per un dato comando).
<pre class="ScrollBorderBox">
Profile="~/.bashrc"
a=${RANDOM: -1}
b=${RANDOM: -1}
echo "[!] Confirm your command"
echo "$a + $b ?"
read Input
if [ "$Input" -eq "$((a+b))" ] 2>/dev/null
then
$SHELL -c "source "$Profile"; $@"
else
echo "[!] Wrong input"
fi
</pre>
## Come si usa
Ho salvato il codice all'interno di una funzione `function comconf() { }` nel mio file di profilo bash.
Ora, quando devo eseguire un comando marso, mi basta fare `comconf '<comando>'`; il programma mi chiederà di scrivere il risultato di un'operazione aritmetica semplice generata casualmente, e solo se ciò che scrivo è giusto (quindi, solo se sto prestando attenzione) il mio comando verrà eseguito.
<pre class="ScrollBorderBox" markdown="0">
$ # Esempio
$ comconf 'echo "Prova"; echo "Provina"'
[!] Confirm your command
1 + 3 ?
4
Prova
Provina
$
</pre>
---
Lo script ha qualche aspetto strano, per esempio il fatto che non funziona se eseguito direttamente dalla shell corrente (ed è per questo che esegue il comando desiderato in un altro processo di shell, con l'argomento `-c`). Per questo motivo, devo anche caricare esplicitamente il mio file di profilo nella nuova shell, perché non viene fatto in automatico e lì ho altri alias e funzioni che mi servono.
Come se non bastasse, se non uso i singoli apici per racchiudere il comando che voglio chiamare, se questo contiene altri apici è come se questi venissero ignorati, e quindi il comando finale si può rompere.
Vabbe, problema risolto ad ogni modo. Niente più incidenti a causa di un `[Freccia Su]` di troppo.