7 dicembre 2007

Problemi tecnici

Non chiedetemi perché, ma ultimamente sulla casella di posta mi arriva solo un 10% dei commenti.

A ben guardare pare che sia stata aggiunta la funzione "follow-up".

Quindi, per quagliare, non garantisco risposta su vecchi posti.

5 dicembre 2007

Che ce frega der cileno noi c'avemo Totti go'!

...Totti goo'! Totti go000!

Ehm , sì, scusate... Dunque, ecco, allora. Il punto è: ma siete proprio sicuri che Compiz sia l'unico modo di avere un po' di vita sulla vostra scrivania?

Cioè, diciamocelo, al di là di qualche idea carina, come window manager fa un po' pena, specie se siete abituati al rigore, alla pulizia, alla parsimonia nell'uso di risorse. Specie se siete abituati a Metacity.

Come dite? Vi mancano le ombreggiature sulle finestre? E qualche trasparenza qua e là, tipo nel terminale e nel popup per la modifica del volume? Dunque non lo sapete ancora? C'è un nuovo window manager che ve lo permette. Si chiama Metacity.

In un oscuro branch dall'impronunciabile nome, un impavido ometto sta aggiungendo le funzioni di compositor, senza richiedere funzioni 3D avanzate, ma solo una decente e possibilmente veloce implementazione di XRender. Ciò significa, in parole povere, niente finestre gelatinose, niente aree di lavoro cubiche, niente dialoghi che appaiono planando dal vuoto, bensì richiedere al XServer di non disegnare più direttamente una finestra sullo schermo perché se ne occuperà il programma.

OK, lo so, non ve ne frega molto di come funziona l'estensione Composite. Neanche a me, in fin dei conti... Ecco quindi un elenco di cose attualmente fattibili usando tale branch:
  • ombreggiatura della finestra (compiz/aqua/xp docet)
  • usabilità di applicazioni "trasparenti" tipo Avant Window Navigator (sì, non serve compiz per farlo funzionare, serve solo il composite)
  • possibilità di rendere trasparenti le finestre (non direttamente, è necessario -per ora?- il comando transset da riga di comando)
  • anteprime delle finestre nella finestra a comparsa Alt-Tab (con icona dell'applicazione in sovraimpressione)
  • dissolvenza in nero funzionante e fluida (tipo dialogo di logout o richiesta password con gksu)
  • varie ed eventuali (tipo la rimozione di un paio di cicli ad alta richiesta di CPU che non c'entrano nulla con il compositor - sono relativi al disegno della decorazione a partire dal tema - ma che fa sempre piacere ed è sempre utile, specie se rende il trascinamento delle finestre meno "ritardato")
In arrivo ci dovrebbe essere anche l'ombra diversa per le finestre non in focus.

Ovviamente il fatto di avere un window manager che supporta l'estensione Composite potrebbe portare altri "benefici" agli utenti. Essendo infatti Metacity il window manager di riferimento di GNOME, per gli sviluppatori di altre applicazioni è inutile perdere tempo ad aggiungere palle di natale[1] e stelle filanti se poi non tutti gli utenti potranno usarle. L'esempio presentato da Iain è lo sfondo della scrivania: al momento lo sfondo è disegnato 2 volte poiché se si usa Nautilus la scrivania altro non è che una finestra di Nautilus a schermo intero e senza decorazioni (comunque non ci giurerei sul doppio disegno, mi pare di ricordare qualche vecchio lavoro per evitare ciò). Se Nautilus supportasse il Composite potrebbe disegnare sulla scrivania una finestra dallo sfondo trasparente con sopra solo le icone (un po come fa Avant), demandando tutta la gestione dell'immagine da usare ad altro.

Dunque lunga vita al nuovo compositor. Ah, se volete vederlo per GNOME 2.22 io vi consiglierei di prelevare il codice dal svn e compilarvelo: più problemi trovate e riportate (specie se avete qualche oscura scheda video che usa qualche driver mezzo monco), prima finisce sul ramo ufficiale.

E per voi che siete arrivati a leggere fin quaggiù, ecco un premio: una bella schermata! Che via aspettavate?


Update per chi volesse approfondire:
  • Notare la pagina web aperta nella schermata
  • Per compilare, scaricare dal repository col comando: svn co http://svn.gnome.org/svn/metacity/branches/iains-blingtastic-bucket-o-bling/ metacity-compositor
  • Sempre per compilare le dipendenze sono gtk, gconf e startup-notification (e quanto richiesto da queste, tipo i vari xModuli)
  • Al configure aggiungere un bel --enable-compositor

[1] a proposito: a Natale si colorano le palle.... a me no.

30 ottobre 2007

E speriamo che io me la cavo

Vediamo se questo riesce ad accontentare tutti i miei esigenti lettori.

Una bella serie di patch, ancora non conclusa, per permettervi di scegliere il vostro strumento di ricerca preferito e predefinito.

In queste ore così drammatiche, che non sappiamo più dove stiamo andando su questa terra, si sente forte il bisogno di una guida tra i meandri di bit dei nostri hard disk. Non tutti amano la stessa guida.

Eppure, quel cattivone dello GNOME Desktop pare voglia imporci per forza il vecchio, obsoleto, lento, non sbrilluccicoso gnome-search-tool. Ma dico io, con tanti sistemi che ci sono, ti pare che debbo usare qualcosa che cerca solo nei nomi dei file!!!

È ora di voltare pagina e di dare il benvenuto ai nuovi contendenti.

Ora, tanto per mettere in chiaro le cose, io non è che ho fatto granché: ho solo aggiunto un paio di nuove chiavi GConf (in libgnomeui), ho copiato spudoratamente il codice esistente in gnome-control-center per leggere, impostarle e usarle quando si preme il pulsante "Cerca" della tastiera e nei prossimi giorni forse comincio a fare qualcosa di un minimo originale per far leggere e usare quelle chiavi al pannello.

E non c'è neanche niente da mostrare. Ve l'ho detto, per ora l'unica cosa che funziona è che se premete il tasto "Cerca" della vostra tastiera vi si apre lo strumento di ricerca che più vi piace.

Ah, no, una piccola cosa da mostrare c'è, lo strumento di preferenze:

28 ottobre 2007

Mode brainstorming: on

Nuovo bug da risolvere per gli sviluppatori di GNOME (speriamo non come WONTFIX).

Lo trovate qui e, semplicemente, chiede di dare una rinfrescatina alle preferenze relative ai tipi di carattere.

Il risultato sperato è questo.

Le mie motivazioni sono:
  • Odio i sottodialoghi "Dettagli", specie negli strumenti di preferenza
  • Qualcuno sa che caz##o è l'ordine subpixel? Lo ha mai dovuto modificare? No? Bene allora via dalla UI e se serve c'è GConf Editor
  • Analogo discorso per la risoluzione, solo che qui perché credo si debba mantenere in sincro con quella reale e corrente del server X. Se serve cambiarla c'è GConf Editor.
  • Basta dover specificare 4 volte lo stesso font per cambiarlo nelle varie posizioni supportate (applicazioni, scrivania, titoli finestre, documentazione/documenti): gli ultimi tre si cambiano solo se li vuoi diversi dal font generico per le applicazioni
Commentate, commentate, commentate (su bugzilla.gnome.org) o, ancora meglio, producete patch.

Erba voglio

Ora che è finalmente pubblico, possiamo dire come funziona Time Machine di Apple.

Dunque, per prima cosa serve un hard disk di backup. Magari esterno, magari su un altro Mac, magari condiviso tra diversi Mac, ma deve comunque essere un secondo hard disk. Niente backup su altri supporti.

In secondo luogo, da buona intelligenza artificiale che fa le cose al posto vostro, obbedisce a tre regole:
  • mantenere backup orari delle ultime 24 ore
  • mantenere backup giornalieri dell'ultimo mese
  • mantenere backup settimanali finché il disco di backup non è pieno
Una volta pieno il disco di backup, ti avvisa e inizia a togliere di mezzo quelli più vecchi.

Per quanto riguarda il backup in sé e per sé, la prima volta viene effettuata una copia completa e senza compressione dell'intero contenuto dell'hard disk (esclusi file temporanei), nelle successive ovviamente una serie di backup incrementali. Il backup viene eseguito anche se il disco di destinazione non è collegato, ma viene memorizzato "in locale" e poi riversato sul disco di destinazione quando questo è collegato.

Che dire, come politica non è nulla di eclatantemente innovativo, solo è completamente automatizzato e preimpostato.

Il valore aggiunto è probabilmente nella grafica accattivante usata per navigare tra le vecchie versioni. Sarebbe interessante sapere se questa navigazione è permessa in tutte le applicazioni o se, molto più probabilmente, solo in alcune abilitate. Io penso proprio che è la seconda che ho detto, tant'è che la pagina su apple.com linkata all'inizio segnala solo iPhoto e Rubrica.

Ora, esclusa la parte "bling", che magari ci penserà Neil Patel dopo aver completato e pubblicato il suo prossimo progetto (sempre usando Clutter), quanto è difficile implementare quelle regole di backup e una GUI minimale per "Hardy Heron"?

Certo, ora che Mac OS ce l'ha predefinito, sarebbe la solita storia che l'opensource copia e via dicendo. Ma, francamente, ce ne può fottere qualcosa se il risultato è avere i dati degli utenti al sicuro e ripristinabili?

In fondo è per questo che esistono i computer, no? Mi compro un hard disk esterno, lo attacco, il computer mi chiede «Usare l'hard disk esterno appena collegato come destinazione di backup?» Io dico «Sì, grazie» e sono ragionevolmente sicuro che mi si mantiene in vita almeno una copia dei miei file, con il solo obbligo di attaccare ogni tanto quell'hard disk al computer.

27 ottobre 2007

Cestini criteriati

Mi ero dimenticato di aggiungere, nel precedente post, il collegamento alla pagina relativa alla gestione dei file eliminanti (Trash vs. Recycle Bin) su XvsXP.com

La cosa bella del confronto è che nessuno dei due contendenti, a parere di chi il confronto l'ha scritto, ha tutte e 4 le funzionalità richieste, ma solo 2. Il cestino ideale dovrebbe infatti permettere:
  • l'esplorazione delle cartelle (OSX, Nautilus)
  • l'eliminazione "sicura" (OSX)
  • l'eliminazione individuale dei file (XP, Nautilus)
  • il ripristino dei file cancellati nella posizione originale (XP)
Affascinante notare che il cestino di GNOME/Nautilus è un "ibrido" dei due.

Aderendo allo standard di fd.o, potrebbe diventare possibile avere il ripristino a basso costo (l'utente ha fatto clic su ripristina, leggi il valore la chiave che ti dice la posizione originale, sposta il file su tale valore) e arriveremmo così a 3 su 4.

Ma¹ non posso non domandarmi: GIO/GVFS è talmente avanti che magari in un prossimo futuro non dovrò più installare e usare srm(1) da terminale² per cancellare definitivamente i pornazzi file privati? Ci avrà pensato Alexander "Capitano, oh mio capitano" Larsson? In fondo GIO/GVFS è stato pensato per essere estensibile, no?

Mi sa che qui ci scappa un'email in mailing list.

[1] sì, lo so, non si dovrebbero cominciare le frasi con il "ma"...
[2] sì, lo so, potrei usare zenity per farmi uno script...

25 ottobre 2007

Cestini scriteriati

Aggiornamenti pratici dal fronte GIO/GVFS: prove alla mano, anche il cestino diventerà standardizzato.

Al momento il cestino di GNOME è collocato in $HOME/.Trash/ e contiene solo i file.

La specifica di fd.o relativa al cestino invece prevede che non solo i file vadano collocati in $XDG_DATA_HOME/Trash/files/, ma che ci sia anche una bella directory $XDG_DATA_HOME/Trash/info/ che, per ogni file cestinato, presenta un file tipo
[Trash Info]
Path=/percorso/al/file/eliminato.txt
DeletionDate=2007-10-25T21:50:10
Un piccolo «Urrà!»

22 ottobre 2007

Fossi figo guiderei una grande jeep

Siete uno di quei poveri sfigati che hanno una vecchia scheda grafica NVIDIA che Ubuntu ha deciso di lasciare fuori dal luccicoso mondo degli effetti visivi? Volete fare colpo sulla vostra amica Guendalina? Avete complessi di inferiorità nei confronti di vostro cuggino che cambia scheda madre, cpu e gpu ogni 4 mesi solo per sparare contro qualche zombie virtuale?

Allora questo post fa per voi.

Necessarie

Per mettere in pratica le esoteriche indicazioni presenti poco oltre vi servono due cose:
  • una scheda grafica con chipset NVIDIA un po' vecchiotta
  • una scheda grafica con chipset NVIDIA con meno di 64 MB di memoria grafica
In queste condizioni infatti, quando provate ad abilitare gli effetti visivi nello strumento di preferenze Aspetto, il sistema vi spernacchia (codardamente) dicendo che 'ste cose non fanno per voi.

Ma, parafrasando un noto ex presidente della repubblica, voi non ci state. Voi state cercando di entrare nella casella di posta della vostra amica Guendalina per sapere se vi vuole bene veramente, non esiste che non riusciate a far sbrillucciare un po' le finestrelle.

Al lavoro, al lavoro, Cenerella

Dovete far capire al vostro sistema due cose:
  1. che 32 MB vi sono sempre bastati e continueranno a farlo
  2. che non deve fare troppo storie, se non riesce a essere fluido, sia indiretto
Il tutto, ovviamente, va fatto in modo elegante e in UNIX-style.

Ci sono due comodi file di testo a cui mettere mano, uno per tutti gli utenti, l'altro per il solo utente corrente: /etc/xdg/compiz/compiz-manager e $HOME/.config/compiz/compiz-manager. Mettete mano a quello che ritente più adatto per voi; il primo esiste già, quindi potete usarlo come esempio.

Per educare in un sol colpo aggiungete al file le seguenti righe:
      NVIDIA_MEMORY="0"
INDIRECT="yes"
Non è proprio necessario mettere zero, basta un valore qualiasi inferiore alla memoria installata sul vostro PC. Salvate, riavviate compiz e voilà, ombrette e gelatine dappertutto (beh, quasi) senza il dramma delle finestre annerite.

Nota seria: abilitando l'indirect rendring, la riga di comando che avvia compiz non dovrebbe contenere --loose-bindings. Non so perché ma ciò non accade. Necessarie maggiori investigazioni.

E ora cracking

Adesso che il vostro ego è in pace, state pensando di tornare a crackare la casella di posta di Guendalina, vero?

Lasciate stare.

L'hanno vista muoversi leggera come un gavettone d'idrogeno in direzione del vostro caro amico Furio Terzappi e infilargli in bocca due metri di lingua, la lingua dell'amore... come dite? Ah, vi ha assicurato che non lo ama... cosa? vi dispiace per lui... perché magari poveretto si fa delle idee...

20 ottobre 2007

Pulizia etnica

Beh, come titolo è un po' sopra le righe, ma annuncio ufficialmente che nei prossimi giorni provvederò a effettuare una corposa pulizia della traduzione di Pidgin in Ubuntu 7.10 (Gutsy Gibbon).

Oltre alla correzione di eventuali errori, forme non in linea con le linee guida per la traduzione e altro, ho in mente di apportare le seguenti modifiche:
  • buddy -- conoscente
  • alias -- pseudonimo
  • screen name -- nominativo pubblico
Notare infatti che nell'applicazione buddy e contact sono due cose distinte (provate a tradurre "Removing this contact will also remove all the buddies in the contact" usando solo contatto come traduzione) e che screenname non è né nome utente, né nome e basta, né account.

Certo, potrebbe venire fuori un'autentica schifezza e in effetti potrei provare a farlo prima in locale, ma metti che invece funziona alla grande?

18 ottobre 2007

Truppe Antidemone

Negli ultimi giorni, invece di scrivere su questo blog, ho letto. Per essere più precisi ho riletto "Devilman", il manga di Go Nagai. E una piccola cosa curiosa che è successo mi ha fatto.. no, non anticipo nulla.

Visto che di solito la gente conosce il cartone animato, visto che le stupide note finali a cui giungerò necessitano della conoscenza degli eventi del manga, direi che è necessario un bello spiegone.

Dunque, il cartone animato di Devilman è solo una versione edulcorata e adatta a un pubblico meno adulto di ciò che il maestro Go Nagai aveva in mente. Il grande uomo diavolo dall'inferno libero dalla pelle azzurrina, mutandoni alla superman e mosse speciali evocate a gran voce non ha nulla a che vedere con il devilman del fumetto: sanguinario, con protesi dentale e occipitale molto più puntuta, ali da pipistrello, coda e gambe pelose tipo caprone. Inoltre, mentre nel cartone animato l'essere umano (Akira Fudo) moriva e il demone (Amon) prendeva il suo posto "in incongnito", nel fumetto l'umano si "impossessa" del corpo del demone per combattere l'invasione degli altri demoni.

A questo punto avrete già immaginato che diversa è anche la trama: nel cartone la terribile tribù dei demoni invia il classico nemico della settimana a convincere Amon a tornare tra loro (poi, perse le speranze, a ucciderlo), nel fumentto invece... beh, nel fumetto succede molto meno, giusto il totale sterminio della razza umana.

Non prima però di aver delineato un tragico scenario: la razza umana, sotto la minaccia dei demoni, cede alla propria paura e comincia a sterminarsi a vicenda. Oddio, è vero che i demonietti, capita l'antifona, hanno fatto vedere o credere a tutto il mondo che possono fondersi con gli uomini e che chiunque può diventare da un momento all'altro un demone, certo è che la reazione degli umani è un po' esagerata: truppe antidemone che alla minima segnalazione di anormalità comportamentale (non sei felice? non sei allineato? non ti unisci agli altri nella caccia alle streghe?) ti si presentano davanti casa, ti trascinano via a forza con qualche familiare, ti portano in una inaccessibile torre per sottoporti a torture e lasciano gli altri tuoi parenti alle cure dei vicini di quartiere e ai loro forconi, coltelli, fiaccole e via dicendo.

Questa è la sorte che tocca nel fumetto alla povera Miki, la tipa innamorata e amata dal nostro Devilman, sbrandellata, decapitata, squartata e appesa a pezzetti su lunghi bastoni. Non per mano dei demoni. Per mano di quegli esseri umani diventati più ossessivo-compusivi per le stragi degli stessi demoni.

Giunti alla fine dello spiegone, perché tutto ciò, vi starete domandando?

Perché ieri sera ho letto questo commento¹ a un mio precedente post.

Sinceramente, ho cominciato a sentire la folla inferocita sotto casa con lunghi bastoni appuntiti che reclamava la mia testona riccioluta come souvenir d'italì.

Felipe Fudo, pensaci tu!!!

[1] mmmh a quanto pare non posso linkare un singolo commento... Vabbè, è il numero 11.

5 ottobre 2007

Minacce verbali

Ma volete mettere? Una settimana liberi dai commenti di Felipe su tutto? Da quel senso di obbligo tipo "ok, ho fatto quello che dovevo fare, adesso andiamo a vedere che si dice su pollycoke".

Io ci metto la firma, se non torna.

Anzi, se torna incasino la traduzione italiana di Gutsy, mettendo una lingua a caso per ogni modulo. Poi vi voglio vedere a usare Nautilus in occitano.

3 ottobre 2007

Parto travagliato

Io, personalmente, 'sta cosa la vedo un po' difficile.

A meno che, come diceva Groucho (quello di Dylan Dog) qualche anno fa: «Cosa ci vuole per far riunire i Beatles? Altre 3 pistolettate».

29 settembre 2007

Dieci piccoli indiani

Il piccolo giornalista che è in me scalpita. Oddio, ci sono tante piccole cose in me che scalpitano, ma è sabato sera, sono stanco, ho mandato a fare in culo un po' chiunque, non ho niente da fare (e mi sa che non lo avrò per parecchi sabati) per cui scrivere un po' potrebbe essere d'aiuto.

Allora, il vostro affezionatissimo ha eseguito l'avanzamento (italianizzazione discutibile di upgrade, ma a me e a Milo non veniva in mente niente di meglio e ci serviva distinguere update da upgrade) a Gutsy Gibbon, ora che è in beta. Vediamo un po' di trovare 10 cose che non mi vanno a genio e che intendo cambiare.

1 - Icone Human

L'ho già detto, ma mi ripeto. A me le icone Human fanno pena. E non mi importa se Canonical Ltd. le ha fatte realizzare da un grande artista che lavora per Iconfactory. Non in toto, certo, ma alcune sono tutte "sfocate" (vedi undo/redo), altre semplicemente "brutte" (vedi new-document), altre totalmente inutili (vedi i simboli: perché hanno tutti il cerchietto?). Quasi tutte non seguono lo standard di Tango, che per verità all'epoca (dapper drake) non esisteva o non era così pervasivo in GNOME.

IMHO basterebbe chidere a qualche bravo disegnatore (Lapo, Ulisse, Andreas, Joseph, ma non Jimmac) di preparare un nuovo set di icone. Non ne servono tante, giusto quelle per le cartelle (nelle varianti folder, folder-open, folder-visiting e folder-remote) , quella per la home e quella per document-open (che deve richiamare folder). Poi, se proprio si vuole, si possono aggiungere quelle per il cestino, o per l'hard disk o altro. Ma aver customizzato le icone delle cartelle IMHO può bastare.

Dunque, primo cambiamento suggerito: cambiare tema delle icone e mettere GNOME, o Mist, o Crux.

2 - Rivestimento della scrivania

Se proprio color cacca deve essere, allora Elephant è molto più figo.

Giuro.

Se fossi in voi mi scaricherei anche Lion e Giraffe. Avrebbero fatto meglio a includerli.

3 - Applicazioni inutili

Nel menù Applicazioni ci sono due nuove voci: Applicazioni -> Altro -> Blocca schermo e Applicazioni -> Altro -> Logout

Magari è un refuso, ma ho due dubbi:
  1. Ma non c'è già Sistema -> Termina sessione per fare il logout?
  2. Se stanno lì per avere accesso diretto alla funzione di blocco schermo, non era meglio mantenere il layout originale del pannello (che, per chi conosce solo Ubuntu prevede tre voci Blocca schemo, Termina sessione e Arresta direttamente nel menù Sistema).
Anche qui, una rapida modifica al menù per non avere di mezzo queste cose inutili.


Update a quanto pare erano lì a causa di una installazione mai rimossa di gnome-main-menu (per intenderci, quella accozzaglia simil-pulsane-Star di Novell). Uff, così mi sballano i conti...

4 - Cartelle utente

Gutsy installa xdg-user-dirs con una fastidiosa (IMHO) personalizzazione: la cartella $DOWNLOAD è la scrivania. OK, è il comportamento predefinito di Firefox, ma chi è Firefox per decidere che è meglio così?

La scrivania in GNOME, e ancora più in Ubuntu che ha giustamente deciso di togliere le icone di home, computer e cestino, è il luogo dei documenti su cui si sta lavorando, quelli che quando fai il login ti vuoi vedere davanti. Se ti serve un documento che hai archiviato lo cerchi (con un fantasmagorico Tracker, finalmente usabile e rapido nell'indicizzazione iniziale).

Scaricare sulla scrivania significa riempirla di cose che devo spostare o eliminare al più presto se voglio continuare ad avere sottocchio i file che mi servono.

Per correggere questo comportamento, creare una cartella $HOME/Scaricati e modificare il file $HOME/.config/user-dirs.dirs (o /etc/xdg/user-dirs.defaults se per tutti gli utenti). Credo però che bisognerà modificare anche le preferenze di Firefox e/o di Epiphany.

5 - Applet sul pannello

Se va avanti così, tra 4 o cinque versioni il pannello superiore sarà completamente pieno. E completamente inutile.

Da destra verso sinistra abbiamo, nell'ordine:
  • Pulsante Termina sessione
  • Orologio, con data
  • Volume
  • Area di notifica, con per lo meno icona di NetworkManager (a cui si aggiungono, secondo evenienza, quella della batteria, l'avvio di software disponibile, IM, Rhythmbox, Bluetooth, e via discorrendo
  • Deskbar
  • Selettore utente
Io toglierei il pulsante, sposterei al suo posto Deskbar e invertirei l'area di notifica e il selettore utente (o toglierei anche quest'ultimo, se non vi serve; a che pro mostrarvi il vostro nome se non dovete switchare?). Il motivo è semplice: in questo modo la crescita dell'area di notifica non va ad influire sulla posizione delle altre applet.

6, 7, 8, 9, 10 - That's all folks

Andiamo, pensavate veramente che ci fossero 10 problemi così gravi e insormontabili?

PS attenzione, ricordate sempre che per avanzare da una versione all'altra di Ubuntu è necessario:
  1. avere installata la versione (n - 1) e averla aggiornata
  2. eseguire "update-manager -d" (per forzare l'avanzamento) - modificare a mano /etc/apt/sources.list e eseguire "apt-get upgrade" non funziona con Ubuntu.

26 settembre 2007

Crisi d'identità

Qualcuno è convinto che l'interfaccia del GIMP sia da cambiare. Che tutte quelle finestrelle che il GIMP apre sullo schermo danno fastidio. Che è meglio seguire Photoshop perché è meglio.

Io, sinceramente, non mi trovo così male con l'attuale interfaccia utente. Però in effetti, abbiamo dei seri problemi di... boh, direi corerenza, ma coerenza non è. Provo a spiegarmi.

E per farlo prendo a esempio due cosette. L'una è una applicazione simil-GIMP simil-Photoshop appena rilasciata per Mac, l'altro è il nostro vecchio caro GNOME Panel.

Partiamo dal secondo e da una riflessione fatta sulla desktop-devel-list di GNOME: ha senso avere 3 diversi elementi per gestire una applicazione? Prendete ad esempio Rhythmbox: posso avere un lanciatore sul pannello per mandarlo in esecuzione così, quando ci clicco sopra, mi compaiono un pulsante nell'applet Elenco finestre per mettere in primo piano o nascondere la finestra e un'icona nell'area di notifica (che forse non ci dovrebbe essere, ma questa è un'altra storia) per nascodere il tutto e per una gestione minimale della riproduzione. Analogo discorso si può fare per altre applicazioni come i vari client di IM, o lo stesso client email Evolution (che ora mostra un'icona lampeggiante all'arrivo di nuova posta).

Il tutto, per come è strutturato, è coerente: il lanciatore lancia, l'elenco finestre elenca e gestisce lo stato delle finestre, l'icona di notifica offre azioni e/o informazioni aggiuntive. Non è ammesso, o ammissibile, o cmq possibile, che un lanciatore informi sullo stato dell'applicazione o che uno dei pulsanti dell'elenco finestre abbia qualche voce extra relativa all'applicazione che rappresenta. Noi siamo puri e crediamo nella finestra come monade del nostro ambiente grafico. Una finestra, un pulsante. Per questo, ogni volta che apro N immagini in GIMP ho (almeno) N+2 finestre, quindi N+2 pulsanti. Ognuno per sé. Forse è questo che da fastidio...

Di contro in Mac OS (X) si ragiona per applicazioni: una applicazione, una icona nel dock. Un'icona nel dock che, di volta in volta, di momento in momento, serve per: lanciare una istanza dell'applicazione, portare in primo piano o nascondere un'istanza (in esecuzione) dell'applicazione, segnalare qualcosa (vedi l'icona del client email che mostra le nuove email o la nuova icona del client di calendario che indica la data odierna), fornire la possibilità di azioni aggiuntive (vedi i'icona di iTunes che funziona più o meno come l'icona di notifica di Rhythmbox). È un approccio migliore? Si? No? Non è detto. È un approccio diverso che in certe condizioni potrebbe risultare migliore. L'icona nel dock non è un lanciatore, o un segnaposto per la finestra o un indicatore. È l'applicazione stessa.

Poi ovviamente il dock ha una marea di altri problemi, ma almeno il fatto che a un'applicazione corrisponda una sola icona permette a menti non flessibili di creare un'identificazione chiara e ragionevole (Panfilo Maria Lippi direbbe venire in contro alle vostre limitate capacità mentali).

E qui arriviamo alla nuova applicazione simil-GIMP, simil-Photoshop per Mac annunciata prima. Si chiama Pixelmator, non è gratuita (se non ho capito male), non è libera (sebbene usi software open source, come dichiarato in homepage; credo si tratti di ImageMagik), quindi non ci dovrebbe interessare. Però un'occhiatina alle schermate e allo screencast mi rendono un po' invidioso... Non della tizia sdraiata sul divano rosa (semmai del divano rosa su cui la tizia è sdraiata), ma del fatto che Pixelmator sembra essere quello che è la mia idea di GIMP.

Guardate ad esempio questa anteprima. Le varie finestrelle sparse qua e là per la scrivania non hanno i canonici tre pulsanti ciascuna. Alcune hanno solo un pulsante "chiudi" (a che serve minimizzare o massimmizzare la finestra dei livelli o dei pennelli?), altre non hanno affatto pulsanti (come il dialogo Luminosità e contrasto: o applico le modifiche o le scarto. Ah. se vi guardate anche lo screencast, rodetevi dentro nel vedere come gli effetti sono applicati on-fly sull'immagine e OK serve solo da conferma). L'unica finestra che ha senso massimizzare o minimizzare è quella dell'immagine su cui sto lavorando. Suppongo, ma sono stato davanti a MacOSX una sola volta in vita mia per eseguire FireFox, che se nascondo l'applicazione nel dock, scompaiono tutte le finestrelle. Già che siamo in tema, godetevi anche la versione "schermo intero": direi che se sei un grafico e stai lavorando su una sola immagine in alta definizione non puoi chiedere di meglio no?

Su tutto regna indiscussa la barra dei menù unificata e spazialmente condivisa tra tutte le applicazioni, marchio di fabbrica del MacOS. Che sia cosa buona o meno io non lo so. So che, tanto tempo fa, quando ancora installavo GNOME e KDE, feci una settimana di test in KDE usando l'opzione che permette di avere una cosa analoga. Non mi stava molto simpatica: forse l'abitudine a un diverso approccio, forse il fatto che il KDE era pensato per avere la barra dei menù nella finestra e quello era solo un eye-candy, forse un sacco di altre cose. Di certo però l'approccio icona-applicazione nel dock richiede che la barra dei menù sia fatta in tal modo e viceversa. Le due scelte di design sono complementari.

OK, potreste dire che questo è un'altro di quei soliti post che vogliono spingere a uno GNOME sempre più simile a MacOS, fino ad essere una mera copia. Potreste dire che comunque una cosa del genere non è possibile perché GNOME deve fare i conti con X Window System, con gli altri toolkit, con gli standard e via dicendo. Potreste dire una marea di altre cose e vi dovrei anche dare ragione. Francamente però mi piacerebbe tanto avere una migliore gestione delle finestre nel mio ambiente grafico, ossia la possibilità di avere delle finestre toolbox e delle finestre dialogo/allerta che siano finalmente aderenti all'HIG: niente titolo e niente pulsanti per le finestre di entrambi (tranne chiudi per le toolbox). Se poi le toolbox "seguissero" la finestra madre quando viene minimizzata/ripristinata e non comparissero nell'elenco finestre, allora sarebbe il massimo.

E non vi verrebbe più in mente di chiedere un GIMP più simile a Photoshop.

PS - Sì, lo ammetto, il piccolo UI designer che è in me adora le toolbox e le metterebbe ovunque, anche in programmi tipo foglio di calcolo/word processor/presentazione. Per me è logica: finestra con documento e finestrelle con gli "strumenti" che si possono usare sul documento. Un paio di regole ben precise e un buon window manager e il gioco è fatto.

25 settembre 2007

Tromboncino lanciabombe

Prima che GNOME 2.20 finisca sui vostri computer e un'ondata di indignazione affoghi il mio client email, nella traduzione di alcune parti dell'ambiente grafico e del manuale utente, troverete una piccola modifica nella traduzione italiana.

Dite quindi addio, con cuore da traduttore, alle "icone di avvio" e salutate con gioia i "lanciatori".

Le motivazioni del passaggio sono prettamente tecniche.

Numero 1: in originale si chiamano "launcher" e sono definiti e glossariati nel manuale per l'utente di GNOME

Numero 2: non sono proprimente delle icone, anche se a volte prendono aspetto e consistenza di icone. Niente vieta a un launcher di essere una voce di menù nel menù Applicazioni.

Numero 3: non sono propriamente di avvio: servono per lo più ad avviare applicazioni ma possono anche aprire posizioni come cartelle locali e remote, file, pagine web, sezioni di manuale, ecc...

Numero 4: le linee guida del Translator Project italiano dicono che bisogna "tradurre, non spiegare"

Numero 5: la traduzione di un termine dovrebbe essere, quando possibile, il più vicino possibile all'oginale, sempre secondo le linee guida del TP

Numero 6: per quando elencato qui sopra, lanciatore è la traduzione più opportuna.

Numero 7, 8, 9: non rompete troppo, è così e basta :-)

Update mi ero dimenticato di scrivere che, stando a garzantilinguistica.it le traduzioni di launcher sono
  1. dispositivo di lancio
  2. catapulta
  3. lanciarazzi
  4. tromboncino lanciabombe
Alcuni di noi (traduttori, NdR) erano abbastanza propensi per "catapulta"... Il che spiega molte cose sul livello di professionalità dei traduttori di GNOME... e non sapete come scrive Milo su jabber...

24 settembre 2007

Chiedo il massimo della pena, signor presidente

Bisogna smetterla con questi tentativi anarcoidi ed eversivi di rovesciare le fondamento del nostro stato. Volete le prove? Ecco le prove.

Questo che vedere è l'aspetto del tema Glossy distribuito con GNOME.


Quest'altro è l'aspetto del tema Nodoka che sarà predefinito in Fedora.


Bene, ammettiamolo, sono diversi, un po' diversi. Di certo nel colore, un po' nei dettagli.

C'era però bisogno di fare un tema da zero? Oddio, da zero, leggete l'intervista a
Martin Sourada
e scoprirete non solo il perché, ma anche che tale intraprendente giovanotto ha copiato, ebbene sì. copiato il codice a un noto sviluppatore e artista, italianissimo perdipiù, senza nemmeno chiedere.

Non vi va? Riassumo. Fedora, come tutti, applica delle personalizzazioni. Finora si era limitata alla grafica della schermata di login, allo splash screen, allo sfondo predefinito e a usare Mist come tema della icone (che cambia solo le icone delle cartelle e poco altro). Ma Fedora ha in cantiere un nuovo set di icone, Echo, molto dissimile dalle indicazioni di Tango. Contrasti, saturazioni, tavolozze, prospettiva, stile. Tutto diverso. Era necessario un nuovo aspetto anche per il tema delle GTK+.

Ma per 4 o cinque cose che non si potevano ottenere cambiando colori e dimensioni, era proprio necessario fare un tema da zero? E chi ha detto che Cimi non avrebbe apprezzato i cambiamenti e magari inclusi in upstream (Cimi, dimmi che non ti hanno contattato, sennò mi fai fare brutta lettura coi miei lettori)?

Per esempio, i cursori degli scroller di Nodoka non sono malaccio, così come i gradienti dei pulsanti (che sembrano un po' più vetrosi e tridimensionali, forse anche grazie alle due righe più chiare in basso, forse al contrasto col colore dello sfondo, chissà) e il gradiente sulle linguette non attive (guardandolo ora a confronto, quello di Glossy è in effetti un po' troppo netto, sopra chiaro sotto scuro, e appare brutto nello schede disposte di lato). Di certo l'ombretta sui pulsanti attivi è una pessima idea per l'allineamento con gli altri widget e la barra di avanzamento sembra terribilmente irreale.

Morale della storia, abbiamo un altro tema "molto più veloce" che non è poi molto dissimile da altri. Anche se non ho mai capito come si fa a dire (a parte usare dei gradienti che siano computazionalmente meno onerosi, quindi più semplici) che un tema è più veloce. Abbiamo una suite per provarli e stressarli?

Ovviamente analogo discorso vale anche per altre note distribuzioni libere, come Ubuntu e il suo tema Human. A propostito, Cimi, non è che hai per le mani un paio di colori (sfondo, evidenziato, suggerimento) da usare con Glossy per renderlo più "Human"? Io ho fatto qualche prova, ma non riesco a tirare fuori una coppia arancione/{sfondo} adatta :-(

Brand New World

Dovrei rispondere a un paio di email, ma visto che non ho mai avuto tempo/voglia di completare il post a tal proposito, direi di dargli la precedenza.

In più ora è ufficiale. Il nuovo sistema di Virtual File System di GNOME potrebbe atterrare tra sei mesi sui vostri affannati desktop.

Alexander "Capitano, oh mio capitano" Larsson ha appena richiesto di includere GIO e GVF tra i moduli proposti per la versione 2.22 di GNOME. Sì, lo so anche io che la 2.20 è ufficialmente uscita 5 giorni fa, ma che volete, i tempi dell'informatica sono questi. GNOME 2.20, che voi magari non avete neanche ancora provato, per altri è già superato.

Necessarie premesse

Come ogni report che si rispetti, è bene cominciare con calma, da principio e senza tralasciare nulla. Il che vuol dir che non posso dare per assunto che la differenza tra FS, VFS, GNOME-VFS sia nota, visto anche il casino che solitamente regna. Dunque:
  • per FS (File System) si intende un metodo per memorizzare e organizzare file e i dati in essi contenuti. Nell'uso comune è FS sia il modello che l'implementazione (per esempio quando si parla del FS ext3, si può indicare sia la definizione astratta che l'implementazione fisica nell'hard disk che avete nel computer). Inoltre viene chiamato file system anche tutto ciò che risiede all'interno della directory radice nel proprio sistema - insomma, come casino iniziale non c'è affatto male
  • per VFS (Virtual File System) si intende un livello di astrazione che permette di specificare una interfaccia tra un kernel e un file system ("reale"). Il virtual file system server per avere un solo metodo per compiere la stessa operazione (per esempio leggi) indipendentemente dal supporto su cui la si esegue (hard disk con GNU/Linux, hard disk con Windoze, CD-ROM, DVD...)
  • lo gnome-vfs infine è anch'esso un livello di astrazione, che però non si pone tra il kernel e i dispositivi reali, ma tra l'userspace e l'applicazione di GNOME e che fornisce anche un certo numero di funzionalità non previste (e spesso del tutto estranee) al VFS, come ad esempio l'identificazione del tipo MIME e dell'applicazione che gestisce un certo tipo di file oppure l'accesso tipo-filesystem a cose che file system non sono oppure ancora la risoluzione di nomi di host.
Spero di aver chiarito come i tre layer si occupino di cose distinte. Oh, non dimenticate che lo gnome-vfs deve poter funzionare su kernel e sistemi operativi diversi, per cui è normale che vada a ridefinite alcune porzioni già presenti nel VFS.

Lo spettro del passato

L'attuale gnome-vfs ha sulle spalle 8 anni di utilizzo, rifinitura e migliorie. In realtà quello che spesso si nota di più sono le limitazioni e i problemi che presenta :-(

Proprio dal lungo elenco di questi problemi è partito Alexander Larsson ormai un anno fa:
  • compatibilità assente - nell'ottica di interoperabilità tra i vari desktop environment, gnome-vfs è limitato al solo ambiente GNOME (senza scomodare altri sistemi operativi, KDE usa un proprio vfs praticamente incompatibile) e alle sole applicazioni che lo usano esplicitamente (notare che le applicazioni GTK-only non traggono alcun beneficio dalla presenza di gnome-vfs; un esempio dovrebbe essere la versione Linux di Acrobat Reader)
  • supporto ai DisplayNames assente - non mi ricordo più che cavolo fosse, quando scrissi questa parte....
  • supporto per le icone assente - già, sembra strano, ma essendo gnome-vfs svincolato per design da qualsivoglia toolkit grafico, al momento la scelta dell'icona da mostrare per un determinato tipo di file è demandata all'applicazione; questo comporta il non ottimale (e magari non esente da errori) ripetersi di codice per stabilire l'icona per un file nelle applicazioni.
  • astrazione vincolata dal modello POSIX - sempre per design, gnome-vfs è stato progettato in modo da basarsi su un'astrazione simile a quella del modello POSIX (nel senso, credo di FHS, ma anche di read() e write()); tale astrazione ha mostrato nel corso del tempo i suoi limiti, primo tra tutti il seppur ottimo modello POSIX mal si presta a operazioni di alto livello sui "file documento utente" perché basato sulla distinzione dei file in file di configurazione, file di sistema, file di dati della applicazioni; il gnome-vfs invece opera per lo più su file che l'utente vuole aprire, leggere, spostare, copiare, insomma file che l'utente manipola direttamente nelle attività di tutti i giorni con un'astrazione a livello superiore. Allo stesso tempo basandosi sul modello POSIX, l'implementazione dei moduli dello gnome-vfs diventa problematica (esempio: seeking durante la scrittura su webdav, poichè webdav funziona in modo molto differente dal modello POSIX)
  • framework di autenticazione - se avete mai avuto a che fare con i dialoghi di autenticazione quando tentate di accedere a una risorsa (remota) per la quale è necessaria una password, sapete quanto la cosa sia al momento arzigogolata.
  • URI specifici di gnome-vfs - per identificare i file, gnome-vfs usa delle particolare stringhe dette "URI di gnome-vfs", per esempio file:///home/luca/file.txt. Oltre a seguire uno standard proprio (vedi problema #1), oltre ad avere una serie di problemi di escaping di tali stringhe (pensati ai nome di file con spazi e a come sono gestiti su diversi backend [fs reale, samba, webdav...] gestiti da gnome-vfs), l'aver definito URI queste entità ha spesso creato la falsa convinzione che gnome-vfs fosse progettato per gestire in toto gli URI di tipo web, con conseguente supporto ai link mailto: ed header http extra
  • enorme numero di librerie esterne - gconf, ORBit, avahi, hal, dbus, popt, libxml, kerberos, openssl, libz, libresolv, fuse, samba, selinux... nel corso degli anni si è accumultato in gnome-vfs una serie di funzioni molto spesso non necessarie alle applicazioni, o meglio necessarie solo a poche applicazioni. Non si tratta di funzioni inutili, certo, ma di funzioni che andrebbero spostate altrove
  • asincronicità delle operazioni - anche qui i problemi sono parecchi, primo tra i quali l'annullamento di una operazione asincrona
  • varie ed eventuali - un esempio per tutti, vicino a quella che è l'esperienza giornaliera dell'uso di GNOME: un dialogo standard per l'avanzamento delle operazioni di copia/spostamento
Mi rendo conto che si tratta di un elenco di problemi più che altro tecnici e di design della libreria, lontani in fondo dall'uso quotidiano.

Se però non capite come mai non vi riesca di elencare tutte le risorse condivise via SAMBA o accedere a qualcuna di esse con GNOME, allora il problema è sicuramente in uno dei punti precedenti :-)

Nota: se in questa sezione avete letto qualche stronzata, è perché l'ho platealmente copiaincollata da un post mai pubblicato aggiornato l'ultima volta a dicembre 2006.

La luce alla fine del tunnel

Per la verità GIO e GVF erano disponibili già da qualche tempo in alcuni repository privati di Alex; da una settimana o lo sviluppo si era ufficialmente spostato sul repository SVN di GNOME. In simile data Alex aveva dato luce a un branch di sviluppo di Nautilus in cui gnome-vfs sarebbe stato sostituito da gio.

Con un messaggio in lista, fa il punto della situazione, dichiarando che forse è possibile includere GIO e GVF nella 2.22.

Di cosa si tratta esattamente? Dunque:
  • gio - è una libreria basata su gobject che fornisce un'astrazione per diverse forme di Input/Output. In futuro dovrebbe essere inclusa direttamente in glib.
  • gvfs - è una delle implimentazioni possibili di gio, in particolare quella che va a fornire il "vfs in userspace" simile a quello di gnome-vfs
Chiaro, no? No?!? Allora provo a tradurre un po' di più il messaggio di Alex

Astraimi il flusso

Dire in poche parole cosa è GIO non è facile, specie se voglio fare il divulgatore. Stando alle parole di Alex, al momento GIO include le seguenti funzionalità:
  • Classi di base per gli stream di input e output - beh, se è un'API per consentire di effettuare l'I/O direi che una cosa del genere ci deve stare per forza, no?
  • Implementazione concreta di alcuni stream - file locali, socket e buffer di memoria
  • GFile - una astrazione di "filename", ossia un oggetto che rappresenta qualcosa simile a un percorso di nome di file, ma con in più la caratteristica di poter essere esteso in modo da rappresentare anche gli URI o qualcosa di completamente diverso (come dicevano i Monty Python). Nella pratica dovrebbe essere ciò a cui si appoggeranno le applicazioni per compiere le varie operazioni su file, ovunque essi si trovino
  • Una implementazione di GFile per i file locali
  • API varie per la gestione dei file, tra cui: annullamento di operazioni di I/O, tipi di contenuto (MIME?), icone, legame tipomime <-> applicazione che lo gestisce, monitoraggio di volumi, file e directory.
Ora, se voi siete sviluppatori e avete a che fare con problemi inerenti l'apertura, il salvataggio, lo spostamento o ogni altra azione che vi può venire in mente relative ai file, allora GIO è quella porzione del futuro GNOME Desktop in cui cercare la funzione che vi serve.

Notare come GIO sia un'astrazione, nel senso che, a parte l'ovvia implementazione relativa ai file locali, offre solo i metodi che gli sviluppatori andranno a invocare (o evocare), non i dettagli relativi ai singoli casi. Riprendendo l'esempio di Acrobat Reader, la Adobe potrà in futuro usare GIO (in particolare la porzione GFile) per le operazioni di apertura e salvataggio di file, l'utente di Reader potrà aprire o salvare file in locale o in remoto in funzione delle implementazioni presenti nel sistema in uso. Figo, no?

Ovviamente le singole implementazioni sono dei moduli, e con questo arriviamo a...

Implementami il virtuale

...GVF, ossia una implementazione di GIO che fornisce quel "vfs in userspace" simile all'attuale gnome-vfs.

Sempre traducendo l'email di Alex, attualmente le seguenti porzioni sono disponibili in gvfs:
  • Una libreria client - un GModule che viene caricato da GIO e che implementa GFile e altra roba richiesta per consentire l'accesso e la manipolazione dei file. Tale libreria fa uso di DBUS per chiedere al demone (vedi punto successivo) in protocollo di I/O necessario
  • Un demone gfvs principale - collegato alla sessione, tiene traccia di tutte le posizione montate e consente di montarne di nuove
  • Un'orda di demoni di mount - ciascuna posizione montata è gestira da un demone separato (previene da instabilità reciproca dei vari demoni)
  • FUSE - sì. come poteva mancare un supporto a FUSE? Ah, supporto a FUSE nel senso che le applicazioni che non fanno uso di GIO possono accedere via FUSE ai filesystem montati da GIO. Nel senso inverso... beh, scrivetevi un modulo!

La luce alla fine del tunnel

L'elenco (sterile, lo so) di caratteristiche forse non può dire molto. Allora metto su il berrettino da entusiasta[1] e dichiaro quanto segue.

GIO+GVFS non è la soluzione a spinosi problemi che affliggono l'intera umanità, cose come la fame nel mondo o il proliferare della armi da fuoco.

GIO+GVFS è una porzione del futuro GNOME Desktop e Piattaforma di sviluppo (quando GIO verrà incluso in glib) che, nelle intenzioni:
  1. renderà più "snello" lo GNOME Desktop
  2. renderà più facile per gli sviluppatori che scrivono codice per GNOME o anche solo per GTK+ produrre software che vada a mettere mano (o piede) su dei file (locali, remoti, astratti o altro che siano)
  3. dovrebbe rendere meno problematico l'uso di file non locali e/o non reali agli utenti finali (anche se, ricordiamolo, l'utente principale di GIO è lo sviluppatore)
Tutto il resto è solo chiacchiere e distintivo.

Specie se le applicazioni che al momento usano per motivi diversi gnome-vfs per le operazioni su file non migrano a GIO+GVFS o se non si scrivono nuovi moduli :-)

[1] nella accezione che il noto psicologo/psichiatra/psiqualcosa Alberoni da nel suo bellissimo libro "L'ottimismo", ossia di quella persona che è al di là del pessimista e dell'ottimista, una sorta di imbonitore e trascinatore di folle umane...

20 settembre 2007

Blow Up

Ohi! Ho notato un paio di cose incredibili!!!!!

Provate a fare così: aprite il vostro browser web preferito e andata alla pagina http://www.gnome.org/start/2.20/notes/en/ poi scrollate un po' verso il basso, trovate una riga che dice "These 2.20 release notes are available in several languages" poco oltre c'è scritto "Italian", fate clic su "Italian". Come per magia la pagina si traduce in italiano!!!

Ma non è finito qui.

Se scrorrete verso il basso la pagina tradotta, trovate a un certo punto una schermata in cui si vede una finestra in cui un tizio sta scrivendo un'email. Se leggete il testo dell'email (se avete il programma in questione nella versione indicata) troverete che quelle indicazioni sono reali!!

Scrorrendo ancora verso il basso c'è un'altra schermata: il tizio che l'ha scattata (che io no so proprio chi sia... che nome è Beta Tester... uno pseudonimo... di certo è un hacker di quelli coi controfiocchi se riesce a usare un nome falso nelle email), dicevo, il tizio che l'ha scattata conosce Asia Argento! Ho controllato su Internet e la data del compleanno corrisponde!!!

Ah, dico che è un hacker perché più sotto, in un'altra schermata, sta compilando un modulo per partecipare a una festa di compleanno usando un nome falso: Stefano Belisario. Stefano Belisario, sempre stando a Internet, che dice solo cose vere. è un cantante con la voce di merda, come quella che canta, che è passato a fare il pornografico. Un'ottimo modo per un hacker di imbucarsi a una festa portando solo i dischi...

A meno che... Oh mio zio! Non è un hacker, ha conoscenze molto molto in alto! Non mi stupirei se avesse anche un robot gigante dal nome Ratzinga...

Questo post idiota sulle schermate e sulla loro percezione, scritto di fretta tra l'altro, è dedicato a chi redige i palinsenti delle emittenti non criptate, non a pagamento e non-un-sacco-di-altre-cose per aver aspettato (a mia memoria) che Ingmar Bergman e Michelangelo Antonioni morissero per mettere in onda dei loro film, nello specifico Fanny e Alexander del primo e Zabriskie Point e Blow-Up del secondo, peraltro uno dopo l'altro. Se fossi in voi terrei d'occhio Monicelli, pare abbia detto: "Bergman è morto, Monicelli è morto e anch'io non mi sento molto bene".

19 settembre 2007

Ripensamenti

Per chiunque fosse rimasso scosso dal post di ieri, segnalo, fresco di scoperta causa ritardato completamente traduzione:
/apps/eog/view/scroll_wheel_zoom
E chi ha orecchie per intendere, intenda...

17 settembre 2007

Feature or Bug?

Nelle note di rilascio, che non mi annoio a linkare qui, non è riportata una nuova caratteristica che, probabilemente, grandi discussioni causerà in futuro. Non è riportato neanche il nuovo tema, ma secondo me solo perché sono tutti indiviosi di Cimi... Tant'è che Fedora 8 avrà come tema una versione di Murrine modificata: Nodoka.. Bah!

Comunque, tornando a bomba: in Eye of GNOME la rotella non effettua più lo zoom. Ohhh! Ahhh! Ehhh! Ma daiiiii!

IMHO: era ora!!

La rotella del mouse nasce come "scrollweel" quindi, tautologicamente, serve a far scorrere qualcosa. Fa scorrere le pagine web quando le si visualizza in Epiphany, fa scorrere i documenti PDF/PS/DejaVu/Comicbook in Evince, fa scorrere i testi in gedit, Evolution e in tutte le caselle di testo, fa scorrere gli elenchi, fa scorrere le viste a icona. Anche il buon GIMP usa la sceollweel per scorrere.

Perché diamine EoG dovrebbe usarla per lo zoom? Perché finora non rispettava le HIG, che dicono, espressamente, che lo zoom deve essere effettuato con Ctrl+scrollweel, anzi aumento del livello di ingrandimento con rotazione della scrollweel verso l'alto, riduzione con rotazione verso il basso.

Se trovate qualche applicazione che non si comporta così, non esitate a segnalarlo su bugzilla. Io ho trovato F-Spot, che si comporta come il vecchio EoG, ma ho un dubbio: segnalo il bug o chiedo che venga realizzata da zero una nuova applicazione in linguaggio C, magari basata su tracker e gegl, con una logica un po' meno perversa? Ho già il nome pronto, o quasi: se la Apple ha le iApps, GNOME potrebbe avere le AppsBox: RhythmBox, PhotoBox, ClipBox e via dicendo

14 settembre 2007

Sinonimo di genuinità e garanzia del consumatore

Per replicare alle numerose manifestazioni affetto e gratitudine ricevute, visto che la data del 19 settembre si avvicina e qui sembra non muoversi nulla, ecco un paio di trucchi per rendere molto più tanghera (e figa) la vostra futura installazione di GNOME 2.20.

Attenzione, è materiale confidenziale e io negherò di aver pubblicato questo post.

Fatemi uscire da qui

Update: all'ultimo momento, cioè cinque minuti prima di preparare il pacchetto per la 2.20, ma a quanto pare il cambiamento è stato accettato! Niente più bisogno di andare a pasticciare in /usr

A causa di una banale dimenticanza e delle limitazioni imposte (freeze) dello schema di rilascio di GNOME, il pacchetto gnome-icon-theme versione 2.20.x installa una doppia versione dell'icona "gnome-logout": la vecchia icona a forma di porta aperta con la freccia rossa e la nuova, una sagoma umana che "si muove"... OK, descritta così parrebbe veramente orribile, ma sinceramente e personalmente la trovo gradevole, un po' come tutte le cose nuove che non fanno proprio schifo.

A causa di questioni di precedenze che non vi sto a spiegare, è possibile che la vecchia icona venga presa e usata, specie se deve essere disegnata a 48×48 pixel.

Se avete permessi di amministratore, potete eliminarla senza colpo ferire con comandi del tipo:
$ cd $PREFISSOINSTALLAZIONE/share/icons/gnome
$ sudo rm 16x16/apps/gnome-logout.png
$ sudo rm 24x24/apps/gnome-logout.png
$ sudo rm 48x84/apps/gnome-logout.png
o con ogni altro trucco/metacarattere/find che vi venga in mente. Attenzione: nella serie 2.20 ci saranno "due" icone dal nome gnome-logout. Deve essere tolta solo quella sotto la directory apps, non quella sotto actions (questa seconda infatti è la nuova icona, se eliminate anche quella, allora la questione è accademica).

Ovviamente, il procedimento andrà ripetuto ogni volta che installerete o aggiornerete gnome-icon-theme, almeno per altri 6 mesi.

Appiccicami tutto

Per questioni analoghe a prima (a cui aggiungo che discutere con jimmac talvolta è difficile e con dobey sempre e comunque impossibile - BTW ma la Novell lo ha cacciato?), non è stato possibile aggiornare alcune delle icone dei simboli (emblems) che rendono Nautilus tanto figo. In questo caso, oltre al disegno "vecchio", c'è anche la questione delle dimensioni delle icone, recentemente modificata nel codice di Nautilus stesso e nella organizzazione di gnome-icon-theme.

Qui possiamo fare qualcosa anche senza invocare per forza i poteri della super mucca. Basta che vi scaricate questo pseudo-tema che ho premurosamente preparato e lo estraiate nella directory $HOME/.icons/ (quella in cui stanno le icone locali). Per le solite ataviche questioni di precendenza e dimensioni, verranno prese le icone locali, a meno che non zoomiate troppo,

Il risultato - i più accorti, o paranoici, lo avranno già notato[1] - è visibile nella schermata del precedente post relativo al rubberbanding. Osservate meglio i simboli applicati alle cartelle visibili e... stupitevi!

Se proprio volete zoomare tanto... beh, ma debbo spiegarvi tutto io? Andatevi a leggere le specifiche dei temi di icona e vedere se riuscite anche voi a essere dei piccoli wannabe-guru.

[1] cioè, dovreste essere come quelli che hanno visto l'icona del bluethoot su delle immagini ufficiali dell'iPhone e hanno decretato che il chip c'è ma è disattivato...

Tapparella

Prima di tutto:

Visto che siamo in clima di roventi polemiche contro la mediocrità (e di citazioni eliche per conto mio), cito le seguenti conclusioni:
[...] Quindi, in mezzo alle celebrazioni, sarebbe una buona idea per i promotori di Gnome fermarsi a pensare a cosa avrebbero potuto realizzare se avessero unito le forze con il concorrente Kde e dunque se ci fosse stato un unico progetto comune. Ne avrebbe giovato tutto il mondo Open Source, avendo una alternativa ancora migliore da contrapporre ai sistemi Microsoft. - da TuxJournal.net
Ma mi faccia il piacere!

Dunque la catena di pensieri è (il corsivo è mio, ovviamente):
  • GNOME (ah, notare GNOME non Gnome) ha ormai dieci anni
  • è nato perché le QT non erano libere, ma le QT ora sono libere e sono sempre state un passo avanti
  • tutti parlano di KDE 4 e nessuno è andato alla festa di GNOME (io ho portato i dischi ma non mi hanno fatto entrare)
  • Torvald ha fatto una delle sue (cicliche) uscite a cacchio dicendo che GNOME è una merda (perché non si poteva configurare il comporamento del clic centrale sulla barra del titolo, faccio presente, opzione immancabile e necessaria a tutti gli utenti, tant'è che io stesso la modifico 4 o 5 volte al giorno ora che c'è)
  • Volkerding ha smesso 4 anni fa di impacchettare GNOME perché non riusciva a metterlo sotto /opt/gnome (e la colpa era _solo_ di GNOME visto che allora pkg-config era in mente dei)
  • solo il fatto di essersi legato a Ubuntu ha tenuto a galla GNOME e solo perché il ciclo di rilasci avviene nello stesso periodo (io ho capito questo leggendo... ma RedHat/Fedora dove la mettiamo? e poi non è Ubuntu che si è legato a GNOME, semmai?)
Stabilito tutto ciò, decretiamo: "i promotori" di GNOME dovrebbero cospargersi il capo di cenere, flagellarsi, autolesionarsi e ammettere che KDE sarebbe ora molto meglio di ogni altra cosa immaginabile se loro non avessero perso tempo e fatto perdere risorse e visibilità a KDE.

Io comincerei, ma qualcuno mi spiega prima:
  • perché il fatto che KDE sia un progetto europeo rappresenta uno svantaggio? Se fosse stato cinese cosa avrebbe avuto, l'embargo?
  • perché non dovrebbero essere "i promotori" di KDE a cospargersi il capo di cenere , compiere tutte quelle azioni stupide prima elencate e innalzare al cielo lamentele tipo: "cazzo, sono dieci anni che produciamo un ambiente desktop nella sostanza migliore eppure abbiamo molta poca visibità, guarda cosa è successo con Ubuntu! Chissà cosa avremmo potuto realizzare se fossimo confluiti in GNOME"[1]
  • perché gli illuminati "promotori" di KDE stanno ricreando un loro compositing manager (se non erro) visto che c'è già Compiz?
  • perché le necessità di Linus Torvalds dovrebbero essere quelle di un normale utente come Mia Madre o Mia Sorella? Ho delle famose sviluppatrici di kernel per ambienti UNIX liberi in casa e non me ne sono accorto?
PS ma dire qualcosa tipo "Oh, sono dieci anni che il progetto GNOME esiste, lunga vita al progetto GNOME e speriamo che risolva presto i problemi che lo affliggono" sembrava troppo poco da fine intenditore di ambienti desktop moderni e funzionali?

[1] io 'ste storie unilaterali tipo "chi va con lo zoppo impara a zoppicare" non l'ho mai capite. Cioè, se io esco con Paris Hilton, divento io deficiente o lei nichilista scettica con tendenze minimaliste? Se divento amico di Rocco Siffredi mi si alluga a me o si accorcia a lui???

Quiz d'intelligenza

Quante righe bisogna cambiare (aggiungere E rimuovere) per avere il rubberbanding in Nautilus?

A) più di 100
B) più di 50
C) più di 20
D) più di 10
E) meno di 10

Domani mattina la risposta....

---- Update ---

È già mattina. Allora, la risposta esatta è 17. Complimenti a Emmanuele... anche se secondo me ha barato e ha sfruttato le sue conoscenze tra gli sviluppatori di Nautilus per avere informazioni confidenziali.Cose del genere in aziende serie come Apple Inc. non accadrebbero...

Ora debbo solo capire se la futura versione in cui la cosa potrebbe comparire la 2.20.1 oppure la 2.21.0 (mai che mi ricordi cosa si rilasci alla fine del freeze).

Per Cimi: il rubberbanding è una cosa molto semplice che tanti problemi da ai poveri traduttori. In pratica si tratta di quel rettangolo di selezione che trascinando si estende intorno agli elementi, selezionandoli. Ossia, in atre parole, quello che appare quando fai clic e trascini a partire da un punto non occupato da icone nella finestra del file manager. Pare che sia una mancanza non averlo anche nella vista a elenco, anche se, avendolo, bisogna un po' riabituarsi: per trascinare un elemento con il rubberbanding nella vista a elenco bisogno prima farci clic per selezionarlo, poi rifare clic-and-hold per trascinarlo, visto che se si fa subito clic-and-hold si fa partire il rubberbanding.

Oh, dimenticavo: l'obbligatoria schermata da sito di rumors.

12 settembre 2007

Ho fatto le analisi, tutto a posto

Ah, il bello delle comunità.

No, non quel vago senso di promiscuità sessuale che contraddistingueva quei fottuti fricchettoni degli anni '70. Piuttosto quel senso di io faccio qualcosa, tu fai qualcosa, tutti facciamo qualcosa che avvantaggia anche gli altri quasi senza che ce ne rendiamo conto. Sì, forse avrei dovuto trovare un po' meno parole per descrivere un senso, ma non mi andava di ricorrere a qualche oscuro dialetto africano. Insomma, io al liceo mi sono dovuto leggere e studiare "La lingua tra norma e scelta"... ma che ve lo spiego a fa' lo strutturalismo di De Saussure (si pronuncia "desussurhrh")... vabbè, magari pensate ai Rammstein e capite cosa è lo strutturalismo.

Prendiamo a esempio il mio caso. Io volevo solo che le note di rilascio, anzi che la traduzione italiana delle note di GNOME 2.20 fosse veramente figa, con delle belle schermate autoesplicative e raffinate. Volevo che il PDF con form mostrato in Evince fosse in italiano, perbacco. E invece no. Avevo il PDF, gentilmente offerto, ma non riuscivo a modificare i form. Provavo, riprovavo, ricompilavo, riceckoutavo. Niente. Ho scritto alla mail list. Ho ricevuto risposta in 19 minuti. Modifiche dell'ultim'ora (cazzo, ma si possono mettere due elisioni di seguito?) causa versione da cui dipendere, messe lì e poi dimenticate: ci saremmo trovato un Evince mozzo per colpa di un #ifdef.

Ve lo sareste trovato anche voi, grande maggioranza silenziosa che non ha facoltà di commit e non usa jhbuild.

E invece troverete, voi e tutti i voi nel mondo che non leggono queste pagine, un programma funzionale e funzionante, perché tanti piccoli ometti perdono qualche ora del loro tempo a fare stronzate dissociative e alienanti come catturare delle schermate per delle note di rilascio senza chiedere nulla altro che il riconoscimento del loro lavoro e altri ometti stanno lì ad ascoltare i problemi di quelli che non riescono a catturare le schermate e dicono "Oiboh! abbiamo un problema" e si ingegnano a porvi rimedio anche loro senza chiedere nulla altro che il riconoscimento del loro lavoro...

... ora che mi ci fate pensare: almeno ringraziate, bastardi!

11 settembre 2007

Do ut des, Clarissa

Se io vi rendo noto che in GNOME 2.20 finalmente sarà possibile trascinare senza problemi file da una finestra di File Roller a una di Nautilus (scrivania compresa), voi ricambiate il favore e mi linkate nei commenti un bel file PDF in italiano che abbia del moduli (o form) da riempire? Mi serve per le schermate delle note di rilascio, mica ne faccio collezione...

Vi ho fatto un'offerta che non potete rifiutare. Dunque proseguo con un personale comunicato ufficiale:
Nella prossima versione di Nautilus (e comunque già presente sul TRUNK del repository svn) sarà implementato il Direct Save Protocol per X Window System (o XDS in breve). In pratica, sarà possibile far corrispondere una azione di trascinamento tra applicazione e file manager con una azione di salvataggio/creazione di un nuovo file. Tale funzionalità correggerà finalmente un annoso e storico problema di comunicazione tra il file manager Nautilus e il gestore di archivi File Roller, ma potrebbe anche aprire interessanti orizzonti Update (p.e. selezione di testo, trascinamento del testo sulla scrivania o su una finestra del file manager e creazione di un nuovo file di testo contenente quanto selezionato e trascinato) Mi dicono dalla regia che la cosa è già possibile, direi che debbo capire meglio a che serve 'sto XDS...

Alexander Larsson, maintainer del file manager ha dichiarato: «I've commited XDS support losely based on Amos patch. However, it doesn't yet support dnd to the list view.»
OK? Ora tocca a voi. Fuori i PDF con modulo.

20 agosto 2007

Atto secondo

> luogo
l'androne di un condominio
> personaggi
Luca, appena uscito dall'automobile
Inserviente, che ha appena terminato di lavare il succitato androne
> annotazioni
Inserviente parla con evindete inflessione siciliana, non riportata
Luca è un gran pezzo di figo, in pantaloni corti e maglietta semiaderente con scritto (sulle spalle) "Grazie a Dio sono ateo"

--------------------
Inserviente: come mai qui, niente vacanze?
Luca: mah, avevo qualche giro da fare e in pratica sono qui solo per oggi e domani...
I: ma ci vai in vacanza?
L: beh, torno a casa in montagna, poi...
I: in montagna? al mare dovresti andare!
L: ..... ma io avrei casa in montagna...
I: perché? non ti piace il mare?
L (a parte): ma questo ci fa o ci è?
I: le vacanze si fanno al mare, a fare il bagno e prendere il sole sulla spiaggia.
L (sbrigativo): lo ammetto, mi hai scoperto: vorrei tanto andare al mare, ma sono ingrassato e col costume si vedrebbe una evidente pancetta. Quindi, finché la pancetta non scompare sono costretto ad andare in montagna: lì almeno posso indossare larghe magliette come questa con scritte buffe che distraggono dalla panciuta protuberanza. Vado, ciao.

3 agosto 2007

La legge di Murphy

No, non l'immortale classico della storia del cinema. Piuttosto la disastrosa sequenza di eventi.

La missione era semplice: tornare a casetta un paio di giorni per portare il cagnolone a fare la seconda parte delle vaccinazioni annuali e recuperare la sorella dalla settimana di vacanze col ragazzo (nota polemica: perché io no alla sua età? Sarebbe stato anche meno impegnativo, visto che ne avevo una diversa per ogni estate) .

Mattina: la sveglia non suona, o forse suona ma io non la sento. Poco male, visto che mi sono svegliato da solo 10 minuti dopo. Niente latte né biscotti, pietosa colazione a base di tisana al finocchio (???????) e fette biscottate.

Mattina, un paio di ore dopo: le serrande del veterinario sono abbassate, davanti un cartello con l'indicazione "In ferie dal 4 al 19 agosto" ma non è domani... signora, oggi è tre, vero? ah, anche lei qui per il veterinario, aspetti, c'è un numero di cellulare per le urgenze, provo a chiamare... tutto a posto, visita a domicilio, tra 10 minuti è qui.

Mattina, 10 minuti dopo: controllo completo - ma l'ha fatto 2 settimane fa e negli ultimi sette giorni il cagnolone non ha fatto altro che correre per boschi - vabbe' tanto sono comunque 25 euri. Forasacco nell'orecchio. Mi preme far notare come nessuno dei sintomi elencati nella pagina coperta da copyright precedentemente linkata siano stati evidenziati.

Mezzogiorno: inutili i tentativi di intervenire anche dopo la somministrazione di un calmante (povero Barry, non riusciva a capire perché diamine non riuscisse a rimanere in piedi; cmq tenere fermo un cane da caccia è impresa impossibile), necessaria anestesia. Altri 25 euri. E io che stavo coi soldi contati e pensavo di andare a cena fuori. Sorvoliamo sul trasporto dallo studio all'automobile tipo Pietà del Michelangelo. Pietoso anche il tragitto automobile ~ portone di casa, ovviamente il quel momento rientrano a casa altri 3 condomini, 4 persone dei palazzi di fronte: "No, non sta morendo, è solo l'anestesia. Sì, anche gli occhi girati in dentro e la lingua a penzoloni".

Pomeriggio: necessaria compensazione affettiva, della serie visto che sto male voglio stare sul tuo letto e tu devi stare qui con me. A puttane anche un paio di giri per acquisti. E vai così. Fortuna che al solito orario di passeggiata riesce a muoversi, così almeno incontriamo Valentina e Asia.

Pomeriggio inoltrato, quasi sera: passeggiare con un cane che barcolla come un ubriaco è strano, ma attira anche più ragazze del solito. Almeno finché non appare la signora Isabella: rompicoglioni di primissima categoria, ha eletto me e Valentina vittime dei suoi discorsi sconclusionati, petulanti e fastidiosi; senza dimenticare l'atteggiamento da ninfomane che mi dimostra. Cazzo, stavamo così bene da soli, io e Valentina a sparare idiozie, Asia a correre dietro a un bastone e Barry traballante che guarda Asia correre con invidia. Bombardamento a tappeto, peggiorato dal fatto che era almeno un mese che la scampavamo. Tipicamente la mia mente vaga e riesco a mantenere coerenti i cenni del capo con il discorso (se vogliamo chiamarlo così). Oggi ho reagito, l'ho corretta, non doveva dire "Il vecchio Lebowski" e "l'attore Altman". Temo che ora sia ancora più attratta da me. Più o meno rovinosamente io e Valentina riusciamo a scappare. Peccato solo che non ci rivedremo fino a settembre e che, all'atto dell'apparizione della signora Isabella il discorso stava scivolando su "ma c'è un motivo valido per cui non due non ci si è scambiato il numero di cellulare?"

Ore venti e trenta: Barry beve circa 3 litri d'acqua. Bene, lo aiuteranno a smaltire l'anestesia.

Ore ventuno, cinquantuno minuti e 28 secondi : guarda come dorme, sembra un angioletto, ora mi infilo le scarpe e facciamo un giro, con tutta l'acqua che ha bevuto

Ore ventuno, cinquantuno minuti e 32 secondi: i tre litri d'acqua hanno riempito la cuccia, con Barry dentro.

Mezzanotte e un quarto: il veterinario è ufficialmente in vacanza, il pavimento è asciutto, la cuccia a mollo con il Napisan, Rhythmbox suona gli Smashing Pumpkins, la signora Isabella a casa col marito che ha il diabete e si sa che quando uno ha il diabete non gli si drizza più, Valentina avrà finito di preparare le valige, mia sorella anche, Barry è asciutto e profumato anche se non sa dove dormire. Io qui, libero, nel senso di "la vera libertà è non aver nulla da perdere". Una volta una ragazza mi fece notare come a me "piace sentirmi perdente e fallito". È vero, dovrei essere contento del fatto che quel fottuto forasacco sia stato individuato e rimosso in tempo, eppure non ci riesco, mi continuo a chiedere se tutto il resto sia necessario e perché ogni volta io finisca in queste spirali di casini. Insomma cos'è? Esistono N universi paralleli e questo è quello in cui a Luca capita sempre qualcosa che va storto? Non poteva non esserci il forasacco, o per lo meno non essere necessaria un'anestesia totale per rimuoverlo? Non poteva essere che la signora Isabella usciva 1 ora prima e non ci incontrava? Non poteva essere, al limite, che magari Valentina aveva una cotta segreta per me e magari veniva a cena da me (notare il malizioso corsivo sul verbo). Qual è l'universo in cui a Luca oggi sono capitate tutte queste cose, perché sinceramente farei a cambio. Magari però in quell'universo parallelo la XII Legislatura non è mai caduta e Silvio Berlusconi è ora Primo Magnate dell'Impero a Stati Unificati d'Eurasia...

17 luglio 2007

Saluti carissimi!

Ancora per un paio di giorni sarò lontano da casa, a pomiciare su qualche spiaggia (ah, ah come direbbe Nelson[1]) di una certa isola italiana.

In compenso, consolatevi pensando che prima di partire di casa ho perso tre quarti d'ora (con possibile conseguenze nefaste sull'intera partenza) perché volevo a tutti i costi mettere nel lettore musicale portatile la canzone Fever dei Faith No More che, misteriosamente, non era nella mia libreria... «Non è possibile, l'ho ascoltata l'altro giorno!! Non è possibile, né Tracker, né Rhythmbox, né find riescano a trovarla!!!»

Poi mi sono illuminato. Cercavo Easy.

Non c'è search engine che tenga il passo con tuo cervello. Specie se è spento.

Ah, già che c'ero ho aggiunto anche Digging the Grave, sai mai che una volta nella vita riesco a replicare la scena di Jack Frusciante è uscito dal gruppo, senza augurare la morte a nessuno...

[1] a proposito: sul sito ufficiale di Simpson The Movie è possibile creare un proprio avatar come se fosse stati disegnati da Matt Groenig...

12 luglio 2007

One more thing

Apple acquista CUPS....

....speriamo almeno che aggiornino la pessima grafica dell'interfaccia web e del logo...

felipe è un megalomane

... e anche un po' egocentrico.

La risposta corretta era: ma guarda un po' quante belle icone nuove in stile Tango e con la giusta metafora.

Notare infatti, da destra verso sinistra:
  • salva - nuova metafora, basta con il floppy che i 'ciofani[1] manco conoscono
  • stampa - lo vedete il foglio che "transita" nella stampante?
  • taglia - gli occhi delle forbici sono rossi, è un'azione "distruttiva"
  • trova - muori lente d'ingrandimento, muori
  • trova-e-sostituisci - muori lente d'ingrandimento, muori[2]
Sono solo alcuni esempio delle nuove o aggiornate o migliorate icone che nelle ultime 2 o 3 settimane sono approdate in gnome-icon-theme, grazie all'impegno di Lapo Calamandrei, Andreas Nilsson, Jakub Steiner, Ulisse PetrusinPerusin, Josef Vybiral e altri.

Update scusa Ulisse, andavo a memoria e mi sono detto «no, no, è Petrusin, non ho dubbi!» nota per il lettore: «non ho dubbi!» è da leggersi - ad alta voce o mentalmente - come nel famoso discorso di fine anno dell'ex Presidente della Repubblica Scalfaro, grazie.

Una visione d'insieme la trovate su http://git.jimmac.net dove sono mostrate tutte le icone in gnome-icon-theme, così come al momento presenti su svn, definite nelle Icon Naming Spec.

Oh, ovviamente sono disponibili anche le versioni "larghe"


Quello che ora manca è solo risolvere il bug 455937 per evitare in giro che si dica che GNOME non è attento ai problemi ambientali...

[1] giovani in ratzinghiano
[2] per dovere di cronaca mi pare che l'icona per trova sia la stessa usata in Acrobat Reader, la lente d'ingrandimento rimane in zoom-*

I'm too sexy for my desktop[1]


Passando ad argomenti più faceti, qualcuno nota qualcosa di particolare nell'immagine qui sopra?

[1] per chi fosse così giovane da non poter ricordare, gooooglate "Right Said Fred"

Sapevatelo!

Il vincitore del concorso tenutosi negli ultimi post ha scelto come argomento una questione un po' spinosa. Perché ogni tot avvii di GNU/Linux avviene il controllo del filesystem, quando il filesystem è di tipo EXT? Fortuna che tra i feed che seguo c'è la serie developerWorks di IBM :-)

Premetto subito che, se il filesystem scelto è ext3 (ossia la versione con journal) tale controllo si potrebbe disabilitare perché c'è già il journal. Però, prima, vorrei ricordare che il filesystem e la correttezza dei dati in esso contenuti è cosa abbastanza delicata. Talmente delicata che se in passato, come me, avete scelto di usare una certa distribuzione francese perché la trovavi nelle riviste con tutti i sui CD e programmi (sì, compreso gcc e pacchetti -devel) e perché faceva uso di un altro famoso e figo filesystem con journal prima che fosse largamente adottato e provato, allora, come me, potreste aver provato l'onta della perdita di parecchi dati - oddio, talvolta aiuta a ripartire da zero e a eliminare vecchie email di vecchi amori che non avreste mai il coraggio di eliminare motu propriu.

Il file system ext3 è stato progettato dal Dr. Stephen Tweedie, basandosi sulla struttura del filesystem ext2. L'unica, minuscola differenza tra i due è che ext3 supporta il journal.

Tale minuscola differenza in realtà comporta un comportamento estremamente diverso. Sebbene infatti la rappresentazione più semplice che si possa fare pensando a un filesytem è quelle di un luogo in cui memorizzare i dati, bisogna tenere presente che il file system deve anche consentire il recupero e la manipolazione di tali dati. Per tali finalità ogni filesystem (nel senso di modello astratto) prevede la definizione di una struttura dati interna definiti metadata. In definitiva quindi i metadata che un certo filesystem definisce e gestisce (e il modo in cui lo fa) caratterizza il filesystem stesso.

I metadata non sono visibili all'utente, né d'altronde potrebbero servirgli a qualche scopo. Sebbene spesso si usi lo stesso nome, non stiamo qui parlando di cose tipo il tag "artista" di un file MP3. L'unica cosa che deve interessare l'utente a proposito dei metadata è che questi si trovino in uno stato coerente, non corrotto. In caso contrario è impossibile accedere ai file e li si è persi in modo più o meno definitivo (vedi parte finale del secondo paragrafo).

In passato il compito di mantenere i metadati in uno stato coerente era affidato ai programmi unmount e fsck. Il primo veniva invocato durante l'arresto del sistema per tutti i filesytem montati e si occupa di riversare su disco tutte le operazioni ancora pendenti (mica penserete che tutto avviene in modo sincrono, vero?), comprese quindi le operazioni relative ai metadata. Il secondo veniva invocato durante l'avvio per controllare due cose: se il filesystem fosse in uno stato usabile (ossia se è stato smontato in modo pulito) e se i metadata fossero coerenti; entrambi i controlli erano (e sono ancora) effettuati prima di montare il filesystem, il secondo eseguito se il filesystem era in uno stato non usabile, cioè se non era stato usato umount.

Ora, come da lamentele del povero buon ORGA, il controllo dei metadata prende parecchio tempo, specie con filesystem grandi. Per risolvere il problema, i progettisti di filesystem hanno ben pensato di aggiungere una nuovo struttura di dati, il cosiddetto journal. Nel journal, prima che si applichino i cambiamenti ai metadata, vengono scritte le operazioni che descrivono tali cambiamenti. Basta. Punto. Finito qui. Aspettavate chissà quale grande pensata? Hanno solo aggiunto un "terzo livello", così da avere i data (la vostra roba), i metadata (dati relativi alla vostra roba) e meta-metadata (il journal, dati relativi ai dati relativi alla vostra roba).

Il trucco funziona perché, in caso di filesystem non coerente, fsck non deve leggere tutto il filesystem controllando tutti i metadata, ma si può limitare a leggere il journal e applicare le modifiche qui elencate (che sono operazioni non applicate ai metadata per renderli coerenti).

Perché quindi ogni TOT avvii ci si presenta quella fastidiosa scansione? Forse per la legge di Muphy, perché va bene che il journal è cosa buona, ma la paranoia è anche meglio. Per cui un bel controllo vecchia maniera di tutti i metadata una volta ogni tanto non guasta.

In effetti a tale proposito ci sono due scuole di pensiero. La prima è "c'è il journal, che ce ne frega di controllare i metadata". La seconda, io credo più corretta, dice "c'è il journal... ma allora in caso di problemi relativi all'unità, ai cavi, alla memoria o a bug del kernel potrei non accorgermi[1] che il mio filesystem è diventato corrotto". La conclusione della seconda scuola di pensiero è ciò che avete sotto gli occhi: meglio perdere tempo ogni tanto per un controllo approfondito che perdere dati.
Aggiornamento: non l'ho scritto esplicitamente nel precedente paragrafo, ma, se dopo un arresto non pulito ripristino solo il journal e non controllo tutti i metadata, non potrò sapere se ci sono metadata corrotti, derivanti non dalla non sincronizzazione del journal, ma dalle cause "esterne" prima elencate. È più chiaro, adesso?
Se siete coraggiosi, comunque, potete disabilitare tale controllo con il seguente comando (consultate la pagina di manuale di tune2fs per il significato):
sudo tune2fs -c 0 -i 0 /dev/PARTIZIONE
Se siete un po' meno coraggiosi, avete comprato hardware di prima qualità e il vi sembra che il controllo capiti troppo spesso, potete più rilassatamente aumentare i tempi da attendere tra un controllo e l'altro. Per prima controllate con dumpe2fs le attuali impostazioni:
sudo dumpe2fs -h /dev/PARTIZIONE
Nell'output del comando si sono la riga "Maximum mount count: xx" e "Check interval: yyy" : indicano che dopo xx mount o yyy giorni|settimane|mesi verrà eseguito il controllo completo. I valori predefiniti solo xx=20 mount e yyy=10 giorni. Per incrementare il numero di mount, usare:
sudo tune2fs -c 60 /dev/PARTIZIONE

Letture interessanti



[1] o accorgermi troppo tardi: stando al manuale di fsck se il kernel rileva un errore nel filesystem forza l'esecuzione di fsck al successivo riavvio, quando ormai potrebbe essere troppo tardi.

21 giugno 2007

Gnacchisnà

Continua la saga di post su xdg-user-dirs. Se la Disney Italia ha chiamato saga wizardsofmikeys non vedo perché non possa farlo io con i post.

Io però ho un buon motivo per continuare: ora anche il buon GNOME Panel supporta xdg-user-dirs.

Così come un buon libro, anche xdg-user-dirs ha diversi punti di vista, diversi piani di lettura. Ovviamente è un software, quindi i piani sono solo 3: sviluppatori, amministratori, utenti.

La parte sviluppatori spero sia stata abbastanza chiara nella parte precedente. Se usate le glib in via di sviluppo, le future 2.14.x, una funzione vi basta e vi avanza, se no dovete fare copia e incolla del codice da xdg-user-dirs stesso (che poi è quello che c'è in Fedora 7).

Per amministratori

Se siete amministratori, o vendor, avete due file con cui modificare il comportamento: /etc/xdg/user-dirs.conf e /etc/xdg/user-dirs.default.

Il primo definisce semplicemente se usare xdg-user-dirs e quale encoding usare per il nome delle directory (come predefiniti, rispettivamente YES e UTF-8).

Il secondo definisce quali directory e con quale struttura creare le cartelle predefinite per tutti gli utenti. Per struttura intendo che è possibile sia mettere tutte le varie cartelle in $HOME, sia fare qualcosa in stile Windows tipo:
MUSIC=Documents/Music
PICTURES=Documents/Pictures
VIDEOS=Documents/Videos
[...]
La sintassi del file è abbastanza semplice; le chiavi riconosciute sono, al momento APPLICATIONS, DESKTOP, DOCUMENTS, DOWNLOAD, MOVIES, MUSIC, PHOTOS, PICTURES, PROJECTS, PUBLIC, SHARE, TEMPLATES, VIDEOS; i valori delle chiavi sono i sono percorsi delle cartelle relativi alla directory $HOME e per garantine la localizzaione devono essere gli stessi delle chiavi, sia con prima lettera maiuscola (p.e. "Music") che minuscola (p.e. "music").

Questo vuol dire, ad esempio, che volendo posso definire un qualcosa tipo:
MUSIC=Data/Music
per il quale solo il nome della directory Music potrà essere localizzato, non quello della directory Data, in quanto quest'ultima risulta "sconosciuta". Ovviamente non ho ancora provato se la cosa funziona veramente e come, specie se aggiorno la configurazione di sistema dopo aver creato le directory nella home dell'utente.

Per l'utente

Era ovvio e prevedibile che un sistema del genere fosse progettato per essere configurato anche dall'utente. anche qui abbiamo due file per la configurazione entrambi posti in $HOME/.config (ossia nella directory speciale $XDG_CONFIG_HOME).

Il primo dei due file user-dirs.locale memorizza semplicemente il codice dell'attuale localizzazione delle directory.

Il secondo file, user-dirs.dirs fotografa lo stato attuale. La sintassi è lievemente differente:
XDG_DESKTOP_DIR="$HOME/Scrivania"
XDG_DOWNLOAD_DIR="$HOME/Scaricati"
XDG_TEMPLATES_DIR="$HOME/Modelli"
...
A sinistra del segno di uguaglianza la variabile ha un prefisso e un suffisso, a desta del segno vi è il nome, completo di percorso, di una directory (che deve esistere) a cui la variabile punta.

Le modifiche che si possono apportare a questo file sono le stesse di prima: è possibile quindi aggiungere, nel limite dei valori riconosciuti, dei percorsi oppure modificarli, con la differenza che la directory che si sta aggiungendo o modificando deve già esistere. Al momento non esistono strumenti grafici per la modifica della configurazione.

Le modifiche applicate dall'utente alla struttura sono conservate quando, al login, vengono aggiornati i nomi nel caso di cambio di lingua scelta.

Per i criticoni

Appunto mentale: scrivere qui qualcosa di sarcastico al punto giusto per controbattere tutte le stupide (ma senza dire che sono stupide, definirle magari superficiali) critiche tipo "tanto difficile crearsi 3 o 4 cartelle?" oppure "un’obbligazione che non mi è mai piaciuta, e che non uso" oppure ancora "se faccio una foto alla mia carta d’identità dove la metto? $immagini o $documenti?".

And the winner is...

ORGA!!!!

-adesso puoi saltellare sulle sedie del luogo in cui ti trovi, ORGA, io continuo a sventolare un foglietto di carta come la giunonica Sofia Loren-

La soluzione al concorso del post precedente era CBGB o CBGB's o CB's o CBGB & OMFUG (che significa Country Blue Grass Blue and Other Music For Uplifting Gourmandizers), ossia il mitico, storico locale newyorkese che ha visto le prime esibizioni dei Television, Blondie, Patti Smith e RAMONES!

Come promesso, ORGA vedrà un post a lui/lei dedicato con argomento a sua scelta.

9 giugno 2007

Gabba Gabba Hey!

...e poi dicono che Google Street View è il male... fintanto che mi fa vedere panorami come questo, io non mi lamento.

Update visto il solo, stupito commento, faccio notare che non è detto che si vedano cose particolarissime (tipo il tanga di una tipa che sale le scale); magari potrei aver semplicemente linkato un luogo ad alto impatto emotivo ed emozionale. Provate a partire dal titolo del post: a chi indovina, dedicherò un post con argomento a scelta.

7 giugno 2007

Voi forse preferite il meglio dei Tavares?

Tra le novità del prossimo GNOME c'è il supporto a xdg-user-dirs. Visto che detta così non accontento nessuno, mi toccherà spiegare ben benino di cosa si tratta; è uno sporco lavoro, ma qualcuno dovrà pur farlo.

Ma di che stai parlando?

xdg-user-dirs è, secondo la descrizione ufficiale, "uno strumento per facilitare la gestione delle directory utente «note», come ad esempio la cartella della scrivania o quella della musica".

Citando Corrado "Lorenzo" Guzzanti: «ma facciamo un passo indietro, Leopardi!»[1], una delle attuali carenze degli ambienti grafici liberi rispetto alle contropartite proprietario (Emmeesse Uindoicspi oppure Eppol Maccosics) è la mancanza di alcune cartelle predefinite in cui il classico utente novizio e sprovveduto possa organizzare i propri documenti. Non che sia 'sta grande mancanza, non che sia difficile creare una cartella dal nome "Musica" in cui salvare i propri MP3, solo che poi devi istruire tutte le tue varie applicazioni ad usare quella cartella per salvare o recuperare i file musicali e ti devi sentire vittima di una sorta di "invidia del pene", che magari non te ne frega niente, ma quando Rhythmbox ti rippa un CD in home tu pensi al uindomediapleier del tuo vicino e ti scoccia un po', anche se sai che il suo computer è diventato parte di una botnet...

Dopo un paio di anni almeno di discussione su come implementare la cosa, il geniale Alexander "Capitano, o mio capitano" Larsson se n'è all'improvviso uscito con la disponibilità immediata del pacchetto xdg-user-dirs e di qualche patch per GNOME (per la verità già incluse nella futura da poco rilasciata Fedora 7).

Ma come funziona?

Nel modo più semplice possibile, xdg-user-dirs fornisce:
  1. dei file di configurazione per definire quali cartelle note usare e a quale directory attualmente corrispondono nel file system;
  2. dei comandi, da lanciare manualmente o in automatico al login, per verificare se i nomi delle directory attualmente usate sono localizzate nella lingua in uso.
Nota: la strada scelta dunque non è quella di lasciare sul file system i nomi in inglese e tradurre "al volo" durante la visualizzazione. Sul perché della scelta non so, non voglio o non posso dire.

Nella pratica, xdg-user-dirs definisce alcune variabili del tipo XDG_DESKTOP_DIR, XDG_DOCUMENTS_DIR, XDG_PICTURES_DIR e così via. Ad ognuna di queste variabili è associata una directory per mezzo del file $HOME/.config/user-dirs.dirs; se il file non esiste o se in esso non c'è una particolare associazione, allora si ripiega su $HOME.

Quando un'applicazione necessita di usare una di queste cartelle, interroga in file di configurazione per stabilire quale al momento è, per esempio, la cartella per la scrivania.

Semplice ed efficace. Cos'altro chiedere dalla vita? - se l'Amaro Lucano vi fa schifo come a me, opterei per qualche patatina... - Non sono variabili ambientali in senso stretto, poiché non mi pare siano esportate e debbono essere recuperate dal file user-dirs.dirs, ma nella pratica funzionano allo stesso modo.

Ma dove sta la figata?

A parte l'aver definito un meccanismo facile da usare e allo stesso tempo flessibile, la figata è duplice.

La prima figata, per tutti, è nel nuovo comando xdg-user-dirs-update che eseguito la prima volta legge un file di configurazione di sistema in cui sono stabilite, per tutti gli utenti, quali cartelle creare e dove piazzarle (per la gioia degli amministratori di sistema e i vendor), eseguito le volte successive, magari al login, controlla se il nome delle directory "note" corrisponde alla lingua/localizzazione attuale. È disponibile anche una versione "grafica" in GTK, perfettamente integrato nel sistema di programmi di avvio di gnome-session, che avvisa con un bel dialogo dell'incipiente cambio di nome e permette di effettuarlo oppure no.

Ecco qui il dialogo in tutto il suo splendore, anche se sarebbe da cambiare qualcosina per renderlo un po' più HIG-compliant (tranquilli ho già pronte le patch, basta solo aspettare che Alex "Capitano, o mio capitano" torni dalla forzata pausa causa nascita prima frugolletta):


La seconda figata, per GNOME/GTK+, è nella nuova funzione delle glib, annunciata nel post precedente, che libera gli sviluppatori dalla necessità di scrivere a mano codice per leggere i file di configurazione di cui prima (metodo su cui sono basate le patch di Fedora 7). Voglio che il mio ripper musicale non metta tutto in $HOME? Bene, mi basta scrivere:
gchar *music_dir = g_get_user_special_dir (G_USER_DIRECTORY_MUSIC)
e vengo automaticamente a conoscenza del percorso, ammesso che sia definito, senza perdermi nei dettagli dell'implementazione di xdg-user-dirs, di Win32 o di Cocoa. Già perché, essendo le GLIB/GTK+ multipiattaforma, checché[2] alcuni commentatori di Felipe dicano, mica pretenderete di aspettare che xdg-user-dirs venga portato su Uindoicspi o in Maccosics per usare questa funzione, vero? Che tra l'altro, hanno le loro proprie implementazioni della funzione.

Ma cosa c'è di pronto?

Al momento sul repository SVN o nei pacchetti instabili ci sono diversi programmi che stanno già usando i meccanismi di xdg-user-dirs (sebbene non il recentissimo wrapper in glib) per fornire accesso a particolari cartelle, nello specifico:
  1. Totem aggiunge al file chooser le directory "multimediali" quando si sceglie File->Apri
  2. SoundJuicer usa $MUSICA come destinazione predefinita del rip dei CD
  3. Epiphany usa $SCARICATI come destinazione predefinita dei download
  4. Evince usa $DOCUMENTI come cartella predefinita quando si sceglie File->Apri
  5. gnome-screensaver usa $IMMAGINI e/o $FOTOGRAFIE per il salvaschermo
  6. Nautilus usa la cartella $SCRIVANIA per la scrivania e $MODELLI per i template
  7. Rhytmbox usa la cartella $MUSICA come posizione predefinita per la libreria (è stato anche tolto l'assistente di primo avvio, che serviva solo a scegliere tale cartella)
  8. magari altri che al momento ingoro
L'unica assente dall'appello è al momento il Pannello, che dovrebbe essere aggiornato per utilizzare $SCRIVANIA.

Ma non lo sai che le domande non si cominciano con il "ma"?

Sì, ma tento di adeguarmi ai tempi e usare le nuove, rilassate e permissive regole della grammatica.

Ma il titolo del post che c'entra?

Ali shuffle? Niente? Disco Inferno? Qualcosa di Cerrone? Oppure Boney M, tipo Ma Baker, Daddy Cool, Rasputin. Disco Duck? No. Gimme Some? Qualcosa degli Oliver Onions, tipo Sandokan, Orzowei? Niente? Cuba dei Gibson Brothers, dai...
Certo che voi Bulgari siete delle sagome...

-----------

[1] per chi non avesse mai visto Avanzi o la puntata in questione, Lorenzo di letteratura sa solo Leopardi - oddio, sa solo che è gobbo - per cui tenta di ricondurre ogni autore a Leopardi. Alla domanda «Bene, allora parlami di Dante» la sua risposta fu, per l'appunto, «Ma facciamo un passo indietro, Leopardi!»
[2] quanto sono belli gli arcaismi linguistici...