The beauty of exceptions

They say “The world is beautiful because it is varied” but, if we take a step back, to put some distance in between, we find out people are all alike, predictable… Nature makes them imitate each other and move together like fishes and birds and this is not boring, it’s nice because it makes them feel safe, like being wrapped in a warm blanket. Then there are some exceptions, people you don’t expect, people you would never think to have the frivolous will to be different… Why would anyone want to be different?

These people, right these ones,  are those who make the world so beautiful: they open your eyes throwing at your face the unexpected, maybe even the impossible and they shock you, they amaze you for a few brief moments, if you are lucky, for a few minutes… Then you get back to the group and you tell yourself that sooner or later you should try too, you feel kind of happy while imagining a different version of you, just enough to doze off and get back to swimming with all the other fishes in a wonderful sea you’ll never get to know because it’s to big for you.

Dedicated to C.S.

Posted in Thoughts | Leave a comment

Building the right development team

downloadBuilding the right team is really tough!

I know that’s not big news but I think most people don’t know HOW tough it is.

So far in my career I’ve been working in several types of companies/teams/environments/roles but in all of them the team factor was a pain in the neck for some reason.

I’m been trying to write this post many times to help myself avoid some common mistakes and try to get the most out of a team: so far I failed every single time because I was focusing on mistakes tightly coupled to the specific case and more in general because I suck at writing. Every company has different needs so this time, instead of going through mistakes I witnessed or committed, I will focus on what I think I would want in any team.

Of course I reserve my self the right to amend this post any time I want, especially when more mistakes or comments will change my point of view. This is a working in progress.


Competent players are a REQUIREMENT, always… no matter how big or small the team is: if you think a competent team player will cost you too much, just think about what would be the cost of employing incompetent people. If the company is very small, definitely only choose people that know their shit: you are laying down first bricks of the building and you want them to be handled by pros if you don’t want everything to fall apart at the first shake. Big companies with big teams can afford to hire juniors members if seniors can put some (and not too much) effort in getting them to speed.

Team Players

Competency is a requirement but it’s not enough: we are talking about ‘team players’ so we need people being able to fit nicely in the team, both from technical and personal points of view. We are looking for a person that is added value to the team, that can put the team goals in front of personal goals AND be able to have a nice relationship with other players. If team players can spend time together to talk about non work related topics, there is a good chance they will be happier to come into work. I really believe this is key to have a better quality product: happy people work faster and with better results.


No one like doing overtime, or knowing that they are stuck in an office chair from 9 to 6 with 30 minutes lunch break. A responsible person knows that there is job to be done, he’s aware of what it takes to deliver and knows when it’s time to go the extra mile without having to be told/forced. It’s a person you can give the flexibility to come/leave earlier or later into/from work and to take breaks whenever he wants. A responsible person won’t try to blame others for his own mistakes, he won’t try to hide them but will let others know and eventually ask for help so that the problem can be solved before if becomes hell.

Open source

I’m not talking about people that contribute to open source projects. This is controversial and confusing matter: no all people contributing to open source projects are passionate about development or skilled. Load of people not contributing to open source are very good professionals and team players.

I like to define ‘open source person’ someone willing to learn AND, more important, willing to share knowledge: normally people who share their knowledge are faster learners, don’t feel intimidated to work with people knowing more and are more open minded.

An open source person will not only contribute in building better team relationships, he will bring fresh and innovative ideas into the company. He won’t be afraid of exploring new paths and many times will be responsible for big achievements.

Self confidence

Don’t confuse self confidence with arrogance. A self confident person is able to have his own saying even when confronting the company owner. He’s aware that the company can benefit from his point of view and that he should be letting people know. He also knows that there is a chain of command and not always giving his personal point of view will change people minds.


Politics is part of our life even when we don’t expect it. Diplomacy is key for well being of a team but… BUT… there are limits beyond which diplomacy is not an option. Be ready to fight. A lot of good things can happen from a fight.

Posted in Development, Web | Tagged , | Comments Off on Building the right development team

Why I hate best practices

Best practice pinned on noticeboardHave you ever worked with some fan of best practices? I’m sure you have. “Best practices” (from now on BP) are kind of a mantra for a lot of IT workers and when you come across one of these people, everything is about this or that document on line with a list of BP that you cannot afford not to follow to the letter if you want to have a chance to do a nice job.

If I’m writing this article it’s just because I came across many fans of BP and not long time ago it happened I had to work with a whole team of them. The reason why I’m so dramatic about it, is that, if that’s not already clear enough, I hate BP.

IT is evolving always very fast and I strongly believe that, unless you are interested in very theoretical topics, it is quite difficult to find a book or a document that is up to date, especially when it comes to the web matter.

BP documents stay untouched on the internet for years therefore becoming completely useless. If you think about the web it’s even worse considering the browser automatic update policy changed recently: the chances for changes to happen in the way browsers handle things increase every day.

Also, do you realize that the majority of BP documents online are quite rarely complete? They normally don’t cover all the aspects you might want to take care of and this leads to waste of time looking for more documents.

BP are not much different from IT books, they get obsolete before you realise it and can turn out to do more harm than good. 

I know, yes, I do know what should be the point of BP… but how about using your brain instead of blindly following some checklist found on the internet and maybe read some documentation?

One of the examples that I like to mention when I happen to have an discussion about BP, is the way browsers read and interpret CSS selectors. I like it because it shows how bad things can turn if you don’t keep yourself updated and do some proper research.

Originally, most browsers if not all of them, where reading CSS selectors from left to right so everyone writing CSS had to build a selector keeping this in mind and making sure the leftmost element of a specific selector was good enough to reduce as much as possible the number of elements of the page to be checked. Well, this changed a few years ago in some browsers, so that the the selector is read from right to left: you can understand how this dramatically affects performances and how different selectors should be to perform nicely.

How did I found out this info? Googling…

hold on a sec… am I trusting a document some guy published long time ago and therefore kind of behaving like BP fans? NOT AT ALL!

You can find on the internet many instruments for you to run tests and benchmarks for you to be sure that you are going in the right direction today and to check in the future if whatever you did is still good.

My favourite tool is “JS perf“: it really helped me out a lot of times but, what’s also important, it made it very easy for me to demonstrate to BP fans why their code was that bad and to open their minds to other solutions.

Today more and more of the web is moving towards Javascript applications, CSS animations and a lot of other things that help users enjoy more their web experience on a wider range of devices: performances on the client side have now much higher importance than before and this becomes particularly relevant as the web app grow and get richer and richer in complex functionalities.

This is not meant to be a guide for anyone, it is just a reminder for me to always stay up to date and never blindly follow documentation found on some bloke blog: the secret is always double check, run your own tests and don’t underestimate the importance of exploring new paths.

Posted in Development, Web | Tagged , , | Comments Off on Why I hate best practices

Tweetdeck and the damn gnome keyring

tweetdeckIf you are reading this article you are probably one of those who are tired of the Tweetdeck Chrome App and are wondering WHY? WHY???? you can’t get the old air app working on your 64 bit linux box.

Thousand of people managed to install Adobe Air and Tweetdeck but still can’t use the app because the app won’t let you insert details of your account.

Basically when you launch Tweetdeck you are presented with the two popups below:



As you can see, the second popup gives you a link to an article with directions to follow: basically it’s about making sure you have your gnome keyring daemon installed and running, and making sure the password storage is not corrupted.

Of course this is not always the case, but you just check that. just in case….

If that is not working, probably it’s better if you try to understand what is really causing the problem by launching Tweetdeck from a terminal: you will see that some library is missing or not correctly found.

90% of the times, the issue is caused by the libgnome-keyring .so

If you are using a 32 bit distro, you will just have to create in /usr/lib a symbolic link to the library:

ln -svf /usr/lib/

If you are using a 64 bit distro the story is a bit different:

  1. download the package of the 32 bit version of the library
  2. extract the file
  3. copy the file to /usr/lib64/
  4. launch Tweetdeck and enjoy

if the file name is different, something like or

  1. download the package of the 32 bit version of the library
  2. extract the file
  3. copy the file to /usr/lib64/
  4. create a symbolic link: ln -svf /usr/lib64/  /usr/lib64/
  5. launch Tweetdeck and enjoy
Posted in ICT | Tagged , , , | Comments Off on Tweetdeck and the damn gnome keyring

Extremadura to move all of its 40,000 desktops to open source

open sourceLast time I’ve heard about a big move like this, German Foreign office was switching back to Windows after 10 years. Now a post on a blog of the european commission website is announcing that Spain’s autonomous region of Extremadura is going to move to a complete open source desktop.

The plan is to migrate 40,000 desktop PCs to a Debian distribution making this move the second largest open source migration right between the French Gendarmerie (90,000 desktops) and the German city of Munich (14,000).

Such plan could sound complex and long but the director general is assuring that it will not a problem: in fact, Extremadura will use a Debian distribution already used by the region’s public health services in the last 5 years. This distribution is being prepared and adapted to the needs of a standard user and will offer a light and secure desktop.

Debian is a very good starting point to have a secure, easy and manageable desktop, compliant with the requirements of ISO and IEC 27001 IT security standards.
The project is already at a good stage and the estimation: 3 month to get the distribution ready, first deployment in spring and 40,000 desktops fully migrated by December.

For more details about this please refer to the European Commision blog post .

Posted in Open Source | Tagged , , | Comments Off on Extremadura to move all of its 40,000 desktops to open source

Android developer proves on video CarrierIQ is secretly logging all users actions

Big troubles for CarrierIQ as an Android developer, 25-year-old Eckhart, proves on video that all users actions are logged.
CarrierIQ also tried to silence Eckhart threatened him with legal action and huge money damages but the developer was quickly backed by The Electronic Frontier Foundation and CarrierIQ backed off.
An attempt to deny logging keystrokes is clearly undercut by the plublished video and now millions of users will start getting really really worried about their privacy.
I wonder how many other companies are doing the same thing.

As you can also read on Wired:

The video shows the software logging Eckhart’s online search of “hello world.” That’s despite Eckhart using the HTTPS version of Google which is supposed to hide searches from those who would want to spy by intercepting the traffic between a user and Google.

Cringe as the video shows the software logging each number as Eckhart fingers the dialer.

“Every button you press in the dialer before you call,” he says on the video, “it already gets sent off to the IQ application.”

From there, the data — including the content of  text messages — is sent to Carrier IQ’s servers, in secret.

By the way, it cannot be turned off without rooting the phone and replacing the operating system. And even if you stop paying for wireless service from your carrier and decide to just use Wi-Fi, your device still reports to Carrier IQ.

Posted in ICT, Mobile | Tagged , , , , | Comments Off on Android developer proves on video CarrierIQ is secretly logging all users actions

Chrome overtakes Firefox: another one bites the dust

The last chapter of the “war of browsers” sees Chrome overtaking Firefox after an incredible season of improvements. If you google for stats you will find different versions but, according to StatCounter, last week Chrome finally became the second most popular browser.

I’ve seen many articles about this milestone but what makes me really happy at the moment is the bigger picture: competition is speeding up modern browsers improvements and this can only be a big win for the community.

Both Chrome and Firefox are definitely great pieces of work, each one with pros and cons, and frankly I don’t care which one is better as long as they keep challenging each other in a big race towards perfection.

Internet Explorer is quickly getting what it has been looking for in last years: massive loss of shares of market. I hope this will finally force Microsoft to cut the crap and start doing some solid work on what I personally consider a real pain in the ass.

The web is growing fast and it’s changing form, uses and purposes all the time. There’s a need for a change and Chrome has given the world a proof that there is always space for improvements.

I hope 2012 will reserve us more good news. Enjoy stats!



Posted in ICT, Web | Tagged , , , , | Comments Off on Chrome overtakes Firefox: another one bites the dust

Android ICS Will Require 16GB RAM To Compile

AndroidI was giving a quick look at Slashdot when I found just another unbelievable story without any sort of source: Android ICS Will Require 16GB RAM To Compile.
At first I laughed but then I remembered that my gf was struggling a few days ago to get Android sources downloaded in a decent time. Few seconds after I was looking for news on the Internet and I’ve found this message.

ICS will be a much larger release than any previous Android release.
That means that it will also put a much bigger strain on the machines
that people use to compile it. As a rule of thumb, everything about
ICS in AOSP will be about twice as large as it was for Gingerbread.

Here are some preliminary numbers. Final numbers will probably be a
bit different, but those should be a reasonable first-order
approximation. Of course, your mileage may vary.

-6GB of download.
-25GB disk space to do a single build.
-80GB disk space to build all AOSP configs at the same time.
-16GB RAM recommended, more preferred, anything less will measurably
benefit from using an SSD.
-5+ hours of CPU time for a single build, 25+ minutes of wall time, as
measured on my workstation (dual-E5620 i.e. 2x quad-core 2.4GHz HT,
with 24GB of RAM, no SSD),

Naturally, if you plan to work on multiple branches (e.g. ICS release,
ICS development branch and AOSP master branch), you need to plan for
disk space accordingly, and you could easily end up using 250+GB.

If you use ccache, you need to expect it to use 3+GB for a single
build. Just about any non-trivial use case will require 10+GB to get a
good hit rate. If you work on a broad variety of branches or devices
and expect to routinely do full clean builds, tens of GB will be
useful, especially if you make local changes to any of the C/C++ code.

Finally, in terms of operating systems, things haven’t changed since
Gingerbread: 64-bit Ubuntu 10.04 and MacOS 10.6 (with XCode 3) are the
ones most likely to work.

It looks like I need a new computer if I want to play with Android…

Posted in Mobile | Tagged , | Comments Off on Android ICS Will Require 16GB RAM To Compile

Will ever Microsoft face its new levels of mediocrity?

Only few days ago, at the Seattle Microsoft Company Meeting, a very sad spectacle saw MS employees leaving as soon as Steve Ballmer started his speech.
MicrosoftRumors about Ballmer losing support of employees are now quickly spreading over the Internet in a period where Microsoft is facing a very big challenge: the market is quickly evolving and Microsoft is clearly struggling to keep up with changes.
I’m wondering if this will finally get Microsoft to correct its direction and think more about quality.
In the past years, despite a number of announcements, Microsoft proved to prefer mediocre solutions, probably on purpose.
Being mainly a web developer, I’m really interested in development of a decent web browser: Internet Explorer is officialy a big load of crap that only forces to continuos use of workarounds. Definitely nothing close to Chrome and Firefox levels.
In fact, Internet Explorer is loosing slices of market every day.
I’ll sound like just another voice in the crowd, but I’m really fed up with Microsoft crap. I don’t see any more traces of good will in a company that could really make the difference.
I’ve been using Microsoft products for ages and for sure I will not deny MS role in the history of technology but, as I speak, Microsoft is hardly producing something anywhere close to what is expected from such a big company.
Perhaps time for a change?

Posted in ICT, Web | Tagged , , , , | Comments Off on Will ever Microsoft face its new levels of mediocrity? – the short url next level logoWe all know about services like tinyurl, an url shortener. The web is now full of websites offering such a service but the time has come to take it to the next level.

One of my friend and colleague, developed a new version of this service supporting multiple urls… yes… MULTIPLE urls. Its name is

This means that it is now possible to condensate multiple urls in just 1 tiny one. Clicking on such url will open a very simple and good looking interface with tabs and all the original urls. The idea is very simple but it is quite useful. Please have a look and don’t hesitate sending feedbacks.


Posted in ICT, Web | Tagged , , | Comments Off on – the short url next level