C’e’ un motivo per cui a me questi linguaggi non strongly-typed mi puzzano sempre un po’…
C’e’ un motivo per cui a me questi linguaggi non strongly-typed mi puzzano sempre un po’…
Mi ero stupito guardando la precisione di tutte le persone che avevano preso parte alla cerimonia di apertura delle olimpiadi di Pechino del 2008, ma evidentemente non conoscevo che gli orientali non sono nuovi a questo genere di sport: “le persone sincronizzate”
Tanto bello quanto inquietante!

Un obiettivo: prendere l’aereo a Malpensa alle 11.10, partendo da Pavia il lunedi’ mattina. 88km di strada, in macchina ci si mette meno di un’ora. Diversi collegamenti ferroviari con treni frequenti, qualche alternativa anche via autobus, impresa fattibile. Soluzione scelta: Pavia – Milano Bovisa con treno S13 e poi Bovisa-Malpensa con treno Malpensa Express. Due ore stimate, con un po’ di cuscinetto che non fa mai male. E invece quando Murphy ci si mette, non ce n’e’ per nessuno. Cronaca di un’epopea che fa emergere diverse carenze di un’infrastruttura fondamentale di uno stato, quella dei trasporti.
Parto da Pavia con la S13 (che nasce proprio da Pavia), ma dobbiamo prima aspettare il passaggio sulla tratta di un altro treno con maggiore priorita’. Niente di nuovo sotto il sole, succede molto spesso (di norma 3 giorni su 5). Alla fine, arrivo a Milano Nord Bovisa con un ritardo di 15 minuti, tanto basta a farmi perdere la coincidenza con il Malpensa Express che sarebbe partito alle 8:42. Fortunatamente c’e’ quello delle 9.42, dovrei ancora farcela. E invece, arrivato in stazione, mi cadono le braccia.
Per alcuni non precisati motivi, tutti, ma proprio tutti, i treni sono in ritardo o vengono cancellati, con paralisi estesa della viabilita’ ferroviaria. 20/30 minuti se va bene. E’ un terno al lotto, le persone aspettano davanti al tabellone sperando che qualcosa arrivi, prima o poi. Leggo che il treno delle 9.42 ha 10 minuti di ritardo, dovrei farcela lo stesso. Mi dicono inoltre che il Malpensa Express, costando i suoi 11 euro, e’ prioritario e quello delle 8,42 e’ partito in orario. Bene. Valuto l’idea di prendere un taxi, ma alla fine rinuncio visto che, nonostante i 35 minuti di tempo necessari per percorrere 48 km che Google Maps mi da, e’ noto a tutti che non ci si mette mai meno di un’ora, a causa di ingorghi e problemi sulla strada. Il lunedi’ poi, mi dicono, ci vuole ancora di piu’, come minimo un’ora e mezzo. Sarei troppo al pelo, rinuncio. Con un treno invece che sarebbe arrivato di li a 10 minuti e che comunque ci mette 30 minuti per arrivare, sono abbastanza sicuro di potercela ancora fare.
Passano 10 minuti, il personale ai tornelli non sa niente, guardano anche loro il tabellone degli orari che ormai e’ diventato come l’oracolo. Alle 9.40, ancora 10 minuti di ritardo dichiarato, ancora ho speranze. Poi si fanno le 9.50, nessun binario annunciato per l’Express. Poco dopo i minuti da 10 passano a 20. E dopo altri 10 minuti, siamo a 30 dichiarati. Un ritardo in crescita progressiva. Alla fine, sui binari, il treno arriva con 35 minuti di ritardo. Corro all’aeroporto, l’aereo deve ancora arrivare per problemi a Zurigo ma hanno gia’ chiuso la procedura in imbarco bagagli e check-in: non si parte :(
Valuto alternative, cambi volo, altre compagnie: no way. Riparto per Pavia verso le 12, arrivo alle 16.30. Treni cancellati all’ultimo secondo e stessa storia anche sulla via del ritorno, 4 ore per percorrere questi 88 km, peggio della mattinata. In bici ci avrei messo di meno. Parlando con il personale delle varie stazioni, un tassello alla volta, riesco a capire cos’e’ successo: Domenica hanno cambiato gli orari dei treni, ma non hanno aggiornato i turni del personale, e senza capotreni e macchinisti disponibili, molti treni rimangono semplicemente fermi alle stazioni, spenti. Il problema c’e’ stato anche con gli altri operatori, ad esempio quelli ai tornelli, ma essendo solo una sessantina di persone, mezza giornata di forsennato lavoro manuale, qualche abaco qua e la, e dei turni d’emergenza sono stati approntati. Ma per gli altri, visto che sono di piu’, ci vorra’ molto piu’ tempo.
Stamattina (martedi’), dopo 24 ore, uno pensa che la situazione si sia normalizzata (eh, il mio animo da ottimista, smentito poi dai fatti). Pur essendo convinto che non ce ne sara’ bisogno, stavolta che ho l’esperienza dalla mia, appronto un piano di attacco degno di Sun Tzu. So che partono piu’ treni da Cadorna o Bovisa rispetto a Centrale, quindi confermo la soluzione del giorno prima. Parto 4 ore prima del volo, alle 7 da Pavia, cosi’ posso prendere il Malpensa Express delle 8 e qualcosa, 8.33, 8.42 e 9.42. Ben quattro treni di tolleranza, sembra un margine insensatamente precauzionistico, ma preferisco perdere ore in aeroporto che non partire neanche stavolta. Arrivato a Bovisa, stessa storia di ieri. Ma non mi faccio trovare impreparato: inizio subito a chiedere al personale ai tornelli di farmi sapere se il Malpensa Express e’ partito da Cadorna oppure no, e alla fine li tampino cosi’ tanto che si accordano per farsi richiamare dai loro colleghi in Cadorna quando il treno sara’ partito, perche’ si accorgono anche loro che il tabellone degli orari non e’ affidabile. Il treno delle 8:33 arriva verso le 9 e qualcosa (anche qui con ritardi progressivi, fino alle 8:35 sembrava addirittura in orario dal tabellone), quello della 8:42 viene soppresso e non so che fine possa aver fatto quello delle 9:42. Ma sono arrivato sano e salvo in aeroporto.
Cosa ho imparato
Non mi fidero’ mai piu’ di Trenord, Trenitalia o Tren-salcavolo cosa. E un cliente che non ha fiducia in un servizio ma e’ costretto ad usarlo dato che non ci sono alternative, e’ una situazione a cui un po’ tutti i libri di marketing sconsigliano di arrivare.
Non basatevi sui cartelloni per sapere i ritardi reali: scassare sempre le scatole al personale per informazioni, e se dicono che non lo sanno, chiedere loro di informarsi alla stazione dal quale il treno dovrebbe arrivare, ed insistere, insistere, insistere. Con cortesia e gentilezza, ma insistere. Sono cose che loro hanno modo di sapere, ed e’ assolutamente inadatto il dover dipendere da un cartello. Per la cronaca, era in panne anche il sito m.viaggiatreno.it, che uso da tempi immemori per sapere i reali ritardi dei treni.
Un’informazione piu’ trasparente alla stazione aiuterebbe le persone a scegliere meglio eventuali alternative (bus, taxi, altro). E invece il servizio offerto nasconde molto, troppo. Come mai non indicano che il treno non e’ partito ancora? Come mai non vengono mostrati i ritardi *reali*, considerando che basta andare su m.viaggiatreno.it per averli, e quindi le informazioni ci sono e sono pubbliche? Come mai non si sa un cavolo di niente e bisogna aspettare, aspettare, aspettare? I gli stranieri, come li trattiamo?
Ma sara’ davvero il software che ha sbagliato oppure il problema e’ dentro un’azienda che, nel suo processo di burocratizzazione, si e’ dimenticata della sua funzione principale, quella di fornire un servizio? E’ normale che una cosa cosi’ importante come il cambio di orario sia andata male, sia sfuggita a tutti i controlli e simulazioni del caso e, dopo 36 ore, e’ ancora li che deve essere risolta? O e’ incredibile, o e’ un filino vergognoso. Oppure entrambe!
E per finire, una perla: avete notato che quando ci sono tanti treni in ritardo, i tabelloni vanno in panne perche’ non hanno piu’ spazio per mostrare i nuovi treni, quindi capita il paradosso che alle 8:43 siano mostrati solo i treni fino alle 8:40 e non tutti i nuovi?
#fail :(
Update: Dicevo di Murphy. Ecco, arrivato a Zurigo il mio aereo aveva piu’ di un’ora di ritardo, e quindi ho perso la coincidenza per San Francisco, rimando a Zurigo fino al giorno dopo. In pratica, Pavia – San Francisco 3 giorni, neanche fossi andato a nuoto :S
Rompo il silenzio di questi mesi (non ho proprio il tempo per scrivere niente purtroppo) per riportare un bellissimo scambio di email a cui ho assistito oggi. Riguarda la guerra in Israele e sulla Striscia di Gaza e viene da alcuni membri di un Google Developer Group (una community locale di sviluppatori).
————————————————–
Thank you for your interest!
Here in Israel we are trying to continue life normally as much as possible, hoping for the fighting to end soon, so far we have 3 dead civilians from the southern part of the country, and alerts going all day long there. People spend a lot of time in shelters.
We have decided to organize a special hackaton for creating apps to help people during these times, for example, maps of closest shelters, real time alerts, and so on, and we hope it to be successful. The Israeli GDGs are all participating in organizing this hackaton…
Let’s pray for good :-)
Tel-Aviv GDG, Israel
————————————————–
E poi, pochi minuti dopo, la risposta di un’altra persona
————————————————–
Just wanted to add that despite the situation we are open to collaboration with our Palestinian neighbors, so if there’s any one reading this – please let us know if you want one!
————————————————–
Ecco, a me queste cose toccano davvero il cuore, e mi fanno capire come davvero la solidarieta’ e l’amore tra le persone poco se ne fa dello stereotipo dei nerd con gli occhialoni spessi, sociopatici e tendenzialmente incuranti del resto del genere umano.
Ci sono scelte che iniziano a far male fin da quando ti sovviene una prima idea di doverle fare. Ma che purtroppo, per quanto si possa tentare in mille modi di aggirare il problema, alla fine vanno prese per evitare mali maggiori.
Cosi’ succede che, a seguito del mio nuovo lavoro in Google, ho scelto di rinunciare al ruolo di organizzatore del WhyMCA. Lo dico estremamente a malincuore e con un forte dubbio ancora dentro, ma ci sono dei fattori che non mi permetterebbero piu’ di fare serenamente cio’ che ho fatto fino ad oggi assieme ad Andrea, Paolo e Riccardo.
C’e’ un problema di sovrapposizione di ruoli: alcune attivita’ che abbiamo realizzato o avevamo in mente di fare con WhyMCA hanno come interlocutori gli stessi con cui io potrei interagire nel mio lavoro di tutti i giorni, creando dubbi in chi mi ascolta, del tipo “Ma adesso parlo con Alfredo-Google o Alfredo-Whymca?”
Poi per noi quattro il WhyMCA e’ stato sempre una palestra per nuove idee sul territorio italiano: il primo mobile hackathon fatto nel nostro paese, l’happyhour tematico e, su tutte, una conferenza sullo sviluppo per dispositivi mobili. Il movimento del WhyMCA si e’ sempre contraddistinto per la voglia di innovare e sperimentare con la community italiana dei mobile dev. Non posso che conservare questo modo di essere nelle iniziative che mettero’ in campo nel mio nuovo lavoro, e quindi ho paura che dall’esterno e dall’interno non si capisca piu’ dove finisce WhyMCA e dove inizia Google, e viceversa.
Non in ultimo, la questione del nostro essere superpartes. Fino ad oggi nessuno di noi 4 organizzatori poteva essere ricondotto ad un’azienda / marchio che apparteneva ad un player importante della scena mobile, mentre ora io ho perso questa inattaccabilita’. Si sa che il mondo e’ pieno di persone che, alla prima occasione, preferiscono collegare i puntini nel piu’ diffidente dei modi, invece che nel piu’ sensato, e quindi voglio evitare di scoprire loro il fianco, creando grane anche ad Andrea, Paolo e Riccardo.
Inutile fare un riassunto di tutto quello che mi rimane da questa esperienza: non solo 3 grandi nuovi amici, ma tanti volti conosciuti in giro, tante occasioni di confronto, tanti momenti di crescita e, soprattutto, tanti sorrisi soddisfatti per essere riusciti a far vedere che, se c’e’ la volonta’ e un po’ di competenza, si riescono a fare cose impensabili.
Grazie a tuti, mi mancherete un sacco, per fortuna che ci rivedremo tra i membri del pubblico. :(
Novembre 2011, Google decide di assumere un Developer Relations Program Manager per l’Italia. Lo vengo a sapere durante la prima riunione del GDG di Milano e penso che, dopotutto, puo’ valere la pena tentare un’application. Cosi’, tanto per provarci mi dico, non credo di avere la minima speranza, piu’ che altro per l’occasione di qualche nuova esperienza di colloquio, che non fa mai male.
Il trend del momento e’ presentarsi con un CV creativo, cosi’ mi metto all’opera e realizzo qualcosa. Passano dei mesi, faccio 7 diversi colloqui senza sapere neanche come ho fatto a superarli uno dopo l’altro e oggi, alla fine, ho trascorso il mio primo giorno in Google, direttamente a Mountain View dato che mercoledi’ inizia il Google I/O e tutto il mio team e’ qui, coinvolto nell’organizzazione dell’evento. No davvero, sono cose a cui non credi se non nel momento in cui le stai vivendo.
Sono cose che ti fanno capire quanto sia importante l’esercizio delle proprie passioni, tanto al lavoro quanto nel resto della vita perche’, prima o poi, ti restituisce quello che gli hai dato in modi anche inaspettati. Ti fanno capire quanto conta differenziare le attivita’ che si fanno tra lavoro ed altri hobby, perche’ e’ la cura di aspetti variegati del proprio carattere che fa crescere (sviluppare non e’ necessariamente sinonimo di partecipazione attiva alla scena delle community). Ti fanno capire quanto il dialogo con gli altri tuoi pari, e non solo, ti puo’ aprire la mente su fatti, dinamiche, idee e trend, con un grande arricchimento personale. Ti fanno capire che una speranza, quando presenta anche solo un briciolo di fondamento, ha tutto il diritto di essere coltivata.
Riassumento, venerdi’ ho fatto il mio ultimo giorno di lavoro un Funambol e sabato mattina ho preso l’aereo per il nuovo continente: non mi era ancora mai capitato di avere solo qualche ora tra un cambio di vita e l’altro. Comunque tranquilli, la mia sede sara’ Milano, e tornero’ in patria il 2 Luglio, quindi nessun nuovo trasferimento in vista, dovro’ solo pendolare un po’.
Funambol, devo assolutamente spendere qualche parola su questa esperienza: sono ormai passati piu’ di due anni e mezzo da quanto ho lasciato le Marche e mi sono trasferito a Pavia per lavorare in Funambol. E posso dire, senza ipocrisia, che e’ la prima volta che cambiare un posto di lavoro mi lascia un vuoto cosi’ grande dentro. Non un vuoto dovuto al cambio di mansioni (che ci poteva anche stare, dato che sviluppo da tempi immemori ormai), ma un vuoto a causa delle persone e dell’atmosfera che respiravo. Alti e bassi, ovvio, ma entrare la mattina in ufficio e sentirsi parte di un contesto in qualche modo amico nella sua interezza mi faceva star bene. Oggi magari non fa quasi piu’ notizia, ma gia’ da ben prima del mio ingresso si applicano le pratiche agili facendo SCRUM, il lavoro da remoto e’ permesso e le persone ed i team sono predisposti per gestirlo, c’e’ un calcino che continua a vedere grandi sfide tra tutti noi e tante altre cosette davvero all’avanguardia per il livello medio delle aziende IT italiane. Un’ambiente cosi’ ti fa crescere, ti insegna che la responsabilita’ del prodotto finale e’ anche tua e non solo dei tuoi manager, che la proattivita’ e’ un valore importante, che se c’e’ qualcosa che non va puoi tentare di correggerla, che quando ci si approcia alle cose “with fun” – because Funambol starts with Fun – si lavora decisamente meglio. Tutte caratteristiche che mi hanno favorito nella percezione di quanto potessi aderire alla “Google way of doing”.
E poi WhyMCA, a cui va l’altra meta’ del merito della conquista di questo traguardo. Essere parte attiva di una community, fare esperienza di organizzazione di eventi, raccogliere le aspettative degli altri e cercare di dargli una forma, scommettere su una visione in cui si crede e tentare di diffonderla tra i tuoi pari. E’ vero, mi sono costate tante ore di sonno perso e qualche occasione in cui ho dovuto scegliere cosa sacrificare, ma ora ne apprezzo ancora di piu’ i benefici “effetti collaterali”. Guardando indietro, mi accorgo di quanto sia cresciuto, granzie anche all’aiuto di Andrea, Paolo e Riccardo, su questi temi. Se potessi, metterei obbligatoria per ogni dev la partecipazione attiva ad almeno una community.
E insomma, tutto qui. Quello che ho visto oggi a MTV (Mountain View) e’ stato al limite dell’incredibile, ma ancora voglio immergermi in questo stile di vita prima di tirare qualche conclusione personale. Di sicuro ho tantissimo su cui rimboccarmi le maniche e per cui rimettermi in gioco, a partire da fatto che l’IDE non sara’ piu’ il mio principale interlocutore. Cosa dovro’ fare di preciso? Beh, in primis aiutare gli sviluppatori nell’adozione dei prodotti Google, ma la faccenda e’ ben piu’ articolata. Ormai l’ho voluta questa bici, quindi adesso mi tocca pedalare. Per fortuna che ho gia’ un sacco di idee in testa!
Your next mayor: A computer - Smartcities, un topic che impattera’ sempre di piu’ sulla nostra vita di cittadini nei prossimi anni. Un’analisi dei pro e dei contro del cambio della governance dall’attuale top-down al bottom-up, con qualche esempio già esistente e tanti spunti per creare nuovi servizi. E grandi corporation che vogliono estendere il loro dominio di controllo ;)
Cool Microsoft Research Takes Kinect to Another Level – NUI e Kinect, davvero un matrimonio ben riuscito. Ancora nuovi e spettacolari esempi di quello che e’ possibile fare con questa periferica!
Shell Apps and Silver Bullets – Quante volte vi e’ venuta la tentazione di dire: dai, facciamo una webapp invece di un’app nativa. Niente in contrario, ci mancherebbe, ma questo post mette in guardia da un po’ di problemi che potrebbero sorgere durante il ciclo di vita del prodotto realizzato, e che all’inizio possono venire sottovalutati
Goodbye, CouchDB – Articolo approfondito sui pro e contro nell’uso di un database NoSQL in produzione, nello specifico CouchDB.
The Hidden 3rd Party “Vulnerability” in Google Drive – Avevo gia’ riportato un link che confrontava i diversi TOS di Google Drive, Dropbox, SkyDrive ecc, ma questo articolo sottolinea un aspetto giuridico nella differente licenza adottata da Google Drive che annulla la protezione offerta dal 4° emendamento.
The many faces of a little green robot – Anche se qualcuno la chiama differenziazione, i fatti sono fatti: l’ecosistema Android e’ molto “variegato” sotto tantissimi aspetti: dimensione dello schermo, versione del sistema operativo, modello, risoluzione e tanto altro. Alcuni grafici per capirlo meglio.
How The Future of Mobile Lies in the Developing World – Il mondo del mobile ed il suo stretto legame con i paesi emergenti. Considerazioni per meglio capire come si sta evolvendo la tecnologia in un contesto molto lontano dalla nostra quotidianita’.
Mood Meter by MIT: un progetto sperimentale per misurare la quantita’ di sorrisi di una community di persone. Made in MIT, sfrutta una camera che trasmette in streaming l’immagine catturata ad un pc dove gira OpenCV con qualche algoritmo per calcolare l’intensita’ di un sorriso. Bellissimo!
Remixing Android: Una guida che spiega passo passo tutte le operazioni necessarie per costruirsi una versione customizzata di Android, dal codice di base allo skin dell’emulatore.
Money and the App Store: a few figures that might help an Indie developer: un post lungo, ma dettagliato, sull’esperienza di una startup orientata al mondo dell’indie gaming. Considerazioni, numeri, falsi miti e inattese sorprese che possono aiutare a capire meglio questo contesto.
Chiaramente un prototipo, ma che bello! Qualche info in piu’.
E’ sempre possibile preservare un pezzettino di ambiente ogni giorno grazie a piccolissime azioni:
“Why twelve? It’s the biggest number with one sillabe” – Geniale!
Microsoft and Open Source – Ultimamente Microsoft si sta aprendo molto al mondo dell’open source, con azioni impensabili fino a qualche anno fa. Ma c’e’ davvero una spinta etica dietro a queste mosse? L’autore dell’articolo sembra essere contrario.
Startups: Bands for Hackers – Simpatico ed interessante parallelo tra il mondo delle starup e quello delle band, molto piu’ simili di quanto possa sembrare a priva vista.
Is Google Drive worse for privacy than iCloud, Skydrive, and Dropbox? – Analisi delle licenze d’uso dei quattro servizi di storage di file nel cloud, con il focus sulle similitudini e differenze per capire quale meglio si puo’ adattare alle proprie esigenze e richieste di privacy.
Why iOS Apps Look Better Than Android Apps – Da sviluppatore Android, non posso che condividere la conclusione di questo articolo: in iOS sei piu’ vincolato, ma i vincoli che vengono imposti fanno si che l’applicazione realizzata abbia un aspetto migliore.
Zerg Rush Google Easter Egg – Google pensa anche agli affezionati di Starcraft :D
Android Ported to C# – I ragazzi di Xamarin sanno fare davvero delle magie con il loro MonoTouch e MonoDroid, ma davvero non avrei mai pensato che riuscissero a portare l’intero stack Android in C#, con evidenti vantaggi in termini di performance. Strabiliante!
Android builds: dev & prod – Consigli su come modificare lo script di build per gestire rilasci in debug e in release delle proprie applicazioni Android, gestendo problemi con il logging, l’api key di Google Maps ecc.
MvvmCross: a MonoTouch, MonoDroid, WP7 and WinRT MVVM – Un framework MVVM multipiattaforma basato su C#, con tanto di video di spiegazione.
Android Is Suddenly In A Lot Of Trouble – Un articolo che fa emergere molto chiaramente tutti i maggiori punti deboli di Android nel contesto odierno dal punto di vista del prodotto, non dal punto di vista tecnico. Sono d’accordo su tutta la linea.
Better Teamwork Through Better Workplace Design – Alcuni principi di base da seguire per organizzare efficacemente uno spazio di lavoro adatto a gruppi di persone. Bella la distinzione dei tre tipi di scenario lavorativo: “I work”, “You & I work”, “We work”.