martedì 30 agosto 2016

Social language e civiltà

Sui social network, come Facebook o Twitter, si possono leggere notizie, commenti, polemiche, sentenze, e quant'altro. Abbiamo a disposizione una ampia gamma di pubblico: autori, commentatori, gente tranquilla, ma anche no...
Basta scorrere i commenti di un post che abbia un argomento appena controverso per trovarsi coinvolti in una marea di commenti via via sempre più accesi.

Si tratta di un comportamento normale e democratico: ognuno esercita il proprio diritto di dire la sua. Il problema è che molti utenti dei social network ritengono di esercitare un loro dovere anziché un diritto. Perciò si sentono in dovere (o in qualche modo autorizzati) di usare il turpiloquio e di offendere chiunque la pensi diversamente da loro.

È un esercito in costante allerta, pronto alla reazione immediata verso tutto ciò che appare loro un ostacolo al loro pensiero.

In questa categoria di "combattenti" possiamo facilmente trovare un campionario alquanto vasto di ignoranti. Mi riferisco soltanto a ciò che è scritto, non al suo significato. Errori di ortografia e sintassi se ne trovano a vagonate, così come ci sono coloro che scrivono in modalità SMS. Ovviamente l'unione delle due caratteristiche provoca la disperazione di chi cerca di usare la lingua italiana per come è stata insegnata a scuola...

Ecco che si leggono frasi piene di nn k xké e schifezze simili. E poi utenti che insultano altri utenti, utenti che approfittano della situazione per andare fuori tema, altri che pubblicano post pubblicitari, e così via.

L'anonimato garantito da queste piattaforme sociali non frena il fenomeno e, anzi, stimola nuove tecniche guerrafondaie, in un crescendo di offese che, alla fine, costringono all'abbandono il malcapitato di turno che aveva commentato educatamente e civilmente il post originale.

E qui si entra in un discorso molto più ampio (quello del senso civico) che avremo modo di affrontare con ben altri esempi.



Aggiornamento: Bellissimo articolo di Andrea Scanzi sull'argomento, con tanto di glossario e definizioni ad hoc...



venerdì 26 agosto 2016

Pasta all'Amatriciana

Dopo la tragedia che ha visto distrutti paesi incantevoli del centro Italia, di cui il più famoso è Amatrice, sui social network si sono mobilitati in tanti per cercar di radunare aiuti di ogni tipo in favore della gente colpita dal terremoto del 24 scorso.

E quando si tratta di raccogliere fondi ecco che si scatenano anche, e soprattutto, quelli che io chiamo "Social Lepers" ovvero le vere piaghe sociali, quelli che si sentono in obbligo di minare e screditare ogni possibile buona intenzione, quelli che devono bocciare ogni proposta, quelli che fanno della protesta la loro ragione di vita, quelli del "NO" forever. Di questi soggetti, francamente, ne faremmo volentieri a meno, ma ci sono e dobbiamo tenerceli.

Una delle proposte che sta circolando riguarda principalmente la ristorazione. I ristoranti vengono invitati ad includere nel loro menu un piatto di Spaghetti all'Amatriciana, qualora già non lo abbiano, e riservare in beneficenza 2€ per ogni porzione ordinata, 1 € da parte dell'avventore, 1 € da parte dell'esercente.

A me piace questa iniziativa, come tutte quelle che possono portare ad una partecipazione fattiva. Sarà poco, ma tutto fa.

Tuttavia temo che i Social Lepers non tarderanno ad arrivare (o forse hanno già iniziato) screditando l'iniziativa con ogni possibile mezzo, anche oltre l'umana logica. Vedranno una lobby del guanciale (a spartirsi 1 euro a me, 95 cent a te, e 5 cent ad Amatrice) o insinueranno semplicemente che i ristoratori si intascano 2 euro in più? Chissà cosa si inventeranno...

Non dimentichiamoci anche degli altri integralisti, come certi vegani (dove sei, Daniela Martani?), animalisti, o verdi, che certo grideranno allo scandalo perché la proposta è irriguardosa degli animali e fomenta il loro sterminio.

Auguri!



giovedì 25 agosto 2016

Trasferire file e cartelle con scp

Trasferire file e cartelle tra due server con il comando scp

Nel nostro caso tutti e due i server sono equipaggiati con linux debian 6 "squeeze" ma la soluzione proposta è valida per un’ampia gamma di sistemi operativi e funziona anche tra computer con os diversi.

Attraverso una connessione ssh (a uno dei due server, nel nostro caso quello di destinazione) è possibile lanciare il comando scp che consente di trasferire singoli file o intere cartelle (e sottocartelle) tra la macchina corrente (il server a cui ci connettiamo via ssh) e la macchina remota (quella con i file da trasferire).

Ecco la sintassi del comando:

scp -rpC nomeutente@1.2.3.4:/percorso/cartella-sorgente/ /cartella-di-destinazione/

dove:

    nomeutente è l’user con cui accedere sulla macchina remota (NB: questo utente deve avere accesso ftp ai file da trasferire).
    1.2.3.4 è l’IP della macchina remota (quella con i file da prendere).
    /percorso/cartella-sorgente/ è il path della cartella da prendere sulla macchina remota.
    /percorso/cartella-di-destinazione/ è il path in cui la cartella verrà copiata sulla macchina corrente.



Socrate?

Come molti altri, conoscevo la parabola dei tre setacci attribuita a Socrate. Pare invece che il filosofo greco non c'entri niente, e che sia un estratto dal romanzo "La via del guerriero di pace", di Dan Millman, dove il protagonista si chiama Socrates.

Filosofo o no, ciò che conta è il senso di quelle parole. Se tutti seguissimo queste piccole regole ci sarebbe in giro molto meno astio, invidia, trame.

Visto che ormai sei qui, leggila pure...


Socrate aveva reputazione di grande saggezza. Un giorno venne qualcuno a trovarlo e gli disse:
– Sai cosa ho appena sentito sul tuo amico?
– Un momento – rispose Socrate. – Prima che me lo racconti, vorrei farti un test, quello dei tre setacci.
– I tre setacci?
– Prima di raccontare una cosa sugli altri, è bene prendersi il tempo di filtrare ciò che si vorrebbe dire. Lo chiamo il test dei tre setacci. Il primo setaccio è la verità. Hai verificato se quello che mi dirai è vero?
– No… ne ho solo sentito parlare…
– Molto bene. Quindi non sai se è la verità. Continuiamo col secondo setaccio, quello della bontà. Quello che vuoi dirmi sul mio amico, è qualcosa di buono?
– Ah no! Al contrario
– Dunque – continuò Socrate – vuoi raccontarmi brutte cose su di lui e non sei nemmeno certo che siano vere. Forse puoi ancora passare il test, rimane il terzo setaccio, quello dell’utilità. E’ utile che io sappia cosa avrebbe fatto questo amico?
– No davvero.
– Allora – concluse Socrate – quel che volevi raccontarmi non è né vero, né buono, né utile; perché volevi dirmelo?

martedì 23 agosto 2016

Backup automatici su Ubuntu

Il backup dei dati del proprio computer è un’operazione che andrebbe eseguita con regolarità, perché non c’è niente di peggio che perdere il lavoro di giorni o settimane, o magari anche di mesi.

Ubuntu mette a disposizione diversi tool per eseguire i backup su unità locali o remote, ma ci fornisce anche dei mezzi di base con i quali possiamo provvedere alle nostre esigenze in modo un po’ più diretto.

Diciamo che abbiamo a disposizione un pc locale sul quale lavoriamo giornalmente, e un server remoto su cui vogliamo riversare periodicamente la nostra directory home, senza che ci si debba ricordare di farlo. Esistono diverse soluzioni per portare a compimento questa operazione come, ad esempio, scegliere tra avere un backup compresso (per risparmiare spazio sul server e ridurre i tempi di trasferimento) o normale (dove anche i file remoti sono accessibili senza conversioni), oppure trasferire tutta una directory o soltanto i file modificati/aggiunti, e così via

Qui vi illustro un backup incrementale, non compresso, da eseguire automaticamente ogni ora. Questa scelta consente di avere sempre a disposizione i file di backup sul server remoto, senza necessità di decompressione, ed utilizza la banda in maniera piuttosto economica.

In termini pratici, il backup incrementale si svolge in due fasi. Nella prima viene eseguito un confronto tra i file locali ed i file remoti, e ciò richiede poche decine di kB di colloquio, variabile a seconda del numero totale di file del backup. Nella seconda viene eseguito il trasferimento dei file che risultano modificati o di quelli che non sono presenti sul server remoto. In occasione della prima esecuzione della procedura verranno ovviamente trasferiti tutti i file previsti.

In questo esempio utilizziamo i seguenti dati:
IP server remoto:1.2.3.4
Utente server remoto:jameswhite
Password utente remoto:PwJam
Path di destinazione:/home/backups/Documenti/
Path da backuppare:/home/giacomo/Documenti/

Il comando che usiamo per questa procedura è rsync e fa parte di tutte distribuzioni Linux.

Poiché rsync usa il protocollo SSH per il trasferimento sicuro dei dati, richiederà Utente e Password autorizzati ad accedere al server remoto. Sebbene sia possibile definire lo username nel comando, non è possibile farlo per la password, che verrà richiesta e digitata per poter proseguire l’esecuzione del comando.

Dunque, la nostra riga di comando da terminale sarà:
rsync -a /home/giacomo/Documenti/ jameswhite@1.2.3.4:/home/backups/Documenti/

Una volta premuto Invio, verrà chiesta la password, e dovremo digitare
PwJam
e premere Invio per avviare il backup immediatamente.

L’opzione -a significa “archivio”: la copia riguarderà tutti i file e cartelle in modo ricorsivo, che è il modo più semplice e normale di fare un backup.


Occorre tenere presenti due aspetti, ovvero (1) se vengono rinominati dei file dal computer locale, sul server remoto avremo sia i file con i vecchi nomi che quelli con i nuovi nomi; e (2) i file cancellati dal computer locale, rimangono inalterati sul server remoto. Se desideriamo che il nostro backup sia invece una copia fedele del computer locale, occorre aggiungere l’opzione --delete che modifica il comportamento di rsync così che rispetto al computer locale (1) i nuovi file rinominati vengono trasferiti e quelli vecchi vengono cancellati dal server remoto e (2) i file cancellati vengono cancellati anche dal server remoto.


Dunque, la nostra riga di comando diventa:
rsync -a –-delete /home/giacomo/Documenti/ jameswhite@1.2.3.4:/home/backups/Documenti/

A questo punto dobbiamo fare in modo che questo comando venga eseguito automaticamente, ma abbiamo il problema della password. Come detto prima, non è possibile memorizzare la password all’interno della riga di comando, e questo è vero per motivi di sicurezza. Se includiamo la riga di comando in /etc/crontab senza fare altro, il comando fallirà quando il server remoto chiederà la password, perché nessuno ha la possibilità di digitarla. Fortunatamente ci sono un paio di sistemi per risolvere questo problema, e noi vediamo il più semplice.


La soluzione è di importare le vostre chiavi locali nel computer remoto, così che sia poi possibile eseguire rsync con la password. Il primo passo è di creare le vostre chiavi:
ssh-keygen
Potete premere Invio ed accettare tutti i valori di default.

Il secondo passo è di comunicare il vostro ID al computer remoto:
ssh-copy-id jameswhite@1.2.3.4
Digitate la password PwJam e il gioco è fatto.

Provate adesso ad eseguire ancora il comando rsync e vedrete che il login verrà fatto automaticamente.

In alcuni casi accade che venga ancora richiesta la password perché il comando ssh-copy-id non ha comunicato a ssh-agent l'esistenza della nuova chiave. Se questo succede, dovete semplicemente comunicarlo voi con il comando:
ssh-add

Questa procedura va eseguita soltanto la prima volta, perché da ora in poi i comandi ssh e rsync di jameswhite@1.2.3.4 verranno eseguiti sul server remoto senza chiedere più la password.


Per automatizzare il backup non resta che aggiungere la nostra riga di comando a /etc/crontab . Ad esempio, per eseguire l’aggiornamento ogni ora occorre aggiungere a /etc/crontab la seguente riga:
0 * * * * root rsync -a –-delete /home/giacomo/Documenti/ jameswhite@1.2.3.4:/home/backups/Documenti/

A questo punto, buon backup a tutti!

sabato 20 agosto 2016

La Teoria del barattolo di maionese e dei due bicchieri di vino

Un professore, prima di iniziare la sua lezione di filosofia, pose alcuni oggetti davanti a sé, sulla cattedra. Senza dire nulla, quando la lezione iniziò, prese un grosso barattolo di maionese vuoto e lo riempì con delle palline da golf. Domandò quindi ai suoi studenti se il barattolo fosse pieno ed essi risposero di si.

Allora, il professore rovesciò dentro il barattolo una scatola di sassolini, scuotendolo leggermente. I sassolini occuparono gli spazi fra le palline da golf. Domandò quindi, di nuovo, ai suoi studenti se il barattolo fosse pieno ed essi risposero di si.

Il professore, rovesciò dentro il barattolo una scatola di sabbia. Naturalmente, la sabbia occupò tutti gli spazi liberi. Egli domandò ancura una volta agli studenti se il barattolo fosse pieno ed essi risposero con un si unanime.

Il professore tirò fuori da sotto la cattedra due bicchieri di vino rosso e li rovesciò interamente dentro il barattolo, riempiendo tutto lo spazio fra i granelli di sabbia. Gli studenti risero!

“Ora”, disse il professore quando la risata finì, “vorrei che voi cosideraste questo barattolo la vostra vita. Le palline da golf sono le cose importanti; la vostra famiglia, i vostri figli, la vostra salute, i vostri amici e le cose che preferite; cose che se rimanessero dopo che tutto il resto fosse perduto riempirebbero comunque la vostra esistenza“.

“I sassolini sono le altre cose che contano, come il vostro lavoro, la vostra casa, l’automobile. La sabbia è tutto il resto, le piccole cose”.

“Se metteste nel barattolo per prima la sabbia”, continuò, “non resterebbe spazio per i sassolini e per le palline da golf. Lo stesso accade per la vita. Se usate tutto il vostro tempo e la vostra energia per le piccole cose, non vi potrete mai dedicare alle cose che per voi sono veramente importanti“.

“Curatevi delle cose che sono fondamentali per la vostra felicità. Giocate con i vostri figli, tenete sotto controllo la vostra salute. Portate il vostro partner a cena fuori. Giocate altre 18 buche! Fatevi un altro giro sugli sci! C’è sempre tempo per sistemare la casa e per buttare l’immondizia. Dedicatevi prima di tutto alle palline da golf, le cose che contano sul serio. Definite le vostre priorità, tutto il resto è solo sabbia”.

Una studentessa alzò la mano e chiese che cosa rappresentasse il vino. Il professore sorrise.

“Sono contento che tu l’abbia chiesto. Serve solo a dimostrare che, per quanto possa sembrare piena la tua vita, c’è sempre spazio per un paio di bicchieri di vino con un amico”.


  

lunedì 15 agosto 2016

Come convertire i formati delle immagini in Linux

Sebbene esistano molti software in grado di convertire file immagine dal formato JPG al PNG al GIF, ecc, o viceversa, Linux ci offre uno dei metodi più rapidi per la maggior parte delle conversioni che ci servono.

In particolare, questa utility torna particolarmente comoda quando abbiamo una cartella con decina di immagini da convertire. Invece di convertirle una per volta, come faremmo con Gimp o altri software di elaborazione grafica, possiamo usare un comando da terminale per elaborarle tutte insieme.

Il comando
mogrify -format png *.jpg

convertirà tutti i file jpg in altrettanti png, preservando gli originali.

Naturalmente si possono convertire i file di diversi formati, usando le opportune estensioni.