March 2017 Blog Posts

La password? No, grazie. Non la voglio conoscere.

Qualche giorno fa mia moglie viene da me mostrandomi il telefono e tutta contenta mi dice: Questi si che sono un sito serio, finalmente! Mi ero dimenticata la password e me l’hanno rimandata…mica come tutti quei maledetti che mi mandano una nuova password e poi un link e poi mi obbligano a cambiarla… Sono inorridito. Potete immaginare. Scherzi a parte, è ovvio che la gestione delle password per un utente “normale” è una rogna colossale. È altrettanto ovvio che gli utenti finiscano per riutilizzare le stesse password. Giorno dopo giorno. Spiegarle...

posted @ Friday, March 31, 2017 4:29 PM | Feedback (0)

Il lavoratore remoto: l’ambiente che vi circonda è essenziale.

Mio malgrado sono stato obbligato per qualche mese a frequentare un co-working. Dico mio malgrado perché il sottoscritto è un po’ come un gatto: socievole ma non sociale. I co-working e gli open space sono l’abominio del posto di lavoro Magari sono solo io che non sono un animale sociale, ma anche se fossi da solo per me risulta impossibile lavorare in un ambiente dove non regna la pace. E, lasciatemelo dire, mi sa che non sono solo io perché tutte le volte che ho osservato un co-working o un open space ho sempre visto questo:...

posted @ Wednesday, March 29, 2017 12:00 PM | Feedback (0)

Il lavoratore remoto: una call è meglio di mille parole e mille parole sono meglio di una call.

Una delle cose su cui sento insistere molto è l’asincronicità del lavoro remoto. Si stressa molto sul rendere tutto asincrono. Ottimo, peccato che non funzioni sempre La comunicazione asincrona comporta scrivere molto, anzi moltissimo. Scrivere aiuta moltissimo in certi contesti e crea moltissima frizione in altri. Diventa quindi molto importante capire rapidamente quando la comunicazione ha senso che sia asincrona, e quindi scritta, o sincrona e quindi vis-a-vis con una call. Diciamo che la nostra regola aurea interna è: discussioni e ricerca del consenso funzionano molto bene in maniera sincrona e molto male...

posted @ Monday, March 27, 2017 11:47 AM | Feedback (0)

Il lavoratore remoto e la qualità della connettività.

Sembra una cosa scontata, ma non lo è per nulla. Perché il lavoro da remoto possa anche solo essere preso in considerazione la presenza di connettività è un requisito fondamentale. Direi lapalissiano. Quello che forse è meno scontato è la frustrazione e lo stress elevatissimo che una qualità scadente della connettività può generare, sia da parte del lavoratore che da parte del datore di lavoro. Banda, velocità nominale e qualità La velocità della connessione è un fattore che ha un peso limitato sulla qualità complessiva percepita, e di conseguenza su stress e frustrazione. Paradossalmente è meglio...

posted @ Monday, March 20, 2017 9:18 AM | Feedback (0)

Il lavoratore remoto

Lavoro, da remoto, come Solution Architect per Particular Software da circa 3 anni. In questi tre anni ho, e abbiamo anche come azienda, sperimentato parecchio in ambito “lavoro da remoto”. Da un annetto a questa parte parlo pubblicamente di come siamo organizzati. Il talk, “The agony and the ecstasy of working remotely (from cogs to Nirvana)” , è focalizzato sulla struttura organizzativa e sul processo evolutivo che l’azienda ha intrapreso. La nuova categoria “remote working”, di cui questo è il primo post, nasce invece per raccogliere tutta una serie di suggerimenti e accorgimenti (tips & tricks) per me...

posted @ Friday, March 17, 2017 9:30 AM | Feedback (1)

La complessità è importante. Accettatela.

Una delle regole non scritte dei sistemi distribuiti, in stile Fight Club, è: non distribuire. Ci devono essere validissimi motivi per scegliere di costruire un sistema distribuito. Come sappiamo, ma forse troppo facilmente dimentichiamo, la soluzione di tutti i mali non esiste. Un’architettura distribuita risolve un sacco di magagne ma inevitabilmente ne porta con se altre, diventa quindi importante valutare bene queste altre per essere sicuri che il gioco valga la candela. L’altro ieri parlando di Enel scrivevo: La cosa che più mi fa imbestialire è che un mondo complesso come quello di Enel...

posted @ Wednesday, March 15, 2017 8:45 AM | Feedback (2)

Ginger

Da qualche giorno sto usando, con soddisfazione, Ginger come tool di supporto per la scrittura. I ragazzi di Ginger mi hanno offerto una licenza full che abilita tutta una serie di funzionalità interessanti. Di base Ginger è un “correttore” multilingua che oltre ad avere il classico supporto per grammatica e ortografia vi da anche un discreto supporto per la costruzione logica della frase, molto utile quando si ha a che fare in particolare con una lingua straniera. La cosa che mi piace di più in questo momento è la varietà di strumenti messi a disposizione. Si integra con...

posted @ Tuesday, March 14, 2017 9:57 AM | Feedback (0)

Tutto è una macchina a stati: la tecnologia al servizio dell’utente.

In questi ultimi giorni ho, volente o nolente, parecchio a che fare con Enel. L’esperienza utente con i sistemi Enel spazia dal piuttosto pietoso al disastroso. Lasciatemi usare l’ultima cosa che mi è appena successa come spunto per una riflessione: alle 17.50 mi arriva un SMS che mi informa di controllare la mail secondo loro dovrei cliccare sul link presente nella mail per completare la procedura di attivazione della bolletta online alle 18.43 la mail non è ancora arrivata E uno si chiede: come credi si possa...

posted @ Monday, March 13, 2017 7:12 PM | Feedback (0)

Make an impact.

Rendete straordinaria la vostra vita https://youtu.be/L7maQfH0lMs

posted @ Friday, March 10, 2017 5:33 PM | Feedback (0)

Commit o no delle dipendenze?

Quando ci siamo chiesti a chi conviene/interessa seguire SemVer abbiamo usato questo screenshot: E abbiamo anche detto: Nel caso specifico Alessandro si riferisce ad un problema leggermente diverso legato alla gestione delle dipendenze, lo affronteremo. Gli sviluppatori .NET sono abituati a Nuget e a non committare le dipendenze, il motivo è abbastanza semplice: il comportamento del package restore è predicibile. Se nel mio packages.config locale c’è una versione della dipendenza il package restore ripristinerà quella versione anche se ne esiste una superiore. La predicibilità è fondamentale, altrimenti rischiate che su...

posted @ Wednesday, March 8, 2017 8:15 AM | Feedback (0)

Una chiacchierata introduttiva a GraphQL @CodemotionIT

Siete curiosi di scoprire cosa sia GraphQL e perché sia Facebook che GitHub sembra non ne possano più fare a meno? Venerdì 10 marzo, alle 14, sarò ospite di un webinar gratuito, organizzato da Codemotion, durante il quale faremo una chiacchierata introduttiva a GraphQL, ponendo l’accento sulla interessante relazione che ci può essere con un’architettura SOA. GraphQL and Microservice Architecture Come possiamo progettare la comunicazione tra UI e back-end quando quest'ultimo è composto da decine (se non di più) di Microservices? Abbiamo la giusta separazione e autonomia lato back-end, ma tutto alla...

posted @ Monday, March 6, 2017 7:26 AM | Feedback (0)

Le sessioni, i titoli e gli abstract.

So che questo appello potrebbe cadere nel vuoto ma sia da partecipante che da speaker mi sento in dovere di farlo. Mettiamola così: andate al cinema a vedere “Trainspotting”, comprate il vostro biglietto e tutti eccitati vi sedete nella sala giusta in pole position. Inizia il film e vi fanno vedere “50 sfumature di grigio”. Per chiunque sarebbe inconcepibile. Il pubblico È la stessa esperienza che un partecipante ad una conferenza, o evento in generale, fa quando i titoli o gli abstract, se ci sono, non coincidono con quello che poi succede durante la sessione....

posted @ Friday, March 3, 2017 12:13 PM | Feedback (1)

Semantic Versioning: come?

Prendiamo come esempio il bug generato dalla breaking change di RavenDB, bug che abbiamo usato come incipit di questa discussione. È possibile prevenirlo? Si, e pure con estrema facilità. Uno degli step del nostro processo di build consiste nel far girare un tool che confronta l’API pubblica di due assembly e in base alla versione degli assembly decide se far fallire o meno la build nel caso in cui SemVer non sia rispettato. Il tool, a fini di test, è esposto anche come web server, potete quindi provarlo voi stessi: http://apicomparer-preview.particular.net/compare/ravendb.client/3.0.30165...3.5.2#.NETFramework,Version=v4.5 La chiamata di cui...

posted @ Wednesday, March 1, 2017 9:00 AM | Feedback (0)