My Bitcoin Experience: Wallets and Debit Card

I am in the world of bitcoin since 2012 when I opened my first bitcoin wallet on blockchain.info… and a lot of things changed since that moment: new services, growing communities, new alternative crypto currencies, ATMs, Credit-Debit cards, and a larger diffusion of people accepting bitcoin in their shops.

After those two years I can see a better view of what Bitcoin means to me and the innovation behind that technology, including Xapo debit card… and some of my friends are tired of me talking about bitcoins 🙂

How I choose a wallet

Using simple words: the wallet is a collection of addresses and their private keys. The address, that is used to receive the money, is a group of letters and numbers generated by the private key, that is required to send money.

Because you must have the private key of your address in order to sing a transaction, the security level where this value is stored must be high. The default bitcoin client provides a wallet, but is really slow and it must be synchronized and it will take some days…

Continue reading My Bitcoin Experience: Wallets and Debit Card

Google svegliati, Android è pronto!

KitKat ha decisamente fatto dei grandi progressiAndroid è pronto finalmente. Le API permettono di realizzare interfacce veramente ben fatte, studiate e finalmente usabili. Per questo i device con KitKat mi attirano particolarmente, ma usandolo sul kindle mi sono reso conto del difetto che ha Android: gli sviluppatori pigri e incapaci.

Solo tre anni fa utilizzavo un Samsung Galaxy S. Avevo deciso di sviluppare qualche applicazione per Android, ma dopo diverse bestemmie dovute all’ottimizzazione sui dispositivi, e dopo le continue frustrazioni nell’usarlo, mi passò la voglia di utilizzare quel device e di svilupparci sopra. Con KitKat sembrerebbe esserci una più concreta attenzione nei confronti dell’usabilità.

Pigrizia
Pigrizia

Su KitKat le applicazioni realizzate da Google sono veramente ben fatte: pulite, chiare, usabili, ma le altre su Google Play sono pessime. Le API per fare applicazioni decenti ci sono: Trello ha aggiornato l’applicazione di recente e come dice Alessio, “non ci sono sgorbi”. Allora dove è il problema se le cose si possono fare bene? IMHO: Sviluppatori e Google sono diventati “pigri”.

Se Android è pronto, allora perché troppe applicazioni sono brutte? Penso che la colpa sia di due fattori. Il primo: Google non ha ancora la forza che ha Apple con gli sviluppatori e i produttori di hardware. Il secondo fattore è legato a chi realizza le app che a causa del primo problema, è “pigro” e non riesce ad aggiornarle alle ultime versioni delle API, visto che la frammentazione di Android rende difficile questa operazione.

Frammentazione Android
Frammentazione Android

In poche parole Google dovrebbe svegliarsi, Android è pronto ma serve un “pugno di ferro” che spinga gli sviluppatori e i produttori hardware a non supportare più Gingebread e Froyo. KitKat, supportando device con 512 MB di ram, ha fatto un passo avanti per i produttori, ma non è abbastanza. Anche gli sviluppatori dovrebbero svegliarsi, perché se è vero che Trello si è aggiornata, perché allora la versione di Android di 1 Password fa schifo? (si ho scritto fa schifo perché fa schifo, quella sull’iPhone e sul Mac è da orgasmo 🙂 ).

Il risultato di questa scarsa attenzione nei rilasci e nelle regole, l’ho notato cercando di lavorare con Android: è completamente diverso da iOS e per questo è quasi impossibile fare un paragone. Quello che posso dire è che le uniche app usabili e “produttive” sono quelle di Google e pochissime altre, le restanti applicazioni mi fanno solo perdere tempo. A volte è difficile scrivere un documento di testo, programmare un tweet, salvare un promemoria o creare una nota: una esperienza d’uso pessima e che cambia da app ad app.

Svegliati Google, perché penso che Android sia pronto: ha un ecosistema di sviluppatori che si sta sempre più consolidando, ma mancano delle regole ancora più rigide per rendere Android un sistema operativo più usabile.

Intel Galileo: Arduino da 400Mhz

Qualche giorno fa ho partecipato all’evento di apertura della Maker Faire qui a Roma. Durante l’evento è stato annunciato l’incontro tra Arduino e Intel, creando un nuovo prodotto che fa sbavare non solo me, ma tutti gli appassionati di informatica, di elettronica e i “Makers”.

Photo Credit: http://www.flickr.com/photos/84454580@N00/8334340659/ I_am_Allan

Dopo l’annuncio, presso lo stand della Intel distribuivano una misteriosa scatola blu, con disegnato Galileo Galilei con degli occhiali Hipster: La scatola conteneva un Intel Galileo! [Spoiler] Quando la si apre, c’è un circuito che riproduce il jingle della Intel facendo partire l’ormone nerd a chiunque stia sollevando coperchio 🙂

Sono riuscito ad ottenerne uno! :D
Sono riuscito ad ottenerne uno! 😀

La board dell’Intel Galileo dispone di un processore Intel Quark X1000, con una velocità di 400Mhz, oltre ad avere l’interfaccia Ethernet, USB2.0 e le classiche specifiche tipiche degli Arduino. Avendo avuto un Raspberry Pi, posso dire che non è il massimo, visto anche che il prezzo previsto è di 60$ (Il Raspberry Pi parte dai 25$).

Tuttavia ci sono cose che Raspberry Pi non riesce a fare senza dover spenderci altri soldi: con il raspberry pi ho semplicemente installato una distribuzione Linux e mi sono divertito con il software, mentre con Arduino sto esplorando molto più il mondo dell’elettronica e dell’hardware. Potrei costruirci un robot, come quello che hanno fatto salire sul palco durante la presentazione! 😀

Intel Galileo: Board

Non ho ancora tante idee da realizzare ma credo che giocherò parecchio con Intel Galileo: anche se è possibile farlo, non ho alcuna intenzione di installare Linux sul dispositivo, voglio ampliare le mie conoscenze sfruttando saldatori, LED e sensori. 🙂 Per il momento ho realizzato un semplice software che fa generare due numeri, se il primo numero diviso 2 è maggiore del secondo numero, allora un led si accende e si spegne. Banale, però è stato molto divertente vederlo funzionare e mi piacerebbe migliorarlo un pochino: l’ho caricato su GitHub per divertirmi con chi vuole stravolgerlo! 😛

Si accettano consigli, suggerimenti o altre idee da realizzare 🙂

 

500$ di Soddisfazioni

Circa 6 mesi fa lavoravo ad un progetto abbastanza grosso, che tecnicamente parlando, aveva bisogno di scalare in modo del tutto automatico. Per questo motivo ho creato una libreria Python per interagire con le API di DigitalOcean, e così riuscire a soddisfare questa mia esigenza.  Nonostante la libreria fosse semplice, tramite GitHub in poco tempo ho avuto un riscontro positivo e diverse persone mi hanno aiutato a migliorare la libreria.

Quando ho letto questo tweet, ho pensato ci fosse un errore. Poi ho capito e sono scoppiato in un balletto isterico pieno di gioia 😀

Non mi aspettavo minimamente una cosa del genere: ho fatto qualche cosa di diverso, di utile e Digital Ocean, come già Telecom Italia, ha deciso di aiutarmi a continuare questo mio percorso.

Per me è molto importante avere un riscontro da parte degli altri. Quello che faccio ha più importanza di quello che dico… Anche se ci sono persone che preferiscono una frase o un titolo d’effetto, piuttosto che agire e cambiare veramente tutto.

…e poi non dover pagare i server per almeno 4-5 anni è molto utile per chi, come me, vuole contribuire e fare le cose. Sfrutterò al meglio questi soldi per i miei progetti personali, soprattutto quelli con licenze OpenSource 🙂

Creare un server mercurial privato

Quando bisogna lavorare seriamente a dei progetti o si deve collaborare con altre persone su dei files, è importante mantenere sotto controllo ed avere delle revisioni continue del codice: in caso di problemi si può tornare ad una versione precedente e si possono gestire più comodamente le patch. Mercurial è un software di controllo di versione, decentralizzato e quasi completamente scritto in python. Una alternativa al buon vecchio Git.

Per farlo ci sono diversi modi. Uno di questi è utilizzare le piattaforme come GitHubBitBucket, anche se solo quest’ultimo supporta anche Mercurial. Però il web non è sempre free, per questo molti servizi si pagano.

Mercurial, come Git, è una risposta che può tornarci utile, perché ci da la possibilità di lavorare in modo del tutto decentralizzato. Ma quando si lavora in team, è sempre bene avere un server dove salvare i repository con i file.

Creare un repository mercurial è molto semplice e ricorda molto il procedimento per farlo con git. Però la particolarità di mercurial è che offre una interfaccia web per poter visualizzare i dati dei repository sul server: questa è una guida spiegata passo passo su come ho installato il mio server mercurial personale 🙂

Continue reading Creare un server mercurial privato

Perché adoro l’OpenSource: python-digitalocean

Oggi è successa una cosa che mi ha fatto felice. Da qualche mese mi sono spostato su Digital Ocean. Non ho scritto nulla su questo blog perché prima di dare un giudizio complessivo ho preferito aspettare qualche mese.

Digital Ocean, anche se non è avanzato come la concorrenza, si può considerare come una valida ed economica alternativa ad Amazon EC2. Una delle cose che ho più apprezzato è la piattaforma di FeedBack con la quale molti clienti suggeriscono features. Io ho proposto il pagamento in bitcoin. Dopo un po’ di tempo di utilizzo ho ricevuto questa email:

Digital Ocean Email
Digital Ocean Email

Dato che mi stavano coccolando per bene, ho deciso di ricambiare creando un semplice modulo python per gestire le macchine sulla loro piattaforma tramite API: python-digitalocean( il codice è  su GitHub ).

Poi la magia! Questa mattina, mi sono svegliato con il buon umore in quanto avevo ricevuto una pull request per delle migliorie che D. Yu aveva fatto al codice.

Adoro l’open source proprio per questo motivo, perché altre persone possono migliorare il codice e far crescere il progetto. Da quando ho abbandonato il mio progetto del sistema operativo, nessuno più mi ha fatto pull request. 🙂

Credo che sia la cosa più bella che mi sia capitata oggi! Credo che rimarrò su Digital Ocean per molto tempo 🙂

La soluzione Ubuntu

Ubuntu è una delle più importanti e diffuse distribuzioni GNU/Linux al mondo. Canonical, con Mark Shuttleworth, ha portato avanti con grande successo questo progetto. Realizzando un vero e proprio ecosistema con soluzioni open source, Ubuntu accontenta sia l’utente più esperto che chi ha bisogno di una interfaccia grafica più usabile e innovativa.

Ubuntu Phone Logo
Ubuntu per smartphone

Canonical oltre ad essere anche una importante realtà per quanto riguarda il cloud computing, ha iniziato a sviluppare una versione del suo sistema operativo per smartphone: in un breve futuro potremo installare Ubuntu Phone OS al posto di Android. Questa è un’ottima notizia perché significa dare una vera alternativa libera a Java ( che tanto odio ).

Continue reading La soluzione Ubuntu