Come ho creato una skill Alexa con Google Spreadsheets

Introduzione

Come avrete avuto modo di leggere dalla mia presentazione, sono sempre stato un patito di tecnologia, e appena ho assistito alla presentazione di Alexa, me ne sono subito innamorato.

Dopo poche settimane dall’uscita di Alexa in Italia, era stata avviata da Amazon una campagna marketing che prometteva a chiunque sviluppasse una skill Alexa di ricevere in regalo un  Amazon Echo Dot.

Spinto quindi dalla curiosità di capire il funzionamento dell’SDK che amazon metteva a disposizione agli sviluppatori, ed anche dal gradito regalo, mi sono messo subito all’opera per creare la mia prima Skill Alexa.

La mia prima skill

Ho creato quindi una skill chiamata “Parole Complesse”, una sorta di dizionario delle parole più complesse (e strane) del dizionario italiano, una roba del tipo…

“Alexa, dimmi una parola complessa”

Certamente, la parola è “sacripante”: Significa uomo valoroso, fiero, forte. deriva dal nome di un personaggio dell’Orlando Innamorato di Boiardo e dell’Orlando Furioso di Ariosto, Sacripante, re della Circassia.

Ok ammetto di essere stato un po’ banale, ma il 30 novembre si avvicinava, e volevo il mio Echo Dot.

Ho scritto il codice dell’applicazione in Node, e ho sfruttato una feature nascosta di Google Spreadsheet, che consente di trasformare un foglio di calcolo in un file .json, così facendo non ho avuto bisogno di alcun database o di interfacce per aggiungere nuove parole, ma potevo gestirmi tutto dal foglio di calcolo.

Come ho ottenuto un JSON da Google Spreadsheet

L’operazione in realtà è abbastanza semplice, mi è bastato impostare la sicurezza del foglio per fare in modo che chiunque abbia il link potesse visualizzarlo:

Come impostare un foglio di calcolo SpreadSheet come visibile a tutti

Fatto questo, ho copiato l’id del foglio di lavoro:

Come ottenere l'id di un foglio di calcolo SpreadSheet

E l’ho inserito in questo URL:

https://spreadsheets.google.com/feeds/list/iddelfogliodicalcolo/od6/public/basic?alt=json

Semplice no?

Infine ho deployato il mio codice Node come Lambda Function su AWS e ho avviato la pubblicazione dell’app sulla console degli sviluppatori Amazon.

Ecco il sorgente della mia Skill Parole Complesse.

Parole Complesse su GitHub

Potete modificarlo a vostro piacimento e creare le vostre skill Alexa in maniera rapida!

 

 

Docker Compose WordPress Boilerplate

Durante il mio lavoro, mi è capitato di dover creare decine e decine di template per WordPress, ed ogni volta sorgeva il problema di come gittare correttamente i sorgenti, e spesso i tempi per fare il setup del progetto erano abbastanza lunghi.

Prima di passare a questa configurazione, ho utilizzato Vagrant, che reputo un ottimo strumento, ma estremamente oneroso in termini di RAM e spazio occupato dalla VM.

Ho deciso di sviluppare questo Boilerplate con Docker per template WordPress con  il minimo indispensabile per iniziare a sviluppare in pochissimi minuti.

Docker Compose WP Boilerplate su Github

Plugin WordPress: SubToRead

SubToRead è un plugin per WordPress che consente all’amministratore di richiedere l’iscrizione alla newsletter per proseguire con la lettura di un determinato articolo agli utenti del suo sito web.

Attualmente il plugin è in fase di sviluppo, e ci lavoro di tanto in tanto nel tempo libero.

Se hai voglia di darmi una mano nello sviluppo, ho inserito alcune issue all’interno del progetto.

Sub To Read su Github

Per il momento è compatibile solo con Active Campaign, ma mi piacerebbe estenderlo anche a Mailchimp, Zapier e magari Paypal.

Sei curioso di vedere come funziona? (ovviamente non sarai iscritto a nessuna newsletter, inserisci tranquillamente [email protected] 😛

Il plugin inizia a schiarire le ultime righe del testo e gli applica una graduale ombreggiatura, in modo da dare all’utente un’anteprima di quello che andrà a leggere qualora si iscrivesse alla newsletter.

Vuoi continuare a leggere l’articolo?

Inserisci la tua email per continuare a leggere l’articolo e ricevere news sul nostro prodotto.

Il mio primo volo come solista

Da sempre, chiunque sia “addetto ai lavori” nell’ambito aeronautico, mi ha sempre raccontato che il primo volo come solista sia un’esperienza indimenticabile, il momento più importante della vita di ogni pilota.
In questo articolo racconterò quella che è stata la mia prima esperienza di volo in solitaria.

L’elemento centrale della mia estate del 2017 è stato il volo.
Mi iscrissi ad una scuola di volo all’aeroporto di Roba Urbe a giugno di quell’anno, e ben presto iniziai con le ore di pratica.
Dopo oltre 6 anni a “giocare” a Flight Simulator X sul fantastico network di IVAO, finalmente ero a bordo di un vero aeromobile.
Avevo iniziato a lavorare da poco, ed ero riuscito a mettere da parte ciò che bastava per pagare una buona parte delle ore di volo necessarie al conseguimento della licenza da Pilota Privato (PPL-A), e mi buttai a capofitto in quest’avventura e ne rimasi completamente stregato.

Totalizzate le prima 15 ore di volo, arrivò la fantomatica frase:

“Ora ti tocca volare da solo”

Ero molto orgoglioso di dove ero arrivato, ma al tempo stesso terrorizzato.

Le settimane che precedettero il “check” per l’abilitazione al primo volo in solitaria furono abbastanza strazianti, non mi reputavo minimamente all’altezza di quella situazione, ed arrivai al giorno dell’esame con appena un paio d’ore di sonno (sì, chi mi conosce sa che rapporto ho con l’ansia).

Fallii il test miseramente, dalla A alla Z.
Sono riuscito persino a sbagliare le taxiway di un aeroporto che conoscevo meglio delle mie tasche, ho dimenticato tutti i controlli pre-atterraggio e addirittura i flap!
Un completo disastro.

Leggevo negli occhi del mio istruttore una leggera nota di delusione, anche se cercava di mascherarla.
Prima di quell’esame tutto era filato liscio come l’olio, e non ho mai avuto alcun tipo di problema con quelle manovre.

Per un po’ ho pensato di gettare la spugna e che il volo non facesse per me.
Ma provavo rabbia, avevo il sogno di tutta la mia vita ad un passo da me e lo stavo lasciando sfuggire via così.

Dopo qualche settimana di stop, ho ripreso con le regolari lezioni di volo, ho iniziato a pensare che magari semplicemente mi servisse qualche ora in più di addestramento per affrontare l’esame con più sicurezza, quindi prenotai un volo di un’ora con il mio solito istruttore e cominciammo a fare i soliti touch and go: tutto perfetto.

Erano passati una quarantina di minuti, e avevamo ancora davanti circa venti minuti di touch and go, quando…

“I-AMDJ, autorizzati al touch and go pista 34 calma di vento”

LIRU TWR

Al che il mio istruttore

“Sarà un Full-Stop, I-AMDJ”

I-AMDJ

Un full-stop? Ma come un full-stop? Abbiamo ancora altri 20 minuti di volo…

Atterro come al solito, libero la pista e ci dirigiamo al parcheggio G.A. nell’Apron nord dell’aeroporto dell’Urbe.

Mi disse “Aspetta qui” e dopo una decina di minuti si presentò con il comandante incaricato nell’eseguire gli Skill Test per l’abilitazione al volo solista: mi aveva “fregato”.

Il comandante sale a bordo dell’aereo e mi ammonisce: “fai le stesse cose che hai fatto fin’ora”.

Inizia il test vero e proprio, controlli, chiamata radio, rullo alla posizione attesa “S” pista 34, prova motori e via…

Dopo una serie di touch and go in varie configurazioni, finalmente arriva il momento…
Arriviamo al parcheggio e il comandante prende dalla sua tasca un pupazzetto in gomma di Pluto con sotto una ventosa. Lo attacca al cruscotto dell’aereo e mi dice “vedi di riportarmelo”.

Sembrerà assurdo, ma in quel momento mi trovai invaso da un senso di tranquillità, ero perfettamente conscio delle mie capacità, e volevo a tutti i costi onorare la fiducia che il mio istruttore e l’esaminatore avevano riposto in me.

Metto in moto e inizio con le chiamate radio, eseguo tutto con la massima attenzione e arrivo alla posizione attesa. Attendo per circa una decina di minuti, dato che c’erano un paio di aerei che avevano la precedenza, finché non arriva il momento:

I-AMDJ, autorizzati al decollo pista 34, calma di vento

Entro in pista, allineo il direzionale e via…

Nonostante avessi eseguito le stesse identiche manovre qualche minuto prima, ora tutto era diverso:
l’aereo era più leggero, saliva meglio e io mi sentivo stranamente tranquillo.

Inizio la salita e come di consueto raggiunti i 500ft eseguo una virata sinistra per entrare in controbase mantenendo i 70kt, appena raggiunti i 1000ft virata per il sottovento, prima tacca di falp e controlli pre atterraggio. Aria: ok, miscela: ricca, selettore carburante: aperto.

Dai 1000ft del sottovento sinistro si vede chiaramente l’auditorium Parco della Musica, lo stadio Olimpico, la cupola di San Pietro, e in lontananza riuscivo a scorgere anche il piano superiore della stazione Termini con il suo passo di ronda, dove ai tempi lavoravo.

Quel giorno Roma mi sembrava più bella, e io mi sentivo adulto.

Dopo quegli istanti di spensieratezza fissando quell’inusuale prospettiva riservata solo a pochi “privilegiati”, era il momento di tornare a lavoro …

Virata in base, flap e inizia la fase di discesa:
trimmo l’aereo a 70kt e riduco motore, la rampa di discesa è buona, pista in vista…
Virata in finale, full flap, ci siamo.

Quota perfetta, traiettoria anche, arrivo in soglia pista, motore al minimo e muso verso il basso.

Ho preso il mio primo aereo a 13 giorni dalla nascita, e già ai primi anni di elementari, quando i miei compagni disegnavano automobili, io disegnavo 737.

Anche in giovane età, durante gli atterraggi sui liner (come passeggero 😜) giocavo ad emulare i suoni del GPWS del Boeing 737, e durante quel mio primo atterraggio da solista, dove ero concentrato a pensare a tutt’altro, mi iniziarono a risuonare in testa quei suoni…

“fifty… forty… thirty… twenty… ten…” e touch down sul pettine, ero a terra.

“Urbe torre, I-AMDJ abile al Charlie”, io cercando di contenere l’emozione.

I-AMDJ liberate al Charlie, proseguite su questa per il parcheggio, e… complimenti!

Abbozzo un “Grazie” abbastanza confuso per la frenesia del momento e libero e mi appresto a liberare la pista al raccordo “charlie”, fermo l’aereo, via il transponder e i flap e mi dirigo all’APRON nord.

Credo sia stato uno dei miei migliori atterraggi in assoluto.

Ringrazio immensamente il mio istruttore, il com. Riccardo per aver compreso la mia difficoltà nel gestire “l’ansia da esame” e il logoramento delle settimane antecedenti alla data prefissata, facendomi questa fantastica sorpresa.

Primo volo solista

Ciao, mondo! (Presentazione)

No, non è l’articolo di default di WordPress, è la mia presentazione.

Introduzione

Mi chiamo Matteo Errera, ho 21 anni e vivo a Roma.

Ho origini dal punto più a sud d’Europa: Lampedusa, nella quale ho vissuto gran parte della mia infanzia.

Fin da bambino, ho sempre avuto interessi un po’ particolari:

ogni qualvolta ricevevo in dono un giocattolo che implicasse l’utilizzo di un paio di batterie, mi stufavo ben presto dell’utilizzo per la quale era stato progettato, e molto spesso, dopo un paio d’ore i miei genitori mi ritrovavano con un cacciavite in mano sottratto dalla cassetta degli attrezzi di mio padre, intento a disassemblare il costoso gioco per cercare di comprenderne il funzionamento e estrarre dalle sue viscere qualche componente che sembrava interessante, suscitando (ovviamente) la loro ira.

Infanzia

All’età di 7 anni, approcciai il mio primo computer: era un IBM Aptiva con Windows 98, che mio padre aveva recuperato non so dove.

Non avevamo ancora internet in casa, e installavo i programmi per PC attraverso dei CD acquistati in edicola.

All’età di 13 anni, iniziai ad appassionarmi alla programmazione, studiando dai libri di mio fratello maggiore, quindi iniziai a scrivere le mie prime righe con “Visual Basic”, per poi passare ad HTML, CSS e PHP.

Un paio d’anni dopo ho iniziato “lavorare” con quello che avevo imparato, sviluppai un software per gestire gli ordini di un ristorante della mia città, e iniziai a fare degli (orrendi) siti web per qualche piccola attività limitrofa per pochi euro.

Iniziai quindi a collaborare con dei medici per lo sviluppo dei loro siti web personali, maratone, negozi e palestre.

Esperienze lavorative

A 17 anni iniziai a collaborare con un’agenzia di Lampedusa, per sviluppare la prima guida turistica digitale dell’isola, dopo appena 4 mesi, nacque Lampedusa Today, applicazione utilizzata tutt’ora da migliaia di turisti provenienti da tutto il mondo.

L’anno seguente, prima ancora di diplomarmi in “Sistemi informativi aziendali” entrai a far parte di BaasBox come sviluppatore, dove lavorai per circa due anni e mezzo, per poi tentare a far parte del team di Xriba, l’azienda per la quale tutt’ora lavoro, ricoprendo le seguenti mansioni:

  • Progettazione di Database Relazionali (MySQL
  • Sviluppo di API REST (PHP, Laravel, Node
  • Sviluppo di template WordPress
  • Sviluppo di plugin WordPress
  • Sviluppo di landing page per campagne marketing (HTML, CSS, Javascript
  • Sviluppo di Web App (Ionic, Angular, React

Nel tempo libero mi piace volare (sono anche un pilota di aerei), andare al mare, leggere ed ascoltare musica.