Wednesday, October 25, 2006

heartbeat-2.0.7 e kernel version

Dopo due giorni di sbattere la testa su questo messaggio di errore:


Oct 23 12:38:16 auriga CTS: BadNews: heartbeat[11283]: 2006/10/23_12:37:46 ERROR: Cannot write to media pipe 2: Resource temporarily unavailable


ho finalmente compreso che heartbeat è incompatibile con versioni di kernel superiori al branch 2.6.16.

Linux idra 2.6.16.14 #1 SMP Tue Oct 24 15:32:19 CEST 2006 i686 Intel(R) Xeon(TM) CPU 3.60GHz GNU/Linux


Alla fine a parte dei piccoli bug nell'ebuild di gentoo sembra andare tutto.

P.S.: per chi fosse interssato questo è il link del bugreport dove ho postato una patch per l'ebuild heartbeat-2.0.7-r2 che risolve vari problemi.

Monday, October 16, 2006

Firefox e l'encoding

Da questa discussione sul forum italiano di gentoo, mi sono sorti dei dubbi sulla configurazione dell'encoding in Firefox, dal momento che questa è suddivisa in diversi menu e in alcuni casi le voci presenti in questi ultimi non sono chiarissime ( almeno per me ;) ).

Dopo aver girovagato un pò per il web, credo di essere riuscito a chiarirmi le idee e dal momento che non ho trovato molta documentazione in proposito ho deciso di buttare giù due righe per i posteri.

WARNING: Partiamo dal presupposto che tutte le informazioni contenute in questo post non sono da ritenersi una verità assoluta dal momento che potrei anche non aver capito nulla ;).

Partendo dal menu:

Edit -> Preferences -> "Fonts & Colors"

cliccando sul bottone [Advanced], alla voce "Default Character Encoding" è possibile selezionare la codifica di default nel caso in cui il server web che stiamo visitando non ce ne proponga una. Questa si traduce nell'opzione di configurazione (basta digitare in nuovo tab about:config):

"intl.charset.default"

Un server web può proporre una codifica in due modi distinti:

- Attraverso un header http

- Attraverso il meta tag html "Content-Type", contenuto nell'html della pagina web che stiamo richiedendo.

Vediamo in dettaglio ciascuno dei due casi.

1 - Attraverso un headers http

Come di può vedere dall'estratto della comunicazione tra client (firefox) e server web, il client richiede una pagina web elencando le sue preferenze per quanto concerne l'encoding (ISO-8859-15 come prima scelta e utf-8 come seconda nel caso in cui la prima codifica non sia disponibile):

GET / HTTP/1.1
Host: www.linuxhardware.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060917 Firefox/1.5.0.7
Accept: text/xml,application/xml,application/xhtml+xml ...
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7 <----
Keep-Alive: 300 Connection: keep-alive


Il server risponde:

HTTP/1.x 200 OK
Date: Mon, 16 Oct 2006 16:09:44 GMT
Server: Apache/1.3.34 (Unix) (Gentoo) mod_perl/1.29 PHP/5.1.6-pl4-gentoo mod_ssl/2.8.25 OpenSSL/0.9.8d
X-Powered-By: Slash 2.002006
X-Fry: They're great! They're like sex except I'm having them.
Cache-Control: no-cache
Pragma: no-cache
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8 <----


cioè informa il client che le informazioni che sta ritornando sono un testo html codificato in utf-8.

2 - Attraverso il meta tag html "Content-Type"

In questo caso tra i meta tag della pagina html troveremo qualcosa del tipo:

<meta equiv="content-type" content="text/html;charset=iso-8859-15">



E' anche possibile selezionare:

View -> Character Encoding -> Auto-Detect -> Universal

nel caso in cui si voglia lasciare a firefox la possibilità di indovinare la codifica.

Nel caso in cui la codifica scelta da firefox per la pagina corrente non sia quella corretta è possibile selezionarne una ( che varrà solo per la sessione corrente ) dal menu:

View -> Character Encoding -> More Encodings

Nel menu View -> Character Encoding sono presenti alcune codifiche che possono essere selezionate senza necessità di accedere ai sottomenu che si raggiungiungono da View -> Character Encoding -> More Encodings. L'elenco precdente è contenuto nella variabile

intl.charsetmenu.browser.static

è può essere modificato da:

View -> Character Encoding -> Customize List