Posts tagged google
Google Wallet, il “borsellino” di big G !
0Zitto zitto anche Google ha creato il suo servizio per i piccoli pagamenti elettronici, come l’acquisto sul ex-Market “Google Play” e su Google Books.
Per accedere all’interfaccia di gestione dei proprio acquisti basta andare su https://wallet.google.com ed autenticarsi con le consuete credenziali di Google.
Personalmente lo uso con la mia Prepagata Paypal oppure genero una carta di credito virtuale con limite di credito abbastanza basso, proteggendomi così da eventuali furti.
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Vendo HTC G1 Dream
0*** VENDUTO ***
Vendo il mio cellulare HTC G1 Dream con Android 2.3 (CyanogenMOD) in Italiano. Funziona perfettamente in ogni sua parte e la batteria è praticamente nuova (pochissimi mesi di vita).
Insieme al telefono fornisco la scatola originale, alimentatore da 220v, auricolari…
Richiesta 80€ + eventuale spedizione. Accetto pagamento con PayPal o bonifico bancario.
A disposizione per eventuali domande o altro.
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Autenticazione ‘social’ con Janrain !
2Non è una novità: ogni volta che scopriamo un servizio interessante, eccoci a dover nuovamente cliccare sul bottone “Crea nuovo account“, per poi compilare lunghi form, verificare l’indirizzo email, ricordarsi la password.
Quanto è più comodo poter usare, per l’autenticazione, alcuni dei più famosi social network mondiali ? Beh, se non si tratta di servizi critici, poter chiedere la garanzia di un account ad un attore di terze parti come Google o Facebook è molto comodo: basta password da memorizzare, procedure di recupero da inventare, captcha…
C’è però un problemino: quale terza parte scegliamo di usare ? Beh, non è banale ma prendendo anche solo i 3 maggiori social network:
vediamo che ognuno ha la sua libreria ed i suoi metodi per l’autenticazione attraverso il protocollo OAuth.
A tal proposito ci viene in aiuto Janrain, un comodo servizio -gratuito per i piccoli siti- che funge da meta-autenticatore: sarà Janrain a presentare all’utente il servizio social con cui intende autenticarsi, dopodichè provvederà lui ad inviare al nostro server il token ed altre informazioni utili sull’utente.
Come si implementa sul proprio sito web ?
Innanzitutto si crea un account su Janrain.com e poi si crea una nuova “Applicazione”. A questo punto si decide se si preferisce il widget modale (apre un popup) oppure embedded (si tratta di un <div> da inserire nelle proprie pagine).
Il secondo passaggio, un pò più oneroso in termini di tempo, è la scelta dei providers di autenticazione e la creazione, per ognuno di essi, di una applicazione. Il percorso è guidato ed è comunque molto semplice da realizzare.
Dal lato client, è sufficente inserire il loro snipet javascript nelle pagine web dove l’utente può accedere all’autenticazione. Personalmente ho preferito copiare il codice in un nuovo file:
<script type='text/javascript' src='[path_to_js]/janrain.js'></script>
Importante ricordarsi di cambiare l’URL della pagina per il callback dell’autenticazione:
janrain.settings.tokenUrl = 'http://www.openitaly.net/janrain.php';
A questo punto passiamo alla parte più interessante del processo di single sign-on: la pagina di callback. Sul loro sito ci sono esempi i tutti i linguaggi di programmazione più comuni, compreso il PHP. Io ho preferito fare alcune prove e posso dare qualche informazione in più, con il var_dump di quanto restituiscono i tre provider succitati:
<?php
$rpx_api_key = '[API KEY DELL'APPLICAZIONE SU JANRAIN]'; $engage_pro = false; /* STEP 1: Extract token POST parameter */ $token = $_POST['token']; if(strlen($token) == 40) {//test the length of the token; it should be 40 characters /* STEP 2: Use the token to make the auth_info API call */ $post_data = array('token' => $token, 'apiKey' => $rpx_api_key, 'format' => 'json', 'extended' => 'true'); //Extended is not available to Basic. $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, 'https://rpxnow.com/api/v2/auth_info'); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_FAILONERROR, true); $result = curl_exec($curl); if ($result == false) { $mySession->sendMessage("cURL error: ".curl_error($curl)."(".curl_errno($curl).")",T_ERROR); } curl_close($curl); $authInfoArray = json_decode($result, true); if($authInfoArray['stat'] == 'ok') { $profileArray = $authInfoArray["profile"]; // var_dump($profileArray); $identifier = CleanInput($profileArray["identifier"]); $result = dbQuery("SELECT Username FROM Users WHERE providerId='$identifier';"); if(mysql_num_rows($result) == 1) { $row = mysql_fetch_array($result, MYSQL_ASSOC); $userName = stripslashes($row["Username"]); if($userName) { // Ok, questo utente e' registrato. Autentica la sessione e vai alla sua pagina principale .... } } // Se l'utente non e' presente nel DB, richiedi autenticazione oppure l'iscrizione if($profileArray["providerName"] == "Facebook") { /* FACEBOOK array(10) { ["name"]=> array(3) { ["givenName"]=> string(9) "Openitaly" ["familyName"]=> string(3) "Net" ["formatted"]=> string(13) "Openitaly Net" } ["photo"]=> string(60) "http://graph.facebook.com/100000185893913/picture?type=large" ["address"]=> array(1) { ["formatted"]=> string(12) "Siena, Italy" } ["displayName"]=> string(13) "Openitaly Net" ["preferredUsername"]=> string(12) "OpenitalyNet" ["url"]=> string(33) "http://www.facebook.com/openitaly" ["gender"]=> string(4) "" ["utcOffset"]=> string(5) "01:00" ["providerName"]=> string(8) "Facebook" ["identifier"]=> string(54) "http://www.facebook.com/profile.php?id=[ID]" } */ .... } else if($profileArray["providerName"] == "Twitter") { /* TWITTER array(7) { ["photo"]=> string(74) "http://a3.twimg.com/profile_images/1665796327/logoSquare128x128_normal.png" ["name"]=> array(1) { ["formatted"]=> string(9) "OpenItaly" } ["displayName"]=> string(9) "OpenItaly" ["preferredUsername"]=> string(9) "OpenItaly" ["url"]=> string(28) "http://twitter.com/OpenItaly" ["providerName"]=> string(7) "Twitter" ["identifier"]=> string(51) "http://twitter.com/account/profile?user_id=[ID]" } */ .... } else if($profileArray["providerName"] == "Google") { /* GOOGLE array(9) { ["googleUserId"]=> string(21) "[userId]" ["name"]=> array(3) { ["givenName"]=> string(7) "Michele" ["familyName"]=> string(7) "Pinassi" ["formatted"]=> string(15) "Michele Pinassi" } ["verifiedEmail"]=> string(25) "michele.pinassi@gmail.com" ["displayName"]=> string(15) "michele.pinassi" ["preferredUsername"]=> string(15) "michele.pinassi" ["url"]=> string(53) "https://www.google.com/profiles/[ID]" ["providerName"]=> string(6) "Google" ["identifier"]=> string(53) "https://www.google.com/profiles/[ID]" ["email"]=> string(25) "michele.pinassi@gmail.com" } */ .... } else { // Provider non riconosciuto. Che faccio ? } } else { // Gracefully handle auth_info error. Hook this into your native error handling system. $mySession->sendMessage("Error while signing on: ".$authInfoArray['err']['msg'],T_ERROR); } } else { // Gracefully handle the missing or malformed token. Hook this into your native error handling system. $mySession->sendMessage("Abort received while signing on. Wanna try again ?",T_ERROR); }
Come potete vedere, non tutti i provider restituiscono gli stessi dati. Tuttavia Janrain suggerisce di utilizzare identifier come identificatore univoco dell’utente.
Spero di esservi stato di aiuto e …buona autenticazione !
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Prime impressioni su Google+
0FInalmente ho avuto la possibilità di registrarmi ed accede a Google+, la nuova piattaforma social di Google.
Sinceramente non ne sentivo particolarmente il bisogno ma, stanco di Facebook e di tutte le sue stupide applicazioni, ho deciso di provare questa nuova idea di Google.
Le piattaforme Social rappresentano sicuramente un enorme passo in avanti nella fruibilità del web: se usate correttamente, offrono opportunità incredibili per il lavoro di gruppo, prendere decisioni e condividere informazioni.
Facebook rappresenta sicuramente il principe delle piattaforme social ma Google ha dalla sua un vantaggio: il motore di ricerca. Banalmente, son rimasto sopreso ed inorridito dal fatto che automaticamente Google+ ha incorporato il feed del mio sito web zerozone.it nel profilo.
Sorpreso perchè Google riesce veramente a far interoperare tutti i suoi strumenti. Inorridito perchè…la privacy ? Si, è vero che la privacy su Internet è una chimera a cui ancora pochi credono. Nascondersi dietro un nick non salva e neppure usare GPG per qualunque comunicazione: chi utilizza il web pesantemente non ha escamotages per difendere la propria privacy ! Il trucco è essere sempre CONSAPEVOLI di ciò che si vuole condividere e ciò che non si vuole, ponendo sempre molta attenzione a tutti i post e commenti che -spesso troppo ingenuamente- si scrivono nel box “a cosa stai pensando ?”.
Comunque, tornando a Google+, ho innanzitutto apprezzato la pulizia dell’interfaccia: niente fronzoli inutili, interfaccia spartana, chiara ed intuitiva. Certo, ricorda molto Facebook ed era inevitabile: il gigante di Mountain View ha sicuramente preso ispirazione dal popolarissimo social network ! Ricordiamo comunque che questa è già la seconda esperienza “social” di Google: la prima, Orkut, fallì miseramente diventando in breve un ricettacolo di prostitute e trans brasiliani…
Le funzionalità innovative che ho già avuto modo di apprezzare sono Sparks, le cerchie e Hangouts:
Le cerchie (speriamo che trovino presto un sinonimo più grazioso !) rappresentano un interessante tentativo di selezionare puntualmente il target dei propri post, definendo in maniera capillare chi appartiene a cosa. Ad esempio nella cerchia Familiari si può aggiungere solo la propria famiglia, poi la cerchia Amici, quella Compagni di squadra, etc etc etc…ed ovviamente seguire i relativi streams.
Sparks invece è una specie di Google News integrato nell’interfaccia, permettendo di avere sempre sott’occhio le notizie che ci interessano di più.
Interessantissime le possibilità introdotte da Hangouts: chat vocale e video con gli utenti di una (o più) cerchia utilizzando la propria webcam ! Probabilmente rappresenta un tentativo interessante per arginare il monopolio Skype, implementando il software direttamente nel browser attraverso un plugin (da scaricare a parte) compatibile con Windows e con Linux (…yes ! In formato .deb a 32 e 64 bit).
Quest’ultima applicazione è sicuramente molto utile per lavorare in team, offrendo velocemente la possibilità di creare conferenze audio/video con i propri colleghi di lavoro.
Concludendo, tra i punti sicuramente a favore di Google+ vi è, almeno per ora, l’assenza di tutte quelle stupide applicazioni (FarmVille, Zoosk!….) che continuamente intasano le pagine di Facebook. Se manterranno questa linea, probabilmente Google+ si affermerà come il social network serio, lasciando su Facebook quell’ampia fetta di utenti che non ha la necessità di un uso professionale del web. Del resto la necessità di una simile risorsa era già stata captata da LinkedIN, che ultimamente aveva fatto un grande sforzo per implementare funzionalità social che però, a mio parere, mal si addicono ad un network di quel genere: meglio lasciarlo fare a Google+.
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Analisi dati In-Page
0Google Analytics ci stupisce ancora, con una fantastica funzionalità chiamata “Analisi dati In-Page“, ancora in beta.
Dal vostro account di Analytics -> Contenuti, avete questa nuova voce di menu che vi permette, in maniera molto chiara ed intuitiva (anche se ci sono ancora alcune difficoltà con dei siti web particolarmente ingarbugliati) dove e quanto gli utenti cliccano sulle vostre pagine.
Sapete bene quanto sia importante strutturare le pagine web in modo da rendere chiaro e self-evident quali sono gli elementi che è possibile cliccare (i link). Steve Krug, nel suo libro “Don’t make me think”, esemplifica il concetto:
L’analisi In-Page ci permette di capire bene quali possono essere le difficoltà di un utente che approda sulle nostre pagine web. Ecco un esempio di come viene visualizzata la schermata di analisi (screenshot tratto dal sito web del Progetto GNUnisi):
Ovviamente l’analisi non è solamente riferita ai click ma anche a tutta una nutrita serie di altri parametri, tra cui il ricavo economico tramite AdSense (se l’avete configurato), le frequenze di rimbalzo, di ritorno, la lingua dei visitatori etc etc etc…
Google finirà mai di stupirci ?
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.
Slackware 13: OpenOffice 3.1.1, Digikam, Inkscape, Tora e Google Gadgets !
4Sapete già che sono passato a Slack 13. Mi sono trovato, però a dover aggiungere i miei programmi preferiti e siccome ho avuto qualche difficoltà nel compilarli ed usarli, ecco qualche dritta per risparmiarvi il tempo che ho già sprecato io.
OpenOffice 3.1.1
La soluzione più facile, veloce e pratica è usare SlackBuild. Da una consolle seguite questi semplici passaggi:
wget -c http://slackbuilds.org/slackbuilds/13.0/office/openoffice.org.tar.gz
tar -xzf openoffice.org.tar.gz
cd openoffice.org
wget -c http://ooo.mirror.garr.it/mirrors/openoffice/localized/it/3.1.1/OOo_3.1.1_LinuxIntel_install_it.tar.gz
OOLANG=it OUTPUT=/tmp ./openoffice.org.SlackBuild
upgradepkg –install-new openoffice.org-3.1.1_it-i586-1_SBo.tgz
Digikam
Prima di tutto installiamo i kipi-plugins assicurandosi che l’installazione avvenga in /usr e non in /usr/local. Personalmente ho modificato il file CMakeCache.txt ed ho cercato “local”, trovando la linea che definisce il path di installazione. Stessa cosa per Digikam: se non installate il tutto in /usr il programma parte ma non riuscuirete a visualizzare nessuna immagine !
Inkscape
Questo splendido programma per la grafica vettotriale richiede alcune librerie del progetto gnome. Queste librerie richiedono dipendenze “strane” percui, per evitarmi decine di esperimenti sulle svariate combinazioni (che ho provato) ecco quello che dovete scaricate, configurare e compilare:
Tora
Se dovete lavorare con i database (MySQL, Oracle, Postgres) Tora è una delle interfacce free più complete che esistono. Nasce come clone libero di Toad (della Quest) e la compilazione, anche se non richiede particolari accorgimenti, può essere problematica. Iniziamo scaricando il client InstantClient 10.2.0.4:
InstantClient 10.2.0.4 SQL*Plus
scompattiamo il tutto dentro /usr/lib/oracle/10.2.0.4. Adesso dobbiamo prendere QScintilla2:
e lo compiliamo seguendo le istruzioni:
cd Qt4
qmake qscintilla.pro
make
make install
Poi passiamo a Tora, scaricando i sorgenti dell’ultima stabile (2.1.1):
e configuriamolo:
./configure –with-oracle-libraries=/usr/lib/oracle/10.2.0.4/ –with-oci-version=10.2.0.4.0 –with-qt-includes=/usr/lib/qt/include/ –with-qscintilla-libraries=/usr/lib/qt/lib/
prima di make dobbiamo scommentare una riga nel file src/otl/otlv4.h, altrimenti otterremo errori di compilazione:
// Uncomment the following line in order to include the OTL for
// Oracle 10g Release 2:
//#define OTL_ORA10G_R2 // Togliere il commento a QUESTA RIGA !
dopodichè procediamo alla classica compilazione con:
make
make install
Google Gadgets
Ebbene si, potete avere i fantastici Google Gadgets sul Vs desktop Plasma ! Iniziamo scaricando il pacchetto dei sorgenti:
google-gadgets-for-linux-0.11.1.tar.bz2
poi scompattate il pacchetto, configurate,compilate ed installate:
./configure –prefix=/usr –disable-werror –with-browser-plugins-dir=/usr/lib/xulrunner-addons/plugins
make
make install
Poi lanciate, premendo F2, il comando ggl-qt e….buon divertimento !!!
Nella speranza di esservi stato di aiuto, vi auguro buona fortuna !!!
P.S. NON inviatemi mail se avete bisogno di aiuto: non risponderò a messaggi privati ! Lasciate un commento su questo post, in modo che l’aiuto che potrò darvi sia di beneficio per tutta la comunità. Grazie.
About Michele Pinassi
Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena. Utilizza quasi esclusivamente software libero. Dal 2006 si occupa di politica locale come attivista nel Movimento Siena 5 Stelle.






Commenti recenti