Chiacchierata con eulin, creatore di TrackerFS

genio.jpgHo 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

schermata-search_tool.png
*** 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

24 pensieri su “Chiacchierata con eulin, creatore di TrackerFS

  1. complimenti ad eulin per il lavoro che ha svolto e a felipe per avergli fatto conoscere tracker/fatto questa intervista :DDD

    saluti

  2. bella intervista, ma non avendo mai provato beagle non ci ho capito un gran che…

    ehm scusate l’OT ma…
    ilgufo ma tu non giocherai mica a tremulous col nick ilgufo[ita] ???

  3. vorrei solo fare presente che trackerfs era presente in beos dal ’96
    veramente un peccato che m$ abbia affossato quel sistema era veramente potente, l’ho reinstallato un paio d’anni fa e ho trovato le stesse funzioni che linux e windows e mac hanno integrato dieci anni dopo.

    snif.. :°(

  4. uao si chiamava proprio trackerfs? :D
    BeOs non è ancora vivo?

    Comunque quella che trovate sul cvs non è l’ultima versione
    perchè jamie(creatore di tracker)è stranamente lento nell’aggiornare cmq la versione cvs manca solo del help
    e delle opzioni con il trattino(tag= al posto di –tag=)

    Ultima versione per chi volesse:
    http://phpfi.com/176807

  5. @eulin
    io attendo con ansia ;-) le tue bozze per l’integrazione con kde, strigi è ancora decisamente acerbo… certo che fondere i due progetti, o quantomeno collaborare, non sarebbe una cattiva idea…
    buon lavoro!

  6. @eulin:
    BeOS è ancora vivo in diverse forme:
    1) BeOS 5: l’ultima release ufficiale
    2) Zeta, l’evoluzione attuale dal kernel di BeOS 5
    3) Haiku, riscrittura Open Source di kernel e utilities

    Profumo vintage al quale non ho resistito.

  7. loopback:
    ricordo anche io di nome questo gnome storage (probabilmente un post su pollycoke!) casomai provo a contattare l’autore se ha abbandonato il progetto(sono passati 3 anni?) magari avrà del buon codice con sè da potere riutilizzare :-)

    Shuren:
    Infatti mi sembrava che fosse di nicchia ma che ancora esistesse :-)

    Montag:
    credo che per domani sarà pronta una prima “bozza” del front-end qt

  8. @Shuern – eulin:
    beos5 è del 98, vabbè che ci sta gente tipo vasper che lo ha aggiornato con un po’ di driver ma il supporto hw è iniesitente su box moderne

    Zeta si è limitato a fare il reverse eng di beos, ho provato tutte le versioni, veramente un brutto sistema pieno di bug e troppo costoso (100€) per essere un OS alternativo

    Haiku è un bellissimo progetto che però non uscirà con una stable tra meno di 3 anni e sono già 2 che ci lavorano

    detto questo spiego anche che sono uno dei più grandi fan di beos e se ci fosse il supporto hw lo preferirei per usabilità senza dubbio a linux

    pace e ubuntu a tutti ;)

  9. @eulin

    se ti capita vatti a vedere le caratteristiche del BeFs il filesystem di beos del del suo tracker, integra le query live per la ricerca, mai vista una ricerca così veloce, è immediata. impressionante.

    se poi ti intriga ti invito anche a provarti il beos, chissà che ti innamori, magari vai a dare una mano ai ragazzi di haiku che ne hanno un gran bisogno ;)

  10. …e a compendio speriamo che i tizi di Gnome si sbrighino a sostituire quell’obrobrio di gnomeVFS al più presto cossicchè tutti fluidifichi al meglio ;-)

  11. (OT)
    @amba: si gioco spesso a tremulous
    (/ OT)

    anch’io sono stato utente beos (ma per 3 mesi e in dual-boot con debian): il befs non è niente male

  12. Ho scritto qualcosa una mail agli sviluppatori, ed è finita nella ML, ma mi sa che è passata inosservata. Comunque se puoi, felipe, per favore, inoltra quello che viene dopo a eulin, perché credo che ci siano degli spunti interessanti.
    Pensa che avevo predetto trackerfs!!! qualche tempo fa (secondo punto):

    – I noticed that you added support to tag in nautilus. I think that will
    be useful if someone can add a tag using nautilus emblems (or when he
    adds a tag, suddenly nautilus creates a related emblem).
    – You can make a virtual fs with fuse, a “on demand” fs. Apps conf file
    will be substituted with a symlink against a file within. This file will
    be created by tracker following a template. So unsupported programs will
    take adventage by tracker without extra development.
    – Tracker should index the content of internet bookmarks. Oh, I think it
    is complicated.
    – Use cases. John is downloading a ogg file, and file-selector shows him
    all folders marked by “sound” emblem or with “music” tag. James is
    working with gimp, loads a file and file selector shows him like
    bookmarks all folders with “image” tag. Try to save and it happens
    again.

  13. loopback:
    si ero io pardon dimenticato il nome

    Alexxx:
    destino o forse stanno girando il sequel di Ritorno al Futuro :-)

    finalmente la versione sul cvs è stata aggiornata ora è in arrivo il front-end qt e in ideamento(quindi per ora niente codice)un
    integrazione con strigi :D

    Ho anche finito una nautilus-actions per creare fs senza usare la console chi la volesse fischi!!!

  14. Breve post per segnalarvi che Tracker è giunto alla versione 0.5.2 e conviene aggiornare. Ecco il link che ne parla:
    http://jamiemcc.livejournal.com/5630.html

    Prima avevo la versione 0.5.0 e trackerd occupava tra gli 8 e i 10 MB. Ora con la nuova versione non arriva ai 2 MB!
    Inoltre il tool specifico di ricerca è decisamente carino (vedi screenshot nel sito).

    Lo so, lo so che lo sapevate già tutti e tutti avete già aggiornato, ma meglio segnalare per niente che perdersi le meraviglie di un Tracker da favola.

  15. già, purtroppo richiede le gtk 2.10, quindi non posso provarlo sulla mia dapper… mi sa che rimetto edgy nella partizione di prova

  16. Ma come mai io, che da sempre seguo gnome e il suo sviluppo, e che ponevo tanta fiducia in Beagle non sapevo assolutamente NIENTE di questo Tracker? mio dio, devo rimediare subito…

  17. Ho notato che tracker indicizza al massimo 512files dello stesso tipo.
    Nel config non ci sono riferimenti all’opzione limit.
    Qualche suggerimento ?

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...