7 settembre 2008

La Congettura del Pan Carrè

I tre (3) messaggi seguenti, estratti dalla traduzione di Evolution, contengono, a mio modestissimo, poi mica tanto, parere, 4 (quattro) errori¹.

Saprebbe il candidato sviluppatore di GNOME indicare quali?

Messaggio numero 1
#: ../mail/evolution-mail.schemas.in.h:62
msgid ""
"Initial height of the \"Send and Receive Mail\" window. "
"The value updates as the user resizes the window vertically."
Messaggio numero 2
#: ../mail/evolution-mail.schemas.in.h:64
msgid ""
"Initial width of the \"Send and Receive Mail\" window. "
"The value updates as the user resizes the window horizontally."
Messaggio numero 3
#: ../mail/evolution-mail.schemas.in.h:63
msgid ""
"Initial maximize state of the \"Send and Receive Mail\" window. "
"The value updates when the user maximizes or unmaximizes the "
"window. Note, this particular value is not used by Evolution "
"since the \"Send and Receive Mail\" window cannot be "
"maximized. This key exists only as an implementation detail."

Soluzione

Non sbirciate prima di averci pensato.
  1. le chiavi GConf non dovrebbero essere usate per memorizzare la larghezza di una finestra
  2. le chiavi GConf non dovrebbero essere usate per memorizzare la larghezza di una finestra
  3. le chiavi GConf non dovrebbero essere usate per memorizzare lo stato di massimizzazione di una finestra
  4. le chaivi GConf non dovrebbero essere aggiunte se non fanno niente e sono lì solo come dettaglio di implementazione
Insomma, ma sono solo io a capire che le frasi "GConf is a system for storing application preferences. It is intended for user preferences; not configuration of something like Apache, or arbitrary data storage." e "The root motivation for GConf is to make application preferences more manageable for system administrators." stanno a significare che non si può usare GConf per memorizzare di ogni opzione o valore di cui voglio tenere traccia tra un'esecuzione e l'altra? Anche se al momento non esistono soluzioni altrettanto comode?

Caspiterina, la dimensione di una finestra non è una preferenza utente, o se la vogliamo considerare tale non è di certo tra quelle un amministratore di sistema possa, voglia o debba modificare direttamente o renderla impositiva/obbligatoria...

[1] L'uso eccessivo e inutile delle incise non è mio, questa estate ho letto robaccia... Chi sa che fine hanno fatto i buoni autori di una volta...²
[2] Magari stanno raccogliendo funghi o coltivando fiori, come il buon Grigorij Jakovlevič Perel'man che ha ispirato il titolo del post, che a sua volta mi è stato ispirato da altre inattese e sgradite notizie³
[3] Sì, la cosa mi fa incazzare, non dovrei, non potrei e non vorrei, ma mi fa incazzare.

1 commento:

Stefano F. (tacone) ha detto...

Mah, francamente il pezzo che citi non nega la possibilità. Si limita piu' che altro a vietarne l'utilizzo per system-wide settings (che farebbe incacchiare non poca gente) o peggio ancora per dati arbitrari.

A mia interpretazione, oltretutto, la larghezza/posizione di una finestra è una preferenza utente, impostata in modo implicito.

Anche non fosse, ci sono questioni di ordine pratico.

a) Memorizzare le preferenze un po' in ~/.applicazione e un po' in Gconf è ridondante (duplication of effort) e solo un potenziale grattacapo, e somma i difetti di entrambi i metodi oltre a costringere il backup di due locazioni distinte.
b) non si capisce che fastidio diano ad un system-administrator un settaggi come quelli che citi all'interno di gconf.

In ultimo, Evolution è un'applicazione relativamente centrale all'interno di Gnome. Se fosse errata la logica di cui parli, strano che nessuno si sia messo in mezzo (o è successo?)