Layout 2017 – qualcosa di nuovo per promezio

Promezio si rifà il trucco. Qualche “orpello grafico” in più e qualche mb in più (i tempi di caricamento restano comunque ottimi) per avere articoli più leggibili e un’usabilità superiore da qualsiasi device.

Il nuovo layout promezio

Questo é il nuovo layout di :#/ promezio, é ancora in corso d’opera quindi nei prossimi giorni vedrete piccole novità ma la sostanza oramai é definita. Bianco, tanto bianco con un tocco di grigio e rosso tendendo ad azzerare il nero assoluto. La scelta dei colori oltre che ai gusti é da attribuire all’idea di minimalismo che accomuna i miei progetti.

Le animazioni CSS sono lineari e quanto più semplici possibile per non appesantire il codice e l’esperienza d’uso. Gli elementi di navigazione principale sono in alto mentre le barre laterali contengono elementi secondari che facilitano lo scorrimento degli articoli e la ricerca dei contenuti.

Per i font ho cercato di massimizzare la leggibilità. Non so se ho centrato l’obiettivo o c’é qualcosa da migliorare, ho sott’occhio diversi altri caratteri e sto provando varie dimensioni. Accetto proposte migliorative, questo é il momento giusto per le critiche.

Diversi fix sono già in timeline. Ci saranno refusi oltre che bug, soprattutto da mobile quindi se ne riscontrate potete darmi una mano segnalandoli a info@promezio.it indicando sia il S.O. in uso che il device specifico. Il tema di base é scritto bene (da SmartPixol), ho apportato qualche alleggerimento e qualche miglioria per adattarlo ai miei contenuti.

Diverse ottimizzazioni per i motori di ricerca e per i social network rendono i link più facili da trovare e da condividere. L’obiettivo non é diventare mainstream ma migliorare la qualità dei contenuti e l’accessibilità degli stessi. Questo sito aveva bisogno da tempo di questo genere di interventi rimandati per mancanza di tempo.

La community di TIM per gli sviluppatori italiani

timopen

Developer di tutta Italia, unitevi!
Chi ha una grande idea deve pensare in grande anche quando si parla di infrastruttura. Qualsiasi piattaforma software dovrebbe essere scalabile ed estendibile, quando si parla di servizi cloud queste caratteristiche diventano chiave per la riuscita del prodotto. Questo significa che già in fase di progettazione é necessario fare le scelte giuste in quanto a tecnologie, soluzioni e partners.

E’ qui che entra in gioco TIM OPEN ,una piattaforma b2b collegata a TIM Impresa Semplice che mette a disposizione degli sviluppatori un’infrastruttura consistente per applicazioni cloud e un marketplace per la distribuzione dei servizi.

Quando avrai già trasformato la tua idea in un applicazione forse non avrai bisogno soltanto di un partner tecnico e commerciale che ti consenta di farla crescere, servirà capitale per investimenti mirati al consolidamento del software e al marketing. In questo caso ricorda che le software house possono proporsi all’accellerazione di Working CAPITAL per le start-up innovative, un altro progetto complementare di TIM.

Per capire se il sistema funziona servono case history di start-up innovative che lo confermino e diano spunto agli sviluppatori che vogliono provarci. La storia di ArchiSMALL é un ottimo punto di partenza, nel canale youtube TIM Impresa Semplice ne trovi molti altri.

La documentazione del progetto (strano ma vero) é ben scritta, un punto di partenza perfetto con tanto di video tutorial che spiegano come pubblicare o come configurare la tua app.

In tutto questo TIM cosa ci guadagna? Perché se non c’é un’utile é utopistico pensare che spingano per distribuire il tuo software. Per le risorse cloud c’é un costo di attivazione e un canone mensile che dipende dalle performance richieste mentre sulle vendite fatte tramite digital store tim trattiene una percentuale.

Se hai una buona idea forse é arrivato il momento giusto per realizzarla, con #TIMOPEN avrai alle spalle un partner in grado di fornirti tutte le infrastrutture necessarie e il giusto supporto per trasformarla in un’impresa di successo.

Buzzoole

It’sMe: identitá e sicurezza online

phone

Online non sai mai chi c’é dall’altra parte. Questa forse é un ovvietà ma nel contempo é la base della maggior parte dei problemi di sicurezza online.

La gestione dell’identitá diventa un fattore chiave in tutti quelli scenari nei quali il destinatario di informazioni, comunicazioni e dati risulti essere davvero quello previsto. It’sMe é un sistema di verifica dell’identità digitale per essere #RealiAncheOnline. L’utente può creare un’identità digitale verificata e condividerla facilmente.

L’operazione di verifica é semplice e rapida, inoltre per garantire il massimo della privacy l’utente ha il pieno controllo dei propri dati e può revocare la condivisione delle informazioni in qualsiasi momento. Prima di iniziare la procedura accertati di avere a portata di mano un documento e una carta di credito che sono necessari a completare il processo di verifica.

L’app é gratuita ma la verifica ha un costo di 1.90€ da rinnovare ogni anno. L’abbonamento annuale comprende: la verifica dei dati e la validazione del profilo, l’archiviazione dei dati in un’area protetta accessibile solo dall’utente, l’utilizzo di funzionalità innovative per la condivisione dei dati e dell’identità.

It’sMe é un progetto interessante anche se probabilmente non ancora maturo per un uso “pro”. Sembra essere un MVP che si basa su un’idea (e un brevetto) interessante che comunque va ancora esplorata ed ampliata.

Comunque da provare!

Buzzoole

ItsMe Voglio Vivere Internet from SocialNation on Vimeo.

Quando è un’algoritmo a scegliere cosa ti interessa

Nessuno ci conosce meglio del web. Ogni interazione online diventa informazione e permette di stilare un profilo preciso dei nostri gusti, dei nostri interessi e forse anche dei nostri sogni e desideri.

Machine Learning, data mining e algoritmi avanzati di classificazione stanno rapidamente rivoluzionando il mondo dell’informazione sul web, che diventa sempre più personalizzata e aderente ai gusti del lettore.

Con la nuova veste grafica SuperEva.it diventa il brand di Italiaonline dei contenuti trendy e feel good, delle #bellestorie, delle notizie divertenti, stravaganti, curiose.

supereva machine Learning news
Per andare oltre il solito like a disposizione del lettore ben cinque sentiment differenti per esprimere la propria opinione. Interazioni che permettono di generare il trendometro, ovvero la pagina che segue le tendenze del momento in real time.

Un’applicazione interessante, un’esperimento giornalistico che può essere applicato a strutture dati ancora più pertinenti basate sulle interazioni online di un unico utente. Se avete il coraggio di conoscere cosa interessa davvero all’italiano medio . . . fai un giro sul trendometro.

Buzzoole

Pagamenti in sicurezza da smartphone

full_header_banner
#MySI è l’app per iOS e Android che permette di gestire in sicurezza tutte le carte di debito e prepagate da un unico HUB dal quale è possibile effettuare acquisti e controllare lo storico delle transazioni.

L’interfaccia dell’app è gradevole e l’utilizzo risulta semplice per tutti gli utenti. I possessori di CartaSi hanno accesso a servizi informativi e di sicurezza aggiuntivi ma le funzionalità principali possono essere utilizzate con qualsiasi carta del circuito Visa e Mastercard.

Ho provato la versione iOS (quindi niente MySi Pay, la funzionalità di virtualizzazione delle carte) e controllare lo storico diventa semplice e sicuro con l’accesso tramite impronta digitale.

MySi Pay (pagamenti QR Code e Web Code) sono disponibili per iOS e Andorid.
MySi Pay ))) (pagamenti HCE) sono disponibili solo per Android.

Gli SMS Alert da impostare con pochi tap sono utilissimi, permettono un layer di sicurezza aggiuntivo e un monitoraggio delle spese più puntuale.

Se vuoi aumentare la sicurezza dei tuoi acquisti con carte prepagate prova subito l’app nella versione Android (la scarichi da qui) o iOS (la trovi qui).

Buzzoole

[APP REVIEW] Con myCicero® andare in giro è più divertente.

Non importa il mezzo ma il fine. Penso che sia questa l’idea che sta dietro allo sviluppo di myCicero® – l’app che ti porta dove vuoi, con ogni mezzo.

A fare la differenza, sia da un punto di vista tecnico che da un punto di vista pratico, in questo caso non è l’idea in se (che non è poi così originale) ma la realizzazione. Dico questo perché  myCicero® funziona, è semplice da utilizzare e ben disegnata e ben integrata con i principali servizi di trasporto italiani. Insomma, non è finita nella fatidica cartella “TantoPerOccupareSpazio” del mio smartphone.

Queste sono le funzionalità chiave dell’app:

  • Sosta – Con l’app paghi solo i minuti effettivi di sosta, con la possibilità di richiedere la fatturazione mensile. Il servizio è attivo in parecchie città, purtroppo non la mia e quando sono fuori non sono in auto. Peccato.
  • Mezzi pubblici – treni, autobus locali, linee a lunga percorrenza e metropolitana. Tutti i vettori in un’unico strumento che permette anche di pianificare gli spostamenti e acquistare i biglietti in real time. Questa è la cosa più interessante perchè in giro quando non si conoscono linee e orari fa risparmiare molto tempo.

I punti di forza sono l’interfaccia grafica (immediata, gradevole e semplice) e le partnership con i servizi di trasporto pubblico (tante rispetto alla concorrenza). Chi vive o visita le città coperte da myCicero® troverà quest’app molto utile, uno strumento unico per organizzare tutti gli spostamenti quotidiani. Per capire quali sono le città attive e i partner integrati visita il sito ufficiale dell’app.

Visto che ti sei sorbito tutta questa review ti sei guadagnato un codice sconto da € 2,00. Scarica l’app gratuitamente e utilizza il seguente codice promozionale: MYC95875. Potrai utilizzarlo per ricaricare il credito myCicero seguendo questi passaggi: dall’app accedi alla sezione ‘Ricarica Credito’ –> ‘Hai un coupon?’ e inserisci il codice. In questo modo avrai diritto a 2€ di ricarica omaggio, la promo è valida naturalmente solo per i nuovi iscritti!

 

Buzzoole
Buzzoole

Machine Learning: le librerie

Per capire i meccanismi fondamentali del machine learning abbiamo sviluppato un perceptron e una piccola rete neurale direttamente in python. Naturalmente per applicazioni reali in cui è necessario analizzare una notevole quantità di dati complessi non è il caso di reinventare la ruota scrivendo gli algoritmi di machine learning da zero.

La scelta migliore è quella di affidarsi ad una delle librerie per il machine learning disponibili sul web. Per non perdersi tra il mare di alternative disponibili c’è questo articolo: una (personale) valutazione dei framework migliori. Tutti disponibili gratuitamente per l’uso.

 

TensorFlow

Probabilmente la libreria open source più nota. Open Source e sviluppata direttamente da Google. La libreria mette a disposizione una serie di API che semplificano, e di molto, le operazioni di calcolo. La documentazione è completa e i tutorial abbondano, sia per i neofiti che per i sviluppatori con esperienza nel campo.

LINK: https://www.tensorflow.org

 

 

Theano

Questa in realtà non è una libreria per algoritmi di apprendimento. Si tratta piuttosto di un’insieme di strumenti (in python) che permette di elaborare strutture multidimensionali in moto semplice ed efficiente dal punto di vista delle performance. Può sfruttare le risorse di calcolo delle GPU per velocizzare in modo significativo le operazioni.

LINK: http://deeplearning.net/software/theano/

 

Keras

Questa mi piace parecchio.  TensorFlow e  Theano in un’unica libreria di alto livello che ne semplifica l’utilizzo. Modulare, facilmente estendibile e minimalista quanto basta per non perdere di versatilità.

LINK: https://keras.io

 

Blocks

Un elegante wrap per Theano, che lavora benissimo in coppia con fuel per processare i dataset. Molto interessante la funzionalità di Live Plotting che sfrutta  Bokeh per la visualizzazione grafica dei dati.

LINK: https://blocks.readthedocs.io/en/latest/

 

Lasagne

Una libreria di alto livello per Theano che coniuga la leggerezza ad una curva di apprendimento rapida. La libreria è in continua evoluzione, tutto il codice è disponibile in un repository GitHub.

LINK: https://lasagne.readthedocs.io/en/latest/

 

Caffe

Licenza BSD, sviluppata a Berkeley. Veloce, stabile e in grado di utilizzare CPU o GPU per i calcoli. Probabilmente non è la più immediata ma la documentazione e gli esempi disponibili sono sufficienti a prendere dimestichezza con il framework.

LINK: http://caffe.berkeleyvision.org

 

Ne esistono altre ma un’articolo più lungo sarebbe poco utile, basta utilizzare Google per trovarle in breve tempo. Ma quale di queste scegliere? Non esiste la risposta universale a questa domanda perché bisogna conoscerle  e  valutare di volta in volta quale è la più adeguata al progetto che hai in mente..

Machine Learning: una rete neurale minimale per XOR

Del perchè il problema XOR non è risolvibile con un singolo perceptron abbiamo già parlato qui. Adesso non ci resta che trovare la soluzione al problema creando una semplice rete neurale in 2 livelli che sia in grado di fornirci la giusta soluzione.

Per ogni livello verrà calcolato il gradiente che va a correggere il peso calcolato nell’elaborazione del livello superiore. Questa retroazione permette di affinare il risultato ad ogni iterazione per ottenere la classificazione che cerchiamo.

 

Lo schema logico che utilizzeremo per la rete è il seguente

Questo è il codice completo, commentato per essere facilmente comprensibile in ogni sua fase:

 

Il codice è anche disponibile nel repository GitHub dedicato al Machine Learning.

Machine Learning: perceptron, XOR e rete neurale

In questo articolo ho mostrato come simulare il funzionamento di un neurone con python. Questo tipo di applicazione del machine learning è in grado di imparare a dividere i risultati nel piano con una linea retta. Questo non è sufficiente per risolvere problemi appena più complessi di una funzione logica di base. Ad esempio il perceptron descritto non è in grado di prevedere correttamente il funzionamento di una funzione XOR.

Il perchè è davvero semplice da spiegare. Questa è la tabella XOR:

Questo invece è il grafico della stessa funzione logica:

 

Da questa immagine è evidente che è impossibile dividere i risultati utilizzando un’unica retta quindi il nostro perceptron non è in grado di arrivare al risultato corretto dopo la solita elaborazione. Soluzioni? Te ne viene in mente qualcuna?

C’è n’è una molto intuitiva che è anche la più interessante: perché non utilizzare diversi perceptron per elaborare i dati? Con una rete di perceptron possiamo essere in grado di disegnare due linee e dividere l’area in tre porzioni.

Questo è il concetto alla base di una rete neurale. Nel prossimo articolo ne implementeremo una in Python e la testeremo con la funzione XOR.

Machine Learning: emuliamo un neurone in Python

Una delle prime forme di machine learning comparsa nella letteratura di settore, e anche una delle più semplici da implementare è il Perceptron (in italiano possiamo chiamarlo percettrone ma la forma inglese è la più diffusa). Si tratta di una sorta di schematizzazione del funzionamento di un neurone che prevede una serie di ingressi che vengono elaborati per dare in uscita un valore che ne rappresenta la somma pesata. Nello step successivo questo valore viene normalizzato secondo uno schema preciso.

Schematizziamo il concetto con una formula, la prima operazione è la seguente:

Il risultato finale sarà invece elaborato secondo questa funzione (a cui ci riferiremo con step function):

 

Passiamo immediatamente alla pratica per capire come tradurre questo concetto matematico in codice. Creiamo un perceptron in grado di “imparare” ad eseguire la funzione logica AND.  La scelta del linguaggio per queste applicazioni ricade molto spesso su python considerata la sua semplicità, leggibilità ed eleganza. Per prima cosa stabiliamo il set di dati in ingresso, che negli articoli teorici abbiamo sempre definito training data.

Ora c’è da definire la step function.

Serviranno anche alcuni valori di riferimento. Per prima cosa un vettore dei pesi scelti inizializzato con numeri casuali. Inoltre abbiamo bisogno anche di un tasso di apprendimento e del numero di interazioni necessarie al perceptron per “imparare” dai training data.

Adesso passiamo al ciclo di apprendimento.

Dopo le cento iterazioni il percettrone dovrebbe essere sufficientemente istruito per replicare in autonomia la funzione AND. Per testarne il funzionamento bastano poche righe di codice.

Mettendo tutto insieme hai un’algoritmo di machine learning già funzionante. Semplice vero?

Questo è il risultato finale:

Trovi il file sorgente nel nuovo repository :#/ promezio che ho creato su GitHub per riunire tutti i test relativi al machine learning che ritengo possano essere utili da studiare.