Chiacchierata con eulin, creatore di TrackerFS
felipe, 20 novembre 2006 @ 19:56 in Il Salotto di (maria de) Felipe, News.
Ho recentemente parlato di Tracker, che dovrebbe essere parte delle novità della prossima Ubuntu 7.04.
Per la serie “Il Salotto di (maria de) Felipe”, sono orgoglioso di potervi presentare questa chiacchierata informale con eulin, l’uomo che sta dietro a TrackerFS, ossia il modulo che permetterà di avere delle directory che contengono i file risultanti da ricerche di Tracker, aggiornati in tempo reale.
Con TrackerFS sarà possibile creare ad esempio una “cartella” ~/Lavoro che contenga tutti i file etichettati con quel “tag”. La differenza con le “Cartelle di Ricerca” di Beagle è ovviamente che con queste ultime non si potevano manipolare i file e invece ora… leggete oltre, grandi novità in vista! ;-)
felipe: ciao eulin. prima di tutto: da dove spunti fuori?
eulin: dal nulla, o meglio dal tuo canale :D ho conosciuto Tracker grazie al tuo blog, e visto che mi è sembrato un progetto altamente valido, al contrario di beagle, volevo lavorarci un po’ su.
felipe: ottimo! prima di tutto: in che senso tracker è meglio di beagle dal tuo punto di vista?
eulin: ho provato beagle già dalle prime versioni…e l’idea mi sembrava buona: era impossibile usare il search integrato in gnome. Col tempo capii però che la cpu 100% non era dovuta a …vim, e così scoprii che la causa di tutto era beagle (ingenuo a non pensarci), che oltretutto occupava 2 giga nella directory ~/.beagle! Tracker è ottimo…male che vada: 10% di cpu e 78MB di database per 40GB di dati.
felipe: attualmente usi tracker come desktop search? di Beagle mi piace l’integrazione con Deskbar, Nautilus e le GTK stesse (con una patch).
eulin: absolutely :D tu usi beagle? :D l’integrazione ovviamente ha i suoi vantaggi, vedi Deskbar…per fortuna nel marasma di software libero si trova sempre “Come scrivere plugin/estensioni per *”
felipe: Era una domanda retorica? :D cmq qui entri in gioco tu. dunque, mi sembra di capire che hai unito Tracker alla cosa che ho capito meno in tutta la mia vita: FUSE… a che cacchio serve FUSE?
eulin: si esatto… beh non è poi così difficile :D FUSE, in sintesi, permette di creare fylesystem senza sporcarsi le mani con il kernel… Fa da tramite con il suo modulo nel kernel a semplici/complessi filesystem in python/c che si occupano di gesitre tutte le funzioni di un normale fs quali open,mkdir,write,getattr… è uno strumento potentissimo perchè non usa “trucchi” da file manager come smb://
felipe: come mai li chiami “trucchi”?
eulin: perchè se do `cp ~/filedacopiare smb://portatile` …mi dice: “Che ca*** è smb://?”
felipe: beh, chiarissimo :D invece in che modo si potrà sfruttare l’interazione tra FUSE e Tracker?
eulin: normalmente un filesystem gestisce file e cartelle in modo gerarchico quindi ad esempio il file “RelazioneFinale.pdf” potrà stare nella cartella Scuola ma non in quella Lavoro, a meno che la prima non sia dentro la seconda. In Winsozz Vista era previsto WinFs che doveva “risolvere” con un filesystem “lascia e dimentica”. Gestendo tutto in modo relazione, TrackerFS permette che, associando determinati tag a RelazioneFinale.pdf, esso potrà essere sia nella cartella Scuola che in quella Lavoro. Senza doverle annidare ovviamente
felipe: mi stai dicendo che potrei ad esempio avere una singola “cartella” con *tutto* il contenuto che ci butterei alla rinfusa… automaticamente organizzato da Tracker? (non che lo farei…)
eulin: si forse è un po eccessivo tuttto tutto ma io nel mio pc ho spostato tutti i miei documenti in ~/.documents e nella cartella Documenti ho una 10 di cartelle “virtuali”. bisogna vedere come crescerà tracker per stabilire se potrà gestire completamente questo ruolo. Per adesso io campo benissimo :D
felipe: non ho capito chi gestisce queste cartelle. tipo, come si creano? si usa il tuo trackerfs? Con beagle si creano a partire da una ricerca di nautilus, ma non in base ai tag… solo in base alla ricerca
eulin: per ora come se fossero delle penne usb si montano nelle varie cartelle, tipo: ./trackerfs.py ~/Documenti/Lavoro –tag=lavoro
felipe: immagino che questa funzionalità non sia ancora esposta in tracker. Intendo i tag… l’ultima volta che l’ho provato non c’era
eulin: esposta?diciamo che per ora sta nella cartella (del cvs) python/FUSE. Immagino che se evolverà bene (magari in C) avrà più rilievo. tracker dalla 5.0 ha un completo supporto ai tag dalla console tracker-tag. Ma c’è anche una estensione di nautilus che permette di farlo graficamente. Non solo: anche per cercare/rimuovere. tracker-tag –help :D
felipe: ma ci sono novità sull’adozione di Tracker da parte di GNOME?
eulin: per ora tutto tace in ml anche in vista dei recenti avvenimenti(novell-ms)per gnome 2.18 sembra proprio di no ma anche se mono non verrà ripudiato è molto probabile che in gnome 2.20 avremo qualcosa
felipe: che piani ci sono per integrare TrackerFS e queste funzionalità di tagging in GNOME? hai presente il tab “Emblemi” nelle proprietà dei file di nautilus? Non sarebbe la cosa più sensata al mondo usare quelli come TAG? togliendo quelli inutili, lasciandone alcuni “importanti” e dando la possibilità di aggiungerne di nuovi personalizzati, ovviamente
eulin: la cosa meno sfruttata al mondo… sì, evolvendoli un po’ andrebbero benissimo, ora bestemmio… f-spot permette di aver i tag “principali” e dei sotto tag personalizzati. Non ci resta che pregare che vega integrato presto in gnome (anche se l’engine vorrei tenerlo multi-desktop)
felipe: idee per espandersi versio KDE? ho letto una mail del mantainer di strigi alla ML di gnome che chiedeva di cooperare. E’ stata ovviamente ignorata -.-
eulin: io ho già creato un interfaccia con qt designer per un front end(uguale a quello per gnome) grafico di tracker e sto buttando giù un po’ di codice appena fatta una prima “bozza” pensavo di proporlo in ml
felipe: dai fammi vedere un’anteprima :F

*** eulin is offering to send file Schermata-Search_Tool.png ***
felipe: grazie, molto pulita! cmq per “espandersi verso KDE” intendevo: interazione con Strigi? Tenor?
eulin: sto lavorando ma qui si tratta di pura idea e 5 righe di codice a un plugin per konqueror di “fondere” i 2 motori non so non sarebbe male ma non so bisogna vedere come reagisce jamie
felipe: ho dimenticato di chiederti qualcosa di importante?
eulin: il nome? :D
felipe: lol vai, ti lascio 10 righe gratis:
eulin: ps la versione di Tracker non è la 5.0 ma la 0.5 non siamo ancora evoluti come windows da saltare i preliminari(0.0.0.1,.0.0.0.2)
eulin: ah già il mio nome è Genio Eugenio
felipe: piacere, Eta Beta. ma davvero sono stato io ad incuriosirti su Tracker? mi sento orgoglioso!
eulin: si proprio tu con le tue troiate(del giorno) mi hai fatto scoprire questo progetto stupendo …ok stupendo è troppo da copertina, metti geniale :D
felipe: hahaha potrei decidere di adottarti, ma mi accontenterò pensando di aver contribuito in qualche modo a tracker.
felipe: ultima cosa: dove sta il codice che hai scritto?
eulin: nel cvs di Tracker, sui server di GNOME: http://cvs.gnome.org/viewcvs/tracker/python/FUSE/
felipe: c’è un modo per avere dei pacchetti per provare il tutto su… ad esempio una Dapper?
eulin: nel cvs c’è la cartella debian quindi puoi usare debian/rules per farti i binari ovviamente trackerfs non è ancora incluso nei pacchetti ma per ora è un unico file quindi se vuoi proprio un pacchetto non è poi così complessa la cosa :) mv trackerfs.py /usr/bin. quando lo migro in C sarà più complesso :-)
felipe: come mai riscrivi da python a C?
eulin: temo che il supporto a python da parte di FUSE non sia completo come in C. Mancano alcune funzioni che agevolano il lavoro e probabilmente aumenterà anche la velocità di un tanto non percettibile all’uomo :D
felipe: se non c’è altro da aggiungere io vado in sala prove… mi staranno già bestemmiando contro!
eulin: no nient’altro: probabile che faccio un python-libtracker per interfacciarsi meglio con dbus + easy
felipe: ottima idea
eulin: buone prove :-)
felipe: grazie eugenio e grazie per la chiacchierata :-)
eulin: grazie a te ciau
Altri articoli interessanti







Discussione per
"Chiacchierata con eulin, creatore di TrackerFS"