I have used a number of different URL shortening services in my time, some have closed, some change there terms of services and some include advertising. So when I found out I could roll my own, I thought I better investigate.
Creating one is fairly easy, first you need a short domain name. With the likes of .be, .in and .it being readily and cheaply available it is fairly easy to get a short domain name, I settled for n1c.it.
Next you need hosting capable of supporting PHP and MySQL, which is anywhere capable of hosting WordPress. I happened to have one available.
Download the GPL licensed Yourls and install it. The installation process is as complex as WordPress use to be. Create a new MySQL database if necessary, create a new MySQL user if necessary, modify a config file by changing settings which is documented then upload the files to the server and go to the admin URL and login in. Copy the preferred bookmarklet to your toolbar and you are ready to go. Seriously all done in 5 minutes and I missed a quote mark in the config file the first time round.