sabato 13 luglio 2019

venerdì 12 luglio 2019

Manutenzione e guai

Manutenzionata la mountain bike:
  • reinstallato portapacchi posteriore (ma solo per il catarro frangente)
  • regolati i freni
  • gonfiate le gomme
  • registrato e collaudato cambio
  • wuddiquarantàta la catena
  • tesi i cavetti del ciclocomputer
  • collaudata su strada

Guaio: in 24 ore la tanica si è mezza svuotata. Sospetto perda acqua da una sénga centrale non ancora identificata perché troppo piccola. Vedremo fra 24 ore...


Tragedia: s'è sderenata la Gelindo acquistata a novembre 2016 e durata appena sette mesi in più del canonico biennio di garanzia:


Ispezione taniche:


giovedì 11 luglio 2019

Agricoltura Oggi

Causa caldo torrido e terreno arido abbiamo un'invasione di Crepis Foetida (tradotto dal latino: "pantofola fetida"; in inglese: "barba di falco puzzolente"):


Pompelmino solitario superstite dalla pianta presa a 9,99€ all'Eurospin:


Zuccherbergo solitario superstite:


Basta agricoltura, passiamo a cose più serie:



mercoledì 10 luglio 2019

Mini-corso di bash per sfaticati frettolosi (prima parte)

  • Concetti base
I commenti iniziano col carattere "#".

La prima riga dello script tipicamente contiene solo #!/bin/bash per far capire al sistema di essere uno script bash; generalmente è buona norma usare l'estensione .sh anche se si marca come eseguibile con qualcosa tipo chmod 755 script.sh

Ogni comando restituisce un codice di errore da 0 a 255, con 0 che significa "OK". Uno script restituisce 0 quando termina, a meno di non voler concludere prima (esempio: exit 3).



  • Variabili
Le variabili sono esclusivamente stringhe. Si assegnano con "=" (senza spazi intermedi) e si usano con "$". È buona creanza usare tutte maiuscole per evitare di confonderle coi nomi dei comandi:
DINA=nitro
MITE=glicerina

echo faccio esplodere $DINA$MITE, non trovo la $MITE
Una variabile si può riempire con l'output di un programma, usando gli apici inversi (i caratteri "a capo" verranno sostituiti con degli spazi):
QUANTE_RIGHE=`wc -l < file.log`


  • Argomenti da command-line
Esempio: tre parametri obbligatori oppure "--help":
if [ $# != 3 -o "$1" == "--help" ]
then
  echo Errore 1: questo script bash richiede tre parametri
  exit 1
fi

echo terzo parametro: "$3"
Visto che la command-line è a disposizione di utenti tonti, conviene usare sempre ossessivamente le virgolette per evitare che spazi o apici facciano brutte sorprese:
TEMPFILE="/tmp/$2"

./comando > "$TEMPFILE"


  • Come si controlla l'uscita con errore
Versione brevissima: "comando || comandoalternativo" (il secondo viene eseguito soltanto se il primo esce con errore):
rm file.log || echo Errore, file non cancellato: proseguo lo stesso...

Versione breve: "if comando... then... fi"
if ./bin/prog3
then
  echo OK
else
  echo errore di sbaglio...
fi

Versione lunga: "comando... ERR=$? ...if then fi"
./bin/prog1
ERR=$?
if [ $ERR != 0 ]
then
  echo Errore $ERR, interrompo lo script
  exit $ERR
fi
echo OK, proseguo normalmente...
./bin/prog2


Condizioni tipiche

"Se file.log esiste, allora esegui questo":
if [ -f file.log ]
then
  ./bin/questo
fi
"Se non esiste, allora esegui quest'altro":
if [ ! -f file.log ]
then
  ./bin/quest_altro
fi
"Se esistono tale directory e tale file allora..." (occhio: quel "-a" significa AND)
if [ -d ../logdir -a -f altradir/file.log ]
then
  echo sposto il file...
  mv altradir/file.log ../logdir
fi
"Se il file esiste e non è vuoto (zero bytes)":
if [ ! -s file.log ]
then
  ./bin/controlla file.log
fi
"Se il file contiene almeno 20 righe" (occhio: il "-ge" significa Greater Than):
FILE=../file.log
RIGHE=`wc -l < $FILE`
ERR=$?
if [ $ERR != 0 ]
then
  echo Errore su $FILE
  exit 5
fi
if [ $RIGHE -ge 20 ]
then
  ./prog3 $FILE
fi
Altri dettagli qui.



Come si fanno i loop

Con "while condizione... do comandi... (break...) done" (per un loop continuo si usa "true"):
while true
do
  if ./bin/programma1
then
    sleep 30
  else
    ERR=$?
    break
  fi
done
Pure i cicli for, se hai una breve lista:
for EXT in jpg jpeg png mp4 mp3
do
  rm *.$EXT   # SBRANGGGG!!!
done

for FILE in ./films/*
do
  rm "$FILE"   # SBRANGGGGGG!!!
done

martedì 9 luglio 2019

Ho fatto funzionare Xastir per una nottata...

...e la radio ha ricevuto un bel mucchietto di pacchetti APRS:


n.b.: il micromodem si presenta a Xastir come un Serial KISS ("KISS = Keep It Simple, Stupid").

lunedì 8 luglio 2019

Zuccherbergo cresce

Piedone for reference:


Questa era di appena cinque giorni prima:

 

Dopodiché si è sentito un rumore tipo: SCATABRATRÀNG!! seguito da un'imprecazione a sfondo sessuale - era un Ducato Maxi dell'anteguerra con targa "BR...", color rosso antico e senza la maniglia del portellone, che nel fare abusivamente manovra nel vialetto ci ha rimesso un catarifrangente (ben gli sta):


domenica 7 luglio 2019

Come godo!! Occhiali da sole Oxydo

Nel 2003 comprai un gran bel paio di occhiali da sole della Oxydo che funzionano davvero perché bloccano gli ultravioletti (cioè non si limitano a ridurre la luce) e non stancano gli occhi nemmeno in pieno sole:



La Oxydo, che già all'epoca era del gruppo Safilo, ad oggi ha solo un misero blog fermo al 2017.


Non ricordo più quanto li pagai, comunque sotto i 190 euro. Ci valevano tutti.

sabato 6 luglio 2019

My shack

  • ricevitore Icom IC-PCR100, da scrivania
  • trasmettitore Sainsonic AP510, a batteria (per APRS)
  • portatile Baofeng UV-5R
  • portatile Kenwood TH-D7, senza batteria (devo trovare il modo di installarlo in macchina)
  • ricevitore FM 144.8 MHz autocostruito (per APRS)
  • portatile CTE CT1600, senza batteria (per ricezione SSTV)
  • portatile Yaesu FT-23R, senza batteria
  • altri aggeggi non visibili in foto (tra cui trasmettitori Radiometrix HX1 per APRS)

venerdì 5 luglio 2019

Oggi ho fatto l'elettricista

Problema: da qualche anno il cavo era assicurato all'occhiello con un buon mezzo chilo di nastro isolante nero. Il Sole ha cotto il nastro e perciò lasciato libero il cavo che, per il peso, è avanzato verso la tettoia di una decina di centimetri, toccandola.

Soluzione provvisoria: una fascetta attorno a un po' di straccio per tener più su il cavo.



Scoperta micidiale: uno dei vicini di casa sorregge la propria antenna TV con una mazza di scopa (non visibile nella foto perché oscurata dal palo tondo sulla sinistra):



martedì 2 luglio 2019

Grande morìa di pompelmi

Totò aveva la Grande Morìa delle Vacche, e purtroppo il sottoscritto ha quella dei pompelmi...


domenica 30 giugno 2019

venerdì 28 giugno 2019

Come godo!! LEGO power in my hands!!

Rispetto alla volta scorsa e all'anno precedente, stavolta ho fatto rifornimento anche di baseplates 32x32:


mercoledì 26 giugno 2019

Nuovi linguaggi di programmazione!

Aggiornamento: altri nuovi (e seminuovi) linguaggi di programmazione!
(puntate precedenti: [5], [4], [3], [2], [1]):

mercoledì 19 giugno 2019

Upgrade mastello

Potente upgrade: questo è marcato "130", mentre il precedente era "110".

In realtà le misure sono:
- diametro inferiore: 521mm
- diametro al limite del riempimento: 614mm
- diametro superiore: 622mm
- altezza al limite del riempimento: 494mm
- capienza utile: 124,95 litri


Comprato al discount detersivi vicino alle Poste (17,50€!).
Per farsi capire dall'addetto alle vendite c'è stato bisogno di dire in dialetto: teneste una bagnarola a tre manici, grossa grossa, da 110?

sabato 15 giugno 2019

Pomello e coperchietto sconfitti dal sole

Ma si può fare? Pomello attaccato di fabbrica col Bostìk e targhetta delle marce attaccata con un biadesivo! Basta qualche giorno di caldo e si scolla tutto!





 

venerdì 14 giugno 2019

Ma io vorrei proprio sapere chi è che le ha vinte oggi...

E anche loro si sono acchiappati una ricca murtiàta, che a quanto pare dovrò raddoppiare fra tre mesi esatti:


giovedì 13 giugno 2019

Azz, e non ti sei comprato niente?!



(LEGO Certified Store al Centro Campania a Marcianise)

lunedì 10 giugno 2019

Pulizia ventilatore

È arrivata l'estate, cioè il momento di manutenzionare il ventilatore da 9,99€ comprato l'anno scorso al supermercato. Aveva una garanzia di due anni, cioè il suo ciclo di vita previsto era praticamente di due estati, ma appena l'ho provato pareva un po' troppo rumoroso... e praticamente pronto per farsi buttare via a fine estate (come si mette l'icona del facepalm qui?).

Le ventole avevano accumulato polvere e sporco proprio sui bordi di attacco e di uscita, cambiandone quindi il coefficiente di pressione. Cioè più rumore e meno aria in uscita.


La ventola è in plastica sottile e morbida, sembra pronta a incrinarsi alla prima sollecitazione (e se una delle pale è incrinata, l'aggeggio produrrà un gran frastuono e camminerà in giro durante il funzionamento: bye bye 9,99 euro).

In effetti un ventilatore da cucina è un aggeggio che produce vibrazioni e rumore, oltre ad essere soggetto allo sporco (perché deve spingere aria, e quindi inevitabilmente polvere e residui dei fumi della cucina). Perciò il modello ideale dovrebbe avere:
  • ventola molto resistente e facile da pulire (magari con pale sostituibili più una di ricambio nella confezione), magari metallica
  • gruppo motore ben ammortizzato (più livelli di ammortizzazione) e facile da sostituire (non dovrebbe essere troppo difficile da ingegnerizzare)
  • griglie di protezione fronte/retro solide e facili da pulire (curiosamente erano molto meno sporche delle pale)
  • piedini orientabili e ben ammortizzati
  • bulloni anziché viti affogate nella plastica...