<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-420466040951386274</id><updated>2011-12-16T03:54:03.641+01:00</updated><category term='mobile'/><category term='future'/><category term='contest'/><category term='KDE'/><category term='esperienze'/><category term='itsme'/><category term='distributed'/><category term='tools'/><category term='packagemanagement'/><category term='news'/><category term='web'/><category term='domotics'/><category term='HCI'/><category term='tablet'/><category term='development'/><category term='synapse'/><category term='FOSDEM'/><category term='UI'/><category term='events'/><category term='social'/><category term='Gnome'/><category term='networking'/><category term='OT'/><category term='inutility'/><category term='informazione'/><category term='android'/><category term='devices'/><category term='RSS'/><category term='Firefox'/><category term='integration'/><category term='windowmanagement'/><category term='filesystem'/><category term='lobotomy'/><category term='influenze'/><category term='GTK+'/><category term='Hyppocampus'/><category term='Tracker'/><category term='parallel'/><category term='SubConsciousDaemon'/><category term='accessibilità'/><category term='nepomuk'/><category term='semantics'/><category term='code'/><category term='GASdotto'/><category term='kiazma'/><category term='touch'/><category term='readings'/><category term='xesam'/><title type='text'>Lobotomy Project Developers' Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default?start-index=101&amp;max-results=100'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>205</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2926168370769626702</id><published>2011-08-03T18:20:00.003+02:00</published><updated>2011-08-03T19:22:05.023+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Tab Groups</title><content type='html'>L'altro giorno, seguendo un filo logico partito dalla visione degli &lt;a href="http://people.mozilla.com/%7Eshorlander/ux-presentation/ux-presentation.html"&gt;ennesimi presunti mockups&lt;/a&gt; per le future versioni di &lt;a href="http://www.mozilla.com/it/firefox/"&gt;Firefox&lt;/a&gt; (cui pero' credo poco: cose del genere sono in giro gia' da tempo, e mai sono state implementate nella release mainstream), ho riaperto e riesaminato il ben noto browser targato &lt;a href="http://www.mozilla.com/"&gt;Mozilla&lt;/a&gt;. L'ho sempre tenuto installato, e &lt;a href="http://wiki.debian.org/Apt"&gt;apt&lt;/a&gt; ha sempre provveduto ad aggiornarlo insieme al resto dei pacchetti della mia &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;, ma gia' da un pezzo ero passato a &lt;a href="http://www.chromium.org/"&gt;Chromium&lt;/a&gt; dunque non mi ero piu' curato della sua evoluzione e dei suoi progressi.&lt;br /&gt;Quando l'ho avviato ho notato la sua rapidita', sia nelle fasi di caricamento che di rendering delle pagine, ma essendo gia' abituato al browser di Google non mi sono lasciato impressionare piu' di tanto. Ho apprezzato, ma nulla di piu'. Ho fatto un giretto tra le opzioni di configurazione, ho scoperto che la barra dei menu puo' essere ridotta ad un pulsantino anziche' alla solita inutile striscia che spreca spazio verticale, e... Ho trovato, in alto a destra, una &lt;a href="https://static-cdn.addons.mozilla.net/en-US/firefox/images/addon_icon/321735-64.png?modified=1307996438"&gt;inspiegabile icona&lt;/a&gt;. L'ho cliccata, e mi si e' aperto un mondo.&lt;br /&gt;Gia' avevo &lt;a href="http://www.azarask.in/blog/post/designing-tab-candy/"&gt;letto qualcosa&lt;/a&gt; in merito alla funzione di &lt;a href="http://support.mozilla.com/en-US/kb/what-are-tab-groups"&gt;"Tab Groups"&lt;/a&gt;, ma mi era sfuggita l'informazione che e' stata inclusa in Firefox gia' dalla versione 4. O forse avevo ignorato tale dettaglio, avendo deciso di metterci una pietra sopra. Sta di fatto che venti minuti di esplorazione mi sono bastati a ri-migrare nuovamente da Chromium.&lt;br /&gt;"Tab Groups" e', in breve, un metodo per aggregare le tabs aperte. Si clicca la famigerata iconcina e si apre uno spazio in cui si possono editare i propri gruppi, crearne di nuovi, spostare le tab da una parte all'altra ed altre operazioni essenziali. Si clicca su una delle tab aperte e si ritorna alla modalita' classica, ma in alto appaiono solo le linguette appartenenti a quello stesso gruppo. Detto cosi' pare semplicistico, ma dopo pochi giorni di utilizzo posso dichiarare che mi ha cambiato la vita.&lt;br /&gt;Un po' per pigrizia, un po' per comodita', sono solito tenere sempre almeno 30 tab aperte. Alcune sono per le amenita' social (&lt;a href="https://www.facebook.com/"&gt;Facebook&lt;/a&gt; e &lt;a href="https://plus.google.com/"&gt;Google+&lt;/a&gt; in primis), alcuni sono articoli rintracciati sui feed RSS, troppo lunghi per essere letti subito e dunque tenuti da parte per i momenti di calma (qualcuno potra' dire: "Usa &lt;a href="http://readitlaterlist.com/"&gt;Read-It-Later&lt;/a&gt;!". Ci ho provato, finivo con l'accumulare dozzine di links ma non avendoli sempre sotto agli occhi me ne dimenticavo e non li riprendevo piu'), altre sono tabs di servizio in cui tengo permanentemente alcuni dei wiki e degli strumenti che uso per appuntarmi le cose che raccatto in giro. Si puo' immaginare quanto sia scarsamente efficiente tale comportamento in un contesto normale. Appena scoperto Tab Groups ho subito creato i miei gruppi: "Da Leggere", "Da Bloggare", "Appunti", "Social"... E ora non ho piu' di cinque/sei tab alla volta davanti, riesco a leggerci sopra i titoli delle pagine (e a identificare al volo quello che serve), non sono continuamente tentato di andare a consultare Facebook (che sta in un gruppo separato, dunque devo recuperarlo volontariamente e coscientemente) ma al contempo ogni volta che entro nella modalita' di navigazione dei gruppi inevitabilmente scorgo la lista di cose da leggere e noto se sta crescendo troppo e richiede attenzione.&lt;br /&gt;Decisamente, consiglio a tutti i disordinati come me di valutare l'uso intensivo di codesta funzionalita'. Non aiutera' forse a ridurre la quantita' di ciarpame web che vi ostinate a lasciare in giro e a consultare, ma almeno servira' a tenerlo separato dalle cose piu' utili.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2926168370769626702?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2926168370769626702/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2926168370769626702' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2926168370769626702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2926168370769626702'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/08/tab-groups.html' title='Tab Groups'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4801634640118707349</id><published>2011-07-10T19:38:00.003+02:00</published><updated>2011-07-10T21:34:39.372+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Social Cloud</title><content type='html'>Come in diversi altri casi passati, scrivo questo post piu' per avere un appunto personale reperibile in futuro che per condividere una idea fatta e finita: per ora si tratta solo di una meditazione, non approfondita e non documentata (e dunque potenzialmente fallace), ma chissa' che non sfoci in un (ennesimo!) progetto da sviscerare.&lt;br /&gt;Tutto e' nato dalla combinazione di diversi fattori: il mio recentissimo &lt;a href="http://identi.ca/notice/78438054"&gt;ingresso&lt;/a&gt; in &lt;a href="https://plus.google.com/"&gt;Google+&lt;/a&gt;, la mia occasionale lettura della &lt;a href="http://freedomboxfoundation.org/discuss/"&gt;mailing list&lt;/a&gt; degli sviluppatori presso la &lt;a href="http://freedomboxfoundation.org/"&gt;Freedom Box Foundation&lt;/a&gt;, e una mezza chiaccherata in chat con &lt;a href="http://grigio.org/"&gt;un amico&lt;/a&gt;.&lt;br /&gt;Sul primo non c'e' molto da dire, bene o male e' sempre la solita frittata: si condividono le foto, lo status e commenti di ogni tipo e genere, si leggono quelli degli altri, ma il progetto non porta nulla di nuovo sul fronte dell'innovazione. Sulla seconda ci sarebbe molto piu' da riferire, ma riassumo in una semplice frase: una congrega di nerd che si fanno pippe cosmiche sulla privacy e sulla crittografia senza riuscire ad individuare i reali problemi, le reali esigenze e le reali soluzioni. Fino a qui, il punto e': sulle tecnologie "social" esiste il totale monopolio delle grandi corporation, le quali per contratto posseggono tutto quello che gli utenti pubblicano e fanno a gara per rendersi incompatibili le une con le altre ostacolando cosi' di fatto l'esplosione delle reali potenzialita' del concetto, mentre i presunti difensori delle liberta' digitali sono del tutto incapaci di fornire alternative sia perche' perdono tempo ad inveire sia perche' oggettivamente riscrivere l'intero stack di software libero orientato al web per venire incontro alle nuove prospettive non e' cosa semplice o banale.&lt;br /&gt;Veniamo dunque al sodo.&lt;br /&gt;La menzionata chiaccherata di ieri sera verteva sulla dispersivita' dei materiali che transitano sui social network, in quanto ognuno scrive ogni cosa ed e' difficile estrarre dal flusso costante di caotiche informazioni qualcosa di specifico. Ironicamente ho consigliato all'amico di lasciar perdere i social e procurarsi un &lt;a href="http://it.wikipedia.org/wiki/Really_simple_syndication#Aggregatore_di_notizie"&gt;aggregatore di feed RSS&lt;/a&gt; con cui seguire i blog tematici che trovava, e all'osservazione che i feed RSS non sono interattivi (un post non puo' essere commentato direttamente dal feed reader, ne' tantomeno essere "like"ato) ho replicato che esiste gia' &lt;a href="http://www.w3schools.com/rss/rss_tag_comments.asp"&gt;una estensione RSS&lt;/a&gt; che permette di integrare i commenti. Ma, effettivamente, solo in lettura.&lt;br /&gt;Alche', sorge spontanea la domanda: e se i feed RSS fossero commentabili? Cioe': se esistesse una API standard, estremamente banalizzata, che permetta di spedire un commento o una nota ad un hook indicato nel feed senza necessariamente accedere al blog/sito da cui e' stato prelevato, permettendo l'integrazione esterna dell'intero processo di comunicazione? In un colpo solo si riprodurrebbe una delle funzionalita' essenziali dei social network, ovvero la pubblicazione di testi, la loro aggregazione e la possibilita' di rispondere, ma al di fuori dei social network, percui ognuno potrebbe pubblicare usando Wordpress (su &lt;a href="http://wordpress.com/"&gt;wordpress.com&lt;/a&gt; o &lt;a href="http://wordpress.org/"&gt;hostato privatamente&lt;/a&gt;), o &lt;a href="http://identi.ca/"&gt;identi.ca&lt;/a&gt; (idem), o qualsiasi altra cosa che generi un RSS. E ci vorrebbe poco ad estendere la stessa nozione a foto (&lt;a href="http://gallery.menalto.com/"&gt;Gallery&lt;/a&gt;, &lt;a href="http://mediagoblin.org/"&gt;Mediagoblin&lt;/a&gt;...), links (&lt;a href="http://sourceforge.net/projects/scuttle/"&gt;scuttle&lt;/a&gt;), e ogni altro genere di contenuto tipato per cui esista una piattaforma web in grado di distribuire.&lt;br /&gt;Come fare a "farsi amica" una persona? La si cerca con &lt;a href="http://code.google.com/p/webfinger/"&gt;WebFinger&lt;/a&gt; o si importa un file &lt;a href="http://www.foaf-project.org/"&gt;FOAF&lt;/a&gt; o &lt;a href="http://microformats.org/wiki/hcard"&gt;hCard&lt;/a&gt; contenente l'insieme di feeds RSS che indicizzano i suoi contenuti. Come fare a seguire i contenuti generati da tale persona? Con un qualsiasi feed reader (desktop o web) arricchito con il supporto all'ipotetica nuova estensione per la scrittura dei commenti.&lt;br /&gt;In un certo qual modo le Web Activities &lt;a href="http://mozillalabs.com/blog/2011/07/web-apps-update-experiments-in-web-activities-app-discovery/"&gt;promosse recentemente&lt;/a&gt; da &lt;a href="http://www.mozilla.org/"&gt;Mozilla&lt;/a&gt; (ed ancora in fase ultra-sperimentale) vanno in questa direzione, proponendo uno strato operativo all'interno del browser che permetta di integrare servizi web diversi cercando il minimo comun denominatore delle rispettive API ed &lt;a href="http://techcrunch.com/2011/07/08/mozilla-labs-launches-web-activities-experiment-lets-web-apps-talk-to-each-other/"&gt;incrociandole tra loro&lt;/a&gt;, ma il succo resta lo stesso: che esista un protocollo standard o un "dispatcher" estendibile per mezzo di plugins, l'obiettivo resta sempre quello di mettere insieme i vari componenti che compongono il web. Costituendo quella che potrebbe essere definita (molto fuffosamente...) "social cloud": una galassia di applicativi separati ed indipendenti tra loro, sparpagliati sull'Internet, che convettano dati ed opinioni senza alcuna forma di centralizzazione.&lt;br /&gt;Gia' &lt;a href="http://madbob.wordpress.com/2011/03/06/nella-rete/"&gt;lo dissi&lt;/a&gt;, e qui lo ripeto: il segreto del successo non sta nel re-implementare daccapo Facebook (o Google+ che dir si voglia), ma nell'utilizzare in modo sensato e ponderato quel che gia' esiste.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4801634640118707349?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4801634640118707349/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4801634640118707349' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4801634640118707349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4801634640118707349'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/07/social-cloud.html' title='Social Cloud'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7947023826022390497</id><published>2011-06-04T01:49:00.004+02:00</published><updated>2011-06-06T12:30:00.389+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windowmanagement'/><category scheme='http://www.blogger.com/atom/ns#' term='accessibilità'/><category scheme='http://www.blogger.com/atom/ns#' term='esperienze'/><title type='text'>La Sindrome di Teodoro</title><content type='html'>&lt;div&gt;Qualche tempo addietro &lt;a href="http://lobotomy-dev.blogspot.com/2010/10/la-prova.html"&gt;ho gia' citato&lt;/a&gt; su &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo blog&lt;/a&gt; la mia esperienza con un anziano signore che ho avuto modo di assistere presso un &lt;a href="http://informaticalibera.info/corso-di-alfabetizzazione-20102011.html"&gt;corso di alfabetizzazione informatica&lt;/a&gt;. A distanza di mesi posso dire che il personaggio in questione pur non essendo diventato un sysadmin ha comunque acquisito una modesta dimestichezza col PC, tanto da passare le giornate a compilare fogli di calcolo su &lt;a href="http://www.openoffice.org/product/calc.html"&gt;OpenOffice Calc&lt;/a&gt; per generare coloratissimi quanto inutili (ma evidentemente soddisfacenti) grafici. Mai piu' avrei creduto che, dati i forti limiti dimostrati all'inizio del corso (ed appunto elencati nel mio precedente post) e la distanza intellettuale tra la macchina da scrivere cui era abituato ed un computer moderno, sarebbe arrivato al punto cui e' arrivato, ma tant'e': tanto di cappello al signor Teodoro.&lt;/div&gt;&lt;div&gt;Ad ogni modo: questo articolo non parla di lui ma di me.&lt;/div&gt;&lt;div&gt;Da un po' ho acquistato un nuovo PC (anzi due, l'altro e' l'&lt;a href="http://abacocomputers.com/"&gt;Abaco&lt;/a&gt; di cui ho &lt;a href="http://lobotomy-dev.blogspot.com/2011/04/in-punta-di-pennino.html"&gt;gia' parlato&lt;/a&gt;), un desktop, e l'ho dotato di due monitor da 19 pollici in modo da sperimentare questa per me inedita' modalita' operativa e verificare se davvero impatta sulla produttivita'. La risposta e' "si", ma non e' neanche questo il tema del giorno.&lt;/div&gt;&lt;div&gt;Il punto e' che la presenza di due schermi ha fatto emergere una confusione inconscia dettata dall'abitudine: ci sono spesso due finestre a tutto schermo, ma il focus e' sempre uno solo. Mi spiego meglio: da sempre lavoro con le finestre massimizzate sul desktop, e switcho da una all'altra con la classica combinazione Alt+Tab. Ben rari sono i casi in cui tengo una finestra fluttuante sul monitor, un po' per non essere distratto da quelle sotto e un po' appunto per abitudine: come &lt;a href="http://lobotomy-dev.blogspot.com/2011/03/minimi-termini.html"&gt;detto&lt;/a&gt; in passato, quando mi capita di aprire una nuova applicazione e vedere la finestra non massimizzata subito premo Alt+F10 per ingrandirla. Questo pero' implica che il mio cervello e' portato a pensare che la finestra che sto guardando e' anche quella che riceve gli input da tastiera, ovvero che ha il focus, ma questo non e' piu' vero nel momento in cui appunto ci sono due schermi con due diversi programmi aperti: il focus, o sta a destra o sta a sinistra.&lt;/div&gt;&lt;div&gt;Per quanto scontata sia questa considerazione, mai va sottovalutato il potere dell'abitudine.&lt;/div&gt;&lt;div&gt;A tutt'oggi, ovvero dopo un paio di mesi di utilizzo quotidiano del doppio monitor, ancora mi trovo ad essere afflitto dalla "Sindrome di Teodoro": se guardo una finestra sono convinto di poterci interagire direttamente, dimenticando di spostare il focus. Esattamente come succedeva al signore cui ho insegnato i rudimenti dell'informatica moderna, anche io mi trovo adesso nella sua condizione: sono portato a scrivere nelle caselle di testo semplicemente dopo averle individuate e guardate sullo schermo. Nel suo caso tale impostazione mentale era probabilmente dovuta all'abitudine alla carta e alla penna, in cui effettivamente la sequenza "trova il punto in cui scrivere / sposta la mano con la penna li' sopra / scrivi" e' un continuum omogeneo che si svolge usando un unico strumento (la penna) che funge sia da dispositivo di puntamento che di input, mentre come detto nel mio caso l'errore e' dettato dall'inclinazione al fatto di avere sempre e solo una finestra con cui interfacciarsi.&lt;/div&gt;&lt;div&gt;Da qualche giorno ho pertanto abilitato l'opzione "Select windows when the mouse moves over them" nel &lt;a href="http://library.gnome.org/users/user-guide/stable/prefs-windows.html.en"&gt;pannello di configurazione per le finestre&lt;/a&gt; di &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt;, e la situazione e' un pochino migliorata: muovere il cursore, e dunque il focus, da un monitor all'altro mi riesce in modo abbastanza naturale, dunque non devo stare troppo a pensarci e piu' raramente mi capita di pigiare i tasti giusti per la finestra sbagliata.&lt;/div&gt;&lt;div&gt;Dopo 10 anni di esperienza nell'uso del PC, e' incredibile constatare l'impatto distruttivo che comporta una piccola variazione nel proprio ambiente di lavoro...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7947023826022390497?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7947023826022390497/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7947023826022390497' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7947023826022390497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7947023826022390497'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/06/la-sindrome-di-teodoro.html' title='La Sindrome di Teodoro'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3462837422745790642</id><published>2011-04-03T17:56:00.006+02:00</published><updated>2011-04-09T23:14:01.756+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='touch'/><category scheme='http://www.blogger.com/atom/ns#' term='tablet'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>In Punta di Pennino</title><content type='html'>Anni fa' - oramai ne saranno passati almeno sei - acquistai il mio primo portatile. Ed era un &lt;a href="http://en.wikipedia.org/wiki/Tablet_computer#Convertible"&gt;convertibile tablet&lt;/a&gt;. Piu' precisamente, un &lt;a href="http://images.google.it/images?hl=it&amp;amp;source=hp&amp;amp;q=acer%20c310&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;tab=wi&amp;amp;biw=1024&amp;amp;bih=406"&gt;Acer C310&lt;/a&gt;. Ai fatti l'ho sempre usato molto poco in modalita' tablet, in quanto pesava troppo per essere davvero utilizzato a mo' di "blocco note" su cui scrivere a mano o anche solo come lettore di e-books, ma ha passivamente ispirato una gran quantita' di idee che sono poi finite in quel calderone pseudo-intellettuale che e' il &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy Project&lt;/a&gt;.&lt;br /&gt;Adesso ho acquistato il mio primo netbook. E non poteva che essere a sua volta un convertibile tablet.&lt;br /&gt;L'altro giorno ho aperto la scatola dell'&lt;a href="http://www.abacocomputers.com/Netbook/T102-Pro-Blue.html"&gt;Abaco T102&lt;/a&gt; che ho ordinato un paio di settimane fa', ed ho avuto modo di fare una prima analisi. Che adesso riporto al mondo, usando questo stesso PC.&lt;br /&gt;Innanzitutto, qualche presupposto. Benche' marchiato "Abaco", trattasi questo del leggendario &lt;a href="http://www.classmatepc.com/"&gt;Intel Classmate&lt;/a&gt; (di cui, a quanto mi risulta, Abaco e' l'unico rivenditore italiano), ovvero la risposta del mercato all'ancor piu' leggendario &lt;a href="http://one.laptop.org/"&gt;progetto OLPC&lt;/a&gt; di &lt;a href="http://it.wikipedia.org/wiki/Nicholas_Negroponte"&gt;Nicholas Negroponte&lt;/a&gt;. Quello del &lt;a href="http://punto-informatico.it/1067277/Hardware/News/pc-100-dollari-by-negroponte.aspx"&gt;PC a 100 dollari&lt;/a&gt;, per capirsi. Che incidentalmente si e' schiantato nel momento in cui Microsoft ci ha messo &lt;a href="http://news.cnet.com/8301-13860_3-9945438-56.html"&gt;lo zampino&lt;/a&gt;, ma sorvoliamo sulle facili polemiche. Sta di fatto che questo prodotto non e' un netbook qualsiasi, ma un computer pensato e progettato per essere usato dai bambini a scuola. A prima vista esso sembra un giocattolo particolarmente sofisticato, l'ultima versione del &lt;a href="http://www.clementoni.it/main.php?liv1=brands&amp;amp;liv2=sapientino"&gt;Sapientino Clementoni&lt;/a&gt;, ma dopo un po' ci si capacita che il colore azzurro dell'apparecchio e' dovuto al guscio di spessa plastica anti-scivolo applicata intorno al case ed al monitor per proteggere i componenti piu' delicati dagli urti che facilmente i poco curanti pargoli (e/o i distratti nerd) possono provocare. Partire da queste nozioni, ovvero aspettarsi a priori che aprendo la scatola ci si trovera' dinnanzi ad un apparentemente assai poco affidabile arnese, e' condizione imprescindibile per godersi da subito il proprio acquisto.&lt;br /&gt;&lt;div&gt;L'apparecchio ha un peso superiore agli altri netbook con analoghe specifiche video (schermo da 10 pollici widescreen), e la differenza e' probabilmente imputabile appunto alla protezione di plastica supplementare. A occhio pare che lo spazio non sia stato ottimizzato al meglio, e ad esempio sul retro sporge un pezzo (quello cui e' attaccato la simpatica maniglia di gomma) che sembra del tutto inutile ai fini della funzionalita' elettronica. C'e' una sola presa d'aria, sul lato destro, e sotto oltre alla batteria estraibile c'e' un unico pannello incastrato che copre la componentistica.&lt;/div&gt;&lt;div&gt;La qualita' costruttiva e', nel complesso, abbastanza mediocre. Il gia' citato guscio non sembra essere particolarmente rifinito o accuratamente applicato, in alcuni angoli sembra non aderire perfettamente al case (nel mio caso: i due lembi che circondano la webcam ruotabile posta in testa al monitor sono asimmetrici, hanno un dislivello di un paio di millimetri). Ed i simboli sulla tastiera sembrano essere appiccicati in modo grezzo, molti non sono perfettamente centrati e quasi tutti i caratteri non alfanumerici ('@', '*'...) sono veramente piccoli, a malapena leggibili.&lt;/div&gt;&lt;div&gt;Sempre in merito alla tastiera, ci sono luci ed ombre. In linea di massima ci si scrive molto bene, sicuramente meglio che con altri netbook che ho provato (il ben noto &lt;a href="http://en.wikipedia.org/wiki/Asus_Eee_PC"&gt;Asus EeePC&lt;/a&gt;, ad esempio), eppure alcuni tasti (in particolare il tasto 'Fn' di destra) non sono particolarmente sensibili e piu' volte capita di dover ripetere compulsivamente la loro pressione per ottenere il risultato desiderato.&lt;/div&gt;&lt;div&gt;Anche la configurazione "out-of-the-box" della macchina lascia un po' perplessi. Benche' il monitor ruoti correttamente e abbastanza rapidamente (ma qualche volta nella direzione sbagliata...) quando l'apparecchio viene girato o posto in modalita' slate, purtroppo basta entrare ed uscire dalla sospensione del sistema per non far piu' funzionare i tasti funzione posti attorno allo schermo (pagina su, pagina giu', home e fotografia) e neppure la rotazione automatica. La sospensione, si sa, e' da sempre una croce in ambiente Linux, ma ci si aspettava una maggiore cura nella prevenzione di questa problematica.&lt;/div&gt;&lt;div&gt;Lo schermo e' widescreen, e la risoluzione massima bassina: appena 1024x600. Certo una risoluzione piu' alta su 10 pollici renderebbe il tutto troppo picccolo ed illeggibile, ma occorre smanettare un po' per proprio conto per correggere la configurazione del desktop e recuperare un po' di spazio fra i pannelli di Gnome e visualizzare i propri contenuti.&lt;/div&gt;&lt;div&gt;Il touchscreen, essendo resistivo, non ha una grandissima precisione e va un po' calcato, ma in compenso puo' essere usato anche con le dita e non solo col pennino. Certo non basta pigiare col polpastrello, come su uno smartphone, bensi' con la punta del dito o addirittura con l'unghia, ma ammetto di averlo gia' maltrattato un pochino ed il monitor non sembra risentirne o essere incline a graffiarsi tanto facilmente.&lt;/div&gt;&lt;div&gt;La batteria dura un po' piu' di 4 ore con il wireless acceso e senza sforzarlo troppo, dovrei fare qualche analisi piu' approfondita ma in linea di massima mi sembra una durata accettabile.&lt;/div&gt;&lt;div&gt;In conclusione: l'Abaco T102 non e' un prodotto entusiasmante, e la perfezione e' tutt'altra cosa, ma trovandosi in una nicchia di mercato ove le opzioni disponibili sono estremamente limitate fa la sua porca figura. 400 euri per un netbook convertibile tablet fruibile come blocco note o e-book reader (dotandosi di qualche &lt;a href="http://calibre-ebook.com/"&gt;applicazione specializzata&lt;/a&gt;: leggere un PDF li' sopra rasenta l'impossibile...) e' un discreto compromesso, consigliabile per chi non ha grandi pretese e vuol provare qualcosa di inedito senza necessariamente incastrarsi sulle limitazioni di un tablet "puro" (senza tastiera QWERTY) o vendersi un rene per un &lt;a href="http://store.shopfujitsu.com/fpc/Ecommerce/buildseriesbean.do?series=T580"&gt;Fujitsu Lifebook&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3462837422745790642?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3462837422745790642/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3462837422745790642' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3462837422745790642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3462837422745790642'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/04/in-punta-di-pennino.html' title='In Punta di Pennino'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8765735334825182473</id><published>2011-03-14T02:33:00.006+01:00</published><updated>2011-03-19T01:22:20.077+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibilità'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Minimi Termini</title><content type='html'>Grandi dibattiti ha generato sulla blogosfera &lt;a href="http://mail.gnome.org/archives/gnome-shell-list/2011-February/msg00192.html"&gt;la decisione&lt;/a&gt;, presa abbastanza all'ultimo momento, di rimuovere i tasti per massimizzare e minimizzare le finestre in &lt;a href="http://live.gnome.org/GnomeShell/"&gt;Gnome-Shell&lt;/a&gt;. La discussione si e' poi persa tra i mille rivoli della &lt;a href="http://www.osnews.com/story/24510"&gt;polemica&lt;/a&gt; innescata da &lt;a href="http://en.wikipedia.org/wiki/Mark_Shuttleworth"&gt;Shuttleworth&lt;/a&gt; e dal team &lt;a href="http://kde.org/"&gt;KDE&lt;/a&gt;, che a sua volta abbisognava di un capro espiatorio su cui scaricare la tensione accumulata dal &lt;a href="http://www.engadget.com/2011/02/11/nokia-and-microsoft-enter-strategic-alliance-on-windows-phone-b/"&gt;matrimonio Nokia/Microsoft&lt;/a&gt; e del conseguente sgretolamento dei sogni di gloria costruiti intorno al &lt;a href="http://qt.nokia.com/"&gt;toolkit Qt&lt;/a&gt;, ma questa e' un'altra storia...&lt;br /&gt;Si diceva: massimizzare e minimizzare le finistre all'interno del window manager. Sorvolando sul fatto che, come detto, questo cambiamento certamente non proprio marginale e' stato attuato in un momento decisamente sbagliato, con &lt;a href="http://www.gnome3.org/"&gt;Gnome3&lt;/a&gt; all'orizzonte e dunque poco tempo a disposizione per raccogliere il feedback necessario alla validazione dell'idea, personalmente mi ritengo favorevole alla scelta. Con tutte le precisazioni del caso.&lt;br /&gt;Da una parte l'interazione che viene in questo modo promossa ed anzi forzata nei confronti dell'utente prevede un uso intensivo dei &lt;a href="http://en.wikipedia.org/wiki/Virtual_desktop"&gt;workspace virtuali&lt;/a&gt;, che in ambiente Linux esistono dalla notte dei tempi ma che su altre piattaforme operative o non esistono affatto o hanno fatto la loro comparsa da poco tempo. Il che' vuol dire creare diverse difficolta' a chi non e' abituato ad organizzare comodamente le proprie finestre distribuendole su piu' desktop, ed ha fatto della minimizzazione una questione di sopravvivenza digitale. Ed in questa categoria ricadono non solo gli esuli di primo pelo del mondo Microsoft, ma anche i numerosi habituee' linuxari che vuoi per zelo o vuoi per forte radicazione ai metodi passati non hanno mai fatto il callo a questa stravagante idea dei desktop multipli.&lt;br /&gt;Dall'altra parte, c'e' da dire che nel momento in cui si prende un minimo di confidenza con la nozione di "workspace" i tasti per massimizzare e minimizzare le finestre sono veramente inutili.&lt;br /&gt;Io, di mio, sono un grandissimo utilizzatore di desktop virtuali: ne tengo sempre almeno 10 a disposizione, e sebbene sia capitato solo rarissimamente di occuparli tutti (ma e' comunque successo...) almeno tre o quattro sono perennemente occupati da una o piu' finestre. Ho il workspace per il cazzeggio sul web, con il &lt;a href="http://www.chromium.org/"&gt;browser&lt;/a&gt; ed il &lt;a href="http://liferea.sourceforge.net/"&gt;feed-reader&lt;/a&gt; ed il &lt;a href="http://projects.gnome.org/evolution/"&gt;client di posta&lt;/a&gt;, quello dedicato esclusivamente al &lt;a href="http://www.videolan.org/vlc/"&gt;player multimediale&lt;/a&gt; che riproduce la radio in streaming, e minimo minimo uno con una sessione &lt;a href="http://kate-editor.org/"&gt;Kate&lt;/a&gt; (straripante codice) ed un terminale (da cui lanciare le compilazioni di suddetto sorgente) su cui lavorare. Quando devo cercare un qualche file per mezzo del &lt;a href="http://en.wikipedia.org/wiki/Nautilus_%28file_manager%29"&gt;file manager&lt;/a&gt;, o leggere qualche documento, o editare qualche immagine con &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt; e/o &lt;a href="http://www.gimp.org/"&gt;Gimp&lt;/a&gt;, mi sposto su un altro. Da cio' ne deriva che ogni workspace abbia al massimo quattro finestre aperte, ed essendo cosi' poche non esiste ragione alcuna per cui ne debba minimizzare una per vedere le altre. Credo di non aver usato il tasto "minimizza" per anni.&lt;br /&gt;Lo stesso si puo' dire del tasto "massimizza". Tant'e' che piu' di una volta non sia riuscito a distinguerli l'uno dell'altro alla prima occhiata: essi mi sono totalmente estranei. Ma ammetto che, in questo caso, ho barato: talvolta mi capita di massimizzare le finestre, ma uso la shortcut Alt+F10 mappata di default su &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt;. Cio' accade solo perche', avendo appunto poche finestre per desktop da gestire, mi piace tenerle tutte a tutto schermo e talvolta capita che esse partano a dimensioni ridotte.&lt;br /&gt;Sta di fatto che, al fin della fiera, la scelta operata e' coerente con la linea di sviluppo di Gnome-Shell, che appunto punta moltissimo sui workspaces. Dunque, la reputo immensamente condivisibile. Non ultimo perche' si risolve con la rimozione di due tasti, ed io sono quasi sempre favorevole alla rimozione degli elementi a video. Che gli utenti, aggrappati alle loro abitudini come cozze allo scoglio, si lamentino occasionalmente di qualsivoglia modifica alla loro interfaccia grafica, indipendentemente da quanto la modifica sia benefica e sensata, e' normale, endemico, inevitabile. E, per questo, ignorabile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8765735334825182473?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8765735334825182473/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8765735334825182473' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8765735334825182473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8765735334825182473'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/03/minimi-termini.html' title='Minimi Termini'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-6378371288259121252</id><published>2011-02-02T03:17:00.007+01:00</published><updated>2011-02-04T12:58:41.267+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>L'Indirizzo che non C'e'</title><content type='html'>Leggendo l'ennesimo apocalittico &lt;a href="http://online.wsj.com/article/SB10001424052748704254304576116401267588510.html"&gt;articolo&lt;/a&gt; in merito all'allocazione dell'ultimo blocco di indirizzi IPv4 disponibili, e memore di alcune osservazioni che io stesso ho fatto in &lt;a href="http://madbob.wordpress.com/2011/01/30/think-more-different/"&gt;un post&lt;/a&gt; dell'&lt;a href="http://madbob.wordpress.com/"&gt;altro mio blog&lt;/a&gt; a sfondo "culturale", mi sono capacitato di una emergenza imminente nel campo dell'interazione uomo-macchina: quando &lt;a href="http://en.wikipedia.org/wiki/Ipv6"&gt;IPv6&lt;/a&gt; sara' la norma, e anche la mia LAN sara' routata su tale protocollo, come diamine faro' a ricordarmi a memoria gli astrusi ed assolutamente poco mnemonici &lt;a href="http://en.wikipedia.org/wiki/IPv6_address"&gt;indirizzi&lt;/a&gt; delle macchine di casa mia per potervi accedere? Bene o male con IPv4 ci si arrangia, assunto che la classe di una rete domestica e' quasi sempre una di quelle appositamente lasciate &lt;a href="http://en.wikipedia.org/wiki/Private_Network#Private_IPv4_address_spaces"&gt;riservate&lt;/a&gt; per scopi locali (o, per meglio dire: e' quasi sempre 192.168.0.0), ed anche un identificativo arbitrario sulla Rete globale e' pur sempre costituito da soli quattro numeri che con un poco di sforzo si riescono a fissare nel cervello, ma chi mai potrebbe memorizzare la sfilza di caratteri, cifre e segni di interpunzione mescolati in un indirizzo di nuova generazione? Certo, anche in IPv6 esiste il concetto di &lt;a href="http://en.wikipedia.org/wiki/Private_Network#Private_IPv4_address_spaces"&gt;indirizzo privato&lt;/a&gt; che puo' essere espresso in forma abbreviata, in cui comunque si trovano ben 10 cifre esadecimali a caso; un numero in base 10 (ad esempio: 134) si ricorda sicuramente meglio di un agglomerato impronunciabile (ad esempio: 21F4).&lt;div&gt;Il problema e' piu' grave di quanto non si possa immaginare, in quanto a tutt'oggi ci troviamo a maneggiare gli indirizzi numerici piu' spesso di quanto non si creda.&lt;/div&gt;&lt;div&gt;Per individuare e navigare i filesystem delle altre macchine nella rete locale, esposti con i protocolli piu' disparati (NFS, NetBIOS/Samba, SFTP...), esistono gia' fior di tools perfettamente integrati con ogni desktop environment minimamente completo (cfr. &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt; e &lt;a href="http://kde.org/"&gt;KDE&lt;/a&gt;). Dunque in questo caso il dubbio non esiste. Lo stesso puo' dirsi per le stampanti (nativamente di rete, o esposte in rete per mezzo di &lt;a href="http://www.cups.org/"&gt;CUPS&lt;/a&gt;). Ma quanti sono gli strumenti di backup, con cui periodicamente duplicare i propri dati importanti su un altro PC e/o un altro disco rigido remoto, che supportano il discovery delle istanze sparpagliate sul network? E come fare a trovare le interfacce di amministrazione web dei vari routers, access point e modem che popolano le mensole polverose delle nostre case? Senza parlare di tutte le esigenze assai piu' complesse degli utenti piu' smaliziati, i quali tanto per dirne una hanno questa fissazione di accedere ai propri PC via SSH...&lt;/div&gt;&lt;div&gt;Le odierne limitazioni dei meccanismi di amministrazione delle reti, unite alla crescente necessita' di essere connessi all'Internet ed alla moltiplicazione di apparecchi digitali di cui ognuno dispone (ben poche sono le case in cui ci sia un solo PC, senza contare smartphones e tablets ed altre &lt;a href="http://www.chumby.com/"&gt;diavolerie&lt;/a&gt;), implicano che l'interazione diretta con gli indirizzi IP e' oramai pratica assai diffusa e pervasiva, anche tra l'utenza di basso rango: negli ultimi mesi mi e' capitato piu' di un utonto contemplare il relativo pannello di configurazione sul proprio sistema operativo alla ricerca di una soluzione abbozzata per potersi agganciare ad un vicino access point, spinto e motivato in questa sua estemporanea avventura nerd dal desiderio di consultare la propria bacheca su &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Siamo davvero pronti a questo salto? Gli strumenti di assistenza per i quotidiani task relativi al networking (locale e remoto) sono all'altezza? Mi piacerebbe metterli alla prova, switchando la mia LAN appunto al routing IPv6, non fosse che la versione di &lt;a href="http://www.dd-wrt.com/"&gt;dd-wrt&lt;/a&gt; flashata sulla mia &lt;a href="http://dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing"&gt;Fonera&lt;/a&gt; non supporta tale protocollo e non riesco a fare l'upgrade alla versione successiva: partiamo subito male...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-6378371288259121252?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/6378371288259121252/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=6378371288259121252' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6378371288259121252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6378371288259121252'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/02/lindirizzo-che-non-ce.html' title='L&apos;Indirizzo che non C&apos;e&apos;'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3394615378974487970</id><published>2011-01-20T02:30:00.002+01:00</published><updated>2011-01-22T01:33:09.780+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='devices'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Una Mela in Testa</title><content type='html'>&lt;div&gt;Da quando ho iniziato a leggere e documentarmi sul tema dell'usabilita' delle interfacce utente ho piu' volte sentito parlare nell'&lt;a href="http://oldcomputers.net/apple-newton.html"&gt;Apple Newton&lt;/a&gt;, PDA uscito agli inizi degli anni '90 e di breve vita sul mercato, indicato da molti come un ottimo esempio di efficienza e rappresentativo di alcuni concetti particolarmente interessanti. Ma ammetto di non aver mai indagato approfonditamente su tale oggetto, prendendo sempre per buone le entusiastiche dichiarazioni ma inconsciamente pensando che le funzionalita' di tale apparecchio fossero, a causa dell'evidente anzianita' del prodotto, cosi' limitate da non meritare neppure di essere prese in considerazione.&lt;/div&gt;&lt;div&gt;Finche' l'altro giorno mi sono trovato a leggere &lt;a href="http://ignorethecode.net/blog/2010/12/05/saving_documents_by_proxy/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+IgnoreTheCode+(ignore+the+code)"&gt;un articolo&lt;/a&gt; (peraltro generatore di infinita ispirazione, dovro' tornarci sopra in futuro), in cui viene indirettamente linkato &lt;a href="http://www.youtube.com/watch?v=BKHelCE9QAg"&gt;un video&lt;/a&gt; su &lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt; che dimostra l'utilizzo del leggendario Newton. E ne sono rimasto sbalordito.&lt;/div&gt;&lt;div&gt;L'utilizzo del device e' molto semplice: c'e' uno schermo completamente touchscreen, ci si scrive sopra quel che si vuole (con la tastiera virtuale o a mano: stando al video l'handwriting recognization del '90 non era cosi' tanto male, e' un peccato che nel ventennio seguente non sia piu' stata migliorata), e... il contenuto viene trasformato in un altro tipo di contenuto a seconda di quello che viene riconosciuto, o dietro suggerimento dell'utente. Insomma: se si scrive "pranzo con Mario" si puo' andare a piazzare il nuovo appuntamento nel calendar, se si scrive "chiama Pippo" viene lanciata la chiamata, se si immette un numero telefonico si apre il form per la creazione di un nuovo contatto.&lt;/div&gt;&lt;div&gt;Chiaramente, il primo richiamo che ho avuto e' stato il &lt;a href="http://lobotomy-project.org/"&gt;progetto Lobotomy&lt;/a&gt; e &lt;a href="http://lobotomy.sourceforge.net/docs/Mixing_Types-v0.1.html"&gt;l'originale idea&lt;/a&gt; di rendere trasversali i dati indipendentemente dal formato con cui venivano trasmessi o manipolati. Anche se il concetto introdotto nel Newton e' un poco diverso: non quello di trasformare i vari contenuti in qualcos'altro, ma trasformare caso per caso un unico tipo di contenuto (la nota, atomo primario del modello di interazione) in qualcosa di piu' strutturato e specifico.&lt;/div&gt;&lt;div&gt;Resta il fatto che gia' allora gli ingegneri Apple avevano avuto l'illuminazione e l'avevano trasposta in un prodotto commerciale e alla portata degli utenti (si, d'accordo: solo degli utenti facoltosi, considerando il prezzo, ma ci siamo capiti...): ignorare totalmente nozioni tecniche e nerdeggianti come il "file" o il "formato", ma occuparsi in modo semi-automatizzato di tali dettagli e lasciare che l'utilizzatore si concentrasse sull'informazione nuda e cruda.&lt;/div&gt;&lt;div&gt;Il PDA in oggetto spari' rapidamente dal mercato, vuoi perche' le tecnologie hardware dell'epoca erano ancora troppo limitate per uno sfruttamento del concept (una agenza cartacea delle stesse dimensioni poteva tranquillamente contenere una mole di informazioni molto superiore rispetto ai suoi modesti circuiti di rame e pietra), vuoi perche' il popolo di consumatori non era ancora pronto per esso (nell'era pre-Web2.0 quanti sarebbero stati disposti a spendere quella cifra per un blocco note molto sofisticato?) e vuoi anche perche' essendo tutto il sistema integrato non c'era spazio per l'ingresso di altri vendors che fornissero applicazioni e servizi (come e' invece adesso per apparati tipo l'iPad) dunque nessuno poteva essere realmente interessato alla sua diffusione priva da sbocchi commerciali e profittevoli per chiunque altro non fosse Apple. Ma a distanza di vent'anni varrebbe la pena rivalutare e riesaminare i concetti che all'epoca sono stati compressi nello scatolotto nero, poco apprezzabili negli anni '90 ma perfettamente attuali ed anzi impellenti nel mondo di oggi.&lt;/div&gt;&lt;div&gt;Perche' reinventare la ruota, quando buona parte del lavoro e' gia' stata svolta?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3394615378974487970?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3394615378974487970/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3394615378974487970' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3394615378974487970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3394615378974487970'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/01/una-mela-in-testa.html' title='Una Mela in Testa'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2831100808706425470</id><published>2011-01-14T12:52:00.004+01:00</published><updated>2011-01-20T02:24:27.620+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='packagemanagement'/><title type='text'>Aggiornamento nell'Ombra</title><content type='html'>Manco il tempo di finire di scrivere il &lt;a href="http://lobotomy-dev.blogspot.com/2011/01/i-piccoli-aggiornamenti.html"&gt;precedente post&lt;/a&gt; sui potenziali vantaggi di un meccanismo di aggiornamento interno alle applicazioni, in grado di pescare autonomamente informazioni sulla disponibilita' di nuove versioni da scaricare ed installare in modo trasparente e senza disturbare l'utente, che subito salgono agli onori della cronaca notizie sulle prossime evoluzioni di &lt;a href="http://www.google.com/chrome?hl=it"&gt;Chrome&lt;/a&gt;, il web browser targato &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;.&lt;div&gt;Stando alle &lt;a href="http://techcrunch.com/2011/01/11/google-chrome-release-cycle-slideshow/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+Techcrunch+(TechCrunch)"&gt;ultime presentazioni&lt;/a&gt; per il prossimo futuro di tale prodotto si prevede di soppiantare la tendenza prettamente tecnofila di rilasciare le varie versioni identificandole da un numero sequenziale, ed invece impacchettare piccoli cambiamenti ad intervalli regolari e tra loro ristretti (sei mesi) e diffonderli sui desktop del pianeta con un automatismo silenzioso. A ben guardare Chrome &lt;a href="http://robmensching.com/blog/posts/2008/9/10/Google-Chrome.-updates-without-asking"&gt;da sempre&lt;/a&gt; gestisce in questo modo gli aggiornamenti di se' stesso, addirittura compiendo un controllo sul repository centralizzato ogni cinque ore, ma evidentemente il concetto e' stato migliorato e raffinato ulteriormente. Si mormora inoltre che pure la prossima major release di &lt;a href="http://www.mozilla-europe.org/it/firefox/"&gt;Firefox&lt;/a&gt;, &lt;a href="http://www.mozillaitalia.org/home/tag/firefox-4/"&gt;la 4&lt;/a&gt; &lt;a href="http://www.computerworld.com/s/article/9180272/Mozilla_plans_to_silently_update_Firefox"&gt;includera'&lt;/a&gt; tale funzionalita'.&lt;/div&gt;&lt;div&gt;Come intuibile, appunto, dal post pubblicato l'altro giorno su &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo stesso blog&lt;/a&gt; questo genere di soluzioni mi garba assai. Tantopiu' per applicativi come i web browser, diventati strumenti essenziali nella vita digitale di ciascuno e cosi' frequentemente bersagliati da attacchi mirati alla loro sicurezza da patchare il piu' presto possibile a prescindere dalla noncuranza dell'utente. Certo chi sviluppa un browser non ha tutta questa urgenza di diffondere nuove features, in quanto in fin dei conti tale classe di software operativo non espone particolari funzionalita' necessariamente sempre nuove (renderizzano le pagine, salvano i bookmarks, aprono e chiudono le tabs, poco altro), ma le migliorie per quanto piccole e discrete son sempre gradite, soprattutto quando non ci si deve attivare in prima persona per ottenerle.&lt;/div&gt;&lt;div&gt;D'altro canto, immagino che nel momento in cui i singoli programmi provvedano per conto proprio all'aggiornamento si possano creare non pochi grattacapi per i packagers delle distribuzioni. Cosa mettere nei repository? Cosa succede se all'atto dell'invocazione di un "apt-get upgrade" la versione proposta e pacchettizzata e' piu' vecchia di quella scaricata autonomamente? Come fronteggiare eventuali aggiornamenti che richiedono librerie e pacchetti particolari, e dunque da installare o a loro volta aggiornare per il supporto di una nuova funzionalita'?&lt;/div&gt;&lt;div&gt;Per non parlare dei futuri (ma comunque non immediati) problemi tecnici che potrebbero sorgere qualora tale pratica dovesse diffondersi: come arginare la potenziale esplosione di comunicazioni verso l'Internet, dovute al fatto che ogni singolo programma pretenderebbe di contatterebbe ad intervalli periodici il proprio server di riferimento in cerca di qualcosa di nuovo da scaricare? E come reagirebbe quella nicchia di utenti cultori della privacy e del pieno controllo dinnanzi alla necessita' di dover disabilitare (o nella peggiore delle ipotesi filtrare con metodi piu' radicali) siffatte transazioni non richieste per ognuno dei software utilizzati?&lt;/div&gt;&lt;div&gt;La soluzione ad entrambi i suddetti tipi di ostacoli potrebbe stare in una evoluzione degli attuali package managers, affinche' forniscano nativamente la funzionalita' di auto-upgrade per i programmi che lo richiedono, coordinando ed ottimizzando le connessioni verso l'esterno e provvedendo un unico centro di configurazione per chi ha il tempo da perdere verificando chi sta facendo cosa. Dirottando tutto al manager centralizzato esso sarebbe sempre consapevole di quale precisa versione e' in uso in un dato momento, quali sono i pacchetti che si auto-aggiornano per fatti propri e quali devono essere allineati con i repository della distribuzione secondo lo schema classico, e come comportarsi con le dipendenze.&lt;/div&gt;&lt;div&gt;Forse adesso e' troppo presto per porsi questo genere di domande, in quanto appunto solo Chrome e Firefox si stanno muovendo verso la direzione dell'autogestione. Ma nel momento in cui dovesse essere osservato un trend piu' cospicuo sarebbe opportuno correre ai ripari il prima possibile, mettendosi d'accordo tutti insieme su come amministrare in modo pacifico la legittima richiesta di aggiornamenti frequenti con la necessita' di far convivere numerosi pacchetti ognuno con una propria sequenza di versioning, ed evitare che codesta emergente moda dilaghi fino a minare uno dei pilastri su cui si poggia il successo del desktop Linux, appunto il package management.&lt;/div&gt;&lt;div&gt;Prevenire e' meglio che curare.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2831100808706425470?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2831100808706425470/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2831100808706425470' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2831100808706425470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2831100808706425470'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/01/aggiornamento-nellombra.html' title='Aggiornamento nell&apos;Ombra'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7811198011836001500</id><published>2011-01-05T14:44:00.005+01:00</published><updated>2011-01-20T02:25:08.354+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='distributed'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><category scheme='http://www.blogger.com/atom/ns#' term='packagemanagement'/><title type='text'>I Piccoli Aggiornamenti</title><content type='html'>Tra le attivita' che maggiormente reputo degne di essere completamente delegate alla macchina in modo da non tediare l'utente c'e' sicuramente l'aggiornamento del software installato. Ad oggi qualsiasi distribuzione Linux monta di default un &lt;a href="http://en.wikipedia.org/wiki/Package_management_system"&gt;package manager&lt;/a&gt;, che si occupa automaticamente di verificare la disponibilita' di nuovi pacchetti e risolve le dipendenze in fase di installazione ed aggiornamento, ma comunque la sua esecuzione dipende dalla volonta' e dall'attenzione dell'utente che o se ne dimentica o viene periodicamente disturbato da &lt;a href="http://www.ubuntu.com/files/u3/update-notification.png"&gt;notifiche&lt;/a&gt; sul suo desktop.&lt;div&gt;Ad oggi, comunque, l'esecuzione schedulata e silenziosa di un "apt-get update; apt-get upgrade", magari per mezzo di cron, e' assai poco consigliata: troppo spesso accade che tale operazione venga lanciata nel bel mezzo di un update massivo sul repository di pacchetti di riferimento, e se non ci si prende la briga di leggere cosa viene richiesto di fare basta veramente troppo poco per trovarsi, in virtu' di qualche estroso conflitto nelle dipendenze, il desktop environment o qualche driver importante disinstallato.&lt;/div&gt;&lt;div&gt;Ma d'altro canto c'e' un intero universo di componenti software che non sono affatto gestiti (o comunque sono solo marginalmente trattati) dai package manager, e che produrrebbero un danno limitato anche qualora per disgrazia fossero gestiti male: i plugins.&lt;/div&gt;&lt;div&gt;Ogni applicazione evoluta oggi esistente mette a disposizione una ricca API con cui qualsiasi developer puo' aggiungere funzionalita', a volte modeste e a volte molto pesanti, e la tendenza a distribuire in questo modo lo sviluppo tra il maintainer del core principale e gli occasionali partecipanti e' in evidente crescita (forse anche dopo aver constatato l'enorme successo avuto dal concetto di "&lt;a href="https://addons.mozilla.org/en-US/firefox/?browse=featured"&gt;estensione&lt;/a&gt;" applicato al popolarissimo &lt;a href="http://www.mozilla-europe.org/it/firefox/"&gt;Firefox&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;L'unico problema e' che raramente si trovano repository unici di estensioni e plugins destinati ad una specifica applicazione, ed occorre andarsele a cercare appositamente (assumendo ovviamente che se ne conosca l'esistenza). Il mio esempio preferito e' &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt;: sul sito esiste &lt;a href="http://wiki.inkscape.org/wiki/index.php/Extension_repository"&gt;una raffazzonata pagina&lt;/a&gt; dedicata ad indicizzare alcune estensioni esistenti, ma al fondo di essa si trovano tracce di un eventuale progetto strutturato e mirato a tale scopo che risalgono a maggio 2010.&lt;/div&gt;&lt;div&gt;D'improvviso, leggo oggi sul blog di &lt;a href="http://aseigo.blogspot.com/"&gt;Aaron Seigo&lt;/a&gt; il &lt;a href="http://aseigo.blogspot.com/2011/01/fire-up-synchrotron.html"&gt;proposito&lt;/a&gt; di fornire una sorta di protocollo di auto-discovery per i &lt;a href="http://techbase.kde.org/Development/Tutorials/Plasma/DataEngines"&gt;DataEngines&lt;/a&gt; di &lt;a href="http://userbase.kde.org/Plasma"&gt;Plasma&lt;/a&gt; (che, detto terra terra, sono delle estensioni di &lt;a href="http://www.kde.org/"&gt;KDE&lt;/a&gt;). In sostanza il personaggio descrive uno scenario che io stesso medito da tempo: utilizzare qualcosa come il formato &lt;a href="http://freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Services&lt;/a&gt; (da me stesso &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/libopengdesktop.html"&gt;implementato&lt;/a&gt; per &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt;) per comunicare ai clients degli utenti variazioni sullo stato dei componenti installati, ed ai fatti provvedere ad una sorta di package management isolato e dedicato ad una nicchia precisa. In un colpo solo si bypasserebbe il management ufficiale delle distribuzioni (che tendono ad essere in ritardo rispetto alle releases dei pacchetti veri e propri), si avrebbe un sistema di aggiornamento unico per tutte le piattaforme, e si estenderebbero le potenzialita' dell'amministrazione di sistema semi-programmatica anche ai frammenti di software sinora bistrattati ed esclusi dalle cure dei packagers.&lt;/div&gt;&lt;div&gt;Per quanto le mire di Seigo siano di molto basso profilo (appunto, limita la sua stessa idea all'aggiornamento dei DataEngines quando potrebbe essere applicato ad ogni genere di estensione), auspico che qualcuno lo stia a sentire e provveda a studiare una soluzione al problema, da poi riutilizzare in altri contesti.&lt;/div&gt;&lt;div&gt;Uno dei piu' grandi vantaggi di Linux rispetto alle altre piattaforme operative e' proprio l'elevato grado di maneggiabilita' dei pacchetti software installabili; tanto vale spremere il massimo da tale concetto, usarlo per dare risalto a sempre piu' opere e farne uno dei canali di penetrazione piu' aggressivi per il software libero.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7811198011836001500?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7811198011836001500/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7811198011836001500' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7811198011836001500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7811198011836001500'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2011/01/i-piccoli-aggiornamenti.html' title='I Piccoli Aggiornamenti'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1207529851457924357</id><published>2010-11-24T02:29:00.006+01:00</published><updated>2010-12-03T12:37:20.565+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Riuso Fai-da-Te</title><content type='html'>Una delle cose che piu' amo del software libero e' la possibilita' di utilizzare e riutilizzare all'infinito frammenti e porzioni di codice, magari anche in contesti diversi rispetto a quello entro cui sono stati scritti. Spesso e volentieri io stesso mi trovo a copiare e incollare funzioni o intere classi dall'Internet, pescando dai repository, e al "costo" di poche righe di commento destinate ad indicare il copyright dell'autore originale si ottiene in pochi secondi la funzionalita' desiderata.&lt;div&gt;Tale proprieta' non e' purtroppo sempre applicabile ai componenti software complessi.&lt;/div&gt;&lt;div&gt;In questo periodo mi sono trovato a dover elaborare una soluzione composta, in buona sostanza, da un captive portal, un pannello per la gestione delle utenze, ed una centralizzazione degli accounts su un unico server. Scopo del gioco: esibire i documenti per l'autorizzazione alla navigazione web (&lt;a href="http://www.londadineveralone.it/blog/2010/04/05/wifi-litalia-e-la-legge-pisanu/"&gt;grazie, Pisanu&lt;/a&gt;) una volta sola, e poter poi accedere a tutti i locali all'interno del network convenzionato e geograficamente sparso usando sempre la stessa utenza.&lt;/div&gt;&lt;div&gt;Di captive portal opensource e' pieno il web. Nessuno di questi prevede una gestione avanzata degli accounts, i quali sono sempre e solo gestiti localmente. E, anche volendo dirottare le connessioni al database con qualche hack (pericoloso, in quanto comunque deve esistere un meccanismo di validazione dei routers periferici nei confronti del server centrale), non sarebbe comunque possibile personalizzare in modo agevole le anagrafiche trattate per fargli fare quel che mi serve (banalmente: associare gli accounts ai soci dei locali nel network, con tutto quel che ne consegue in termini di scadenze delle iscrizioni).&lt;/div&gt;&lt;div&gt;Dopo ardue ricerche incrociate, e valutazione di diversi blocchi di codice pescati qua e la', non son riuscito ad isolare i pezzi che mi servivano ed alla fine ho ceduto ed ho ben deciso di rifare tutto daccapo prendendo ispirazione qua e la'.&lt;/div&gt;&lt;div&gt;Purtroppo non si puo' porre un argine a questo problema, comune a pressoche' qualsiasi applicazione complessa. Isolare in modo chirurgico i componenti e' una best practise che esiste solo sui manuali accademici di ingegneria software, nel mondo reale non si puo' fare in quanto comunque alcuni presupposti (ad esempio: la gestione e la validazione degli utenti) devono essere validi a priori in tutto il sistema ed inevitabilmente vanno a cozzare contro i presupposti usati altrove.&lt;/div&gt;&lt;div&gt;Quel che piu' mi perplime comunque non e' l'utilizzo di componenti separate, quanto l'utilizzo di piu' componenti insieme. In questo periodo mi sto molto interessando alla questione della &lt;a href="http://madbob.wordpress.com/2010/11/16/cera-una-volta-in-piemonte/"&gt;legge regionale piemontese per la promozione del software libero&lt;/a&gt;, e spesso scopro che alcune amministrazioni in giro &lt;a href="http://riuso.cnipa.gov.it/soluzioni/result.bfr?identificativo=&amp;amp;tipo_amm=&amp;amp;regione=&amp;amp;anno_avv=&amp;amp;ambito_amm=&amp;amp;ammin_idonee=&amp;amp;servizi_text=&amp;amp;tipo_serv=&amp;amp;all=1"&gt;per l'Italia&lt;/a&gt; e &lt;a href="http://www.osor.eu/"&gt;per l'Europa&lt;/a&gt; hanno gia' rilasciato questo o quest'altro frammento potenzialmente utile per altre amministrazioni, ma temo il giorno in cui esse dovranno essere messe insieme e proposte a mo' di pacchetto chiavi-in-mano a qualche istituzione: ciascuna e' stata scritta con un framework diverso, in un linguaggio diverso, con specifiche ed architetture diverse, e presenta una interfaccia diversa, organizzata in modo diverso. Mettere insieme tutti questi pezzi, che presi singolarmente sono assai utili ma comunque non determinanti, si annuncia come una missione impossibile, e gia' so che il giorno in cui si prendera' di petto la questione molti di essi dovranno essere in buona parte riscritti. I sogni di riusabilita' immediata e propagazione del software pubblico sono destinati ad infrangersi contro lo scoglio del pragmatismo.&lt;/div&gt;&lt;div&gt;Ancora oggi la riusabilita' e' un mito. Che urge sfatare, per sbloccare finalmente in modo completo l'immenso potenziale del software libero.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1207529851457924357?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1207529851457924357/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1207529851457924357' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1207529851457924357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1207529851457924357'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/11/riuso-fai-da-te.html' title='Riuso Fai-da-Te'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5870950050773620141</id><published>2010-11-14T22:27:00.002+01:00</published><updated>2010-11-15T03:14:53.796+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='GASdotto'/><title type='text'>Zero Upgrade</title><content type='html'>Nel &lt;a href="http://lobotomy-dev.blogspot.com/2010/11/il-pallino-del-database.html"&gt;precedente post&lt;/a&gt; ho fatto menzione alle comodita' programmative dell'usare una rappresentazione "uno a uno" degli oggetti manipolati ad alto livello con lo schema del proprio database: poco codice che gestisce tutto quanto, logica abbastanza lineare e necessariamente coerente dunque comprensibile, grande flessibilita'...&lt;div&gt;Qui vorrei fare una rapida menzione ad un ulteriore vantaggio di questa strategia, che ho l'altro giorno implementato e perfezionato nel codice del mio &lt;a href="http://gasdotto.net/"&gt;gestionale per gruppi di acquisto&lt;/a&gt;: l'aggiornamento automatico e trasparente del database in caso di upgrade dell'applicazione.&lt;/div&gt;&lt;div&gt;Passando dalla &lt;a href="http://gasdotto.net/node/28"&gt;release 1.0&lt;/a&gt; alla &lt;a href="http://gasdotto.net/content/gasdotto-20"&gt;release 2.0&lt;/a&gt; mi sono posto il problema di rendere l'upgrade di GASdotto semplice, almeno tanto quanto lo e' l'&lt;a href="http://gasdotto.net/installation"&gt;installazione&lt;/a&gt;, ma ho sicuramente fatto le cose un po' di fretta e mi son ritrovato un &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/createdb.php?root=gasdotto&amp;amp;rev=235&amp;amp;r1=233&amp;amp;r2=235"&gt;garbuglio&lt;/a&gt; di "ALTER TABLE" che certamente non avrei potuto mantenere anche nella futura release 3.0 (dovendo peraltro gestire i casi di migrazione partendo da 1.0 o 2.0). Alche' mi sono ingegnato ed ho deciso di spremere meglio la mia mappatura degli oggetti sul database, implementando l'operazione inversa: costruire il database partendo dalle classi PHP.&lt;/div&gt;&lt;div&gt;La funzione che effettua davvero le query (resa unica in tutto il programma originariamente con l'intento di centralizzare la gestione degli errori) e' stata modificata in modo che, se una richiesta verso il database fallisce, prima di tentare una seconda volta verifica che tutte le tabelle siano al loro posto e che esse abbiano tutte le colonne che descrivono gli attributi dei miei oggetti PHP di alto livello. L'effetto collaterale di tale meccanismo e' ovvio: GASdotto non abbisogna piu' di una procedura esplicita di upgrade, basta decomprimere l'archivio compresso al posto del precedente (magari salvandosi prima il file di configurazione) e al primo login si arrangia da solo nel modificare il database allineandolo alla struttura richiesta con le nuove colonne e le nuove tabelle.&lt;/div&gt;&lt;div&gt;La procedura deve ancora essere testata con cura, ma i primi esperimenti sono stati soddisfacenti: trovandomi adesso ad attuare qualche &lt;a href="http://barberaware.org/tracker/index.php?func=detail&amp;amp;aid=138&amp;amp;group_id=32&amp;amp;atid=212"&gt;correzione&lt;/a&gt; alla gestione delle notifiche mi trovo a dover aggiungere qualche attributo alla classe &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/Notification.php?rev=279&amp;amp;root=gasdotto&amp;amp;view=markup"&gt;Notification&lt;/a&gt;, e laddove prima dovevo rimaneggiare la classe PHP, quella Java e lo schema del database, adesso metto mano solo al codice e la prima volta che ricarico l'applicazione nel browser la query fallisce, esegue il controllo, crea le nuove colonne richieste nelle tabelle e tira dritto.&lt;/div&gt;&lt;div&gt;Sebbene il tutto sia ancora migliorabile (manca la definizione dei valori con cui inizializzare le eventuali nuove porzioni di database) posso ritenermi soddisfatto di questa novita': ho eliminato un passaggio richiesto per l'amministrazione dell'applicazione da parte degli utenti (spianando peraltro la strada ad un futuro automatismo per l'aggiornamento trasparente, come quello gia' esistente nell'ottimo &lt;a href="http://wordpress.org/"&gt;Wordpress&lt;/a&gt;), ed io ho ridotto la quantita' di cose di cui preoccuparmi durante lo sviluppo.&lt;/div&gt;&lt;div&gt;Regola 1: essere pigro, e far fare alla macchina quello che non si ha voglia di fare a mano.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5870950050773620141?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5870950050773620141/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5870950050773620141' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5870950050773620141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5870950050773620141'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/11/zero-upgrade.html' title='Zero Upgrade'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7561157744173996349</id><published>2010-11-11T19:31:00.002+01:00</published><updated>2010-11-11T20:14:09.958+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='GASdotto'/><title type='text'>Il Pallino del Database</title><content type='html'>Ogniqualvolta mi confronto con un qualche programmatore in merito ad una qualsiasi applicazione che deve gestire un po' di dati, pare che la prima (ed unica?) preoccupazione sia lo schema del database. Mi e' gia' capitato con numerosi personaggi, tra cui un &lt;a href="http://www.sap.com/"&gt;SAPpista&lt;/a&gt;, un imprenditore ex-sviluppatore di gestionali, diversi developers freelance, insomma con chiunque abbia anche una vaga idea di come scrivere codice: quando si parla di un programma, la prima cosa che vogliono vedere e' il database.&lt;div&gt;Saro' un eretico, ma a me non pare che questo componente necessiti di tali particolari attenzioni.&lt;/div&gt;&lt;div&gt;Certamente dallo schema del database adottato dipende la scalabilita', la possibilita' di aggiungere funzionalita' complesse in futuro, ed in parte la performance del sistema completo, ma da quando ho adottato una nuova prospettiva nel processo di sviluppo di &lt;a href="http://gasdotto.net/"&gt;GASdotto&lt;/a&gt; ho smesso di preoccuparmi particolarmente della cosa.&lt;/div&gt;&lt;div&gt;Sostanzialmente, in GASdotto il database e' la rappresentazione "uno a uno" degli oggetti maneggiati dall'applicazione, e tutte le interazioni con questi oggetti sono formalizzate secondo una manciata di regole.&lt;/div&gt;&lt;div&gt;Ad esempio: l'oggetto &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/Order.php?rev=271&amp;amp;root=gasdotto&amp;amp;view=markup"&gt;"Order"&lt;/a&gt; e' un ordine aperto presso un fornitore. All'interno della classe sono iscritte le proprieta' che compongono tale elemento. Sul database, c'e' una tabella che si chiama "Orders" (tipicamente le tabelle si chiamano nello stesso modo della classe di riferimento, ma ho dovuto fare una eccezione poiche' "order" e' una &lt;a href="http://www.w3schools.com/sql/sql_orderby.asp"&gt;parola chiave&lt;/a&gt; di SQL) che riporta esattamente quelle stesse proprieta'. Dove l'oggetto ha una stringa, sul database c'e' un varchar. Dove c'e' un numero, corrisponde un intero. Dov'e' c'e' un riferimento ad un oggetto descritto da un'altra tabella, vi si trova la chiave esterna a quella tabella. Nel caso particolare delle relazioni "uno a molti" (ad esempio: i prodotti contemplati all'interno dell'ordine), si utilizza sempre una tabella di appoggio che si chiama "nomedellaclasse_nomedellattributo" e due colonne, una per l'entita' di riferimento (l'ordine) e l'altra per i sottoelementi (i prodotti).&lt;/div&gt;&lt;div&gt;Lo schema non e' per nulla ponderato o meditato: ogni informazione che serve e' memorizzata secondo una forma definita a priori, senza soffermarsi mai sul caso specifico.&lt;/div&gt;&lt;div&gt;Durante l'implementazione del supporto alle "varianti" dei prodotti in &lt;a href="http://gasdotto.net/content/gasdotto-20"&gt;GASdotto 2.0&lt;/a&gt; ho constatato come questo approccio sia facilmente adattabile: alla fine dell'opera mi son ritrovato con numerose nuove tabelle, ma per quanto complessa sia la relazione tra prodotto, variante, prodotto ordinato, varianti ordinate, prodotti consegnati eccetera, in breve sono riuscito a cavarne una definizione sempre coerente e non eccessivamente arzigogolata.&lt;/div&gt;&lt;div&gt;Il vantaggio maggiore di tale strategia e' che, essendo tutto maneggiato con poche regole sempre valide, il codice necessario alla serializzazione, deserializzazione, e reperimento e salvataggio delle informazioni e' unico in tutti i casi. Il guscio piazzato intorno al database e' ridotto a poco piu' dei minimi termini, una unica classe (&lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/FromServer.php?rev=259&amp;amp;root=gasdotto&amp;amp;view=markup"&gt;"FromServer"&lt;/a&gt;. Nome assai poco fantasioso...) provvede alla stragrande maggioranza del lavoro. Cosa non da poco, in termini di mantenibilita'.&lt;/div&gt;&lt;div&gt;Sicuramente lo schema finale non e' il piu' ottimizzato che si possa pensare, e non dubito che si potrebbe fare molto di meglio in termini di performance e risorse occupate, ma in fin dei conti la differenza non si nota. L'istanza nota piu' grossa di GASdotto conta attualmente 600 diversi prodotti da 30 diversi fornitori, il dump completo (e compresso con l'opzione -Ft di &lt;a href="http://developer.postgresql.org/pgdocs/postgres/app-pgdump.html"&gt;pg_dump&lt;/a&gt;) di &lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; e' di quasi 1 megabyte, eppure il tutto pare sufficientemente reattivo ai 170 utenti registrati (a parte quando la componente Javascript inizia a macinare tutti quei dati in un colpo solo nel browser, ma e' un altro discorso).&lt;/div&gt;&lt;div&gt;Insomma: personalmente, ho smesso di dare tanto peso a come e' fatto il database di backend delle applicazioni. Quantomeno delle mie. Qualche microsecondo di elaborazione in piu' val bene tutta questa flessibilita' compressa in una cosi' modesta quantita' di codice.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7561157744173996349?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7561157744173996349/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7561157744173996349' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7561157744173996349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7561157744173996349'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/11/il-pallino-del-database.html' title='Il Pallino del Database'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1599758119292999244</id><published>2010-10-31T00:31:00.005+02:00</published><updated>2010-11-04T19:03:18.778+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accessibilità'/><category scheme='http://www.blogger.com/atom/ns#' term='esperienze'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>La Prova</title><content type='html'>In questo periodo sto dando una mano presso un corso di alfabetizzazione informatica organizzato dall'&lt;a href="http://informaticalibera.info/"&gt;Officina Informatica Libera&lt;/a&gt; di Torino, frequentato per lo piu' da anziani ed extracomunitari. Talvolta mi trovo ad affiancare gli utenti mentre svolgono gli esercizi mirati a fargli prendere dimestichezza con mouse e tastiera, e sin troppo spesso finisco nei paraggi di un baffuto signore in particolare.&lt;div&gt;Questo personaggio, nella sua immensa ignoranza (in senso non offensivo, ovviamente) ed ingenuita', e' la dimostrazione vivente di quando sia complicato utilizzare un computer al giorno d'oggi. Facilmente va nel panico, percui si dimentica quello che gli e' stato spiegato cinque minuti prima e tenta di intuire qual'e' l'operazione giusta da fare in un dato momento, puntualmente non riuscendoci e ripetendo l'errore che aveva gia' compiuto prima della spiegazione.&lt;/div&gt;&lt;div&gt;Il mio preferito e' la confusione esistente tra il cursore del mouse ed il cursore lampeggiante del testo. Spesso egli punta il mouse laddove vuole apportare una modifica in una frase (cancellare un carattere, o aggiungerne un'altro), non clicca, ma comunque pigia il tasto della tastiera corrispettivo. Applicando ovviamente tale modifica da tutt'altra parte.&lt;/div&gt;&lt;div&gt;Fa uscire di testa guardarlo mentre tenta di selezionare del testo usando il mouse, in quanto tale tecnica per quanto famigliare per molti e' costituita da infinite "regole" non esplicite e di non immediato apprendimento: la selezione e' monodirezionale (inizia nel punto in cui si e' iniziato a cliccare e finisce nel punto ove il cursore viene spostato, dunque non e' possibile agire contemporaneamente sopra e sotto l'inizio della selezione), deve essere eseguita in un colpo solo (tutte le righe senza mai lasciare il tasto sinistro del mouse), e' suscettibile di speciali comportamenti e un testo selezionato puo' essere spostata in blocco (dunque e' buona norma deselezionare tutto prima di tentare una nuova selezione)... Tutto questo contribuisce a far perdere l'orientamento al buon utente volenteroso (e la pazienza al volenteroso assistente che gli sta accanto), al decimo tentativo di prendere cinque righe egli ha gia' sparpagliato tutto in giro per il documento cliccando e trascinando a casaccio.&lt;/div&gt;&lt;div&gt;I tasti sulla tastiera sono decisamente troppi. Le lettere dell'alfabeto sono sparpagliate, ma le si puo' cercare facilmente. Gia' i tasti con due o peggio tre simboli sono complicati, perche' ogni carattere e' attivabile pigiando il relativo "modifier" (che non viene mai scelto correttamente). Il dramma e' che i simboli selezionabili con Shift non sono attivati quando e' attivo il CapsLock, dunque tutto il vantaggio di spezzare la procedura in piu' parti (pigia CapsLock, pigia tasto, ripigia CapsLock) viene perso ed anzi e' richiesto di coordinare il movimento di ben due dita (un dito fisso su Shift, l'altro sul tasto desiderato). Stendiamo un velo pietoso sui pulsanti Return e Enter, i quali sono vicini e pur facendo cose totalmente diverse riportano entrambi il disegnino della freccia diretta a sinistra...&lt;/div&gt;&lt;div&gt;Tutte e altre considerazioni sono emerse dopo due incontri, facendo solo input di testo vagamente formattato. Sara' dura instradare correttamente il suddetto personaggio, comunque indipendentemente dai risultati che si raggiungeranno (o piu' probabilmente non si raggiungeranno) cerchero' di osservare e registrare i comportamenti della mia cavia per trarne qualche spunto.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1599758119292999244?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1599758119292999244/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1599758119292999244' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1599758119292999244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1599758119292999244'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/10/la-prova.html' title='La Prova'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1273546153155908565</id><published>2010-10-15T14:05:00.005+02:00</published><updated>2010-10-31T00:30:05.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Attivita' Collaterale</title><content type='html'>In un &lt;a href="http://aseigo.blogspot.com/2010/10/activities-as-homonyms.html"&gt;recente post&lt;/a&gt; sul &lt;a href="http://aseigo.blogspot.com/"&gt;suo blog&lt;/a&gt;, Aaron Seigo (project leader di KDE) ci spiega il concetto di "attivita'" e la differenza che tale termine assume nelle piu' recenti incarnazioni dei desktop environment &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt; e &lt;a href="http://www.kde.org/"&gt;KDE&lt;/a&gt; (non mancando ovviamente di sottolineare quanto il tutto sia molto migliore nel progetto da lui rappresentato).&lt;div&gt;In breve: una "attivita'" e' un agglomerato eterogeneo di files (e di relative applicazioni per aprirli) che rientrano all'interno di uno specifico task dell'utente, definito manualmente (ed eventualmente anche in modo automatico), invocabile on-demand a seconda di quel che si sta facendo. Per fare un esempio: se lo sviluppo di un dato pezzo di codice comprende i sorgenti, la documentazione dell'API usata e qualche altro contenuto, posso pigiare il tasto "aprimi questa attivita'" ed il desktop environment mi presenta il tutto senza dover aprire ogni singola cosa a mano.&lt;/div&gt;&lt;div&gt;Mi spiace per Seigo, ma io tutto questo lo avevo gia' valutato ed analizzato nel 2004 (&lt;a href="http://web.archive.org/web/20040811043949/http://braintop.sourceforge.net/"&gt;come conferma&lt;/a&gt; &lt;a href="http://www.archive.org/"&gt;archive.org&lt;/a&gt;) nel contesto del &lt;a href="http://lobotomy-dev.blogspot.com/2008/05/saranno-famosi.html"&gt;fu' progetto BrainTop&lt;/a&gt;. E l'ho gia' scartato.&lt;/div&gt;&lt;div&gt;Il concetto e' molto semplice: quel che gli utenti fanno col PC non sempre e' classificabile all'interno di un singolo task, anzi cio' accade piu' raramente di quanto non si creda. L'esempio piu' banale e' quello del player multimediale che in background riproduce musica di sottofondo: esso e' totalmente scorrelato da qualsiasi attivita', e ben difficilmente una data colonna sonora e' univoca e definita per un task. Esempio meno banale sono le comunicazioni sincrone ed asincrone che ognuno di noi si trova a gestire in qualunque momento della giornata: la gente mi contatta in chat indipendentemente da quel che sto facendo, cosiccome mi arrivano continuamente mail da ogni mittente e su ogni tema; tale mole di attivita' de-contestualizzate dovrebbero essere identificate in quanto tali, ed il sistema dovrebbe riconoscere (non si sa come...) l'incongruenza logica evitando di contemplate all'interno della mia sessione di lavoro il programma risvegliato da un input esterno.&lt;/div&gt;&lt;div&gt;Piu' complesso e' il ragionamento sulla quantita' di compiti che in ogni momento si svolgono. La scienza &lt;a href="http://www.medicinenet.com/script/main/art.asp?articlekey=119810"&gt;dice&lt;/a&gt;, giustamente, che le persone non possono fare piu' di una cosa alla volta. O meglio: che tale pratica e' deleteria. Eppure tutti lo fanno. Una mezza occhiata a Facebook o alle news o alla posta la si da anche lavorando, o magari ci sono momenti in cui si stanno effettivamente mettendo le mani su due cose completamente diverse (in questo preciso momento io sto bloggando a smozzichi tra una compilazione e l'altra di &lt;a href="http://gasdotto.net/"&gt;GASdotto&lt;/a&gt;). Come dovrebbero comportarsi le "attivita'" in questo caso? Dovrebbero forse mergiare i task tra loro? O includere gli applicativi consultati occasionalmente?&lt;/div&gt;&lt;div&gt;Insomma: dopo averci gia' a lungo ragionato, io sono giunto alla conclusione che codesta suddivisione del lavoro e' perfetta in un mondo ideale e perfetto ma non calza affatto i casi d'uso reali. Attendo di vedere quanto tempo sara' necessario ai team KDE e Gnome per accorgersene a loro volta.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1273546153155908565?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1273546153155908565/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1273546153155908565' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1273546153155908565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1273546153155908565'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/10/attivita-collaterale.html' title='Attivita&apos; Collaterale'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-585253373643990887</id><published>2010-08-26T20:12:00.003+02:00</published><updated>2010-08-28T01:11:42.169+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><title type='text'>Mappa Geo/Mentale</title><content type='html'>Qualche tempo addietro il buon &lt;a href="http://seilo.geekyogre.com/"&gt;Seif Lofty&lt;/a&gt;, maintainer dello stravagante progetto &lt;a href="http://zeitgeist-project.com/"&gt;Zeitgeist&lt;/a&gt;, ha pubblicato &lt;a href="http://seilo.geekyogre.com/2010/07/zeitgeist-geolocation-magic/"&gt;un esempio&lt;/a&gt; di cio' che e' possibile fare appunto con il suo collettore di informazione.&lt;div&gt;In una applicazioncina, approntata a mo' di hack, viene presentata una mappa geografica, e cliccando su di essa vengono visualizzati i files editati o consultati mentre ci si trovava in tale posto. O anche, come dimostrato nello screencast, le persone con cui si ha chattato stando in tale locazione.&lt;/div&gt;&lt;div&gt;Il concetto mi garba assai, perche' aggiunge un ottimo criterio di ricerca per facilitare l'individuazione dei files cui si e' interessati: lo spazio fisico. Accade infatti piu' spesso di quanto non si creda (almeno a me) di ricordare di aver fatto o visto qualcosa di interessante mentre ci si trovava in un dato luogo, magari a casa di un amico o nel bel mezzo di un raduno di smanettoni, e nel suo piccolo codesto simpatico software si presenta come ottimo connubio tra facilita' d'uso ed efficienza del risultato.&lt;/div&gt;&lt;div&gt;Dal canto mio avevo gia' iniziato a valutare tempo addietro questo genere di correlazioni "ambientali" per facilitare la navigazione dei contenuti, tant'e' che nella &lt;a href="http://lobotomy-project.org/wiki/ThoughtsList"&gt;lista&lt;/a&gt; di possibili &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;Thoughts&lt;/a&gt; per &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt; avevo immesso anche una fantomatica "Timeline" che mettesse in parallelo l'accesso ai documenti con altri parametri apparentemente totalmente scorrelati tipo gli eventi del calendario (per sapere cosa e' stato consultato mentre ci si trovava ad un dato appuntamento, concetto gia' superficialmente implementato dal file manager &lt;a href="http://www.blogger.com/www.iola.dk/nemo/"&gt;Nemo&lt;/a&gt;) o addirittura le condizioni meteo ("L'altro giorno pioveva e ne ho approfittato per scrivere quel file, dove l'ho messo...?").&lt;/div&gt;&lt;div&gt;Piu' in generale credo che tale genere di espedienti multisensoriali siano una ottima strada da esplorare nella corsa al data management moderno, in questi tempi cosi' ricchi di materiale da gestire e cosi' scarsi strumenti per farlo. Il fatto di estendere le capacita' di ricerca entro una dimensione, appunto lo spazio e le condizioni fisiche, cui il nostro cervello e' assai ben abituato da qualche centinaio di migliaia di anni di evoluzione e' un inestimabile valore aggiunto, esattamente perche' rende l'operazione di ricerca estremamente piu' naturale.&lt;/div&gt;&lt;div&gt;Si avvicina il momento in cui l'odierna gerarchia a cartelle sara' sostituita da qualcos'altro, magari una cartina geografica...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-585253373643990887?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/585253373643990887/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=585253373643990887' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/585253373643990887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/585253373643990887'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/08/mappa-geomentale.html' title='Mappa Geo/Mentale'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7535071868817654189</id><published>2010-08-26T01:37:00.006+02:00</published><updated>2010-08-26T20:00:55.528+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='synapse'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Pensieri Androidi</title><content type='html'>Poco tempo fa' ho finalmente acquistato un &lt;a href="http://www.htc.com/it/product/desire/overview.html"&gt;HTC Desire&lt;/a&gt;, simpatico smartphone che monta di serie il ben noto sistema operativo &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; di &lt;a href="http://www.google.it/"&gt;Google&lt;/a&gt;. Manco a dirlo tre giorni dopo l'acquisto ho scaricato &lt;a href="http://developer.android.com/sdk/index.html"&gt;l'SDK&lt;/a&gt; ed ho iniziato a dare una occhiata alle &lt;a href="http://developer.android.com/guide/index.html"&gt;guide per i developers&lt;/a&gt;, anche se solo adesso (dopo una settimana di vacanza a zonzo per il nord Italia e l'urgente lavoro per la release 2.0 di &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt;) comincio a comprendere le nozioni di base della piattaforma.&lt;div&gt;Non nego di essermi un poco stupito nello scoprire l'estrema somiglianza tra quelli che in Android vengono chiamati &lt;a href="http://developer.android.com/guide/topics/ui/index.html"&gt;"Layout"&lt;/a&gt; e i &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;"Thoughts"&lt;/a&gt;, alla base di un po' tutta l'architettura grafica di &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;In entrambi, l'intera interfaccia di ogni schermata viene definita all'interno di un file XML, che verra' poi interpretato per piazzare i widgets al posto dei tags definiti. Contrariamente a &lt;a href="https://developer.mozilla.org/en/xul"&gt;XUL&lt;/a&gt; codesti files non contengono alcuna componente funzionale, solo ed esclusivamente la disposizione degli elementi grafici.&lt;/div&gt;&lt;div&gt;In entrambi, ogni file rappresenta una singola schermata. In Android, se una applicazione prevede piu' sezioni ciascuna di esse deve essere definita all'interno di un suo specifico XML, che vive una vita propria e prende il nome di &lt;a href="http://developer.android.com/guide/topics/fundamentals.html"&gt;"Activity"&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;In entrambi, i componenti sono riutilizzabili, miscelabili e richiamati da una parte all'altra in modo trasparente, anche tra applicazioni diverse. Sulla piattaforma di Google il meccanismo prende il nome di &lt;a href="http://developer.android.com/guide/topics/intents/intents-filters.html"&gt;"Intents"&lt;/a&gt; (da &lt;a href="http://www.openintents.org/"&gt;"Open Intents"&lt;/a&gt;, progetto nato come piattaforma all'interno della piattaforma e alla fine incastonato nel core vero e proprio di Android), e benche' a prima vista sia poco sfruttato dal software attualmente nel &lt;a href="http://www.android.com/market/"&gt;Market&lt;/a&gt; ha ricche potenzialita'.&lt;/div&gt;&lt;div&gt;Ovviamente esistono anche differenze tra i "Thoughts" di Lobotomy ed i "Layouts" di Android: i primi prevedono una assai piu' netta separazione tra interfaccia grafica e codice funzionale, e la possibilita' di creare i propri widgets da usare e riusare all'interno della definizione XML. E' comunque molto interessante constatare come tali concetti, fino ad ora esistiti solo nei miei appunti, vengano adottati all'interno di un ambiente di questo spessore, ed ancora piu' interessante e' misurarsi con essi sul piano pratico tentando di costruire qualcosa partendo da siffatti strumenti.&lt;/div&gt;&lt;div&gt;Per ora, continuo ad indagare sulla visione degli ingegneri Google provando a capirci qualcosa.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7535071868817654189?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7535071868817654189/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7535071868817654189' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7535071868817654189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7535071868817654189'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/08/pensieri-androidi.html' title='Pensieri Androidi'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-9065429494058891367</id><published>2010-07-31T13:01:00.006+02:00</published><updated>2010-08-03T01:12:37.351+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='informazione'/><category scheme='http://www.blogger.com/atom/ns#' term='GASdotto'/><title type='text'>Informazione Colorata</title><content type='html'>Nella oramai imminente release 2.0 di &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; (stando alla roadmap attuale dovrebbe essere rilasciata entro la fine di agosto) e' stato introdotto un nuovo pannello dedicato ai grafici: per mezzo della &lt;a href="http://code.google.com/apis/visualization/interactive_charts.html"&gt;Google Visualization API&lt;/a&gt;, &lt;a href="http://code.google.com/p/gwt-google-apis/"&gt;integrata in GWT&lt;/a&gt;, ho aggiunto qualche disegnino che rappresenta graficamente in forma di barre e torte il numero di utenti che hanno ordinato qualcosa presso un fornitore, a quanto ammonta la cifra totale degli ordini effettuati in un dato intervallo di tempo, e quali sono i prodotti piu' richiesti. Credo che sia venuto abbastanza bene, i grafici sono graziosi ed abbastanza ben leggibili.&lt;br /&gt;L'altra sera ero a casa dell'amico che mi da una mano con lo sviluppo, o meglio che mi guida suggerendo features e migliorie: essendo uno dei responsabili di uno dei Gruppi di Acquisto piu' grossi di Torino, il quale gruppo e' peraltro il maggior fruitore "ufficiale" dell'applicazione, ha accesso ad una mole di dati immensa ed estremamente utile per effettuare test piu' che significativi sul software.&lt;br /&gt;Ero a casa sua, dicevo, ed insieme a noi c'era un altro amico, anche lui all'interno dello stesso GAS, e stavamo contemplando lo stato attuale della piattaforma (il cui codice, seppur non rilasciato, e' accessibile a tutti dal &lt;a href="http://barberaware.org/scm/?group_id=32"&gt;repository SVN&lt;/a&gt;) su uno snapshot della base dati realmente utilizzata dal gruppo. Quando e' stato aperto il pannello delle statistiche, il grafico a torta rappresentante la spartizione dei quattrini tra i diversi fornitori visualizzava uno spicchio grosso quasi quanto un quarto del totale. "A chi diamo tutti questi soldi?", e' stata la reazione del nostro ospite. Ne e' emerso che, per un motivo o per l'altro, un singolo produttore (su circa 17) assorbiva appunto quasi un quarto delle attenzioni della combriccola, in evidente contrasto con quello che dovrebbe essere lo spirito di equita' e solidarieta' che anima questo genere di iniziative.&lt;br /&gt;Tutto questo fior fior di aneddoto per ribadire qualcosa di non nuovo: una rappresentazione grafica che riassuma in un colpo solo una discreta quantita' di dati fornisce nozioni che sarebbero afferrabili solo analizzando molto attentamente i dati stessi, o per meglio dire nozioni che altrimenti a nessuno verrebbe mai in testa di analizzare.&lt;br /&gt;Coloro che seguono &lt;a href="http://www.informationisbeautiful.net/"&gt;Information is Beautiful&lt;/a&gt;, noto blog interamente dedicato agli infographics (nome altisonante per indicare l'arte di far grafici che siano anche belli da vedere), sanno bene a cosa mi riferisco: non e' raro trovarsi dinnanzi a pochi pixel colorati che spiegano una quantita' infinita di cose, cui magari non si e' mai pensato. Nel mio piccolo anche io ho iniziato recentemente ad esplorare questo particolare settore con l'esperienza di &lt;a href="http://masciap.barberaware.org/"&gt;Masciap&lt;/a&gt;, blog in cui ogni settimana i dataset pubblicati sull'&lt;a href="http://www.dati.piemonte.it/"&gt;apposito portale&lt;/a&gt; della Regione Piemonte vengono tradotti in numeri e grafici, e nonostante la giovane eta' del progetto qualche considerazione significativa e' gia' &lt;a href="http://masciap.barberaware.org/wordpress/?p=36"&gt;saltata fuori&lt;/a&gt;.&lt;br /&gt;Vorrei nel prossimo futuro includere grafici e tabelle in ogni posto dove sia possibile farlo (gia' tale genere di funzionalita' e' prevista nella roadmap a lungo termine di &lt;a href="http://maintainr.barberaware.org/"&gt;Maintainr&lt;/a&gt;, per riassumere il tempo dedicato ad ogni progetto gestito dal programma), in quanto essi sono un valore aggiunto di inestimabile valore: poche semplici barre possono drasticamente aiutare ad individuare situazioni anomale, e permettere all'utente di agire per correggere il tiro nei confronti dei suoi propri obiettivi, richiedendo del resto uno sforzo minimo da parte di chi implementa l'applicazione.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-9065429494058891367?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/9065429494058891367/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=9065429494058891367' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/9065429494058891367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/9065429494058891367'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/07/informazione-colorata.html' title='Informazione Colorata'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1061936576418624470</id><published>2010-07-17T00:19:00.006+02:00</published><updated>2010-07-18T00:02:56.421+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Automazione per Induzione</title><content type='html'>Qualche tempo addietro vidi che in &lt;a href="http://userbase.kde.org/Kmail"&gt;KMail&lt;/a&gt; era stata introdotta una &lt;a href="http://www.omat.nl/2010/05/17/accountwizard-demo/"&gt;simpaticissima feature&lt;/a&gt;: dato un indirizzo mail e la relativa password, esso autoconfigurava l'account identificando il server SMTP, il server POP3, le porte di accesso, l'autenticazione SSL attivata o meno, insomma tutti quei dettagli che raramente un utente domestico comprende e che nella migliore delle ipotesi copia e incolla pedestramente dalla pagina di supporto del sito web del provider di fiducia.&lt;br /&gt;Sul momento ho pensato che il suddetto programma dovesse appoggiarsi ad un qualche database online di configurazioni, e dopo qualche indagine sono giunto ad una succulenta scoperta: il meccanismo si chiama &lt;a href="https://ispdb.mozillamessaging.com/"&gt;ISPDB&lt;/a&gt; ed e' stato ideato da &lt;a href="http://www.mozilla.com/en-US/"&gt;Mozilla&lt;/a&gt; per &lt;a href="http://www.mozillamessaging.com/en-US/thunderbird/"&gt;Thunderbird&lt;/a&gt; (il loro client di posta), e sebbene l'API sia pressoche' inesistente (un URL cui accodare il dominio che interessa, che ritorna indietro un XML) e ben nascosta (ho ravanato un poco per trovare &lt;a href="https://developer.mozilla.org/en/Thunderbird/Autoconfiguration#ISPDB"&gt;un riferimento&lt;/a&gt; al sopra menzionato URL) risulta comunque vagamente usabile. Tant'e' che persino &lt;a href="http://projects.gnome.org/evolution/"&gt;Evolution&lt;/a&gt; &lt;a href="http://groups.google.com/group/tb-planning/browse_thread/thread/638beb6fc8c2b644/ab05092a7655211d"&gt;supporta&lt;/a&gt; da poco tale sistema.&lt;br /&gt;Chiaramente mi sono precipitato a mettere insieme del codice per usare tale base di dati, e piu' precisamente ho accrocchiato &lt;a href="http://barberaware.org/snippet/detail.php?type=snippet&amp;amp;id=39"&gt;una funzione PHP&lt;/a&gt; che verra' nel prossimo futuro integrata in &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; per facilitare la configurazione delle mail in uscita generate dal programma.&lt;br /&gt;Sorvolando sulla mia fregola programmatoria, mi compiaccio del fatto che qualcuno abbia avuto questa bella idea di voler automatizzare qualcosa di facilmente automatizzabile ed abbia messo in piedi un sistema tutto sommato semplice e scontato per ottenere qualcosa che, per l'utente casalingo, semplice e scontato non e'. ISPDB e' un &lt;a href="http://it.wikipedia.org/wiki/Uovo_di_Colombo"&gt;Uovo di Colombo&lt;/a&gt;, implementato come detto molto alla buona, ma io credo che nella sua modestia sia un ottimo esempio di come si possa parecchio facilitare la vita all'utente finale: pescando parametri del resto sempre uguali tra loro da una base dati condivisa si evita di dover effettuare la procedura a mano, eliminando peraltro tutti i rischi e le frustrazioni dovute a copia&amp;amp;incolla malamente eseguiti a causa del fatto che chi opera non capisce realmente cosa sta facendo.&lt;br /&gt;La dimostrazione di come un pugno di dati forniti di una semantica possano risolvere problemi, anche grossi, concreti e sotto gli occhi di tutti.&lt;br /&gt;Probabilmente ci sono molti altri casi in cui si potrebbe procedere per metodo induttivo, individuando alcuni patterns ripetitivi ed incastonandoli in un unico flusso gestibile in larga parte per via automatica. Tutto sta nello scoprirli ed ingegnerizzarli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1061936576418624470?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1061936576418624470/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1061936576418624470' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1061936576418624470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1061936576418624470'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/07/automazione-per-induzione.html' title='Automazione per Induzione'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2772691027929173363</id><published>2010-07-10T20:14:00.003+02:00</published><updated>2010-07-12T01:11:42.212+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>ZUI, Ma Anche No</title><content type='html'>Constato adesso il fatto di non aver mai menzionato le ZUI (&lt;a href="http://en.wikipedia.org/wiki/Zooming_user_interface"&gt;Zooming User Interface&lt;/a&gt;) su &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo blog&lt;/a&gt;, ma ora, dopo la lettura di &lt;a href="http://www.anobii.com/books/The_Humane_Interface/9780201379372/00570e9cc50e8c19b4/"&gt;The Humane Interface&lt;/a&gt;, mi e' inevitabile.&lt;br /&gt;Nel suo pluri-osannato saggio, il fu' &lt;a href="http://en.wikipedia.org/wiki/Jef_Raskin"&gt;Raskin&lt;/a&gt; dedica ampio spazio alla descrizione di interfacce per sistemi general purpose incentrate sul fatto di poter navigare sostanzialmente in tre dimensioni le informazioni, distribuite non gia' all'interno di un albero bidimensionale (la ben famigliare gerarchia a cartelle) ma su una serie potenzialmente infinita di piani "trasparenti" cui accedere zoomando una data porzione dello schermo fintantoche' ci sia qualcosa da zoomare. A tale sistema viene attribuita la capacita' di mostrare moli importanti di dati in un unico colpo d'occhio, una migliore intuitivita' nell'interazione, e l'implicita' possibilita' di embeddare nella stessa interfaccia funzionalita' complesse che, ai fatti, possono sostituire le canoniche applicazioni cui siamo abituati con un agglomerato onnipotente ed onnipresente ben piu' omogeneo.&lt;br /&gt;Personalmente, non sono particolarmente favorevole al paradigma suggerito dalla ZUI. Certamente sono propenso all'ultima nozione di eliminazione delle singole applicazioni (del resto, buona parte del &lt;a href="http://lobotomy-project.org/"&gt;Progetto Lobotomy&lt;/a&gt; si basa su &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;tale concetto&lt;/a&gt;), ma non posso essere d'accordo in merito all'effettiva efficienza sul trattamento delle informazioni.&lt;br /&gt;In primis: seppur tridimensionale anziche' bidimensionale, pur sempre di una gerarchia si tratta. Gli elementi a video sono sempre raggruppati tra loro secondo un unico criterio arbitrario e non riproducibile o prevedibile definito dall'utente: laddove nell'albero a cartelle i files si trovano nelle directory scelte (spesso malamente) dall'utilizzatore qui vanno posizionati all'interno dello spazio, ma comunque sempre in una qualche "zona" la cui reperibilita' e' sempre delegata alla (fragile) memoria del povero tapino che sta dall'altra parte del monitor. Anzi, in uno spazio tridimensionale si aggiunge una ennesima dimensione entro cui potersi perdere: nel momento in cui sto cercando un documento non devo ricordarmi solo in quale gruppo di documenti l'ho messo, ma potrei benissimo non rintracciarlo essendo esso visibile solo ad un livello di zoom minore o maggiore rispetto a quello attuale.&lt;br /&gt;Per estensione, anche il vantaggio della quantita' di dati visualizzati in un colpo solo viene minato appunto dalla mancanza di conoscenza a priori del giusto livello di zoom entro cui un dato si trova: quel che sto cercando potrebbe benissimo essere stato piazzato in uno strato "superiore", e dunque essere identificabile solo "allargando" la visuale e perdendo la percezione di quel che si trova negli strati "inferiori".&lt;br /&gt;Nel tomo del Raskin viene illustrato l'esempio di una ZUI usata per descrivere l'organizzazione di una serie di cliniche: certamente un impiego del genere sarebbe ben piu' appropriato di un sistema "general purpose", in quanto le informazioni da maneggiare sono gia' distribuite entro una gerarchia nota che si vuole riprodurre metaforicamente (le cliniche, ovvero gli edifici, composti da piani, composti da stanze, popolate da letti in cui stanno i pazienti), ma il problema della navigabilita' rimane: per accedere ai dettagli relativi ad una persona devo sapere a priori dove essa si trova (quale edificio, quale piano, quale stanza, quale letto), e per quanto una funzione di ricerca full-text possa essere facilmente innestata in modo che dato un nome l'interfaccia possa zoomare da sola dove richiesto non e' chiaro quale dovrebbe essere il comportamento in caso di risultati multipli (schermo splittato, ove ogni parte visualizza la porzione corretta dello schema completo???).&lt;br /&gt;Numerosi altri punti sono altrettanto mai risolti, in particolar modo a riguardo del comportamento da adottare con contenuti non testuali: se ho una immagine, mi sposto a destra, ingrandisco finche' non vedo piu' nessuna parte di suddetta immagine, e mi sposto a sinistra, cosa succede? Ho girato dietro l'immagine, e dunque vedo uno spazio bianco? Vedo la stessa immagine zommata? Se creo li' un documento, esso dove andra' a finire? Sotto l'immagine? Dentro l'immagine? Tornando indietro e zommando l'immagine, essa diverra' prima o dopo "trasparente" e mi permettera' di accedere a quello che c'e' sotto o dovro' sempre aggirarla? A tutte queste domande puo' dare una risposta l'eventuale implementatore, e gia' ho visto diverse implementazioni piu' o meno abbozzate di tale meccanismo, ma personalmente credo che almeno per i quesiti qui sopra esposti non esista nessuna soluzione che al tempo stesso permetta una aderenza stretta al paradigma e una sufficiente facilita' di utilizzo: da una parte lo zoom infinito su di una fotografia e' fondamentalmente inutile ed implica di perdere totalmente l'accesso a tutta la parte di spazio che vi sta sotto ma viene richiesto dalla specifica, dall'altra la possibilita' di considerare i contenuti troppo allargati come "saltati" aggiunge una complessita' non da poco alle operazioni di esplorazione dello spazio (di cui alcune parti sono occasionalmente nascoste e pressoche' impossibili da trovare senza premeditazione).&lt;br /&gt;Piu' in generale, ribadisco che per quanto certamente migliore della suddivisione a cartelle anche questa forma spaziale rappresenta pur sempre una gerarchia la cui organizzazione e' lasciata alla cura (o, meglio, alla noncuranza) dell'utente, ed e' dunque destinata a fallire trovando il suo punto critico proprio nell'elemento meno affidabile di tutto il percorso di interazione uomo-macchina. Per quanto mi concerne continuo a preferire di gran lunga la possibilita' di "trovare" piu' che di "cercare", e &lt;a href="http://seilo.geekyogre.com/2010/07/finding-vs-exploring-some-initial-prototypes/"&gt;non sono l'unico&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2772691027929173363?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2772691027929173363/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2772691027929173363' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2772691027929173363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2772691027929173363'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/07/zui-ma-anche-no.html' title='ZUI, Ma Anche No'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8660186667059513839</id><published>2010-06-23T03:46:00.004+02:00</published><updated>2010-06-23T04:06:59.423+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Maintainr</title><content type='html'>Croce e delizia di ogni developer fancazzista, quale sono ad esempio io, sono gli occasionali progettucci in cui sin troppo spesso ci si va ad infognare, in gergo detti "pet projects". Questi ci permettono di passare qualche pomeriggio smanettando su qualcosa di inedito, talvolta fungono da pretesto per metter mano ad una nuova libreria o ad un nuovo concetto appena appreso, e comunemente inducono quella piacevole attivita' cerebrale creativa spontanea che tanto piace alle gioconde menti dei programmatori. Quando si inizia una nuova impresa, parallelamente si iniziano ad innalzare architetture software estrose ed arzigogolate per il puro gusto di contemplare l'infinito, ed intanto si immagina il giorno in cui il nostro programmuccio girera' su tutti i PC del pianeta con schiere di utenti felici e riconoscenti del nostro operato.&lt;br /&gt;Ma la realta' dei fatti e' ben diversa: nella stragrande maggioranza dei casi il progetto parte a razzo e si scrivono cento, duecento, mille righe di codice in pochi giorni, si ottiene una funzionalita' che vagamente somiglia a quello che avevamo in mente in principio, dopodiche' l'attenzione viene sottratta da qualche nuova idea o da una urgenza personale o professionale, oppure l'entusiasmo scema per un decadimento nella fiducia nella vision originaria o tentando di far fronte alle noiose sessioni di debugging che inevitabilmente accompagnano ogni cviclo di sviluppo. A quel punto, il progettuccio resta nella migliore delle ipotesi un repository abbandonato sul web (tanto quanto, qualcuno potra' prima o poi trovarlo e far qualcosa con quel codice, fosse anche solo prenderlo come spunto), nella peggiore viene totalmente perso.&lt;br /&gt;Di mio, ho portato all'esasperazione questa malsana (ma neanche poi tanto...) pratica: avendo una discreta quantita' di tempo libero ho avviato un numero impossibile di piccoli e grandi lavori, dei genere piu' disparati, con ogni grado di pretenziosita', e che si trovano ad oggi ad eterogenei livelli di sviluppo. E per arrestare l'inarrestabile fenomeno dell'abbandono a strascico, ho ben pensato di... avviare un nuovo progetto.&lt;br /&gt;&lt;a href="http://maintainr.barberaware.org/"&gt;Maintainr&lt;/a&gt; si tratta di una applicazioncina molto stupida, il cui scopo e' quello di gestire in un posto solo tutti gli appunti e gli aspetti di promozione del proprio sforzo operativo. Ogni idea ha una sua propria todolist, un proprio pannellino con cui inviare notifiche su &lt;a href="http://identi.ca/"&gt;identi.ca&lt;/a&gt;, e nel prossimo futuro qualche opzione per interfacciarsi con &lt;a href="http://gtk-apps.org/"&gt;gtk-apps.org&lt;/a&gt; ed esporre il proprio software ed i relativi aggiornamenti presso una community decentemente vasta.&lt;br /&gt;Tra tutte, la funzione che preferisco e che ho preteso sin dall'inizio e' lo scheduling semi-automatico: pigiando un tastino posto in alto nella finestra l'ordine dei progetti della lista cambia, spostando in cima il piu' consigliato secondo una banalissima euristica basata sulle priorita' assegnabili ad ognuno di essi, al fine di ciclare periodicamente e dedicare a tutti un poco del proprio tempo per non lasciarne nessuno indietro. Per quanto apparentemente sciocca, quest'ultima funzione e' piu' utile di quanto si possa immaginare: come da me gia' sperimentato (usando &lt;a href="http://zim-wiki.org/"&gt;Zim&lt;/a&gt;, programma il cui impiego mi ha ispirato Maintainr) il fatto di far decantare periodicamente il proprio codice, magari quando pare di essere giunti ad un punto morto o si sbatte la testa per piu' tempo di quanto tollerabile su un bug enigmatico, permette di tornarci poi con maggiore ardore in un momento successivo, in quanto nel mezzo c'e' stato un periodo di "riposo" (ad esempio l'impegno su qualche altro componente piu' soddisfacente) e nel frattempo abbiamo inconsciamente gia' analizzato e risolto la situazione. Questo aiuta a non perdere il coinvolgimento nei confronti di un particolare opera, e dunque di perseguire l'obiettivo per un periodo piu' lungo (sebbene intervallato da altro).&lt;br /&gt;La disponibilita' di strumenti "social" all'interno dell'applicazione mette in luce l'aspetto propagandistico della stessa: per far vivere e prosperare un progetto e' necessario avere un pubblico, anche solo per auspicare di ricevere quel feedback sintomo di interesse degli altri che e' vitale per mantenere viva la passione del developer, e tanto vale sfruttare a proprio vantaggio gli infiniti canali di condivisione messi a disposizione oggigiorno dal "Web 2.0". Dato un modesto sforzo iniziale (registrare appunto il progetto su gtk-apps.org, un account dedicato su identi.ca, un &lt;a href="http://www.google.com/alerts/"&gt;alert Google&lt;/a&gt;, e nel futuro magari una pagina &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; e quant'altro), scopo di Maintainr e' riuscire a tenere aggiornato il resto del mondo sugli sviluppi interni dedicando il minimo tempo possibile a tale occupazione.&lt;br /&gt;Una estremamente limitata &lt;a href="http://barberaware.org/frs/shownotes.php?release_id=45"&gt;release 0.1&lt;/a&gt; e' stata &lt;a href="http://barberaware.org/forum/forum.php?forum_id=184"&gt;rilasciata&lt;/a&gt; l'altro giorno, e si tratta piu' che altro di un primo abbozzo ampiamente migliorabile. Ad ogni modo io stesso ho iniziato ad usare l'applicazione (che di fatto ho costruito basandomi sulle mie proprie necessita'), e sebbene il periodo di prova sia ad ora troppo bene confermo di trovarmici meglio che non con un tool general purpose per gli appunti. Ma ovviamente io sono di parte.&lt;br /&gt;Vediamo se con uno strumento tagliato su misura mi aiuta ad essere un miglior maintainer...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8660186667059513839?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8660186667059513839/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8660186667059513839' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8660186667059513839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8660186667059513839'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/06/maintainr.html' title='Maintainr'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2528928819848201637</id><published>2010-06-21T14:02:00.004+02:00</published><updated>2010-06-21T14:09:05.625+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='GTK+'/><category scheme='http://www.blogger.com/atom/ns#' term='esperienze'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Autocompletamento poco "Auto"</title><content type='html'>In &lt;a href="http://www.gtk.org/"&gt;GTK&lt;/a&gt;, cosiccome suppongo in ogni altro toolkit grafico sia desktop che web, si trova &lt;a href="http://library.gnome.org/devel/gtk/2.90/GtkEntryCompletion.html"&gt;GtkEntryCompletion&lt;/a&gt;, comoda utility per gestire l'autocompletamento delle caselle di testo. Si popola una struttura dati con gli elementi validi (pescandoli da una history, da un database o quel che e'), e quando l'utente inizia a scrivere qualcosa che combacia almeno parzialmente con uno o piu' di suddetti elementi appare la casellina a tendina da cui si puo' selezionare il testo gia' completato. Il comportamento classico della barra degli indirizzi di un browser, insomma.&lt;br /&gt;Finche' ci si accontenta di far semplicemente selezionare una voce e basta va (quasi) tutto bene, un po' piu' complicato e' far triggerare dall'atto della selezione una qualche azione (nel caso specifico che mi sono trovato ad affrontare: popolare un form con i dettagli relativi al nome scelto). In quanto il widget non copre molti casi d'uso che classicamente si osservano con utenti reali.&lt;br /&gt;Stando a quanto ho visto nella mia esperienza, non sono cosi' tante le persone che sfruttano davvero l'autocompletamento; la situazione classica e' appunto la barra del browser, che sicuramente e' il caso piu' facilmente osservabile in natura. Non conto piu' le volte in cui ho visto utenti scrivere per intero i loro URL, ignorando completamente la casella di selezione del completamento oppure, peggio ancora, vedendola ed usandola come riferimento per copiare a mano la stringa intera. Vuoi per ignoranza sul meccanismo inteso per la corretta fruizione di questo componente grafico, vuoi perche' molti scrivono guardando la tastiera e dunque magari non notano cosa viene proposto sul monitor, vuoi per una qualche abitudine vestigiale a non farsi aiutare dal PC, vuoi per anacronistiche velleita' amanuensi, sperare di triggerare una selezione solo ed esclusivamente con la procedura prevista (inserimento del testo, individuazione della voce completata, attivazione per mezzo di click o di selezione con le freccette direzionali e del tasto Return) e' sintomo di eccessivo ottimismo.&lt;br /&gt;In questo contesto, almeno due situazioni possono capitare:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;l'utente fa quello che ci si aspetta che faccia&lt;/li&gt;&lt;li&gt;l'utente scrive a mano la voce gia' completata, ignorando il completamento automatico, e pigia Return (universalmente inteso come "terminatore di input"), oppure Tab, oppure cliccando da qualche altra parte alla fine&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Per provvedere a gestire in modo decoroso il secondo caso, occorre veramente fare i salti mortali: registrare delle callback sugli eventi di &lt;a href="http://library.gnome.org/devel/gtk/2.90/GtkWidget.html#GtkWidget-focus-out-event"&gt;focus-out&lt;/a&gt; e &lt;a href="http://library.gnome.org/devel/gtk/2.90/GtkWidget.html#GtkWidget-key-press-event"&gt;key-press&lt;/a&gt; (quest'ultimo per intercettare il Return), in cui compiere a mano la ricerca del testo immesso nella casella di testo nella struttura dati che contiene i valori buoni, e se opportuno comportarsi come se l'autocompletamento fosse stato attivato come voluto. Spiegarlo a parole e' molto piu' semplice che non implementarlo davvero.&lt;br /&gt;Se cosi' non si facesse, il rischio sarebbe quello di avere un nome perfettamente valido nella casella di testo ma non tutti gli altri buoni altrove. Con le conseguenze piu' nefaste: l'utente riprova piu' volte a riscrivere la stringa, non comprendendo cosa ha fatto di diverso rispetto alle spiegazioni ricevute che mostravano la comodissima e sfavillante attivazione di tutto il resto, oppure l'utente compila a mano i campi che avrebbero dovuto essere riempiti autonomamente, distruggendo la sequenza logica prevista. Nel mio caso: se il form viene popolato quando nessuna voce valida e' selezionata, viene creata una nuova entry nel database; fare un controllo postumo sull'univocita' del nome introdotto sarebbe abbastanza controproducente e frustrante per il povero tapino che nel frattempo si e' riscritto tutto quanto a manina, andando a reperirlo chissa' dove.&lt;br /&gt;Abitudini e limitazioni dell'utenza sono un grande, grandissimo grattacapo, cui purtroppo ci si deve confrontare nel momento in cui si voglia realizzare una interfaccia usabile senza eccessivo sforzo dalla maggior parte delle persone. Una perdita di tempo di due ore da parte mia, che ho dovuto individuare e risolvere il problema dell'attivazione dell'autocompletamento con metodi del resto opinabili, consegue ad un piccolo risparmio di patemi moltiplicato per il numero di tutti i futuri utilizzatori del programma.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2528928819848201637?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2528928819848201637/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2528928819848201637' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2528928819848201637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2528928819848201637'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/06/autocompletamento-poco-auto.html' title='Autocompletamento poco &quot;Auto&quot;'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7446435373791065945</id><published>2010-06-06T19:44:00.002+02:00</published><updated>2010-06-06T19:52:10.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Notifiche Relazionali</title><content type='html'>Gia' diverso tempo addietro ebbi una mezza idea per una funzionalita' da implementare (mai, come al solito) all'interno di Lobotomy: una gestione relazionale delle notifiche che occasionalmente si presentano sui nostri monitor. Ne ho scritto in questi giorni &lt;a href="http://lobotomy-project.org/wiki/Notifications"&gt;una pagina&lt;/a&gt; sul &lt;a href="http://lobotomy-project.org/"&gt;wiki del progetto&lt;/a&gt;, ma l'originale l'ho steso in italiano e dunque tanto vale pubblicare anche questo sul &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;blog&lt;/a&gt; ad uso e consumo di chi non comprende l'inglese maccaronico o vuole ridere della mia pessima traslazione comparando le due versioni.&lt;br /&gt;&lt;br /&gt;Le notifiche sono croce e delizia dell'esperienza sul desktop: spesso disturbano ed interrompono il lavoro, ma al contempo ci permettono di intervenire laddove necessario in un dato momento. Un caso di "notifica inevitabile" e' quella che ci avverte in merito ad una nuova sessione di chat aperta da qualcuno dei nostri contatti: essendo questo un mezzo di comunicazione real-time l'attenzione dell'utente e' immediatamente richiesta per mezzo di icone lampeggianti, finestre che appaiono in popup, suoni e quant'altro. Un esempio di "notifica non inevitabile ma consigliata" e' quella che ci avverte dell'arrivo di nuove e-mail: se ne potrebbe fare a meno, non fosse che senza un meccanismo che ci informa in tal senso saremmo portati a consultare compulsivamente la nostra casella di posta per fare a mano quello che il computer farebbe automaticamente.&lt;br /&gt;Assunto dunque che non ci si puo' esimere dalla gestione di notifiche attive nei confronti di particolari eventi che accadono nel nostro ambiente operativo virtuale, si possono sfruttare le potenzialita' di un desktop relazionale per meglio raffinare le attivita' per cui vogliamo essere eventualmente disturbati, ponendo un argine al numero di notifiche inutili e non desiderate.&lt;br /&gt;Lobotomy e' pensato dall'inizio per visualizzare insiemi arbitrari di dati, selezionati con query piu' o meno complesse. Non sarebbe difficile predisporre un sistema di notifiche che si attivino nel momento in cui il result set descritto dalla query cambi, o per la creazione di un nuovo elemento che ricada all'interno della definizione o per la modifica di un elemento esistente.&lt;br /&gt;Le implicazioni sono ben delineate con un semplice esempio: se in un dato momento sto aspettando una mail da parte di un data persona posso selezionare tutte le mail finora ricevute dal contatto ed abilitare la notifica, con un meccanismo standard e sempre uguale per tutti (ad esempio: premendo un pulsante funzione). In tal modo il relativo segnale visivo/sonoro/animato verra' presentato non quando una qualsiasi nuova mail viene ricevuta, facendomi accorrere al client un numero eccessivo di volte solo per scoprire che qualcuno vuol vendermi del Viagra, ma se e solo se arriva una mail che abbia tutti i requisiti che le mail precedentemente visualizzate avevano in comune (in linea di massima, il contatto).&lt;br /&gt;Altri esempi validi possono essere l'arrivo di una richiesta di chat da parte di un determinato insieme di contatti, o la creazione di un nuovo documento all'interno di uno specifico device condiviso, o l'aggiornamento di un preciso feed RSS.&lt;br /&gt;In questo scenario la notifica resterebbe attiva fintantoche' non sia disabilitata esplicitamente, e l'accesso ad un preciso insieme di icone permetterebbe di accedere ai result set monitorati sul momento.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7446435373791065945?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7446435373791065945/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7446435373791065945' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7446435373791065945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7446435373791065945'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/06/notifiche-relazionali.html' title='Notifiche Relazionali'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-613731493468645259</id><published>2010-05-31T01:57:00.006+02:00</published><updated>2010-06-01T03:33:54.683+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='readings'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Belli e Brutti</title><content type='html'>Poco tempo addietro ho avuto la pessima idea di iniziare a seguire per mezzo dell'&lt;a href="http://feeds.delicious.com/v2/rss/subscriptions/m4db0b?count=15"&gt;apposito feed&lt;/a&gt; RSS le &lt;a href="http://delicious.com/subscriptions/m4db0b"&gt;mie sottoscrizioni&lt;/a&gt; su &lt;a href="http://delicious.com/"&gt;del.icio.us&lt;/a&gt;, per vedere cosa gli altri reputano interessante nei contesti da me scelti. L'idea e' "pessima" perche' provoca una quantita' immensa di traffico (almeno 200 items al giorno, che solo in minima parte posso ovviamente consultare), il feed non viene epurato dai doppioni e dunque spesso e volentieri la consultazione risulta complicata dalla necessita' di scartare a mente i links che sono gia' stati visitati, e quel che e' peggio un singolo tag (&lt;a href="http://delicious.com/tag/UI"&gt;"UI"&lt;/a&gt;) su tre ("UI", &lt;a href="http://delicious.com/tag/HCI"&gt;"HCI"&lt;/a&gt; e &lt;a href="http://delicious.com/tag/filesystem"&gt;"filesystem"&lt;/a&gt;) ha il monopolio dello stream.&lt;br /&gt;Dati 100 elementi in totale, 90 sono taggati come "UI". Di questi, 85 parlano di design espressamente rivolto al web. Un quarto del totale (25) sono riferimenti a plugins ed estensioni per &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;. Circa 10 sono elenchi di soluzioni grafiche da cui prendere spunto ed ispirazione, e molte sono anche le liste in stile "i 20 migliori stili CSS" o "i 10 migliori set di icone" (buona parte di queste enumerazioni arrivano da &lt;a href="http://www.smashingmagazine.com/"&gt;Smashing Magazine&lt;/a&gt;). Un'altra fetta importante e' rappresentata da tools e suggerimenti per fare mockups e wireframes, e non faccio mistero di aver iniziato io stesso a &lt;a href="http://lobotomy-dev.blogspot.com/2010/05/pennello-alla-mano.html"&gt;prototipare&lt;/a&gt; le mie interfacce leggendo piu' e piu' volte al giorno questi temi nel mio feed reader.&lt;br /&gt;Par proprio che ad oggi l'unico contesto apprezzato dai designer sia il web. Un po' per moda ("cloud computing" e' a tutt'ora una buzzword estremamente diffusa ed apprezzata), ma anche (e soprattutto?) perche' HTML, CSS e JavaScript forniscono strumenti immensamente piu' flessibili in termini di formattazione e decorazione che non i classici widgets per lo sviluppo sul desktop, piattaforma in cui l'evoluzione dell'interfaccia utente si e' fermata poco dopo la sua stessa nascita. E laddove si possono facilmente aggiungere animazioni, sfumature, sfondi e inserti di ogni genere, li' trova ristoro il creativo sinora relegato a pulsanti tutti uguali tra loro da incasellare sullo schermo.&lt;br /&gt;Ma la situazione attuale implica uno stallo.&lt;br /&gt;Da una parte, appunto, i migliori designer si lanciano gioiosi sul web, plasmabile a proprio piacimento, bistrattando il classico desktop, e ben pochi si curano piu' dell'aspetto delle applicazioni native, lasciate a marcire in previsione di una imminente (?!) decentralizzazione di ogni attivita' digitale sull'Internet. Dall'altra, nessuno e' realmente pronto per questa migrazione di massa: i produttori di software perche' molti fondamenti tecnici per diversi generi di implementazioni mancano (ad esempio: solo adesso &lt;a href="http://0xfe.blogspot.com/2010/04/desktop-notifications-with-webkit.html"&gt;qualcuno&lt;/a&gt; inizia a pensare alle notifiche), e gli utenti per l'&lt;a href="http://lobotomy-dev.blogspot.com/2010/04/vintage-computing.html"&gt;innata resistenza&lt;/a&gt; a cambiamenti radicali. Risultato: il web e' bellissimo ma vuoto di funzioni, il desktop fa tutto ma e' brutto come un debito.&lt;br /&gt;Uscire da questo imbarazzo e' impossibile, se non attendendo pazientemente una risoluzione portata o dall'implementazione degli &lt;a href="http://www.w3.org/2009/dap/"&gt;standard mancanti&lt;/a&gt; per una piena funzionalita' della cloud (per sfruttare &lt;a href="http://www.w3.org/TR/2010/WD-capture-api-20100401/"&gt;webcam e microfono&lt;/a&gt; via HTML5, ad esempio) o viceversa da una esplosione delle tecnologie grafiche per il desktop (come ad esempio il &lt;a href="http://clutter-project.org/"&gt;Clutter Toolkit&lt;/a&gt; o la gestione avanzata di &lt;a href="http://thesmithfam.org/blog/2009/09/10/qt-stylesheets-tutorial/"&gt;CSS&lt;/a&gt; in &lt;a href="http://qt.nokia.com/products/"&gt;QT&lt;/a&gt;, giusto per menzionare quanto disponibile almeno su Linux e che suppongo abbiano analoghi su altri sistemi). La prima opzione e' piu' probabile, considerando gli ampi sforzi che da ogni direzione si muovono verso la Rete, ma non pongo limiti alla provvidenza.&lt;br /&gt;Quando questo accadra', nessuno lo sa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-613731493468645259?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/613731493468645259/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=613731493468645259' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/613731493468645259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/613731493468645259'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/05/belli-e-brutti.html' title='Belli e Brutti'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-6798732803425179834</id><published>2010-05-24T23:34:00.008+02:00</published><updated>2010-05-26T22:06:36.713+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='esperienze'/><title type='text'>Pennello alla Mano</title><content type='html'>Lo confesso, anche se chi mi conosce come programmatore gia' lo sa: io rientro in quella (nutrita) categoria di developers che dedicano pochissimo tempo alla progettazione ed ogni volta che iniziano un nuovo software o ne modificano un'altro pesantemente aprono l'editor di testo ancor prima di avere ben chiaro cosa fare. L'unico passo intermedio tra la decisione di fare qualcosa ed iniziare a farla sta nella scelta del nome: ogni progetto che si rispetti deve avere un nome!&lt;br /&gt;So perfettamente che si tratta di una pratica malsana, e piu' e piu' volte ne ho pagato le conseguenze, ma d'altro canto sono convinto che l'eccessivo grado di "ingegnerizzazione" oggi in uso nel mondo dello sviluppo sia ugualmente &lt;a href="http://lobotomy-dev.blogspot.com/2009/12/ingenuita-ingegnerizzata.html"&gt;dannoso&lt;/a&gt;: una dettagliata pianificazione trasmette un senso di eccessiva sicurezza, e quando le cose sono troppo ben incastrate tra loro si rischia di non avere spazio sufficiente per aggiungere quelle correzioni e quelle modifiche che, nel mondo reale, accadono sempre e comunque in qualsiasi circostanza.&lt;br /&gt;Detto cio', nell'ultimo periodo ho iniziato quantomeno a progettare le interfacce delle mie applicazioni. Direi che e' gia' un passo avanti.&lt;br /&gt;Ho sempre considerato il wireframing alla stregua di qualsiasi altra forma di progettazione, ma mi sono dovuto ricredere: laddove una architettura software e' oggettivamente qualcosa di completamente fumoso e dunque imperfetto finche' non la si traspone in qualcosa in esecuzione sullo stack (per poi immancabilmente fallire perche' non era stata presa in considerazione una data situazione), una interfaccia grafica e' qualcosa di concreto, in quanto anche se cliccando sul tasto non succede nulla il tasto e' comunque li' invece di essere da un'altra parte, occupa un determinato spazio e riporta una data etichetta o icona invece che un'altra.&lt;br /&gt;Il primo esperimento quasi serio l'ho fatto usando &lt;a href="http://mockflow.com/"&gt;MockFlow&lt;/a&gt;, strumento online (in Flash) per mettere insieme mockups di pagine destinate al web: la versione gratuita ha una limitazione sul numero di progetti e pagine che si possono creare, ma poiche' quelle poche pagine hanno altezza infinita si possono aggregare insieme piu' contenuti e con un poco di pazienza il paletto viene facilmente aggirato. Il secondo tentativo, rivolto ad un programma desktop (di cui scrivero' dettagliatamente in un'altra occasione), l'ho fatto con &lt;a href="http://www.gnomefiles.org/app.php/Gazpacho"&gt;Gazpacho&lt;/a&gt;: progetto ad oggi leggermente defunto, nel concetto simile a &lt;a href="http://glade.gnome.org/"&gt;Glade&lt;/a&gt; (che dovro' a sua volta provare, essendo pure aggiornato alle ultime evoluzioni di &lt;a href="http://www.gtk.org/"&gt;GTK+&lt;/a&gt;), funge da editor completo "a la Visual Studio" ma essendo io un programmatore vecchio stile lo ho usato solo per farmi una idea di dove posizionare i widgets che sono andato poi ad implementare a mano.&lt;br /&gt;Entrambe le esperienze si sono rivelate inaspettatamente produttive: disegnare la propria interfaccia prima di riportarla sul codice permette di avere subito una idea di cosa ci si trovera' dinnanzi e, meglio ancora, di cosa ci si vorrebbe trovare; vengono subito identificate e corrette falle estetiche e funzionali nel design, si possono sopprimere o ridefinire aggregati di elementi che nella realta' appaiono molto peggio di quanto ci si era immaginati, e ci si capacita in fretta se nel concetto originale e puramente astratto mancava un qualche dettaglio che, ai fatti, sarebbe determinante ed indispensabile. Tutto questo con un costo estremamente basso, in quanto in un paio d'ore di cliccate si ottengono risultati piu' che sufficienti per condurre una valutazione ed eventualmente ridefinire la proprio linea: tutto tempo che altrimenti verrebbe riccamente sprecato per implementare, compilare, eseguire, cancellare e re-implementare.&lt;br /&gt;Gli strumenti per prototipare e costruire bozze realistiche non mancano, anzi ce n'e' una abbondanza, e val proprio la pena almeno di provarli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-6798732803425179834?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/6798732803425179834/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=6798732803425179834' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6798732803425179834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6798732803425179834'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/05/pennello-alla-mano.html' title='Pennello alla Mano'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8860377530291924869</id><published>2010-05-08T14:53:00.003+02:00</published><updated>2010-05-08T16:11:28.764+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>La Mia Radiosveglia</title><content type='html'>Io, come credo una buona maggioranza della popolazione dei paesi industrializzati, ho un pessimo rapporto con le sveglie. Ne ho gia' cambiate diverse nella mia vita, ma il problema principale si e' sempre riproposto: dopo un po' di tempo l'udito e tutta la parte cognitiva di riferimento diventa assuefatta, ed il suono ripetitivo e costante o non sortisce effetto alcuno (quando mi sveglio trovo l'interruttore di attivazione ancora sollevato, ovvero l'aggeggio ha suonato indisturbato per almeno 40 minuti per poi cedere nel suo tentativo e tornare al silenzio) oppure stuzzica la corteccia quel tanto che basta per far compiere al mio corpo il gesto meccanico ed automatico di spegnimento senza pero' riuscire a penetrare la nebbia dell'incoscienza onirica. In entrambi i casi, mi sveglio sempre troppo tardi.&lt;br /&gt;Per tali motivi, qualche tempo addietro mi sono procurato una radiosveglia.&lt;br /&gt;La radiosveglia elimina perfettamente il problema dell'abitudine: poiche' ogni giorno alla stessa ora viene trasmessa una canzone diversa, o gli speaker dicono cose diverse con diversi toni, la trappola psicologica permette di tentare il &lt;a href="http://it.wikipedia.org/wiki/Conscio"&gt;conscio&lt;/a&gt; e di farlo uscire dalla sua tana notturna.&lt;br /&gt;O almeno in linea teorica: qualche volta, anche codesto metodo fa cilecca.&lt;br /&gt;Ho meditato sulle motivazioni di tale fallimento, imputandolo dapprima al volume: se troppo basso, il suono risulta inintelligibile e dunque non sufficiente a stimolare la ripresa di coscienza, in modo del tutto analogo al trillo ripetitivo e monotono della sveglia classica; se troppo alto, si rischia di indurre una reazione di shock cui si risponde con un riflesso incondizionato di spegnimento dell'apparecchio. Ma questa tesi non reggeva: in fin dei conti non ho un udito cosi' fine da percepire una differenza di quei pochi decibel di scarto impostabili con l'apposita rotellina, una volta trovato il compromesso giusto non c'e' piu' ragione per cui non debba funzionare.&lt;br /&gt;Ma ieri sera, riponendo l'infernale aggeggio sul comodino, ho forse inteso la reale causa del problema.&lt;br /&gt;Vanno fatte due premesse. La prima e' che cambio relativamente spesso l'orario in cui la sveglia deve operare, in quanto qualche volta devo prendere il treno presto, altre volte posso stare nel letto fino alla tarda mattinata, ed altre volte ancora vado a dormire alle prime luci dell'alba e solo per pudore imposto la sveglia al primo pomeriggio. La seconda e' che la suddetta radiosveglia e' analogica, senza &lt;a href="http://en.wikipedia.org/wiki/Auto-Tune"&gt;auto-tune&lt;/a&gt;, e per selezionare la frequenza desiderata c'e' una manopolina abbastanza sensibile, che richiede una discreta precisione per riuscire a trovare l'angolazione per cui si sente bene una stazione, e che facilmente perde la taratura.&lt;br /&gt;Detto cio', cosa accade? Che quando ripongo l'aggeggio dopo averlo innescato la mano va a cascare proprio sulla rotellina della frequenza, posta sul lato opposto rispetto a me e dunque percepibile solo al tatto (potete immaginare quanto io mi curi delle sensazioni tattili quando mi corico a seguito di una sessione di programmazione...), pertanto e' facile che si perda l'impostazione giusta e, giunta l'ora di suonare, dall'altoparlante esce poco piu' che &lt;a href="http://it.wikipedia.org/wiki/Rumore_bianco"&gt;rumore bianco&lt;/a&gt;. Il quale, &lt;a href="http://www.articlesbase.com/mental-health-articles/how-white-noise-can-help-improve-concentration-and-relaxation-1569670.html"&gt;notoriamente&lt;/a&gt;, invece che aiutare a destarsi facilita il rilassamento e non incide sul conscio, lasciandolo placidamente sonnecchiare sul cuscino.&lt;br /&gt;Gia' intuii il fenomeno in passato, tant'e' che quasi senza badarci troppo di quando in quando ho sempre provveduto a controllare e reimpostare le due manopole (volume e frequenza), ma appunto solo ieri sono stato folgorato sulla via di Damasco giungendo alla conclusione qui sopra esposta. Spero che tale consapevolezza mi aiuti a svegliarmi ad orari un poco piu' decenti.&lt;br /&gt;E la prossima radio che acquisto dovra' irrevocabilmente avere l'auto-tune.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8860377530291924869?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8860377530291924869/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8860377530291924869' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8860377530291924869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8860377530291924869'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/05/la-mia-radiosveglia.html' title='La Mia Radiosveglia'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5478527307296729409</id><published>2010-04-28T02:07:00.004+02:00</published><updated>2010-04-28T02:53:29.168+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>Progress Box</title><content type='html'>Mentre stavo mettendo insieme una interfaccia grafica per l'editor di feeds in &lt;a href="http://www.gnome.org/projects/tracker/"&gt;Tracker&lt;/a&gt; (attualmente nel &lt;a href="http://barberaware.org/scm/?group_id=44"&gt;repository SVN&lt;/a&gt; di &lt;a href="http://phidias.barberaware.org/"&gt;Phidias&lt;/a&gt;, sebbene ancora non completo) mi si e' presentato il problema di fornire all'utente del feedback durante la fase di download di un ipotetico file &lt;a href="http://www.opml.org/"&gt;OPML&lt;/a&gt; da parsare e da cui &lt;a href="http://lobotomy-dev.blogspot.com/2010/03/building-blocks.html"&gt;importare&lt;/a&gt; gli indirizzi di interesse: assunto che dal momento in cui si clicca il pulsante per scaricare a quello in cui si mostra la lista di feeds identificati passa del tempo e si compiono una serie di operazioni (connettiti al server, tira giu' qualche kilobyte, leggi l'&lt;a href="http://en.wikipedia.org/wiki/Xml"&gt;XML&lt;/a&gt;...), cosa visualizzare sullo schermo per informare del fatto che il primo click e' andato a buon fine e il programma sta facendo quel che deve fare?&lt;br /&gt;Una classica &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkProgressBar.html"&gt;progress bar&lt;/a&gt; ben si presta alla bisogna, ma il problema rimane: dove piazzarla? Creare una &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkDialog.html"&gt;finestrella informativa&lt;/a&gt; separata sembra uno spreco, in quanto e' piu' il tempo che ci mette il window manager a gestirla che non quello per completare il task. Le &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkStatusbar.html"&gt;status bar&lt;/a&gt; non mi sono mai piaciute, in quanto le considero troppo fuori dal &lt;a href="http://catb.org/%7Eesr/writings/taouu/html/ch04s01.html"&gt;locus&lt;/a&gt; dell'utente. Dedicare un'altra qualsiasi area a questo genere di informazione e' uno scempio.&lt;br /&gt;Alche', mi sono "inventato" la ProgressBox.&lt;br /&gt;Questa non e' null'altro che un semplicissimo (e per ora estremamente grezzo) widget &lt;a href="http://www.gtk.org/"&gt;GTK+&lt;/a&gt; che incorpora un &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkHBox.html"&gt;contenitore orizzontale&lt;/a&gt; liberamente riempibile ed una progress bar, mostrati alternativamente a seconda del bisogno. Nel caso specifico dell'editor di feeds: nel contenitore metto il campo ove incollare l'URL del file da scaricare ed il tasto per avviare la procedura, e quando esso viene cliccato il widget mostra la barra di progresso aggiornata in base allo &lt;a href="http://library.gnome.org/devel/gio/stable/GFile.html#GFileProgressCallback"&gt;stato del download&lt;/a&gt;. Una volta completata la trafila, il widget torna allo stato originale permettendo di incollare un eventuale nuovo indirizzo web.&lt;br /&gt;Grazie a questo modestissimo espediente, si ottengono i seguenti risultati:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;l'utente e' informato del fatto che il programma ha colto il suo input&lt;br /&gt;&lt;/li&gt;&lt;li&gt;l'utente e' informato del fatto che il programma sta lavorando&lt;/li&gt;&lt;li&gt;l'utente sa quanto tempo ci sta mettendo&lt;/li&gt;&lt;li&gt;si evita la classica situazione in cui, a causa dell'assenza di feedback, l'utente clicca dieci volte sullo stesso pulsante avviando dieci volte la stessa procedura&lt;/li&gt;&lt;li&gt;l'utente, anche volendo, non puo' interferire con l'operazione schedulandone un'altra uguale prima che la prima sia completata&lt;/li&gt;&lt;/ul&gt;Come detto l'elemento e' estremamente rozzo ed ha un'API tutta sua (non avevo voglia estendere correttamente quella originale di &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkBox.html"&gt;GtkBox&lt;/a&gt;), ma per intanto l'ho reso &lt;a href="http://barberaware.org/snippet/detail.php?type=snippet&amp;amp;id=38"&gt;disponibile&lt;/a&gt; come &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/snippets.html"&gt;al solito&lt;/a&gt; su &lt;a href="http://barberaware.org/"&gt;BarberaWare&lt;/a&gt; e ho preparato un &lt;a href="http://vimeo.com/11282109"&gt;video&lt;/a&gt; dimostrativo (che "fa figo e non impegna").&lt;br /&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11282109&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=11282109&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="300" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5478527307296729409?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5478527307296729409/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5478527307296729409' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5478527307296729409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5478527307296729409'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/progress-box.html' title='Progress Box'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-9001792459046750102</id><published>2010-04-26T00:03:00.007+02:00</published><updated>2010-04-26T01:48:20.601+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='readings'/><title type='text'>L'ovvio che non dovrebbe essere ovvio</title><content type='html'>Potrebbe sembrare quasi strano che la maggior parte di critiche e lamentele nei confronti dell'usabilita' generale dei PC arrivino da utenti esperti ed in grado di usare il computer con cognizione di causa, ma a ben guardare e' una cosa ovvia. Il motivo si evince piuttosto chiaramente leggendo ad esempio uno degli ultimi articoli &lt;a href="http://www.crunchgear.com/2010/04/22/i-hate-computers-confessions-of-a-sysadmin/"&gt;pubblicati&lt;/a&gt; in merito, che ha pure riscosso un &lt;a href="http://it.slashdot.org/story/10/04/23/2034206/Confessions-of-a-SysAdmin?from=rss&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29"&gt;discreto successo&lt;/a&gt; nel giro (stranamente, trattandosi di argomenti sin troppo noti a tutti gli addetti ai lavori): per l'utenza di bassa lega e' normale che il PC non funzioni.&lt;br /&gt;E' normale avere qualche problema installando o disinstallando una applicazione, e' normale che il computer non si avvii piu' da un giorno all'altro o si spenga all'improvviso, e' normale non riuscire ad aprire un file in qualche formato stravagante, e' normale prendersi un virus, e' normale non capire come si utilizza un dato software. Nel gergo informatico dei non-informatici, "computer" e' &lt;a href="http://lobotomy-dev.blogspot.com/2009/08/larta-della-pubblicita.html"&gt;sinonimo di "errore"&lt;/a&gt;.&lt;br /&gt;Chi paga le spese di suddetti capricci digitali sono per l'appunto coloro che hanno maggiore dimestichezza con la tecnologia informatica, che sanno come risolvere i propri problemi e, per estensione, vengono puntualmente interpellati da amici, parenti e conoscenti che incappano in qualche banale condizione di malfunzionamento affinche' risolvano anche i loro. Tutti, ma proprio tutti gli smanettoni hanno carrettate di aneddoti ed esperienze di tal fatta. E' un fenomeno talmente comune e radicato da essersi meritato pure una &lt;a href="http://www.thinkgeek.com/tshirts-apparel/unisex/frustrations/388b/"&gt;maglietta dedicata&lt;/a&gt; su &lt;a href="http://www.thinkgeek.com/"&gt;ThinkGeek&lt;/a&gt;. Qualsiasi giovanotto col pallino per i PC e' ben conscio dei pericoli che rischia, ed evita accuratamente di dare la mail o peggio il numero di telefono a chiunque gli dica "Ah, allora tu sei capace di aggiustare i computer!" sapendo che se il suo contatto finisse nella mani sbagliate sarebbe continuamente tirato in ballo per sistemare, aggiustare, configurare e spiegare i mille e piu' difetti dei sistemi moderni.&lt;br /&gt;Ma il fatto che il PC sia "rotto di default" non e' per niente normale.&lt;br /&gt;&lt;a href="http://it.wikipedia.org/wiki/Andrew_Stuart_Tanenbaum"&gt;Tanenbaum&lt;/a&gt; sostiene da decenni che l'esempio di riferimento dei sistemi operativi dovrebbe essere &lt;a href="http://docs.google.com/viewer?a=v&amp;amp;q=cache:nfLo07Vy16oJ:www.openu.ac.il/home/wiseman/2os/microkernels/tanenbaum.pdf+tanenbaum+tv+computer+reliable&amp;amp;hl=it&amp;amp;gl=it&amp;amp;pid=bl&amp;amp;srcid=ADGEEShYyGtcSsC5LMwz9vXCz8XN0fP2EsTuaeYVOQEaWuL3Jp863n9JF534Z4hgVf5ijo41ar2elAXXPVjthR0K3VjUTAOLpE2bDOwJUJy-koCgadW4k7pl4GMsw6EVJuhMqZvKCDHX&amp;amp;sig=AHIEtbSVIYKFBG5v3fBklKqGDu75fp4l-g"&gt;il televisore&lt;/a&gt;, ovvero un elettrodomestico che funziona continuativamente dal momento in cui si attacca la spina elettrica a quando i suoi componenti interni cedono strutturalmente per usura. &lt;a href="http://it.wikipedia.org/wiki/Jef_Raskin"&gt;Raskin&lt;/a&gt; sosteneva la teoria per cui ogni dispositivo elettronico dovrebbe fare una singola cosa (ad esempio: un cellulare dovrebbe solo permettere di telefonare e ricevere telefonate) ed essere dotato solo dei tasti e del software necessari a fare quella cosa, e null'altro, per arginare e limitare al massimo i rischi di errore da parte dell'utente. Nessuna di queste visioni e' mai stata applicata nel mondo reale, o comunque si e' mai diffusa, se non forse &lt;a href="http://gizmodo.com/5452501/the-apple-tablet-interface-must-be-like-this"&gt;in parte&lt;/a&gt;.&lt;br /&gt;Forse perche' quella di realizzare apparati general purpose, e per questo necessariamente complessi (e bacati), e' la norma sia per i produttori che per i consumatori. Forse perche' ben pochi hanno mai realmente esplorato le potenzialita' commerciali di questo genere di soluzioni, e nessuno ha voglia di provarci. Forse perche' il fatto di tenere in ostaggio l'utenza inconsapevole permette di generare fior di introiti in servizi di assistenza e supporto, dunque non e' economicamente conveniente farli campare felici e sereni. Forse perche' a priori si preferisce spendere meno per comprare un singolo dispositivo che faccia tutto che non tanti dispositivi che facciano cose specifiche (senza considerare minimamente il costo successivo del software, che pareggerebbe i conti), ed il risparmio immediato oscura il risparmio in termini di tempo e scocciature dopo.&lt;br /&gt;Si assistera' mai ad una inversione di tendenza, dettata dal buon senso anziche' dagli istinti di conservazione monetaria? Per conto mio credo che prima o dopo dovro' procurarmi una qualche schedina &lt;a href="http://it.wikipedia.org/wiki/System-on-a-chip"&gt;"SoC"&lt;/a&gt;, buttarci sopra un kernel ed il software essenziale per disegnare qualcosa sullo schermo, e fare qualche esperimento...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-9001792459046750102?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/9001792459046750102/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=9001792459046750102' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/9001792459046750102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/9001792459046750102'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/lovvio-che-non-dovrebbe-essere-ovvio.html' title='L&apos;ovvio che non dovrebbe essere ovvio'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7650901707209558167</id><published>2010-04-20T22:05:00.002+02:00</published><updated>2010-04-21T00:44:52.223+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>Paura e Delirio nel Pannello Configurazioni</title><content type='html'>Manco il tempo di finire di &lt;a href="http://lobotomy-dev.blogspot.com/2010/04/user-proof.html"&gt;elogiare&lt;/a&gt; l'ottimo &lt;a href="http://live.gnome.org/DejaDup/"&gt;Déjà-Dup&lt;/a&gt;, che oggi mi son trovato a dover domare l'intricato (e talvolta inestricabile) &lt;a href="http://projects.gnome.org/evolution/"&gt;Evolution&lt;/a&gt;. Prova provata della diffusa isteria compulsiva di aggiungere funzioni su funzioni laddove non ce ne sarebbe il benche' minimo bisogno, quasi solo per giustificare l'avanzamento del numero di versione.&lt;br /&gt;Per qualche tempo ho fatto a meno di un client di posta per via di una riorganizzazione dei miei PC ed ho usato solo l'interfaccia web di &lt;a href="http://mail.google.com/mail/help/intl/it/about.html"&gt;GMail&lt;/a&gt;, che pero' reputo difficile da maneggiare dal momento in cui seguo moltissime mailing lists e senza la vista &lt;a href="http://blog.reverberate.org/wp-content/uploads/2008/02/lurker.png"&gt;per thread&lt;/a&gt; e' pressoche' impossibile capirci qualcosa. Alche' ho installato su questo PC il summenzionato programma (prima lo usavo solo su un'altro computer), e l'ho dovuto configurare.&lt;br /&gt;Devo ammettere che prima non avevo mai fatto caso alla quantita' di opzioni, sotto-opzioni, caselline, features e settaggi da gestire nel pannello di configurazione: forse perche' e' passato molto tempo dall'ultima volta che ho dovuto metterci mano (avendolo sistemato sull'altro PC non mi son mai piu' posto il problema), forse perche' sclerando alla ricerca della configurazione per la signature me lo son girato in lungo ed in largo scoprendo cose che prima non avevo visto (per la cronaca: alla fine ho dovuto cercare su &lt;a href="http://google.com/"&gt;Google&lt;/a&gt; come si imposta la firma al fondo delle mail, e ho scoperto di &lt;a href="http://ubuntuforums.org/showthread.php?t=155983"&gt;non essere&lt;/a&gt; l'unico a non esserne stato capace), forse perche' inconsciamente ispirato dalla recente analisi appunto di Déjà-Dup sono stato incline a prestare maggiore attenzione alla disposizione ed alla disponibilita' di scelte da far fare all'utente... Sta di fatto che sono attualmente molto deluso da come il programma si presenta.&lt;br /&gt;Tanto per dirne qualcuna:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;in "Mail Preferences / General" si trova una checkbox che dice "Enable Magic Spacebar". E' ignoto cosa sia questa spacebar magica, di default e' abilitata e ho paura di cambiarlo per vedere cosa succede&lt;br /&gt;&lt;/li&gt;&lt;li&gt;in "Composer Preferences / General" c'e' una opzione espressamente dedicata a chi ha la pessima abitudine di fare &lt;a href="http://en.wikipedia.org/wiki/Posting_style#Top-posting"&gt;top quoting&lt;/a&gt;, permettendo di piazzare la signature sopra al testo quotato insieme al resto. Ed e' pure specificato "Not Reccomended". A che diamine serve una opzione che incentiva e spalleggia un comportamento &lt;a href="http://claudio.brazzale.org/non-sopporto/il-top-quoting"&gt;biasimato&lt;/a&gt; da chiunque e pure esplicitamente deprecato nel pannello stesso?&lt;/li&gt;&lt;li&gt;in "Mail Preferences / Automatic Contacts", che peraltro dovrebbe stare nell'apposita sezione "Contacts" anziche' li', si chiede se si vogliono importare in rubrica i contatti da &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt;. Ora: per quale assurdo motivo al mondo io, utente, *non* dovrei volere l'integrazione tra queste due applicazioni? Fallo e basta!&lt;/li&gt;&lt;/ul&gt;La lista di cose palesemente inutili e di quelle che potrebbero essere largamente migliorate e' lunga, ed intendo nel prossimo futuro inviare una mail sulla &lt;a href="http://mail.gnome.org/mailman/listinfo/evolution-hackers"&gt;mailing list dei developer&lt;/a&gt; per discutere le mie osservazioni ed eventualmente anche offrirmi per provvedere alle patch necessarie (sul codice di Evolution ho gia' combinato qualcosina in passato), perche' e' intollerabile che una applicazione del genere, una delle piu' importanti nella piattaforma &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt; e riccamente usata in ambienti di produzione (anche perche' sembra essere l'unico client open che si interfaccia in un qualche modo con &lt;a href="http://it.wikipedia.org/wiki/Microsoft_Exchange"&gt;Microsoft Exchange&lt;/a&gt;) debba essere cosi' complicata anche solo da mettere all'opera.&lt;br /&gt;E' uno sporco lavoro, ma qualcuno lo dovra' pur fare...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7650901707209558167?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7650901707209558167/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7650901707209558167' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7650901707209558167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7650901707209558167'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/paura-e-delirio-nel-pannello.html' title='Paura e Delirio nel Pannello Configurazioni'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7148082693501424195</id><published>2010-04-18T02:05:00.006+02:00</published><updated>2010-04-19T01:55:46.004+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>User-proof</title><content type='html'>Da molto tempo &lt;a href="http://www.kryogenix.org/days/2006/05/25/one-button"&gt;esiste&lt;/a&gt; l'ironico motto secondo cui i developers &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt; saranno soddisfatti della loro opera solo quando l'intera interfaccia del sistema sara' ridotta ad un tasto solo. Ma l'altro giorno sono &lt;a href="http://www.ossblog.it/post/6090/deja-dup-backup-dei-file-di-sistema-con-gnome"&gt;incappato&lt;/a&gt; per caso in una applicazione che fa davvero proprio il concetto: la schermata principale di &lt;a href="http://live.gnome.org/DejaDup/"&gt;Déjà-Dup&lt;/a&gt; &lt;a href="http://live.gnome.org/DejaDup/Screenshots"&gt;presenta&lt;/a&gt; infatti due soli grossi pulsanti, "Restore" e "Backup".&lt;br /&gt;Chiaramente esiste anche un pannellino per selezionare cosa backuppare e dove, o automatizzare la procedura in modo da dimenticarsi completamente della sua esistenza e lasciare che faccia da solo (se non e' automaticamente attivato, il backup non serve a niente), ma mi ha colpito la scelta estrema nel design del pannello primario. In fin dei conti una volta manipolati i diversi parametri non c'e' ragione di metterli continuamente sotto al naso all'utente, che di volta in volta e' interessato solo a sincronizzare i suoi dati locali con la cartella remota, dunque mi sembra piu' che azzeccata.&lt;br /&gt;E le accortezze in termini di usabilita' non si limitano a questo. Tra i &lt;a href="http://www.ossblog.it/post/6090/deja-dup-backup-dei-file-di-sistema-con-gnome#show_comments"&gt;commenti&lt;/a&gt; pubblicati su &lt;a href="http://www.ossblog.it/"&gt;OSSBlog&lt;/a&gt;, da cui appunto ho appreso l'esistenza di questo programmillo, qualcuno lamenta la limitazione di poter selezionare un solo insieme di cartelle da duplicare in un solo repository distaccato, ma anche in questo caso mi trovo a dar ragione al developer: il target del software e' chiaramente l'utenza domestica, che non ha particolari esigenze ed anzi ancora grazie se si premura di effettuare una copia di salvataggio dei propri dati, dunque inutile e' fornirgli un necessariamente complesso sistema per incrociare cartelle su cartelle. Se l'utilizzatore dovesse mai abbisognare di tale genere di funzionalita', potra' trovare una risposta in una qualsiasi tra le altre &lt;a href="http://freshmeat.net/tags/backup"&gt;dozzine di applicazioni&lt;/a&gt; esistenti nel settore senza necessariamente rendere piu' difficile la vita a chi vuole campare lieto e sereno con una cartella sola.&lt;br /&gt;In breve: a parte il nome pieno di accenti ritengo Déjà-Dup un esempio assoluto di pulizia, facilita' di utilizzo e design, una perla rara in un oceano di applicazioni troppo spesso raffazzonate o strabordanti di features inutili. Gli utenti necessitano &lt;a href="http://lobotomy-dev.blogspot.com/2010/04/faldoni-vs-database.html"&gt;urgentemente&lt;/a&gt; di piu' software fatto cosi'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7148082693501424195?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7148082693501424195/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7148082693501424195' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7148082693501424195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7148082693501424195'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/user-proof.html' title='User-proof'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-936118760862208375</id><published>2010-04-16T23:51:00.005+02:00</published><updated>2010-04-18T02:04:47.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Faldoni VS Database</title><content type='html'>L'altro giorno mi sono recato con un amico presso un piccolo produttore agricolo con lo scopo (che non intendo qui approfondire nel dettaglio) di appurare come utilizzasse lui il computer nello svolgimento delle sue pratiche burocratiche e produttive. Ne e' emerso uno scenario perfettamente prevedibile e scontato, ma non per questo meno disarmante: il PC viene usato pressoche' esclusivamente come macchina da scrivere, per compilare bolle e fatture da stampare e maneggiare poi analogicamente (= su carta).&lt;br /&gt;L'apoteosi dello sconforto l'ho raggiunta quando il suddetto agricoltore (lui, come lo potrebbe fare la stragrande maggioranza dell'utenza informatica di &lt;a href="http://lobotomy-dev.blogspot.com/2009/08/larta-della-pubblicita.html"&gt;basso livello&lt;/a&gt; odierna) ha apertamente ammesso che il computer, massima espressione della scienza tecnologica nella sua esistenza rurale, e' un problema inevitabile piu' che una soluzione desiderabile: difficile da usare, incomprensibile, caotico, con l'unico pregio che con un paio di copia&amp;amp;incolla si velocizza qualche sporadica operazione nella compilazione dei moduli che se altrimenti fatta a mano richiederebbe piu' tempo. Mentre diceva cio', io guardavo il vicino armadio carico di faldoni e carte accumulate dopo essere uscite dalla stampante del vituperato marchingegno digitale, certamente perche' il personaggio riesce meglio a scartabellare e cercare cio' che gli serve su supporto fisico anziche' tra le cartelle virtuali del filesystem.&lt;br /&gt;Del resto, neppure mi sento di dargli tutti i torti: il computer ha un costo, cosiccome la licenza di Excel installata sopra (suppongo sia stato originale, acquistato in bundle con la macchina numerosi anni addietro, e se anche fosse stato pirata glielo ha installato qualche pseudo tecnico in qualche negozietto di informatica facendosi comunque pagare per il disturbo), e tale applicativo viene usato per compiti ben piu' complessi ed avanzati che non quelli per cui e' stato ideato. L'acquisto di un software specifico per la sua attivita' costerebbe 3000 euri (e non e' una stima: il programma esiste davvero e gli e' stato offerto esattamente a quella cifra), e per esperienza gia' so che si tratterebbe comunque di un accrocchio Visual Basic + Access messo in piedi alla meno peggio con lo scopo esplicito dell'azienda produttrice di trarre profitto ulteriore con i corsi per sommariamente imparare ad usarlo e l'assistenza. Pertanto ci si arrangia con quel che si ha, ovvero qualche programma realizzato da vendors diversi tra loro nient'affatto integrati, con interfacce diverse e carichi di features introdotte per giustificare le nuove release, e appena possibile si ricorre al tasto "Stampa" per portare le informazioni importanti fuori dal ronzante scatolone di plastica e alluminio.&lt;br /&gt;Non oso neppure immaginare cosa la piu' scarsa e umile tecnologia digitale oggi esistente potrebbe realmente fare per quest'uomo: i dati, se immessi in un database, potrebbero essere spulciati e tra loro intersecati con dettaglio estremo in pochi secondi; le anagrafiche di fornitori e clienti, se formattate in &lt;a href="http://microformats.org/wiki/hcard"&gt;hCard&lt;/a&gt; e gestite direttamente dagli interessati, potrebbero essere pescate dall'Internet ed aggiornate automaticamente, e istantaneamente accessibili digitando tre caratteri del nome;  i documenti potrebbero calcolarsi per conto proprio quantita' totali, prezzi totali, IVA e altri parametri burocratici partendo da pochi valori relativi alla merce ricevuta o da consegnare; gli stessi totali potrebbero essere trasmessi al commercialista in formato digitale, e questo potrebbe a sua volta importarli nel suo proprio programma per farci quel che deve farci; i pagamenti, se trasferiti per via telematica, sarebbero usati seduta stante per computare bilanci ed introiti (o al contrario innescare sollecitazioni automatiche se non arrivati in tempo). Senza parlare del risparmio di carta, inchiostro e spazio.&lt;br /&gt;Se nell'Anno Domini 2010 tutte le attivita' produttive e commerciali ancora non hanno trovato nella tecnologia un valido ed appropriato supporto la causa non e' solo delle ovvie &lt;a href="http://lobotomy-dev.blogspot.com/2010/04/vintage-computing.html"&gt;resistenze&lt;/a&gt; riscontrate presso il grande pubblico nei confronti delle novita' ma anche e soprattutto da imputare a coloro che dovrebbero provvedere alla messa in opera di questi semplici e talvolta persino banali (per un tecnico, intendo) strumenti, e che speculano sulla scarsa consapevolezza e dimestichezza dei propri clienti per spremere ogni singolo centesimo dalla loro ingenuita'.&lt;br /&gt;Le cose possono cambiare. Devono cambiare. Poche righe di codice, se stese con criterio, possono allo stesso tempo ridurre il tempo (e dunque il costo) necessario a svolgere una operazione, aiutare a massimizzare i profitti incentivando particolari scambi monetari, e salvare un albero destinato a diventare carta da stampa. E' venuta l'ora di iniziare a scriverle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-936118760862208375?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/936118760862208375/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=936118760862208375' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/936118760862208375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/936118760862208375'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/faldoni-vs-database.html' title='Faldoni VS Database'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-42680238179605652</id><published>2010-04-07T22:31:00.003+02:00</published><updated>2010-04-08T23:25:54.260+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='devices'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Vintage Computing</title><content type='html'>Oramai ogni tre per due si annuncia la morte del PC desktop, pronto per essere assassinato dalla piu' nuova, promettente e modaiola tecnologia: una volta incombe il web desktop ed il &lt;a href="http://it.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt;, una volta avanza a grandi passi il mobile, una volta l'&lt;a href="http://www.apple.com/it/ipad/"&gt;iPad&lt;/a&gt; sembra destinato a stravolgere la vita di ogni essere sul pianeta. L'ultimo articolo letto in merito e' &lt;a href="http://www.osnews.com/story/23116/Is_the_Desktop_Becoming_Legacy_"&gt;questo qui&lt;/a&gt;, che definisce "legacy" (= obsoleto) il desktop.&lt;br /&gt;Esistono pero' almeno due falle nella logica di questo genere di conclamazioni.&lt;br /&gt;La prima e' che tutti assumono che gli utenti si dividano in due categorie: chi produce e chi consuma. Chi produce (contenuti, documenti, codice...) abbisogna di tastiere fisiche, grossi monitor e software di editing audio e video performante, chi consuma (contenuti, documenti, applicazioni...) puo' largamente accontentarsi di un monitor touchscreen ed una tastierina virtuale per i pochi commenti che puo' al massimo scrivere su &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt;. Ma, per fortuna o purtroppo, il mondo non e' bianco e nero. Anche l'utente piu' negletto e passivo della Rete spesso scrive a lungo e relativamente lunghi testi, prova ne e' la capillare diffusione di &lt;a href="http://it.wikipedia.org/wiki/Windows_Live_Messenger"&gt;Messenger&lt;/a&gt; e altri client di instant messaging con cui abitualmente alla sera gli studentelli spettegolano sui loro compagni e gli adulti spettegolano sui colleghi di ufficio. La chat e' una delle attivita' piu' comune per ogni categoria di cittadino digitale, gli smanettoni complottano su IRC ed i profani discutono del piu' e del meno su GTalk, dunque per quanto strano possa sembrare tutti abbisognano di una bella tastiera su cui scrivere i propri pensieri a qualcun'altro, da li' non si scappa. Inoltre, moltissime sono le persone che, pur capendone poco, col computer ci devono lavorare: tanto per dirne una chiunque abbia una attivita' commerciale o produttiva deve gestire fatture e rendicontazioni, e sebbene tale genere di applicazioni potrebbe benissimo essere adattato per i devices moderni (il tablet ad esempio sarebbe perfetto per tenere allineato un magazzino con la propria base dati) il traguardo prevede una congiunzione astrale tra offerta da parte del mercato, richiesta da parte dell'utenza, e disponibilita' della piattaforma hardware.&lt;br /&gt;Cio' introduce alla seconda mancanza del ragionamento secondo cui il desktop debba perire a breve, ovvero l'innata resistenza a qualsiasi genere di innovazione da parte del grosso mercato consumer. Credo che la diffusione di &lt;a href="http://it.wikipedia.org/wiki/Internet_Explorer_6"&gt;Internet Explorer 6&lt;/a&gt;, browser risalente a 9 anni fa' e che in marzo 2010 deteneva il &lt;a href="http://www.w3schools.com/browsers/browsers_stats.asp"&gt;9% di share&lt;/a&gt;, sia constatazione sufficiente per confermare la tesi. Se il pubblico oppone cotale ritrosia nell'effettuare un upgrade software, pressoche' indolore e gratuito, per quale ragione dovrebbe cambiare in modo radicale le sue abitudini andando pure a spendere qualche centinaio di euri per un nuovo arnese elettronico? Molto meglio tenersi quel che si ha il piu' a lungo possibile. E di conseguenza continuare ad istigare il mercato a proporre soluzioni per quello, anziche' intraprendere mosse azzardate su un terreno popolato in larga parte da entusiasti di tecnologia e poco altro. Certamente i developers web, iPhone, iPad, Android e compagnia cantante abbondano, ma ne passera' di tempo prima che provvedano alternative valide a tutto quello che e' stato sinora realizzato sul desktop, magari da qualche cane in Visual Basic e Access, che non solo facciano le stesse cose ma pure meglio (si' da giustificare il costo della migrazione), e fino ad allora le possibilita' di convincere qualcuno ad abbandonare il sano vecchio scatolone sibilante sono nulle.&lt;br /&gt;In quanto freesoftware advocate so bene quante e quali sono le difficolta' che si parano dinnanzi all'adozione di qualsiasi strumento anche solo di poco diverso rispetto a quanto gia' familiare e consueto, indipendentemente dalla facilita', comodita' e bellezza dello stesso. E, per quanto sostenitore di quasi ogni novita' sensata che spunti sull'orizzonte di &lt;a href="http://slashdot.org/"&gt;Slashdot&lt;/a&gt;, mi guardo bene dal dare credito a ogni affermazione eccessivamente entusiasta sull'imminenza di un cambiamento di paradigma. In qualita' di nerd sarei ben lieto di vedere la gente per strada leggere la versione digitale del quotidiano sul proprio tablet ("Il futuro e' adesso!"), ma in qualita' di osservatore so che questo scenario e' ben lungi a venire, checche' ne dicano i santoni del marketing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-42680238179605652?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/42680238179605652/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=42680238179605652' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/42680238179605652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/42680238179605652'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/04/vintage-computing.html' title='Vintage Computing'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3638652321438401921</id><published>2010-03-28T18:40:00.005+02:00</published><updated>2010-03-28T21:45:08.387+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SubConsciousDaemon'/><category scheme='http://www.blogger.com/atom/ns#' term='Tracker'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='inutility'/><title type='text'>Building Blocks</title><content type='html'>Stufo di dover sempre ripopolare la mia installazione di &lt;a href="http://phidias.barberaware.org/"&gt;Tracker&lt;/a&gt; ogni volta che per ragioni di debug la svuoto, e di dover andare a caricarmi qualche &lt;a href="http://library.gnome.org/devel/ontology/unstable/mfo-classes.html#mfo-FeedChannel"&gt;FeedChannel&lt;/a&gt; per testare miner-rss, ho incluso &lt;a href="http://git.gnome.org/browse/libgrss/commit/?id=0ed8c4843434e53438db4b797851664ea4fa58a2"&gt;oggi&lt;/a&gt; in &lt;a href="http://live.gnome.org/Libgrss"&gt;libgrss&lt;/a&gt; un parser &lt;a href="http://www.opml.org/"&gt;OPML&lt;/a&gt; (prelevandolo come al solito da &lt;a href="http://liferea.sourceforge.net/"&gt;Liferea&lt;/a&gt;) e scritto due righe in croce per provvedere all'importazione dei files formattati in tal modo nello storage semantico. Il codice e' al momento pubblicato &lt;a href="http://barberaware.org/snippet/detail.php?type=snippet&amp;amp;id=37"&gt;qui&lt;/a&gt;, alla meno peggio, ma penso che ne realizzero' una versione grafica in &lt;a href="http://www.gtk.org/"&gt;GTK+&lt;/a&gt; da distribuire insieme a &lt;a href="http://phidias.barberaware.org/"&gt;Phidias&lt;/a&gt;.&lt;br /&gt;Attenzione, pero': "da distribuire insieme", non "incluso in".&lt;br /&gt;La differenza sta nel fatto che questa micro-applicazione, se mantenuta come componente standalone, fungerebbe come importer OPML per qualsiasi feed reader basato su Tracker passato presente e futuro. Appunto perche' Tracker fornisce una rappresentazione univesale descritta dalle sue ontologie, cui tutti i programmi capaci di gestire &lt;a href="http://library.gnome.org/devel/ontology/unstable/mfo-ontology.html#mfo-explanation"&gt;MFO&lt;/a&gt; attingerebbero in modo trasparente.&lt;br /&gt;Da innumerevoli anni sono sostenitore di una architettura di sistema basata su componenti specifici e mirati che possano integrarsi tra loro in modo naturale, dove qualsiasi miglioramento o nuova feature si ripercuota su tutte le applicazioni che rientrano appunto nella stessa architettura senza dover necessariamente ritoccarle tutte. &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;, e piu' precisamente il &lt;a href="http://lobotomy-project.org/wiki/SubConsciousDaemon"&gt;SubConsciousDaemon&lt;/a&gt;, e' stato progettato esattamente secondo questo criterio. Ed ammetto che, nonostante i &lt;a href="http://lobotomy-dev.blogspot.com/2009/07/rdf-rendiamo-difficile-fare.html"&gt;difetti propri&lt;/a&gt; della fuffa semantica, Tracker si presti a questo genere di utilizzo.&lt;br /&gt;Per ora continuo la mia opera nella nicchia della gestione dei feeds RSS, aggiungendo qua e la' funzionalita' (o meglio: riadattando le funzionalita' esistenti), ma spero che il concetto di sistema "composito" possa essere apprezzato da qualcun'altro e applicato in altri contesti.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3638652321438401921?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3638652321438401921/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3638652321438401921' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3638652321438401921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3638652321438401921'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/03/building-blocks.html' title='Building Blocks'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-6872150325245344649</id><published>2010-03-23T18:38:00.005+01:00</published><updated>2010-03-23T22:12:22.491+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Back Online</title><content type='html'>La visita di un paio di tecnici &lt;a href="http://www.telecomitalia.it/"&gt;Telecom&lt;/a&gt; (per conto di &lt;a href="http://www.infostrada.it/"&gt;Infostrada&lt;/a&gt;), un cavo telefonico acquistato al volo (non riuscendo piu' a trovare quello che certamente tengo da qualche parte), e da circa un'ora ho - nuovamente - l'ADSL.&lt;br /&gt;Anche un anno fa' l'avevo, ma Tin.it, il mio provider, e' stato chiuso. Sono passato ad una connessione 3G &lt;a href="http://www.vodafone.it/"&gt;Vodafone&lt;/a&gt;, traballante e con banda minima, un mese fa' si sono lamentati che occupavo troppa banda, e dietro minaccia di restare privo di connettivita' ho dunque deciso di ripassare all'ADSL a costo di dover pagare la disattivazione quando comprero' casa e mi trasferiro' da qui (progetto in attesa da molto tempo, comunque...).&lt;br /&gt;Sembra assurdo che un nerd del mio calibro sia riuscito a sopravvivere tanto a lungo senza connettivita' fissa, eppure ci sono riuscito. Ed ho imparato ad apprezzare il valore di questo bene cosi' prezioso.&lt;br /&gt;Per quanto da molti considerata banale, la disponibilita' di una connessione in banda larga e non NATtata (dunque, raggiungibile dall'esterno) apre le porte ad una infinita' di possibilita', tanto che non so da che parte cominciare a recuperare il tempo perso sinora. Giusto per elencare le prime attivita' che mi vengono in mente, da domani potro':&lt;br /&gt;&lt;ul&gt;&lt;li&gt;far aggiornare automaticamente &lt;a href="http://opengnomedesktop.org/"&gt;opengnomedesktop.org&lt;/a&gt; . Da quando ho &lt;a href="http://lobotomy-dev.blogspot.com/2009/07/opengnomedesktoporg.html"&gt;messo in piedi&lt;/a&gt; il sito ho avuto poche occasioni di allinearne i contenuti con quelli di &lt;a href="http://gnome-look.org/"&gt;GnomeLook&lt;/a&gt;, in quando avrei dovuto farlo a mano di quando in quando (scomodo), o far eseguire periodicamente uno script (impossibile, gia' che non tenevo alcun PC perennemente connesso per non fondere la chiavetta), o eseguire la procedura dal VPS su cui e' hostato &lt;a href="http://lobotomy-project.org/"&gt;lobotomy-project.org&lt;/a&gt; (impossibile, in quanto e' necessario avere &lt;a href="http://www.x.org/"&gt;X&lt;/a&gt; in esecuzione per generare le thumbnails dei temi)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;sperimentare su &lt;a href="http://en.wikipedia.org/wiki/Publish/subscribe"&gt;PubSub&lt;/a&gt;. Ne ho aggiunto una implementazione client in &lt;a href="http://git.gnome.org/browse/libgrss/"&gt;libgrss&lt;/a&gt;, ma non ho mai avuto modo di provarla a sufficienza a causa del fatto che la connessione Vodafone era NATtata. La disponibilita' di un feed reader in grado di supportare PubSub permetterebbe di avere news quasi in tempo reale sul proprio desktop, feature non certo vitale per le notizie di tutti i giorni ma che puo' avere piu' di una applicazione&lt;/li&gt;&lt;li&gt;sviluppare comodamente applicazioni che necessitano di grandi moli di informazioni prelevate dall'Internet, come ad esempio quella descritta &lt;a href="http://madbob.wordpress.com/2009/10/14/idee-condivise-ufficio-stampa/"&gt;qui&lt;/a&gt; ed ora in fase di progettazione con la complicita' dell'amico &lt;a href="http://sevencapitalsins.wordpress.com/"&gt;Seven&lt;/a&gt;. Il fatto di tenere in casa la macchina che scarica, analizza e categorizza i dati dovrebbe accellerare lo sviluppo di un prototipo da lasciare sul VPS una volta stabilizzato&lt;/li&gt;&lt;li&gt;far scaricare automaticamente il podcast del &lt;a href="http://www.radio.rai.it/grr"&gt;giornale radio&lt;/a&gt; di &lt;a href="http://www.radio.rai.it/radio1/"&gt;Radio1&lt;/a&gt; e riprodurlo all'ora in cui dovrei svegliarmi. Anche in questo caso e' un progetto che non l'ho mai potuto realizzare a causa dell'impossibilita' di tenere un PC sempre connesso, ma finalmente potro' aprire i miei occhietti al mattino ascoltando le notizie fresche e rotolandomi tra le lenzuola un altro po'&lt;/li&gt;&lt;/ul&gt;Mi e' mancata tanto, l'ADSL...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-6872150325245344649?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/6872150325245344649/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=6872150325245344649' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6872150325245344649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6872150325245344649'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/03/back-online.html' title='Back Online'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1999123128749486842</id><published>2010-03-07T20:45:00.003+01:00</published><updated>2010-03-07T23:16:13.899+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='GASdotto'/><title type='text'>La Sindrome della Prima Volta</title><content type='html'>Quando l'altro giorno l'amico &lt;a href="http://grigio.org/"&gt;Gigi&lt;/a&gt; ha pubblicato &lt;a href="http://grigio.org/gestionali_open_source_tutti_gusti"&gt;un post&lt;/a&gt; menzionando, tra gli altri, il &lt;a href="http://gasdotto.barberaware.org/"&gt;progetto GASdotto&lt;/a&gt;, mi sono posto il problema della visilita' di tale opera sull'Internet. Ed il pensiero si e' acuito quando l'altro giorno ho ricevuto una mail da parte di un certo "Alessandro" del GAS di Rimini, che ha spontaneamente aggiunto una menzione al programma nella &lt;a href="http://it.wikipedia.org/wiki/Gruppo_di_acquisto_solidale"&gt;pagina Wikipedia&lt;/a&gt; dedicata al tema e mi chiede informazioni per una piu' approfondita valutazione.&lt;br /&gt;Sinora ho tentennato, in quanto il software e' in perenne stato di sviluppo e sebbene possa essere dichiarato stabile nuove correzioni ed aggiunte arrivano quasi ogni settimana, ma credo che sarebbe ora di iniziare a promuovere sul campo l'applicazione affinche' venga conosciuta ed eventualmente usata dal pubblico di riferimento, ovvero i Gruppi di Acquisto.&lt;br /&gt;In realta' questa voglia di referenzialita' non deriva dal puro e semplice desiderio di veder usato il proprio software, comune a qualsiasi programmatore che produca qualcosa che si spera essere utile al prossimo, ma per il mio timore nei confronti di quella mai documentata ma ben nota tendenza ad estendere le delusioni personali a tutto cio' che anche solo vagamente concerne la sorgente stessa dell'originale malcontento.&lt;br /&gt;&lt;br /&gt;Spiego meglio il concetto, facendo un passo indietro e riesaminando la storia vissuta.&lt;br /&gt;Lo sviluppo di GASdotto e' stato avviato oramai piu' di un anno fa' a fronte della constatazione che l'unica alternativa allora esistente era un obrobrioso ed inusabile programma denominato &lt;a href="http://www.gestigas.org/"&gt;GestiGAS&lt;/a&gt;, open e gratuito ma impossibile da usare ed inguardabile. Poiche' la prima preoccupazione dei miei "committenti", il &lt;a href="http://www.cascinaroccafranca.it/wiki/consumo_critico"&gt;GAS Roccafranca&lt;/a&gt; di Torino, era appunto la prospettiva di riuscire a far usare uno strumento tecnologicamente piu' avanzato dei documenti Excel sino a quel momento scambiati per posta elettronica senza pero' restare impantanati nella naturale e diffusa incompetenza informatica dei membri del gruppo, l'unica scelta e' stata quella di implementare tra noi quanto bastava per svolgere i compiti della combriccola. Da allora numerosi e consistenti progressi sono stati fatti, in termini di stabilita' e funzionalita' offerte, e da piu' di un testimone mi e' arrivata la conferma che tale gestionale sia immensamente piu' facile da usare del sopra menzionato "competitor".&lt;br /&gt;Cio' non basta comunque a vincere l'impietoso gioco del pagerank Google, e se oggi eseguo una query come "software gruppo di acquisto" sul piu' usato dei search engine inevitabilmente tutti o quasi i risultati riconducono a GestiGAS, presente da molto piu' tempo e dunque con una ben piu' ricca e diffusa schiera di utilizzatori e commentatori. Posso immaginare che questa specifica ricerca sia gia' stata condotta da buona parte dei numerosissimi gruppi di acquisto che, stando ad un &lt;a href="http://www.ansa.it/web/notizie/rubriche/economia/2010/02/27/visualizza_new.html_1708892756.html"&gt;recente rapporto&lt;/a&gt; di &lt;a href="http://www.coldiretti.it/"&gt;Coldiretti&lt;/a&gt;, sono spuntati nell'italica penisola, e posso immaginare che molti di questi abbiano scaricato, installato e provato ad usare questo arnese con risultati non sempre positivi.&lt;br /&gt;E veniamo finalmente al perche' di questo post, alla "sindrome della prima volta": arrivati a questo punto, di tutti coloro che hanno visto GestiGAS e ne sono rimasti delusi, quanti vorranno intraprendere una piu' accurata ricerca e tentare nuovamente di procedere alla non sempre banale operazione di installazione di un applicativo web sui loro server per vedere se c'e' qualcosa di meglio? E quanti invece saranno sconsolati ed adotteranno a loro volta l'antidiluviano meccanismo degli ordini via mail, certamente piu' immediato da mettere in opera ma perdendo cosi' l'opportunita' di snellire i processi del gruppo e migliorarne l'efficienza con guadagno di tutti?&lt;br /&gt;Il fatto di aver fallito il primo approccio comporta una perdita di entusiasmo, la paura di vedere un'altra volta vani i propri sforzi, ed in questo come in altri casi il fatto di incappare in una soluzione sub-ottimale fa poco sperare di riuscire a trovarne una valida. Pertanto si preferisce lasciar perdere, ed arrangiarsi con il minimo dispendio di risorse possibile.&lt;br /&gt;&lt;br /&gt;Ho gia' osservato lo stesso circolo vizioso di riduzione dello stimolo tecnologico in un ambito assai diverso ma conosciuto da molti miei lettori: l'adozione di Linux. Penso che qualunque utente Linux con sufficiente passione da aver mai parlato di tale sistema ad un amico o conoscente con l'obiettivo di generare interesse abbia ricevuto almeno una volta una risposta del tipo "L'ho gia' provato X anni fa', non funzionava niente, ci ho rinunciato". Non ha la benche' minima importanza il fatto che il software incluso nelle distribuzioni migliori ogni singolo anno (o anche ogni sei mesi), e fra tutte le piattaforme operative Linux abbia il piu' forte afflusso di correzioni e miglioramenti: e' gia' stato provato, e l'impegno di eseguire una nuova installazione (con tutto cio' che ne consegue: ripartizionare, defraggare la partizione Windows per evitare ogni rischio di perdersi dati, verificare il funzionamento dei drivers...) non controbilancia l'esperienza negativa passata.&lt;br /&gt;&lt;br /&gt;Per quanto riguarda GASdotto, dietro consiglio della mia ragazza (che lavora per una agenzia di &lt;a href="http://it.wikipedia.org/wiki/Ottimizzazione_%28motori_di_ricerca%29"&gt;SEO&lt;/a&gt;) ho installato sul sito &lt;a href="http://drupal.org/project/nodewords"&gt;un modulo&lt;/a&gt; &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt; per arricchire le pagine con meta-tags descrittivi e strizzare l'occhio al crawler di Google, sebbene ritenga quella del "Search Engine Optimization" una arte voodoo che trascenda la logica e non sia eccessivamente speranzoso nei confronti di questa misura. Parallelamente, vedro' di confezionare la prossima release 1.1 nel piu' breve tempo possibile e metterla a disposizione di chi la vorra' scaricare, ed ancora meglio mi piacerebbe avviare nel prossimo futuro una sorta di campagna di "server sharing" per i GAS che non hanno competenze per mettere in opera un virtual private server ma che vogliano comunque usare codesto software.&lt;br /&gt;&lt;br /&gt;Con tutto questo non voglio asserire che GASdotto sia a priori meglio di  GestiGAS, e che dunque il fatto di scoprire per primo il mio progetto  possa stravolgere l'opinione delle masse, ma il fatto di  aver gia' ricevuto un discreto numero di giudizi comparativi volti a mio  favore mi fa intuire che qualche risultato in piu' lo si possa ottenere. Per fornire strumenti efficienti a chi ha obiettivi importanti, per dare un supporto tecnologico ad una impresa comune.&lt;br /&gt;La prima volta non si scorda mai. Meglio che sia positiva.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1999123128749486842?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1999123128749486842/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1999123128749486842' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1999123128749486842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1999123128749486842'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/03/la-sindrome-della-prima-volta.html' title='La Sindrome della Prima Volta'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-590528277711253526</id><published>2010-02-28T02:24:00.004+01:00</published><updated>2010-02-28T16:50:17.089+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FOSDEM'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>FOSDEM 2010: the Tech Side</title><content type='html'>[Premessa: questo post narra i contenuti tecnici visionati e sperimentati durante la mia esperienza al &lt;a href="http://www.fosdem.org/2010/"&gt;FOSDEM 2010&lt;/a&gt;, per una descrizione degli aspetti sociali si veda l'&lt;a href="http://madbob.wordpress.com/2010/02/28/fosdem-2010-the-people-side/"&gt;apposito articolo&lt;/a&gt; sull'&lt;a href="http://madbob.wordpress.com/"&gt;altro mio blog&lt;/a&gt;.]&lt;br /&gt;&lt;br /&gt;Il presupposto e' uno: in una manifestazione creata e vissuta completamente dalla community open, all'interno della quale l'informazione circola a priori senza vincoli, non ci si puo' aspettare di recepire qualcosa che non sia gia' stato letto in un blog o in un aggregatore di notizie. &lt;a href="http://en.wikipedia.org/wiki/Steve_Jobs"&gt;Jobs&lt;/a&gt; organizza i suoi keynotes badando di generare prima un grande hype senza pero' sbottonarsi troppo sui contenuti da svelare sul palco (cfr. &lt;a href="http://www.guardian.co.uk/technology/blog/2010/jan/27/apple-tablet-launch-live-coverage"&gt;iPad&lt;/a&gt;), quelli di &lt;a href="http://google.com/"&gt;Google&lt;/a&gt; sembrano preferire le dichiarazioni a sorpresa (cfr. &lt;a href="http://wave.google.com/"&gt;Wave&lt;/a&gt;), ma laddove non ci sia qualcuno che impone il silenzio stampa per esigenze di marketing ed immagine tutti sanno tutto di tutti. Per questo motivo al FOSDEM, il piu' grande meeting di sviluppatori open in Europa, non ho visto assolutamente nulla di nuovo.&lt;br /&gt;Relativamente pochi i talks che ho seguito, anche a causa della disposizione completamente randomica delle sale e della difficolta' a raggiungere i pochi appuntamenti interessanti (nel mio caso, &lt;a href="http://www.fosdem.org/2010/schedule/devrooms/jabberxmpp"&gt;quelli su XMPP&lt;/a&gt;) prima che le aule si riempissero e venissero chiuse.&lt;br /&gt;Tra questi, da menzionare sono il progetto &lt;a href="http://openintents.org/"&gt;OpenIntents&lt;/a&gt;, framework per piattaforma &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; che esaspera la nozione di "trigger" tentando di spezzare il workflow di qualunque tasks eseguito dall'utente in una serie di passi eseguiti da componenti dedicati ed intercambiabili da miscelare in diversi modi, e la presentazione dell'&lt;a href="http://hacks.mozilla.org/demos/"&gt;equivalente&lt;/a&gt; di &lt;a href="http://www.chromeexperiments.com/"&gt;ChromeExperiments&lt;/a&gt; da parte del team &lt;a href="http://mozilla.org/"&gt;Mozilla&lt;/a&gt;: una raccolta di arzigogolati quanto inutili hacks che portano al limite le piu' recenti tecnologie per lo sviluppo web.&lt;br /&gt;Con grande sorpresa (almeno da parte mia) la &lt;a href="http://www.fosdem.org/2010/schedule/devrooms/gnome"&gt;devroom&lt;/a&gt; dedicata a &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt; ha ospitato solo superficiali e poco stimolanti talks. Niente su &lt;a href="http://live.gnome.org/Zeitgeist"&gt;Zeitgeist&lt;/a&gt;, niente su &lt;a href="http://live.gnome.org/GnomeShell"&gt;Gnome Shell&lt;/a&gt;, niente su GTK+ 3.0, niente su &lt;a href="http://live.gnome.org/GObjectIntrospection"&gt;GIR&lt;/a&gt;, poco su &lt;a href="http://www.gnome.org/projects/tracker/"&gt;Tracker&lt;/a&gt; (parte del &lt;a href="http://www.fosdem.org/2010/schedule/events/xd_nepomuk_sparql"&gt;talk&lt;/a&gt; l'ho tenuto io!), insomma niente sulle reali novita' del settore. E' presumibile che i relatori abbiano preferito tenersi questi argomenti per il prossimo &lt;a href="http://www.guadec.org/"&gt;GUADEC&lt;/a&gt;, ma a parer mio avrebbero fatto molto meglio ad approfittare della visibilita' offerta verso un pubblico un po' piu' eterogeneo che non gli specifici addetti ai lavori che si presenteranno a luglio in Olanda.&lt;br /&gt;Nota a margine ed in semi-anteprima (nel senso che nel giro sono gia' tutti consci della cosa, ma e' bene diffonderla all'esterno): Rob Taylor, mio co-relatore, ha gia' in progetto da qualche tempo una sorta di contest per il miglior hack costruito su Tracker e dovrebbe annunciarlo sul &lt;a href="http://blog.floopily.org/"&gt;suo blog&lt;/a&gt;. La scadenza dovrebbe quantomeno imminente (verso la meta' di marzo), ma magari qualcuno ha una bella idea che richiede poco lavoro e produce risultati immediati. Premio: un &lt;a href="http://www.google.com/phone/"&gt;Nexus One&lt;/a&gt;. Direi che il gioco val la candela.&lt;br /&gt;Trascendendo dalle applicazioni software, curiosa la &lt;a href="http://reprap.org/"&gt;RepRap&lt;/a&gt;, di cui era presente &lt;a href="http://www.flickr.com/photos/robertoguido/4344106918/"&gt;un esemplare&lt;/a&gt;: gia' l'idea di una "stampante 3D" e' stravagante, se poi e' pure open e lowcost diventa meravigliosa.&lt;br /&gt;Ora non mi resta che attendere la pubblicazione dei &lt;a href="http://video.fosdem.org/2010/"&gt;video&lt;/a&gt; degli speech che mi sarebbero stati congeniali ma che, come detto, per un motivo o per l'altro mi sono perso. Ed iniziare a ponderare qualcosa di simpatico da far vedere alla prossima edizione.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-590528277711253526?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/590528277711253526/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=590528277711253526' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/590528277711253526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/590528277711253526'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/02/fosdem-2010-tech-side.html' title='FOSDEM 2010: the Tech Side'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4602133979491135210</id><published>2010-01-31T20:11:00.003+01:00</published><updated>2010-02-01T01:54:48.856+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tracker'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Uno Scalpello per l'Informazione</title><content type='html'>A me piacciono un sacco i feeds: ogni giorno dedico parecchio tempo alla loro consultazione, per essere sempre informato di ogni novita' entro il piu' breve tempo possibile, e ne seguo relativamente pochi appunto perche' altrimenti non farei null'altro. Il &lt;a href="http://liferea.sourceforge.net/"&gt;mio&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Feed_reader"&gt;feed reader&lt;/a&gt; ha sostituito la TV (poiche' l'unica cosa che guardavo erano i telegiornali, e questi risultano non solo sempre tremendamente in ritardo e schierati ma nell'ultimo periodo ho pure notato che &lt;a href="http://nonciclopedia.wikia.com/wiki/Studio_Aperto"&gt;Studio Aperto&lt;/a&gt; ha fatto scuola...), occupa quasi tutti i momenti di transizione in cui non scrivo codice o mail o post sul blog, mi porta continue ispirazioni per nuovi progetti o spunti di riflessione. Sono arrivato al punto di riportare in forma di RSS &lt;a href="http://lurka.barberaware.org/"&gt;anche&lt;/a&gt; le mailing list.&lt;div&gt;Ma non ne ho mai abbastanza: per l'uso che ne faccio io, qualunque applicazione di tal genere risulta sempre limitata e limitante. Le shortcut da tastiera sono sempre poco efficienti, l'area per leggere il contenuto degli item e' sempre troppo ristretta, ad uno manca una filter bar per eseguire ricerche veloci, l'altro non permette di nascondere i feeds che non contengono nuovi articoli (feature indispensabile se si hanno piu' di una trentina di sottoscrizioni), e alla fine il layout e' sempre lo stesso (lista sopra, contenuti sotto) impedendo di assortire i contenuti in altre maniere piu' produttive e mirate.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Per questo motivo nella mia spropositata lista di todo c'e' da diversi anni l'implementazione di un feed reader fatto a modo mio. E questa potrebbe essere la volta buona che lo realizzi davvero.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recentemente, per interesse e sfida, ho messo insieme col supporto di &lt;a href="http://netvandal.org/"&gt;Netvandal&lt;/a&gt; &lt;a href="http://rss-miner.barberaware.org/"&gt;un miner&lt;/a&gt; per &lt;a href="http://projects.gnome.org/tracker/"&gt;Tracker&lt;/a&gt; che popoli il database locale con i feeds online: ogni tot tempo scarica dai vari URL &lt;a href="http://library.gnome.org/devel/ontology/unstable/mfo-classes.html#mfo-FeedChannel"&gt;memorizzati&lt;/a&gt;, parsa l'XML, e carica &lt;a href="http://library.gnome.org/devel/ontology/unstable/mfo-classes.html#mfo-FeedMessage"&gt;gli items&lt;/a&gt; nuovi. Insomma, funge da backend.&lt;/div&gt;&lt;div&gt;Nel thread in cui &lt;a href="http://mail.gnome.org/archives/tracker-list/2010-January/msg00049.html"&gt;annunciavo&lt;/a&gt; al team Tracker la &lt;a href="http://barberaware.org/forum/forum.php?forum_id=163"&gt;release 0.3&lt;/a&gt; del componente (che ha anche riscosso un discreto successo, tale da essere &lt;a href="http://mail.gnome.org/archives/tracker-list/2010-January/msg00050.html"&gt;considerato&lt;/a&gt; per l'inclusione nel repository mainstream del progetto), e' saltato fuori il mio proposito di provvedere ad un frontend. Qualcuno se ne e' &lt;a href="http://mail.gnome.org/archives/tracker-list/2010-January/msg00052.html"&gt;interessato&lt;/a&gt;, mi sono un po' allargato con le dichiarazioni, ed adesso qualcuno si aspetta che io lo faccia davvero. Posso mica deludere i colleghi developers, no?&lt;/div&gt;&lt;div&gt;Ora come ora sto specificando l'architettura interna del programma, ma so per certo che dovra' avere almeno una feature: la visualizzazione degli items plugginizzabile. Data una API con cui indicare quali elementi mostrare e nascondere (in funzione dei nuovi feeds scaricati, e/o della filter bar), il plugin fara' quel che deve. E dunque potra' esserci la solita vista "lista sopra, contenuti sotto", ma anche quello che piazza su una &lt;a href="http://live.gnome.org/libchamplain"&gt;mappa&lt;/a&gt; gli elementi marcati con &lt;a href="http://www.geonames.org/rss-to-georss-converter.html"&gt;GeoRSS&lt;/a&gt;, quello che traccia una &lt;a href="http://it.wikipedia.org/wiki/Tag_cloud"&gt;tagcloud&lt;/a&gt; per i termini usati, quello che visualizza in blocchi proporzionali i posts provenienti dai singoli autori, o quello che permette di scorrere una timeline...&lt;/div&gt;&lt;div&gt;Lo scopo e' quello di visualizzare le news secondo vari criteri, si' da aiutare con la rappresentazione grafica l'individuazione di trends e soggetti interessanti, nonche' di nessi logici non immediatamente palesi tra piu' dati. Detto prosaicamente: scolpire l'informazione. Non per caso il nome del progetto e' &lt;a href="http://barberaware.org/projects/phidias/"&gt;Phidias&lt;/a&gt;, traslitterazione inglese di quello che nella traslitterazione italiana e' &lt;a href="http://it.wikipedia.org/wiki/Fidia"&gt;Fidia&lt;/a&gt;, scultore greco dell'antichita' con un nome incidentamente assonante alla parola "feed".&lt;/div&gt;&lt;div&gt;Non nascondo che il fulcro dell'iniziativa derivi dal desiderio di riportare in un software reale alcuni concetti nati e raffinati nel contesto del &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy Project&lt;/a&gt;. In tale ambito ho iniziato ad elucubrare sull'applicazione di diversi &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;"templates"&lt;/a&gt; ad &lt;a href="http://lobotomy-project.org/wiki/Items"&gt;oggetti informativi&lt;/a&gt; flessibili, in questo caso i detti plugins e i soggetti RDF prelevati da Tracker, e sebbene questa ne sarebbe una versione assai limitata e vincolata ad un ben preciso utilizzo determina comunque un primo esperimento concreto in tal senso.&lt;/div&gt;&lt;div&gt;Spero di riuscire a produrre un prototipo entro breve tempo: certamente non faro' in tempo per il &lt;a href="http://fosdem.org/2010/"&gt;FOSDEM&lt;/a&gt; (cui partecipero', e terro' anche un quarto di &lt;a href="http://live.gnome.org/Brussels2010/Devroom#Philip_Van_Hoof.2C_Rob_Taylor.2C_Roberto_Guido"&gt;talk&lt;/a&gt;! Pubblichero' un dettagliato report, qui o sull'&lt;a href="http://madbob.wordpress.com/"&gt;altro mio blog&lt;/a&gt;) ma qualcosina vedro' di mettere insieme negli oramai sempre piu' centellinati ritagli di tempo.&lt;/div&gt;&lt;div&gt;Stay tuned!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4602133979491135210?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4602133979491135210/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4602133979491135210' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4602133979491135210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4602133979491135210'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/01/uno-scalpello-per-linformazione.html' title='Uno Scalpello per l&apos;Informazione'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5440192480074852631</id><published>2010-01-30T00:27:00.004+01:00</published><updated>2010-01-30T01:24:07.503+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>1000000 Ways to Configure</title><content type='html'>Per una volta, mi trovo a dar &lt;a href="http://aseigo.blogspot.com/2010/01/gwenview-user-friendly.html"&gt;ragione&lt;/a&gt; ad &lt;a href="http://aseigo.blogspot.com/"&gt;Aaron Seigo&lt;/a&gt;: &lt;a href="http://www.linuxtoday.com/news_story.php3?ltsn=2010-01-23-003-35-OP"&gt;codesto articolo&lt;/a&gt; non sta ne' in cielo ne' in terra.&lt;div&gt;L'autore di quest'ultimo mette in discussione i miglioramenti in termini di usabilita' del progetto &lt;a href="http://en.wikipedia.org/wiki/Kde4"&gt;KDE4&lt;/a&gt;, completa riscrittura e revisione del ben noto &lt;a href="http://kde.org/"&gt;K Desktop Environment&lt;/a&gt;, usando come (infelice) argomentazione la decimazione delle proprieta' configurabili in &lt;a href="http://gwenview.sourceforge.net/"&gt;gwenview&lt;/a&gt;, image viewer incluso appunto in tale ambiente. Credo che di per se' questo stringatissimo riassunto basti gia' a farsi una idea dell'inconsistenza della posizione assunta, secondo cui per induzione un software "usabile" e' quello che mette l'utente in condizione di rifinire ogni singolo comportamento dell'applicazione anche laddove tale comportamento sia del tutto secondario e minimale, anziche' fare quel che s'ha da fare e basta. Anche volendo condividere l'opinione generale in merito alla scarsa maneggevolezza ed intuitivita' di KDE4 (di cui recentemente ad esempio mi e' capitato di metter mano all'edizione dedicata &lt;a href="http://www.ubuntu-it.org/scopri-kubuntu.shtml"&gt;ai netbooks&lt;/a&gt;: totalmente incomprensibile), comunque viene qui presentata nel peggiore dei modi ed assumendo quello che forse e' il meno rappresentativo dei casi.&lt;/div&gt;&lt;div&gt;Contrariamente a quanto asserito, gli sviluppatori di gwenview meriterebbero un premio per aver rimosso l'armageddon di pulsantini, opzioncine, caselline e iconcine che era il loro pannello di configurazione. E che, non dubito, sono stati via via aggiunti solo ed esclusivamente per la pigrizia del momento nell'individuare un comportamento realmente valido e delegando al disgraziato utilizzatore l'onere di prendere una decisione. Il fatto che l'applicazione ne risulti meno configurabile e personalizzabile, al limite dell'estremo (e della pazzia), e' del tutto irrilevante ai fini pratici: la fascia di utenti disposti a passare un pomeriggio a tarare manualmente la dimensione della cache, o mettersi col righello a scegliere l'esatta larghezza dello spazio vuoto tra una immagine e l'altra, e' infinitesimale o nulla rispetto alla quantita' di persone che desiderano avere un programma che gli permetta di navigare tra le proprie immagini senza patemi. Quei quattro power-user in croce che volevano essere in grado di selezionare ogni minimo dettaglio si sentono "frustrati" di queste nuove limitazioni? Ebbene: il loro sacrificio e' compensato dalla mancata frustrazione di tutti gli altri, la stragrande maggioranza, che facilmente si sarebbero persi in quel marasma di quisquillie gustosamente tecniche rinunciando a fare quello che volevano. E poi i suddetti quattro hanno pur sempre il codice sorgente a disposizione: con quello a disposizione, ed un compilatore, sono liberissimi di cambiare ancor piu' impostazioni di quante siano immaginabili all'interno di un pannello grafico.&lt;/div&gt;&lt;div&gt;Pertanto: un plauso al team gwenview e di tutti gli altri sotto-progetti KDE che hanno approfittato o stanno approfittando della migrazione da 3 a 4 per rimuovere quanti piu' orpelli e facezie possibili tra quelle che si sono accumulate col passare del tempo nelle loro creazioni, e che con buon senso hanno deciso di pensare piu' ai propri utenti che non all'assecondamento del proprio ego programmatorio.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5440192480074852631?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5440192480074852631/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5440192480074852631' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5440192480074852631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5440192480074852631'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/01/1000000-ways-to-configure.html' title='1000000 Ways to Configure'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-6755128376924964232</id><published>2010-01-22T02:54:00.006+01:00</published><updated>2010-01-23T02:31:08.667+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Stay Focus</title><content type='html'>"Stay focus" e' una espressione spesso usata dal mio attuale project manager in &lt;a href="http://itsme.it/"&gt;Itsme&lt;/a&gt;. Mi piace, nella sua infinita semplicita' (e nella mia personale interpretazione) esprime bene la necessita' di mantenere l'attenzione entro un dato contesto e su determinati obiettivi. Proprio a me, che quasi continuamente zompo tra un blocco di codice e l'altro senza soluzione di continuita'...&lt;div&gt;La citazione mi e' tornata alla mente leggendo &lt;a href="http://gizmodo.com/5452501/the-apple-tablet-interface-must-be-like-this"&gt;questo articolo&lt;/a&gt;, ennesima colonna da opinionista sul gossip nerd del momento, l'oramai &lt;a href="http://news.tecnozoom.it/portatili-e-pc/islate-tablet-apple-per-il-26-gennaio-2010-post-13711.html"&gt;imminente&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/ISlate"&gt;iSlate&lt;/a&gt;. Al di la' delle speculazioni dell'autore, che tendenzialmente posso anche approvare ma che in mancanza di un prodotto concreto da commentare risultano sterili chiacchere da bar, i primi paragrafi sono assai interessanti. Un po' per i contenuti, un po' per gli stimoli: in essi viene menzionata la figura di &lt;a href="http://en.wikipedia.org/wiki/Jef_Raskin"&gt;Jef Raskin&lt;/a&gt;, mia inesauribile fonte di ispirazione diretta ed indiretta, e la sua posizione radicale nei confronti dell'usabilita' degli apparati tecnologici.&lt;/div&gt;&lt;div&gt;Consiglio la lettura del pezzo ma non commento qui nel dettaglio ne' la prima ne' la seconda parte: basti sapere che rileggere tali spunti e tali prospettive e' stato sufficiente per riportarmi alla mente i sopiti ma mai defunti propositi di applicarmi in prima persona, nel mio piccolo, per rendere piu' accessibili e a misura d'uomo gli strumenti offerti dal progresso.&lt;/div&gt;&lt;div&gt;Proprio ieri sera ho partecipato ad una riunioncina con gli altri personaggi coinvolti nel progetto &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt;, per fare il punto dopo la pausa imposta dalle vacanze natalizie. Pare che gli attuali &lt;a href="http://www.cascinaroccafranca.it/wiki/consumo_critico"&gt;utilizzatori&lt;/a&gt;, in tutto circa un centinaio, siano entusiasti della facilita' d'uso di questa applicazione, e sebbene ci sia ancora parecchio da fare sia in termini operativi che estetici ci siamo spinti a delineare le funzionalita' da includere nella prossima versione 2.0 . Alla luce degli istinti suscitati e risuscitati dalla summenzionata lettura, mi vengono i brividi alla schiena ripensando alla quantita' di pulsantini e opzioncine che tra una birra ed un po' di vino sono stati idealmente introdotti per azioni tutto sommato minime ed oziose, che potrebbero forse risultare comode per chi oramai avvezzo all'impianto ma risulterebbero totalmente incomprensibili a chi si avvicina per la prima volta o anche ad un utente gia' preparato che (ovviamente) non si trova dinnanzi a queste schermate tutti i giorni e legittimamente puo' scordarsi il significato di un determinato quadratino colorato sul monitor. Nei prossimi mesi dovro' studiare qualche soluzione per automatizzare l'automatizzabile, celare il celabile, e svelare alla vista qualcosa solo quanto realmente necessario ed indispensabile. Onde evitare il classico "effetto acccumulo" per cui quasi inevitabilmente ogni nuova versione di qualsiasi software stratifica qualche orpello, qualche ammenicolo, qualche cineseria in piu' rendendo il tutto a lungo andare una accozzaglia indefinita e pesante, sia da vedere che da usare.&lt;/div&gt;&lt;div&gt;Lo stesso vale per ogni altro progetto attualmente in corso, che come al solito sono tanti - e anche troppi -: ad esempio negli ultimi giorni ho giocato un pochino con &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; con la mira di metter su una sorta di servizio web, e non nego di essermi fatto prendere la mano dalla semplicita' con cui e' possibile aggiungere effetti ed animazioni estremamente cool ma dalla assai scarsa utilita'. Tale genere di garbugli possono sedurre l'occhio la prima volta, la seconda, alla terza diventano una perdita di tempo ed un carico in piu' per il processore.&lt;/div&gt;&lt;div&gt;Insomma: mi rendo conto di aver ultimamente un po' lasciato da parte lo scopo globale, il "focus" appunto, e di essermi fatto coinvolgere un po' dalla immediatezza e dalla spettacolarita' degli strumenti programmatori oggi a disposizione ed un po' dalla necessita' di far le cose magari non proprio sempre in modo ponderato - e di conseguenza male. Dovro' fare un esame di coscienza e stare piu' accorto, rinunciare a qualche evoluzione ed immolarmi maggiormente alla linearita', tenendo sempre ben presente cosa c'e' da fare nel suo insieme.&lt;/div&gt;&lt;div&gt;Stay focus. Always.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-6755128376924964232?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/6755128376924964232/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=6755128376924964232' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6755128376924964232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6755128376924964232'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/01/stay-focus.html' title='Stay Focus'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-53354354766402973</id><published>2010-01-03T03:50:00.004+01:00</published><updated>2010-01-03T20:42:56.891+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>127.0.0.1 sweet 127.0.0.1</title><content type='html'>Chiunque abbia mai provato a scrivere anche il piu' semplice programmino in C che faccia uso di socket ha una vaga idea di quanto l'&lt;a href="http://en.wikipedia.org/wiki/Berkeley_sockets"&gt;API BSD&lt;/a&gt; sia delirante: ci sono quintalate di funzioni destinate ai vari scopi, talvolta sembra ce ne sia pure piu' di una per far la stessa cosa, ed i parametri sono passati per mezzo di struct brutalmente castate l'una con l'altra e di cui sconsiglio l'analisi nei relativi header files.&lt;br /&gt;Finche' si fanno cose semplici (apri la connessione TCP, manda il pacchetto UDP e cose cosi') per fortuna esistono fior di &lt;a href="http://info.maxblar.com/gapil/gapilch16.html#x567-27300014"&gt;tutorial&lt;/a&gt; sparsi sull'Internet. Se si vuol fare qualcosa di un pochino piu' complesso (tipo: parlare con uno &lt;a href="http://en.wikipedia.org/wiki/STUN"&gt;STUN&lt;/a&gt; server) spesso la documentazione non basta e gia' si deve iniziare a cercare con &lt;a href="http://www.google.com/codesearch"&gt;Google Codesearch&lt;/a&gt; o all'interno del codice di programmi che a priori si sa fanno quel che serve. Se poi si aspira a realizzare qualcosa che ancora non e' stato fatto da nessuno, e dunque mancano gli esempi da cui prendere ispirazione, la situazione diventa tragica.&lt;br /&gt;Nel mio caso specifico sto realizzando una implementazione di client &lt;a href="http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.2.html"&gt;PubSubHub&lt;/a&gt; da includere in libgrss, libreria &lt;a href="http://library.gnome.org/devel/gobject/stable/"&gt;GObject&lt;/a&gt; per la manipolazione dei feeds di cui probabilmente parlero' su &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo blog&lt;/a&gt; in futuro e destinata a colmare un vuoto ad oggi inammissibile, per ricevere attivamente le notifiche di nuovi contenuti esposti sull'Internet anziche' "pollare" i relativi files &lt;a href="http://en.wikipedia.org/wiki/RSS"&gt;RSS&lt;/a&gt; o &lt;a href="http://en.wikipedia.org/wiki/Atom_%28standard%29"&gt;Atom&lt;/a&gt; che siano. I maggiori grattacapi attuali derivano dalla necessita' di scavalcare un eventuale &lt;a href="http://en.wikipedia.org/wiki/Network_address_translation"&gt;NAT&lt;/a&gt; che si trovi dinnanzi al client, possibilita' tutt'altro che remota nel caso di una connessione domestica dotata di un modem ed un router che distribuisce connettivita' al resto della casa, affinche' il server remoto possa pushare le notifiche. Per ora mi accontento di configurare il detto router per forwardare le trasmissioni entranti su una certa porta direttamente sul PC bersaglio (o meglio: faccio fare al mio collega &lt;a href="http://netvandal.org/"&gt;Netvandal&lt;/a&gt; questi test, giacche' ci si mette pure &lt;a href="http://www.vodafone.it/"&gt;Vodafone&lt;/a&gt; a &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/un-blog-per-domarli-tutti.html"&gt;troncarmi&lt;/a&gt; le connessioni entranti, ma e' un'altro discorso), ma per quanto sia una soluzione di ripiego comunque comporta infiniti problemi.&lt;br /&gt;Non esiste un modo pulito per recuperare il proprio IP NATtato, non esiste una syscall che dato un indirizzo sappia dire se e' pubblico sull'Internet o meno, non esiste una syscall che dica quale delle interfacce di rete routa verso la Rete, insomma si fa tutto per intuizione e contando nella buona sorte. Qualcosina son riuscito a recuperare in &lt;a href="http://live.gnome.org/GNetLibrary"&gt;GNet&lt;/a&gt;, libreria Glib dedicata appunto all'astrazione delle operazioni di rete recentemente &lt;a href="http://osdir.com/ml/svn-commits-list/2009-05/msg07264.html"&gt;deprecata&lt;/a&gt; in &lt;a href="http://library.gnome.org/devel/gio/unstable/networking.html"&gt;favore&lt;/a&gt; di &lt;a href="http://library.gnome.org/devel/gio/unstable/"&gt;GIO&lt;/a&gt; (che pero' e' ancora abbastanza &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=602303"&gt;bacato&lt;/a&gt; per le operazioni su HTTP), ma sempre si va a tentoni.&lt;br /&gt;Insomma: ogni 3 per 2 si parla di integrazione col desktop con la Rete (e sia ben chiaro che la soluzione alternativa del cloud computing "puro", con tutti i dati online, semplicemente non funziona: oggi mi son trovato &lt;a href="http://gubb.net/"&gt;gubb.net&lt;/a&gt; assediato dai &lt;a href="http://it.wikipedia.org/wiki/Cybersquatting"&gt;cybersquatter&lt;/a&gt; e mi sono perso mesi di appunti ed idee, e questo fa il paio con Ma.gnolia &lt;a href="http://www.apogeonline.com/webzine/2009/03/10/il-crash-magnolia-una-lezione-da-imparare"&gt;auto-distruttosi&lt;/a&gt; a causa di una politica di backup farlocco), ma alle parole non conseguono i fatti, e non esistono strumenti che permettano di costruire tools senza impazzire appresso a documentazione forfettaria o codice da copiare ed incollare tenendo le dita incrociate.&lt;br /&gt;E' dura la vita del programmatore...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-53354354766402973?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/53354354766402973/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=53354354766402973' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/53354354766402973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/53354354766402973'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2010/01/127001-sweet-127001.html' title='127.0.0.1 sweet 127.0.0.1'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1596349504424827711</id><published>2009-12-13T01:51:00.004+01:00</published><updated>2009-12-13T16:20:19.461+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Ingenuita' Ingegnerizzata</title><content type='html'>Avevo scritto un frammento di codice in &lt;a href="http://php.net/"&gt;PHP&lt;/a&gt;. Dato un input, &lt;a href="http://identi.ca/notice/16550539"&gt;impiegava&lt;/a&gt; 20 secondi a restituire l'output. Ho aggiunto 10 righe, ed ora ce ne mette un paio.&lt;br /&gt;Il protagonista della storia e' &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; (il gestionale per &lt;a href="http://www.retegas.org/index.php?module=pagesetter&amp;amp;func=viewpub&amp;amp;tid=2&amp;amp;pid=9"&gt;Gruppi di Acquisto&lt;/a&gt; qualche volta menzionato su questo blog), applicazione che ho imbastito seguendo il piu' possibile la regola secondo cui e' meglio del codice compatto e generico anziche' una gestione manuale (ed ottimizzata) di tutti i casi possibili. Con risultati evidentemente non sempre gratificanti.&lt;br /&gt;Tutta la componente server del programma (cosiccome del resto anche la parte client, in &lt;a href="http://www.java.com/it/"&gt;Java&lt;/a&gt;) e' fondata su una &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/FromServer.php?rev=136&amp;amp;root=gasdotto&amp;amp;view=markup"&gt;classe elementare&lt;/a&gt; che funge da astrazione per tutte le altre: le sottoclassi di questa definiscono solo quali sono le variabili che contiene (tipo: lo &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/User.php?rev=117&amp;amp;root=gasdotto&amp;amp;view=markup"&gt;User&lt;/a&gt; ha un firstname che e' una stringa, un lastlogin che e' una data...), e tutta la parte di ricostruzione dell'oggetto dal database, serializzazione e deserializzazione &lt;a href="http://json.org/"&gt;JSON&lt;/a&gt;, salvataggio, aggiornamento e cancellazione e' implementata una volta sola nella classe di partenza. Tale meccanismo copre anche il caso in cui un oggetto contenga un array di oggetti di altro tipo, i quali sono mappati sul database seguendo una logica predefinita e dunque uguale per tutti e riportata in forma di codice una volta sola. Insomma: una architettura che mi ha permesso di realizzare pressoche' tutta la parte server del software in 2000 righe di PHP (stando alle &lt;a href="https://www.ohloh.net/p/gasdotto/analyses/latest"&gt;attuali statistiche&lt;/a&gt; su &lt;a href="https://www.ohloh.net/"&gt;Ohloh&lt;/a&gt;), ed in cui posso aggiungere nuovi elementi completi di tutte le funzionalita' con una manciata di altre righe.&lt;br /&gt;Fin qui tutto bello. Il brutto viene mettendo insieme molti oggetti che contengono a loro volta molti oggetti.&lt;br /&gt;Dato un numero di ordini, i quali contengono un numero di prodotti ordinati, ognuno dei quali fa riferimento ad un prodotto disponibile nell'ordine, ognuno dei quali fa riferimento al fornitore che lo distribuisce, e' evidente (soprattutto col senno di poi...) che la quantita' di componenti coinvolti nella semplice richiesta di avere tutte le merci che sono state richieste dai membri del Gruppo di Acquisto e' elevata. Ed attenendosi al primo modello operativo di riferimento ognuno di essi deve essere ripescato dal database e ricondotto ad un oggetto. Anche se e' gia' stato prelevato all'interno dell'elaborazione della stessa richiesta.&lt;br /&gt;Non voglio neanche sapere quante query venivano eseguite in tal frangente, ma non appena mi sono accorto del problema ho applicato in pochi secondi &lt;a href="http://barberaware.org/plugins/scmsvn/viewcvs.php/src/org/barberaware/public/server/FromServer.php?root=gasdotto&amp;amp;rev=136&amp;amp;r1=134&amp;amp;r2=136"&gt;una soluzione&lt;/a&gt; basata su un banale &lt;a href="http://www.php.net/manual/en/language.types.array.php"&gt;array associativo&lt;/a&gt; usato a mo' di cache temporanea per tener traccia di quanto gia' ottenuto e recuperarlo subito senza ricostruirlo daccapo: certamente non ottimale, ma funzionale.&lt;br /&gt;La morale di questa narrazione e' di non fidarsi sempre ciecamente dei dogmi dell'ingegneria software: astrarre e' un'ottima cosa, soprattutto se si e' pigri, ma, giacche' la perfezione non e' di questo mondo, per quanto raffinato il vostro sistema avra' sempre una falla, dunque tanto vale rassegnarsi e prepararsi da subito a dover applicare un salutare ed ingenuo hack di quando in quando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1596349504424827711?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1596349504424827711/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1596349504424827711' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1596349504424827711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1596349504424827711'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/12/ingenuita-ingegnerizzata.html' title='Ingenuita&apos; Ingegnerizzata'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1944279504363074512</id><published>2009-11-25T01:06:00.006+01:00</published><updated>2009-12-13T01:41:34.582+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='itsme'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Il Nome della Cosa</title><content type='html'>Qualche tempo fa' in &lt;a href="http://itsme.it/"&gt;Itsme&lt;/a&gt; sono passati alcuni ospiti: come sempre abbiamo fatto la nostra presentazione del progetto, come sempre ci sono state domande tecniche e meno tecniche, e tra tutte le osservazioni emerse una in particolare mi ha ispirato il qui presente post. In realta' si tratta di un commento piu' e piu' volte sollevato in merito all'opera in corso, carpito in circostanze piu' o meno ufficiali e che suona come "Itsme e' basato su Linux, ma Linux e' difficile da usare".&lt;br /&gt;Sorvolando sulle obiezioni di natura culturale e pedagogica, per cui un meccanismo complesso come un intero sistema operativo non puo' essere a priori "facile" o "difficile" ma necessariamente richieste un periodo di addestramento ed un disadattamento all'attivita' su altre piattaforme analoghe rendendo di fatto "difficile" tutto quello che non si e' usato fino al giorno prima, cio' che mi perplime e' il pregiudizio di fondo nei confronti di Linux.&lt;br /&gt;Per quanto nel corso delle dimostrazioni Itsme si parli dell'interfaccia che stiamo completamente ri-disegnando e re-implementando per adattarsi alla metafora di riferimento, cosiccome stiamo ri-disegnando e re-implementando gli automatismi di fondo che permettono la configurazione, "Linux e' difficile". Tale assioma e' assunto indipendentemente dalla modalita' grafica con cui il sistema si presenta, degli strumenti di tuning messi a disposizione, dei wizards automatici gia' previsti per sopperire ad eventuali mancanze ed integrare componenti gia' noti nel piano: "Linux e' difficile".&lt;br /&gt;Eppure a me non pare che nessuno si sia mai grattato il capo in modo imbarazzato usando un &lt;a href="http://www.linuxfordevices.com/c/a/News/Mots-Linuxbased-RAZR2-V8-previewed/"&gt;cellulare Motorola&lt;/a&gt;, spedendo richieste a &lt;a href="http://www.ossblog.it/post/5346/linux-come-viene-usato-da-google"&gt;Google&lt;/a&gt;, o anche facendo un biglietto della &lt;a href="http://www.slacky.eu/forum/viewtopic.php?f=3&amp;amp;t=24019"&gt;metropolitana&lt;/a&gt; qui a Torino. Questo perche' i tre fruitori di cui sopra, e buona parte di tutti gli altri fornitori di hardware e servizi Linux-based, dell'amato sistema operativo utilizzano la tecnologia di base ed hanno personalizzato per conto proprio la parte con cui l'utente interagisce, rendendo piu' o meno "facile" l'uso dell'apparato a seconda del fine predestinato. Ne' piu' ne' meno di quanto fatto da Apple con MacOS X, &lt;a href="http://developer.apple.com/macosx/architecture/index.html"&gt;partendo&lt;/a&gt; da una base BSD (che di per se' puo' essere considerato ancor piu' ostico che Linux stesso) e costruendoci sopra il proprio stack applicativo, rinomato come il piu' user-friendly sul mercato: sarebbe sensato affermare che MacOS e' "difficile" da usare perche' ha nel kernel lo stesso scheduler di BSD, laddove l'utilizzatore non sospetta neppure l'esistenza di un'arnese chiamato "scheduler"?&lt;br /&gt;E se anche fosse vero che, diciamo, una &lt;a href="http://ubuntu.com/"&gt;Ubuntu&lt;/a&gt; e' meno usabile di un Windows (argomento discutibile ed opinabile), e' altrettanto vero che godendo di una netta separazione tra i layer operativi Linux si presta molto di piu' ad una drastica personalizzazione dell'insieme e da esso e' molto piu' facile cavare qualcosa di realmente nuovo e pratico mantendendo intonse le porzioni di basso livello (gestione dei devices, librerie software, toolkits grafici, alcuni applicativi) e stravolgendo il resto, a propria discrezione e secondo la propria necessita'. Stando alla mia esperienza sinora ho lavorato su un apparato embedded per telecomunicazioni ed una workstation desktop, e su entrambi il software di basso livello era lo stesso, ovvero un kernel e qualche libreria.&lt;br /&gt;Stat Linux pristina nomine, nomina nuda tenemus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1944279504363074512?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1944279504363074512/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1944279504363074512' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1944279504363074512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1944279504363074512'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/11/il-nome-della-cosa.html' title='Il Nome della Cosa'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1794499624551902452</id><published>2009-10-19T18:22:00.005+02:00</published><updated>2009-10-19T23:37:46.150+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Hands on Google Wave</title><content type='html'>In merito a &lt;a href="http://wave.google.com/"&gt;Google Wave&lt;/a&gt; ho gia' fatto &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/fuori-onda.html"&gt;un commento&lt;/a&gt; (negativo) ai tempi del suo annuncio e della pubblicazione del lungo video di presentazione. Ora che grazie ad &lt;a href="http://www.lorenzobellini.it/"&gt;un amico&lt;/a&gt; ho ottenuto un invito ed ho potuto provarlo con mano, aggiorno il commento e lo rendo ancora piu' negativo.&lt;br /&gt;L'intera Internet, o quantomeno coloro che gia' hanno ottenuto il modo per fare qualche prova col suddetto prodotto, si chiede a cosa serva: non e' uno tool di instant messaging perche' i messaggi sono disposti in threads, non e' un forum perche' e' realtime, non e' uno strumento di editing collaborativo perche' ha una struttura predefinita. Insomma non e' nulla di gia' noto, ma al tempo stesso prende tutti i difetti dei canali menzionati sopra: e' lento e macchinoso come un forum e per pubblicare un nuovo messaggio c'e' da cliccare qua e la', essendo realtime non e' banale tenere una conversazione con qualcuno in quanto viene spontaneo rispondere prima che l'altro abbia finito di esprimersi completamente, ed ha un modello gerarchico dunque non puo' essere usato per scopi "generici" come un foglio su &lt;a href="http://docs.google.com/"&gt;Google Docs&lt;/a&gt;.&lt;br /&gt;A seguito del test drive, i miei dubbi diventano certezze: questa baracca non serve a niente. In molti si scervellano per cercare di dargli un significato, una dimensione, un ruolo, ma credo che sforzarsi di assegnare un titolo ad un prodotto solo perche' proviene da una fonte (piu' o meno) amata come Google sia un eccesso. Ammetto di non aver letto proprio tutte le recensioni quotidianamente proposte, ma tra tutte quella che maggiormente mi ha colpito e' &lt;a href="http://danieltenner.com/posts/0012-google-wave.html"&gt;questa qui&lt;/a&gt;: l'autore sostiene che l'utente piu' indicato per Wave sia quello che in genere e' il peggior consumatore di tecnologia informatica, ovvero l'utente business/corporate, quello che ancora non ha scoperto l'IM o gli altri ammenicoli collaborativi online e a tutt'oggi scambia coi suoi pari via mail gli stessi documenti centinaia di volte per apportare modifiche e correzioni. Ma io mi domando e chiedo: se questo "utente tipo" e' talmente radicato alle sue abitudini da non aver manco mai pensato ad aprirsi il piu' stupido account MSN (e figuriamoci un account su &lt;a href="http://www.zoho.com/"&gt;Zoho&lt;/a&gt;), come si spera che da un giorno all'altro inizi ad usare Wave???&lt;br /&gt;Da notare poi che codeste mie critiche si limitano al puro scopo funzionale dell'applicazione, in quanto se dovessi puntualizzare anche sul versante tecnico non finirei il post entro oggi: l'interfaccia e' ridondante, non fa niente eppure ci sono troppi tasti e pulsanti e icone (quasi che lo scopo fosse quello di dimostrare la fighettosita' di una applicazione &lt;a href="http://googlewebtoolkit.blogspot.com/2009/09/riding-google-wave.html"&gt;realizzata&lt;/a&gt; con &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/a&gt; anziche' impostare un frontend chiaro ed intuitivo), l'organizzazione dei contenuti e' abbozzata, innumerevoli i difettucci legati alle notifiche ed all'allineamento dei messaggi nonche' le incoerenze dell'interazione. Cui si sommano le limitazioni contingenti di ogni applicazione web, che essendo vincolate all'interno del browser non hanno modo di interagire col window manager e dunque portare all'attenzione dell'utente notifiche e segnalazioni.&lt;br /&gt;Se mai Wave avra' un qualche riscontro e sara' usato da qualcuno il merito sara' certamente piu' della campagna di marketing e dell'hype sorto intorno a codesto oggetto che non per un reale valore operativo. Chi ancora non ha un invito non se ne disperi troppo, non si sta perdendo niente e puo' tranquillamente attendere l'apertura del servizio a tutti.&lt;br /&gt;Anche oggi, l'Internet resta la stessa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1794499624551902452?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1794499624551902452/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1794499624551902452' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1794499624551902452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1794499624551902452'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/10/hands-on-google-wave.html' title='Hands on Google Wave'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3412194125009729959</id><published>2009-10-13T19:26:00.005+02:00</published><updated>2009-10-14T13:58:30.606+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='touch'/><category scheme='http://www.blogger.com/atom/ns#' term='devices'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><title type='text'>Vapore Multitouch</title><content type='html'>Risale a qualche settimana fa' il meme del tablet targato Microsoft, chiamato &lt;a href="http://gizmodo.com/5369493/leaked-courier-video-shows-how-well-actually-use-it"&gt;Courier&lt;/a&gt;. Molti hanno detto la propria, io (sebbene con un poco di ritardo) dico la mia: secondo me, e' una bufala.&lt;br /&gt;Le motivazioni di un gesto di tal fatta sono scontate: rosicchiare un poco della attenzione e della visibilita' offerte sull'argomento "tablet" a seguito dei &lt;a href="http://search.techcrunch.com/query.php?y=%2Ftc_eng_id%2Fsearch%2Fv1%2Fquery%2Fapple%2520tablet%3Fnext%3DMQFnMndBQUFBQmFBTmtBQXgyWlhOd1lWOW9iM04wWldSaEFXRjJhZy0t%26count%3D10%26client%3Dtechcrunch%26category_id%3DTechCrunch%2520Search"&gt;reiterati rumors&lt;/a&gt; in merito ad un nuovo prodotto Apple, destinato (vuoi per tendenza modaiola, vuoi per effettivo grado innovativo tradizionalmente iniettato sul mercato dall'azienda di Cupertino) a ridare nuova vita ad un settore esistente da anni ma che non ha mai scalfito l'interesse del grande pubblico consumer.&lt;br /&gt;Ma la mia affermazione non e' fondata solo sulla pura intuizione (oltretutto neanche tanto originale) e sul pregiudizio nei confronti di Microsoft, ma su riflessioni indotte dalla visione del video di introduzione al suddetto Courier. Osservando quei quattro minuti di filmato, spacciati per tech demo dell'imminente prodotto, a me sembra abbastanza evidente che il modello di interazione e' cosi' artefatto da non poter essere reale: comportamenti grafici diversi, ovviamente sempre i piu' adatti alla regia, si ottengono a seguito delle medesime operazioni dell'utente, ed il pannello giallo che ogni tanto appare (e non ho neanche capito a cosa serva...) sembra dotato di una propria coscienza tanto da apparire solo quando scenicamente opportuno. Per non parlare delle barre in cui si scrive a mano per raggiungere un dato contenuto (bella forza immettere l'URL "afi.com" nel browser, ma come ce lo faccio stare "&lt;a href="http://slashdot.org/"&gt;slashdot.org&lt;/a&gt;"?), le tabelline che magicamente vengono estratte e trascinate senza manco sapere qual'e' la porzione di interesse per l'utente, il tratto dello stilo che diventa testo o evidenziatura gialla in modo totalmente arbitrario...&lt;br /&gt;Insomma, piu' che un prototipo di interazione a me sembra un film di azione, in cui i cattivi sparano dozzine di proiettili senza mai neppure ferire i buoni e l'eroe fa di ogni colpo un centro: molto divertente da vedere, ma non credibile. Poi, per la carita', qualcosa di interessante lo si trova anche, come il concetto di piazzare i contenuti di traverso tra le due pagine per, all'atto pratico, metterlo in clipboard, ma cio' non toglie nulla alla mia incredulita' di vedere davvero questo arnese sugli scaffali nei prossimi mesi.&lt;br /&gt;Al contrario, sono ben contento di vedere che una fascia di prodotti su cui da tempo ripongo la mia attenzione stia in qualche modo uscendo dalla nicchia in cui e' stata relegata per anni ed i grandi produttori nel bene e nel male procedano con sperimentazioni e ricerche: continuo a ritenere l'idea del tablet una direzione quasi obbligata per gli sviluppi tecnologici futuri, in virtu' del rapporto dati esposti / superficie ingombrante di cui tali dispositivi godono, e nella speranza di poter presto trovare un degno sostituto al mio &lt;a href="http://images.google.it/images?hl=it&amp;amp;source=hp&amp;amp;q=acer%20c310&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;tab=wi"&gt;Acer C310&lt;/a&gt; (quattro anni fa' il miglior convertibile che ho trovato sulla piazza, e da allora rimasto tale a causa della scarsita' di alternative) continuo a seguire gli sviluppi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3412194125009729959?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3412194125009729959/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3412194125009729959' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3412194125009729959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3412194125009729959'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/10/vapore-multitouch.html' title='Vapore Multitouch'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8170273701317502957</id><published>2009-10-13T16:35:00.003+02:00</published><updated>2009-10-13T19:12:35.791+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Bronzo</title><content type='html'>Ed alla fine della fiera al &lt;a href="http://www.socialdesktop.org/contest/"&gt;Social Desktop Contest&lt;/a&gt; mi sono &lt;a href="http://dot.kde.org/2009/10/09/social-desktop-winners"&gt;classificato terzo&lt;/a&gt;.&lt;br /&gt;Con &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/libopengdesktop.html"&gt;libopengdesktop&lt;/a&gt; (tra le mie &lt;a href="http://opendesktop.org/content/show.php/libopengdesktop?content=107669"&gt;due&lt;/a&gt; &lt;a href="http://opendesktop.org/content/show.php/opengnomedesktop.org?content=109029"&gt;candidature&lt;/a&gt;, quella a minor contenuto innovativo), e dopo l'&lt;a href="http://opendesktop.org/content/show.php/ExtendedAboutDialog+for+KDE+apps?content=110614"&gt;ExtendedAboutDialog&lt;/a&gt; (in effetti molto grazioso) ed il &lt;a href="http://opendesktop.org/content/show.php/Knowledge+base+widget?content=110513"&gt;Knowledge Base Widget&lt;/a&gt; (quattro righe di C++ in croce, destino vuole scritte da &lt;a href="http://opendesktop.org/usermanager/search.php?username=mart"&gt;uno&lt;/a&gt; di un paesello &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=pinasca,+italy&amp;amp;sll=44.814521,8.855315&amp;amp;sspn=0.037507,0.063601&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Pinasca+Turin,+Piedmont,+Italy&amp;amp;ll=45.035685,7.510529&amp;amp;spn=0.597802,1.017609&amp;amp;z=10"&gt;relativamente vicino&lt;/a&gt; a Torino).&lt;br /&gt;Non mi dilungo ulteriormente in commenti, che non possono che essere di parte (esattamente come la giuria del contest, promosso dalla combriccola di KDE e dunque con qualche inevitabile lieve inclinazione...), e soprassedo anche sul fatto che abbiano scritto il mio nome al contrario, prima il cognome e poi il nome; attendo solo di ricevere la gift card da 50 dollari da spendere ancora non so come su &lt;a href="http://www.amazon.com/"&gt;Amazon&lt;/a&gt;.&lt;br /&gt;Piu' che all'occasione sfumata di ottenere un netbook o un disco da 1TB (rispettivamente, primo e secondo premio della competizione), rifletto sull'immensamente scarso riscontro ottenuto da una iniziativa tutto sommato, come &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/lunione-fa-il-desktop.html"&gt;gia' detto&lt;/a&gt;, lodevole, mirata a stimolare la produzione di un po' di software in un contesto che merita attenzione da parte della community quale la condivisione di contributi non programmatori al freesoftware. Nonostante la decentemente ampia promozione e risonanza nella &lt;a href="http://opendesktop.org/index.php?xcontentmode=99&amp;amp;PHPSESSID=c38215b94b7ae26af0f8780de30f6252"&gt;pagina dedicata&lt;/a&gt; alle candidature appaiono solo nove proposte, di cui &lt;a href="http://opendesktop.org/content/show.php/Tweet?content=109742"&gt;almeno&lt;/a&gt; &lt;a href="http://opendesktop.org/content/show.php/Find+people+who+can+help+you?content=107127"&gt;due&lt;/a&gt; completamente fuori concorso; due di queste sono mie, dunque volenti o nolenti qualcosa avrebbero comunque dovuto assegnarmelo per ragioni statistiche piu' che di merito.&lt;span class="submitted"&gt;&lt;/span&gt; &lt;a href="http://blog.karlitschek.de/"&gt;Frank Karlitschek&lt;/a&gt;, mente dell'attivita' (e proprietario del network di &lt;a href="http://opendesktop.org/"&gt;opendesktop.org&lt;/a&gt;), con rara maestria dialettica ha prima &lt;a href="http://blog.karlitschek.de/2009/08/moving-dates.html"&gt;posticipando&lt;/a&gt; la deadline per le consegne ufficialmente adducendo ad una mole di aspiranti partecipanti che non hanno fatto in tempo a completare le rispettive opere (partecipanti i quali, inutile dirlo, non si sono piu' fatti vedere ne' sentire) e poi si e' deciso dopo lungo ritardo a dichiarare concluso il contest, sperticandosi in entusiasmi per l'ottima riuscita del concorso.&lt;br /&gt;Io, che tanto ottimista non sono, mi domando e chiedo il perche' di un cosi' moderato approccio all'opportunita' fornita. Si potevano vincere dei bei premi con uno sforzo limitato, eppure come gia' detto le proposte avanzate sono state ben poche e pressoche' tutte di scarso impatto. La comunita' KDE (cui Social Desktop e tutta la corte di Karlitschek sono strettamente legati) gode di enorme hype e grande coinvolgimento, a volte &lt;a href="http://madbob.wordpress.com/2009/03/26/limportanza-di-essere-ernesto/"&gt;persino troppo&lt;/a&gt;, e non trovo le ragioni di un cosi' netto fallimento.&lt;br /&gt;Il dubbio e la perplessita' si fanno ancora piu' forti adesso che qui in Italia si approssima il &lt;a href="http://www.linuxday.it/"&gt;Linux Day&lt;/a&gt;, apice del lavoro comunitario di promozione del software libero e occasione in cui emergono i piu' disparati propositi (tra cui &lt;a href="http://madbob.wordpress.com/2009/10/13/idee-condivise-per-la-condivisione-di-idee/"&gt;i miei&lt;/a&gt;) per massimizzare il profitto comunicativo verso il grande pubblico: non c'e' bisogno di arguzia per sapere che tra il discutere una idea e realizzarla ce ne corre, e non poco, ma se persino un progetto della popolarita' di opendesktop.org attrae si' ristretta manodopera non c'e' da star sereni per l'avvenire.&lt;br /&gt;Investire nelle nuove leve, su quella schiera di giovini che ad oggi maturano l'interesse al freesoftware solo in virtu' di &lt;a href="http://www.youtube.com/watch?v=gn87H7ks384"&gt;cubi rotanti&lt;/a&gt; e velleitarie filosofie da ostentare nei circoli nerd? Inventare nuove forme di partecipazione, per abbassare la sbarra ed allargare il bacino di contributors? Le possibilita' sono molteplici, forse non tutte valide ma degne di esplorazione. Sta di fatto che l'utenza Linux su desktop si allarga, i numeri sono ancora piccini ma in costante crescita, e la quantita' di apporti non cresce con lo stesso ritmo.&lt;br /&gt;Se un pugno di tecnici altamente specializzati hanno prodotto i risultati oggi sotto gli occhi di tutti, creare e mantenere un ecosistema realmente attivo e partecipativo puo' portarci la' dove nessun PC e' mai giunto prima.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8170273701317502957?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8170273701317502957/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8170273701317502957' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8170273701317502957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8170273701317502957'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/10/bronzo.html' title='Bronzo'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-281838194629877050</id><published>2009-08-25T02:29:00.008+02:00</published><updated>2009-08-26T02:01:43.684+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Sentimento a 8 Bit</title><content type='html'>Tra i diversi articoli interessanti apparsi (stranamente, essendo estate) negli ultimi giorni, uno mi ha colpito per due distinti e diametralmente opposti motivi: il fascino del tema toccato, e la sua profonda ingenuita'.&lt;br /&gt;Il brano e' &lt;a href="http://news.cnet.com/Mining-the-Web-for-feelings,-not-facts/2100-1032_3-6249994.html"&gt;questo qua&lt;/a&gt; (originariamente &lt;a href="http://www.nytimes.com/glogin?URI=http://www.nytimes.com/2009/08/24/technology/internet/24emotion.html&amp;amp;OQ=_rQ3D1&amp;amp;OP=11d213eaQ2FOhDIOQ5DkMijkkZQ51OQ51HHmOHxOQ51YOZDM.ekKk,tOQ5EeZDjeDZOQ51YDvkZQ5Eke8.ZvK"&gt;letto&lt;/a&gt; sulle pagine del &lt;a href="http://www.nytimes.com/"&gt;New York Times&lt;/a&gt;), e parla delle tecnologie disponibili e/o in fase di sviluppo per l'analisi semantica dei contenuti sparpagliati sul web e l'estrazione di dati statistici. Il fine utilitaristico di tale procedura sarebbe, in sintesi, valutare se un dato prodotto (o avvenimento, o azienda...) e' recepita benignamente o malignamente dal pubblico, consultando blogs, news, tweets ed altre disparate fonti per trarne l'opinione di fondo e convertirla in un valore numerico facilmente rappresentabile in un grafico.&lt;br /&gt;La bellezza gustosamente intellettuale ed accademica di codesti strumenti di misura dell'umore, calibri per i sentimenti e righelli dell'animo, e' pero' a parer mio esclusivamente intellettuale ed accademica: allo stato dei fatti attuale, hanno una utilita' prossima a zero.&lt;br /&gt;Facciamo un semplice esempio pratico, partendo da un prodotto a caso. Per comodita' e pigrizia prendo un libro recentemente recensito sul &lt;a href="http://annessieconnessi.net/"&gt;blog&lt;/a&gt; di una amica, &lt;a href="http://annessieconnessi.net/?p=163"&gt;"Quella Stronza del mio Capo"&lt;/a&gt; (sicuramente non e' il mio genere...). Ne piglio il titolo e lo cerco su &lt;a href="http://blogsearch.google.it/"&gt;Google Blogs&lt;/a&gt;, motore di ricerca della blogosfera; risultato: &lt;a href="http://blogsearch.google.it/blogsearch?hl=it&amp;amp;q=%22Quella%20stronza%20del%20mio%20capo%22%20clark&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;tab=wb"&gt;21 menzioni&lt;/a&gt;, riportate ovviamente in linguaggio naturale, dunque da analizzare rigo per rigo innanzitutto per capire se effettivamente si sta parlando di quell'opera e poi per trarne l'impressione positiva o negativa avuta dall'autore del post. Ricopio il titolo e lo cerco su &lt;a href="http://www.anobii.com/"&gt;Anobii&lt;/a&gt;, community dedicata a persone che vogliono condividere le proprie letture con altri appassionati (e di cui &lt;a href="http://www.anobii.com/madbob/books"&gt;sono membro&lt;/a&gt;); risultato: &lt;a href="http://www.anobii.com/books/Quella_stronza_del_mio_capo/9788860731890/0157d7215de0271e68/#detail"&gt;50 voti&lt;/a&gt;, espressi per mezzo di un semplice form di rating e rappresentati in forma di media (le stelline a fianco della copertina) e tabellare (le lineette che appaiono al paragrafo "Dettagli del libro").&lt;br /&gt;Ora: senza nulla togliere al valore certamente piu' completo e puntuale che puo' avere un post su un blog, val la pena dispiegare fior di risorse computazionali per setacciare l'Internet, individuare e cavare un dato che invece gia' mi viene fornito altrove secondo la modalita' a me piu' confacente (un numeretto) e con un campione di utenza ampio piu' del doppio?&lt;br /&gt;Da una parte, quella dei brillanti ricercatori descritti nell'articolo di apertura, si cerca di far comprendere al computer la complessa ed intricata mente umana - e di conseguenza prima di tutto il linguaggio con cui essa si manifesta - per trarne delle conclusioni stocastiche; dall'altra, quella dell'utenza, si cerca piu' o meno consapevolmente di assecondare il computer, e strumenti semplici di interazione garantiscono una piu' immediata partecipazione e condivisione, nonche' una piu' radicata sicurezza - cliccare su una stellina da 1 a 4 difficilmente puo' portare ad errori grammaticali di cui vergognarsi col prossimo.&lt;br /&gt;Ad oggi, disponendo sulle nostre scrivanie di PC fondamentalmente stupidi in grado solo di immagazzinare e visualizzare valori finiti, le applicazioni (web e non) tendono a delegare all'utente la classificazione del contenuto, vincolandolo a ragionare sullo stesso piano della macchina, appunto secondo valori finiti: da qui l'introduzione di &lt;a href="http://pollycoke.net/2008/01/30/dolphin-e-il-supporto-ai-tag-nepomuk-kioslave/"&gt;tags da assegnare&lt;/a&gt; a documenti e foto, &lt;a href="http://forum.kde.org/brainstorm.php?mode=idea&amp;amp;i=39177"&gt;flags da settare&lt;/a&gt; per memorizzare l'importanza relativa di un dato, &lt;a href="http://vntutor.blogspot.com/2007/11/rating-your-songs-in-amarok.html"&gt;stelline&lt;/a&gt; per misurarne l'apprezzamento...&lt;br /&gt;Interessante notare pero' come codesti paletti e restrizioni non siano solo soluzioni temporanee indotte dalla necessita' (in quanto come detto il computer non sarebbe in grado di estrarre tali metadati emozionali da solo e dunque l'utente dovrebbe proprio farne a meno), ma al contrario secondi i canoni moderni sono visti come rivoluzionari, condizionano la psicologia della interazione uomo/macchina e sono considerati naturali per chiunque. Da questa tendenza emerge del resto il discreto successo delle &lt;a href="http://en.wikipedia.org/wiki/Wikia"&gt;community wiki&lt;/a&gt; (in cui ciascuno aggiunge qualcosina in merito al suo argomento preferito), l'enorme successo del &lt;a href="http://www.techcrunchit.com/2008/08/04/the-success-and-future-of-microblogging/"&gt;microblogging&lt;/a&gt; (ove non e' necessario stilare sermoni come i miei per esporre il proprio pensiero, 140 caratteri bastano ed avanzano), il gigantesco successo dei &lt;a href="http://www.tnl.net/blog/2006/06/22/5-reasons-why-social-networks-can-succeed/"&gt;social network&lt;/a&gt; (in cui i contenuti una volta immessi rimbalzano da un utente all'altro, essendo condivisi con un semplice click, ed ogni tanto spunta un breve commento), tutte modalita' in cui l'utilizzatore fa poco dicendo tanto - o quantomeno piu' che non facendo nulla...&lt;br /&gt;Qual'e' la conclusione di questa serie di osservazioni? Assolutamente nessuna. La riduzione della complessita' dell'espressione non e' ne' giusta ne' sbagliata, in quanto da una parte diminuisce la varieta' ma dall'altra garantisce un coinvolgimento di piu' persone, e va presa per quella che e': una evoluzione antropologica. Proseguira' fino all'estremo di ridurre l'intera comunicazione umana ad un ininterrotto flusso di emoticons? Si invertira' al raggiungimento di un maggiore grado di coinvolgimento delle future generazioni di utenti, smaniosi di dir la propria in modo approfondito? Se sapessi predire il futuro starei qui a scrivere su un blog anziche' correre a giocare al SuperEnalotto?&lt;br /&gt;Nel frattempo dobbiamo accontentarci di quel che abbiamo, ovvero un computer che conserva numeri. E dentro questi numeri, volenti o nolenti, dobbiamo farci stare tutto: cifre, informazioni, misure. E sentimenti.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-281838194629877050?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/281838194629877050/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=281838194629877050' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/281838194629877050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/281838194629877050'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/sentimento-8-bit.html' title='Sentimento a 8 Bit'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1153777883424179475</id><published>2009-08-23T01:06:00.006+02:00</published><updated>2009-08-23T01:52:47.377+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='inutility'/><title type='text'>Smashing Wallpapers</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=7Z-bmmuAY-w"&gt;L'estate sta finendo&lt;/a&gt;, ed un anno se ne va. Ma di "diventare grande" non se ne parla proprio, anzi credo che questa sia stata l'estate in cui abbia maggiormente impiegato del tempo appresso a programmini di dubbia utilita' (&lt;a href="http://lobotomy-dev.blogspot.com/2009/08/tuxchan.html"&gt;TuxChan&lt;/a&gt;), opere lasciate un po' in sospeso (&lt;a href="http://lobotomy-dev.blogspot.com/2009/08/lobotomy-summer-of-code.html"&gt;Lobotomy&lt;/a&gt;). e frammenti sparsi qua e la' (prossimamente faro' cenno alla mia avventura con &lt;a href="http://moblin.org/projects/mojito"&gt;Mojito&lt;/a&gt;).&lt;br /&gt;Ma in fin dei conti non me ne rammarico: di Lobotomy posso dire di aver iniziato a far qualcosa, dopo mesi o addirittura anni di inerzia, i contributi occasionali ai progetti altrui sono sempre cosa ben fatta (tantopiu' se sono componenti di una piattaforma operativa come &lt;a href="http://moblin.org/"&gt;Moblin&lt;/a&gt;, una delle poche speranze open contro &lt;a href="http://it.wikipedia.org/wiki/Symbian_OS"&gt;Symbian&lt;/a&gt; in ambiente mobile), e i programmini scemi sono sempre utili a sperimentare cose nuove e ad arricchire la base di applicazioni direttamente rivolte all'utenza finale con poco sforzo.&lt;br /&gt;Tant'e' che ieri ne ho realizzata un'altra.&lt;br /&gt;Smashing Wallpapers (che devo ancora trovar la voglia di predisporre al rilascio... Nei prossimi giorni apparira' su &lt;a href="http://barberaware.org/"&gt;BarberaWare&lt;/a&gt;) e' una utility che permette di scaricare i graziosi wallpapers che il sito di &lt;a href="http://www.smashingmagazine.com/"&gt;Smashing Magazine&lt;/a&gt; mette a disposizione &lt;a href="http://www.smashingmagazine.com/tag/wallpapers/"&gt;ogni mese&lt;/a&gt; (qui quelli di &lt;a href="http://www.smashingmagazine.com/2009/07/31/desktop-wallpaper-calendar-august-2009/"&gt;agosto 2009&lt;/a&gt;), e caratterizzati dalla feature di riportare - in armonia con il resto della grafica - il calendario completo del mese in corso; informazione non banale, considerando che non so piu' quante volte alla settimana devo aprire il &lt;a href="http://library.gnome.org/misc/release-notes/2.8/#rnapplets-clock"&gt;calendarietto integrato&lt;/a&gt; nell'orologio del desktop environment per sapere in che giorno della settimana cade una certa data e decidere se e quando piazzare un incontro o un appuntamento.&lt;br /&gt;Modalita' di utilizzo del programma: metterlo nella lista di &lt;a href="http://library.gnome.org/users/user-guide/stable/gosstartsession-21.html.en"&gt;esecuzione automatica&lt;/a&gt; del proprio ambiente grafico e dimenticarsene. Ad ogni avvio del sistema controlla se il wallpaper del mese corrente e' gia presente, se c'e' si chiude e se non c'e' va a cercare i nuovi contenuti, li scarica e si palesa nella barra di notifica. Da li', con una essenziale interfaccia &lt;a href="http://clutter-project.org/"&gt;Clutter&lt;/a&gt; si sceglie quello preferito, lo si seleziona, ed esso viene scaricato ed applicato. Fine.&lt;br /&gt;Piazzo qui l'oramai abituale video, anche se per qualche motivo &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt; me lo mostra solo a smozzichi ed in determinate circostanze (non identificate), spero altri abbiano maggiore fortuna:&lt;br /&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;object height="250" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6221852&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=6221852&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="250" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;br /&gt;Basta cazzeggio programmatorio, da lunedi si torna a lavorare.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1153777883424179475?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1153777883424179475/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1153777883424179475' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1153777883424179475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1153777883424179475'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/smashing-wallpapers.html' title='Smashing Wallpapers'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1255026857181014962</id><published>2009-08-20T21:54:00.003+02:00</published><updated>2009-08-21T02:12:32.165+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>ToDo, UnDo</title><content type='html'>Uno dei miei pregi come programmatore e' che sono costantemente ispirato e quotidianamente espello idee. Uno dei miei difetti come programmatore e' che non riesco a concentrarmi su un progetto per il tempo necessario alla sua realizzazione, che subito passo ad un'altro.&lt;br /&gt;Da tempo ho preso l'abitudine di &lt;a href="http://www.gubb.net/"&gt;appuntarmi&lt;/a&gt; le varie piu' o meno dettagliate folgorazioni che mi colgono, sempre col proposito di tenerle sott'occhio ed integrarle via via che scopro nuove tecnologie e metodi, ma inevitabilmente la coda diventa sempre piu' difficile da smaltire a causa dei tempi di realizzazione che avrebbe ogni oggetto, e sebbene nell'ultimo periodo abbia avuto modo di concretizzare qualcosa qua e la' la massa di progetti latenti diventa sempre piu' imponente. "Il genio e' per l'1% ispirazione e per il 99% traspirazione" (&lt;a href="http://it.wikipedia.org/wiki/Thomas_Alva_Edison"&gt;Thomas Edison&lt;/a&gt;), e non essendo io un genio sono completamente sbilanciato su un 90% del primo ingrediente ed un 10% del secondo.&lt;br /&gt;Pertanto periodicamente espongo le mie (piu' o meno corrette) illuminazioni pubblicamente, nella speranza che qualcuno sull'Internet possa inciamparvi e magari essere altrettanto ispirato: non credo che avro' mai modo e maniera di far tutto, dunque tanto vale che lo faccia qualcun'altro. Ogni tanto pubblico un post su questo blog, qualche volta riporto sull'&lt;a href="http://barberaware.org/alambicco/"&gt;Alambicco&lt;/a&gt; di &lt;a href="http://barberaware.org/"&gt;BarberaWare&lt;/a&gt;, e quando raggiungo una massa critica stipulo una lista forfettaria. Questa e' una di queste occasioni.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Binding &lt;a href="http://library.gnome.org/devel/glib/stable/"&gt;Glib&lt;/a&gt; per &lt;a href="http://fuse.sf.net/"&gt;FUSE&lt;/a&gt;. L'idea emerse qualche tempo addietro, quando per &lt;a href="http://itsme.it/"&gt;lavoro&lt;/a&gt; iniziai lo sviluppo di un filesystem in userspace che doveva maneggiare &lt;a href="http://library.gnome.org/devel/gobject/stable/"&gt;GObjects&lt;/a&gt; pescati da una libreria ad hoc e ricevere eventi da una connessione &lt;a href="http://dbus.freedesktop.org/"&gt;DBus&lt;/a&gt; (anch'essa mantenuta per mezzo del &lt;a href="http://dbus.freedesktop.org/doc/dbus-glib/index.html"&gt;binding Glib&lt;/a&gt;). Data la natura interna di FUSE ho dovuto aprire un thread separato in cui far girare il &lt;a href="http://library.gnome.org/devel/glib/stable/glib-The-Main-Event-Loop.html"&gt;mainloop&lt;/a&gt;, che appunto restasse in ascolto sulla connessione DBus, ma l'ideale sarebbe implementare il mainloop di FUSE dentro quello Glib e far lavorare insieme i due layer. L'optimum sarebbe avere un GObject che astragga le funzioni &lt;a href="http://fuse.sourceforge.net/doxygen/fuse__lowlevel_8h.html"&gt;low-level&lt;/a&gt; di FUSE e le richiami nel loop Glib, in modo che estendendo quello sia banale realizzare un nuovo filesystem pur godendo di tutto lo stack Glib e della pletora di sottolibrerie disponibili.&lt;/li&gt;&lt;li&gt;Rsync wizard. Qualche settimana addietro, intimorito dagli inquietanti rumorini provenienti dall'interno del &lt;a href="http://images.google.it/images?hl=it&amp;amp;um=1&amp;amp;sa=1&amp;amp;q=acer+c310&amp;amp;btnG=Cerca+immagini&amp;amp;aq=f&amp;amp;oq="&gt;mio tablet&lt;/a&gt;, decisi che era tempo di adottare una soluzione strutturata per il backup. Diedi una occhiata in giro e trovai solo soluzioni immensamente complesse, con server da configurare e centinaia di parametri da settare, nonche' daemons in esecuzione piu' o meno permanente, ed alla fine optai per il metodo in assoluto piu' scontato: una chiave &lt;a href="http://it.wikipedia.org/wiki/Secure_shell"&gt;SSH&lt;/a&gt;, &lt;a href="http://www.samba.org/rsync/"&gt;rsync&lt;/a&gt; ed uno script in &lt;a href="http://it.wikipedia.org/wiki/Crontab"&gt;cron&lt;/a&gt;. Per quanto non perfetto &lt;a href="http://lug.42019.it/index.php/Backup_con_rsync_via_ssh"&gt;questo meccanismo&lt;/a&gt; credo soddisfi la necessita' della stragrande maggioranza dell'utenza domestica, ed ha l'unico difetto di richiedere una serie di passaggi da linea di comando non propriamente adeguati per un occasionale utente. L'idea sarebbe dunque quella di predisporre un frontend che provveda a costruire la riga con cui invocare rsync, metterla in cron ed eventualmente creare ed installare le chiavi SSH (onde poter procedere al trasferimento dei dati da un PC all'altro senza dover immettere la password; di norma il server e' installabile con una configurazione funzionale di default con qualsiasi distribuzione). Progetto estremamente semplice da imbastire, ma non completamente banale se si vuole una soluzione finale a prova di utonto, piu' una sfida di design che di programmazione.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Distribuzione dei files &lt;a href="http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29"&gt;Torrent&lt;/a&gt; via GIT. Questo non e' un vero e proprio progetto, quanto piu' uno spunto di indagine: emerse ai tempi della notizia dell'&lt;a href="http://www.techcrunch.com/2009/06/30/swedish-software-firm-acquires-the-pirate-bay-for-77-million/"&gt;acquisizione di ThePirateBay&lt;/a&gt; e della prossima imminente chiusura del tracker torrent piu' noto al pianeta, e sebbene molti altri tracker siano disponibili in Rete e risulti ovvio che il ritmo di chiusura sia piu' basso di quello di creazione di nuovi snodi (rendendo infinetesimale il rischio di trovarsi senza un punto di riferimento) varrebbe secondo me la pena individuare una strategia completamente decentralizzata, quale appunto quella adottata dagli &lt;a href="http://en.wikipedia.org/wiki/Source_Code_Management"&gt;SCM&lt;/a&gt; distribuiti - &lt;a href="http://git-scm.com/"&gt;GIT&lt;/a&gt;, ma anche &lt;a href="http://hg-scm.org/"&gt;Mercurial&lt;/a&gt; o &lt;a href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Vista partizionata in Nautilus. Ho sempre trovato &lt;a href="http://library.gnome.org/users/baobab/stable/index-info.html.en"&gt;Baobab&lt;/a&gt; un programma assai utile: permette infatti di visualizzare il filesystem con &lt;a href="http://library.gnome.org/users/baobab/stable/baobab-ringschart.html.en"&gt;spicchi&lt;/a&gt; che graficamente rappresentano lo spazio occupato dai vari files (e dalle cartelle che tali files contengono), permettendo di individuare in un colpo d'occhio le aree in cui per un motivo o per l'altro si sono accumulati dati in eccesso e di cui dunque ci si puo' sbarazzare per recuperare preziosa ROM. Tale funzionalita' sarebbe molto utile se integrata a mo' di "vista" direttamente in &lt;a href="http://live.gnome.org/Nautilus"&gt;Nautilus&lt;/a&gt;, il filemanager di &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt;: si tratterebbe di prelevare il widget originario di Baobab ed includerlo dentro l'applicativo sfruttando la gia' esistente interfaccia programmatoria per tale frangente, ben poco documentata ma usata da &lt;a href="http://www.blueiron9.com/2009/05/john-stowers-playing-with-clutter.html"&gt;questo hack&lt;/a&gt; (da usare come esempio). Rapido, ma merita qualche attenzione nel perfezionamento nell'algoritmo che computa la dimensione delle cartelle, al momento un po' lentuccio.&lt;/li&gt;&lt;li&gt;Binding &lt;a href="http://it.wikipedia.org/wiki/Bash"&gt;Bash&lt;/a&gt; per DBus. Il nome e' molto evocativo, anche se ai fatti si tratterebbe di qualcosa di estremamente semplice: un set di micro-applicativi (o uno solo, con piu' opzioni) da invocare da linea di comando e che permettano di dialogare in modo flessibile con DBus (ed ovviamente con i servizi esposti sul canale). Scopo del gioco: avere modo di scrivere script Bash che sfruttino i piu' avanzati servizi di sistema, dall'interrogazione di &lt;a href="http://projects.gnome.org/NetworkManager/"&gt;NetworkManager&lt;/a&gt; (per sapere se c'e' connessione o meno) alla manipolazione dello screensaver. Il compito e' meno banale di quanto non ci si possa aspettare, in quanto i metodi invocabili per mezzo di DBus possono presentarsi in una infinita combinazione di parametri, tipi di parametri e valori di ritorno, che dovrebbero essere trattati nel modo piu' trasparente possibile magari sfruttando le tecniche di introspezione proprie del protocollo onde fornire una interfaccia di utilizzo semplice.&lt;/li&gt;&lt;li&gt;Integrazione autenticazione USB. Nell'ultimo periodo ho constatato (ma forse solo perche' non me ne sono accorto prima...) un incremento dei metodi di autenticazione disponibili su Linux, che fanno uso di &lt;a href="http://www.kernel.org/pub/linux/libs/pam/"&gt;PAM&lt;/a&gt; nei modi piu' disparati. Tra questi ho trovato particolarmente simpatico &lt;a href="http://www.koalalorenzo.com/2009/07/02/autenticazione-usb-su-debian-gnulinux/"&gt;questo meccanismo&lt;/a&gt;, che coinvolge una pennetta USB da usare come chiave fisica di accesso al PC: accessibile immediatamente a tutti (contrariamente agli scanner per impronte digitali, o alle smartcard), sufficientemente sicuro e di garantito effetto con gli amici. Non sarebbe niente male integrare questo sistema nel pannello "Utenti" di Gnome, si' da mettere a portata di mouse la procedura di creazione e verifica delle chiavette e la poca configurazione richiesta.&lt;/li&gt;&lt;li&gt;FUSE Installer. Tutti gli utenti informatici casalinghi vengono sconvolti da una particolare feature di Mac: i programmi si installano &lt;a href="http://guides.macrumors.com/Installing_Applications_in_Mac_OS_X"&gt;copiandoli&lt;/a&gt; in una apposita cartella, e si disinstallano rimuovendo la cartella stessa. Niente wizards "avanti avanti avanti" a la Windows, niente accrocchi strani a la Linux. Da utente tecnico rimango piu' che soddisfatto del package management tipico dei sistemi Linux (qualsiasi distribuzione ha oramai un sistema automatico di risoluzione delle dipendenze, che evita di portarsi appresso mega e mega di librerie con ogni pacchetto), ma ammetto che molti limiti ancora esistano e che il meccanismo vada al di la' della mentalita' irrimediabilmente compromessa dell'utenza (inutile spiegare che per cercare ed installare qualcosa si deve aprire &lt;a href="http://www.nongnu.org/synaptic/"&gt;Synaptic&lt;/a&gt;, una forza oscura li spingera' sempre a cercare il setup.exe su Internet). Dunque perche' non provare ad unire il meglio dei due mondi, Mac e Linux? Un filesystem FUSE farebbe le veci della "apposita cartella" in cui copiare gli archivi prelevati in Rete, ed internamente dovrebbe provvedere ad analizzare i nuovi files ivi introdotti e trattarli nella maniera che piu' gli si confa': se possono essere gestito direttamente dal package manager della distribuzione si installano nel modo previsto, se sono pacchettizzati in qualche altro formato li si converte con &lt;a href="http://linux.die.net/man/1/alien"&gt;alien&lt;/a&gt;, se sono archivi di sorgenti li si decomprime e si esegue il solito "./configure ; make ; sudo make install", il tutto tentando di fare del proprio meglio con la risoluzione e l'installazione delle dipendenze. &lt;a href="http://packagekit.org/"&gt;PackageKit&lt;/a&gt; dovrebbe fornire un supporto decente per triangolare i nomi delle dipendenze, il resto... E' lasciato alla fantasia dell'implementatore.&lt;/li&gt;&lt;li&gt;Versioning degli snippets. Una idea non mia, bensi' presa &lt;a href="http://www.codinghorror.com/blog/archives/001257.html"&gt;da qui&lt;/a&gt; e che, al di la' della fattibilita', ritengo ingegnosa: assegnare un identificativo ai frammenti di codice comunemente sparpagliati in Rete, in modo da saperli tracciare ed aggiornare qualora avvenga qualche miglioria o correzione. La realizzazione dell'impresa sarebbe quantomeno difficoltosa: occorrerebbe innanzitutto assegnare gli identificativi, e dunque o convincere le varie piattaforme di condivisione degli snippets a farlo o importare tutto il loro materiale su un'altro sito ad hoc che provveda alla trasformazione, e poi integrare metodi di sincronizzazione all'interno dei maggiori IDE, si' che siano in grado di provvedere da soli alla verifica di aggiornamenti, oppure realizzare un deamon dedicato che dato l'indice dei files sorgenti da sorvegliare implementi il ciclo di controllo in modo centralizzato. Forse utopico, ma lo lascio come spunto.&lt;/li&gt;&lt;/ul&gt;Per ora basta cosi', anche se non ho completamente svuotato la lista: qualche idea semplice semplice spero di realizzarla nel prossimo periodo, qualcun'altro la conservo per maggiori approfondimenti, qualcun'altra ancora e' correlata ad altri lavori ed attivita' dunque tocca a me occuparmene. Rinnovo comunque la speranza che quanto sopra listato possa ispirare qualcuno: si trovano opere molto complesse ed altre molto semplici, per l'implementazione di nuovi applicativi o per l'estensione di altri esistenti, insomma ce n'e' per tutti i gusti e tutte le capacita'.&lt;br /&gt;Alla faccia dei brevetti...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1255026857181014962?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1255026857181014962/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1255026857181014962' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1255026857181014962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1255026857181014962'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/todo-undo.html' title='ToDo, UnDo'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4323659003355757959</id><published>2009-08-14T01:26:00.003+02:00</published><updated>2009-08-14T02:30:48.647+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='synapse'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Lobotomy Summer of Code</title><content type='html'>Per chi non lo avesse notato (ovvero immagino tutti i lettori di &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo blog&lt;/a&gt;, divisi tra &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; e l'RSS), nella casella dell'&lt;a href="http://www.flickr.com/photos/lobotomyproject/"&gt;account Flickr&lt;/a&gt; su questa pagina hanno iniziato a spuntare &lt;a href="http://www.flickr.com/photos/lobotomyproject/3818363549/"&gt;alcuni&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/lobotomyproject/3809593025/"&gt;screenshots&lt;/a&gt;, piu' precisamente uno al giorno negli ultimi quattro giorni. Essi sono per documentare lo stato dei lavori nella prima implementazione di &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;, componente dell'assai piu' vasto progetto &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;.&lt;br /&gt;Dopo lungo, lunghissimo periodo di meditazione, nonche' di impegno su altri progetti e lavori, ho infine profittato di queste ferie estive per iniziare a mettere insieme un mezzo prototipo della baracca, per valutare la concretezza del modello di interazione previsto e misurarne l'efficacia. Proprio per questo motivo, nonche' per tenere la mano allenata con Java e PHP, e in rispetto a quanto gia' accennato in un lontano passato, e per facilitare eventuali sessioni di test pubblico (tenetevi pronti a farmi da beta-tester!), la prima implementazione e' realizzata con l'apporto del solito &lt;a href="http://code.google.com/webtoolkit/"&gt;WebToolkit&lt;/a&gt; di Google, e Synapse non e' altro che una applicazione Javascript con un backend che rappresenta l'effettivo motore relazionale (anche se al momento tutti i dati sono malamente cablati a mano).&lt;br /&gt;La prima cosa che salta all'occhio guardando gli screenshots e' che l'applicazione e' confinata entro un rettangolo anziche' estendersi su tutta la pagina renderizzata nel browser: ebbene, quel rettangolo e' di 480x640 pixel, ovvero la dimensione dello schermo del &lt;a href="http://openmoko.com/product.html"&gt;FreeRunner&lt;/a&gt; (volgarmente noto come "&lt;a href="http://openmoko.org/"&gt;OpenMoko&lt;/a&gt;"). Questa e' infatti la prima piattaforma su cui intendo usare Lobotomy: una scelta certamente azzardata, in quanto porta una serie di problematiche tecniche (l'OpenMoko va smanettato non poco per apportare una modifica quale la sostituzione dell'intero ambiente grafico) e di interazione (lo schermo nelle dimensioni reali e' proprio piccolo, molte cose vanno divise obbligatoriamente su piu' pannelli), ma tanto vale porsi da subito nelle condizioni peggiori affinche' poi lo sviluppo su piattaforma PC (e non solo...) sia tutto in discesa.&lt;br /&gt;Allo stato attuale una parte del parsing e della costruzione dinamica dei &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;Thoughts&lt;/a&gt; e' completa, sebbene manchino alcuni tipi di dati elementari per i metadati (ad esempio non c'e' ancora modo di esprimere un array di valori), alcuni widgets basilari ci sono e come detto il backend e' un'unico ammasso di XML scritto a mano su cui puo' essere eseguito una query sola, quella per l'estrazione del file README che di default appare all'avvio. Comunque fino a questo punto non sono emersi particolari ostacoli alla realizzazione dell'idea, e gli unici problemi li ho riscontrati quando mi son messo a giocare con gli effetti da applicare ai vari elementi dell'interfaccia (il framework per le &lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/animation/client/Animation.html"&gt;Animations&lt;/a&gt; in GWT e' sufficientemente ostico), ovvero su cose non concernenti il modello Lobotomy in se'.&lt;br /&gt;Ulteriori aggiornamenti a seguire, certamente prima della fine delle ferie!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4323659003355757959?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4323659003355757959/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4323659003355757959' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4323659003355757959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4323659003355757959'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/lobotomy-summer-of-code.html' title='Lobotomy Summer of Code'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2413279107053771011</id><published>2009-08-11T02:33:00.006+02:00</published><updated>2009-08-11T17:05:24.200+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>L'Arte della Pubblicita'</title><content type='html'>Negli ultimi giorni, navigando il web e piu' in particolare alcuni siti italiani, mi e' cascato l'occhio su certi banner cosi' interessanti che ho deciso di riportarne un commento qui sebbene il tema sia abbastanza fuori dal topic del blog.&lt;br /&gt;Il prodotto pubblicizzato e' un &lt;a href="http://en.wikipedia.org/wiki/Registry_cleaner"&gt;registry cleaner&lt;/a&gt; per &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Windows"&gt;Windows&lt;/a&gt;, uno di quei classici programmini che devono essere usati per tentare di mettere una pezza in quell'enorme falla architetturale tipica dei sistemi operativi Microsoft che appunto e' il registro di sistema, ma la cura riposta nel confezionare tale capolavoro di marketing fa commuovere.&lt;br /&gt;Cliccando sul banner si e' riportati su &lt;a href="http://quad-cleaner.com/it/"&gt;codesta pagina&lt;/a&gt;, in cui non si puo' fare a meno di constatare il grande risalto che viene dato ai concetti "velocizza il PC" e "elimina gli errori". Ebbene: chi ha un minimo di consapevolezza tecnica ed ha avuto a che fare con l'utenza informatica casalinga media, sa che questi sono i due termini in assoluto piu' usati da chi senza arte ne' parte detiene un computer in casa: "velocizzare" e "gli errori". Riferendosi a tali nozioni si e' sicuri di attirare l'attenzione e toccare la sensibilita' di una ampia fascia di rappresentanti della fascia consumer, soprattutto quelli rimasti delusi dall'amico smanettone di turno che non e' riuscito a risolvere il suo problema, che di norma e' riassumibile con "Ho il computer che va in errore, cosa devo fare?". Poco importa che l'indicazione "gli errori" si riferisca ad entita' totalmente aleatorie - se e' al plurale si suppone ce ne siano tanti, i quali si esprimono in maniera diversa e richiedono soluzioni diverse. Se non si esplicita di quale errore si parla, come si fa a risalire alla relativa sistemazione? -, o che il verbo "velocizzare" sia usato totalmente senza cognizione di causa essendo i PC moderni macchine da miliardi di operazioni al secondo e tanto dovrebbe bastare; il punto sta nell'adottare un lessico famigliare, non necessariamente corretto ne' tantomeno con un significato effettivo ma comprensibile, e far sapere all'utente che c'e' qualcuno di esperto che riesce perfettamente a comprendere il suo sentimento di frustrazione dinnanzi al complesso marchingegno elettronico e vuole aiutarlo.&lt;br /&gt;Ma la perfezione psico/grafica della pagina linkata dai banner in oggetti non si limita all'intestazione colorata: scorrendo verso il basso la lunga e dettagliata descrizione il tenore dei contenuti varia con costanza geometrica, passando da "Scansione ultra-veloce e riparazione automatica" (definizione user-proof) a "Errori di Componenti ActiveX" (definizione da smanettoni), ottenendo il duplice risultato di accontentare l'ego del visitatore piu' smaliziato ed accorto (che poi lo voglio vedere un sedicente espero Windows che clicca su un banner "Velocizza il tuo PC"...) ed insieme fornire quella giusta quantita' di terminologia specifica indispensabile per dare una credibilita' all'insieme - se non usa un lessico tecnico, che tecnico e'?&lt;br /&gt;Un'ultima chicca, solo per intenditori. Nel paragrafo "Testimonianze", l'ultimo della pagina, vengono riportati due commenti rilasciati da utilizzatori evidentemente molto soddisfatti del prodotto: un utente casalingo ed uno enterprise (certamente chiamato in causa per strizzare l'occhio a coloro che dovrebbero acquistare la versione "Pro" dell'applicazione). Guardateli bene, leggete i nomi e soprattutto la provenienza: ma poteva non essere che l'utente sfigato fosse un napoletano e l'imprenditore un brianzolo? Quali migliori testimonial potevano essere rintracciati (o inventati...) per promuovere il programma?&lt;br /&gt;Ho sperato in un qualche tentativo di auto-rilevamento del sistema operativo in uso che cercasse di aiutarmi a scaricare la versione XP o Vista del programma, ma con scarso risultato; non mi resta che sperare che sul log sia rimasta traccia del tentativo di download da parte di una macchina Linux, e che cio' provochi un attimo di ilarita' per il povero admin dall'altra parte della barricata.&lt;br /&gt;Un merito a Microsoft bisogna riconoscerlo: senza di lei e senza la sua lunga opera di lobotomizzazione delle masse digitali, noi informatici consapevoli non potremmo godere di tali perle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2413279107053771011?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2413279107053771011/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2413279107053771011' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2413279107053771011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2413279107053771011'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/larta-della-pubblicita.html' title='L&apos;Arte della Pubblicita&apos;'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2168695445277830166</id><published>2009-08-08T01:43:00.004+02:00</published><updated>2009-08-23T01:53:43.864+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='inutility'/><title type='text'>TuxChan</title><content type='html'>Come sempre con l'approssimarsi delle vacanze estive, mentre amici e colleghi partono per trascorrere le ferie nei posti piu' disparati, io colgo l'occasione per sviluppare in santa pace un po' di software per conto mio. Sebbene dovrei lavorare su &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt; (ho finalmente iniziato la scrittura del parser di &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;!), o dare qualche sistemata a &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; in vista della messa in opera prevista per settembre, o rifinire &lt;a href="http://libopengdesktop.barberaware.org/"&gt;libopengdesktop&lt;/a&gt; ed aggiungere la pletora di funzionalita' ancora mancanti, in atmosfera vacanziera e di spensieratezza ho ben pensato di dedicare un pochino di tempo ad un ennesimo progettucolo: &lt;a href="http://tuxchan.barberaware.org/"&gt;TuxChan&lt;/a&gt;.&lt;br /&gt;La storia del perche' e percome sia arrivato a tale ispirazione la rimando ad un'altro post, per ora mi concentro sull'aspetto tecnico: esso e' un client desktop per &lt;a href="http://www.4chan.org/"&gt;4chan&lt;/a&gt;, la popolare &lt;a href="http://en.wikipedia.org/wiki/Imageboard"&gt;imageboard&lt;/a&gt; che &lt;a href="http://en.wikipedia.org/wiki/4chan"&gt;dal 2003&lt;/a&gt; convoglia il peggio del peggio del cazzeggio e da cui storicamente emergono alcuni dei piu' virali e devastanti &lt;a href="http://en.wikipedia.org/wiki/Internet_meme"&gt;meme&lt;/a&gt;.&lt;br /&gt;In cosa consiste 4chan? In un sito estremamente brutto ed inutilizzabile in cui nei vari canali tematici si svolgono discussioni incentrate per lo piu' intorno alle immagini postate dagli utenti, ed in cui i contenuti vengono automaticamente cestinati via via che ne arrivano di nuovi. I materiali variano entro un range abbastanza vasto, non esistendo regole o comunque essendo moderatamente rispettate e non vigilate, il file rouge sembra essere il Giappone (Terra Promessa di molti geeks occidentali) ma nella stragrande maggioranza dei casi si tratta di fotografie divertenti (quantomeno secondo la &lt;a href="http://en.wikipedia.org/wiki/Internet_humour"&gt;cultura internettiana&lt;/a&gt;) oppure a sfondo sessuale.&lt;br /&gt;A cosa serve 4chan? Assolutamente a nulla, se non a far perdere un po' di tempo ai giovanotti col pallino delle giapponeserie e senza nulla di piu' utile da fare che non stare a contemplare lo stream di immagini che freneticamente si susseguono sulle sue pagine.&lt;br /&gt;E dunque, a cosa serve TuxChan? Agli utenti, ad avere una interfaccia un pochino piu' decorosa dell'originale e nella possibilita' di ricevere indirettamente i push sugli aggiornamenti senza stare a ricaricare manualmente la pagina web ogni due minuti (ed all'interno delle community che orbitano intorno a questo tipo di contenuti essere i primi a venire a conoscenza di qualcosa di nuovo e condividerlo con i pari gioca un ruolo sociale non secondario). A me, ad avere un pretesto per giocare finalmente un po' con &lt;a href="http://clutter-project.org/"&gt;Clutter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6000248&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=6000248&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;Da tempo immemore cercavo un qualche applicativo che mi permettesse di mettere alla prova il toolkit, e non potevo scegliere momento migliore che non il recente rilascio della &lt;a href="http://www.clutter-project.org/blog/?p=79"&gt;release stabile 1.0&lt;/a&gt;. E non mi sembra affatto male: nel giro di un paio di serate (in buona parte buttate appresso a &lt;a href="http://library.gnome.org/devel/gio/stable/"&gt;GIO&lt;/a&gt;: non usate &lt;a href="http://library.gnome.org/devel/gio/stable/GFile.html#g-file-copy-async"&gt;g_file_copy_async()&lt;/a&gt; !!!) e nello spazio di meno di 1000 righe di C (altro argomento su cui dovro' tornare prossimamente) ho ottenuto una interfaccia a parer mio soddisfacente, minimale e proprio per questo efficiente, con le immagini che scorrono ed un pannellino per configurare i channels da seguire. Per essere stabile e' stabile, e l'API pur essendo limitata permette di fare qualsiasi cosa, alla faccia di &lt;a href="http://doc.trolltech.com/4.3/graphicsview.html"&gt;QtGraphicsView&lt;/a&gt; che ad ogni minor release cambia comportamento ed ha una interfaccia troppo complessa per essere fruibile rapidamente.&lt;br /&gt;Come supponevo il paradigma che sta dietro a codesto strumento va un attimo compreso prima di essere utilizzato efficacemente: all'inizio si puo' restare spiazzati dinnanzi alla totale assenza di widgets complessi che implementino le varie modalita' di interazione con l'utente, ma una volta capacitatisi del fatto che qualsiasi cosa si disegni sullo schermo puo' essere spostato, ruotato, e fatto divenire un elemento che reagisce a degli eventi esterni, si comprende il segreto intrinseco del toolkit: permettere di fare di piu', con meno.&lt;br /&gt;Potrei dilungarmi qui in merito ai rischi del non avere alcuna limitazione nella definizione della propria interfaccia, fatto che si presta ad essere preludio alla totale disgregazione della coerenza tra diverse applicazioni, ma per ora interrompo qui: ci sara' modo e maniera di tornare su questi argomenti quando il tutto sara' piu' radicalmente diffuso grazie all'apparente progressiva integrazione in &lt;a href="http://gnome.org/"&gt;GNOME&lt;/a&gt;, e ci si potra' basare su dati concreti anziche' su illazioni.&lt;br /&gt;Maggiori news sulle mie avventure estive a seguire...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2168695445277830166?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2168695445277830166/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2168695445277830166' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2168695445277830166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2168695445277830166'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/08/tuxchan.html' title='TuxChan'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1442973128085262780</id><published>2009-07-28T01:30:00.003+02:00</published><updated>2009-07-28T03:15:16.223+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='nepomuk'/><title type='text'>RDF = Rendiamo Difficile Fare</title><content type='html'>Ci sono giorni in cui mi ricordo perche' le tecnologie semantiche non mi convincono affatto. Oggi e' uno di essi.&lt;br /&gt;Dal mio &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/tanto-va-il-bob-al-largo.html"&gt;reclutamento&lt;/a&gt; tra &lt;a href="http://sourceforge.net/apps/trac/oscaf/wiki/OntologyMaintenance"&gt;le fila&lt;/a&gt; Nepomuk e' passato del tempo, ma sinora si e' prodotto poco: qualche altra discussione in &lt;a href="http://lists.freedesktop.org/mailman/listinfo/xesam"&gt;lista Xesam&lt;/a&gt;, mi son migrato a mano i tickets dal vecchio tracker al &lt;a href="http://sourceforge.net/apps/trac/oscaf/report/1"&gt;nuovo&lt;/a&gt;, e poco altro. Evidentemente tutta la fretta imposta all'inizio non esisteva affatto, ma di questo ho &lt;a href="http://madbob.wordpress.com/2009/06/18/colpo-di-stato/"&gt;gia' parlato&lt;/a&gt;.&lt;br /&gt;Ieri son stato direttamente &lt;a href="http://sourceforge.net/apps/trac/oscaf/ticket/38#comment:3"&gt;precettato&lt;/a&gt; per dire la mia in merito ad una &lt;a href="http://sourceforge.net/apps/trac/oscaf/ticket/38"&gt;questione&lt;/a&gt; che potrebbe portare ad una pesante revisione nella gestione delle &lt;a href="http://www.semanticdesktop.org/ontologies/nmo/#Email"&gt;mail&lt;/a&gt; in &lt;a href="http://www.semanticdesktop.org/ontologies/nmo/"&gt;NMO&lt;/a&gt;, l'ontologia destinata al trattamento dei messaggi. I ragazzi di &lt;a href="http://www.tracker-project.org/"&gt;Tracker&lt;/a&gt; hanno avuto la bella pensata di &lt;a href="http://live.gnome.org/Tracker/Documentation/EmailSparql"&gt;riportare&lt;/a&gt; nella struttura semantica una mappatura 1:1 delle mail, suddividendole nei vari &lt;a href="http://tools.ietf.org/html/rfc2045"&gt;componenti MIME&lt;/a&gt; di cui sono assemblate, ed adesso che sono &lt;a href="http://git.gnome.org/cgit/tracker/tree/data/ontologies/34-nmo.ontology"&gt;fuori specifica&lt;/a&gt; &lt;a href="http://mail.gnome.org/archives/tracker-list/2009-July/msg00062.html"&gt;gli urge&lt;/a&gt; che tali correzioni vengano integrate in Nepomuk per essere compatibili con &lt;a href="http://strigi.sf.net/"&gt;Strigi&lt;/a&gt;; in sostanza, hanno buttato all'aria la precedente struttura che manteneva un minimo di coerenza tra tutti i tipi di messaggi contemplati nell'ontologia.&lt;br /&gt;Il bello e' che neppure gli posso dar torto, in quanto il fatto di mantenere l'informazione integra della mail cosi' com'e' non e' forse da considerare vitale ma comunque importante. Dunque, come si fa?&lt;br /&gt;Cio' che si evince da questa vicenda (tutt'ora in corso: ci sara' da bestemmiare per trovare non solo una soluzione che mantenga uno straccio di coerenza ma che vada bene pure a sti' fenomeni che hanno implementato la loro propria soluzione senza chiedere niente a nessuno) e' che forse forse l'idea di "etichettare" ogni genere di contenuto nel minimo dettaglio permette certo di maneggiare con piu' rapidita' e disinvoltura il dato, ma presuppone comunque una conoscenza approfondita del dato stesso. Nello scenario di cui sopra, qualora si mantenga la struttura proposta, chiunque vorra' trattare una mail dovra' essere ben cosciente di cosa e' MIME, quali sono i metadati usati per tenere le informazioni rilevanti, ed ovviamente dovra' cambiare strategia nel momento in cui vorra' reperire un messaggio di altro tipo, ad esempio un SMS. Ed evitiamo di parlare del caso in cui vorra' far convergere questi due elementi...&lt;br /&gt;Il problema intrinseco, almeno nel momento in cui tali strumenti si applicano al desktop, credo sia nella eterogeneita' dei contenuti che si dovrebbero rappresentare: i files son fatti tutti a modo loro, secondo formati propri, talvolta noti e talvolta chiusi, e la loro rappresentazione richiede troppo spesso o una mappatura completa del formato stesso o una perdita: totalmente inutile se si vogliono far collassare piu' cose secondo un criterio unificato.&lt;br /&gt;Ce n'e' ancora di strada da fare per rendere usabile sta' baracca.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1442973128085262780?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1442973128085262780/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1442973128085262780' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1442973128085262780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1442973128085262780'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/07/rdf-rendiamo-difficile-fare.html' title='RDF = Rendiamo Difficile Fare'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7453695624878549876</id><published>2009-07-26T01:42:00.004+02:00</published><updated>2009-07-26T02:31:30.225+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>opengnomedesktop.org</title><content type='html'>Finalmente son riuscito a mettere online &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/gtk-theme-thumbnailer.html"&gt;questa roba&lt;/a&gt;: &lt;a href="http://opengnomedesktop.org/"&gt;opengnomedesktop.org&lt;/a&gt; e' disponibile per tutti coloro alla ricerca di qualche nuovo tema con cui personalizzare il proprio ambiente &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt;, e possono navigarne una ricca selezione (presa da &lt;a href="http://gnome-look.org/"&gt;gnome-look.org&lt;/a&gt;) valutandoli per mezzo di thumbnails simili, per non dire uguali, a quelle comunemente disponibili nel &lt;a href="http://opengnomedesktop.org/pages/howto"&gt;pannello "Appearance"&lt;/a&gt; del sistema. Allo stato attuale solo i &lt;a href="http://gnome-look.org/index.php?xcontentmode=100"&gt;temi GTK+2&lt;/a&gt; e quelli &lt;a href="http://gnome-look.org/index.php?xcontentmode=101"&gt;per Metacity&lt;/a&gt; sono trattati, prossimamente potrei aggiungere anche quelli &lt;a href="http://gnome-look.org/index.php?xcontentmode=36"&gt;per il mouse&lt;/a&gt;, &lt;a href="http://gnome-look.org/index.php?xcontentmode=39"&gt;i fonts&lt;/a&gt; e &lt;a href="http://gnome-look.org/index.php?xcontentmode=121"&gt;le icone&lt;/a&gt;.&lt;br /&gt;Quanto ora online e' da considerare a malapena un proof-of-concept, ampiamente suscettibile a prossime migliorie: il demone di sync con gnome-look.org va perfezionato per non limitarsi a fetchare gli ultimi contenuti ma per allinearsi con altri dettagli di quanto gia' assimilato, va implementata l'interfaccia &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Service&lt;/a&gt; per permettere l'accesso programmatico alle risorse, devo trovare un modo furbo per eseguire la generazione delle preview (gia' che per &lt;a href="http://identi.ca/notice/6261382"&gt;problemi tecnici&lt;/a&gt; non posso eseguirla in batch direttamente sul server), va introdotto uno straccio di sistema di news per il sito... Insomma, non sono manco all'inizio.&lt;br /&gt;Ma ho comunque &lt;a href="http://opendesktop.org/content/show.php/opengnomedesktop.org?content=109029"&gt;immesso&lt;/a&gt; il progetto tra le proposte per il gia' &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/lunione-fa-il-desktop.html"&gt;piu' volte&lt;/a&gt; &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/libopengdesktop.html"&gt;citato&lt;/a&gt; &lt;a href="http://www.socialdesktop.org/contest/"&gt;Social Desktop Contest&lt;/a&gt;, anche al fine di raccogliere un po' di feedback, ed un poco alla volta entro nell'ottica di presentare un giorno il pacchetto completo direttamente al team Gnome per l'inclusione nella piattaforma: la libreria Glib per l'accesso ai provider OCS &lt;a href="http://libopengdesktop.barberaware.org/"&gt;ce l'ho&lt;/a&gt;, l'applicazione web che raccoglie i contenuti in modo coerente anche, mi manca un prototipo di client dedicato che ricalchi appunto il layout del pannello Appearance ma tratti il materiale online anziche' quello installato localmente e dovrei avere piu' o meno tutto.&lt;br /&gt;Gia' da qualche tempo in Gnome &lt;a href="http://blogs.gnome.org/otte/2009/02/20/gnome-and-the-cloud/"&gt;si sente&lt;/a&gt; la necessita' di una piu' stretta integrazione col web, nella prossima release 2.28 &lt;a href="http://permalink.gmane.org/gmane.comp.gnome.devel.announce/41"&gt;saranno inclusi&lt;/a&gt; diversi componenti mirati in tal senso, e mi piacerebbe provare a cavalcare l'entusiasmo per spingere anche l'integrazione con OCS: sorvolando sul problema odierno dell'unicita' del fornitore (solo la rete &lt;a href="http://opendesktop.org/"&gt;OpenDesktop&lt;/a&gt; e' al momento erogatrice di risorse per mezzo del protocollo) considero tale strumento assai importante per coinvolgere con maggior profitto all'interno della community free persone che pur non sapendo nulla di programmazione possono dare il loro contributo, almeno in termini di materiale ludico con cui abbellire il desktop.&lt;br /&gt;La strada per il dominio del mondo passa anche per qualche simpatica icona...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7453695624878549876?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7453695624878549876/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7453695624878549876' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7453695624878549876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7453695624878549876'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/07/opengnomedesktoporg.html' title='opengnomedesktop.org'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5567745469400208440</id><published>2009-07-17T22:52:00.004+02:00</published><updated>2009-07-17T23:28:57.565+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SubConsciousDaemon'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Mail, XML e Thumbs</title><content type='html'>Questo post non e' per un commento o una divagazione specifica e mirata, ma semplicemente per aggiornare i miei lettori sulle attivita' correnti. Del resto, se non ho tempo di bloggare e' perche' ho altro da fare.&lt;br /&gt;Per conto di &lt;a href="http://itsme.it/"&gt;Itsme&lt;/a&gt; negli ultimi giorni ho dovuto "smontare" &lt;a href="http://www.go-evolution.org/"&gt;Evolution&lt;/a&gt;, il client mail di &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt;, e trarne una sorta di mail client batch, che non interagisca con l'utente per mezzo di una interfaccia grafica ma popoli il database del &lt;a href="http://itsme.it/news/2009/05/01/guglielmo-01-architecture-rc3/"&gt;backend&lt;/a&gt; con le mail in ingresso ed intercetti le nuove mail create (sempre sul database) per spedirle. Al di la' del gusto intrinseco di codesta attivita' (andare a mettere il naso in qualche progetto open ha sempre il suo fascino...) la cosa interessante e' che, con qualche opportuno ritocco qua e la', codesto componente potrebbe divenire il primo pezzo concreto del &lt;a href="http://lobotomy-project.org/wiki/SubConsciousDaemon"&gt;SubConsciousDaemon&lt;/a&gt; di &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;: il funzionamento e' esattamente quello che contavo di realizzare appunto per il mio ambiente, dunque tanto vale riutilizzare questo codice che sara' comunque prossimamente rilasciato in licenza free.&lt;br /&gt;Sempre in merito a Lobotomy: sembra quasi incredibile, ma son tornato a lavorarci. Negli scorsi giorni ho ripreso in mano il dialetto XML per i &lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;Thoughts&lt;/a&gt;, per accertarmi del fatto che vengano coperti tutti i casi piu' comuni e che comunque non esistano limiti intrinsechi alla definizione di pressoche' tutte le "applicazioni" utili. A breve, terminati gli altri task gia' in corso (e descritti sotto) conto finalmente di iniziare &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;, ovvero l'interprete del suddetto XML e piu' in generale il gestore dei templates.&lt;br /&gt;Altrove sto ultimando l'opera sul &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/gtk-theme-thumbnailer.html"&gt;generatore di thumbs&lt;/a&gt; dai contenuti di &lt;a href="http://gnome-look.org/"&gt;Gnome-Look.org&lt;/a&gt;: nonostante abbia avuto un po' da magheggiare per ottenere il risultato desiderato, in quanto i links dei temi da cui trarre la preview non sono fatti per essere trattati programmaticamente e negli archivi compressi i files sono organizzati spesso in modi totalmente arbitrari, e nonostante le limitazioni tecniche sul VPS su cui andra' poi a girare il sito (non son riuscito ad eseguire &lt;a href="http://www.x.org/"&gt;X.org&lt;/a&gt; non essendoci giustamente una scheda grafica, e senza X.org non si puo' lanciare il codice di generazione batch delle thumbs), il demone preposto al download ed all'elaborazione dei temi &lt;a href="http://gtk.org/"&gt;GTK&lt;/a&gt; e &lt;a href="http://blogs.gnome.org/metacity/"&gt;Metacity&lt;/a&gt; e' pressoche' pronto ed ora debbo solo rifinire l'interfaccia web del sistema. Una volta completata anche quella sottoporro' pure questo progetto al &lt;a href="http://www.socialdesktop.org/contest/"&gt;Social Desktop Contest&lt;/a&gt;, che ad un mese dalla chiusura conta &lt;a href="http://opendesktop.org/index.php?xcontentmode=99"&gt;un solo partecipante&lt;/a&gt; (me!) e da cui posso dunque sperare in una proclamazione: sembra la sceneggiatura di uno spot del Gratta e Vinci, quelli della serie &lt;a href="http://www.youtube.com/watch?v=407jFKGDEhI"&gt;"Ti piace vincere facile?"&lt;/a&gt;, ma se cio' comporta l'acquisizione da parte mia di un netbook non me ne lamento.&lt;br /&gt;Insomma, c'e' sempre qualcosa su cui lavorare...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5567745469400208440?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5567745469400208440/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5567745469400208440' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5567745469400208440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5567745469400208440'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/07/mail-xml-e-thumbs.html' title='Mail, XML e Thumbs'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4297663503724844170</id><published>2009-06-29T04:33:00.008+02:00</published><updated>2009-06-29T05:02:45.614+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>libopengdesktop</title><content type='html'>Come &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/gtk-theme-thumbnailer.html"&gt;precedentemente annunciato&lt;/a&gt; negli ultimi giorni mi son messo ad implementare una piccola libreria che permette l'accesso ai servizi web compatibili &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Services&lt;/a&gt; con un wrapper &lt;a href="http://library.gnome.org/devel/glib/stable/"&gt;Glib&lt;/a&gt;, e dunque facilmente usabile in &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt; e &lt;a href="http://xfce.org/"&gt;XFCE&lt;/a&gt;. Sebbene certamente non ancora all'altezza di &lt;a href="http://websvn.kde.org/trunk/playground/base/attica/"&gt;attica&lt;/a&gt;, ovvero l'implementazione per &lt;a href="http://kde.org/"&gt;KDE&lt;/a&gt;, credo che &lt;a href="http://libopengdesktop.barberaware.org/"&gt;libopengdesktop&lt;/a&gt; sia gia' usabile per piccoli applicativi senza pretese: mancano ancora le funzioni che permettono di comunicare con il server remoto in modalita' asincrona, indispensabili per l'utilizzo in una qualsiasi applicazione grafica che interagisca direttamente con l'utente, ma gia' il GTK+ Theme Thumbnailer menzionato nel precedente post sarebbe realizzabile senza eccessivo sforzo.&lt;br /&gt;Per quanto questa faccenda del &lt;a href="http://www.socialdesktop.org/contest/"&gt;Social Desktop Contest&lt;/a&gt; in parte non mi torni, in quanto sembra abbastanza una bufala architettata a tavolino per l'interesse di pochi (e come al solito approfondiro' queste tematiche sull'altro &lt;a href="http://madbob.wordpress.com"&gt;mio blog&lt;/a&gt;), ha comunque stimolato i miei neuroni gia' peraltro eccitati dal bioritmo estivo, ed ora mi trovo con una quantita' di idee grandi e piccine che potrebbero essere presentate o comunque messe in opera per il puro gusto di far qualcosa di utile. Poiche' gia' so che non riusciro' mai a realizzarle tutte le condivido nella speranza che qualcun'altro si prenda carico di qualcuna di esse: se cio' dovesse succedere, lasciate un commento a questo pezzo cosi' evitiamo di lavorarci in due...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;una implementazione &lt;a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html"&gt;AGPLv3&lt;/a&gt; della piattaforma Open Collaboration Services (per quanto incredibile lo stesso &lt;a href="http://opendesktop.org/"&gt;OpenDesktop&lt;/a&gt;, riferimento stesso della specifica, sembrerebbe costruito su una piattaforma web closed source... Andiam bene...). Questo di per se dovrebbe essere il progetto che andrebbe ad includere anche il GTK+ Theme Thumbnailer, ed il primo su cui mi mettero' a lavorare non appena avro' un poco di tempo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;un driver &lt;a href="https://launchpad.net/gwibber"&gt;Gwibber&lt;/a&gt; per le funzionalita' di microblogging incluse nel formato&lt;/li&gt;&lt;li&gt;un driver &lt;a href="http://www.go-evolution.org/"&gt;Evolution&lt;/a&gt; per gestire i messaggi privati tra gli utenti&lt;/li&gt;&lt;li&gt;un'altro driver Evolution (o comunque un convertitore &lt;a href="http://en.wikipedia.org/wiki/Ical"&gt;iCal&lt;/a&gt;) per importare nel calendar le informazioni relative agli eventi che vengono pubblicati&lt;br /&gt;&lt;/li&gt;&lt;li&gt;una qualche forma di integrazione con &lt;a href="http://freedesktop.org/wiki/Software/GeoClue"&gt;GeoClue&lt;/a&gt; per la gestione ad alto livello delle informazioni geografiche (magari una estensione di libopengdesktop?)&lt;/li&gt;&lt;li&gt;una applicazioncina &lt;a href="http://facebook.com"&gt;Facebook&lt;/a&gt; che condivida su tale popoloso network le attivita' svolte su una piattaforma Open Desktop&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;C'e' sempre qualcosa di nuovo da sviluppare. Peccato manchino sempre gli sviluppatori...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4297663503724844170?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4297663503724844170/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4297663503724844170' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4297663503724844170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4297663503724844170'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/libopengdesktop.html' title='libopengdesktop'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4048599026058007495</id><published>2009-06-19T03:07:00.005+02:00</published><updated>2009-06-19T04:06:57.671+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><title type='text'>GTK+ Theme Thumbnailer</title><content type='html'>Giusto il tempo di &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/lunione-fa-il-desktop.html"&gt;commentare&lt;/a&gt; il &lt;a href="http://www.socialdesktop.org/contest/"&gt;Social Desktop Contest&lt;/a&gt;, che in quattro e quattr'otto contro ogni piu' rosea aspettativa son riuscito ad implementare (sebbene sia da rifinire) la prima proposta che avevo in mente. Non si tratta di nulla di eclatante, per la carita', ma la trovo comunque una opzione nella sua semplicita' originale ed utile.&lt;br /&gt;Partiamo da un presupposto: i contenuti solitamente accessibili sui vari siti della rete &lt;a href="http://opendesktop.org/"&gt;OpenDesktop&lt;/a&gt; hanno il grosso problema di non essere programmaticamente gestibili. Bellissimi i &lt;a href="http://gnome-look.org/index.php?xcontentmode=188&amp;amp;PHPSESSID=728977ba13c443c18206355195571fae"&gt;Nautilus Scripts&lt;/a&gt;, o le applicazioncine su &lt;a href="http://www.kde-apps.org/"&gt;kde-apps&lt;/a&gt;, ma fintantoche' la loro installazione ed il loro utilizzo richiedono un intervento consapevole dell'utente (che deve decomprimere l'archivio e leggere il README per sapere di volta in volta quali files prendere e dove spostarli), e non esiste dunque alcuna forma di pacchettizzazione, non si puo' pensare ad uno strumento che faciliti la propagazione di codesti micro-applicativi con una modalita' di interazione fruibile dagli utilizzatori domestici (ovvero: "Clicca qui e faccio tutto io"). Dello stesso difetto, o meglio di una sua variante, soffrono i materiali meno impegnativi e destinati all'abbellimento grafico del proprio desktop: splendide le sfilze infinite di &lt;a href="http://gnome-look.org/index.php?xcontentmode=100"&gt;GTK+ engines&lt;/a&gt; e &lt;a href="http://gnome-look.org/index.php?xcontentmode=101"&gt;decorazioni per le finestre&lt;/a&gt; di &lt;a href="http://xwinman.org/metacity.php"&gt;Metacity&lt;/a&gt;, ma se ognuna di esse e' rappresentata da uno screenshot preso alla meno peggio dal rispettivo sviluppatore/artista ed in situazioni sempre diverse e' difficile poterne valutare la gradevolezza e tocca comunque scaricare ed installare prima di accorgersi che la personalizzazione sulla propria postazione di lavoro non piace.&lt;br /&gt;Proprio a questa seconda problematica e' rivolto il mio modestissimo progetto: un servizio web che wrappi alcuni dei contenuti di &lt;a href="http://gnome-look.org/"&gt;gnome-look&lt;/a&gt; generando automaticamente le preview dei vari temi disponibili sempre secondo lo stesso layout di widgets.&lt;br /&gt;Mettendo il naso nel codice di &lt;a href="http://git.gnome.org/cgit/gnome-control-center/"&gt;gnome-control-center&lt;/a&gt;, ovvero l'&lt;a href="http://davehall.com.au/images/gnome-appearance.png"&gt;applicativo&lt;/a&gt; che in &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt; permette la selezione di vari parametri di visualizzazione, si scopre che le thumbnails sono generate dinamicamente partendo sempre dalla &lt;a href="http://maketecheasier.com/wp-content/uploads/2008/07/appearance-customize.jpg"&gt;stessa configurazione&lt;/a&gt; di widgets (si vedono rispettivamente &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkButton.html"&gt;un pulsante&lt;/a&gt;, &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkCheckButton.html"&gt;una checkbox&lt;/a&gt; ed &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkRadioButton.html"&gt;un radiobutton&lt;/a&gt;) si' da affiancare in modo equo e confrontabile le differenti opzioni; da li', e' stato un attimo isolare le funzioni che provvedono a tale generazione e realizzare un eseguibile standalone capace di produrre una JPEG a partire da un qualunque tema, da poi fornire in accompagnamento ai contenuti esposti da un ipotetico server che come detto funga da provider per un altrettanto ipotetico pannello Gnome arricchito da un tasto che permetta di pescare da esso (come gia' succede nel pannello dei wallpapers di KDE).&lt;br /&gt;Paradossalmente adesso arriva la parte piu' noiosa e complessa, ovvero quella di provvedere ad una libreria C (e magari &lt;a href="http://library.gnome.org/devel/gobject/stable/"&gt;GObject&lt;/a&gt; oriented...) che wrappi l'API &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;REST&lt;/a&gt; descritta dalla specifica &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration&lt;/a&gt; e permetta di comunicare col server senza doversi ogni volta parsare l'XML, e gia' da solo questo task meriterebbe di essere contemplato come entry a se' stante per il Contest. Ad ogni modo credo che l'ostacolo piu' imponente, ovvero la creazione di preview coerenti, sia stato abbondantemente superato, e da adesso la strada e' in discesa: non so se una trovata cosi' modesta possa realmente avere uno spazio all'interno della competizione internazionale (e anche se lo fosse, l'Italia e' storicamente &lt;a href="http://weblogs.java.net/blog/fabriziogiudici/archive/2007/11/google_android.html"&gt;tagliata fuori&lt;/a&gt; dei concorsi a premi che si svolgono nel resto del mondo...), ma ribadisco l'intento puramente materialistico dell'opera.&lt;br /&gt;Ogni tanto un qualche simpatico hack per passar la serata e' d'uopo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4048599026058007495?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4048599026058007495/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4048599026058007495' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4048599026058007495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4048599026058007495'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/gtk-theme-thumbnailer.html' title='GTK+ Theme Thumbnailer'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7232210125664074223</id><published>2009-06-18T01:25:00.008+02:00</published><updated>2009-06-18T02:34:59.252+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><title type='text'>L'Unione fa... il Desktop</title><content type='html'>Sembra che la community di sviluppo freesoftware si sia svegliata tutta d'un colpo per concentrare almeno una parte delle risorse in tema di design ed usabilita' dei prodotti open: dopo il &lt;a href="http://lobotomy-dev.blogspot.com/2009/06/mozilla-design-challenge-parte-1.html"&gt;recentemente commentato&lt;/a&gt; contest di Mozilla (per cui ammetto di aver abbandonato il proposito di partecipare in modo serio, avrei voluto mettere insieme un piccolo prototipo ma le incombenze sono sempre troppe...) nel giro di pochi giorni sono spuntati fuori il progetto &lt;a href="https://edge.launchpad.net/hundredpapercuts"&gt;"One Hundred Paper Cuts"&lt;/a&gt; ed il &lt;a href="http://www.socialdesktop.org/contest/"&gt;"Social Desktop Contest"&lt;/a&gt;.&lt;br /&gt;Il primo si tratta di uno "sprint" che punta ad individuare e correggere 100 piccoli bugs all'interno dell'interfaccia di &lt;a href="http://ubuntu.com/"&gt;Ubuntu&lt;/a&gt; (notoriamente: &lt;a href="http://gnome.org/"&gt;Gnome&lt;/a&gt;) entro un breve periodo di tempo, puntando l'attenzione soprattutto sulle piccole ma fastidiose incoerenze che possono peggiorare la user expericence dell'utente novizio ma d'altro canto possono essere sistemate con poco sforzo. La lista delle &lt;a href="https://bugs.edge.launchpad.net/hundredpapercuts/+bugs"&gt;segnalazioni&lt;/a&gt; e' ricca, e posso sperare che i developers coinvolti non chiuderanno la baracca arrivati al centesimo ticket chiuso ma lavoreranno comunque per sistemare il sistemabile. Considero l'iniziativa ottima, purtroppo non ha molto senso che a condurla sia un'unico vendor (Ubuntu, appunto, considerando che alla fine il codice corretto e' quello di Gnome) ma e' un modo efficace per coinvolgere l'utenza domestica, piu' sensibile ad imprecisioni che potrebbero passare inosservate ad un esperto, e perfezionare alcuni dei dettagli che fanno la differenza tra un prodotto buono ed uno eccelso.&lt;br /&gt;Di tutt'altro genere e' il contest &lt;a href="http://tieguy.org/blog/2009/06/16/social-desktop-contest/"&gt;indetto&lt;/a&gt; da &lt;a href="http://www.socialdesktop.org/"&gt;Social Desktop&lt;/a&gt; (che in realta' e' solo un'altro nome per &lt;a href="http://opendesktop.org/"&gt;OpenDesktop&lt;/a&gt;...), che mira a stimolare la produzione di qualche applicativo nuovo e creativo che sfrutti la specifica &lt;a href="http://www.freedesktop.org/wiki/Specifications/open-collaboration-services"&gt;Open Collaboration Services&lt;/a&gt; by &lt;a href="http://freedesktop.org/"&gt;Freedesktop.org&lt;/a&gt; per l'integrazione del desktop Linux con funzionalita' di social networking. Sebbene in lavorazione da qualche tempo il formato per il recupero, la condivisione e la valutazione di contenuti addizionali per i PC casalinghi (wallpapers, icone, piccole utility...) non ha mai preso particolarmente piede, forse anche perche' l'unico fornitore degno di nome del servizio e' appunto OpenDesktop (quelli, per capirci, che mandano avanti &lt;a href="http://gnome-look.org/"&gt;gnome-look&lt;/a&gt; e &lt;a href="http://kde-look.org/"&gt;kde-look&lt;/a&gt;), e solo ultimamente l'implementazione di una parte dei servizi all'interno di KDE4 (come al solito annunciata &lt;a href="http://tech.slashdot.org/article.pl?sid=09/05/03/154231"&gt;con le fanfare&lt;/a&gt;) ha riportato l'attenzione sul tema. Io credo che alla specifica manchi ancora molto per essere davvero utilizzabile e non rappresentare solo un guscio di fuffa "duepuntozero", ma tornero' prossimamente su tali considerazioni: al momento sto accarezzando l'idea di assemblare qualcosa per suddetto contest, sperando di produrre qualcosa di piu' che non per la sopra menzionata competizione Mozilla, e quando opportuno esporro' un approfondimento.&lt;br /&gt;Insomma, la morale del post e': basta un poco di ingegno per architettare iniziative ampiamente fruibili dalla community (e non solo dagli sviluppatori, che paradossalmente sono sempre piu' una minoranza), in grado di condurre a ricchi risultati con un impiego modesto di risorse. Mi auguro di continuare a vedere spesso questo genere di imprese da parte dei team piu' grandi e con maggiore risonanza mediatica.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7232210125664074223?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7232210125664074223/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7232210125664074223' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7232210125664074223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7232210125664074223'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/lunione-fa-il-desktop.html' title='L&apos;Unione fa... il Desktop'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1254697804991282836</id><published>2009-06-08T03:57:00.008+02:00</published><updated>2009-06-08T04:16:21.893+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>CustomCaptionPanel per GWT</title><content type='html'>Come ogni altro framework, anche il &lt;a href="http://code.google.com/webtoolkit/"&gt;Google Web Toolkit&lt;/a&gt; (gia' piu' volte menzionato in questo blog) inizia a dare soddisfazioni quando lo si riesce ad usare decentemente. Oggi, ispirato da un colpo di genio (o meglio di memoria...), &lt;a href="http://www.bitrepository.com/how-to-create-a-tableless-form.html"&gt;questo articolo&lt;/a&gt; e la consultazione del codice interno di alcune classi, ho implementato ed incluso in &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; questa &lt;a href="http://barberaware.org/snippet/detail.php?type=snippet&amp;amp;id=31"&gt;semplice classe&lt;/a&gt; che permette di utilizzare un &lt;a href="http://www.w3schools.com/TAGS/tag_fieldset.asp"&gt;fieldset&lt;/a&gt; come Cristo comanda, ovvero con le &lt;a href="http://www.w3schools.com/TAGS/tag_label.asp"&gt;label&lt;/a&gt;.&lt;br /&gt;Grazie a questo piccolo espediente e' possibile generare una gerarchia DOM che formatta i contenuti senza fare uso di tabelle (non tanto per questioni di accessibilita', comunque compromessa trattandosi di roba compilata in Javascript, ma interessante in termini di elementi che il layout engine del browser si trova a dover manipolare), e riccamente configurabile per mezzo di CSS come nell'esempio incluso nel codice della classe sopra linkata.&lt;br /&gt;Il risultato ottenuto e' esteticamente assai gradevole, ed ovviamente ancora migliorabile se solo fossi capace di spremere CSS in modo esaustivo, e sebbene ancora non perfetto (il &lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/ui/CaptionPanel.html"&gt;CaptionPanel&lt;/a&gt; cosi' taroccato non permette di installare &lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/EventListener.html"&gt;listeners&lt;/a&gt; sugli elementi trattati, per intercettare ad esempio il focus, e non ho ancora capito come aggirare...) spero che questo pezzetto di codice torni utile a qualcuno.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1254697804991282836?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1254697804991282836/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1254697804991282836' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1254697804991282836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1254697804991282836'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/customcaptionpanel-per-gwt.html' title='CustomCaptionPanel per GWT'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5189209454217554377</id><published>2009-06-05T23:59:00.006+02:00</published><updated>2009-06-06T02:33:39.820+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='xesam'/><category scheme='http://www.blogger.com/atom/ns#' term='nepomuk'/><title type='text'>Tanto va il Bob al Largo...</title><content type='html'>Ci sono situazioni della vita in cui non si puo' non restare affascinati dinnanzi agli inaspettati risultati che una caotica serie di eventi puo' produrre: ho piu' volte conosciuto per puro caso persone che a distanza di tempo ed in intricate circostanze si sono rilevate indispensabili, ho vissuto esperienze incredibilmente belle o incredibilmente brutte che mi hanno permesso di accedere ad altri scenari ancora piu' estremi, e mi sono trovato in condizioni paradossali a seguito di non meglio descrivibili catene di cause ed effetti.&lt;br /&gt;Questa e' una di quelle situazioni.&lt;br /&gt;&lt;br /&gt;Io, eterno &lt;a href="http://lobotomy-dev.blogspot.com/2007/04/il-desktop-semantico.html"&gt;scettico&lt;/a&gt; nei confronti del &lt;a href="http://en.wikipedia.org/wiki/Semantic_desktop"&gt;desktop semantico&lt;/a&gt;, e acceso critico nei confronti di organizzazioni ufficiali e para-corporate nel contesto dello sviluppo free, sono da oggi &lt;a href="http://dev.nepomuk.semanticdesktop.org/wiki/OntologyMaintenance"&gt;co-maintainer&lt;/a&gt; di un componente di &lt;a href="http://nepomuk.semanticdesktop.org/"&gt;Nepomuk&lt;/a&gt;.&lt;br /&gt;Non sto qui a spiegare il come ed il perche' di tale evoluzione, e se lo facessi comunque pubblicherei il resoconto sul &lt;a href="http://madbob.wordpress.com/"&gt;mio blog&lt;/a&gt; piu' "politicamente attivo" a causa dei risvolti che la vicenda ha e continuera' ad avere, ma basti qui menzionare il fatto che nel prossimo periodo avro' modo di approfondire persino piu' del dovuto il tema delle tecnologie semantiche ed i loro risvolti.&lt;br /&gt;&lt;br /&gt;L'incarico si prospetta tutt'altro che semplice, considerando che in fin dei conti la definizione di una ontologia non e' null'altro che un confronto dialettico tra due o piu' persone che vogliono imporre la propria visione soggettiva delle cose senza poter fondare la discussione su aspetti tecnici e misurabili, lunghissimi flames sono gia' stati prodotti nei confronti di innumerevoli dettagli che avrebbero dovuto essere inclusi, esclusi o modificati ed il mio compito sara' quello di moderarli. Se a cio' aggiungiamo l'hype che Nepomuk detiene, avendo galvanizzato una buona fetta della community a seguito dell'implementazione (comunque a tutt'ora in corso d'opera) &lt;a href="http://nepomuk.kde.org/"&gt;in KDE&lt;/a&gt;, ed il fatto che dovro' confrontarmi con personaggi di un certo spessore e di una certa esperienza (nella pagina sopra linkata appaiono, oltre al mio, i nomi di almeno un paio di maintainer di &lt;a href="http://www.tracker-project.org/"&gt;Tracker&lt;/a&gt; ed il co-maintainer di &lt;a href="http://xesam.org/"&gt;Xesam&lt;/a&gt;), la sfida si fa ancora piu' ardita.&lt;br /&gt;Ridendo e scherzando gia' so che passero' il weekend a documentarmi sui &lt;a href="https://dev.nepomuk.semanticdesktop.org/query?status=assigned&amp;amp;status=new&amp;amp;status=reopened&amp;amp;group=component&amp;amp;component=ontology-nie&amp;amp;order=priority#no2"&gt;tickets&lt;/a&gt; gia' in passato aperti sul componente a me assegnato e sulle &lt;a href="http://git.gnome.org/cgit/tracker/tree/data/ontologies/34-nmo.ontology"&gt;modifiche&lt;/a&gt; che qualcuno ha arbitrariamente apportato senza pero' passare per la validazione da parte della community, preparandomi mentalmente e fisicamente al ciclo di sviluppo che iniziera' nel prossimo periodo a causa della &lt;a href="http://nepomuk.semanticdesktop.org/xwiki/bin/view/Main1/Project+Summary"&gt;chiusura&lt;/a&gt; dell'originario progetto Nepomuk sponsorizzato dall'Unione Europea ed alla migrazione della baracca sotto l'egida della fantomatica &lt;a href="http://oscaf.org/"&gt;OSCAF&lt;/a&gt;, ambigua organizzazione il cui compito non e' ancora chiaro e per la quale indirettamente mi son trovato in codesta situazione.&lt;br /&gt;Vabbe', guardiamo il lato positivo: con tutte le mail di insulti internazionali che dovro' mandare, magari il mio inglese scritto migliorera'...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5189209454217554377?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5189209454217554377/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5189209454217554377' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5189209454217554377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5189209454217554377'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/tanto-va-il-bob-al-largo.html' title='Tanto va il Bob al Largo...'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-6411858516620166519</id><published>2009-06-02T12:41:00.003+02:00</published><updated>2009-06-02T13:24:48.778+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Mozilla Design Challenge, parte 1</title><content type='html'>Essendomi perso il &lt;a href="http://wiki.services.openoffice.org/wiki/Renaissance/Design_Proposals_for_%E2%80%9CAccessing_Functionality%E2%80%9D"&gt;contest per il re-design&lt;/a&gt; di &lt;a href="http://www.openoffice.org/"&gt;OpenOffice&lt;/a&gt;, qualche giorno fa' ho deciso di partecipare a quello &lt;a href="http://design-challenge.mozilla.com/summer09/"&gt;indetto da Mozilla&lt;/a&gt; per l'ideazione di una alternativa alle classiche tabs per la navigazione di piu' pagine contemporaneamente in Firefox.&lt;br /&gt;Si parte dal presupposto che (cito testualmente) "oggi avere 20 o piu' sessioni parallele e' cosa comune", e nell'ottica di fornire un nuovo strumento di gestione della propria vita digitale si sta cercando un mezzo piu' efficiente che non le comodissime ma comunque limitanti tabs tradizionalmente poste al di sopra delle pagine.&lt;br /&gt;Ieri sera ho confezionato una prima proposta, anche se ammetto apertamente che sia piuttosto banale: come &lt;a href="http://www.flickr.com/photos/lobotomyproject/3586696744/"&gt;si vede&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/lobotomyproject/3585891155/"&gt;in questi&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/lobotomyproject/3585893965/"&gt;mockups&lt;/a&gt; (e nell'orribile &lt;a href="http://vimeo.com/4949377"&gt;video&lt;/a&gt; che riporto anche qui sotto) ho piazzato le tabs in una sidebar, ispirandomi all'oramai diffuso utilizzo di monitor widescreen che offrono tanto spazio orizzontale, anche se tale presupposto non vale per gli altrettanto diffusi netbooks e tale approccio contempli comunque una semplicissima reimplementazione dello stesso identico concetto gia' esistente.&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4949377&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4949377&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="300" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;Poche le "innovazioni" introdotte da questo concept: il fatto che le tabs che vengono attivate da un qualche evento interno (ad esempio: una modifica nel DOM da parte del JavaScript correlato, che magari ha pescato dal server un nuovo frammento di informazione quale ad esempio una nuova mail in GMail) vengono esposte in primo piano all'utente, e l'ordinamento per dominio (che permette di aggregare piu' pagine provenienti dallo stesso sito). Ma comunque gia' esistono &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/6535"&gt;implementazioni&lt;/a&gt; &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/5890"&gt;di tale idea&lt;/a&gt; sottoforma di estensioni Firefox, dunque non c'e' molto altro da dire&lt;br /&gt;se non che si e' trattato di un (neppure tanto riuscito) esercizio di stile.&lt;br /&gt;&lt;br /&gt;Ma come gia' detto, questa si tratta solo di una prima proposta: un'altra ne ho nel cassetto, in buona parte ispirata ed adattata dal meccanismo di &lt;a href="http://lobotomy.sourceforge.net/docs/Dejavu.html"&gt;navigazione dei templates&lt;/a&gt; pensato per &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;. Certamente un "template" (nell'&lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;accezione assunta&lt;/a&gt; all'interno di Lobotomy) e' cosa diversa da una pagina web, dunque qualche revisione va apportata, ma provero' quanto prima a confezionare anche quest'altra proposal da inviare al team Mozilla.&lt;br /&gt;&lt;br /&gt;Apprezzo immensamente lo sforzo profuso da Mozilla nella ricerca in campo di usabilita' e HCI, settore in cui tipicamente il software open deficita: il fatto di trattare l'interfaccia della propria applicazione con la stessa cura con cui si tratta il codice e' sintomo di consapevolezza nei confronti del "mercato" e dell'utenza, ed evidenzia l'intenzione di elevare la qualita' del software secondo canoni troppo spesso tralasciati e considerati secondari.&lt;br /&gt;Con i miei modestissimi interventi non conto di lasciare un segno particolare presso il team Mozilla, ma il solo fatto di fomentare la creativita' di collaboratori freelance avvezzi al design ed all'usabilita' permette di avere una ricaduta su tutto il panorama e di generare concepts che potranno essere facilmente riutilizzati in altri progetti. Ben vengano dunque iniziative di questo genere, che dovrebbero anzi essere intraprese da tutti i progetti open di un certo spessore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-6411858516620166519?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/6411858516620166519/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=6411858516620166519' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6411858516620166519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/6411858516620166519'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/mozilla-design-challenge-parte-1.html' title='Mozilla Design Challenge, parte 1'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7858910988502405856</id><published>2009-06-01T15:19:00.003+02:00</published><updated>2009-06-01T16:44:03.282+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Fuori Onda</title><content type='html'>Giacche' il web sembra in fermento per l'ultima trovata Google, inutile non volerne discutere anche su questo blog.&lt;br /&gt;In poche parole: &lt;a href="http://wave.google.com/"&gt;Wave&lt;/a&gt; e' un tool per far convergere diverse forse di discussione, tra cui instant messaging e commenti sui blogs, e di editing collaborativo. Sara' che gli esempi forniti nel corso della presentazione ufficiale del prodotto (di cui e' disponibile il video nella homepage del progetto) sono abbastanza banali ed ingenui, ma al contrario della &lt;a href="http://radar.oreilly.com/2009/05/google-wave-what-might-email-l.html"&gt;maggior parte&lt;/a&gt; &lt;a href="http://www.techcrunch.com/2009/05/28/google-wave-drips-with-ambition-can-it-fulfill-googles-grand-web-vision/"&gt;della blogosfera&lt;/a&gt; a me non pare nulla di particolarmente eccitante.&lt;br /&gt;Per la carita', una API che permetta di gestire in modo complesso gli stream di discussioni e commenti e' piu' che benvenuta, e gia' pregusto il momento in cui la includero' in &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; per arricchire le possibilita' di interazione degli utenti, ma in fin dei conti di strumenti per l'editing collaborativo ne esistono gia' a quintalate (sia &lt;a href="http://writer.zoho.com/home?serviceurl=%2Findex.do"&gt;web&lt;/a&gt; che &lt;a href="http://gobby.0x539.de/trac/"&gt;desktop&lt;/a&gt;), e neanche si contano i mezzi con cui due o piu' persone possono comunicare in modo piu' o meno sincrono.&lt;br /&gt;Probabilmente l'aspetto piu' innovativo del prodotto sta nella formalizzazione di un &lt;a href="http://www.waveprotocol.org/"&gt;protocollo&lt;/a&gt; per l'aggregazione di contenuti, che garantisce la possibilita' di implementazioni inedite e maggiori spazi per l'integrazione di servizi offerti da diversi providers (nonche' di applicativi di interfaccia magari un po' piu' usabili che non il &lt;a href="http://www.techcrunch.com/wp-content/uploads/2009/05/google_wave_inbox_add.png"&gt;client Wave&lt;/a&gt; proposto da Google stessa, che mi pare tutto fuorche' immediato e semplice da utilizzare), ma come sempre c'e' da vedere se davvero tale arnese verra' portato laddove ce ne sarebbe bisogno, ovvero social networks e piattaforme di (micro)blogging, oppure se ancora una volta le divergenze del libero mercato concorrenziale imporranno limiti alla radicazione della specifica.&lt;br /&gt;&lt;br /&gt;Piu' in generale, il mio giudizio nei confronti di questo genere di strumenti di carattere "social" e' sempre abbastanza critico: bellissima la possibilita' di condividere commenti, informazioni, notizie ed opinioni, ma se alla fine tutto questo popo' di tecnologia viene usato per far divulgare le foto delle vacanze non si ottiene nulla di piu' che non la versione globalizzata e 2.0 della "serata a casa degli amici a vedere le diapositive della settimana al mare". Quel che mancano non sono i mezzi, ma i contenuti, o comunque un qualche criterio che faccia emergere i dati realmente utili per la conduzione dei processi di decision making.&lt;br /&gt;Gia' mi sono &lt;a href="http://madbob.wordpress.com/2009/03/03/linformazione/"&gt;altrove&lt;/a&gt; espresso favorevolmente nei confronti dei nuovi media e dei canali di comunicazione "peer2peer" offerti dalla moderna Internet, ma giunti a questo punto ci si aspetterebbe da un colosso come Google (o da chiunque altro con un forte potenziale innovativo) qualcosa di piu' che non un servizio di instant messaging potenziato.&lt;br /&gt;Forse la salvezza arrivera' dal &lt;a href="http://lobotomy-dev.blogspot.com/2009/03/piastrelle-semantiche.html"&gt;semantic web&lt;/a&gt;, ma i tempi sembrano tutt'altro che maturi. Forse la salvezza arrivera' da &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;, o da &lt;a href="http://itsme.it/"&gt;Itsme&lt;/a&gt;, o da qualche altro progetto che porta l'aggregazione dell'informazione al centro del modello di interazione, ma l'attesa sembra essere tutt'altro che breve. E nel frattempo aumenta la mole di informazione da filtrare a mano, e troppo spesso succede di perdersi i pezzi per la strada.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7858910988502405856?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7858910988502405856/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7858910988502405856' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7858910988502405856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7858910988502405856'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/06/fuori-onda.html' title='Fuori Onda'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8744739069414925292</id><published>2009-05-18T23:52:00.004+02:00</published><updated>2009-05-19T03:07:14.859+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Strutture Algoritmiche</title><content type='html'>Un post gustosamente tecnico, inevitabile epilogo di una giornata interamente passata a programmare manipolando una infinita' di strutture dati.&lt;br /&gt;Gia' da tempo ho constatato l'enorme gap che esiste tra le strutture dati comunemente conosciute, usate ed implementate nelle piu' svariate librerie, e l'architettura di un qualsiasi sistema la cui complessita' e' maggiore del classico &lt;a href="http://www.roesler-ac.de/wolfram/hello.htm"&gt;hello world&lt;/a&gt;: laddove, seguendo i canoni della programmazione strutturata, si isolano (e stratificano...) le routines in modo da essere quanto piu' generiche possibili, alla lunga molto facilmente si arriva a replicare gli stessi dati in piu' e piu' posti semplicemente perche' in diversi posti si necessita di un diverso ordinamento, di una diversa gerarchia o di un diverso tipo di elemento che possa essere passato alle funzioni esposte da un diverso framework. E la pigrizia, &lt;a href="http://www.hhhh.org/wiml/virtues.html"&gt;prima virtu'&lt;/a&gt; di ogni developer, induce a ridurre, se non eliminare del tutto, l'implementazione di nuove strutture dati ad hoc da adottare caso per caso, ma ad adoperare due o tre o quattro istanze delle strutture normalmente fornite da qualsiasi libreria di utility e gestite su piu' piani differenti.&lt;br /&gt;Un esempio concreto, fresco fresco e tratto dall'esperienza di oggi: ho usato una &lt;a href="http://library.gnome.org/devel/glib/stable/glib-Hash-Tables.html"&gt;GHashTable&lt;/a&gt; per mantenere i riferimenti ad alcuni oggetti presi da un'altro componente e da restituire ad un'altro. Ma tali componenti ai due estremi del flusso sono fatti per "ragionare" secondo parametri diversi di cotali oggetti, mentre l'hash table permette di indicizzarli secondo un criterio solo. Risultato: quando le richieste arrivano da una parte l'accesso e' immediato, quando arrivano dall'altro devo convertire in una &lt;a href="http://library.gnome.org/devel/glib/stable/glib-Doubly-Linked-Lists.html"&gt;GList&lt;/a&gt; allocata sul momento, iterare, e liberare la struttura temporanea. Quanto sarebbe piu' efficiente il tutto se realizzassi una hash table personalizzata con due (o meglio ancora, un numero arbitrario di) indici distinti, o meglio ancora perfezionassi la gia' esistente &lt;a href="http://library.gnome.org/devel/glib/stable/glib-Relations-and-Tuples.html"&gt;GRelation&lt;/a&gt; (che non sembra godere di molta attenzione da parte del team Glib)? Molto, tutto sta nell'avere tempo di farlo.&lt;br /&gt;E ancora: come detto gli oggetti sono presi da una parte e passati dall'altra, ma questo comporta una duplicazione delle stesse informazioni. Informazioni che sono rappresentate in modi completamente diversi, ma che vanno ordinate piu' e piu' volte, iterate piu' e piu' volte, sincronizzate piu' e piu' volte... Quanto sarebbe piu' rapido e performante l'insieme se si provvedesse ad una qualche forma di struttura condivisa mantenuta allineata una sola volta per tutte? Molto, ma richiederebbe non poco sforzo per la realizzazione di qualcosa di stabile date le condizioni di concorrenza.&lt;br /&gt;E' probabile (anzi pressoche' certo) che la' fuori esistano centinaia di concetti nuovi, magari gia' anche implementati e testati e debuggati, ma che non sono ancora stati "scoperti" ed introdotti nei toolkit piu' popolari, i quali spesso magari neppure implementano le gia' &lt;a href="http://en.wikipedia.org/wiki/List_of_data_structures"&gt;ben note strutture&lt;/a&gt; piu' di nicchia e raffinate.&lt;br /&gt;Nel contesto del &lt;a href="http://lobotomy-project.org/"&gt;Progetto Lobotomy&lt;/a&gt; iniziai ad esplorare, insieme ad altri spunti per esotiche strutture dati tra cui una ispirata dalle architetture multi-core, il concetto di "extension", ovvero estensioni dei tipi di dato fondamentali con altri oggetti che li descrivessero in modi diversi e ad essi direttamente agganciati al fine di avere un'unica lista in cui aggiungere e rimuovere elementi ed in cui cercare secondo un criterio ed ottenere immediatamente la diversa rappresentazione (ad esempio: cercare un &lt;a href="http://lobotomy.sourceforge.net/docs/tech/libhyppo-0.3rc2-public/group__hyppovfsitem.html"&gt;HyppoVFSItem&lt;/a&gt; ed avere subito il relativo all'interno della &lt;a href="http://library.gnome.org/devel/gtk/stable/GtkIconView.html"&gt;GtkIconView&lt;/a&gt; senza dover iterare altrove), ma tanto per cambiare non ebbi modo di approfondire ulteriormente le potenzialita' del concept e non ottenni alcunche' di effettivamente usabile.&lt;br /&gt;Un giorno o l'altro dovro' tornarci, su questo e su altre ricerche. Per intanto mi accontento delle mie hash table tradotte in liste...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8744739069414925292?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8744739069414925292/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8744739069414925292' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8744739069414925292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8744739069414925292'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/05/strutture-algoritmiche.html' title='Strutture Algoritmiche'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2595902421410949500</id><published>2009-05-10T19:03:00.003+02:00</published><updated>2009-05-10T20:32:53.667+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Social Software</title><content type='html'>&lt;a href="http://www.2020flossroadmap.org/" title="2020 FLOSS Roadmap"&gt;&lt;/a&gt;Nella &lt;a href="http://www.2020flossroadmap.org/roadmap/"&gt;2020 FLOSS Roadmap&lt;/a&gt;, il documento (assolutamente non ufficiale, ma comunque fonte di ispirazione) che descrive i punti chiave in cui sviluppare e promuovere il software libero nei prossimi anni affinche' possa viralmente innestarsi sul panorama IT precedendo le controparti proprietarie (ed alla fine conquistare il mondo!!! Mhuahahaha!!!), uno spazietto e' dedicato al "Social Software".&lt;br /&gt;Mettendo le mani avanti in merito al significato che tale buzzword dovrebbe avere, e che nella mia interpretazione differisce dalla &lt;a href="http://it.wikipedia.org/wiki/Software_sociale"&gt;definizione&lt;/a&gt; fornita da &lt;a href="http://it.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;, il termine mi ispira un concetto che val la pena di esplorare ed implementare, o quantomeno di uniformare a partire dalle gia' esistenti sporadiche incarnazioni. Tale concetto e' quello di applicare una dimensione "social" (nell'accezione di "social networking") alla distribuzione del software, integrando servizi collaterali come il rating e l'aggiunta di commenti per ogni pacchetto installabile per mezzo del package manager, si' da arricchire quasi passivamente la documentazione relativa alle applicazioni accessibili dagli utenti.&lt;br /&gt;L'idea e' tutt'altro che nuova, viene gia' marginalmente applicata in &lt;a href="http://ubuntu.com/"&gt;Ubuntu&lt;/a&gt; (che rappresenta la popolarita' delle applicazioni con &lt;a href="http://www.ozzyfrank.com/Ubuntu/images/Ubuntu_AddRemove.JPG"&gt;delle stelline di merito&lt;/a&gt;) ed in &lt;a href="http://wiki.sabayonlinux.org/index.php?title=En:Entropy"&gt;Entropy&lt;/a&gt; (il package manager di &lt;a href="http://www.sabayonlinux.org/"&gt;Sabayon&lt;/a&gt;, progetto che ho modo di seguire abbastanza da vicino e che non nascondo abbia in buona parte influenzato la mia posizione sui temi qui trattati), ma trattandosi di applicazioni indipendenti, non compatibili e limitate risultano solo parzialmente utili ai fini dello sfruttamento intensivo dell'idea. Per questo motivo ho gia' provveduto a &lt;a href="http://lists.freedesktop.org/archives/packagekit/2009-May/004785.html"&gt;gettare il sasso&lt;/a&gt; nello stagno di &lt;a href="http://packagekit.org/"&gt;PackageKit&lt;/a&gt;, progetto &lt;a href="http://freedesktop.org/"&gt;FreeDesktop&lt;/a&gt; che punta all'astrazione del package management sulle piu' disparate distribuzioni ed esporre questa funzionalita' in modo che sia programmaticamente raggiungibile anche da applicativi che non siano il package manager in senso stretto, ed attendo qualche commento in merito.&lt;br /&gt;In un futuro il proposito potrebbe essere esteso anche a forme di contenuti "user generated" piu' significativi che non gli sterili commenti, come ad esempio una maggiore interazione in caso di errore dell'applicazione (e conseguente bug report) e l'avanzamento di idee e proposte per nuove features e migliorie: anche in questo caso esistono gia' parziali implementazioni dai singoli vendor (ad esempio &lt;a href="http://www.mozilla-europe.org/it/firefox/"&gt;Firefox&lt;/a&gt; provvede a presentare il &lt;a href="http://support.mozilla.com/it/kb/img/wiki_up/send_crash.png"&gt;dialog di bug reporting&lt;/a&gt; in caso di errore, mentre il team Ubuntu gestisce un suo proprio &lt;a href="http://brainstorm.ubuntu.com/"&gt;collettore di suggerimenti&lt;/a&gt; online), e provvedere una soluzione unica, riusabile e facilmente gestibile (per evitare gli ovvi doppioni che scaturirebbero da una adozione di massa del sistema, da individuare nel modo piu' automatico possibile) permetterebbe di incrementare notevolmente le possibilita' di produrre software di gran qualita'.&lt;br /&gt;Il sofware libero siamo noi, dunque tanto vale fornire strumenti efficaci per lo svolgimento del proprio compito.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2595902421410949500?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2595902421410949500/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2595902421410949500' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2595902421410949500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2595902421410949500'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/05/social-software.html' title='Social Software'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5730639776471553151</id><published>2009-05-01T18:29:00.005+02:00</published><updated>2009-06-07T16:44:18.370+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='xesam'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><category scheme='http://www.blogger.com/atom/ns#' term='Hyppocampus'/><title type='text'>"Lobotam"?</title><content type='html'>Negli ultimi tempi, per motivi legati in qualche modo al &lt;a href="http://itsme.it/"&gt;lavoro&lt;/a&gt;, mi sono documentato in modo abbastanza approfondito su &lt;a href="http://xesam.org/"&gt;Xesam&lt;/a&gt;, ovvero il protocollo &lt;a href="http://freedesktop.org/"&gt;FreeDesktop&lt;/a&gt; che intende unificare l'accesso ai dati piu' o meno semantici raccolti dai vari indexers quali &lt;a href="http://www.tracker-project.org/"&gt;Tracker&lt;/a&gt;, &lt;a href="http://beagle-project.org/"&gt;Beagle&lt;/a&gt; e compagnia cantante. E sebbene un anno fa', in occasione del &lt;a href="http://lobotomy-dev.blogspot.com/2008/03/apriti-xesam.html"&gt;primo approccio&lt;/a&gt; col progetto stesso, espressi una critica alla modalita' di utilizzo del formato, dopo aver rovistato il wiki in lungo ed in largo ed aver constatato l'incredibile frammentazione esistente nel mondo open in merito al tema del desktop semantico mi sono cosi' convinto della necessita' di questa opera che non solo mi sono iscritto alla &lt;a href="http://lists.freedesktop.org/mailman/listinfo/xesam"&gt;mailing list&lt;/a&gt; ed ho preso (modestissima) parte all'atto finale che prelude al rilascio della versione 1.0 della specifica (oramai imminente) ma mi sto anche persuadendo che, almeno per ora, potrei utilizzare tale strumento all'interno di &lt;a href="http://lobotomy-project.org/"&gt;Lobotomy&lt;/a&gt;, sostituendo il mio personale storage relazionale &lt;a href="http://lobotomy-project.org/wiki/Hyppocampus"&gt;Hyppocampus&lt;/a&gt; con un indexer canonico acceduto appunto grazie al protocollo standard.&lt;br /&gt;Questo porterebbe all'impossibilita' di implementare alcune delle features avanzate che avevo elaborato, come il &lt;a href="http://lobotomy-project.org/ticket/31"&gt;versioning&lt;/a&gt; dei singoli metadati e l'&lt;a href="http://lobotomy-project.org/ticket/12"&gt;utilizzo ortogonale&lt;/a&gt; di informazioni cronologiche, ma certamente il fatto di non dovermi occupare personalmente di una componente grossa ed impegnativa come l'estrattore, indicizzatore e fornitore dei metadati mi permetterebbe finalmente di ottenere qualcosa di concreto nell'ambito del mio oramai anzianissimo ma poco produttivo progetto. E si puo' anche immaginare che in questo modo Lobotomy, inteso come ambiente operativo, potra' anche piu' facilmente essere adoperato, valutato e testato all'interno di un desktop environment canonico, ed essere utile a qualcuno per gestire i propri dati senza necessariamente dipendere dall'approccio distruttivo e radicale che presupporrebbe l'utilizzo esclusivo della mia esotica interfaccia.&lt;br /&gt;Conto di concentrarmi prossimamente sui task prettamente presentativi del sistema, nella fattispecie su &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;, e faro' in modo di wrappare l'interfaccia Xesam in modo che sia facilmente sostituibile il giorno in cui disporro' di uno storage relazionale fatto a modo mio.&lt;br /&gt;Lobotomy + Xesam = Lobotam!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5730639776471553151?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5730639776471553151/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5730639776471553151' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5730639776471553151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5730639776471553151'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/05/lobotam.html' title='&quot;Lobotam&quot;?'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7019740598977203182</id><published>2009-04-08T20:20:00.004+02:00</published><updated>2009-04-09T01:22:52.842+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>xPUD</title><content type='html'>E' successo &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/una-idea-e-sempre-una-idea.html"&gt;di nuovo&lt;/a&gt;: non faccio in tempo ad avere una idea, che subito trovo qualcuno che l'ha gia' applicata.&lt;br /&gt;&lt;div style="text-align: left;"&gt;Da poco tempo sono allo studio delle gia' esistenti soluzioni che permettono di costruire interfacce grafiche partendo da una descrizione formalizzata in XML, al fine di cercare di recuperare qualcosa per la prossima implementazione dell'interprete di "&lt;a href="http://lobotomy-project.org/wiki/Thoughts"&gt;Thoughts&lt;/a&gt;" da integrare in &lt;a href="http://lobotomy-project.org/wiki/Synapse"&gt;Synapse&lt;/a&gt;, &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; e sono giunto alla conclusione che probabilmente l'eccellenza in questo campo sia stata raggiunta da &lt;a href="http://www.mozilla.org/projects/xul/"&gt;XUL&lt;/a&gt;, tecnologia a mio tempo &lt;a href="http://smoker.barberaware.org/"&gt;gia' esplorata&lt;/a&gt; che sta alla base di prodotti del calibro di &lt;a href="http://www.mozilla-europe.org/it/firefox/"&gt;Mozilla Firefox&lt;/a&gt;. Ho dato uno sguardo all'immensamente complesso ed arzigogolato codice sorgente dell'interprete al fine di estrapolarne la tecnica adottata per il parsing e la ricostruzione della grafica, e sono anche arrivato al punto da lasciar perdere il vago pensiero dell'integrazione dell'intero XUL all'interno di Lobotomy a causa della sintassi troppo permissiva e della pesante quanto inutile dipendenza da Javascript, ed immediatamente mi trovo davanti agli occhi una intera distribuzione Linux con una interfaccia completamente costruita su tale piattaforma.&lt;br /&gt;Di &lt;a href="http://xpud.org/"&gt;xPUD&lt;/a&gt; ho letto la prima volta &lt;a href="http://distrowatch.com/?newsid=05410"&gt;tra le news&lt;/a&gt; di &lt;a href="http://distrowatch.com/"&gt;Distrowatch&lt;/a&gt;, qualche giorno fa', ho scaricato &lt;a href="http://www.xpud.org/download.en.html"&gt;la .iso&lt;/a&gt; e me ne son dimenticato; oggi me lo &lt;a href="http://www.osnews.com/story/21278/xPUD_Linux_with_an_XUL_Interface_10_Second_Boot_Time"&gt;ritrovo&lt;/a&gt; su &lt;a href="http://www.osnews.com/"&gt;OSNews&lt;/a&gt;, dunque inevitabile e' stato riportare l'attenzione sul progetto.&lt;br /&gt;Purtroppo non ho potuto ancora provare il prodotto, a causa della scarsita' dei miei mezzi di virtualizzazione per verificare il CD live almeno su macchina virtuale, ma almeno sulla carta questa sottospecie di interfaccia ultraminimale (come riportato da OSNews stesso) estremamente ben si adatta ai netbooks o ad un ipotetico "sistema operativo di emergenza" da avviare all'occorrenza per la fruizione dei contenuti del PC (senza far partire tutto l'ambiente canonico). Non sara' forse l'erede futuro del desktop, ma certamente il concetto di tirar via tutto il superfluo e mettere sotto il cursore quello che realmente serve, implementandolo oltretutto con una tecnologia cosi' propensa alla customizzazione e di rapidita' di stesura e perfezionamento, merita un elogio.&lt;br /&gt;I miei piu' vivi auguri al cinese che sta portando avanti questa impresa, con la speranza di vedere qualcosa del genere sui prossimi netbooks in commercio anziche' gli orribili &lt;a href="http://www.linpus.com/"&gt;Linpus&lt;/a&gt; e compagnia cantante.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7019740598977203182?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7019740598977203182/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7019740598977203182' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7019740598977203182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7019740598977203182'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/04/xpud.html' title='xPUD'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-581493420479689109</id><published>2009-04-02T20:45:00.002+02:00</published><updated>2009-04-02T20:50:14.758+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>L'Efficienza di un Cesso</title><content type='html'>Questo e' un aneddoto che, contrariamente alla tradizione di questo blog, tratta di usabilita'... analogica.&lt;br /&gt;&lt;br /&gt;Viaggiando sulla tratta Torino-Milano a bordo di un &lt;a href="http://www.trenitalia.com/cms/v/index.jsp?vgnextoid=6e02ceb4d4bba110VgnVCM1000003f16f90aRCRD"&gt;"VivAlto"&lt;/a&gt; (il treno con le carrozze a due piani sporadicamente usato sulle linee ad alta densita', quello con il monitor che indica la velocita' del mezzo e forse l'unico "regionale" dotato di prese elettriche che qualche volta addirittura funzionano), capita che mi scappi la pipi'. E quando la Natura chiama non si puo' esitare nella risposta.&lt;br /&gt;&lt;br /&gt;Ma un fenomeno curioso stuzzica piu' che il mio spirito di osservazione la mia vescica: dalla mia posizione priviligiata proprio sopra alla toilette constato che, nonostante la modesta quantita' di viaggiatori presenti sul treno, la ritirata della carrozza e' sempre occupata, e la porta si apre e si richiude costantemente indicando un continuo ricambio di avventori. Dopo molti turni di attesa, ed una volta arrivato gia' nell'area urbana milanese, finalmente riesco ad introdurmi nella cabina desideroso di sbrigare la pratica.&lt;br /&gt;&lt;br /&gt;Ma devo attendere che la tazza abbia finito di girare. Mentre il cono di acciaio che ha preso il posto dell'ergonomico sedile di porcellana termina il suo ciclo di pulizia automatica getto una occhiata all'ambiente: il malamente illuminato sbaguzzino si presenta come un desiderio non soddisfatto di modernita' e ottimizzazione, uno spazio ispirato dalla visione in seconda serata di &lt;a href="http://www.imdb.com/title/tt0083658/"&gt;Blade Runner&lt;/a&gt; dopo una cena a base di peperonata, e come se non bastasse l'assai modesto intento stilistico la natura umana, che e' pur sempre di stampo animale, unita all'azione esponenziale della seconda legge termodinamica (quella che parla di entropia e caos...), concedono all'insieme un tocco di decadenza nichilista sparpagliando sulle superfici lisce e plasticose schizzi incontrollati di acqua (e non solo, si puo' immaginare) e pezzi di carta strappati e bagnati. L'asettico futuro ritratto da &lt;a href="http://www.imdb.com/title/tt0062622/"&gt;"2001 Odissea nello Spazio"&lt;/a&gt; e' ancora distante.&lt;br /&gt;&lt;br /&gt;Finalmente il giuoco d'acqua intorno al piu' contemporaneo erede della seduta medievale termina, e posso assolvere ai doveri nei confronti del mio essere biologico. Terminata la procedura, mentre le mani si occupano di serrare la patta gli occhi vagano alla ricerca di un pulsante, una catena, un interruttore che azioni lo sciacquone. Non e' stato immediato collegare la precedente immagine descritta, quella del cono sciacquato automaticamente al termine della sessione ed alla riapertura della porta, con il fatto che non v'era alcun bisogno di tirare l'acqua, in quanto il treno avrebbe pensato da se' a liberarsi del fardello. Da qui, la considerazione (o la riconferma del fatto) che l'abitudine e' la maggiore nemica dell'innovazione, in quanto induce le persone a comportarsi sempre nello stesso modo ed ostacola l'adozione di nuovi atteggiamenti: anche una operazione insignificante come quella della pulizia del bagno, che ha tutto il senso di essere automatizzata essendo (dovendo essere) ripetuta ad ogni iterazione, riesce a mettere in crisi chi ha sempre eseguito gli stessi gesti per decenni e non si trova sotto le dita l'atteso tastone che permette di comunicare al mondo la chiusura della propria pratica. Certo che una notifica piccola piccola sopra la tazza avrebbero potuto anche metterla...&lt;br /&gt;&lt;br /&gt;Soddisfatto l'animale, e' d'uopo ricondursi a schemi civilizzati. E dunque mi volto per lavarmi le mani. Davanti a me trovo una specie di armadietto che fa tutt'uno con la parete, compatto, con una apertura dell'altezza di 40 cm all'altezza delle mani. Al suo interno, il lavandino. Nessuna traccia del rubinetto, ne' tantomeno di un modo per far scendere l'acqua. Non c'e' il pedale, come sui normali treni regionali ed in molti altri locali pubblici; non c'e' fotocellula che attivi il flusso al passaggio della mano, essendo evidentemente una soluzione troppo propensa ad atti di vandalismo. Mi guardo attorno, e l'attenzione di sofferma sulle tre "icone" bianche disposte sul bordo superiore dell'apertura, tutte con simboli stilizzati, tutte con la descrizione in Braille dell'oggetto rappresentato, tutte disegnate e lisce. O forse no. Quella al centro, raffigurante un rubinetto, ha un leggero rilievo. Senza troppa convinzione lo premo, ed ecco l'acqua scendere.&lt;br /&gt;In codesto frangente opera l'apprendimento, che induce a cercare soluzioni gia' note per problemi gia' affrontati: in questo caso il problema e' stato procurarsi dell'acqua, la soluzione era diversa da qualsiasi altra cosa avessi visto in precedenza e dunque non ancora parte del mio bagaglio, dunque neanche presa in considerazione e tentata. Nonche' particolarmente nascosta ed infida. Anche qui, un esplicativo testo "Premere qui" non avrebbe fatto male.&lt;br /&gt;&lt;br /&gt;Ammetto di aver rinunciato all'idea di trovare le salviette di carta, mi sono asciugato sui pantaloni.&lt;br /&gt;&lt;br /&gt;Tempo totale per far la pipi': due minuti. Adesso mi si spiega il perche' del precedente rallentamento nello smaltimento della coda.&lt;br /&gt;Niente di cio' che e' umano mi e' estraneo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-581493420479689109?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/581493420479689109/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=581493420479689109' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/581493420479689109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/581493420479689109'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/04/lefficienza-di-un-cesso.html' title='L&apos;Efficienza di un Cesso'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8967648265182122305</id><published>2009-03-28T02:27:00.003+01:00</published><updated>2009-03-28T03:06:11.266+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Migrazione!</title><content type='html'>Come forse precedentemente annunciato, da qualche tempo ho un Virtual Private Server su cui intendo migrare (nonche' riavviare...) lo sviluppo del Progetto Lobotomy.&lt;br /&gt;Per lungo tempo l'opera e' rimasta sospesa a causa dei numerosi impegni professionali e non, ma nell'ultimo periodo un po' di urgenze sono state smaltite e mi trovo con non molto ma sufficiente tempo libero per riprendere le fila dell'antico ma mai dimenticato progetto, che ridendo e scherzando occupa la mia affollata testolina da numerosi anni. Da notare comunque che tale pausa mi ha permesso quantomeno di ponderare in linea teorica sul piu' recente modello che sta alla base della piattaforma che intendo costruire, e dal &lt;a href="http://lobotomy.sourceforge.net/docs/Split_to_Integrate.html"&gt;primo abbozzo&lt;/a&gt; presentato alla piu' &lt;a href="http://lobotomy-project.org/wiki/Architecture"&gt;aggiornata revisione&lt;/a&gt; l'idea e' stata arricchita di numerosi perfezionamenti ed apparentemente impercettibili dettagli.&lt;br /&gt;Su &lt;a href="http://lobotomy-project.org"&gt;http://lobotomy-project.org&lt;/a&gt; e' raggiungibile una istanza di &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt;, il cui wiki e' attualmente in fase di popolamento al pari del &lt;a href="http://lobotomy-project.org/report/3"&gt;tracker&lt;/a&gt; su cui sto raccogliendo (seguendo &lt;a href="http://lobotomy-dev.blogspot.com/2009/02/metodo.html"&gt;lo spunto&lt;/a&gt; offerto) idee sparpagliate da poi riassemblare e validare globalmente, e da cui partire per una prima implementazione. Nel frattempo sto provvedendo alle questioni amministrative, annunciando sul &lt;a href="http://lobotomy.sf.net/"&gt;vecchio sito&lt;/a&gt; e sulle varie pagine in cui i diversi componenti del &lt;a href="https://gna.org/projects/scd/"&gt;sistema&lt;/a&gt; &lt;a href="https://savannah.nongnu.org/projects/synapse/"&gt;sono state&lt;/a&gt; &lt;a href="http://sourceforge.net/projects/hyppocampus"&gt;sparpagliate&lt;/a&gt; sinora la migrazione in atto.&lt;br /&gt;Ovviamente non sono in grado di fornire una roadmap precisa in merito ai prossimi sviluppi, trattandosi questo di un progetto amatoriale e a piu' bassa priorita' rispetto agli altri impegni, ma faro' in modo di presentarmi all'inizio dell'estate, periodo dell'anno tra i piu' prolifici essendo il meno professionalmente impegnato, con un piano preciso di cose su cui passare le mie giornate svaccato &lt;a href="http://www.flickr.com/photos/lobotomyproject/1149380171/"&gt;sul futon&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8967648265182122305?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8967648265182122305/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8967648265182122305' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8967648265182122305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8967648265182122305'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/03/migrazione.html' title='Migrazione!'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-4086759118146672250</id><published>2009-03-23T01:50:00.003+01:00</published><updated>2009-03-23T01:59:02.807+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='semantics'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><title type='text'>Piastrelle Semantiche</title><content type='html'>Su questo blog e altrove ho piu' volte criticato le tecnologie semantiche. Ma forse sarebbe bene fare distinzione tra "semantico" e "semantico".&lt;br /&gt;&lt;br /&gt;Non tutte le tecnologie etichettate con tale altisonante classificazione, cosi' di  moda oggi e dunque cosi' abusata e di cui in fin dei conti in pochi (non me) hanno ben chiaro il significato, offrono infatti gli stessi vantaggi a fronte dello stesso impegno. Si va dall'estremo del "desktop semantico" - l'attuale &lt;a href="http://it.wikipedia.org/wiki/KDE_4"&gt;KDE4&lt;/a&gt;, che implementa lo stack &lt;a href="http://nepomuk.semanticdesktop.org/"&gt;Nepomuk&lt;/a&gt; e che incentra buona parte delle sue funzionalita' intorno alla capacita' dell'utente di assegnare tags ai suoi propri files - all'opposto del &lt;a href="http://semanticweb.org/"&gt;"web semantico"&lt;/a&gt;, ovvero la "Rete di dati" cui gia' qualcuno arditamente (o stupidamente) appunta la nomea di "Web 3.0". Mentre la prima categoria di applicazione e' lungi dal ricevere un mio consenso, soprattutto a questo stadio di sviluppo ed alla luce del fatto che esse sono completamente inutili se non manipolate a dovere dall'utilizzatore finale (che, per definizione, non usa mai le cose come dovrebbe), la seconda classe e' motivo di discreto interesse, almeno dal punto di vista del potenziale in campo. In generale non vedo troppo di buon occhio la frammentazione (seppur controllata e documentata) dell'informazione in dialetti e sottodialetti, come appunto si vuole fare con l'iniezione di una quantita' infinita di "ontologie" da applicare ad informazioni diverse a seconda del loro contesto, ma certamente se sufficientemente diffusi e propagati tali mezzi risulterebbero di infinita utilita'.&lt;br /&gt;&lt;br /&gt;Purtroppo il grande difetto del "semantic web" e', paradossalmente, la sua stessa community di sostenitori, costituita in larga parte da accademici esaltati che amano riempirsi la bocca con nozioni di filosofia spiccia e produrre i piu' stravaganti ed &lt;a href="http://semanticweb.org/wiki/Semantic_Web_standards"&gt;incomprensibili formati&lt;/a&gt; e protocolli per il solo gusto di constatare poi quanto siano stati bravi nel far delle cose cosi' complesse, pertanto ho sempre osservato da lontano l'ambiente senza approfondire piu' del tanto necessario a comprendere il senso delle occasionali news che capitano sotto gli occhi. Ma qualcosa potrebbe forse cambiare nel prossimo futuro.&lt;br /&gt;Tra le news di &lt;a href="http://techmeme.com/"&gt;Techmeme&lt;/a&gt; trovo un riferimento all'&lt;a href="http://www.readwriteweb.com/archives/twine_could_soon_surpass_delicious_prepares_ontolo.php"&gt;intenzione&lt;/a&gt; del team di &lt;a href="http://twine.com/"&gt;Twine&lt;/a&gt; (scarsamente conosciuto servizio di social bookmarking a la &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;) di piazzare online un "editor di ontologie", ovvero una applicazione che faciliti la produzione, la pubblicazione e la condivisione di "descrizioni" di oggetti da impiegare poi per marcare i dati sull'Internet ed implementare poi all'interno dei programmi che potranno cosi' interpretare il dato e miscelarlo e/o presentarlo in modi nuovi. Sinora la tecnologia (o quantomeno: la discussione di essa, e qualche basilare applicazione) e' stata confinata nelle aule accademiche o sui blog tecnofili da geek, dunque impiegata al piu' in nicchie ben lontane dal mondo dei comuni mortali, ma se davvero si riuscisse a coinvolgere individui non-tecnici nella definizione di nuove astrazioni semantiche pronte per essere adottate in campi di pubblico interesse e fruizione sarebbe forse la volta buona per radicare lo strumento ed iniziare davvero a sfruttarlo.&lt;br /&gt;Io stesso qualche tempo addietro stavo meditando sull'utilita' che avrebbe un web service esposto da &lt;a href="http://www.comune.torino.it/gtt/"&gt;GTT&lt;/a&gt; (l'azienda di trasporto pubblico torinese; ovviamente il discorso si applica anche a tutte le altre citta') per reperire in un formato programmaticamente trattabile le informazioni relative al traffico urbano, che al momento sono completamente raccolte e gestite dall'ente ma divulgate per mezzo di &lt;a href="http://madbob.wordpress.com/2009/01/14/quelli-che-il-20/"&gt;canali scarsamente riconducibili&lt;/a&gt; a qualsiasi forma riutilizzabile, ma dopo rapida ricerca ho notato la mancanza di una specifica adeguata a tale esigenza e che potesse realmente essere definita standard. Di casi simili ne esistono a volonta' e &lt;a href="http://swoogle.umbc.edu/"&gt;Swoogle&lt;/a&gt; non e' di particolare aiuto, ma cosi' come &lt;a href="http://wikipedia.org/"&gt;Wikipedia&lt;/a&gt; e' la piu' grande enciclopedia del mondo grazie anche e soprattutto al contributo di persone specializzate in settori non necessariamente legati alla tecnologia che hanno imparato quelle poche operazioni richieste per editare il wiki e riportare la loro conoscenza, allo stesso modo puo' esistere la possibilita' di far convergere nozioni ed esperienze diverse per costruire il substrato di interoperabilita' necessario ed indispensabile ad ogni altro futuro sviluppo del web semantico.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-4086759118146672250?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/4086759118146672250/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=4086759118146672250' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4086759118146672250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/4086759118146672250'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/03/piastrelle-semantiche.html' title='Piastrelle Semantiche'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8773635332141396732</id><published>2009-03-22T15:15:00.002+01:00</published><updated>2009-03-22T15:33:34.232+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SubConsciousDaemon'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><title type='text'>Un Task per Domarli Tutti</title><content type='html'>Non nego che, sebbene continui a seguire la mailing list di sviluppo del progetto &lt;a href="http://openmoko.org/"&gt;OpenMoko&lt;/a&gt;, da tempo abbia perso buona parte dell'interesse in merito a tale opera e solo di sfuggita legga le mail che transitano: troppo forte e' stata &lt;a href="http://lobotomy-dev.blogspot.com/2008/08/io-me-e-lopenmoko.html"&gt;la delusione&lt;/a&gt; di avere tra le mani un FreeRunner completamente inusabile, e di vedere come &lt;a href="http://openmoko.com/"&gt;OpenMoko Inc&lt;/a&gt; invece di darsi da fare per completare uno straccio di framework di sistema per il suo proprio dispositivo giocasse a mischiare tutto quanto ogni sei mesi ottenendo solo di spazientire la community.&lt;br /&gt;Per un caso fortuito, seguendo il classico filone di links che rimandano da una news all'altra (sempre sia lodato l'ipertesto...), sono approdato alla pagina di uno dei componenti di cui piu' spesso ho visto menzionare il nome nella mailing list senza peraltro capire troppo bene di cosa si trattasse: &lt;a href="http://www.paroli-project.org/"&gt;Paroli&lt;/a&gt;. Assunto che non ho troppo ben capito come esso dovrebbe porsi nei confronti delle prossime versione della distribuzione OpenMoko (non doveva migrare tutto su Android???), di per se' il proposito mi sembra interessante; non fosse altro che e' lo stesso criterio con cui voglio costruire il prossimo &lt;a href="http://lobotomy-project.org/wiki/SubConsciousDaemon"&gt;SubConsciousDaemon&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Paroli (lemma che in esperanto significa "discussione": ottima scelta) non e' altro che un daemon di sistema il cui servizio e'... offrire servizi. In sostanza, wrappa l'uso di librerie e sottocomponenti rendendoli accessibili con una interfaccia (&lt;a href="http://www.freedesktop.org/wiki/Software/dbus"&gt;DBus&lt;/a&gt;) unificata, che descrive le operazioni piu' comuni e di interesse generale nel sistema (nel caso di OpenMoko: il networking, il GPS, il GSM...), permettendo di implementare una sola volta funzionalita' avanzate e renderle disponibili per tutti gli altri. Accentrando cosi' il codice prettamente funzionale si riduce la ridondanza di codice (da sviluppare, correggere e mantenere) e si induce al suo riuso ed alla creazione di inediti miscugli sinora non esplorati soprattutto per la complessita' della loro gestione.&lt;br /&gt;&lt;br /&gt;Un poco alla volta, dunque, constato che la tendenza di accentrare le componenti funzionali di sistemi complessi isolandole e circoscrivendole dalle componenti grafiche si diffonde a si radica in sempre diversi frangenti: di anni dalla mia prima descrizione di tale architettura ne son passati assai, sono lieto che il tempo stia dando ragione (o quantomeno fiducia) a tale struttura. E non attendo altro che l'occasione di offrire la mia propria implementazione dell'idea, estremizzata all'interno del Progetto Lobotomy.&lt;br /&gt;Non fosse per il fatto che tutto cio' e' in Python (linguaggio da me assai poco amato, e che a tutt'oggi mi domando e chiedo come si possa pretendere di utilizzare su un'apparato mobile con una potenza computazionale ridotta) potrei quasi pensare di riutilizzare tale componente all'interno della prossima incarnazione del mio personale progetto, correntemente in fase di progettazione e specificazione, ma e' probabile che esso sara' quantomeno fonte di ispirazione almeno per quanto riguarda la definizione dell'interfaccia programmatica con cui agganciare e rimuovere servizi e plugins.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8773635332141396732?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8773635332141396732/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8773635332141396732' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8773635332141396732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8773635332141396732'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/03/un-task-per-domarli-tutti.html' title='Un Task per Domarli Tutti'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-2234476224231149673</id><published>2009-03-05T12:33:00.003+01:00</published><updated>2009-03-09T01:37:47.984+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Un Futuro che Non C'e'</title><content type='html'>L'altro giorno mi e' passato sotto gli occhi un &lt;a href="http://www.istartedsomething.com/20090228/microsoft-office-labs-vision-2019-video/"&gt;bellissimo filmato&lt;/a&gt; che, strano a dirsi, viene da &lt;a href="http://microsoft.com/"&gt;Microsoft&lt;/a&gt;: esso rappresenta la "vision" dell'azienda per l'adozione massiccia di tecnologie oggi esistenti solo in forma prototipale e sperimentale, e piu' precisamente in previsione di cio' che gli utenti potrebbero avere a disposizione nel 2019. Superfici tattili di ogni tipo, interfacce completamente touch che mutano a seconda del dato presentato o del device su cui vengono impiegate, carta elettronica su cui viene proiettata l'informazione...&lt;br /&gt;Certamente affascinante. Un ottimo cortometraggio di fantascienza.&lt;br /&gt;Con cio' non voglio assolutamente dire che quanto espresso sia irrealistico ed infondato, anzi ho precisato fin dall'inizio che in fin dei conti questa non e' che una artistica raffigurazione di strumenti hardware e software gia' oggi esistenti ed in fase di piu' o meno avanzato sviluppo, ma tra il dire (non senza un pizzico di ingenuita', perdonata per le evidenti esigenze di copione) ed il fare vi e' il baratro dell'interpretazione dell'informazione.&lt;br /&gt;Splendido sarebbe copiare una porzione di un grafico da un device all'altro semplicemente puntando e guardando attraverso l'apposito vetrino, ma per far cio' i tre componenti (mittente, destinazione, e chi trasporta il dato) devono comunicare nello stesso linguaggio, secondo lo stesso protocollo, scambiando bytes di cui conoscono il significato; impagabile sarebbe variare l'informazione numerica in un documento tabellare girando la manopolina virtuale proiettata sulla scrivania, ma per fare cio' chi proietta suddetta manopola e chi traduce il numero prodotto in barretta colorata devono condividere la nozione su come trattare l'input; meraviglioso sarebbe "esplodere" il disegno tecnico pigiando il ditino sulla scrivania su cui e' appoggiato il mazzo di chiavi, ma per far cio' la scrivania deve sapere cosa c'e' scritto nel suddetto schema ed in che modo i componenti rappresentati sono interagibili o meno.&lt;br /&gt;Insomma: il semplice "pezzo di ferro", per quanto sofisticato, semi-trasparente, mobile e reattivo al tocco, non serve a nulla se chi lo gestisce non sa cosa fargli visualizzare, e come. Questo popo' di apparecchiature e' perfettamente inutile se non esiste una capillare ed universale adozione di standard aperti, che possano essere trattati in modo univoco all'interno dell'intera infrastruttura integrata. Che lo si voglia o no, finche' l'informazione e' tenuta prigioniera all'interno di files Office, o Photoshop, o AutoCAD, solo Office, Photoshop ed AutoCAD potranno accedervi. Non il vetrino da puntare, non la manopolina proiettata, non la scrivania.&lt;br /&gt;E il problema non e' certo rimandabile al 2019, ma va affrontato subito, per il semplicissimo fatto che prima di arrivare allo scenario dipinto nel filmato in oggetto sara' necessaria una graduale migrazione dalle tecnologie odierne a quelle prossime venture: e' chiaro che coloro che inizieranno a commercializzare i singoli prodotti che compongono il puzzle dovranno avere la possibilita' in prima istanza di interagire in qualche modo con l'informazione esistente e farsi strada poco alla volta nella vita di tutti i giorni, sia essa quella casalinga o produttiva, ma fintantoche' tale informazione non e' accessibile e manipolabile all'interno di tali nuove interfacce le possibilita' di concretizzazione entro tempi umanamente accettabili sono estremamente scarse.&lt;br /&gt;Dunque: se il video vi e' piaciuto, e non vedete l'ora di utilizzare quotidianamente strumenti di tal fatta, assicuratevi di lasciare campo aperto all'innovazione ed alla penetrazione di tali tecnologie. Pensateci due volte prima di bloccare la vostra informazione (o peggio ancora, l'informazione da condividere con altri) all'interno di files chiusi e non interoperabili.&lt;br /&gt;Partecipate alla costruzione di un futuro che non c'e', ma con il buon senso di tutti potra' essere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-2234476224231149673?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/2234476224231149673/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=2234476224231149673' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2234476224231149673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/2234476224231149673'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/03/un-futuro-che-non-ce.html' title='Un Futuro che Non C&apos;e&apos;'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3822936654724192534</id><published>2009-02-12T21:17:00.002+01:00</published><updated>2009-02-12T23:41:49.389+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><title type='text'>Metodo</title><content type='html'>Da quando ho preso a lavorare per &lt;a href="http://www.itsme.it/"&gt;ItsMe&lt;/a&gt; un nuovo e stravagante mondo mi si e' aperto dinnanzi. Non parlo qui del contenuto del progetto stesso (su cui probabilmente in futuro avro' modo di soffermarmi), ma proprio della metodologia di lavoro con cui i diversi &lt;a href="http://www.itsme.it/news/2009/02/09/we-doubled-our-tech-force/"&gt;componenti del team&lt;/a&gt; di sviluppo interagiscono e si coordinano.&lt;br /&gt;Specifiche, prototipi, diagrammi... Tutti concetti di cui ho forse sentito parlare molto lontanamente ai tempi dell'&lt;a href="http://www.educ.di.unito.it/"&gt;universita'&lt;/a&gt; ma su cui non mi sono mai soffermato, anteponendo ad essi la necessita' immediata: avendo negli ultimi tre anni scritto software ancor prima di sapere cosa dovesse fare, per riuscire a stare dentro a tempistiche e consegne gia' fissate ancora prima di mettere piede per la prima volta nell'ufficio torinese, ho sempre contemplato con distacco e diffidenza i dogmi dettati da questa strana dottrina chiamata &lt;a href="http://it.wikipedia.org/wiki/Ingegneria_del_software"&gt;Ingegneria del Software&lt;/a&gt;, e per abitudine e dimestichezza ho finito col gestire nello stesso modo un po' tutti i progetti con cui ho avuto a che fare sia professionalmente che amatorialmente.&lt;br /&gt;Eppure ora scopro che il tempo passato a progettare e pianificare la propria applicazione, soprattutto se complessa e strutturata e ricca di interazioni, non e' proprio tutto tutto tempo perso.&lt;br /&gt;Certo, non sono tutte rose e fiori: nessuno al mondo mi convincera' mai che uno schema &lt;a href="http://www.omg.org/gettingstarted/what_is_uml.htm"&gt;UML&lt;/a&gt; abbia una qualsivoglia utilita', sia pratica che teorica, e neppure credo che l'"astrazione a tutti i costi" porti ad un approccio sano a quello che, volenti o nolenti, un giorno o l'altro dovra' essere tradotto in codice usando strumenti e librerie fatte in tutt'altro modo rispetto alla rappresentazione concettuale che ci si era fatti. Pero' molto altro si salva dalla mia osservazione critica: in primis il fatto di partire con la propria analisi non gia' dalla struttura del sistema ma da quello che dovra' fare e da cosa ci si aspetta che faccia in determinate condizioni, criterio apparentemente scontato ma non cosi' banale, ed in secundis la volonta' di implementare un prototipo per valutare sul campo l'API disegnata; a tutt'oggi storco un pochino il naso all'idea di scrivere del codice (in &lt;a href="http://python.org"&gt;Python&lt;/a&gt;, oltretutto...) che ha lo scopo di essere buttato dopo una rapida occhiata, ma non nego che tale concetto possa risultare vincente nell'ottica di poter profilare l'architettura basandosi su dati reali anziche' su un disegnino tracciato su un foglio.&lt;br /&gt;Ieri sera, per questioni personali, ho &lt;a href="http://vpslink.com/"&gt;noleggiato&lt;/a&gt; un &lt;a href="http://en.wikipedia.org/wiki/Virtual_private_server"&gt;Virtual Private Server&lt;/a&gt; (cosa che suggerisco a tutti: oramai si pigliano ottime macchine a bassissimo costo, ed avere a disposizione una macchina sempre esposta sull'Internet e' una immensa comodita'), e tra i desideri del prossimo periodo vi e' quello di spostare su di esso lo sviluppo del Progetto Lobotomy: il sito, il repository (quando ci sara' del codice da condividere...), il futuro prototipo web di cui &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/una-idea-e-sempre-una-idea.html"&gt;da tempo parlo&lt;/a&gt;, ma da principio credo che, al pari dei miei colleghi milanesi, installero' una istanza di &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; da usare come collettore di impressioni ed idee, da ordinare poi disciplinatamente e da cui estrarre poi una raccolta di "requirements" da usare come guida e riferimento in fase di definizione del sistema vero e proprio.&lt;br /&gt;E che sia la volta buona che riesco a concretizzare almeno una parte delle infinite idee che ho in merito a tali ciclopica impresa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3822936654724192534?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3822936654724192534/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3822936654724192534' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3822936654724192534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3822936654724192534'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/02/metodo.html' title='Metodo'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-758624010713259167</id><published>2009-02-12T00:29:00.003+01:00</published><updated>2009-02-12T01:23:55.319+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>La Sottile Linea</title><content type='html'>Abbastanza inevitabilmente, dato il mio interesse sia per i progressi nel campo dell'interfaccia uomo-macchina sia per le novita' nel mondo freesoftware, mi trovo a leggere talvolta in merito a &lt;a href="http://www.kde.org/"&gt;KDE4&lt;/a&gt;.&lt;br /&gt;Sorvolando sui commenti piu' o meno soggettivi in merito alla stabilita' del prodotto o alla presunta somiglianza con il non propriamente amato Windows Vista e' interessante vedere come il team del progetto sia proiettato verso la sperimentazione di nuove forme di interazione e presentazione, e l'&lt;a href="http://dot.kde.org/2009/02/11/plasma-team-looks-future"&gt;ultimo bollettino&lt;/a&gt; proveniente dall'ennesimo meeting degli sviluppatori menziona una serie di interventi che si vogliono apportare per perfezionare l'integrazione fra le componenti.&lt;br /&gt;Ma il punto e' proprio questo: al di la' dell'introduzione del &lt;a href="http://labs.trolltech.com/blogs/2009/02/08/qt-kinetic-hits-plasma/"&gt;supporto alle animazioni&lt;/a&gt;, la sommaria integrazione con &lt;a href="http://www.opendesktop.org/"&gt;OpenDesktop&lt;/a&gt;, e la serie di nuovi &lt;a href="http://plasma.kde.org/"&gt;plasmoidi&lt;/a&gt; che man mano vanno ad infoltire il set di quelli con cui l'utente puo' personalizzare, nell'attuale versione 4.2 ed in tutte le possibili evoluzioni annunciate e non, cosa c'e' di realmente nuovo? Quello che dall'intero mondo free viene osannato ed indicato come rivoluzionario e radicale progetto, cos'altro e' se non il solito desktop arricchito da qualche animazione? Persino il team di &lt;a href="http://www.gnome.org/"&gt;Gnome&lt;/a&gt;, environment che da sempre si caratterizza per la coerenza anche fra applicazioni diverse e la pulizia dell'API, sta cedendo alle lusinghe della popolatita' e per non essere da meno a KDE sta includendo deplorevoli &lt;a href="http://video.google.com/videoplay?docid=793477820753124601"&gt;funzionalita'&lt;/a&gt; di dubbio gusto.&lt;br /&gt;So di aver ripetuto questa manfrina piu' di una volta, anche su questo blog, ma ogni qualvolta torno a leggere gli stessi entusiastici commenti rivolti a qualcosa che di entusiasmante ha poco se non gli screenshots torno a riflettere sulla questione: si cerca di elevare un pochino il grado di integrazione reciproca tra le diverse applicazioni, si aggiungono strabilianti features grafiche (che non fanno altro che aggiungere possibilita' di infrangere ogni genere di coerenza tra le applicazioni), eppure la sottile linea che separa l'innovazione dal rimaneggiamento non viene mai oltrepassata.&lt;br /&gt;Mi capacito del fatto che tale linea, in fin dei conti, tanto "sottile" non e', in quanto implicherebbe una riscrittura drastica dell'intero concetto di "computer general purpose con una interfaccia grafica", ma chiaramente ci si trova sempre a scontrarsi con l'abitudine della becera utenza e l'impossibilita' di diffondere agevolmente presso la massa elementi di novita'.&lt;br /&gt;Ah, ho una gran voglia di tornare a lavorare su Lobotomy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-758624010713259167?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/758624010713259167/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=758624010713259167' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/758624010713259167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/758624010713259167'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/02/la-sottile-linea.html' title='La Sottile Linea'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1063096292801806473</id><published>2009-02-07T00:11:00.003+01:00</published><updated>2009-02-07T01:16:04.337+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Ma il Multitouch...</title><content type='html'>Da lungo tempo, e soprattutto da quando l'iPhone rappresenta uno dei maggiori centri di gravita' dell'informazione spiccia tecnologica, si fa un gran parlare di &lt;a href="http://www.youtube.com/watch?v=7220x2uIv54"&gt;multitouch&lt;/a&gt;. Ogniqualvolta esce un nuovo dispositivo, in particolare mobile, uno dei primi criteri di valutazione e' il suo supporto a tale meccanismo di input: se e' possibile usare piu' dita per manipolare l'interfaccia e' figo, altrimenti no.&lt;br /&gt;Poco tempo addietro ho marginalmente &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/una-idea-rimane-una-idea.html"&gt;toccato&lt;/a&gt; l'argomento facendo notare che ancora non avevo espresso un mio parere completo nei confronti di tale strumento, ed e' venuto il momento di approfondire.&lt;br /&gt;Quando vidi il primo (o comunque il piu' noto) &lt;a href="http://www.ted.com/index.php/talks/jeff_han_demos_his_breakthrough_touchscreen.html"&gt;video&lt;/a&gt; in cui veniva mostrata una interfaccia di tal fatta ne rimasi come tutti entusiasta, anche se chiaramente la maggior parte della mia ammirazione derivava dalla novita' e dalla teatralita' dell'effetto in se'. Da allora altri filmati sono spuntati in Rete a decine, a centinaia, in ogni dove, in cui si vedevano persone che navigavano mappe, ridimensionavano e spostavano foto, e... Beh, nulla di piu'.&lt;br /&gt;Alla fine e' evidente che allo stato odierno la tecnologia c'e', ma non ne esiste alcun utilizzo pratico: certamente questa e' solo una impressione dettata dal fatto che la stragrande maggioranza dei demo puntano a stupire l'utente medio, ed il software per trattare il ridimensionamento delle immagini allontanando ed avvicinando le dita e' sufficientemente banale (di librerie, anche open, che permettono di farlo &lt;a href="http://wiki.nuigroup.com/Applications_and_libraries"&gt;e' pieno&lt;/a&gt;) da garantire un bel risultato scenografico con un minimo sforzo, ma finche' non esistera' una innovazione che renda codesto meccanismo realmente appetibile temo che cio' restera' semplicemente un decorativo orpello da nerd ed una strategia di marketing.&lt;br /&gt;Gia' ce n'e' voluto del buono per ottenere qualche progresso nella fase di studio per un paradigma di user interface adatto al touchscreen, e comunque siamo ancora lontani da un risultato ottimale; figuriamoci quanto si dovra' attendere prima che il multitouch diventi parte integrante di tale paradigma. Ed io stesso non riesco a figurarmi particolari funzionalita' speciali che potrebbero essere implementate solo in virtu' del tocco multiplo.&lt;br /&gt;Dunque: al momento non mi faccio particolarmente impressionare quando nel corso di una presentazione l'imbonitore di turno orgogliosamente fa vedere le sue agili ditina andare parallelamente su e giu' sullo schermo, e neppure mi curo del fatto che un tale apparato abbia o meno tale supporto hardware. Di strada da fare prima di arrivare a quello ce n'e' ancora tanta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1063096292801806473?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1063096292801806473/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1063096292801806473' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1063096292801806473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1063096292801806473'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/02/ma-il-multitouch.html' title='Ma il Multitouch...'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1077173778192203663</id><published>2009-01-29T00:26:00.003+01:00</published><updated>2009-01-30T23:18:57.502+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Divide et Impera</title><content type='html'>Oramai ho cosi' tanti e variegati impegni che finiscono col sovrapporsi l'un l'altro secondo i piu' arzigogolati percorsi, ma cio' ha il lato positivo che con un singolo task ottengo piu' risultati utili per contesti completamente diversi. E' questo il caso del modestissimo progettino (sarebbe meglio chiamarlo "giocattolo") che ho aperto l'altro giorno su &lt;a href="http://barberaware.org/"&gt;BarberaWare&lt;/a&gt;: &lt;a href="http://mignon.barberaware.org/"&gt;Mignon&lt;/a&gt;, un client per le webradio.&lt;br /&gt;In un colpo solo ho ottenuto: un playground ove iniziare a pacioccare e a prender mano con &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;, orribile ed ingestibile linguaggio che mi tocca apprendere per assolvere ad alcune richieste del mio nuovo prossimo lavoro; un programmino da eseguire prossimamente nel PC recentemente installato in cucina, e con cui ascoltare il giornale radio cenando pur senza dover portare a spasso il laptop come attualmente faccio; una prima implementazione sperimentale di un concetto che &lt;a href="http://lobotomy-dev.blogspot.com/2008/08/modulare-by-design.html"&gt;gia' riportai&lt;/a&gt; su questo blog, in merito alla netta divisione di funzionalita' ed interfaccia del software. Sorvolo qui sulle invettive all'indecente linguaggio sopra menzionato ed alle mie abitudini domestiche, mentre mi soffermo su qualche considerazione in merito all'ultimo punto (l'unico dei tre in-topic su questo blog), forse banale e non particolarmente ricca a causa della modestia della mia attuale esperienza ma che quantomeno riporto per conoscenza.&lt;br /&gt;Sviluppare una applicazione ove funzionalita' e interfaccia sono distinte non e' complesso, quantomeno non piu' che non progettare e realizzare un qualsiasi altro software con un po' di criterio: l'unico elemento cui probabilmente occorre prestare particolare attenzione e' la quantita' e la frequenza degli scambi di informazione tra i due strati: avendo a che fare con un protocollo IPC (che sia &lt;a href="http://dbus.freedesktop.org/"&gt;DBus&lt;/a&gt; o una &lt;a href="http://en.wikipedia.org/wiki/Message_queue"&gt;coda di messaggi&lt;/a&gt; poco importa, sempre un qualche tipo di syscall esplicito o implicito e' necessario) meno memoria si sposta e meglio e', e le risposte non possono essere ne' istantanee ne' in realtime come all'interno di un unico processo. Di contro, come ci si puo' bene immaginare la flessibilita' della piattaforma e' completa: al momento il mio modesto programmino dispone solo di una umile interfaccia a linea di comando, ma gia' sto progettando di realizzare quella grafica in &lt;a href="http://www.qtsoftware.com/"&gt;QT&lt;/a&gt; (altra tecnologia che mi tocca apprendere per intraprendere il mio nuovo mestiere) e quella web senza intaccare minimamente il core dedito all'interrogazione dei vari &lt;a href="http://www.shoutcast.com/"&gt;servizi di&lt;/a&gt; &lt;a href="http://www.icecast.org/"&gt;directory&lt;/a&gt; dei canali radio e alla riproduzione audio.&lt;br /&gt;In sostanza: il paradigma mi garba e mi sembra utilizzabile senza particolare sforzo.&lt;br /&gt;Un colpo al cerchio ed uno alla botte, alla fine qualcosa riesco sempre a combinare...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1077173778192203663?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1077173778192203663/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1077173778192203663' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1077173778192203663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1077173778192203663'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/divide-et-impera.html' title='Divide et Impera'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5448168746121929187</id><published>2009-01-19T00:11:00.004+01:00</published><updated>2009-01-19T01:02:09.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Canale Libero</title><content type='html'>Gia' da qualche tempo avevo scoperto &lt;a href="http://identi.ca/"&gt;identi.ca&lt;/a&gt;, servizio di &lt;a href="http://en.wikipedia.org/wiki/Microblogging"&gt;microblogging&lt;/a&gt; in tutto e per tutto simile a &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; ma la cui &lt;a href="http://laconi.ca/"&gt;piattaforma&lt;/a&gt; e' interamente opensource e costruita intorno a standard aperti. Ma all'epoca mancavano ancora tanti servizi e tante features, quelle che rendono davvero utile (se davvero il microblogging puo' essere definito "utile"...) una applicazione del genere, cosi' lasciai perdere e &lt;a href="http://twitter.com/madbob"&gt;rimasi&lt;/a&gt; sul piu' noto e supportato Twitter.&lt;br /&gt;Questa sera per qualche strano motivo sono tornato a dare uno sguardo al sito, ed ho visto che grandissimi passi avanti sono stati fatti: molte piu' funzionalita', una serie di correzioni piu' o meno evidenti, ed un numero di &lt;a href="http://laconi.ca/trac/wiki/Apps"&gt;applicazioni&lt;/a&gt; che sfruttano i contenuti pubblicati per mezzo del servizio per trasformarli in mille modi. E cosi', dopo una mezz'oretta passata a ritoccare qua e la', sono riuscito a ricostruire la catena di strumenti da me usata: con &lt;a href="https://wiki.mozilla.org/Labs/Ubiquity/"&gt;Ubiquity&lt;/a&gt; &lt;a href="http://bobbo.me.uk/code/ubiquity/"&gt;aggiungo&lt;/a&gt; nuovi "post" nella &lt;a href="http://identi.ca/madbob"&gt;mia pagina&lt;/a&gt;, una &lt;a href="http://www.facebook.com/apps/application.php?id=29521195395"&gt;applicazione dedicata&lt;/a&gt; li piglia e li usa per aggiornare il mio status su &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;, ed un'altro &lt;a href="http://feed2js.org/"&gt;servizio&lt;/a&gt; preleva il &lt;a href="http://identi.ca/madbob/rss"&gt;feed RSS&lt;/a&gt; e ne ricava il bagde visualizzato nel &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;mio blog&lt;/a&gt;.&lt;br /&gt;Per quanto identi.ca non raggiungera' forse mai la popolarita' di Twitter (ma non e' detto: spesso quest'ultimo e' fuori servizio, e la prossima messa a punto del suo businness model potrebbero renderlo meno aperto verso gli innumerevoli servizi esterni forniti) e' bello vedere che una community abbia realizzato tutto questo, soprattutto alla luce degli avvenimenti recenti: sempre piu' pressioni si fanno per adoperare e far adoperare standard aperti sull'Internet in modo da garantire interoperabilita' tra le piattaforme, e non pochi sono coloro che sostengono l'utilizzo di software a codice aperto anche sul web in modo da stimolare la nascita di sempre nuovi e ricchi strumenti non solo da parte dei colossi (che in questo periodo di crisi certo non hanno troppi soldi da creare e mantenere iniziative eccessivamente stravaganti) ma anche e soprattutto per mezzo di volontari col pallino per la programmazione; persino &lt;a href="http://google.com"&gt;Google&lt;/a&gt; sta &lt;a href="http://google-code-updates.blogspot.com/2009/01/changes-for-jaiku-and-farewell-to.html"&gt;ponderando&lt;/a&gt; il rilascio del codice di &lt;a href="http://jaiku.com/"&gt;Jaiku&lt;/a&gt;, altro sito di microblogging spesso identificato come l'anti-Twitter, a fronte dell'eccessivo carico di risorse necessarie per mandare avanti la baracca.&lt;br /&gt;E da oggi anche le mie microfacezie sono free as in speech...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5448168746121929187?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5448168746121929187/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5448168746121929187' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5448168746121929187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5448168746121929187'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/canale-libero.html' title='Canale Libero'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5834736463955577676</id><published>2009-01-16T00:10:00.003+01:00</published><updated>2009-01-16T01:07:11.862+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Tooltip o non Tooltip</title><content type='html'>Da qualche tempo sto sperimentando all'interno di &lt;a href="http://gasdotto.barberaware.org/"&gt;GASdotto&lt;/a&gt; una soluzione che, nell'idea, dovrebbe essere un compromesso per l'esposizione di un help contestuale da fornire all'utente per permettergli di muoversi tra le opzioni offerte dall'interfaccia.&lt;br /&gt;Partiamo da qualche assunzione: per quanto le icone possano rappresentare un &lt;a href="http://en.wikipedia.org/wiki/Iconicity"&gt;bell'aiuto&lt;/a&gt; in termini di individuazione dei tasti e delle funzionalita' desiderate in ogni momento, purtroppo non sempre possono essere universalmente autoesplicative e comunque l'utente, almeno la prima volta che vede l'interfaccia, non ha idea di dove trovare cosa e non si puo' dunque giocare sulla sua consuetudine. Soprattutto in un programma (come appunto GASdotto) destinato ad essere usato saltuariamente, senza una frequenza costante, e per cui dunque ogni nozione appresa dall'utente puo' essersi persa nell'intervallo tra una sessione e l'altra.&lt;br /&gt;Una qualche sorta di aiuto contestuale che guidi e sostenga l'utente nell'utilizzo e' pressoche' d'obbligo, sebbene sia indispensabile raggiungere un compromesso affinche' tale help in linea sia efficace ma non risulti &lt;a href="http://www.thehumorarchives.com/joke/Kill_clippy"&gt;invasivo&lt;/a&gt;.&lt;br /&gt;Quel che e' quasi uno standard de facto in tale contesto, almeno sul desktop, sono i &lt;a href="http://en.wikipedia.org/wiki/Tooltip"&gt;tooltips&lt;/a&gt;, ovvero quelle frasette che appaiono passando e soffermando il cursore del mouse sull'elemento di cui si vuol conoscere la funzione. Tale metodo, pero', mi pare estremamente poco efficiente e prono ad ogni genere di abuso: ci sono tooltips lunghi venti righe che includono tutto lo scibile in merito al dato tasto, altri che non riportarno null'altro se non il testo del pulsante stesso (risultando percio' poco informativi...), ma la situazione peggiore in assoluto (nonche' la piu' comune) si verifica quando solo alcuni elementi sono forniti di un tooltip ed altri no: quante volte e' capitato a me stesso di constatare la presenza della finestrella gialla in sovraimpressione passando in un dato punto, spostare il mouse laddove mi serviva, attendere un istante la comparsa della descrizione, muovere ancora un poco il cursore per essere ben certo di aver centrato il tasto di cui avrei gradito un commento, ed alla fine capacitarmi del fatto che nessun tip era disponibile per quello!&lt;br /&gt;La soluzione da me adottata trae ispirazione dalla piu' recente versione di &lt;a href="http://wordpress.com/"&gt;Wordpress&lt;/a&gt;: editando uno dei numerosi blogs che mantengo su tale piattaforma ho visto come passando il mouse sui titoli dei posts che appaiono nella lista di articoli modificabili spuntino i links che ne permettono la correzione, la cancellazione ed altre attivita', tutte opzioni che se visualizzate tutte insieme avrebbero appesantito la pagina ma in questo modo risultano comodamente raggiungibili e molto facilmente "scopribili". Per il prossimo futuro vorrei meglio analizzare questo approccio, ma per adesso mi sono limitato a scopiazzarlo impunemente per trattare, come detto sinora, l'help.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="149" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2739578&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2739578&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="149" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Per accertarmi che ogni utente sapesse come comportarsi nei confronti delle tre icone associate ad ogni elemento editabile (salva, elimina, o annulla operazione) ho pensato di piazzarvi sotto una descrizione che apparisse solo al passaggio del cursore del mouse, affinche' il testo non andasse ad incidere sulla linearita' della pagina ma al contempo fosse visibile nel momento opportuno.&lt;br /&gt;Sono abbastanza soddisfatto di questa soluzione anche se ammetto necessiti forse di migliore implementazione (il codice e' talmente elementare che non sto manco a pubblicarlo), cerchero' di riutilizzarla anche in altri contesti per valutare la sua bonta'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5834736463955577676?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5834736463955577676/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5834736463955577676' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5834736463955577676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5834736463955577676'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/tooltip-o-non-tooltip.html' title='Tooltip o non Tooltip'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5063855864658830400</id><published>2009-01-11T02:59:00.003+01:00</published><updated>2009-01-11T04:04:11.960+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Una Idea... Rimane una Idea</title><content type='html'>Dopo aver visto il &lt;a href="http://www.palm.com/us/products/phones/pre/pre-ces.html"&gt;video integrale&lt;/a&gt; del keynote in cui e' stato presentato il &lt;a href="http://arstechnica.com/news.ars/post/20090108-palm-launches-new-handset-pre-operating-system-at-ces.html"&gt;nuovo sistema Palm&lt;/a&gt;, ed avere avuto nuova conferma che le fonti di informazione spesso risultano eccessivamente fuorvianti ed e' indispensabile ricorrere a news di prima mano, inevitabilmente stendo un seguito al &lt;a href="http://lobotomy-dev.blogspot.com/2009/01/una-idea-e-sempre-una-idea.html"&gt;post di ieri&lt;/a&gt; aggiustando la mira.&lt;br /&gt;E' vero che l'intera piattaforma e' costruita su tecnologie web, ma falso che i dati saranno cosi' tanto integrati quanto lasciato intendere negli entusiastici dispacci giunti dal &lt;a href="http://www.cesweb.org/"&gt;CES&lt;/a&gt; (fiera tecnologica in cui il Pre' e' stato presentato).&lt;br /&gt;Piu' nel dettaglio, di seguito le impressioni che mi sono fatto.&lt;br /&gt;&lt;br /&gt;Idee vecchie fatte passare per grandi innovazioni, e/o autentiche fesserie:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;liste che scrollano con l'attrito, foto che si scorrono spostando il dito a destra e a sinistra, zoom delle pagine web, rotazione automatica dello schermo... Le solite menate cui il pubblico applaude senza un motivo preciso, mi sa che anche nei grandi eventi fieristici ci sono gli omini che sollevano il cartello "Applausi" come negli studi televisivi...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;interfaccia multi-touch: molto carina da far vedere nel corso dei keynote dinnanzi ad una folla di geek ma gia' popolarizzata da Apple e a parer mio poco usabile all'atto pratico. Mi accorgo adesso di non aver mai parlato su questo blog del mio parere in merito ai multi-touch, dovro' farlo prossimamente&lt;/li&gt;&lt;li&gt;sincronizzazione con servizi web: qui sta il nocciolo della decantata fusione ed astrazione tra i dati che mi aveva fatto pensare ad un plagio delle &lt;a href="http://lobotomy.sourceforge.net/docs/Thoughts.html"&gt;mie idee&lt;/a&gt;, ma molto piu' banalmente l'apparecchio gestisce in modo unificato le mail che arrivano da piu' accounts o gli eventi che arrivano da diversi calendar o i contatti i cui frammenti di informazione arrivano da sorgenti sparpagliate. Nulla di cosi' rivoluzionario, anzi era ora che si provvedesse ad un wrapper decente dei numerosi servizi web e ad una interfaccia comune per tutti, anche se mi perplime immensamente il fatto che sta' baracca sia particolarmente integrata con &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt;: ai fatti sara' poi possibile aggiungere nuovi moduli per wrappare anche altri servizi di mail, calendar e contatti, o &lt;a href="http://gmail.com"&gt;GMail&lt;/a&gt; e Facebook sono inclusi e gli altri si attaccano al tram?&lt;/li&gt;&lt;li&gt;totale incoerenza delle applicazioni: una ha particolari colori, un'altra ne usa altri, tasti decorati in un modo qui, tasti decorati in un'altro modo la'. E' evidente che ogni sviluppatore potra' personalizzare l'aspetto del proprio programma come gli garba, nel bene e nel male&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Idee carine e/o molto azzeccate:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;la discriminazione tra notifiche semplici e notifiche grandi: in alcuni casi basta passare all'utente una stringa che apparira' nell'apposita area per le notifiche discretamente piazzata al fondo dello schermo, in altri urge adottare una interfaccia piu' complessa, in entrambi i casi l'attivita' corrente non viene interrotta o disturbata piu' di tanto&lt;/li&gt;&lt;li&gt;task management: sebbene non mi strappi i capelli gridando al miracolo e' stato comunque implementato decorosamente il meccanismo per aprire nuove applicazioni, passare da una all'altra, e chiuderle. Il rinomato paradigma delle "cards" si risolve in una lista di finestrelle che si possono scorrere e riordinare (non si capisce per quale motivo lo si dovrebbe fare...)&lt;/li&gt;&lt;li&gt;interfaccia a scomparsa: nel caso del Pre' e' stata implementata solo in quella che potrebbe essere definita l'equivalente della taskbar, ovvero una barretta invisibile che compare (con una bellissima quanto inutile animazione) con una particolare gesture e permette di ricondurre rapidamente ad una applicazione gia' aperta, ma di per se' il concetto di avere porzioni di interfaccia che compaiono solo su richiesta e solo per il tempo necessario per scorrere col dito sulla funzionalita' desiderata non e' malaccio. Ci dovro' fare un pensiero...&lt;/li&gt;&lt;/ul&gt;Nel complesso la mia curiosita' nei confronti della piattaforma rimane immutato, anche se devo rimangiarmi quanto precedentemente affermato in merito alla gia' menzionata questione dell'interpretazione e manipolazione universale dei dati. Il mondo non e' ancora pronto a trattare ogni frammento di informazione in modo flessibile, come al solito dovro' far da solo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5063855864658830400?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5063855864658830400/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5063855864658830400' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5063855864658830400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5063855864658830400'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/una-idea-rimane-una-idea.html' title='Una Idea... Rimane una Idea'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-921373803694268709</id><published>2009-01-09T17:47:00.006+01:00</published><updated>2009-01-09T21:41:47.383+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='lobotomy'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Una Idea e' Sempre una Idea</title><content type='html'>Vi e' mai capitato di avere una idea per qualcosa di completamente nuovo, mai visto prima, e dopo pochi giorni vedere l'annuncio di qualcuno che sta facendo quella stessa cosa? A me si, anche piuttosto di sovente, ma mai ho percepito il plagio come in questa occasione.&lt;br /&gt;&lt;br /&gt;Nei tempi passati ho su &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;questo blog&lt;/a&gt; &lt;a href="http://lobotomy-dev.blogspot.com/2008/09/crisi-di-identita.html"&gt;fatto&lt;/a&gt; &lt;a href="http://lobotomy-dev.blogspot.com/2008/09/larchitettura-di-eyeos.html"&gt;cenno&lt;/a&gt; ad un mio proposito per i prossimi sviluppi del Progetto Lobotomy, anche se non ho mai approfondito sia a causa dello scarso tempo a disposizione per ponderare sull'intuizione ed esprimermi qui sia per il desiderio di provare ad implementare uno straccio di modello sperimentale prima di fare annunci in pompa magna. In sostanza, quel che avevo in mente era di costruire una sorta di prototipo del modello descritto nell'&lt;a href="http://lobotomy-dev.blogspot.com/2008/08/thoughts.html"&gt;ultimo documento&lt;/a&gt; di definizione dell'interfaccia di Lobotomy usando strumenti web, magari lo stesso &lt;a href="http://code.google.com/intl/it/webtoolkit/"&gt;Web Toolkit&lt;/a&gt; con cui da qualche tempo nel bene e nel male &lt;a href="http://lobotomy-dev.blogspot.com/2008/12/usabilita-e-computazione.html"&gt;lavoro&lt;/a&gt; impratichendomi sempre piu', onde accellerare lo sviluppo e verificare se tale soluzione potesse essere adottata anche in via definitiva nell'implementazione finale del sistema, portando di fatto alla realizzazione di una interfaccia pienamente integrata con l'Internet, di rapido sviluppo e velocemente adattabile al mondo desktop ed a quello mobile senza troppi stravolgimenti.&lt;br /&gt;Ci ho pensato un po', mi sono &lt;a href="http://lobotomy-dev.blogspot.com/2008/11/strappando-la-rete.html"&gt;interessato&lt;/a&gt; a tutti i piu' recenti strumenti che avessero potuto essere usati a tale scopo, ho iniziato a pensare a riutilizzare un po' del codice e dei concetti sinora strutturati per &lt;a href="http://barberaware.org/projects/gasdotto/"&gt;GASdotto&lt;/a&gt;, ed oggi... Leggo su &lt;a href="http://osnews.com/"&gt;OSNews&lt;/a&gt; che, in modo del tutto imprevedibile, &lt;a href="http://osnews.com/story/20747/Palm_s_Card-Based_Interface_Paradigm"&gt;Palm presenta&lt;/a&gt; sul mercato con una cosa identica.&lt;br /&gt;&lt;br /&gt;Un nuovo sistema operativo, una interfaccia completamente costruita su tecnologie web, la possibilita' di integrare i propri componenti in HTML, CSS e Javascript.&lt;br /&gt;Ma se la similitudine al mio pensiero si limitasse solo a quello lo potrei accettare: l'idea di usare gli oramai potentissimi strumenti per la Rete per implementare una soluzione destkop non e' nuova, i &lt;a href="http://en.wikipedia.org/wiki/Web_desktop"&gt;web desktop&lt;/a&gt; esistono da anni e numerosi sono stati i tentativi di integrare locale con remoto. Quel che realmente mi suona ancor piu' famigliare e' l'architettura del nuovo ambiente introdotto da Palm per i suoi dispositivi mobile.&lt;br /&gt;Leggo dall'articolo:&lt;br /&gt;&lt;blockquote&gt;The fact that smartphones today are all application-centric shows where their software comes from and where their roots lie: the desktop operating system.    Palm is changing all this with its card-based interface, where the application is irrelevant - it's all about the task.&lt;/blockquote&gt;Per farla breve: niente applicazioni standalone, solo delle interfacce (da loro chiamate "cards") da applicare ai dati per interagire con essi. Ne' piu' ne' meno di quanto &lt;a href="http://lobotomy.sourceforge.net/docs/Thoughts.html"&gt;io scrissi&lt;/a&gt; mesi fa' immaginando il metodo ideale per ottenere il massimo dell'integrazione e dell'estensibilita' con il minimo sforzo.&lt;br /&gt;&lt;br /&gt;Che ci sia qualche ingegnere &lt;a href="http://www.palm.com/"&gt;Palm&lt;/a&gt; che comprende l'italiano e legge il mio blog?&lt;br /&gt;&lt;br /&gt;Ad ogni modo, sorvolando su improbabili plagi e scopiazzature, sono ben lieto di vedere che qualcuno abbia avuto la mia stessa visione, e che questo qualcuno non sia il primo che passa ma anzi un affermato colosso: evidentemente non sono tutte campate per aria le mie supposizioni. Non mi resta che attendere di dare una occhiata a quello che sara' il prossimo SDK (e certamente ce ne sara' uno, se Palm intende far concorrenza all'iPhone inevitabilmente permettera' a tutti di lavorare su software addizionale che arricchiscano la piattaforma) e vedere in che modo e' stata stabilita l'interfaccia verso il sistema, cosa viene lasciato alla discrezione del developer e cosa e' implicito nella struttura stessa, e come le "cards" interagiscono tra loro e con il contenitore che le circonda.&lt;br /&gt;&lt;br /&gt;Ah, non avessi tutti questi impegni e potessi dedicarmi integralmente a Lobotomy per un po'... Ma, se potessi &lt;a href="http://www.italica.rai.it/index.php?categoria=musica&amp;amp;scheda=canzone_gaber_idea"&gt;mangiare un'idea&lt;/a&gt;, avrei fatto la mia rivoluzione...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-921373803694268709?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/921373803694268709/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=921373803694268709' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/921373803694268709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/921373803694268709'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/una-idea-e-sempre-una-idea.html' title='Una Idea e&apos; Sempre una Idea'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-351218465381660766</id><published>2009-01-04T03:30:00.004+01:00</published><updated>2009-01-05T01:36:59.290+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Utenti Ribelli</title><content type='html'>Che gli utenti facciano sempre il contrario di quanto dovrebbero fare per un corretto uso degli strumenti informatici e' cosa gia' detta e risaputa, ma talvolta incorro in episodi che mi lasciano interdetto.&lt;br /&gt;&lt;br /&gt;L'aneddoto di oggi: in questi giorni sto passando il tempo realizzando &lt;a href="http://gasdotto.barberaware.org/"&gt;un applicativo web&lt;/a&gt; che ha lo scopo di semplificare ed automatizzare le operazioni di gestione e manutenzione di un GAS (&lt;a href="http://it.wikipedia.org/wiki/Gruppo_di_acquisto_solidale"&gt;Gruppo di Acquisto Solidale&lt;/a&gt;), permettendo ai responsabili di definire gli ordini per i vari fornitori e agli altri membri di avanzare richieste per tre chili di carne di vitello con certificazione biologica o una latta di olio extravergine siciliano.&lt;br /&gt;Questa sera, dopo aver caricato online la prima demo dimostrativa da far provare ai miei collaboratori (e di cui non pubblico l'URL: e' ad uno stato talmente primordiale di sviluppo che finirei solo col fare una figuraccia se la si vedesse...), ho fatto un giretto sulla Rete e sono involontariamente incappato nel &lt;a href="http://gasavigliana.blogspot.com/"&gt;blog&lt;/a&gt; del GAS di &lt;a href="http://maps.google.com/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=avigliana&amp;amp;sll=44.814521,8.855315&amp;amp;sspn=0.053338,0.109177&amp;amp;g=avigliana&amp;amp;ie=UTF8&amp;amp;ll=45.09461,7.396545&amp;amp;spn=0.106156,0.218353&amp;amp;z=12"&gt;Avigliana&lt;/a&gt;, ridente paesello a poca distanza da Torino. Scorro rapidamente i post, e noto che essi hanno adottato come soluzione gestionale un tal &lt;a href="http://www.progettoe3g.org/index.php?option=com_content&amp;amp;task=view&amp;amp;id=14&amp;amp;Itemid=29"&gt;GestiGAS&lt;/a&gt;, applicativo nelle finalita' analogo a quello di cui mi sto occupando ed altrettanto freesoftware ma risultato (tanto per cambiare...) eccessivamente ostico ed inopportuno nell'utilizzo da parte di persone con scarsissima dimestichezza col computer, come appunto la maggior parte dei membri dei gruppi di acquisto.&lt;br /&gt;Fatto sta che scendendo di poco nella pagina trovo, in mezzo alle &lt;a href="http://gasavigliana.blogspot.com/2009/01/arance-naveline-tarocco-e-limoni-2.html"&gt;altri frasi&lt;/a&gt; ed al termine della descrizione di una serie di prodotti, una frase in verde isterico e con carattere ingrandito: &lt;blockquote&gt;CONCLUDENDO .... compito delle vacanze: andate su gestigas (sigh!) ed inserite le vostre prenotazioni!!!&lt;/blockquote&gt;Mi son chiesto il perche' di quel "sigh" tra parentesi, e sono andato a leggere &lt;a href="https://www.blogger.com/comment.g?blogID=5222540409122039989&amp;amp;postID=5077223653596229687"&gt;i commenti&lt;/a&gt; del post: ben quattro persone hanno riportato le loro richieste di arance e limoni direttamente sul sito, totalmente incuranti dell'esistenza di un form da compilare. Ho guardato i commenti di tutti gli altri post, ed in tutti appariva la stessa cosa: sfilze di richieste immesse da individui che hanno ritenuto piu' conveniente scrivere in una frase sulla bacheca pubblica quel che desideravano anziche' aprire un'altro sito, autenticarsi, cercare la pagina relativa all'ordine ed inserire i valori nei campi giusti. Con buona pace del tapino che di volta in volta deve andare a controllare cosa e' stato scritto e da chi (dovendo poi richiedere conferma via mail o telefono, in quanto la stragrande maggioranza di tali commenti riportano il nome del committente ma sono inseriti senza autenticazione, anonimi da un punto di vista digitale, e dunque potenzialmente fasulli), e riordinare il tutto prima di contattare l'allevare o l'agricoltore di turno e sapere cosa dirgli badando di non sbagliare nel farsi mandare qualche cassetta di agrumi di troppo che poi non si sa a chi rifilare.&lt;br /&gt;&lt;br /&gt;Esiste modo di ovviare a cotanto sperpero di strumentazioni tecnologiche e a siffatta pigrizia da parte dell'ingenuo consumatore equosolidale e velleitariamente consapevole? La risposta e' "no".&lt;br /&gt;O meglio: non v'e' modo di convincere l'utente a fare la cosa che andrebbe fatta (ovvero: mettere la quantita' di cassette di arance che vuole nella casellina del form, in modo da avere alla fine informazioni precise e puntuali), per tante motivazioni: la consueta ed oramai scontata resistenza dinnanzi a qualcosa che vada al di la' della sua abitudine ("E' troppo complesso, non sono capace", detto solitamente ancora prima che qualcuno gli spieghi il comportamento che dovrebbe tenere), l'effettiva incapacita' nello svolgere il task (questo molto dipende da quanto e' ben fatta l'interfaccia davanti cui si trova, se non e' assolutamente chiaro qual'e' il percorso virtuale di tasti e pannelli da affrontare per arrivare alla casella da riempire per avere delle arance e' facile che ci si trovi da tutt'altra parte ed alla lunga si desista), e sopra ogni altra cosa l'innata pigrizia che caratterizza una buona percentuale della popolazione, in particolare quella italiana.&lt;br /&gt;Ma, in fin dei conti, se Maometto non va alla montagna la montagna va da Maometto: basta saper uscire dai soliti schemi, quelli per cui il programma e' quello che si vede nella relativa finestra sul monitor (o al relativo URL, nel caso del web) e basta. Se l'utente non va all'applicazione, l'applicazione andra' dall'utente: da ieri sera contemplo la pagina di documentazione dell'API &lt;a href="http://code.google.com/intl/it/apis/gadgets/"&gt;Gadgets&lt;/a&gt; provvista da &lt;a href="http://code.google.com/"&gt;Google&lt;/a&gt;, con l'idea di realizzare una versione ridotta e "embeddabile" del mio modesto software in &lt;a href="http://www.google.com/ig"&gt;iGoogle&lt;/a&gt;, &lt;a href="http://blogger.com/"&gt;Blogger&lt;/a&gt; ed altre piattaforme simili e compatibili. Scopo del gioco: rendere trasparente l'interazione con il programma, e mettere a portata di mouse i pochi tasti necessari ad avanzare la propria richiesta di una cassetta di arance affinche' risulti ancor piu' rapido e conveniente che non scrivere una mail o lasciare un commento nel blog. Gestendo in modo opportuno autenticazioni (da richiedere il minor numero di volte possibili), links (fatti apposta per identificare sia l'utente che un determinato prodotto con hash salvati a monte sul database in modo da poterne invertire il significato) ed una serie ristretta di informazioni rilevanti per l'utente, il gestionale esce dalla sua sede e va a mettersi proprio sotto gli occhi di chi deve usarlo.&lt;br /&gt;&lt;br /&gt;Partito come un semplice favore da fare ad un amico e come pretesto per affinare l'utilizzo delle tecnologie di sviluppo web, questo lavoretto sta poco alla volta rivelandosi una succosa sfida tra me ed una pletora di personaggi con una scarsissima voglia di collaborare.&lt;br /&gt;Riuscira' il vostro eroe a realizzare un software che sia realmente utilizzato ed amato da individui con competenze tecniche pari a quelle di una zucchina (rigorosamente biologica)?. A noi non e' dato sapere cio' che il destino gia' sa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-351218465381660766?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/351218465381660766/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=351218465381660766' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/351218465381660766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/351218465381660766'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/utenti-ribelli.html' title='Utenti Ribelli'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3461823449269474028</id><published>2009-01-02T13:29:00.003+01:00</published><updated>2009-01-02T14:33:52.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Snippets</title><content type='html'>Gia' mi son ripromesso di farlo &lt;a href="http://lobotomy-dev.blogspot.com/2007/08/click.html"&gt;piu' di&lt;/a&gt; &lt;a href="http://lobotomy-dev.blogspot.com/2007/06/ciak-motore-azione.html"&gt;una volta&lt;/a&gt;, ma cavalcando l'onda di entusiasmo e buona volonta' che ha accompagnato l'inizio del nuovo anno mi ci son messo davvero. In realta' unisco una idea vecchia ad una nuova: quella di arricchire la comunicazione con il mondo esterno con il supporto di contenuti multimediali (foto e video), e quella di impegnarmi per meglio ingegnerizzare frammenti di codice ideati per le mie opere ma che siano facilmente riutilizzabili da chiunque.&lt;br /&gt;Ho or ora attivato &lt;a href="http://vimeo.com/user1103680/"&gt;un account&lt;/a&gt; su &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt; (dopo aver provato con scarsa soddisfazione &lt;a href="http://youtube.com/"&gt;YouTube&lt;/a&gt;), e vi ho caricato un primo &lt;a href="http://vimeo.com/2696229"&gt;video dimostrativo&lt;/a&gt; di &lt;a href="http://barberaware.org/snippet/detail.php?type=snippet&amp;amp;id=13"&gt;una classe&lt;/a&gt; per &lt;a href="http://code.google.com/intl/it/webtoolkit/"&gt;GWT&lt;/a&gt; che pubblicai qualche tempo addietro su &lt;a href="http://barberaware.org/"&gt;BarberaWare&lt;/a&gt; e che ho preso ad utilizzare con regolarita' nelle mie applicazioni web.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2696229&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2696229&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="300" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Suddetta classe implementa un concetto piu' volte ritrovato &lt;a href="http://humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/"&gt;nel blog&lt;/a&gt; di &lt;a href="http://humanized.com/"&gt;Humanized&lt;/a&gt; e di &lt;a href="http://www.azarask.in/blog/"&gt;Aza Raskin&lt;/a&gt;, nonche' implementato con discreto successo in &lt;a href="http://songza.com/"&gt;Songza&lt;/a&gt; ed in &lt;a href="http://amarok.kde.org/"&gt;Amarok&lt;/a&gt; (sotto il nome di OSD, &lt;a href="http://docs.kde.org/development/en/extragear-multimedia/amarok/configure-osd.html"&gt;On-Screen Display&lt;/a&gt;): evitare i &lt;a href="http://en.wikipedia.org/wiki/Modal_window"&gt;dialog modali&lt;/a&gt; e sostituirli con notifiche temporanee, visibili ed identificabili dall'utente ma che non richiedano un suo intervento per essere chiuse. Nel caso specifico della mia classe e' possibile includere questo genere di notifiche nelle proprie applicazioni web scritte in GWT, personalizzandone l'aspetto attraverso il CSS e lasciando che il codice si occupi di schedulare le visualizzazioni e trattare il fading del messaggio mostrato.&lt;br /&gt;&lt;br /&gt;Conto di produrre e discutere qui altri frammenti nel prossimo futuro, che andranno a coprire via via le aree in cui mi trovo a lavorare; nel piu' imminente periodo fin troppo mi soffermero' sullo sviluppo web, essendo all'opera su ben due applicazioni (una privata ed &lt;a href="http://barberaware.org/projects/gasdotto/"&gt;una open&lt;/a&gt;), e vedro' di produrre per ognuno un piccolo demo video che ne dimostri la funzionalita': lungi da me dall'arrivare ai livelli del celeberrimo &lt;a href="http://macslow.thepimp.net/"&gt;MacSlow&lt;/a&gt;, che di filmati ne divulga pochi ma ogni volta sa stupire con incredibili effetti speciali, ma nel mio piccolo spero di contribuire con qualche poco di codice e qualche osservazione che possa risultare utile ad altri.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-3461823449269474028?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/3461823449269474028/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=3461823449269474028' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3461823449269474028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/3461823449269474028'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/snippets.html' title='Snippets'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-1296048259376926620</id><published>2009-01-01T01:42:00.003+01:00</published><updated>2009-01-01T02:09:29.320+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Un Blog per Domarli Tutti</title><content type='html'>Un po' mi spiace iniziare l'anno con un post cosi' fortemente off-topic, ma in fin dei conti se non mi faccio "pubblicita'" da solo non posso sperare che il mio messaggio si propaghi.&lt;br /&gt;Con l'inizio del nuovo anno avvio da subito la concretizzazione dei propositi raccolti sinora, iniziando da... il blog.&lt;br /&gt;Da quando il mio contratto ADSL con Tin.it e' stato chiuso e non posso mantenere il mio server domestico a causa del &lt;a href="http://www.webopedia.com/TERM/N/NAT.html"&gt;NAT&lt;/a&gt; dietro cui mi trovo con la connessione (neppure cosi' stabile, in fin dei conti) di Vodafone non ho piu' potuto esporre sull'Internet madbob.homelinux.com, mia storica nicchia telematica che mi ha accompagnato fin dall'inizio della mia permanenza in Torino. Ma mi e' assai dispiaciuto non avere piu' una pagina su cui esprimere le mie critiche ed i miei giudizi, soprattutto adesso che sempre piu' forte e' la necessita' di far emergere le magagne del mercato IT ed offrire spunti di riflessione per la ricostruzione del Nuovo Mondo che ci si aspetta sorga dalle ceneri lasciate dal rogo della crisi internazionale.&lt;br /&gt;Lascio pertanto spento il mio server casereccio (che, diciamocelo, su una Rete in cui si parla solo piu' di &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt; e' diventato cosa obsoleta e fatiscente) ed intraprendo una nuova avventura: da qualche minuto e' sull'Internet &lt;a href="http://madbob.wordpress.com/"&gt;madbob.wordpress.com&lt;/a&gt;, prossimo contenitore dei piu' arditi ed intransigenti post che possano scaturire dalla mia usurata tastiera. &lt;a href="http://lobotomy-dev.blogspot.com/"&gt;lobotomy-dev.blogspot.com&lt;/a&gt; continuera' ad essere collettore di divagazioni squisitamente tecniche, mentre chi vorra' di quando in quando leggere un mio commento di natura piu' trascendente potra' fare un salto a tale URL; nel prossimo futuro conto anche di raggruppare i feeds provenienti dall'uno e dall'altro blog in un unico RSS, si' da permetterne l'importazione su &lt;a href="http://facebook.com/"&gt;Facebook&lt;/a&gt; e garantire a tutti la fruizione del Bob-pensiero in ogni sua forma e sfumatura.&lt;br /&gt;Che sia un buon anno per tutti. Un po' anche per me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-1296048259376926620?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/1296048259376926620/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=1296048259376926620' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1296048259376926620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/1296048259376926620'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2009/01/un-blog-per-domarli-tutti.html' title='Un Blog per Domarli Tutti'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-7563239386576741360</id><published>2008-12-23T22:05:00.003+01:00</published><updated>2008-12-24T00:06:07.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Usabilita' e Computazione</title><content type='html'>Festeggio il mio prorompente ritorno alla Grande Rete (ho ritirato oggi la &lt;a href="http://www.areaprivati.vodafone.it/190/trilogy/jsp/programView.do?contentKey=36014&amp;amp;pageTypeId=9609&amp;amp;channelId=-8671&amp;amp;programId=9390&amp;amp;tk=9609%2Cc&amp;amp;ty_key=pri_Internet_offerta_facile_senza_limiti"&gt;chiavetta USB&lt;/a&gt; per la connettivita' 3G, alla faccia di Tin.it che mi ha sospeso l'ADSL) con un post sul mio bistrattato blog.&lt;br /&gt;Quello che voglio esporre e' qualche considerazione sul ruolo dell'usabilita', o quantomeno dello studio dell'interfaccia utente con cui si presenta un software, non gia' in un'ottica estetica o funzionale ma prestazionale.&lt;br /&gt;Come sempre, un riferimento a fatti realmente accaduti: come forse gia' citato in passato al momento sto lavorando a tempo perso su un gestionale web costruito con tecnologia &lt;a href="http://it.wikipedia.org/wiki/AJAX"&gt;Ajax&lt;/a&gt; (nella fattispecie con &lt;a href="http://code.google.com/intl/it/webtoolkit/"&gt;GWT&lt;/a&gt;), il cui piu' grosso difetto e' il committente. Questo arnese mi e' stato richiesto da gente con scarsissime competenze di sviluppo software, che campa spacciando prodotti altrui ma farebbe piu' bella figura ad andare a vendere il pesce al mercato, e che vuole ad ogni costo dir la sua non solo sull'aspetto ma su tutto il paradigma d'uso dell'applicazione; all'inizio ho tentato di raggiungere un compromesso, cercando di farli ragionare e fargli comprendere nozioni essenziali (ad esempio il fatto che un applicativo web non funziona esattamente come un applicativo locale), ma alla lunga mi son stufato e con mio sommo rammarico sto un poco alla volta mettendo insieme un accrocchio di pulsanti sparpagliati, campi anonimi e dati presentati a casaccio. Il punto sta nel fatto che per riuscire a gestire la quantita' di baggianate che devo visualizzare in un dato momento (ovvero, quello sbagliato) e non impazzire con un trattamento granulare dello stream proveniente dal server ho via via astratto e stratificato le componenti, tanto che in determinati contesti la quantita' di bytes da scambiare asincronicamente attraverso l'Internet (e, dunque, lentamente) e' talmente grande da rappresentare la causa di ogni rallentamento nell'utilizzo del programma.&lt;br /&gt;Certamente molti passaggi si potevano risparmiare con una piu' accurata analisi progettuale (cosa impossibile, dato che il mio cliente cambia idea piu' spesso di quanto cambi le mutande. Mi consolo all'idea che, stando a quanto raccontato da amici con esperienze ben piu' ricche delle mie, tutti i clienti siano cosi'...), o con una piu' ponderata gerarchia di oggetti con una migliore interfaccia, ma guardando il risultato vedo come certe funzionalita' siano talmente poco consistenti rispetto all'interfaccia da richiedere la generazione di un massiccio traffico client/server per poter andare a recuperare informazioni che non c'entrano nulla con quanto gia' prelevato, visualizzato ed in cache.&lt;br /&gt;La morale di questo post e' che talvolta uno studio effettivo dell'interfaccia non abbia solo finalita' "filosofiche" (perche', ricordiamolo, spesso l'usabilita' e' considerata un fattore prettamente filosofico ed inconsistente, scorrelato dalla funzionalita'...), ma puo' far risparmiare grosse dosi di computazione inutile. E sul monitor appaiono tasti che non hanno ragione di esistere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-7563239386576741360?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/7563239386576741360/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=7563239386576741360' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7563239386576741360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/7563239386576741360'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2008/12/usabilita-e-computazione.html' title='Usabilita&apos; e Computazione'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-8416160320663927950</id><published>2008-12-15T14:35:00.003+01:00</published><updated>2008-12-23T22:05:44.922+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='HCI'/><title type='text'>Senza Volto</title><content type='html'>Inevitabili le mie scuse per la sempre maggior rarefazione dei post su questo blog, ma l'ultimo periodo e' stato sufficientemente delirante, sono temporaneamente senza connessione casalinga (causa assorbimento di Tin.it in &lt;a href="http://www.telecomitalia.it/"&gt;Telecom&lt;/a&gt; e susseguente chiusura dei contratti ADSL), ed i prossimi mesi saranno ancora peggio. Numerose volte ho letto o sentito qualcosa che mi ha ispirato commenti che avrebbero dovuto essere riportati qui, ma il tempo di stendere un testo decoroso e' sempre quel che e'.&lt;br /&gt;Veniamo al sodo, ovvero a qualche constatazione sulla disponibilita' di applicazioni grafiche open.&lt;br /&gt;In capo a pochi mesi mi e' gia' arrivata da piu' fonti nella mia cerchia di conoscenze tecnologicamente consapevoli una stessa osservazione, che ho a mia volta per incidenza constatato lavorando su tutt'altro: il panorama opensource e' ricco, florido, traboccante di librerie e framework per fare qualunque cosa, ma... mancano applicativi utente che rendano accessibili tali funzionalita'.&lt;br /&gt;Un esempio tratto dalla mia esperienza recente: un &lt;a href="http://www.autistici.org/underscore/doku.php?id=acari:simoleso"&gt;amico&lt;/a&gt; da poco con il pallino da radioamatore insiste affinche' implementi un certo strumentino (rigorosamente per Linux) per l'analisi dei segnali audio, qualcosa di abbastanza semplice per poter fare un ben specifico tipo di studio. Di per se' tale programma non dovrebbe far altro che prendere un file .wav, tirarne fuori una &lt;a href="http://it.wikipedia.org/wiki/Trasformata_di_Fourier"&gt;trasformata di Fourier&lt;/a&gt;, e trarre qualche conclusione in funzione della distanza di determinati picchi a determinate frequenze. Mi sono assai stupito di non trovare qualcosa di gia' pronto nell'apparentemente vasto insieme di software free dedicato appunto ai radioamatori: ci sono &lt;a href="http://jackaudio.org/applications"&gt;dozzine&lt;/a&gt; di &lt;a href="http://www.nitehawk.com/sm5bsz/linuxdsp/linrad.htm"&gt;applicativi&lt;/a&gt; che eseguono analisi assai spicce e sommarie, disegnano simpatici grafici di scarsa utilita' se non coreografica, ma ben poco che si avvicini a quanto sinora descritto. Eppure della Fast Fourier Trasformation, funzione matematica alla radice di un po' tutta la scienza dell'analisi audio, esistono numerose implementazioni (fra cui &lt;a href="http://www.fftw.org/"&gt;una in particolare&lt;/a&gt; e' stata ottimizzata e perfezionata in ogni modo possibile): perche' non vengono sfruttate in software completi ed usabili dall'utente finale?&lt;br /&gt;Qualcuno potrebbe obiettare che il mio esempio tratti una ristretta nicchia di utenza e che l'interesse nell'impiegare risorse umane per realizzare quanto richiesto e' limitato, ma analoghe situazioni si trovano anche in settori di assai piu' ampio consumo: tanto per dirne un'altra, poco tempo addietro un ennesimo amico mi ha fatto notare l'assenza di un qualsivoglia banale programma che permetta di ricavare un video a partire da un insieme di immagini statiche (a mo' di slideshow, insomma), ed io stesso, che nel prossimo futuro dovro' confezionare una serie di filmati mettendo insieme appunto foto, testi e qualche breve spezzone, con ogni probabilita' mi trovero' nella condizione di dover implementare un programmello che faciliti l'aggregazione di slideshow multimediali con effetti decenti materializzati con &lt;a href="http://clutter-project.org/"&gt;Clutter&lt;/a&gt; e passi il tutto a &lt;a href="http://gstreamer.freedesktop.org/"&gt;gstreamer&lt;/a&gt;.&lt;br /&gt;Come si giustifica un tale prodigarsi di strumenti software di basso livello, di librerie e frammenti di codice atti a ogni genere di trasformazione matematica (e, dunque, di qualsiasi altro genere), cui non si controbilancia l'esistenza di reali applicativi che portino cotanto popo' di scienza alla portata del mouse? Il quesito e' di difficile risoluzione: indubbiamente una delle motivazioni e' la lontananza che c'e' nella natura di chi ha realizzato suddetto codice di analisi (persone di non scarso intelletto, capaci di tradurre complessi algoritmi in istruzioni elementari per il computer ma di principi sin troppo pragmatici ed immediati) e di coloro che potrebbero trarne programmi ad uso desktop (di ampia sensibilita' estetica ma misurate conoscenze matematiche, e troppo spesso rivolti all'utenza di massa anziche' alle piccole esigenze mirate), che frammenta ulteriormente il gia' mai sufficientemente grande bacino di developers esistente, e poi guardando all'altra sponda (le piattaforme non "libere") vediamo come all'atto pratico certe radicate modalita' di sviluppo e distribuzione del software, fondate non sempre sul profitto economico ma certamente sulla chiusura del codice (dicesi: freeware), assorbano la maggior parte di programmatori al mondo, instancabili produttori di programmini e utilities ma ben lontani dalla consapevolezze necessaria per aderire ad una licenza &lt;a href="http://www.gnu.org/philosophy/free-sw.html"&gt;free as in speech&lt;/a&gt;.&lt;br /&gt;Purtroppo non esiste un metodo unico ed universale per riuscire ad invertire questa tendenza, se non lavorare per realizzare semplici utilities e &lt;a href="http://barberaware.org/pergola/free++/"&gt;stimolare altri&lt;/a&gt; a fare altrettanto affinche' la potenza del software free esistente non resti a disposizione di una infinitesimale parte delle persone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-8416160320663927950?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/8416160320663927950/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=8416160320663927950' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8416160320663927950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/8416160320663927950'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2008/12/senza-volto.html' title='Senza Volto'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-5124022468187292971</id><published>2008-11-11T23:15:00.003+01:00</published><updated>2008-11-11T23:36:26.255+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='integration'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='influenze'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Strappando la Rete</title><content type='html'>La &lt;a href="http://www.linuxdevices.com/news/NS7658653988.html?kc=rss"&gt;notizia&lt;/a&gt; l'ho letta oggi pomeriggio, e mi ha talmente entusiasmato che la riporto qui: &lt;a href="http://www.movial.fi/"&gt;qualcuno&lt;/a&gt; ha sviluppato un binding &lt;a href="http://dbus.freedesktop.org/"&gt;DBus&lt;/a&gt; per Javascript. O meglio: una versione taroccata degli engine di &lt;a href="http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29"&gt;Gecko&lt;/a&gt; e &lt;a href="http://webkit.org/"&gt;WebKit&lt;/a&gt; in grado di interpretare istruzioni Javascript destinate appunto all'interfaccia verso quello che si sta affermando come lo strumento di IPC standard sul desktop Linux (e non solo).&lt;br /&gt;Il &lt;a href="http://sandbox.movial.com/wiki/index.php/Browser_DBus_Bridge"&gt;Browser DBus Bridge&lt;/a&gt; rappresenta non solo una grande innovazione, ma uno sforzo che oserei definire pionieristico nei confronti della piu' e piu' volte paventata integrazione del Web con il desktop casalingo: con poche righe di codice un sito potrebbe interagire con l'intero sistema operativo locale, non solo per mezzo della pagina visualizzata nel browser ma con tutto il set di altri applicativi utilizzati comunemente dall'utente. Importare ed esportare (o anche combinare) dati da e verso l'Internet non sarebbe piu' questione di usare programmi dedicati e limitati per una specifica area, ma diverrebbe piu' immediato che scaricare un file e salvarlo sul disco.&lt;br /&gt;Con ogni probabilita' questa opera non godra' mai di capillare diffusione (troppo vincolanti le implicazioni sulla sicurezza e sulla privacy, per cui non e' tollerabile che un qualunque sito possa andare a ravanare informazioni che non gli competono, e troppo limitata la diffusione di Linux sul desktop per giustificare una massiccia adozione), ma a parer mio merita comunque una menzione d'onore per la sua semplicita' e la valenza di tecnologia potenzialmente "distruttiva".&lt;br /&gt;Ad ogni modo mi son marcato la pagina al fine di meglio approfondire il tema e tentare (quando avro' tempo...) di lavorarci un pochino sopra, anche e soprattutto all'interno del Progetto Lobotomy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/420466040951386274-5124022468187292971?l=lobotomy-dev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lobotomy-dev.blogspot.com/feeds/5124022468187292971/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=420466040951386274&amp;postID=5124022468187292971' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5124022468187292971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/420466040951386274/posts/default/5124022468187292971'/><link rel='alternate' type='text/html' href='http://lobotomy-dev.blogspot.com/2008/11/strappando-la-rete.html' title='Strappando la Rete'/><author><name>Roberto -MadBob- Guido</name><uri>http://www.blogger.com/profile/16458797013282594564</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_yxT6jNPmPEk/SKTNF0A1m0I/AAAAAAAAAAM/4e4uWPGuL2c/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-420466040951386274.post-3559153956512994198</id><published>2008-11-08T00:46:00.003+01:00</published><updated>2008-11-08T01:34:33.820+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OT'/><title type='text'>Sai che c'e' di nuovo?</title><content type='html'>Da tempo non aggiorno questo mio blog (ma certo non e' questa una novita'), ed ora che mi degno di divulgare un mio pensiero esso e' off-topic e pure abbastanza povero rispetto alla linea che qui dovrei tenere. Pazienza, recuperero' in un'altro momento.&lt;br /&gt;&lt;br /&gt;Una cosa Microsoft l'ha imparata da Apple. Forse l'importanza del design? Forse l'astuzia di usare software open e dunque sviluppato da altri nei propri prodotti? No: l'importanza dell'hype con cui stuzzicare il pubblico per ogni nuova trovata che si prevede uscira' sul mercato.&lt;br /&gt;In Rete quotidianamente si legge qualche articoletto sul tanto atteso &lt;a href="http://blogs.msdn.com/e7/"&gt;Windows 7&lt;/a&gt;, che dovrebbe (sulla carta) riparare il danno economico e di immagine prodotto da V
