Nuove pagine “Servizi” e “Contatti”

Ho appena terminato il restyling della pagina Contatti del blog che ora è divisa in sezioni per renderla (spero) più chiara, esaustiva ed efficace. 🙂 La pagina ora è suddivisa in base alle richieste più frequenti che mi vengono poste:

Inoltre, ho aggiunto la pagina dei Servizi dove descrivo brevemente il lavoro che svolgo.

Perché questo cambiamento

In breve, ho fatto queste modifiche al sito perché alcuni mi scambiano per Google. 😛

Scherzi a parte, ci sono due ragioni fondamentali.

La frequenza dei contatti

Il primo motivo è che tenere un blog per una decina d’anni mi ha consentito di interagire con un sacco di persone che mi hanno scritto per scambiare idee, consigli, suggerimenti o semplici chiacchierate. Mi fa sempre piacere conversare con i miei lettori e vedere che ci sono persone che seguono assiduamente il blog e apprezzano quello che scrivo. 🙂

Negli ultimi mesi però ho notato che l’interazione con i lettori è rimasta più o meno costante, mentre sono aumentati i messaggi da persone che:

  • capitano sul blog per caso tramite un motore di ricerca
  • leggono un post o due
  • qualche volta evitano lo sforzo di capirlo o provare le indicazioni date
  • aprono la pagina Contatti e mi scrivono un’email

Insomma, sta diventando troppo rapido il passaggio Lettore occasionale → Domande tramite email, questo anche se il quesito è relativa ad un articolo e quindi ovviamente potremmo discuterne nei commenti così tutti i visitatori possono beneficiare.

Ogni tanto capitano anche persone che mi scrivono domandando di qualsiasi cosa possa vagamente riguardare un computer, dai messaggi di errore su Windows fino a tutorial scritti da altri blogger. 😀 Oppure mi chiedono di sviluppare script o software appositamente per loro, o di sistemare dei problemi col PC.

Qui veniamo al punto: sviluppare software è il mio lavoro. Fare consulenza anche.

I problemi nascono quando il numero di sconosciuti che mi scrive per domandarmi favori diventa piuttosto rilevante. Se qualcuno mi scrive per pormi dei problemi che necessitano di ricerche approfondite, questo richiede del tempo. Se una persona vuole farsi il sito in autonomia ma poi chiede a me ogni volta che ha un problema, in pratica mi sta chiedendo di insegnargli il mestiere.

Se vi sembra strano immaginare di telefonare a un falegname per chiedere istruzioni dettagliate quando tentate di costruire una casetta sull’albero, potete comprendere la mia necessità di differenziare le normali conversazioni via email dall’attività di consulenza o sviluppo software.

Certo che posso insegnarvi a realizzare un sito, darvi consigli e chiarimenti o realizzarvi un software su misura. È il mio lavoro. 😉

La visibilità per i potenziali clienti

La seconda ragione per cui ho risistemato le pagine è che prima le informazioni erano poche e frammentate. Pur avendo iniziato l’attività da circa un anno, ho già un buon numero di clienti e progetti in corso. Tuttavia, il sito non dava sostanzialmente nessuna idea sulla mia professione o sui servizi che posso fornire a privati e aziende.

Insomma, era poco evidente che chi lo desidera può contattarmi per lavori di sviluppo software o consulenza né quali sono i servizi in cui sono specializzato. Ora la situazione dovrebbe essere migliorata.

Se avete dei suggerimenti sulle nuove pagine o ritenete che manchi qualche informazione, lasciate pure un commento qui sotto. Per ogni richiesta di tipo professionale usate la nuova pagina Contatti.

Prevenire il DNS leak per le connessioni VPN attivate tramite Network Manager

Questo articolo è un’aggiunta al mio precedente post sull’importanza delle VPN ed è dedicato a chi si collega a un servizio VPN usando il software Network Manager.

Il DNS è un servizio alla base di Internet. Si tratta di un server a cui il nostro computer chiede l’indirizzo IP di un sito. Infatti, i siti web sono identificati da un nome di dominio (per esempio www.andrealazzarotto.com) ma questo va tradotto in un indirizzo numerico, affinché il computer si possa collegare.

Funziona così (per semplificare):

Computer: Ciao! C’è qui il mio utilizzatore che vorrebbe visitare Google.com, mi dai l’IP?

Server DNS: Certamente, è 173.194.112.33!

In genere, il nostro router gestisce le richieste DNS verso il server che ci dà il nostro fornitore di accesso a Internet. I nostri computer fanno invece una richiesta DNS al router, quindi collegandosi ad un indirizzo tipo 192.168.0.1 (o comunque l’indirizzo del router) ed è il router che poi si arrangia a trovare la risposta prima di restituirla.

Se usiamo una VPN con Network Manager, si verifica un problema di DNS leak (è stato segnalato come bug), cioè le richieste DNS del nostro computer passano fuori dalla VPN e non sono protette! Questo diagramma spiega la situazione:

Collegamento VPN con DNS leak
Collegamento VPN con DNS leak

Le connessioni a siti esterni (in rosso) sono protette e passano in modo criptato attraverso la VPN, che poi le fa uscire verso Internet. Però le richieste DNS sono (di default) rivolte verso il router, che ha un indirizzo di rete interna e perciò passa fuori dalla VPN.

Il router, di conseguenza, effettua una richiesta DNS al server (in blu) e quindi di fatto permette di lasciare una traccia sui siti che presumibilmente abbiamo visitato (se c’è una richiesta DNS, ci sarà un motivo…). Senza contare che, in alcuni luoghi, i DNS potrebbero essere configurati per impedirci di visualizzare determinati siti (per esempio Facebook o Youtube).

Quello che vorremmo noi, invece, è che le richieste DNS fossero protette (e quindi passassero nella VPN, non tramite il router). In attesa che il bug venga risolto, vi consiglio due metodi: uno è più facile e si può fare per ogni connessione, l’altro è globale ma leggermente più complicato.

Metodo 1: modificare le connessioni singolarmente

In attesa che il bug venga risolto, un metodo facile che ho trovato per risolvere il problema è impostare i server DNS manualmente nelle impostazioni della connessione VPN (va fatto per ogni server). Per esempio, potremmo impostare i server DNS di Google così:

Configurazione statica dei server DNS su una connessione VPN
Configurazione statica dei server DNS su una connessione VPN

Le impostazioni vanno fatte sicuramente per IPv4, che è ancora la versione di IP più utilizzata. Se siete su una rete che utilizza IPv6, dovrete configurare anche dei DNS per questa versione del protocollo.

Metodo 2: forzare i DNS per tutte le VPN

Si può anche fare una modifica globale al sistema che induca tutte le connessioni VPN a usare un certo DNS.

Per ottenere il risultato che vogliamo, dobbiamo modificare un file di sistema relativo alle interfacce di rete. Quando ci colleghiamo in VPN, si attiva un’interfaccia di rete virtuale chiamata tun0. Noi imposteremo i DNS su questa interfaccia.

Dovete innanzitutto aprire il file come amministratori, per esempio su Ubuntu potete usare Gedit con il comando:

sudo gedit /etc/network/interfaces

Procedete quindi ad aggiungere, in fondo al file, le righe:

# Forza i server DNS su ogni connessione VPN
iface tun0 inet manual
dns-nameservers 8.8.8.8 8.8.4.4

Salvate e uscite. Tenete presente che questa è una configurazione solo per IPv4, non per IPv6. A questo punto dovete riavviare il sistema. Non basta chiudere la connessione, bisogna proprio riavviare.

Questa modifica ha il vantaggio che non richiede assolutamente di cambiare le impostazioni delle singole connessioni, ha un effetto globale su tutte le VPN che avvierete sul vostro computer. Inoltre, se volete cambiare i server DNS vi basta modificare un solo file e riavviare.

Attenzione: se usate anche VPN aziendali, badate che potrebbe darvi dei malfunzionamenti. Casomai testate e eventualmente annullate la modifica.

Passo finale: cambiare i DNS della connessione

Dopo alcuni test, ho verificato quanto riportato anche da altri: il semplice cambio DNS sulla VPN non previene il leak al 100%, specialmente se usate la funzione Connessione VPN automatica nelle impostazioni, per accedere automaticamente alla VPN quando si attiva il Wi-Fi o la rete cablata.

Per essere sicuri il più possibile, vi consiglio di modificare la connessione che usate sempre a casa (wireless o cablata) e impostare anche lì i DNS statici, mettendo la rete in modalità Automatico (DHCP) solo indirizzi. I parametri per la connessione saranno molto simili a quelli visti nel Metodo 1 per la VPN.

A questo punto, la combinazione di uno dei due metodi visti prima con quest’ultimo passo vi dovrebbe dare una copertura adeguata in tutte le situazioni. 😉 Quando il bug verrà risolto, tutto ciò non sarà più necessario.

Qualsiasi metodo adottiate, trovate un’ottima lista di server DNS su DuckDuckGo tra cui poter scegliere. Una volta attivata la modifica, la situazione sarà così:

Connessione VPN senza DNS leak
Connessione VPN senza DNS leak

La richiesta DNS (in verde) è sempre contenuta dentro al collegamento criptato della VPN (l’ho disegnata a parte solo per far capire la dinamica) e quindi il router non la riceve né la rimanda al server DNS. La richiesta non viene svelata né può essere dirottata o bloccata dal router.

Con questo, ho praticamente finito. Non mi resta altro da fare che ricordarvi che è buona norma attivare la VPN automaticamente quando si accede a determinate reti (per esempio il Wi-Fi di casa) in modo da essere sempre protetti. 😉

Vi auguro una buona e sicura navigazione!

Aggiornamento 14/01/2016: l’articolo è stato integrato con l’aggiunta dell’impostazione statica dei DNS nella connessione usata abitualmente.

Navigare su Pinterest senza registrazione

Pinterest è un sito web in cui gli utenti iscritti possono creare delle bacheche virtuali dove mettere metaforicamente una “puntina da disegno” (pin, appunto) per memorizzare immagini o pagine web su un certo argomento.

Io non ho un profilo, perché non mi appassiona molto, e così molte altre persone. Le difficoltà però iniziano quando si tenta di aprire l’home page del sito:

pinterest-home
Home  page di Pinterest

Si potrebbe pensare «poco male»… il problema è che molto spesso si ritrovano link a pagine Pinterest quando si cerca qualcosa su Google Immagini. Prendiamo ad esempio questo pin di un bel Tux (la mascotte di Linux) da costruire con il cartoncino. A prima vista sembra tutto normale, ma cosa succede se si fa scroll verso il basso?

pinterest-modal
Cominciano i problemi…

Appare ben presto una finestra modale che invita a registrarsi. Basta scorrere ancora un pochino e presto ci si ritrova con una schermata analoga alla home page. È pieno di contenuti interessanti ma sono coperti da un velo nero e impossibili da vedere. Anzi, su alcune pagine non si può neppure scorrere in basso. Ma in realtà i contenuti sono tutti lì.

Per quale motivo un utente del web dovrebbe farsi un account (seppur gratuito), con un’ulteriore password da ricordare e un ulteriore sito web a cui dare i propri dati, se i contenuti ci sono? Nessuno, chiaramente. 😉

Per questo ho sviluppato uno user-script per il browser, cioè un piccolo programmino che “ritocca” alcune pagine che visitate (in questo caso Pinterest).

Il risultato sarà questo:

pinterest-senza-login
Navigazione completa, senza fare storie

Il mio script si occupa di fare alcune correzioni alla pagina che avete aperto, in particolare:

  • rimuove finestre modali e richieste di registrazione
  • sblocca lo scorrimento nelle pagine dove è bloccato
  • rimanda alla pagina delle categorie (nella schermata) se si visita la home page di Pinterest
  • mostra una barra di ricerca basilare, visto che Pinterest l’ha rimossa per gli utenti non registrati

L’installazione richiede pochi click ed è molto semplice. 🙂

Se è la prima volta che installate uno script, dovete aggiungere una estensione al vostro browser:

Fatto ciò, potete passare al secondo passo, ovvero cliccare sul bottone e aprire la pagina di GreasyFork dove ho pubblicato lo script. Poi vi basterà premere Installa questo script:

Pinterest without registration

La cosa che mi ha sorpreso di più è il successo di questo script, senza che io ne abbia mai parlato nel blog! In particolare, ho rilasciato poco fa la versione 1.5, che aggiunge l’ultima funzionalità relativa alla ricerca.

Lo script, a partire dal primo rilascio, è online da circa un anno ed è stato già scaricato oltre 6000 volte. Gli è stato anche dedicato un articolo su Ghacks ma già prima suscitava un discreto interesse. Pur essendo uno dei più semplici tra tutti quelli che ho creato, è anche quello che mi ha fatto ricevere più donazioni in assoluto.

Insomma, pare proprio che la gente detesti le insistenti e pretestuose richieste di Pinterest, perciò spero che vi possa tornare utile. 😀

Vi è piaciuto l’articolo?

Scrivere software e guide come questa richiede tempo. Se avete trovato queste informazioni utili e vi è piaciuto il post, potete offrirmi un caffè cliccando sul bottone. 🙂 Se lo fate, per favore lasciate una nota indicando che è per questo articolo.

Caffè

La mia tesi di laurea — Un nuovo algoritmo per il mining dei condensed colocation pattern

A novembre mi sono ufficialmente laureato in informatica e ho deciso di pubblicare su Scribd la mia tesi, nel caso qualcuno fosse interessato a consultarla. Il testo del documento è sotto licenza Creative Commons Attribution-Share Alike e il documento lo potete trovare anche nella mia pagina di presentazione. 🙂

L’abstract è il seguente:

Il mining dei colocation pattern è stato studiato per diverse tipologie di applicazioni. Nonostante ciò, spesso tale processo porta alla generazione di un numero eccessivamente elevato di candidati. In molti contesti, è sufficiente o preferibile esaminare un’approssimazione del participation index invece di un valore esatto. Questa scelta determina un insieme di colocation pattern compatto, i cui elementi vengono definiti condensed colocation pattern. Lo scopo di questa tesi è quello di proporre un algoritmo per il mining dei condensed colocation pattern. Tale algoritmo viene messo a confronto con altri algoritmi per i colocation pattern presenti in letteratura, per analizzarne l’efficienza e la qualità dei risultati.

Potete leggere la tesi al link: Un nuovo algoritmo per il mining dei condensed colocation pattern

Linux Day 2013 a Bassano del Grappa (VI)

Con grande piacere vi annuncio che anche quest’anno GrappaLUG si occupa di organizzare il Linux Day a Bassano del Grappa. La data che vi dovete segnare in calendario è il 26 ottobre 2013. Per chi ancora non lo sapesse, il Linux Day è una giornata culturale sul software libero. Cito dal volantino:

Il Linux Day è una giornata nazionale dedicata alla divulgazione della cultura informatica, in particolare quella legata al software libero. Durante l’evento si svolgono diversi interventi a tema, è aperto un laboratorio per tutto il giorno dove si possono provare le applicazioni libere e i membri di GrappaLUG sono a disposizione del pubblico per domande o dubbi.

Si tratta di un evento ad accesso libero e gratuito che interessa a tutti perché tutti siamo utenti di software libero, direttamente o indirettamente. Google (incluso Youtube) e Facebook usano molto software libero per fornire i loro servizi, e Linux è anche la base di Android e delle Smart TV. Se usate uno qualsiasi di questi prodotti, potete goderveli perché esiste il software libero, quindi perché non scoprirne di più? 😉

Quest’anno il focus di GrappaLUG è quello di realizzare un volantino completo in digitale, tant’è vero che non abbiamo ancora stampato nulla di cartaceo ed è probabile che non lo faremo o sarà in tiratura molto limitata. Perciò eccone qui un’anteprima, cliccate e potrete leggere il programma completo e gli orari. Vi aspettiamo! 🙂

Volantino digitale del Linux Day 2013 a Bassano del Grappa
Volantino digitale del Linux Day 2013 a Bassano del Grappa