Mi trovavo in gita-mercatini in Austria e, visto che ultimamente ho rispolverato una vecchia macchinetta fotografica digitale, cercavo di migliorare la mia tecnica fotografica. Il problema principale con l’attrezzo, oltre al fatto che non sono capace di fare belle foto, è che lo schermo da 1,5″ non permette di vedere con precisione quello che si è fotografato. Spesso mi capita di scattare ed essere convinto di avere tra le mani una buona foto, salvo poi arrivare a casa, visualizzarla sul pc ed accorgermi che la foto è sfocata, mossa o semplicemente l’inquadratura è sbagliata (e ovviamente non poterci più fare niente).

Lo schermo è troppo piccolo
Nel mio caso di fotografo dilettante, ho pensato, tornerebbe molto utile poter vedere le foto scattate in uno schermo un po’ più grande, chessò, vederle sullo schermo del navigatore satellitare sarebbe già un buon improvement (il primo modello che ho trovato sul web ha uno schermo di 4,3”, certo, dovrei comprarmi un navigatore satellitare, ma questo è un dettaglio) oppure sul televisore in dotazione alla stanza d’albergo. Chiaramente sul televisore mi basterebbe vedere le foto già scattate mentre sul navigatore o su un pda si potrebbe mostrare live quello che la macchinetta sta inquadrando.

Uno schermo un po’ più grande, perché non utilizzarlo?
Credo che lo studio delle interfacce migratorie sia uno di quei campi di ricerca neonati in cui l’unico limite al possibile sia realmente la fantasia; spero altresì che vengano sviluppate applicazioni usabili quanto prima perché ho avuto la possibilità di fare una foto fantastica ad una ciminiera, se solo mi fossi accorto che l’ombra proiettata dalla costruzione non era rientrata nello shot … peccato.
(le foto provengono dai siti ufficiali dei produttori)
]]>I problemi nascono quasi subito, già doversi ricordare 5 o 6 accoppiate “utente+password” può diventare problematico. I motivi sono principalmente due:
Il progetto OpenID si pone come obiettivo proprio il superamento di questo fastidio 2.0. Ecco come funziona in due parole:
Esempietto pratico per meglio capire
Il mio OpenID è questo http://arjuna.myopenid.com/ gentilmente fornito da myopenid.com, se volessi iscrivermi a www.welovelocal.com (non chiedetemi a cosa serva sto sito, l’ho preso a caso dall’elenco dei siti OpenID ready) mi basterebbe andare alla pagina di registrazione ed inserire il mio OpenID (come da figura):

ci penserà poi il sito stesso ad autenticarmi e creare il mio utente. Tutto ciò che mi viene richiesto di fare è verificare o meno la mia identità (immagine seguente):

Quindi, ogni volta che voglio registrarmi ad un sito o servizio, mi basta indicare il solo OpenID, nessuna password o nome utente da scegliere.
Dal punto di vista dell’utente è come utilizzare la stessa password per tutti i siti però, con la sostanziale differenza, che viene memorizzata solamente all’interno degli archivi del fornitore di OpenID. Per questo motivo la vostra futura unica password va consegnata ad un fornitore di fiducia (beh per ora di myopenid.com mi fido).
Utilizzi avanzati e caratteristiche simpatiche
MyOpenID, in Account Settings -> Certificate Settings permette la creazione di certificati SSL da installare nel browser che utilizziamo di solito. Il vantaggio è che chiedendo al sistema (MyOpenID) di autenticarci con il certificato non dobbiamo nemmeno inserire quell’unica volta la password e lo username.
Se non ci piace il nostro OpenID e poi, cavolo, siamo blogger di un certo livello, vogliamo che il nostro URL OpenID sia l’URL del blog, basta aggiungere nell’header dei sorgenti del blog personale il seguente codice:
<link href="http://www.myopenid.com/server" rel="openid.server" /> <link href="http://TUONOME.myopenid.com/" rel="openid.delegate" /> <meta http-equiv="X-XRDS-Location" content="http://TUONOME.myopenid.com/xrds" />
(occhio a sostituire TUONOME con il tuo nome) e d’ora in poi potremo usare l’url del blog come OpenID (io ad esempio uso dat.perdomani.net, se controllate i sorgenti vedrete il codice nell’header).
Puntualizzazioni
OpenID non ha lo scopo di aumentare la sicurezza delle nostre registrazioni (in pratica spesso lo fa, ma non è questo l’obiettivo) e quindi per il nostro on-line banking continueremo ad utilizzare un sistema ad hoc che non utilizza OpenID. Per tutto il resto come blog, forum, chat, sitarelli social e via dicendo invece risparmieremo neuroni, liberi dal doversi ricordare mille password.
Fine.
Attendo conferme, critiche, distinguo e prime impressioni su questa (vabbè diciamo) novità che, speriamo, si diffonda quanto prima.
Approfondimenti:
Sito ufficiale di OpenID – http://www.openid.net/
Il blog italiano – http://blog.openid.it/
Un articolo introduttivo di Nicola D’Agostino – http://www.nicoladagostino.net/ … ntita.html
Use your own URL as an OpenID – http://www.openidenabled.com/op … -as-an-openid
I siti troppo avanti che già implementano OpenID – https://www.myopenid.com/directory
“A step-by-step tutorial guide for implementing OpenID consumer-side support with a web site that already has users with accounts” – http://www.plaxo.com/api/openid_recipe
* nei siti che implementano OpenID spesso viene chiesta qualche informazione aggiuntiva per la creazione del “profilo” utente (data di nascita, nazionalità, …), niente di eccessivo comunque =)
]]>Negli ultimi anni, con il veloce sviluppo e la sempre maggiore diffusione dei dispositivi mobili, sempre più spesso gli sviluppatori si trovano nella condizione di dover testare applicazioni web sviluppate appositamente per questi nuovi device. Non sempre però si dispone degli strumenti necessari, sia per il costo ancora eccessivo dei palmari sia per l’eterogeneità dei sistemi operativi preinstallati sui dispositivi.
Per risolvere parzialmente questi problemi vedremo come installare il browser web di casa Mozilla per dispositivi mobili, nome in codice Minimo (MINIMOzilla), sulla nostra linux box (Slackware 11 installata di fresco).
Il codice che ci serve si trova nel repository CVS di mozilla, in diversi interventi sui vari forum dedicati si consiglia di non utilizzare il trunk ma basarsi sul più stabile branch 1.8. Per fare questo posizionarsi da qualche parte nel filesystem (io ho utilizzato l’utente root per poter operare direttamente da /opt), creare una directory per contenere i sorgenti (mkdir minimo) e posizionarsi al suo interno (cd minimo, a questo punto ci troviamo in /opt/minimo). Di norma non si effettua mai direttamente il checkout dei sorgenti di progetti mozilla ma si utilizza il client.mk che si prende carico di tutte le fasi, per questo scaricheremo inizialmente dal repository soltanto pochi file:
export CVSROOT=':pserver:[email protected]:/cvsroot' cvs co -r MOZILLA_1_8_BRANCH mozilla/client.mk mozilla/minimo/config/
l’output di questi comandi dovrebbe assomigliare a:
U mozilla/client.mk cvs checkout: Updating mozilla/minimo/config U mozilla/minimo/config/Makefile.in U mozilla/minimo/config/linux_package.sh U mozilla/minimo/config/version.txt U mozilla/minimo/config/wince_buildinstaller.sh U mozilla/minimo/config/wince_package.sh cvs checkout: Updating mozilla/minimo/config/mozconfig U mozilla/minimo/config/mozconfig/linux_x86 U mozilla/minimo/config/mozconfig/win32x86 U mozilla/minimo/config/mozconfig/wince_mozconfig cvs checkout: Updating mozilla/minimo/config/wince U mozilla/minimo/config/wince/eula.txt U mozilla/minimo/config/wince/minimo.ico U mozilla/minimo/config/wince/minimo.inf U mozilla/minimo/config/wince/minimo_installer.ini U mozilla/minimo/config/wince/readme.txt
A questo punto possiamo personalizzare i parametri di compilazione:
cp mozilla/minimo/config/mozconfig/linux_x86 mozilla/mozconfig cd mozilla pico -w mozconfig
abilitiamo la modalità debug (di default è disabilitata):
ac_add_options --enable-debug
se si dispone di un processore dual core si può impostare il multithreaded building per velocizzare la compilazione:
mk_add_options MOZ_MAKE_FLAGS=-j3
Il checkuot vero e proprio viene eseguito a questo punto con il comando:
make -f client.mk checkout
e dopo un’attesa più o meno lunga (con un 56k circa 4 ore) avremo i sorgenti pronti per la compilazione.
Per compilare i sorgenti è sufficente eseguire questo comando:
make -f client.mk build_all
ed attendere la fine del processo. Se non si verificano errori avremo il browser minimo pronto all’uso.
Prima di poter eseguire minimo dobbiamo impostare alcune variabili d’ambiente:
export MOZILLA_FIVE_HOME=$(pwd)/dist/bin export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME
ed in seguito, con il comando:
dist/bin/minimo
potremo finalmente eseguire il browser.

Se, come me, avete un solo utente sulla linux box con la necessità di utilizzare minimo potreste valutare di offrire a questo utente maggiori diritti sulla directory /opt/minimo:
chown -R [your user]:users /opt/minimo
e, dopo essersi assicurati che la directory ~/bin esista e sia nel path (eseguire echo $PATH da utente), trovo comodo creare un semplice script bash per settare le variabili d’ambiente ed avviare minimo (come utente normale):
cd ~/bin pico -w minimo
inserire nel file quanto segue:
#!/bin/bash export MOZILLA_FIVE_HOME=/opt/minimo/mozilla/dist/bin; export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME; /opt/minimo/mozilla/dist/bin/minimo
e rendere lo script eseguibile:
chmod 755 minimo
Ora per lanciare minimo dovrebbe bastare eseguire il comando minimo da terminale.
Opera Mini Simulator – This is a live demo of Opera Mini 4 beta that functions exactly like it would when installed on a handset.
Maemo – Maemo provides an open source development platform for Nokia Internet Tablets and other Linux-based devices.
Building Minimo for Linux – Mozilla Official Page
Building Minimo on x86 Linux – MozillaZine Forum
Note: sebbene io abbia utilizzato slackware 11 con kernel 2.6.17.13 è molto probabile che questa guida permetta di installare minimo in tutte le distribuzioni linux recenti.
]]>So I use this basic solution, note that I update drupal using cvs method so I hide also the CVS directories. Put this code in your .htaccess file after RewriteEngine on inside the IfModule mod_rewrite.c section:
RewriteRule ^(.*)CHANGELOG\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)INSTALL\.mysql\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)INSTALL\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)MAINTAINERS\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)CVS$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)CVS/$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)INSTALL\.pgsql\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)LICENSE\.txt$ http://www.perdomani.net [R,L]
RewriteRule ^(.*)UPGRADE\.txt$ http://www.perdomani.net [R,L]
Modify to fix your needs and save the .htaccess file.
F.A.Q.
1 – Why you use tons of rules for every file and not something like ^(.*)\.txt$ ?
Mhh, I really don’t remember, maybe I have some text file I want to be accessible in the site.
2 – Why not just removing that text files?
I think that CVS import them on every update, so you have to remove the files many times.
]]>