Dic 8 / Igor Damiani

Nebbia

Non puoi fotografare la nebbia.

Non puoi ritrarla, né disegnarla.

Non puoi catturarla per metterla in bottiglia.

Non puoi illuminarla, perchè rispedisce al mittente il tuo bagliore.

Non puoi quantificarla o pesarla.

Non puoi darle fuoco, né asciugarla.

Non puoi accarezzarla, né graffiarla.

Non puoi ignorarla fingendo che non esista.

Non puoi assaggiarla né annusarla per sentire che sapore o odore ha.

Non puoi affettarla con un coltello.

Non puoi metterla a fuoco.

Non puoi evitarla girandole attorno.

La nebbia può essere solo combattuta attraversandola da una parte all’altra.

Send to Kindle
Dic 5 / Igor Damiani

WPC 2016

Ah, che bei due giorni che sono stati! WPC 2016 ne durava tre (29-30 Novembre + 1 Dicembre), ma io ho potuto partecipare solo ai primi due per motivi lavorativi. Tra l’altro due giorni inseriti in un mese di novembre davvero impegnativo per me, con tante uscite dalla mia zona di comfort che mi hanno fatto crescere, professionalmente che umanamente.

Innanzitutto grazie a Brain-Sys per avermi permesso di partecipare, tra l’altro per la prima volta come speaker di un evento. Ed è stata davvero una cosa strana, perchè io sono uno di quelli che non ha mai partecipato come speaker ad un evento community, figurarsi ad una WPC. E’ stato bello indossare un microfono, avere tanta gente in sala ed avere la loro attenzione. Grazie ad Overnet Education, e grazie anche a quelli che hanno inserito la mia sessione in agenda. E’ stata una bella opportunità. Ho visto tante mani alzarsi quando ho fatto la domanda: “Chi di voi sviluppa con WPF sul Desktop?” – a dimostrazione del fatto che nonostante si parli tantissimo di web e di cloud – e ci mancherebbe – tantissimi sviluppatori ed aziende devono per forza di cose orientarsi verso la più tradizionale delle applicazioni desktop. E per fortuna, direi. E grazie anche ad Andrea Benedetti di Microsoft per avermi coinvolto come regista nel #mannequinchallenge! E’ stato divertente essere l’unico a potersi muovere in una sala gremita di gente, ho avuto la tentazione di andarmene via lasciandovi tutti freezati fino alla notte dei tempi! 😛

Sono stati giorni ricchi di chiaccherate, con i soliti amici senza i quali il tutto sarebbe decisamente più triste; ricchi di mangiate, aperitivi. Ricchi di fotografie, che poi ho pubblicato su Facebook. Grazie per avermi fatto sentire parte di un gruppo. Grazie delle risate ed il senso di appartenenza che mi avete trasmesso. Grazie per i consigli che mi sono stati dati.

Il destino ha voluto che la settimana prima di WPC, quella dal 21 al 25 novembre, fossi già presente presso il Centro Congressi di Assago per un corso su Universal Windows Platform, per cui ho potuto ambientarmi, ripassando nello stesso tempo gli argomenti della mia sessione.

E’ stato bello, ragazzi. Sono tornato a casa con tantissima energia, con tanta voglia di fare.
E da oggi si ricomincia con il solito tran-tran lavorativo quotidiano.

Send to Kindle
Nov 14 / Igor Damiani

Microsoft Connect 2016

Dopodomani, mercoledì 16 novembre, partirà Microsoft Connect, una conferenza Microsoft dedicata agli sviluppatori. Durerà tre giorni, e si terrà a New York. Sarà possibile seguire in streaming la keynote di apertura, che in Italia partirà alle ore 15:45. E’ sufficiente seguire il link qui sopra.

image

Purtroppo per motivi di lavoro non riuscirò ad essere presso la sede di Microsoft Italia per seguirla con gli altri amici, però farò il possibile per esserci virtualmente comunque, magari su Twitter. E non mancherò neppure alla cena, che sarà come al solito un’occasione per sbavare di fronte alle ultime novità (per esempio, è già trapelata la notizia che un noto IDE a noi tutti caro sarà disponibile per il mondo Mac).

Attendiamo impazienti e fiduciosi, insomma.

Send to Kindle
Ott 17 / Igor Damiani

Software WPF e pagamenti via PayPal

Oggi vi voglio raccontare una storia.

Qualcuno di voi lettori sa che ormai da anni faccio parte di Piloti Virtuali Italiani. E’ un’associazione italiana, senza scopo di lucro, che mira alla diffusione di cultura aeronautica in tutti i modi che riesce: attività online di vario tipo, corsi di volo virtuale tenuti da piloti ed ex-piloti, contest, partecipazione a fiere ed eventi correlati al volo, e molto altro ancora. Cosa utilizziamo? I nostri PC, con Microsoft Flight Simulator X (attualmente in vendita su Steam), X-Plane, Prepar 3D ed altri software minori (volo in elicottero, missioni spaziali, etc.).

Raccontata così sembra più che altro un videogioco, ma vi assicuro che la cosa è serissima: bisogna preparare il piano di volo, imbarcare il carburante giusto, dialogare con i controllori di volo in lingua inglese, seguire le stesse regole del volo reale per l’avvicinamento e l’atterraggio finale, gestire eventuali emergenze, controllare continuamente lo stato dei motori, le velocità, etc. etc. Come si può ben facilmente immaginare, io sono un po’ (insieme ad altre persone, non sono solo) il ramo informatico di PVI e come tale ho scritto un piccolo software, battezzato VivendoByte Fsx Logger, che è una sorta di scatola nera degli aerei simulati.

L’interfaccia è piuttosto semplice: uno Start per cominciare la registrazione del volo ed uno Stop per fermarlo. C’è dell’altro, ovviamente, ma sorvolerò. Questa applicazione WPF parla via P/Invoke con una DLL proprietaria di FSX (messa a disposizione da Microsoft stessa), oppure con un’altra DLL che è diventata lo standard di riferimento (FSUIPC.dll). In ogni secondo di volo vengono registrate diverse decine di parametri di volo (se siete interessati andate qui), che alla fine vengono impacchettati in un bel file zip protetto e spediti via WCF ad un server che si occupa di ricevere lo zip e di elaborarlo. Ogni volo viene promosso o bocciato, ottiene dei punti (in ottica social), generare statistiche, etc. etc. Ed è così che si ottengono pagine come questa che elenca i voli effettuati dai soci PVI o come questa che invece dettaglia il volo singolo. Flight Simulator X permette di scattare delle foto durante il volo: in tal caso il mio Fsx Logger se ne accorge, cattura i JPG generati, li include nel pacchetto e finiscono online. E si ottengono pagine come questa, che mostra le foto catturate durante un certo volo. Fsx Logger, lato client e lato server, fa tantissime cose, ma lo scopo del post non è quello di raccontarvele tutte. Sappiate – giusto per parlare – che si tratta di un sistema davvero molto ampio, che utilizza tantissime tecnologie:

  • Windows Presentation Foundation
  • Windows Communication Foundation
  • P/Invoke
  • ASP.NET MVC
  • Google Calendar, Google Maps, Facebook, Twitter
  • Varie app per Windows Phone (deprecata), Windows 8 / 10, etc.
  • Distribuzione via ClickOnce, setup completamente on-line
  • Altro che sicuramente mi sto dimenticando

E’ un software che è in produzione da diversi anni, non è su Azure, ma è hostato sullo stesso provider dove state leggendo il mio blog. Su Azure ho solamente posizionato tutto lo storage: i file zip, i log di volo, gli screenshot catturati occupano ad oggi circa 85GB di dati, accumulati dal 2009 circa (anno di prima pubblicazione) ad oggi. Nessun hosting provider è in grado di offrire uno spazio di storage di tali dimensioni, ma Azure sì, tra l’altro per pochi euro al mese.

VivendoByte Fsx Logger è gratuito per i soci di Piloti Virtuali Italiani – poco meno di 400 persone in tutta Italia e non solo, che ogni giorno volano virtualmente ogni giorno e pubblicano i loro log di volo sul sito. E’ anche in vendita per tutti gli altri.

Come ho implementato il sistema di pagamento? Sfruttando PayPal. Tramite questa pagina chiunque può procedere all’acquisto: a me arriva una mail di notifica e c’è una procedura automatica che crea l’utente e gli consente l’attivazione della licenza per utilizzarlo al 100%. E’ così che ogni tanto mi accorgo che viene acquistato da diverse parti del mondo, in UK, in Brasile, in diverse zone di Europa, addirittura presso alcuni dipartimenti universitari che trattano con il mondo del volo.

Recentemente ho tentato di replicare lo stesso modello di acquisto via PayPal in un’applicazione UWP, per scoprire che prima del 29 Giugno 2015 la cosa sarebbe stata possibile, oggi no. Dopo quella data, gli sviluppatori UWP devono far acquistare le licenze (ed in generale gli add-on delle app UWP) tramite le API Microsoft messe a disposizione proprio per questo scopo.

E come si fa? Ne parlerò in un prossimo post!

Send to Kindle
Ott 10 / Igor Damiani

Community Days 2016, un evento davvero grandioso

Giovedì e Venerdì scorso si sono svolti i Community Days 2016. Forse voi conoscevate l’evento come Future Decoded, ma non me ne frega nulla: nel mio cuore essi sono e rimarranno sempre i Community Days. E’ stata un’edizione particolare, per diverse ragioni. Inutile dire che come al solito mi sono divertito, ho imparato cose nuove, ho incontrato gente, etc. etc. Faccio un elenco punto per punto giusto per recensire questa edizione e per evidenziare cosa mi è piaciuto e cosa no.

Location : Voto 7,5
Spettacolare la location, il Palazzo del Ghiaccio a Milano. Avrebbe potuto prendere un voto molto più alto (intorno al 9) se non fossi morto congelato (il primo giorno di più, il secondo un po’ meno, ma solo perchè mi sono coperto più io). Location raggiungibilissima con i mezzi (treno o auto), senza particolari problemi. Procedure di registrazione perfette (ok, le ragazze non trovavano mai il mio nome: una mattina ero solo “Igor”, il giorno dopo ero “Liborio Igor”, non oso immaginare se ci fosse stato un terzo giorno, o un quarto – LOL).

Cuffiette e radioline : Voto 9,5
La struttura con i 6 teatri aperti, senza pareti delimitatorie fra di loro, mi aveva lasciato un po’ così così. Non sono un amante delle cuffiette, per cui l’idea di sentire gli speaker attraverso di esse, isolandomi dal mondo, mi faceva storcere il naso. Opinione totalmente cambiata dopo averle provate. Qualità dell’audio più che sufficiente. La possibilità di cambiare canale, e quindi la possibilità di switchare per un attimo su un altro teatro (per capire se la sessione fosse già cominciata, per esempio), poter seguire la sessione anche allontanandosi dal proprio posto (per sgranchirsi le gambe, per rispondere al telefono, etc.). Bellissimo, comodissimo, geniale, da ripetere.

Evento troppo markettaro : Falso
Parliamoci chiaro. Se i Community Days si fossero svolti come da tradizione in sede Microsoft, ci sarebbero state solo aule piene di tecnici. Qua no: banchetti dagli sponsor, device esposti, un gran via vai di gente (tecnici, commerciali, signorine, etc.). Troppo comodo e sempliciotto definire markettaro un evento del genere. A me è piaciuto così. E’ giusto ogni tanto uscire dalle proprie corde, uscire dalla solita gente che si incontra nei soliti eventi. Se volessi una cosa solo ed esclusivamente per nerd, andrei altrove.

Keynote del primo giorno : Voto 6
La vera nota dolente dell’evento. Nulla da togliere ai vari amici della community e di Microsoft che si sono succeduti sul palco (non faccio nomi per non dimenticare nessuno), ma veramente scarsi gli altri partecipanti. Compito della keynote – per me che sono un tecnico – è quello di dare una visione, di entusiasmare, di farti venir voglia di giocare con tutto ciò che è Microsoft. Purtroppo sul palco sono intervenuti anche personaggi dal mio punto di vista poco carismatici, ed onestamente ne ho risentito. Ritengo più che giusto che siano intervenuti – mi rendo conto che gli sponsor hanno permesso di pagare la baracca e quindi pretendono il loro spazio – ma sarebbe stato opportuno trovare speaker più accattivanti per la platea.

Keynote del secondo giorno : Voto 10
Potrei scrivere: Scott Guthrie, e potrei tranquillamente fermarmi qui. Personaggio incredibile, ha cominciato a parlare in un inglese comprensibilissimo, e per quasi 3 ore ha tenuto banco con tutte le incredibili feature di Azure. Mi sono sinceramente commosso – non so perchè – con il filmato dei datacenter di Azure. Boh, vai tu a capirlo. Senza nulla togliere a Carlo Purassanta, AD di Microsoft Italia, con il suo discorso veramente ad ampio respiro (tecnologia, Pil italiano, industria, digitalizzazione del paese, etc.).

Schermi : Voto 9,5
Avete presente i mega-schermi della sede Microsoft? Beh, molto meglio quelli che c’erano al Palazzo del Ghiaccio. Innanzitutto non sono un mosaico di tanti schermi piccolini, ma erano schermi giganti. Molto più leggibili, molto più luminosi. Una goduria. Spesso stavo lontano dal teatro della sessione vera e propria, tanto leggevo ugualmente e con le cuffiette non ero costretto a stare vicino.

Amici, community : Voto 9
Grazie a tutti gli amici con cui ho chiaccherato, parlato di cose serie e di cose divertenti. Grazie per le risate durante la cena. Grazie per le tante cose nuove che ho imparato. Grazie a chi mi ha parlato di XAML, di Xamarin Forms, di Desktop Bridge, di SQL Server. Grazie a Nazareno per il video su Forza Horizon 3 (poi ho scoperto che andavo puntualmente in testacoda perchè il primo pedale a sinistra era il freno a mano). Grazie ad Alessandro, Erica e Matteo per la collaborazione/realizzazione nei video DevInPills. Grazie a tutti, insomma. Grazie ai capi per avermi permesso di partecipare. Grazie ad Andrea per avermi concesso in extremis la registrazione. E scusate se non sono riuscito a partecipare alla seconda cena, quella più “soft” e rapida, ma altri impegni mi hanno trattenuto.

Alla prossima, ragazzi, è un onore conoscervi e partecipare ad eventi del genere!!!!!

Send to Kindle
Set 29 / Igor Damiani

L’aria frizzantina del mattino

Adoro svegliarmi in anticipo, e mettermi in strada per raggiungere la zona del cliente – chiunque sia – un po’ prima del dovuto. Svegliarmi, carburare lentamente, guidare rilassato evitando il traffico delle tangenziali milanesi, lasciarsi coccolare dall’aria frizzante del mattino, ascoltare le notizie su Radio 24, parcheggiare senza troppi traumi, bermi un caffè, sfogliare le notizie sui social. Badate bene: non sono quello che suona alle 8 se ho fissato un appuntamento alle 8:30; semplicemente arrivo un po’ prima in zona, così ho tutto il tempo di respirare e di rilassarmi prima di cominciare davvero. Ritengo sia un aspetto importante della mia professionalità. Mi piace l’idea di non arrivare trafelato dal cliente, anche quando si tratta di un cliente di lunga data, quindi per certi versi un amico, uno che ti conosce e che ti viene incontro nel momento in cui hai qualche difficoltà. L’idea di arrivare prima dell’inizio effettivo dei lavori mi permette di scrivere questi post, per esempio; mi permette di leggere o scrivere qualche mail. Lo scopo è quello di portare il cervello al giusto numero di giri in modo graduale; arrivare tardi significa cominciare male la giornata, cominciare a scrivere codice quando si è nervosi o non mentalmente predisposti. No, non potrei mai farcela. Ho sempre avuto questo modo di approcciare alla mia tipica giornata lavorativa, oggi a 40 anni così come 10 o 15 anni fa, quando ero più giovincello.

Capita a volta di non riuscirci, per tanti motivi. Un incidente da qualche parte (partire in anticipo certamente aiuta, ma non sempre ce la si fa), neve pesante, qualche inconveniente con la macchina (una volta mentre ero diretto in zona Malpensa ho squarciato una gomma), scioperi ATM, grossi eventi milanesi di portata internazionale, etc. etc. Ma io ce la metto sempre tutta: come dicevo prima, secondo me è uno dei punti di forza del mio modo di lavorare.

Ndr : questo è il mio primo post scritto con Open Live Writer.

Send to Kindle
Set 11 / Igor Damiani

Modena, 5 giorni, corso su WPF e MVVM

Da domani parte una nuova settimana, e si torna a fare corsi targati Overnet Education dopo la pausa delle ferie estive. Ho tanta voglia, per tre motivi:

  • Mi piace tantissimo fare corsi
  • Mi piace ovviamente l’argomento, perchè tutto ciò che è XAML-based è un po’ casa mia
  • Mi piace l’Emilia-Romagna
  • Conosco il cliente, perchè ci sono già stato già negli anni scorsi, ed oggi ha espressamente richiesto ancora la mia presenza. I partecipanti saranno diversi rispetto alle volte precedenti, per cui sarà ancora più divertente e stimolante

Trolley quasi pronto, hotel prenotato, si parte domani mattina presto per raggiungere il cliente e procedere alla prima giornata di corso. E’ entusiasmante incontrare ogni volta nuove persone a cui cercare di trasmettere nozioni nuove, unendo teoria & pratica, tanta tanta passione che credo sia il vero valore aggiunto. Spesso infatti ho declinato – se possibile – corsi, quando non conosco a sufficienza la materia: se non si ha abbastanza esperienza, si vede lontano un miglio che si sta solo recitando una parte. No, molto meglio affrontare argomenti conosciuti, perchè il cliente reagisce positivamente quando nota che chi sta parlando ha una certa marcia in più.

Non sempre è possibile, ovviamente. Ed allora si passano i weekend a studiare.
Ma questa è un’altra storia.

Send to Kindle
Ago 30 / Igor Damiani

Webete, che parola geniale. Grazie Enrico!

Oggi ritorno dalle mie ferie estive per scoprire che Enrico Mentana – noto giornalista – conia un vocabolo fantastico, “webete”, nato durante una delle sue discussioni su Facebook e che unisce il significato di web e di ebete. E’ una naturale evoluzione di “utonto”? Forse! Eppure per me webete ha un significato un po’ più profondo. L’utonto è quello che tecnicamente non sa fare qualcosa davanti ad un particolare dispositivo elettronico, che ti fa mille domande sciocche perchè va in panico, mentre il webete è perfettamente in grado di scrivere, pigiare bottoni, selezionare una voce da un elenco, ma causa più che altro danni a sè ed alla società.

Purtroppo, Facebook ne è pieno. Se non fosse per lavoro, e se non fosse per tante persone fortunatamente intelligenti fra i miei contatti che lo popolano, avrei abbandonato Facebook da un bel pezzo. A seguito di un qualsiasi fatto di cronaca (terremoto, attentato terroristico, volo aereo non andato a buon fine, treno deragliato, partita di calcio persa o vinta, alluvione, caso di malasanità, nuova legge, etc.), la bacheca di Facebook si riempie di scemenze colossali, di gente esperta che sa tutto. Facebook è pieno di gente che si spaccia per politici, allenatori, geologi, esperti di terrorismo internazionale, giornalisti, registi televisivi, e chi ne più ne metta. Parlo di Facebook, ma credo che questo ragionamento possa essere applicato tranquillamente ad altri social meno conosciuti.

Ne ho le scatole piene delle bufale. Voglio che tutti abbiano la possibilità di parlare, ma non voglio che idee malsane raggiungano un certo grado di visibilità. Non voglio che si diffonda la notizia che i vaccini facciano male ai bambini, oppure che i terremoti possono essere previsti guardando la conformazione delle nuvole in cielo, oppure che il canone rai da 100 euro fosse iva esclusa (quando in realtà è esente iva), non voglio. Nessuno dovrebbe volerlo.

Mi è stato fatto notare che posso combattere questo fenomeno delle bufale semplicemente rimuovendo dagli amici determinati soggetti. Sbagliato, non è lo strumento giusto. Non voglio rimuovere dagli amici un contatto semplicemente perchè scrive scemenze. E’ il post da eliminare e condannare, non l’intera persona. Credo che sia molto più utile un sistema basato sulle ricompense, che sarebbe tra l’altro lo stesso meccanismo dei giochi e dei videgiochi, o addirittura una metafora della stessa vita. Quando nasciamo, le possibilità che abbiamo a disposizione sono pochissime, non possiamo neppure uscire di casa senza il permesso dei nostri genitori. Man mano che cresciamo, e studiamo, e maturiamo, le nostre possibilità crescono: andiamo a scuola, poi entriamo nel mondo del lavoro, acquistiamo un’automobile o una casa, ci sposiamo, etc. etc. Tornando con i piedi per terra, e tornando al mondo digitale, suggerisco:

  • Un utente appena iscritto a Facebook dovrebbe poter postare un solo contenuto al mese, sulla falsa riga di ciò che fa YouTube con i video
  • Un utente dovrebbe poter segnalare un certo contenuto (quello che ho in testa è una lieve sfumatura di ciò che è possibile adesso)

Il mondo d’altronde è pieno di regole, perchè non dovrebbero esserlo anche i social? Qualsiasi aspetto della società è governato da regole, perchè non dovrebbero esserlo anche i social? Guidare, andare a scuola, lavorare, acquistare un qualsiasi bene, fare la spesa, fare la fila alle Poste. Ci sono regole dappertutto. Perchè Facebook – ed i social – sono l’unico posto in cui uno può liberamente postare testi, foto, video, bufale, senza alcuna penitenza? Qualsiasi strumento, dal sasso alla bomba nucleare, nelle mani dell’uomo diventa una potenziale minaccia. Servono regole, come è sempre stato.

Non sono completamente d’accordo su quello che mi hanno detto in tanti, cioè che non va rifatto Facebook, ma il cervello delle persone. E’ sicuramente la soluzione migliore, ma non è fattibile. Inoltre, è giustissimo che nascano e ci siano teorie più o meno strampalate su tutto lo scibile umano; vorrei solo che l’idea strampalata nascesse nel giusto contesto, crescesse nella direzione giusta, che venga stroncata nel piccolo se non è buona, ma che fiorisca come una rosa se l’idea è ottima. Oltre a tutto questo, non è assolutamente fattibile educare miliardi di cervelli allo stesso modo: è giusto che ci siano geni come Einstein, gente intelligente, gente mediocre, gente brava a fare una cosa piuttosto che l’altra, gente stupida, gente frivola, gente credulona, etc. etc. E’ il naturale stato delle cose, da quando esiste l’uomo su questo pianeta. Tutti devono parlare, tutti devono esprimere la propria idea, ma c’è un limite imposto dal buon senso, dall’educazione, dalla scienza, dalla religione.

E, per favore, non offendete la mia intelligenza se mi dite “gli ignoranti ci sono sempre stati, è sufficiente evitarli”, facendo confronti imbarazzanti con situazioni del mondo reale come il bar o le piazze dei nostri paesi. Perchè mi offendete e basta. Innanzitutto, per sentire una scemenza al bar occorre essere nello stesso posto e nello stesso momento insieme all’idiota di turno. E non è cosa da poco, credetemi. Nel momento in cui scrivo, nei bar di tutto il mondo vengono sparate una quantità colossale di sciocchezze, ma nessuno le sente, perchè non possiamo essere contemporaneamente ovunque. Il mondo reale, fortunatamente, ha dei limiti fisici che ci aiutano. Non è così per i social. Qualsiasi cosa scritta perdura nel tempo, infettando il web anche a ore e giorni di distanza. Follia. L’idea più sciocca viene scritta, raggiunge centinaia di persone, senza alcun filtro, viene condivisa da altri, a volte raggiunge la massa critica, in pochi minuti si potrebbe diffondere qualsiasi idea malsana, dal finto attentato alla morte fasulla di qualsiasi personaggio noto dalla TV o dal cinema. Siamo sinceri: qualcosa non va.

Ritengo, infine, che sia nell’interesse di Facebook gestire tutte queste problematiche. Non credo che sia nei piani di Facebook quello di riempirsi di spazzatura, no?

Send to Kindle
Lug 22 / Igor Damiani

Microsoft REST API Guidelines

Lo scorso 8 Luglio ho partecipato ad una giornata interamente dedicata ad ASP.NET Core 1.0, evento organizzato da Overnet Education, e portato a termine da Gabriele Gaggi ed Ugo Lattanzi. In quel frangente ovviamente si parlava di web, controller, web api, e via dicendo. Ricordo che Ugo ad un certo punto disse una cosa simile alla seguente: “secondo la convenzione, quando si invoca un metodo REST che aggiunge un oggetto al nostro repository, la response deve includere almeno due informazioni: l’ID dell’elemento appena aggiunto e l’URL al quale si possono reperire i dettagli dell’elemento stesso”. Scusate l’imprecisione, ma il web non è propriamente il mio campo. Ricordo di aver trovato interessante quell’affermazione di Ugo, al punto che lo interruppi chiedendogli…ma dove posso trovare queste regole, convenzioni, buone norme di implementazione di API di tipo REST?

Beh, oggi la risposta ce l’ho.

Su GitHub Microsoft ha pubblicato un repository denominato “Microsoft REST API Guidelines” ricco di documentazione, allo scopo di fornire a tutti gli sviluppatori le migliori guideline per l’implementazione di API REST. Tra gli autori figura un certo Mark Russinovich. Troverete informazioni su un po’ tutto: gestione degli errori, struttura degli URL, serializzazione in JSON, gestione corretta del versioning delle API, e molto altro ancora.

image

Sono piuttosto certo che troverete la lettura molto interessante!

Send to Kindle
Lug 19 / Igor Damiani

Ottenere le Api Key per i Cognitive Services

I Cognitive Services sono un servizio relativamente nuovo che Microsoft ha reso disponibile. Grazie a questi servizi abbiamo a disposizione tutta una serie di API che ci permettono di effettuare riconoscimenti di immagini, emozioni, volti, testi, voci, riconoscimento degli speaker in un file audio, ed altro ancora. Trovate maggiori informazioni sul sito ufficiale.

Come sempre, per accedere a queste API è necessario registrarsi sul sito ed ottenere le Api Key da includere poi nelle chiamate REST. Nulla di particolarmente complicato.

Attenzione ad un particolare, però. Se un determinato servizio si appoggia su Azure, le Api Key non saranno quelle visibili sul portale dei Cognitive Services, ma saranno quelle visibili sul portale Azure. Mi spiego meglio. Se vado sul sito https://www.microsoft.com/cognitive-services/en-US/subscriptions e do un’occhiata al mio account, vedo la situazione seguente:

image

Sto facendo esperimenti con il servizio Speaker Recognition, che in forma gratuita prevede 10.000 transazioni al mese, 20 al minuto. Ho mantenuto nascoste le Api Key per privacy, ma anche facendole vedere sarebbe stato inutile, perchè queste API si appoggiano su Azure, e quindi le Api Key giuste vanno prelevate dal portale Azure. Notare infatti la presenza del bottone Buy On Azure proprio lì accanto. Cliccando su quel link viene aperto il marketplace su Azure che permette di completare l’acquisto del servizio vero e proprio. Ed è da Azure che dovrete copiare & incollare le Api Key corrette da utilizzare all’interno del proprio codice.

image

Notare che a me il servizio Cognitive Services risulta già attivo, nella sua forma FREE. Nel momento in cui vi scrivo, tale servizio è esposto solo dal data-center in West US. Una volta che avete attivato il servizio, esso sarà raggiungibile come tutte le altre risorse allocate sul cloud, e quindi da lì banalmente potete ottenere le Api Key corrette.

image

Send to Kindle