Secure your SSH server against brute-force attacks with Fail2ban

The problem: SSH can be brute-forced I usually leave an SSH server on a dedicated port on every server I administer and, as you may recall, I even linked two well-written guides to properly configure and harden SSH services. Now, Internet is a notoriously bad place: scanners and exploiters have always been there, but brute-forcers … Continue reading Secure your SSH server against brute-force attacks with Fail2ban

OpenSUSE Leap 42.2: this is how I work (my setup)

Motivation I switched my distribution of choice to OpenSUSE. There are a lot of motivations behind this choice: I wanted an enterprise-grade quality of software in terms of stability, package choice, and supportability Growing interest in software non-distribution specific and/or customized, e.g. Gnome Dogfooding After nearly one year of usage, I can say that I … Continue reading OpenSUSE Leap 42.2: this is how I work (my setup)

Checkstyle and DetailAST

If you are running Checkstyle (for checking Java style) and you are stuck with this error: checkstyle: [checkstyle] Running Checkstyle 6.11.2 on 2324 files [checkstyle] Can’t find/access AST Node typecom.puppycrawl.tools.checkstyle.api.DetailAST which is a cryptic error with no whatsoever Google result on how to fix it, stand back: I have the solution! You probably have these … Continue reading Checkstyle and DetailAST

git: deleting remote tracked branches

Since I’m always DuckDuckGo-ing for these information, I’ll set a note here for future reference and for all of you, fellow readers. Situation: one (or more) remote-tracked git branches got deleted (either locally or remote). You are in either one of the two cases following: you have deleted the local branch and you want to … Continue reading git: deleting remote tracked branches

Unusual way of backup sensitive data

Over the weekend I was in a backup mood, so I decided to start backup everything on my local computers. First of all, I started with sensitive data (which I call vault), namely: credentials for local and remote machines SSH keys (and associated passphrases) Hard Disk encryption keys Wi-Fi passwords PGP keys (and associated passphrases) … Continue reading Unusual way of backup sensitive data

git tip: multiple identities

If you are using git version control for personal and work repositories, it is tricky to change your email address (in ~/.gitconfig) to properly use the correct email before committing to a repo (this is what I do, depending on the nature of the repo: personal repo -> personal email, work repo -> work email). … Continue reading git tip: multiple identities

ZeroTurnaround’s Java Tools and Technologies Landscape Report 2016

As of every year, ZeroTurnaround released the yearly report of their survey about Java and Java-related technologies among professional developers. I find this report very interesting, and I usually compare (or discover) existing technology solutions. For example, right now I’m currently thinking about moving to Intellij IDEA. How do you measure up against the report?

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)

PSA: this website now is TLS-enabled

After some thinking, I decided to switch my current domain registrar and hoster: in fact, I stayed for 5 years with Netsons.org for domain registration and hosting. I had a very pleasant experience with them, I will recommend their hosting to everyone (it’s very cheap in the plethora of Italian super-expensive hosters). Since I recently … Continue reading PSA: this website now is TLS-enabled

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