La generazione del "mi lamento alla prima" riuscirà a cambiare l'Italia?

Me lo ha sempre detto mio padre: "se tu non fossi sempre così negativo, le cose funzionerebbero"

Ha torto. E ha la fortuna di avere 3 figli che non hanno mai mollato. Nel mio caso: 8 anni di ricerca, un dottorato, un lavoro all'università che, nonostante gli anni di esperienza, arrivava a malapena a pagare l'affitto, l'esasperazione e il trasferimento a Londra per ricominciare da capo, l'acquisto di una casa e l'arrivo di un nipotino.

E la stessa cosa vale per centinaia di migliaia di miei coetanei, che nonostante gli schiaffi in faccia tengono duro cercando di costruirsi una carriera che segue i propri studi, che appena le spese mensili consentono di mettere da parte qualcosa montano su un Ryanair per andare a respirare una boccata di Europa.

Ed è troppo facile per lui, mio padre, dire questa cosa. Lui che è nato e cresciuto nella generazione del boom economico, del gradiente di crescita positivo, nel paese che bilanciava allo stesso tempo l'affermazione delle politiche sindacali e la possibilità di ammiccare al sogno americano.

Però devo riconoscere che c'è un fondo di verità, ed è arrivato il momento di capire perchè ci viene rivolta questa critica. Guardo al mio passato, ripenso le cose che ho detto, leggo la mia timeline su Facebook e su Twitter e capisco: le giornate di pioggia, la batteria a terra, l'orale di un esame da rifare, il colloquio andato male. Sono tutte là, ma io so per certo che la mia vita non è fatta di sole giornate grigie.

Guardo e ripenso ai miei coetanei, a chi condivide la mia formazione, le mie frustrazioni, le stesse battaglie e penso quanto sia comune la tendenza a comunicare il basso continuo. Forse per esorcizzare le paure, o più semplicemente per scaricare una tensione, esteriorizzare una fonte di stress, condividere in modo da alleviare.

E allora cosa accadrà quando a questa generazione, la mia, verrà consegnato il paese? Perchè prima o dopo accadrà, per puro e semplice ricambio, la generazione del basso continuo si troverà in tasca le chiavi dell'auto di papà. Io vorrei evitare che, come accadde alla mitica Alfa 75 di mio padre, il paese finisca contro un muro. E penso che, affinchè questo succeda, sia necessario iniziare a ridurre i tweet delle giornate grigie e sia indispensabile iniziare a tirare fuori quella parte forte e allegra che sta in ognuno di noi.

Questo fine settimana ci sono le primarie del partito democratico, e questo è un primo passo per prendere l'Italia e portarla a fare un giro di prova. Chi mi conosce sa per chi voterò, e leggendo questi paragrafi penso sia anche facile capirlo, ma non ho scritto tutto questo per cercare di guadagnare un voto.
Mi sono sentito dire che "tanto non serve a niente" e mi viene in mente il mitico Bartali: "è tutto sbagliato, è tutto da rifare". Si è proprio così, è tutto da rifare, ma non votare a queste primarie significa tenere in garage la macchina di papà, l'ennesimo tweet annoiato che non arricchisce di una virgola sè stessi, nè le persone che ci stanno intorno.

E invece penso proprio che non siamo così negativi, e le cose siamo in grado di farle funzionare piuttosto bene.

Colonna sonora:
Bright Eyes, "Arc of time"
Duccio Vernacoli, "E ce la fo"

Read more

Analyzing fashion trends with visual similarity

6 months down the road of development for my 2012 research project with Telecom Italia, codename STAMAT - Social Topics and Media Analysis Tool - and we are now getting to the point of sharing the first encouraging results.

going through several iterations of research & development, STAMAT looks more and more an intelligent feed reader, where information is conveyed with several levels of enrichment: starting from clean text and images as published on RSS feeds, we add a layer of knowledge measuring the buzz and related media.

this way the information is not passively ingested by users, but examined across several measures and connected to other related elements, making thus possible an active and effective acquisition of knowledge.

key technologies involved to achieve this result are mainly: named entity extraction, topic analysis and visual similarity.

our tool is still in private alpha and we are going out in the cold to pitch our product to VCs, in the meanwhile you can check the screenshots posted here and anyone who wants to stay in touch can subscribe to our amazing signup page on memeflux.co and/or take a 5 minutes survey to help us building the next generation trend analysis tool.

Read more

Setting up Django with MAMP on Mac OS X Lion (in ? steps)

I started playing with a Django-Python version of my current project and I needed a testing environment on my local Mac-based machine. The thing is I didn't want to use a dedicated MySQL server just for the Django deployment, as it seems really silly when I already have my quiet MAMP running in parallel with all the other CodeIgniter-PHP based projects.

It's harder than you may expect. I had to go through a painful series of steps to eventually have the whole thing working, and taking here some notes so I can have them handy when I'll need to do it again, hopefully it will help someone else. It still needs to have a "dedicated" copy of MySQL installed just to compile, but it won't be used to actually run the server.

step1. download and install the latest mysql community server from the DMG file, here. Then from the command line, add the fresh installation to the local path, this will be used to pick the sources needed for the python module compilation. Also add a variable for the dynamic library linkage, this will be used on execution of your python scripts to find the correct library:

export PATH=/usr/local/mysql/bin/:$PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/

step2. assuming we have already a python virtualenv script in place. Create a new virtual environment and activate it:

python virtualenv.py django-mysql
. django-mysql/bin/activate

step3. now we're ready to install django and mysql-python. the latter should compile with few minor warnings if and only if we have correctly executed step1 (just double check that paths in the export statements are correct)

pip install django
pip install mysql-python
python
>>> import MySQLdb
>>> print MySQLdb

if everything works fine, then the last command above should show the full path of the mysql module compiled during the installation process

step4. create a django project and configure the settings.py so as to use the MySQL server shipped with MAMP

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django_test', # Or path to database file if using sqlite3.
        'USER': 'root', # Not used with sqlite3.
        'PASSWORD': 'root', # Not used with sqlite3.
        'HOST': '/Applications/MAMP/tmp/mysql/mysql.sock', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '', # Set to empty string for default. Not used with sqlite3.
    }
}

take EXTRA CARE to double check that the host variable is set to MAMP's socket, hence /Applications/MAMP/tmp/mysql/mysql.sock

step5. in my case, it's really not happening frequently, I also had problems with my locale, as some of the programs I installed messed around with the environment, so I got the error "unknown locale: UTF-8" as soon as I tried to sync the django db. this is solved exporting the correct variables, THEN syncing the db

export LC_ALL=en_us.UTF8
export LC_CTYPE=en_us.UTF8
export LANG=en_us.UTF8
python manage.py syncdb

and this should be all! Just a final note: this post was assembled trying things and using different sources to solve each and every problem appeared along the road, these are the original URLs I had to collate to eventually see my working copy of django: dedicated mysql dynamic library mamp socket  unknown locale

Read more