The reason I use the international keyboard

If you think that a keyboard layout can boost your productivity, you should consider the time you will spend to learn a new one, the hassle and the frustration when typing something wrong… but if you love programming, you may consider to buy/switch to the international keyboard.

Back in February, I had to switch to a new MacBookPro. My old 2011 13 inch MacBookPro, started being impossible to use… and after 4 years I had to remove all the stickers from its back and turn it off forever. I am still in mourning after its death.

Considering all the times I’ve been playing, working, writing and programming with it, I feel sad… but I feel even worst when I think that I did it using the Italian keyboard, that was really impossible to use to write code: the keys that I need are hidden by combinations of shift and option. This is really common in several keyboard layouts, like the Danish or German ones.

The Option button (or Alt for some keyboards) is the big problem. If you look at your hands while typing you will notice that probably this “layout switcher” is right under your palms. This means that you have to move your hands to press some combinations that are including it… and you do this every time.

The international keyboard layout, instead, puts all the buttons we need, right there, and we can get [ ] ' \ / . - ; and , without crazy combinations. If we need something more complicated you can still use the shift button, and you can activate it without moving your hands from the previous position.

There is a feature that is helping me when I need to write other “special vowels” by holding the one I need. You can read more about it here, on the Apple support website. For example to write København I will hold O when i need ti write Ø and something like this will appear:

Just old the vocal you need

To be honest, it is not a big deal, but this is the reason why my MacBookPro has an International Keyboard instead of a localized one. It is easier to use to write code. My hands are thanking me for this choice 🙂

Needs and happiness with Maslow’s pyramid

Maybe I should write this blog post on my personal and secret diary, but I would like to share this using my blog. This time I am not going to talk about technology or startup, but what happiness is to me and how Maslow’s pyramid helped me to realize that.

Before moving to Denmark, when I was in Italy, I was focusing all my attention on the main actions to get material things and physical welfare: I was happy only when I was able to achieve my goals. The truth is that I was able to achieve my goals, but as soon as I got stuff done, after a short period of happiness, I had the same feeling when the tv series I am watching is over, and there are no more episodes to watch: looking for something to re-fill that feeling of nothingness.

Maslow's hierarchy of needs

So I reminded that Tommaso Grotto, once told me about his own version of the Maslow’s hierarchy of needs and I decided to think about that, redrawing and thinking from scratch what happiness means to me. I am not a psychologist and just for fun, I created my own Maslow’s pyramid, based on the needs I can satisfy to be happy and on my life goals.

I created a new pyramid made by needs connected to specific life-goals and actions: At the bottom of it there are needs that I can satisfy easily, (like eating junk food) and on the top the needs that require a bigger effort (like found another company). I don’t want to share it here, because is really personal and I am sorry, but I hope you get the idea: I really suggest everybody to create their own Maslow’s pyramid.

To really use my “pyramid” I started comparing it with my every-day whims: by asking myself  “where should I put this whim inside the pyramid?” I understand what priority and if that whim makes me really happy. If it fits or is connected to some of the pyramid levels, I will perform the actions to satisfy the need behind that whim. This helped me to distinguish things that really matter and things that doesn’t, like for example, my decision of not buying a new phone at the beginning of this year: there was something more important to do than spend some money for something that I don’t really need.

Even If I live in the happiest country in the world, I think that this is really personal and probably there is not a single way to see the Maslow’s pyramid. I am not a psychologist but I think everybody should build a pyramid… and listen to the happy song 😛 It helped me to clear my mind from stupid whims.

Does Money mean Trust? [Spoiler: Yes]

Finally, I moved my blog to The reason is really simple: time. I have a blog that had been for years and years hosted on my own server. This helped me a lot, because is cheaper and it allows me to use custom plugin and design my own theme. But everything is fine until you get hacked! …and sadly I don’t have enough time to find a solution to this… by paying!

Money by Mukumbura

Shortly: I found that 2 months ago, exactly on the 5th of May, somebody injected some PHP code in my wordpress installation on my server.  The way to fix this is to restore some backups and upgrade everything to the latest version… but I don’t have time for this. So I decided to spend 99$ and buy the Plan in order to have my old blog, in my old domain ( ), with a horrible theme and the trust that will take care of the security of my thoughts.

I have a strange feeling of security when I pay that. Probably this feeling of security is caused by the trust I give when I pay those 99 dollars. I am not a psychologist, but I can say that maybe this is the base for some business models mostly in the share economy or every peer-to-peer business model… Continue reading Does Money mean Trust? [Spoiler: Yes]

Communication techniques for lovers.

During the last months, I fell in love with different people. My real problem was that my mind was “acting like a child”, dividing work from loving affairs as two magnets with the same poles attract themselves (hint: they don’t). That’s good, but what happens if you bring “communication techniques” into love affairs? So I realized that, when I am in love, I was not that good in communicating as I am doing while working every day… then I decided to write down some suggestion about the “communication techniques for lovers“.

Communication for lovers (Photo by MartinodF)

I decided to write some simple suggestions based on what happened to me, to remind me to communicate better. I want to apply some communication techniques that I’ve learned from the experience of working in teams, to my future love story, just because I failed in the past.

The fact that we pretend other people to read our needs is really stupid. Is really important that we understand that nobody will ever be able to read clearly what we are thinking, our needs or our interests. Nobody is called Steve Jobs or Jeff Bezos, and only few people are able to understand or create needs in other people. I believe this is the basic problem that brings us to communicate with other people in the wrong way. Continue reading Communication techniques for lovers.

Perché ho detto No all'acquisto del Nexus 5

Problema: la batteria del mio iPhone 4S si stava rovinando sempre più velocemente. Fino a 6 mesi fa ricaricavo la batteria solo ed esclusivamente quando questa si scaricava completamente… poi però ho iniziato a prendere la cattiva abitudine di ricaricarla quando ne avevo la possibilità: il risultato è che l’iPhone si scaricava in meno di 5 ore, quando prima arrivava tranquillamente fino a sera.

iPhone 3G won't charge anymore

Così avevo preso in considerazione l’acquisto di un nuovo smartphone e avevo pensato proprio al Nexus 5: il costo di questo device è nettamente inferiore rispetto a quello dell’iPhone 5s e mi offre comunque tutto quello di cui ho bisogno.

Poi mi ricordo di questa intervista a Linus Torvalds che mi aveva girato Alessio mentre eravamo in treno. L’articolo è interessante, ma la parte che mi ha colpito di più è questa qui:

“…There are a lot of people in the software industry who like to show off that they’re using the latest software or programming language. It’s a status thing, like the people who talk about obscure indie bands or foreign movies. Whether it’s Linux or Haskell or MongoDB or whatever, every workplace has at least one guy who spends most of his time talking about closures and how he is moving his blog to NodeJS so it will scale.”

Ed è assolutamente vero: con l’acquisto del Nexus 5 stavo costruendo il mio status. Perché acquistare il Nexus 5 è uno spreco di soldi in realtà, non ne ho bisogno in quanto l’iPhone 4S non è lento e non da problemi, l’ho sempre trattato benissimo e ha solamente la batteria che si è rovinata con il tempo. Nel mio caso non è obsolescenza programmata.

Nexus 5

Dentro di me stavo proiettando il film che non faceva altro che alimentare la voglia di Nexus 5: avrei utilizzato tutta la suite Google, avrei potuto installare un wallet bitcoin, avrei potuto utilizzare BitTorrent sync in background, avrei potuto usare l’NFC, oppure avrei semplicemente potuto installare una ROM differente… ma ne avevo veramente bisogno?

Con l’attività di freelance non ho bisogno di NFC, non ho bisogno di Bitcoin o di una ROM modificabile. BitTorrent Sync e la suite Google le posso già utilizzare con iOS. L’iPhone già mi da tutto quello di cui ho bisogno: Pages, Numbers e Keynote, Mail, Evernote e Skype sono il giusto necessario per lavorare e spostare tutto sulla suite Google sarebbe stato anche “doloroso“. Quindi è veramente utile l’acquisto del nexus 5? No.

Invece di fare il Nerd-Hipster vanitoso, ho cambiato radicalmente punto di vista e ho cambiato radicalmente scelta. Mi sono recato in un negozio Clinica iPhone a Roma e per 50€ ho sostituito la batteria dell’iPhone. Ora ho il problema che la batteria mi dura troppo ed arrivo a fine serata con il 30%, ma riesco a lavorare senza problemi e senza aver speso 400€ inutilmente 🙂

Sogno una Roma per Startup

Vivo a Roma da più di un anno ormai. So di cosa ho bisogno, so di cosa hanno bisogno le persone come me. So cosa la mia città offre, e cosa può offrire. Non verrà mai il giorno in cui tutti i cittadini della città vedranno i loro desideri realizzarsi, ma io faccio quello che posso per provare a trasformare Roma in una Roma per startup.

Ricostruire la Roma per Startup

La Roma che sogno è una città dove la metro chiude alle mai e cinque quarti, dove quando vai a vedere una mostra al museo puoi rimanere fino all’ora della chiusura e dove gli ambienti di coworking sono aperti sempre e a tutti.

Nel mio sogno posso rimanere fino a tardi a lavorare ovunque. Posso parlare con tante persone interessanti e stimolanti, senza preoccuparmi di quale notturno prendere per tornare a casa.

Sogno una connessione ad internet veramente veloce e tante e diverse persone che lavorano per rendere Roma un posto sempre migliore. Nella mia testa c’è una Roma piena di caffè, biblioteche, bar e spazi di coworking, dove le persone sono rilassate e sorridenti.


Nel mio sogno Roma non è un ambiente “facile”. Sogno un ecosistema che aiuti chi ha già idee ed è in difficoltà. La Roma che sogno non guarda l’età, la religione, il sesso o il colore della pelle, ma guarda ai manifesti, i cambiamenti e ciò in cui vogliamo credere.

Ho trovato questo interessante articolo di Nicola Mattina abbastanza diretto da farmi capire diverse cose. Ogni città ha una sua storia e la Roma che sogno non è una città “copiata”. Di sicuro non è la città per turisti, dove la metro A è diversa dalla metro B. La città che voglio è quella che non ostacola chi è nella mia stessa situazione.

La Roma che vivo ha tante opportunità. La Roma che conosco è quella che ha internet lento, a pagamento e fatto male.La metro chiude alle 23:30 e non è affidabile. I bus notturni non sono tracciati dal GPS. I musei e gli spazi di coworking cacciano i visitatori 30 minuti prima della chiusura. Roma è piena di tante cose stupide che rendono le mie idee impossibili.

Ci sono tante persone che vorrebbero una città migliore, ma nessuno fa nulla se non per motivi personali o ritorni economici. Ma si può cambiare e ne sono sicuro. La parte triste: io posso fare veramente poco se non sfidare me stesso nel realizzare le mie idee qui. Oppure scappare.

Consigli per il prossimo commit

Da parecchio tempo utilizzo software di controllo di versione. Posso dire di averli provati quasi tutti: CVS, Subversion, Git, Bazaar fino ad arrivare al mio amato Mercurial. A noi sviluppatori fa poca differenza usare o l’uno o l’altro: alla fine tutti quanti sono “uguali”, la differenza sta nel come noi li utilizziamo… ovvero i messaggi che scriviamo nei commit.


Quando lavoriamo da soli ai nostri progetti, non ci poniamo mai il problema: cosa devo scrivere nel commit? E allora ci diamo dentro con le cose più assurde giusto per riempire uno spazio 😛 Il sito web raccoglie tutti i commit della notte precedente: esprimiamo la nostra rabbia, le maledizioni e le imprecazioni per qualche stupido bug 🙂

Tutto cambia nel momento in cui dobbiamo lavorare con altre persone: non possiamo scrivere “merda! non funziona” ( ehm, si… una volta l’ho fatto 😛 ). Anzi dovremo dedicare più tempo perché il messaggio del Commit rappresenta l’anteprima/spiegazione della modifica che è stata apportata… e deve essere letto da altre persone.

Secondo me un commit message deve essere sia breve quanto basta: il giusto numero di caratteri che servono per descrivere quello che abbiamo fatto; sia deve essere esplicativo: per ricordarci cosa avevamo fatto quando tra 5 anni rivedremo i logs; e se ne c’è il bisogno, deve avere dei riferimenti, come il numero del bug corretto, il commit che ha creato un problema appena risolto oppure il nome della features implementata.

“Eh? Che hai scritto lì?”

Io di solito non supero mai la lunghezza di un tweet (140 caratteri), o se lo faccio ci sono ragioni specifiche. Se ho corretto un bug causato da un commit passato, riprendo dallo storico il numero di quel commit o il suo titolo e gli aggiungoFix…“, seguito da una breve descrizione del problema risolto. Non ci dovrebbero essere scuse: anche alle 3 di notte, sotto pressione a causa del demo day imminente, bisogna scrivere dei commit sensati.

Anche se poi alla fine… ci lasciamo andare tutti quanti ad un bel “NON FUNZIONA UN C****O!” prima del push delle 5:00! Nonostante ci leggano tutti su github 😀