OpenVPN with multiple configurations (TCP/UDP) on the same host (with systemd)

As much more people is getting worried about their online privacy (including me), I started to use my home server as a VPN termination (with OpenVPN) when I am not at home and I need to access Internet via non-secure wired/wireless networks (e.g., hotel wireless network, airport Wi-Fi, etc.). Some overzealous network admins, though, try … Continue reading OpenVPN with multiple configurations (TCP/UDP) on the same host (with systemd)

Spotify puzzles: round two

Some months ago, I began challenging myself with Spotify puzzles: at that time I was dealing with an easy problem; now, the difficulty has increased. The round two consists in the typical “Selection problem“: given an array of values, find the max (or min) k values. I decided to still use Python and to use … Continue reading Spotify puzzles: round two

Viaggiatreno Ruby gem: version 1.0.5

On the background of all my activities I continued the developing of viaggiatreno, a Ruby gem to parse Italian railway real time system information of the status of the various trains: location, delay, expected and real arrival time. Yesterday I released the version 1.0.5 of this gem, which improves the overall code quality of this … Continue reading Viaggiatreno Ruby gem: version 1.0.5

Workaround for OpenVPN PAM authentication broken on Ubuntu 15.10

After updating to Ubuntu 15.10 a box with an OpenVPN termination I am using to browse when I travel and use insecure networks, my VPN tunnel stops working. I am using, in this particular box, an OpenVPN server that relies on PAM plugin for authentication (and 2-step verification). Given the fact that I keep all … Continue reading Workaround for OpenVPN PAM authentication broken on Ubuntu 15.10

Getting started with cloud-init and CoreOS

Lately I’ve been experimenting with CoreOS, a Linux distribution that enforces containerization (I made some experiments with Docker and I’d say that this area is fun!). CoreOS layer of containerization was based Docker, but now that they moved to Rocket. Not only Rocket, though: CoreOS brings some curious innovations to lightweight Linux distributions like clusterization … Continue reading Getting started with cloud-init and CoreOS

Convert Java to EXE – Why, When, When Not and How

Today I come across this great article on the various possibilities we have, as developers, to package a Java application in an executable format for all Windows users out there. I have always used JSmooth with success, but it is nice to discover there are more alternatives (and some of them are OSS too!). Source: … Continue reading Convert Java to EXE – Why, When, When Not and How

Come usare Google Maps in modalità offline

Ultimamente mi è capitato di utilizzare Google Maps (mobile) all’estero, dove non avevo a disposizione la connessione dati; esistono applicazioni che si appoggiano a OpenStreetMap e scaricano la mappa intera del Paese in cui siete (come ad esempio Galileo), ma per usare Google Maps in offline c’è un piccolo accorgimento che potete usare. Visualizzate la … Continue reading Come usare Google Maps in modalità offline

Feedly è un degno sostituto per Google Reader

Sono passati diversi anni dalla nascita di Google Reader (2005), il più famoso ed utilizzato feed reader di RSS/Atom; anzi, tutt’oggi viene utilizzato come piattaforma di sincronizzazione per i reader che funzionano su più dispositivi (personal favorite: Reeder su OSX e iOS). Nel frattempo, altri servizi simili a Reader ma più user-friendly (ed adatti anche … Continue reading Feedly è un degno sostituto per Google Reader

Installazione e configurazione di Logwatch su Ubuntu

Nei server Linux che amministro ho recentemente installato un programma di monitoring dei logs: logwatch. Una questione importante ma abbastanza noiosa e per cui non si ha mai molto tempo è – appunto – quella dell’analisi dei log, una sorta di “diario” dell’attività svolta dal sistema. Spesso si ricerca nei logs solo quando insorge un … Continue reading Installazione e configurazione di Logwatch su Ubuntu

sshuttle: creiamo una VPN (via transparent proxy) con SSH

In passato vi ho spiegato come creare un tunnel SSH per poter “tunnelizzare” il traffico Internet usando da tramite un server che esponeva il demone sshd. La scomodità di questa soluzione risiede nell’ultimo passo: dobbiamo impostare un tunnel SOCKS per ogni programma di cui vogliamo tunnelizzare il traffico. Ok, questo può non essere una scomodità vera e … Continue reading sshuttle: creiamo una VPN (via transparent proxy) con SSH