A lezione di Bitcoin da Antonopoulos

Ieri ho avuto la possibilità di sentire dal vivo il mitico Andreas Antonopoulos durante una sua breve ma ispirata relazione presso l’Imperial College di Londra. La venue potrebbe suggerire un incontro formale, con scienziati in toga e tocco che si misurano sui massimi sistemi. Beh, in realtà si trattava di un meetup abbastanza informale, ospitato dal Cryptocurrencies Institute dell’università.

cyw-dh6wiaad_ql

Dei massimi sistemi però un po’ si è parlato. Forse qualcuno si aspettava un qualche approfondimento tecnico sul funzionamento di Bitcoin e su tutte le più recenti discussioni, da SegWit, al Lighting network sullo sfondo dell’annosa questione della scalabilità, della misura dei blocchi etc.

Invece pare che Andreas sia molto più interessato a parlare di politica monetaria internazionale. Forse (cit.)Bitcoin è nato con uno scopo diverso, ma quello che succede nei paesi come Grecia, Venezuela, India, Pakistan, Argentina, Ucraina e domani forse Cina sta influenzando il ruolo di Bitcoin che diventa sempre di più la unica exit strategy per le persone comuni che vogliono fuggire dalla “guerra” monetaria in corso nel mondo – fra monete diverse  ma anche interna, dove grazie alla cattiva moneta (FIAT) si prosciuga la classe media. Insomma un discorso ispirato e ispiratore. Secondo Andreas la guerra monetaria in corso tiene in ostaggio miliardi di abitanti, i più deboli ovviamente. A proposito di India, il prezzo del Bitcoin lì tocca i 1000$ mentre qui è a 750$, segno che la politica monetaria che ha messo fuori corso le banconote più diffuse dalla sera alla mattina sta creando una forte pressione per acquisire una nuova riserva di valore. Improvvisamente milioni di persone si sono dovute mettere in fila per cambiare i loro soldi ormai carta straccia, persone sono morte in questa situazione da inferno dantesco. In Venezuela le banconote ormai si pesano, nessuno le conta più. Uscire dalla moneta ufficiale, usare Bitcoin o scambiare dollari al mercato nero significa prigione a vita. Insomma, nel comfort delle nostre economie ancora relativamente sicure non percepiamo forse quello che sta succedendo nel mondo, ma per miliardi di persone l’economia è in fiamme e la cattiva moneta è uno strumento nelle mani di chi vuole drenare la ricchezza.

Andreas avverte, chi suggerisce una exit ai disperati ostaggi delle politiche monetarie scellerate sarà considerato un terrorista. Chi fornisce uno strumento per arrivare ad una exit sarà considerato un terrorista. Insomma una guerra.

Un discorso ispirato, una chiamata alle armi, un seme rivoluzionario che prende corpo. Insomma ognuno fa le proprie considerazioni. C’è chi non ci crede, c’è chi ci crede ciecamente, c’è chi “manca l’analisi e poi non c’ho l’elmetto”. La sessione Q&A è stata breve e le domande tante. Non sono riuscito a prendere il microfono, ma avrei voluto chiedere:

  1. Non è il Bitcoin progettato in un modo che finirà per favorire gli early adopter a scapito di chi arriva dopo creando una forte nuova diseguaglianza sociale?
  2. Solo il Bitcoin ci salverà? o anche le altre cripto giocheranno un ruolo essenziale?
  3.  Visto che il suo “prezzo” è destinato a salire sempre, potrà mai essere una moneta o sarà sempre una riserva di valore? Un “oro digitale”?

Deep learning, Van Gogh e Adversarial Networks

Imperfezione…e se domani Google ti rispondesse “Avrei degli ottimi risultati, intanto tieni questi”

Secondo Yan LeCun, il capo di Facebook AI e figura leggendaria del deep learning, tra gli oggetti di studio più interessanti al momento ci sono le Generative Adversarial Networks. L’inventore di queste ultime si chiama Ian GoodFellow.

Questi algoritmi sono in grado di generare quadri con lo stile di pittori famosi, come Van Gogh appunto, o poesie, canzoni, … e magari domani film, software etc.

Prima di tutto diciamo che stiamo parlando di reti neurali profonde o deep learning. Se interessa una piccola introduzione non matematica sul tema vedi qui. Distinguiamo i modelli discriminativi da quelli generativi, ops … suona molto scolastico? lo so. Diciamo allora che ci sono modelli che sono in grado di classificare fra varie classi: ad esempio presi tutti i pixel di un’immagine ti dicono se c’è un volto, e altri modelli, quelli generativi che possono appunto generare istanze simili ai dati in ingresso, come se queste provenissero dalla stessa popolazione.

Le generative adversarial network sono appunto costituite da due modelli, uno è il generatore l’altro è il classificatore e in un certo senso sono in competizione. A partire da un dataset di immagini, ad esempio il generatore cerca di inventare delle immagini che sono “simili” a quelle del dataset. Il classificatore invece cerca di capire quali sono genuine e quali sono artificiali create dal generatore.

Le applicazioni appunto possono essere la generazione di arte artificiale, locuzione che suona malissimo per la ripetizione della parola arte-

Possono i computer imparare a produrre un’imperfezione genuina? I computer e robot convivono malvolentieri con l’imperfezione, mentre i lavori artigianali esaltano questa caratteristica che rende unico ogni oggetto artistico o semplicemente artigianale.

Ma a parte le creazioni pseudoartistiche, questi generatori sono interessanti e le applicazioni sono forse più numerose di quelle che ci possono venire in mente subito. Ecco un esempio di “camere da letto” inventate. Non si tratta di fotografie, nel senso di immagini catturate da una fotocamera, ma piuttosto di immagini catturate dalla statistica.

lsun_bedrooms_five_epoch_samples

(tratto da http://richard-alan-herbert.com/generating-images-of-fine-art-in-300-lines-of-code/)

L’immagine suggerisce che l’arredamento e l’architettura potrebbero essere rivoluzionate con la creazione immediata e su larga scala di prototipi e modelli. Ma non solo. Se la statistica cominciasse a catturare la struttura dei programmi software? I generatori potrebbero cominciare a generare applicazioni capaci di rispondere a dei requisiti posti dagli utenti tipo “app per chattare e spedire selfie”, e produrre un portfolio di migliaia di app da cui scegliere, forse nessuna perfettamente rispondente ai requisiti, ma in fondo … quelle scritte dagli esseri umani lo sono?

Altro scenario, distopico, la generazione di identità digitali verosimili capaci di registrarsi ai social, creare relazioni etc. Insomma, un mondo complicato, per ora non riusciamo nemmeno a contrastare le bufale.

 

 

 

 

 

 

Facebook Vs Bitcoin

Ieri mi sono preoccupato, ma in fondo senza spiegare perché, alla lettura della news che vede Facebook atterrare nel mondo delle banche. In fondo qualunque miliardario può aprire una banca, perché non dovrebbe farlo anche Facebook?

Tuttavia questa notizia mi ha lasciato il tarlo a rosicchiare dentro e mi ha portato a immaginare tutti gli scenari che ne possono risultare.

facebook-moneyCome advocate delle monete decentralizzate temo che questo creerà qualche problema a chi pensava e sperava che il mondo sarebbe andato in una certa direzione. Facebook ha la forza per far deviare la rotta.

Il problema essenziale per le cripto monete a la Bitcoin oggi è che non le sa usare nessuno. Mi spiego, esistono milioni di nerd che se vogliono aprono wallet e fanno scambi monetari e delle gran belle litigate su reddit. Ci sono anche due parlamentari italiani che hanno letto qualche news sul tema, ma esistono miliardi di persone normali che non hanno neanche voglia di cercare la voce Bitcoin su wikipedia.

Bitcoin è decentralizzato e restituisce il controllo agli utenti. Facebook è frictionless, scala benissimo con il numero di utenti ed è già installato nel cervello di tutti.

Quindi se nasce una valuta o un sistema di pagamenti su Facebook che potrà essere scambiata anche con Whatsapp indovinate quanti avranno voglia di passare ad un uso sistematico e quotidiano di Bitcoin?

Inoltre Facebook potrebbe aprire veramente scenari nuovi e virtuosi grazie ad una piattaforma di micro o nano pagamenti incorporati direttamente nelle sue pagine web.

Pensate ai like, potrebbero essere trasformati in piccoli crediti remunerati (a la paymeabit per intenderci). Le bufale penalizzate con uno storno automatico per chi le inoltra senza fare una verifica. Insomma si aprono spazi per trasformare Facebook stessa con contenuti a pagamento ma con una modalità appunto frictionless che non si era mai vista prima.

Non fraintendetemi e non mettetemi nel Bitcoin Obituary (vabbè non sono così famoso per finirci), non sto dicendo che Facebook ucciderà Bitcoin e le cripto. Però certo si candida a prendere su di sé molta attenzione da parte di chi non ha ancora compreso a fondo i vantaggi, le caratteristiche libertarie e la carica di autonomia che viene delle cripto.

Facebook mangia banche

…e pensieri a caldo sulla centralizzazione di tutto. Dalle bestemmie ai pagamenti.

facebook-money

Se Facebook diventa una banca? o meglio se Facebook diventa anche una banca? Oltre a essere un posto virtuale dove si fa amicizia, politica, sexting, shopping, si scrivono pensieri poesie preghiere opere opinioni etc.

Forse è il caso di chiedersi come fermarla. Non solo Facebook ovvio, ma i grandi come lui (o lei) quindi Google, Apple, Microsoft etc.

Ma fermarli come? Non con nuove leggi e regole ovviamente. Sono aziende, operano in un mercato, fanno i loro interessi e si spera quelli dei loro clienti, però l’entità della centralizzazione di servizi e funzioni nelle mani di pochi sta assumendo i toni distopici.

Vabbé sarà che ho appena visto Black Mirror e l’idea che la polizia ti punisca togliendoti 1 punto (ben 1 punto) di social score fa sorridere ma insomma.

Ci avevano detto che Internet era la disintermediazione di tutto, e invece sta crescendo dentro di sé una dozzina di super-intermediari che veicolano tutto.

Fai meglio di loro, e vedrai. Se sei innovativo li spazzi via. Siamo sicuri? Quindi? Torniamo indietro. Basta tecnologia!?

Ma neanche per idea. Anzi ce ne vuole di più, però ci vuole più cultura della tecnologia.

Dobbiamo imparare diverse cose: il valore della nostra privacy, il controllo che possiamo esercitare sulla tecnologia che usiamo, essere attivi e consapevoli invece che passivi consumatori ignoranti (nel senso che ignoriamo eh, non nel senso che …), decentralizzare che significa anche diversificare invece di centralizzare. Prendere il controllo invece di cederlo.

Se costruisci la tua casa sul terreno di qualcun altro forse non sei molto saggio. Perché lo facciamo per la nostra identità digitale? Internet dà la parola a tutti, e le piattaforme alla Facebook l’hanno data veramente a tutti. Si litigava e si scrivevano corbellerie anche su Usenet, IRC, ICQ, ma c’era una barriera d’ingresso. Una specie di selezione, insomma non potevi essere troppo troppo ignorante (sempre senza offesa, eh). Ora la barriera non c’è e dobbiamo solo smetterla di essere “Gli imbecilli di Umberto Eco”.

Tutto questo cosa c’entra con il fatto che faremo i pagamenti con Whatsapp? C’entra, secondo me c’entra.

 

 

Under the mattress

Coming soon on Kindle.

Let’s start from the beginning, in 2008 Satoshi Nakamoto invents a currency that is generated by computers, exchanged between computers, and impossible to confiscate, clone, game, counterfeit, inflate, erase, demolish, finally … impossible to ignore, the Bitcoin. This book is a journey in Bitcoin-land.

Want to know more?

bitcoin_front-small-en

Etimologia della parola “blog”

Forse non tutti sanno che blog è la contrazione di “web log” cioè un log dei nostri pensieri “buttato” dentro una pagina web.

Tuttavia l’etimologia di questa locuzione è davvero interessante. La parola web infatti vuol dire ragnatela, anche se ormai per noi italiani significa rete di computer perdendo ormai ogni legame con il termine inglese “web”. Acora più interessante è la storia dell’altra parola, log. Log infatti in gergo informatico è un file in cui vengono scritti messaggi di sistema annotati con data e ora. Una specie di diario che il computer tiene per registrare i suoi eventi.

Log deriva a sua volta dall’espressione Log Book che è il diario di bordo delle navi dove venivano annotate giornalmente posizioni e velocità. La parola “log” significa letteralmente pezzetto di legno. La ragione per cui si usa questo termine è che in passato si usava un pezzo di legno (detto anche barchetta) legato ad una corda la quale presentava dei nodi posti a distanze regolari l’uno dall’altro. Il pezzo di legno si lanciava fuori bordo e si lasciava andare la corda. Nel corso di un minuto questa scorreva e venivano contati i nodi. Dal numero di nodi si ricavava la velocità (appunto in nodi o miglia orarie) e quindi annotate nel Log Book. Dal ciocco di legno al blog il passo è stato lungo.

In italiano questo strumento si chiama Solcometro

loch_c3a0_plateau

 

Piccola prova su strada deep learning

attenzione: contenuto vagamente nerd

Può Il deep learning essere considerato oggi alla stregua di un altro tool a disposizione degli sviluppatori? Forse non ancora. Forse richiede ancora competenze specifiche su classificazione, reti neurali, statistica etc. che non tutti gli sviluppatori hanno. Tuttavia nel corso degli ultimi anni la quantità e la qualità dei framework per scrivere il proprio modello predittivo sono aumentate notevolmente, e si sa, uno inizia con la pratica, brancola nel buio per un po’, ma se è determinato prima o poi impara anche la teoria.

Nel caso opposto, a studiare la teoria per anni senza mai metterla in pratica si rischia di annoiarsi o peggio, di diventare un guru.

In fondo la figura del data scientist che cos’è? Visto da uno statistico il data scientist è uno sviluppatore che sa poco e male di statistica, visto da uno sviluppatore un data scientist è uno statistico che sa un po’ di Python. Visto da un recruiter, un data scientist è uno che sa usare Hadoop, Spark e ha lavorato con i Big data (senza precisare quanto big).

screenshot-2016-11-16-20-55-53

Nel mio percorso, guidato da curiosità intellettuale e necessità di imparare ed aggiornarmi mi sono trovato a voler e dover cercare un framework per il deep learning. Se volete sapere cos’è il deep learning vi consiglio un mio precedente articolo. Per la mia investigazione mi sono rivolto a tre framework: TensorFlow, MXNet e H2O. Perché questi e non anche Caffe, Torch, Theano e tutti gli altri che vi possono venire in mente? Perché TensorFlow, MXNet e H2O hanno una decente capacità di lavorare con il linguaggio R. Non che questo sia indispensabile per fare deep learning, ma insomma, quando si manipolano dati e numeri è moooolto scomodo ritornare a Python o Java dopo che si è usato R.

Premetto, quella che segue è una classifica molto personale, non scientifica e soprattutto non quantitativa. Una serie di opinioni insomma. Se volete un confronto più strutturato e ragionato leggete questo su wikipedia.

https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software

Quindi alla luce dei miei criteri opinabili nonché segreti quale dei tre framework alla fine preferisco? Beh, ci sono pro e contro ma alla fine per me il vincente è TensorFlow. Vediamo perché.

TensorFlow è ben documentato, molto aggiornato (c’è Google che finanzia), la community sembra in crescita ed è facile trovare aiuto. L’interfaccia in R è ottima e documentata. Supporta le GPU e in futuro immagino le TPU (cosa sono?). Comincia a diventare keyword anche per i recruiter. Difetti: l’installazione è comunque un incubo. Sì, lo so che conta poco ma a me le piccole fastidiose bazzecole come versioni di Numpy , compilazioni infinite e dipendenze un po’ sparse possono far perdere la pazienza e tempo. Rivolto a Google dico: fate un installer decente per tutte le piattaforme! Grosso problema poi se vuoi installare il supporto GPU su Mac. Io ho desistito. Quando vedi che parte una compilazione di codice sorgente che poi si blocca è un brutto segno. Troppo prematuro per chi non vuole perdere tempo.

MXNet sembra un progettino di due studentelli, la company che ci lavora si chiama DMCL, e in questo momento il loro sito non risponde!😮  Invece guardando bene c’è tanto lavoro dietro e un’ottima reputazione per questo progetto open source. Il pregio principale per me è che supporta CPU e GPU in modo molto immediato. Difetti: purtroppo non una grande community, la documentazione per R abbastanza incompleta e  le API sono ridotte rispetto a TensorFlow.

H2O viene da una startup che ha raccolto un bel po’ di fondi e di attenzione in Silicon Valley. Il prodotto è bello, basato su Java ed è molto facile installarlo e partire con qualche modello. Ha tuttavia alcune limitazioni secondo me inaccettabili. Primo problema: non supporta le GPU. Secondo problema non supporta le reti ConvNet (perché sono importanti?). Ho posto la domanda direttamente a uno dei loro ingegneri che presentava il prodotto in una fiera e mi ha risposto che volendo H2O può integrare MXNet o TensorFlow nel backend e ottenere anche le loro funzionalità😮 Beh, ma allora perché installare H2O e non direttamente TensorFlow.