Pagine

venerdì 3 febbraio 2012

Banca del Tempo

 

Premessa

Oggi molte persone sono convinte che qualsiasi cosa, qualsiasi individuo, qualsiasi evento abbia un prezzo.
La mercificazione da parte dei media di ogni aspetto del nostro viver quotidiano, la crisi imperante che ci schiaccia di giorno in giorno, gli ideali che sfumano come neve al sole anno dopo anno, i reality show sempre più unica "valvola di sfogo" di un pubblico assetato si evasione dal quotidiano ci portano a pensare che il denaro sia l'unica moneta di scambio possibile e conosciuta.
Se cade una casa perchè è stata mal progettata: "qualcuno" pagherà delle multe. Forse.
Uccido una persona: faccio qualche anno di galera e poi mi chiamano in TV quando esco per raccontare l'accaduto e pagandomi più di un anno da operaio.
Non pago le tasse: esistono i condoni.
E, ovviamente, l'elenco potrebbe continuare per ore se non giorni...

Volontariato e scambio di tempo

In questo contesto che non voglio etichettare con aggettivi che di per sè esprimerebbero un giudizio, ci si può "scontrare" con due sacche di fenomeni diversi ma per alcuni aspetti simili.
Sto parlando del volontariato e dello scambio di tempo.
In entrambi i casi si parla di una attività che svolge il singolo individuo al fine di mettere se stesso a disposizione di altre persone ricevendo, in cambio, un accrescimento personale ed un arricchimento non di tipo monetario.
La differenza grossa tra le due tipologie di fenomeni, però, è dovuta al fatto che nel "volontariato" la singola persona mette a disposizione il proprio tempo in maniera unilaterale: egli/ella sarà sempre colui/lei che dona il proprio tempo a favore di altri.
Nello scambio di tempo, al contrario, come si evince dalle parole stesse, la persona mette a disposizione il proprio tempo facendo/insegnando/aiutando ed "in cambio" riceverà il tempo di qualcun altro.
L'attività, dunque, è una sorta di via di mezzo tra il volontariato (del qualche riprende parzialmente lo spirito) ed il baratto (del quale riprende il concetto di scambio ma non la materialità).
Ciascuno dei due fenomeni può (e spesso succede) organizzarsi in gruppi in modo da essere più efficienti e dinamici nell'offerta di tempo oltre, ovviamente, al fine di evitare una anarchia che porti velocemente all'estinzione delle stesse attività.

La Banca del Tempo

La Banca del Tempo, di seguito BdT, nasce proprio in questo secondo contesto.
Esse sono associazioni no-profit dove ogni persona che si iscrive diventa "correntista" e la "moneta" di scambio che verrà utilizzata è, appunto, il tempo.
Ogni correntista può mettere a disposizione poche ore della propria giornata anche poche volte al mese svolgendo attività formative, di intrattenimento o di qualsiasi utilità e, a sua volta,  potrà usufruire del tempo messo a disposizione da altri correntisti.
Le attività possono essere le più disparate: babysitting, corsi di formazione gratuiti, uscte organizzate, visite a musei, residenze etc etc etc. 
Il concetto di BdT nasce a fine anni '90 in Emilia Romagna ed è stato oggetto di studi, tesi di laurea e trasmissioni soprattutto agli inizi del 2000.
Chiunque può diventare correntista, indipendentemente da sesso, età, religione, inclinazioni politiche o sessuali (etc...).
Oggi le Banche del Tempo sono presenti in moltissime città italiane sebbene spesso rappresentino un fenomeno marginale e poco conosciuto.Tra le più importanti sicuramente la BdT di Roma detiene il primato ma sono anche molto attive quelle di Torino e Bari.
Vi cito anche la piccola banca del tempo di Villanova d'Asti di recente costituzione (fine 2010) e della quale sono l'attuale presidente. Essa promuove attività all'interno del territorio che vanno dai corsi per anziani ad italiano per stranieri, dalle visite ai musei e residenze Savoia alle uscite nei campi per osservare le stelle, dalle biciclettate in mezzo ai bochi alle schitarrate tra amici...
Concludo quindi con un pizzico di "pubblicità" e per chi fosse interessato: http://bancatempovillanova.it/

giovedì 19 gennaio 2012

Cosa sono e come usare liste twitter

Premessa

Parlando con amici o colleghi, alcune persone mi hanno chiesto a cosa servono le liste su twitter. Lo scopo di questo post, dunque, è cercare di fare un po' di chiarezza su questo utile quanto poco conosciuto strumento di twitter.

Le liste

Non mi dilungherò su come si fa a creare una lista o su come inserire utenti al loro interno.
A questo proposito potete leggere il documento ufficiale
Ciò che mi interessa mettere in luce in questo post, al contrario, è l'aspetto "social" delle liste e di come aiutino a mantenere ordinato il proprio account donandogli nel contempo valore aggiunto ed aiutandoci ad aumentare i nostri followers grazie alla distinzione dei contenuti.
 

Ma facciamo una premessa fondamentale: una lista può essere creata da un utente e seguita da altri... 

Nel primo caso essa serve essenzialmente per "dividere" a livello logico le persone/argomenti; nel secondo caso aiutano ad aumentare l'eco di ciò che condividiamo. In questo modo si creano velocemente "comunity" a tema perchè se so che "tizio" segue la lista "cucina" creata da "caio" saprò implicitamente non solo che anche "caio" si interessa alla cucina ma anche tutti i contatti contenuti nella lista da lui creata e denominata "cucina". Posso quindi decidere di seguire la lista di tizio consapevole che troverò persone con le quali condividere la mia passione ed alle quali inviare messaggi che hanno, come argomento, la "cucina".

Le liste dunque hanno, a mio avviso, questo duplice scopo:
  • associare un utente ad uno o più argomenti (liste appunto) e ciò comporta:
    • manifestare rapidamente agli altri utenti quali sono i nostri interessi
    • ordinare a livello logico le informazioni da noi condivise
  • dare maggiore visibilità a ciò che condividiamo nel momento in cui altre persone seguono una nostra lista
In realtà, con il tempo, ho iniziato ad apprezzare le liste anche per un altro motivo: dato che il numero dei miei follower sta crescendo in modo lineare, il numero dei post nella mia timeline cresce in modo esponenziale!!
Parimenti il tempo che riesco a dedicare al social networking è molto scarso e si concentra in pochi momenti durante l'arco della giornata. In questi momenti consulto twitter soprattutto tramite il mio smartphone più che con il PC e questo comporta (per via dello schermo piccolo e il fatto che lo consulto in mobilità) che non posso materialmente leggere tutti i post di tutti i follower.
Ecco quindi che le liste si sono rivelate (a mio avviso) utili anche per un altro scopo: coloro che mi interessa davvero seguire li inserisco in 3 o 4 liste principali che sono quelle che leggo più spesso.
I componenti delle altre liste, al contrario, li seguo più sporadicamente e questo, non lo nascondo, mi fa risparmiare un sacco di tempo :-)

Alcuni consigli

Passiamo adesso ad alcuni consigli su come usare le liste al meglio....
  1. Cosa: la prima attività da fare è cercare di scoprire cosa cercano o di cosa desiderano leggere i miei follower. A questo punto il lettore potrebbe anche domandarsi come fa a saperlo... Bhe, solitamente il numero di retweet o di risposte ad un determinato post fa comprendere gli interessi dei propri follower... Da questi le liste seguiranno di conseguenza. E' più facile che un utente che ama la "cucina" segua una mia lista denominata "ricette" o "ristoranti" piuttosto che "informatica" o "finanza"
  2. Descrizione: aggiungi una descrizione a ciascuna lista. L'utente che decide di visitare la pagina delle nostre liste deve sapere cosa/chi raccoglie la lista "notizie"..
  3. Focalizza: certo non è sempre facile inserire una persona in una lista perchè spesso costui/costei divaga dall'argomento ma... cerca di focalizzare l'argomento maggiormente trattato da un individuo ed inseriscilo nella lista migliore ricordandoti che puoi inserirlo anche in più di una lista.
  4. Parla alla lista: parla con le tue liste o le liste altrui. Ecco si, un aspetto importante e social è proprio questo ma... non esagerare!!
    Per contattare una lista basta che scrivi @utente/lista ed il tweet verrà diffuso a tutti coloro che fanno parte della "lista" di "utente".
  5. Risalto: se hai un sito, un blog o una pagina su internet, ingloba tramite un widget la lista più interessante all'interno di esso per dargli maggiore visibilità; questo ti aiuterà ad aumentare le visite al sito o dal sito al tuo account twitter

Conclusione: le liste sono uno strumento relativamente nuovo di twitter e sono state riprese da Google+ con le cerchie.

Sono una opportunità ancora da scoprire e gli utilizzatori potrebbero aver trovato altri utilizzi che in questo momento probabilmente ignoro.
Se siete arrivati a leggere fino a qui e volete suggerire qualche utilizzo differente potete farlo nei commenti!

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:

giovedì 17 novembre 2011

Database applicazioni Twitter

Database applicazioni Twitter

Qualche tempo fa ho scoperto che esiste un sito che raccoglie le applicazioni che appartengono al mondo di twitter. Si chiama twtbase e si può raggiungere tramite il link seguente: http://www.twtbase.com/


Il sito è ricco di applicazioni orientate a questo socialnetwork che possono essere usate su desktop e mobile e riguardando l'interfacciamento con browser, cellulari e dispositivi di qualsiasi altro genere.
Di seguito vado ad elencare alcune delle applicazioni che ho visto in questo sito e che ritengo interessanti...
  • filetweet e twitdom: sono metodi estremamente veloce per caricare un file e inviarlo ad un utente di twitter o anche ad un indirizzo email. La grandezza massima è di 2Gb. Molto molto onesto! Non richiede iscrizione.
  • textsave: per memorizzare testi ben più lunghi di 140 caratteri messi a disposizione di twitter. Non richiede iscrizione.
  • when did you join twitter?: Se vuoi sapere quando una persona si è iscritta a twitter puoi usare questa applicazione. Non richiede iscrizione.
  • twibes: permette di gestire e creare gruppi su twitter. Richiede iscrizione.
  • twitpic:  permette il caricamento di video e foto anche da cellulare da condividere su twitter. Non richiede iscrizione.
  • morsetweet: genera e traduce codice morse. Non richiede iscrizione.
  • tweetvox: permette di caricare e condividere file audio/podcast. Richiede iscrizione ed eventualmente a pagamento per maggiore richiesta di spazio.
  • twtpoll: per creare sondaggi da condividere. Richiede iscrizione e pagamento.
  • twtvite: per creare eventi e gestire le iscrizioni. Richiede iscrizione e servizio a pagamento.
  • twitter tag project: una lista dei bot disponibili per questo social network. Non richiede iscrizione.
E' da notare, inoltre, che molti di questi servizi hanno anche una app sui dispositivi mobili quali Android e/o iOS e per questo sono estremamente appetibili poichè si possono usare sia quando siamo seduti davanti la nostra scrivania sia con i nostri dispositivi mobili.
Vi invito a segnalarmi eventuali altre interessanti applicazioni per twitter.

lunedì 18 luglio 2011

Python: importare CSV in SQLite

Premessa

Dopo aver:
  1. Introdotto il sistema di database SQLite
  2. Visualizzato alcuni comandi a riga di comando per la gestione di questo sistema
  3. Approfondito la riga di comando
Vediamo come interagire con python, CSV e SQLite

Importazione di un file csv con python in sqlite

Nel seguente esempio ci connettiamo ad un database sqlite (se non esiste viene creato) e creiamo una tabella.
Successivamente andiamo a leggere un file CSV (che abbia come separatore il ";") e lo importiamo nella tabella appena creata.
Per facilità non viene fatto alcun controllo.

import csv
import sqlite3

con = sqlite3.Connection('fileprova.sqlite')
cur = con.cursor()
cur.execute('CREATE TABLE "nominativi" ("Cognome" varchar(20), "Nome" varchar(20));')

f = open('nominativi.csv')
csv_reader = csv.reader(f, delimiter=';')

cur.executemany('INSERT INTO nominativi VALUES (?, ?)', csv_reader)
cur.close()
con.commit()
con.close()
f.close()

giovedì 14 luglio 2011

SQLite da riga di comando (2)

Premessa

Dopo una veloce carrellata dei comandi di SQLite visti nell'articolo precedente denominato SQLite da riga di comando (1), in questo articolo andremo un pochino più nei dettagli sebbene non è scopo di questo articolo, essere una guida al linguaggio SQL..

Creiamo/modifichiamo un database

Dopo aver scaricato e scompattato SQLite, la prima cosa da fare è modificare un database o, se questo non esiste, dobbiamo crearlo:
sqlite3 prova.db

A questo punto ci verrà presentata la shell già vista nel precedente articolo. Per essere sicuri di lavorare sul database sopra citato possiamo digitare il comando .database con relativo output in rosso.
sqlite- .database

seq name file
--- ----- -------------------
0 main j:\sqlite\prova.db

Creiamo una tabella

Come ho già detto, dato che si parla di comandi SQL, rimando ad una guida più esaustiva. In questa sede si vuol solo dare una idea di massima. La prima cosa da fare, però, è proprio la costruzione di una tabella dove immagazzinare i nostri dati. A titolo di esempio, pensiamo ad un elenco di prodotti.
sqlite- CREATE TABLE Prodotti (IDProdotto INTEGER PRIMARY KEY, Colore varchar(25), Prezzo double);

Il programma non ci restituirà alcun output che significa che tutto è andato a buon fine.
Quando un numero intero (integer) è dichiarato chiave primaria come nell'esempio, sqlite lo identifica come autoincrementale.

Viste ed indici

Le viste sono come tabelle virtuali. Permettono di vedere le singole tabelle o più tabelle in join, con criteri differenti tipo "due campi di A, 1 campo di B e 3 di C come se fossero un'unica tabella".
Gli indici, al contrario, sono dei campi privilegiati. Essi, se interrogati, hanno dei tempi di risposta decisamente minori.
In altre parole se chiedete tutti gli abitanti di una città e il campo città è indicizzato, la ricerca su vasta scala sarà decisamente più veloce.
La differenza non si nota con qualche centinaio di record ma con migliaia o milioni di record...
Vediamo un esempio di vista e di indice:
sqlite- CREATE VIEW vistaRosso AS select Colore, Prezzo from Prodotti where Colore="Rosso";

sqlite- CREATE INDEX indiceProva on Prodotti (IDProdotto);

Elenco tabelle, viste, indici, schema

Può essere necessario "ricordarsi" la lista degli oggetti elencati nel sottotitolo. Di seguito i comandi con i relativi output in rosso. Una nota di riguardo allo schema: è il termine con il quale SQLite indica gli schemi di creazione degli oggetti come tabelle, viste.
sqlite- .tables
Prodotti

sqlite- .tables P%
Prodotti

sqlite- .indices
indiceProva

sqlite- .indices Prodotti
indiceProva

sqlite- .schema
CREATE TABLE Prodotti (IDProdotto INTEGER PRIMARY KEY, Colore varchar(25), Prezzo double);
CREATE VIEW vistaRosso AS select Colore, Prezzo from Prodotti where Colore="Rosso";
CREATE INDEX indiceProva on Prodotti (IDProdotto);


Inserimento record

A questo punto è arrivato il momento di inserire un po' di record.
Nel precedente articolo ho già fatto vedere come si fa ed ho anche evidenziato l'opportunità di importare dei files di testo (CSV) creati in Excel o OpenOffice Calc. Rimando quindi all'articolo.

Visualizzare i dati

La parte più affascinante è senza dubbio l'interrogazione del database. Anche qui rimando ad un manuale più esaustivo per la sintassi del comando SELECT nel linguaggio SQL.
sqlite- SELECT * FROM Prodotti;
1|Rosso|44.55
2|Rosso|33.33
3|Giallo|34.33
Eventualmente si può rendere più gradevole l'ouput si possono utilizzare delle opzioni come mode e/o headers. Personlamente, prima del select, consiglio le seguenti opzioni:
sqlite- .headers on
sqlite- .mode column
sqlite- SELECT * FROM Prodotti;

IDProdotto Colore Prezzo
----------- ------ -------
1 Rosso 44.55
2 Rosso 33.33
3 Giallo 34.33

Esportare/Importare i dati

Una possibilità molto interessante è la possibilità di esportare il database o anche solo una tabella in formati differenti.
sqlite- .output fileoutput.sql
sqlite- .dump
sqlite- .output stdout
In questo modo verrà creato un file con le istruzioni SQL per la creazione delle tabelle, inserimento dati.
Tale file può quindi essere un backup a tutti gli effetti, importabile in un secondo momento come segue:
sqlite- .read fileoutput.sql

SQLite da shell di sistema

La feature più interessante di tutte, a mio avviso, è la possibilità di dare i medesimi comandi non da shell interattiva ma da shell di sistema.
Questo ci da modo di creare degli script di sistema (file.bat in windows, script in linux e MacOS) in maniera estremamente agevole e veloce.
Non mi dilungherò troppo ma mi limiterò a fare tre esempi:
1) Selezione: sqlite3 -header -column prova.db 'select * from Prodotti;'
2) Visionare lo schema: sqlite3 prova.db '.schema'
3) Inserire un record: sqlite3 prova.db 'insert into Prodotti values (NULL, "Giallo", 33.55)
4) Fare il backup: sqlite3 prova.db '.dump' > fileoupt.sql

Conclusioni

SQLite è, senza dubbio, un sistema di database molto interessante; per degli approfondimenti rimando ad un mio precedente articolo: sqlite, libreria sql in 200kb.
Personalmente lo reputo un alleato estremamente potente ed utile nella vita "informatica" di tutti i giorni come memorizzatore di log ma anche come aiuto nella operatività giornaliera.
Ovviamente non va bene se si intende utilizzarlo come sistema multiutente ma saprà donare moltissime soddisfazioni in tutti quei contesti monoutente dove è richiesta rapidità, semplicità d'uso e poco ingombro.