Dopo una lunga pausa riecco tornare la rubrica "Interviste ai programmatori Italiani"
Ospite di questa nuova intervista è Andrea Stagi, un giovane e talentuoso programmatore che collabora attivamente alla realizzazione di emesene, Turpial e TortoiseHG e fra una cosa e l'altra si diletta anche a creare applicazioni per il mondo Android.
Andrea è stato così gentile da rispondere alle mie (noiosissime) domande per voi lettori e per questo lo ringrazio di cuore.
A voi dunque l'intervista sperando che vi piaccia :)
1) Come prima cosa che ne diresti di presentarti ai lettori di Marco's Box parlando un pò di te, dove sei nato, cosa fai nella vita etc
Ciao a te Marco e a tutti i lettori :) sono Andrea Stagi, ho 24 anni e vivo a Pistoia. Nella vita sviluppo software, collaboro con HTML.it e parallelamente studio Informatica all' Università di Firenze. Partecipo attivamente anche nel mondo open source, contribuendo a progetti quali Emesene, Turpial e, saltuariamente, TortoiseHG e infine collaborando con il Lug della mia città (il PtLUG), con il quale cerchiamo di diffondere, oltre alle tematiche di software libero, una rete wireless al servizio del pubblico nei locali della zona. Oltre all' informatica coltivo la passione per la musica e i videogiochi.
2) A che età il primo computer? Che sistema usi attualmente?
Eh abbastanza presto, intorno agli 8 anni. Non ricordo il modello, ma ricordo che non c' era Windows, solo MS-DOS e il mitico Indiana Jones and the fate of Atlantis installato sopra. Credimi, un mix micidiale, quelli sì che erano tempi! :) DOSBox comunque mi viene incontro in maniera impeccabile nei momenti di malinconia :) Come sistemi attualmente utilizzo Ubuntu 11.04 e Fedora 16 ma spesso, per necessità, lavoro anche su Windows.
3) Linguaggio di programmazione preferito?
Per lavoro mi sono trovato a lavorare in Java, C#, Javascript, Php e tutta la parte web relativa e alla fine mi sono anche appassionato ai vari framework utilizzati ( ad esempio ultimamente mi sono immerso con grande soddisfazione in Spring e PhoneGap ), ma se devo scegliere un linguaggio tra tutti, scelgo Python. E' potente, semplice e ben leggibile e inoltre secondo me incrementa un sacco la produttività.
Sono molto affezionato anche al C, è stato un grande compagno d'avventure sin dai tempi della scuola e ancora lo utilizzo per creare estensioni Python e in programmi dove necessito della massima potenza.
4) Sbirciando fra il tuo profilo ho visto che sviluppi software per Android. Ci vuoi parlare di qualche tuo programma?
Ah si :) è un' avventura che ho intrapreso dallo scorso anno, qualche mese dopo aver acquistato un dispositivo Android. Ho lavorato negli ultimi mesi alla realizzazione di un' app per SomaFM, una web radio di San Francisco. Appena avrò un po' più di tempo libero sicuramente penserò ad un progetto personale: è un mondo nuovo ed un terreno molto fertile, qualcosa da fare che manca si trova :) L'unica cosa contro la quale mi sono trovato a combattere è la portabilità del codice tra i vari dispositivi. Al di là che sviluppiamo in Java, spesso risulta veramente difficile accontentare tutti, alcune versioni di Android sono buggate ( e spesso non vengono aggiornate ) quindi la stessa istruzione può non funzionare su alcuni dispositivi, o addirittura può portare l' applicazione a crashare: questo oltre a diffondere un odio profondo da parte degli utenti verso l' innocente sviluppatore, generano in quest' ultimo una serie di grattacapi seguiti da notti insonni passate a trovare rimedio con workaround improponibili, che molto spesso si rivelano insufficenti..
5) Parlando ora di Emesene (il mio client msn preferito) il progetto a cui collabori, quando ci sei approdato? In cosa consiste il tuo lavoro?
Mi fa molto piacere che sei un sostenitore del progetto :) Beh, tutto è iniziato sviluppando due plugin per la prima versione, caduti purtroppo nel dimenticatoio (Flickravatar e Twitterene): questo mi ha poi portato ad interessarmi allo sviluppo della 2.0 sulla quale ho cominciato a lavorare più di un anno fa, quando ancora questa versione era praticamente inutilizzabile..Il mio lavoro consiste principalmente nello sviluppo del core, di contorno ho poi sviluppato la sincronizzazione con Emesene 1, il motore per scaricare i plugin
direttamente da Emesene (con un interfaccia completata in maniera magistrale da Sven ) e un po' di bugfixing su Papyon. Ultimamente mi sono molto concentrato sul miglioramento delle sessioni di Gtalk e Facebook, sviluppando per entrambe il supporto agli avatar e i servizi di mail ( rispettivamente GMail e messaggi privati Facebook ). Oltre a questo inizierò a dedicarmi ai plugin, visto che ce n'è pochi :)
6) Quali sono le difficoltà maggiori che incontrate nello sviluppo di emesene?
Ultimamente Emesene è diventato molto stabile, ma le difficoltà sono state tante e ancora ce ne sono. Tra i maggiori problemi troviamo la chat vocale e video che ancora non riusciamo a supportare, molti bug causati da Papyon che ci hanno costretto a patchare la libreria e ultimamente alcuni cambiamenti nei protocolli che ci hanno fatto impazzire e problemi con la versione per Windows. Infine la più grande difficoltà di tutte: la mancanza di sviluppatori. Siamo veramente pochi, il lavoro quindi procede lento e se avvengono imprevisti può fermarsi completamente per molto tempo.
7) Ci sono altri italiani nel team?
Si, di attualmente attivi rimane Riccardo Bortolato , ma abbiamo avuto anche altri due grandi contributori: Stefano Candori e Gabriele Visconti che ha iniziato il supporto a Qt4. Possiamo includere anche Mariano Guerra dai, visto ha origini italiane :)
8) Puoi darci qualche anticipazione sulle prossime versioni d emesene? Arriverà mai il login multiplo per avere msn e gtalk loggati contemporaneamente?
Più che uno sviluppo del core, io credo che Emesene necessiti di un enorme contorno di plugin e temi, come era avvenuto per la prima versione. Per quanto riguarda il login multiplo, l' ultima volta che è stato preso in considerazione è stato molto tempo fa, adesso credo che l'idea sia stata completamente abbandonata. Per le prossime versioni sarebbe bello avere un' ampio supporto a Google+ e Facebook, così da mettere l' utente in condizione di ricevere tutte le notifiche tranquillamente da Emesene. Nell'ultimo post del blog parlo proprio di questo. Infine dobbiamo cominciare a lavorare seriamente sulla pacchettizzazione per i vari sistemi operativi e le varie distribuzioni linux, alcuni pacchetti hanno fatto la muffa ormai!
9) Orientamento religioso, sei pro Stallman o pro Torvalds?
Mah, non mi viene da schierarmi, sono due grandi personaggi che ammiro, li vedo come un' entità unica.. :)
10) Prima di lasciarci hai qualche saluto o ringraziamento da fare?
Intanto ringrazio te per questa intervista e ti ringrazio anche a nome di tutto il team di Emesene per averci dato l' opportunità di parlare del progetto :) Se qualche sviluppatore/grafico/packager/ tester sta leggendo e vuole contribuire, è il benvenuto.. Un saluto e un grazie anche a tutti i tuoi lettori, i miei colleghi (dai quali non si finisce mai di imparare) e a tutte le persone che sopportano la mia frequente assenza.