Rallentamenti di rete in Windows nel 2017

Stavo leggendo un post di Andrea, un amico su Quora, nel quale spiegava cosa gli aveva impedito di pubblicare, negli ultimi giorni, nuovi post proprio sul blog in questione.

La cosa mi ha piuttosto incuriosito e sono andato a vedere un po’ cosa se ne diceva in giro, sulla rete, dopo di che ho avviato la mia macchina virtuale con Windows 10 per verificare la situazione, e le cose si sono presentate molto, ma molto peggio di quello che sembrava essere inizialmente. Continue reading →

Editare file remoti in locale senza spostarli o entrare in una shell.

Logo VIMTastiera dedicata VIM

Per chi abitualmente lavora in ambiente server, succederà molto spesso di dover editare file di testo puro, che sono normalmente file di configurazione di programmi vari, oppure sorgenti di script bash o script Python o sorgenti di programmi C, che sia ansi o C++. Insomma la necessità di dover editare file di testo puro sono innumerevoli. Ci sono diversi editor testuali che si usano in questi casi. Anche perché, di norma, un sistema server, non ha un ambiente grafico, per cui il tutto va fatto in ambiente testuale. Un editor con il quale, chi fa questo genere di lavoro, ha quasi sempre a che fare è vim che di norma è installato per default su tutti gli ambienti server. Esistono anche soluzioni grafiche per vi, come gvim in ambiente GNome oppure MacVim in ambiente oSX. Continue reading →

Gestione protetta dei nostri progetti editoriali.

Un piccolo script, in bash, per editare i nostri libri mantenendoli protetti quando non li usiamo.


Può capitare a chi scrive, specialmente per diletto, di avere il computer in condivisione con altri componenti della famiglia. Oppure avendo spesso l’impulso di scrivere nei momenti liberi, di usare un computer portatile che può restare aperto in zone dove bazzica altra gente.

Può anche essere che abbiamo copia aggiornata del nostro lavoro, in progresso, in un’area in cloud, dove notoriamente non è cosa sana tenere file importanti non protetti.

Continue reading →

Leggere Medium.com via RSS

Oggi, da buon vecchio internauta, mi sono chiesto se fosse possibile leggere Medium.com nel vecchio stile degli RSS. Trovo i feed molto comodi per diverse situazioni, per cui mi son messo a scartabellare, googlare (Dio !!! Quanto odio questo verbo!!!) e sperimentare.

NON ho trovato documentazione a riguardo, ma facendo qualche test, a memoria, su come venivano creati gli indirizzi RSS una volta, sono arrivato a questa conclusione, sperimentata e funzionanate: Continue reading →

Dello scrivere e le mappe mentali.

Quando la tecnologia può venirci incontro.


Era un po’ che ci pensavo: usare le mappe mentali può aiutare uno scrittore a produrre meglio? Dopo molto tempo passato a pensarci alla fine ho deciso di provare e vedere che sarebbe successo. Di programmi per la generazione di mappe mentali ce sono a iosa: a pagamento, open source e gratuiti. Io per il solito problema di utilizzo su diverse piattaforme, primariamente Linux e Mac, ma anche occasionalmente windows, ho provato:

  • XMind
  • FreeMind2

Li mi son fermato perché alla fin fine, le funzioni sono praticamente le stesse per tutti. Le uniche differenze che ho notato, che fossero degne di nota, sono le capacità di esportazione/importazione da e verso altri programmi di gestione di mappe mentali. Continue reading →

Ho seguito un utente particolare per diverse settimane: e guardate cosa è successo !!!

Capirete solo se avrete la pazienza di leggere tutto il post.


Era un po’ che ci stavo pensando, ma dopo aver letto questo post, di Shaunta Grimes ero ancora più in dubbio, perché molta gente, quasi per certo, avrebbe pensato ad un post di una (io) persona invidiosa, livida per i suoi risultati etc etc, ma non è così: la mia è solo una valutazione nata da considerazioni originatesi in date molto antecedenti al suo post originale e, devo ammettere sinceramente, rinforzata dal suo ultimo post.

L’idea originale di questo post mi venne, scorrendo i titoli dei post in generale, senza uno schema preciso, come si fa appena arrivati in un ambiente nuovo, ed avevo notato questa cosa, ma mi dissi che sarei stato un folle ad affrontate l’argomento appena iscritto, per cui rimandai la cosa segandomela come da fare; oggi, però, apro Medium e vedo il post di Shaunta Grimes e mi son detto: «Ok, adesso basta: sei iscritto da abbastanza tempo da poter affrontare la questione, per cui tastiera sotto le dita e datti da fare!!!»

Allora il mio cruccio alla fine qual’è? Cruccio nel senso che mi lascia quella sensazione di sottofondo che mi infastidisce, mi disturba, mi fa sentire preso in giro, tanto che se non avessi letto il suo primo post in merito, non avrei letto il secondo: i titoli dei post scritti come ami da pesca a strascico!! Ahh finalmente l’ho scritto !!!

Vedo in Medium, e mi stupisce visto il tipo di sito per cui viene spacciato, ossia un sito per scrittori, sempre più titoli ad esca. Sapete cosa intendo vero ? Titoli come: «I blogged every day for 60 days. Here’s what happened.», oppure più fantasioso titolo del post precedente sullo stesso argomento: «I blogged every day for a month. Here’s what happened.». Chiaramente non è certo solo lei che usa questa tecnica di pesca di boccaloni a strascico: lo fanno in tanti, ma lo scopo?

Cioè fatemi capire questa benedetta Shaunta Grimes che scrive a fare? Solo per sbandierare le statistiche ai quattro venti ?

Se avete letto il suo post precedente avete capito come opera:

  • va su quora.com
  • cerca la domanda più richiesta del giorno / settimana /mese
  • scrive un post su quell’argomento
  • pubblica.

Allora, a parte il fatto che sta donna deve essere un pozzo di scienza: non è mica da tutti scrivere su tutto, e di tutto, con cognizione di causa!!

Trovo il metodo piuttosto squallido comunque: per me fare questo tipo di pubblicazione vuol dire che di tuo non hai nulla da dire, ti devi appoggiare alle domande di altri per avere un argomento su cui generare un post.

Praticamente pubblichi a richiesta: la domanda più in voga ottiene un post.

Poi sinceramente a me che hai vinto un invito, a non so che conferenza, non è che interessi più di tanto.

Voi mi direte, ma se ti sta così antipatica perché la segui ? Infatti non la seguo, è che avevo letto il post precedente ed ho voluto verificare se stava seguendo lo stesso metodo, cosa che ha confermato. Potrebbe essere stato un caso, direte voi… eh no … guadate un po’ il meccanismo dei suoi titoli:

Ora fateci caso: quante volte compare howto nelle sue diverse varianti?

Quale volte compare come prima cosa sul titolo un numero con a seguito il verbo must oppure will ?

Quante volte un titolo termina con Here’s whats happened ?

Ed infine, ma questa possono capirla solo chi è di madre lingua, l’uso dei verbi nella continuous form, quelli che terminano in ing per i profani. Per chi è di madre lingua, è provato, che l’uso della forma ing in un titolo spinge gli anglofoni a sentire un senso si urgenza di andare a leggere cosa è associato a qualcosa in evoluzione immediata.

Insomma questi trucchetti per la pesca a strascico, per attirare frotte di lettori, la conosciamo bene o male tutti noi che si fa blogging da un po’ ormai.

Quel che mi domando e come tanta gente ancora ci caschi.

Prendete l’ultimo post (che guarda caso termina proprio con « Here’s whats happened» ) alla fine cosa c’è dentro il post? Una serie infinta di statistiche, per altro non verificabili, di nuovi lettori, di nuovi followers, di nuovi iscritti alla mailinglist. A dire il vero tutte cose già scritte e ripetute in suoi precedenti post. Per cui non solo pesca a strascico, ma ti rifila pure il il piatto del giorno prima !!!

Ripeto: io contro Shaunta Grimes non ho assolutamente nulla, a parte il fastidio nel vederle usare un sistema da marketing puro per una tipologia di contenuti, in un posto dove proprio non dovrebbe ossia su Medium.com.

Lei, comunque, è solo uno dei casi… fate una ricerca per HowTo oppure How To e poi scorrete la lista delle cose scritte da chi usa questi metodi: vi comparirà, come risultato, che molto spesso è una parola/frase che compare nel 90% dei loro titoli di post.

Ribadisco certi trucchetti li conosciamo tutti, ma credo davvero che in medium.com non ce ne sia di bisogno!!! Specialmente quando al titolo roboante non segue un contenuto che valga la pena di essere letto !!!

Ahhh e scusatemi per il titolo del post 🙂 Chiaramente è uno sfottò nei confronti di chi, qui dentro, fa marketing invece che produrre materiale interessante da leggere!!

Ed adesso forza… caricatemi di m***a 🙂

Uso di ecryptfs per crittografare cartelle di dati importanti.

Girovagando per internet, mi sono imbattuto in uno dei tanti post sulla configurazione ed utilizzo di ecryptfs-utils per poter usare cartelle crittografate da montare al momento del bisogno. Al solito, il post, ha diversi errori per cui alla fine il risultato non è quello che uno si aspetta. Questa situazione, era quella quella che odiavo maggiormente quando ero un novizio: seguire un howto alla lettera ed alla fine non ottenere quello che nel documento era promesso, e non per errori miei, ma per errori di chi aveva scritto il documento stesso.

Per cui eccomi qui a riscriverlo di sana pianta con l’auspicio che, chi si imbatta in questo post ne, possa trovare vantaggio ottenendo quello che che gli viene promesso, quindi iniziamo. Continue reading →

Pulire pubblicità, pop-up, banner e qauant’altro dalla navigazione web su cellulari, tablet e qualsiasi apparato mobile senza usare programmi aggiuntivi

Esiste una soluzione alternativa che richiede un minimo di lavoro e che, sopratutto, ci garantisce che i dati non passino da chissà quali server, facendo non sappiamo cosa sui nostri dati. Questa soluzione si chiama Privoxy.

Come riportato da quluqnue fonte, compresa quella tradizionale del wiki, Privoxy è un programma che provvede alla pulizia sul traffico analizzato delle pubblicità in genere. Ma fa anche molto altro, come si può vedere dalla pagina Wiki italiana, https://it.wikipedia.org/wiki/Privoxy oppure quella inglese qui https://en.wikipedia.org/wiki/Privoxy.

Veniamo alla nostra soluzione personale. Parto dall’idea che abbiate a casa una macchina con linux installato, che sia fisica o virtualizzata poco importa, oppure che abbiate una macchina su internet: il procedimento è il medesimo. 

Innanzi tutto installiamo il programma Privoxy o dal gestore applicazioni che usiamo di solito o dal terminale, che preferisco perché dovremo comunque mettere le mani sul file di configurazione, con:

sudo apt-get install privoxy

Finita l’installazione, l’unica cosa che vi consiglio caldamente di fare e di cambiare la porta utilizzata dal programma, che di default e la 8118. sempre dal terminale apriamo, per modificalo, il file /etc/privoxy/config  con

sudo nano /etc/privoxy/config

In questo caso ho indicato come editor il programma nano, ma potete usare quello che vi pare, che sia nano o vi poco importa: l’importante è poter modificare la porta.

Cerchiamo la riga contenente la definizione della porta: la stringa da cercare è listen-address una volta trovata sostituire il valore 8118 con un altra porta che sia libera; personalmente consiglio porte molto alte così da evitare che certi smanettoni la trovino. Un’idea può essere una porta tra 50000 e 55000 per esempio userò 52715. Quindi a modifica effettuata avremo una riga come questa:

listen-address :52715

Chiudiamo, salvando il file, il programma; nel caso di nano si fa premendo la combinazione CTRL-X; e riavviamo il programma con il comando:

sudo service privoxy restart

A questo punto abbiamo terminato sulla macchina lunux. Dobbiamo fare ancora due cose:

  1. configurare il nostro router affinché accetti in entrata il traffico sulla porta 52715 verso l’indirizzo ip della nostra macchina che esegue Privoxy.
  2. configurare il nostro cellulare, tablet o anche pc se vogliamo affinché dirotti il le chiamate del traffico http/https verso il nostro Privoxy.

Pe quanto riguarda il punto uno, dipende dal router che avete: non posso darvi le istruzioni per tutti i modelli; posso solo dirvi che dovete creare una regola che accetti in entrata il traffico dalla porta 52715 e lo indirizzi verso la stessa porta della vostra macchina linux.

Per il punto due ci sono, in linea di massima, due categorie di configurazioni possibili: quelle per iOS, per capirci iPhone, iPad etc etc, e quelle per Android.

Per iOS:

  • Aprite impostazioni
  • tappate su WiFi
  • Presumendo che siate già connessi ad una vostra rete domestica, tappate sulla cerchiata a destra del nome della wifi attualmente collegata
  • scendete in basso alla sezione appena aperta ed alla voce PROXY HTTP tappate su Manuale
  • Alla voce Server indicate l’indirizzo IP della vostra macchina linux, oppure l’indirizzo pubblico del vostro router. 
  • Alla voce Porta indicate la porta che avere configurato prima ossia la 52715

Per Android:

  • Aprite Impostazioni
  • Tappate su WiFi
  • Tappate, mantenendo la pressione per più di un secondi sulla wifi che avete già agganciato: comparirà un menu a due voci e tappate su Modifica config. di rete
  • Tappate su Mostra opzioni avanzate
  • Alla voce Impostazioni proxy selezionate Manuale
  • Alla voce Nome host proxy inserite l’indirizzo IP della macchina linux oppure il vostro IP pubblico
  • Alla voce Porta inseriamo la porta configurata, nel nostro caso la 52715
  • Tappate su Salva in basso a destra del pannello

Fatto: a questo punto, quando navigherete tramite Safari o il browser che avere installato e preferite, il traffico verrà filtrato da Privoxy eliminando pubblicità pop-up, banner e quant’altro.

Nota: quanto segue vale solo se avete installato un firewall sulla vostra macchina linux. A seconda delle vostre esigenze dovete decidere se nelle configurazioni usare l’IP locale, quello della vostra macchina linux domestica, o il vostro IP pubblico, ossia quello che vi viene assegnato dal vostro provider; (Per avere il vostro indirizzo pubblico andate con un browser a questo indirizzo).

Nel caso abbiate un IP pubblico dinamico, per esempio avete un contratto non aziendale con Vodafone o Fastweb, nasce il problema di come segnalare al vostro firewall quale è l’IP valido come vostro in uso. Allego un piccolo script per risolvere il problema, preso da questa pagina in rete.

Innanzi tutto dovete ufw, uno script che semplifica molto la vita se usare un firewall. Per installarlo ed eseguirlo eseguite il comando 

sudo apt-get install ufw

sudo ufw enable

Poi dovete avere un account tipo dyndns.com oppure no-ip.com che vi tenga aggiornato il collegamento host personale <-> IP pubblico. Do per scontato che lo avete già. Come esempio diciamo che il vostro ip personale sia mioip.no-ip.com e che sappiate come tenerlo aggiornato.

Create un file che chiamerete ufw-dynamic-host-update  nella cartella /usr/local/sbin e incollateci questo contenuto pari pari, senza modificare nulla:

#!/bin/bash

HOSTS_ALLOW=/etc/ufw-dynamic-hosts.allow
IPS_ALLOW=/var/tmp/ufw-dynamic-ips.allow

add_rule() {
  local proto=$1
  local port=$2
  local ip=$3
  local regex="${port}\/${proto}.*ALLOW.*IN.*${ip}"
  local rule=$(ufw status numbered | grep $regex)
  if [ -z "$rule" ]; then
      ufw allow proto ${proto} from ${ip} to any port ${port}
  else
      echo "rule already exists. nothing to do."
  fi
}

delete_rule() {
  local proto=$1
  local port=$2
  local ip=$3
  local regex="${port}\/${proto}.*ALLOW.*IN.*${ip}"
  local rule=$(ufw status numbered | grep $regex)
  if [ -n "$rule" ]; then
      ufw delete allow proto ${proto} from ${ip} to any port ${port}
  else
      echo "rule does not exist. nothing to do."
  fi
}

sed '/^[[:space:]]*$/d' ${HOSTS_ALLOW} | sed '/^[[:space:]]*#/d' | while read line
do
    proto=$(echo ${line} | cut -d: -f1)
    port=$(echo ${line} | cut -d: -f2)
    host=$(echo ${line} | cut -d: -f3)

    if [ -f ${IPS_ALLOW} ]; then
      old_ip=$(cat ${IPS_ALLOW} | grep ${host} | cut -d: -f2)
    fi

    ip=$(dig +short $host | tail -n 1)

    if [ -z ${ip} ]; then
        if [ -n "${old_ip}" ]; then
            delete_rule $proto $port $old_ip
        fi
        echo "Failed to resolve the ip address of ${host}." 1>&2
        exit 1
    fi

    if [ -n "${old_ip}" ]; then
        if [ ${ip} != ${old_ip} ]; then
            delete_rule $proto $port $old_ip
        fi
    fi
    add_rule $proto $port $ip
    if [ -f ${IPS_ALLOW} ]; then
      sed -i.bak /^${host}*/d ${IPS_ALLOW}
    fi
    echo "${host}:${ip}" >> ${IPS_ALLOW}
done

Salvatelo e rendetelo eseguibile con il comando: 

sudo chmod u+x /usr/local/sbin/ufw-dynamic-host-update

a questo punto dovete creare un file di configurazione per questo script con il comando:

sudo nano /etc/ufw-dynamic-hosts.allow

il nome è di fantasia, ma almeno leggendolo capirete cos’è. Ora: considerando l’esempio del vostro host personale, che abbiamo detto è mioip.no-ip.com e la porta che abbiamo configurato, ossia la 52715 nel file appena creato di configurazione dovremo scrivere questo:

tcp:52715:mioip.no-ip.com

e salvarlo. Affinchè la regola del firewall resti aggiornata dobbiamo eseguire periodicamente lo script che vi ho riportato sopra e per farlo usiamo il demone cron. Affinché cron controlli ogni 5 minuti che l’IP pubblico corrisponda al nostro host, lanciamo il comando 

sudo crontab -e 

ed aggiungiamo la seguente riga:

*/5 * * * * /usr/local/sbin/ufw-dynamic-host-update > /dev/null

Confermiamo ed usciamo: a questo punto il demone cron si occuperà, ogni 5 minuti di verificare se la regola del firewall è allineata al vostro IP pubblico.

RIBADISCO: questa ultima parte è necessaria solo se:

    1. volete poter raggiungere Privoxy anche da fuori casa
    2. avete un IP pubblico dinamico

Se avete un IP pubblico statico allora basta creare la regola con il comando sudo ufw allow proto tcp from mioip.no-ip.com to any port 52715 ed il problema è risolto senza necessità di disturbare cron ne creare script vari.

Ultima nota: la soluzione che ho riportato vale per una macchina linux, gli esempi in specifico sono per macchine Ubuntu, ma è possibile installare Privoxy anche su Windows: qui trovate le relative istruzioni. Non so però, sotto windows, come risolvere il probelma dell’uso di un IP pubblico dinamico attraverso il firewall di Windows. Magari qualcuno lo sa e può postare la soluzione.

JC