Insegnatemi le insegne

Delle tante fasi che possono definire la vita di un uomo c’è quella in cui una donna, sorridendo, gli dice che è vecchio.
Entrambi sanno che è uno scherzo e tra loro può nascere una di quelle rare amicizie tra uomo e donna sulla cui esistenza di disquisisce più frequentemente di quanto non si faccia sul Sasquatch, oppure i due finiranno a letto in un tempo tra il breve e il medio-breve.
Esiste poi invece una fase molto simile alla prima, in cui la donna in questione è ormai tua moglie (quanto finite a letto in quel senso non interessa a nessuno), e lei comincia a dirti che “fai cose da vecchio”. Non scherza e probabilmente ha ragione (il fatto che sia tua moglie e concordi che abbia ragione su qualcosa potrebbe rientrare nella casistica Sasquatch di cui sopra): sei vecchio.

Hai avuto quella sensazione già qualche giorno prima quando, fermo ad un semaforo, hai letto sull’insegna di un bar Healty Jungle Bar e mentre ti chiedevi cosa diamine fosse un jungle bar ti sei visto sul viso la stessa espressione che aveva tuo nonno quando 15 anni fa cercavi di spiegargli Internet.
Nel tuo intimo stavi ancora cercando di spiegare a te stesso cosa potesse essere una ristoranteria (ti vergognavi di chiederlo era perchè sarebbe stata l’ennesima prova del fatto che cominci ad essere troppo vecchio per capire quello quotidianamente ti succede intorno) quando hai parcheggiato l’auto e hai avuto l’epifania definitiva:

sull’insegna di una panetteria di periferia stava scritto Panetteria Tal dei tali… l’emporio del frumento.

Emporio.
del frumento.

Gli anni che ti mancano da vivere li passerai a cercare per il centro di Milano (da sempre più elitario delle periferie che lo circondano e lo assediano) un molto snob Club del Glutine.
Se lo troverai potrai affermare che, nonostante l’età, sei riuscito a prendere per la coda lo spirito dei tempi.


Rimuovere la password dai file PDF (riga di comando)

A volte capita di ricevere un PDF protetto da password e di non essere quindi in grado di modificarlo nè tantomeno di stamparlo.
Nel mio caso si trattava di una ricetta medica che dovevo assolutamente stampare.
Una prima ricerca su Internet mi ha portato a decine di programmi in grado di risolvere il mio problema, ma poi mi sono chiesto se non potessi evitare di installare un altro programma per modificare soltanto un file.
Le soluzioni per Linux sono molteplici, ma avevo a portata di mano un Mac e quindi ho cercato nei repository di Homebrew dove ho trovato qpdf.

E’ bastato installarlo:

brew install qpdf

e poi con un semplice comando creare un nuovo file PDF senza password:

qpdf --password=PASSWORD_PDF --decrypt file_con_password.pdf nuovo_file_senza_password.pdf

qpdf è uno strumento molto versatile per la manipolazione dei file PDF, potete trovare qui tutta la documentazione.

Comandare Raspberry Pi usando Telegram

Ho tirato fuori dalla polvere una vecchia Raspberry Pi e, grazie a motionEye, l’ho trasformata in un sistema di videosorveglianza artigianale più che adatto alle mie esigenze.
Usando il rilevatore di movimento combinato con Pushover, ho un sistema che mi avvisa nel caso qualcuno entrasse in casa mentre non ci sono. Fortunatamente fino ad adesso ho collezionato solo molti scatti dei viaggi del mio gatto fino alla sua ciotola e documentato i suoi invidiabili pisolini pomeridiani.

Disattivare però motionEye quando mi trovo in casa per evitare che scatti l’allarme ogni volta che passo dal soggiorno è abbastanza scomodo: devo loggarmi al Raspberry Pi via ssh e digitare ogni volta il comando di stop.
Stavo cercando se ci fosse il modo di creare un bottone fisico, quando mi sono imbattuto in un articolo che spiega come sia possibile impartire comandi a distanza usando il sistema di messaggistica Telegram.

La configurazione è abbastanza agevole, ma la parte di compilazione, su una board di prima generazione ha richiesto ben di più della classica pausa caffè.
(Se la compilazione non andasse a buon fine con un errore simile:

telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion 0' failed. SIGNAL received

date un’occhiata a questa soluzione, basta commentare una riga e ricompilare).

Una volta effettuati tutti i test del caso, ho voluto trovare il modo di automatizzare anche l’avvio di Telegram.
Le istruzioni di configurazione del demone mi hanno demoralizzato quasi subito, cosìho optato per una soluzione meno elegante ed efficiente, ma decisamente più alla mia portata.

L’opzione -d permette di lanciare il client come demone, non resta quindi che farlo partire in automatico all’avvio e il gioco è fatto.

$ bin/telegram-cli -k tg-server.pub -d -v -s action.lua

Quindi usiamo cron per lanciare il comando all’avvio:

$ crontab -e
# lancia telegram demonizzato all'avvio
@reboot /home/pi/tg/bin/telegram-cli -k tg-server.pub -d -v -s action.lua

Editando poi il file action.lua è poi abbastanza facile creare tutti i comandi che si vogliono.

if (msg.text=='start-motion') then
   os.execute('systemctl start motioneye')
   send_msg (msg.from.print_name, 'motionEye avviato!', ok_cb, false)
end

Aggiornamento del 27 dicembre 2022:
– corretto il link all’articolo originale purtroppo andato offline con un altro che lo riporta fedelmente
– corretti i caratteri accentati che non si vedevano correttamente