How to create a Symbolic Virtual Host Link for Apache 2.2


In this post I’ll explain how to create a Symbolic Virtual Host Link for Apache 2.2. This technique provides more flexibility in the local Virtual Host management. You will also avoid to set up every time a new Virtual Host for each application preventing, so, some of the most common and annoying server errors.
Continue reading


Flash post: how to disable “Send & request money with Gmail”


Well, I sent an e-mail from Gmail and a weird pop up appeared on the Message editing window.
Now you can send and receive money by GMail because Google Wallet is integrated with Gmail, so you can quickly and securely send money to friends and family directly within Gmail.

I honestly don’t like it..
I don’t like the idea to mix emails and money in this way for security issues. Different could be sending a confirm email after a payment but alike annoying to privacy issues. Ok, I’m not in love with the Online Banking neither but here we’ll talk about the new (new at the time I write this article) Google feature of Send & request money with Gmail. It’s not pre-configured with your credit card details but the new button called additional action is automatically activated on GMail. So, let’s see how to disable it.
Continue reading

Ubuntu hacking: back to the university time

Screen Shot 2015-02-09 at 14.27.46

Sometimes happens, for one reason or another, you lost the root password for your Ubuntu Server. What the hell? Yes, this is the situation. The reasons could be many and disparate like

  • you just don’t remember the infinitely complicate password you’ve set
  • you just don’t remember the infinitely easy password you’ve set
  • someone left the company and brought all the secrets with him (this is the case)
  • etc

However, we are not here discussing about what happened but about how to reconquer our server!
So, let’s start!
Continue reading

The paradox of the Infinite Scrolling and the Footer


What we are going to talk about is not a technical error but a wrong approach, a contradictory implementation choice.

Let’s think about the general structure of our web system. We have the classic Header for our web system where we usually put main menu, table of contents, main links and other relevant objects for the users. We also have the Footer where we can repeat some main menu links and put some more information like About us, T&C, Copyright etc.

We have, obviously also the Content that, in case of the home page, it could be the list of all articles ever written. But wait a second, we can’t load billions of articles all at once, so, let’s split them in blocks. The pagination could be a valid solution but we want something better, nicer, more dynamic..

The infinite scroll could be a good alternative, so the user just scrolls down the page and a bunch of articles are automatically loaded and magically appearing with a fancy fade in effect or maybe a slide down.

Here we are, do you see the paradox?
Let’s look at that together.
Continue reading

Flash post: few Vagrant errors and few Vagrant fixes


Hi there, in these days I’m working with Vagrant and VirtualBox . There are few recurrent errors I’d like to write down to keep in mind error-solution and probably save time the next time I face them.
Continue reading

Useful tricks: live monitoring with “watch” command on Mac OS


Today I’d like to share an useful command that unfortunately is not native on Mac OSX (I’m using v10.9.5).
This command is watch (

I was used to use it on Linux to monitor live changes to logs or even to monitor git repositories but you can execute it for many other purposes.
Now, moving to Mac, the story changed and I had to find my solution. What’s better than creating your custom command with your own code?

The way it’s done is like a primitive version of the well consolidated and full of options watch in Linux but for sure it’s really better than nothing. So far I just needed the basic version but if you want you can add all the options you wish.
Continue reading

Flash post: “Site identity not verifiable”:

This is meant to be a flash post and a relief for someone that, like me, has to test the website on different mobile phones.
I’ll omit the software version because not pertinent to the problem or the solution.

I had to test a website on different mobile devices and Blackberry z10 kept returning a Certificate Exception like “my certificate has expired” and the following error

Site identity not verifiable

Not verified? What?
I’ve tested the website on VM, with User Agent switchers and on different Z10!!

So, recalling an oversimplification of the Occam’s Razor,

The simplest answer is most often correct

and digging a bit into the web, the solution I found was quite simple and based on the Date/Time used to validate the Certificate Expiration Date.

These are the steps to fix the problem (if we can use “fix” and “problem”):

1. Open the phone Settings
2. Select Date and Time option
3. Set Set Date and Time Automatically to Off
4. Set manually the Date and Time
5. Done

The validation of the certificate was incorrectly done on the phone Date/Time but, more important, the Automatic Date/Time setting didn’t work properly on my device.
Following these steps the website will not return the error any more.
An easy solution to an easy problem but often the last thing you think about.