Pagine

mercoledì 14 dicembre 2011

Servizi per il mondo Twitter

Premessa

Twitter è un social network estremamente dinamico e flessibile.
Per chi volesse delle informazioni su di esso, ho pubblicato qualche tempo fa un articolo introduttivo con il titolo Twitter, di tutto e di più.
Qualche mese fa, inoltre, soprii anche un database di applicazioni e recensii le più interessanti nell'articolo Database di applicazioni Twitter.
Oggi sono a parlarvi di applicazioni più strutturate che fanno parte del mondo e della comunità di twitter.

Mentionapp

Mentionapp è una applicazione simpatica ed utile che permette di tracciare una sorta di mappa mentale con la lista dei contatti e degli #hashtag di un determinato utente..
E' estremamente facile utilizzarla: basta connettersi al proprio account dalla Home Page del servizio e nella casellina di ricerca inserire il nome dell'utente del quale si stanno cercando informazioni.
In pochi secondi viene presentata una figura come quella a destra.
Ovviamente se si clicca su un determinato utente o un #hashtag viene espanso il grafico relativo dandoci una idea del network sviluppato intorno ad esso.
Ogni blocchetto è collegato agli altri con linee di differente spessore che indicano una maggiore o minore affinità all'utente. I blocchetti/linee di colore grigio specificano affinità molto basse o di secondo livello.
L'account è gratuito.

SocialBrio e Twitsprout

SocialBrio è un tool davvero impressionante che permette la gestione della propria comunity twitter in maniera estremamente rapida e compatta; fornisce moltissime informazioni sui propri contatti, follower e followings, liste, la provenienza, le mode, gli #hastag più utilizzati e mille altre informazioni.
E' un programma multipiattaforma che si può scaricare su Windows, Mac, Linux ma anche come plugin di Google Chrome.
Come si può vedere dalla immagine riportata a destra viene utilizzato da molte società quali IBM, TomTom, Smart, Mastercard per analizzare le tendenze e le mode dei propri clienti. Insomma per chi usa twitter per lavoro questo è uno strumento al quale, secondo me, non si può rinunciare. Per tutti coloro che usano twitter per lo svago ed il tempo libero permette una visione più a tutto tondo della comunity che si sta costruendo intorno a sè. Ad ogni buon conto è un tool da provare assolutamente!
L'account gratuito è pienamente utilizzabile ed interessante ma vi è la possibilità di fare un upgrade a pagamento con delle feature aggiuntive.
Un servizio simile e molto gradevole nel look è Twitsprout.

BufferApp

Bufferapp ha essenzialmente due scopi.
Il primo è di creare una sorta di buffer (pensatelo come un cestino dove depositate i post) che viene svuotato ad orari prestabiliti dall'utente. In sostanza quando si vuole condividere una pagina web o qualsiasi contenuto, si aggiunge il post al buffer e questo verrà pubblicato al momento deciso dall'utente. Questa feature è particolarmente utile, a mio avviso, in due casi: utilizzando strumenti come SocialBrio (descritto sopra...) si nota quali siano gli orari di maggiore utilizzo twitter da parte degli utenti. In questo modo l'utente può programmare l'invio dei propri post in modo che siano facilmente leggibili e ricondivisibili. D'altro canto se si lavora in un ufficio è possibile programmare l'invio dei post ad orari non... incriminabili....
Il secondo compito di Bufferapp è conteggiare tutti i click, i mentioning e i reply effettuati dagli altri utenti twitter. In sostanza si può tenere traccia di quanto "successo" o "fallimento" in termini di "audience" raccolgono i nostri post.
Esistono plugin per Chrome, Firefox, cellulari e molti servizi sul web.
L'account gratuito è pienamente utilizzabile ed interessante ma vi è la possibilità di fare un upgrade a pagamento con delle feature aggiuntive.

Storify

Storify è una applicazione interessantissima che permette di creare delle "storie" attraverso links, post in twitter, pubblicazioni. Sostanzialmente permette di raccogliere in una unica pagina l'evoluzione di un discorso che si snoda tra social networks differenti. Un aggregatore insomma ma pubblico.
Ovviamente si possono raccogliere anche clip audio e video per rendere maggiormente incisiva la "storia".
Si tenga conto che un recente studio di bit.ly, uno dei servizi che servono per accorciare gli indirizzi web, ha dichiarato che la vita media di un link non supera le 2.8h prima di passare nell'oblio.
Lo stesso twitter, dopo due settimane, rende i post non più disponibili sul profilo dell'utente se non con ricerche specifiche.
Ecco come in questo scenario, un servizio come Storify può essere estremamente utile. Si veda un esempio qui delle mie pubblicazioni podcast access presso l'Università Popolare di Torino.
L'account gratuito è pienamente utilizzabile ed interessante ma vi è la possibilità di fare un upgrade a pagamento con delle feature aggiuntive.

Form-u-list

Form u list è un servizio che permette di creare delle liste in maniera automatica al verificarsi di un evento...
Alcuni esempi: le persone con le quali scambio più messaggi, quelle che mi menzionano, quelle che fanno il retweet dei miei post e così via...
Questo comportamento ci permette di aggiungere/togliere profili dalle nostre liste donando al nostro profilo estrema dinamicità ma anche inserendo o togliendo le persone in base ad eventi.
L'account gratuito è pienamente utilizzabile. Già nella versione base da un assaggio di cosa possa fare. Purtroppo, però, permette la gestione di sole due liste. Se si vuole creare un numero maggiore di liste sarà necessario passare alla versione Premium.

giovedì 8 dicembre 2011

Python ed i CSV

Premessa


I CSV sono semplicissimi files di testo e sono un primo esempio di database sebbene con delle limitazioni. L'acronimo significa Comma Separated Value ovvero "Valori Separati da una Virgola". In sostanza un file CSV si può aprire con qualsiasi editor di "testo semplice" in qualsiasi sistema operativo e si presenta come qualcosa del genere:

Essi, come detto prima, sono un primo esempio di database sebbene la struttura non possa essere complessa data la natura del supporto.

 

Vantaggi e svantaggi nell'uso dei CSV


I database ma anche un semplice foglio di calcolo, offrono performance, personalizzazioni, decisamente maggiori rispetto ai CSV.
Per questi motivi molte persone pensano, a torto, che il sistema CSV, data la sua semplicità intrinseca sia ormai obsoleto.
Ma allora chi usa e perchè viene usato questo formato?
I CSV, a mio avviso, hanno due enormi vantaggi.
Da una parte permettono di immagazzinare quantità abnormi di dati: un foglio di Excel, ad esempio, ha un limite numerico di righe e colonne mentre CSV non soffre di questo limite: esso può immagazzinare "virtualmente" infinite colonne ed infinite righe. 
Ovviamente il limite esiste ma dipende dalla memoria RAM e dal file system e non dal supporto in sè.
L'altro vantaggio è la portabilità del formato: la maggior parte dei fogli di calcolo (si pensi MS Excel) e server sql (si pensi ad AS400 o MS SQLServer) sono proprietari e girano su uno o pochi sistemi operativi; i CSV, al contrario, essendo file di testo possono essere letti e scritti da qualsiasi software su qualsiasi sistema operativo: questo fattore li rende degli alleati insostituibili che permettono il dialogo tra sistemi anche estremamente differenti tra loro.
Facciamo, dunque, uno schemino in breve dei vantaggi/svantaggi.
Partiamo ad evidenziarne gli svantaggi:
  • non gestisce le relazioni fra tabelle
  • non permette la creazione di viste, stored procedure e tutte le altre facilitazioni proprie dei server sql
  • non permette la gestione della multiutenza: può accedere solo un programma/persona per volta.
E, successivamente i vantaggi:
  • formato universale: si possono leggere e scrivere file CSV con qualsiasi software su qualsiasi sistema operativo
  • permette di gestire "infinite" quantità di dati senza limiti di colonne (campi) e/o righe (record).

 

Dialetti

Ciascun CSV può differenziarsi per il "dialetto" utilizzato.
Un dialetto viene identificato, prevalentemente da tre parametri:
  1. il separatore tra un campo e l'altro: in America è di default la virgola (,) e da qui il nome "Comma". Nei paese non anglosassoni, Italia inclusa, poichè la virgola è il separatore tra le cifre decimali di un numero, si utilizza il punto e virgola (;) come nell'esempio precedente.
  2. il separatore tra un record e l'altro: solitamente ogni volta che si va a capo, si identifica un nuovo record. Questa scelta generalmente accettata da tutti può, all'occorrenza, essere modificata con un altro carattere. Si ricorda che il carattere a capo è identificato da "\n" su linux/unix e da "\r\n" sui sistemi windows.
  3. il quoting: ci si riferisce alle virgolette singole (') o le virgolette doppie ("); vengono utilizzate per racchiudere un testo. Sono particolarmente utili quando si pensa di voler utilizzare all'interno di un campo anche il separatore.
Una delle prime cose da fare, dunque, quando si lavora con i CSV in python è definire il dialetto che viene utilizzato.
Il modulo CSV ha già un paio di dialetti preimpostati che sono quelli utilizzati da excel ma, all'uopo, se ne può impostare di personalizzati.

 

Script di esempio

Prima di creare questo script devi creare il file dati.csv e dati2.csv con le seguenti righe.
Dati.csv:


Dat2.csv


Ed infine lo script: