Archivio per la categoria ‘Computer’

ext3 e i blocchi riservati

venerdì, aprile 16th, 2010

A volte capita, riempiendo una partizione formattata in ext3, di trovarsi con spazio teoricamente libero, ma con Linux che ci indica la partizione come piena. Generalmente quando si ha ancora il 5% di spazio libero. Questo perché per impostazione predefinita, mkfs.ext3, quando formatta la partizione, riserva il 5% dei blocchi per root.

Hard DiskQuesta situazione è ben visibile utilizzando il comando df -h:

File system            Dim. Usati Disp. Uso% Montato su
/dev/sdc1              75G   71G     0 100% /media

Come potete vedere, ci sono ancora 4 Gb disponibili, ma la partizione risulta usata al 100%.

È possibile ridurre la percentuale di blocchi riservati senza formattare la partizione, ma semplicemente usando il comando tune2fs, ecco come:

sudo tune2fs -m 1 /dev/sdc1

Con questo comando riservo l’1% della partizione a root, che è molto più ragionevole del 5%, specialmente considerando che su grandi partizioni il 5% è molto, ad esempio su 1 Tb sono ben 50 giga!
df -h ci mostra la situazione dopo il comando tune2fs:

File system            Dim. Usati Disp. Uso% Montato su
/dev/sdc1              75G   71G  3,0G  96% /media

Di come un bug in uno script PHP possa mettere in ginocchio un sito

mercoledì, marzo 3rd, 2010

Il sito in questione è il mio, tuttoeniente.net, che ha un sistema creato da me per visualizzare le ultime notizie in ogni pagina. Per ovvie ragioni di spazio non posso visualizzare la notizia completa, quindi la tronco a 70 caratteri.

Tagliare brutalmente porterebbe ad avere 9 volte su 10 parole a metà, quindi avevo scritto uno stupidissimo script che taglia allo spazio successivo. Eccolo:

function ultime_news($notizie = 2, $forumid = 10, $cut = 70){
    $news = '';
    $q_news = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $notizie");
    while($notizia = mysql_fetch_array($q_news)){
       $lenght = strlen($notizia['testo']);
       if($lenght > $cut){
            while(substr($notizia['testo'], $cut, 1) != ' '){
                $cut++;
            }
            $testo = substr($notizia['testo'], 0, $cut).' [...]';
        }else{
            $testo = substr($notizia['testo'], 0, $cut);
        }
        $data = strftime("%d/%m/%Y", $notizia['data']);
        $news .= "<p><a href=\"/news/$notizia[id]-".encode_for_url($notizia['titolo']).
                 ".html\"><span class=\"news-title\">$notizia[titolo]</span></a> ".
                 "<span class=\"news-date\">($data)</span><br />".
                 "<span class=\"news-text\">$testo</span></p>";
    }
    return $news;
}

Tutto bene, se non fosse che l’ultima notizia che ho inserito è “Si aggiungono nuove barzellette alla nostra collezione, corri a leggerle!”, 74 caratteri. A 70 caratteri siamo giusto a metà della parola “leggerle”, quindi avanziamo alla ricerca di uno spazio. Lettera, lettera, lettera, punto esclamativo. Fine. Nessuno spazio. Risultato? Loop infinito e sito KO. Peccato che quando ho inserito la notizia non ci ho fatto caso, e oggi ho dovuto smadonnare non poco prima di trovare la ragione del sito fuori uso…
La solulzione? Una banalissima limitazione dello spostamento del taglio fino alla lunghezza totale della notizia.
In pratica while(substr($notizia['testo'], $cut, 1) != ' '){ diventa while(substr($notizia['testo'], $cut, 1) != ' ' && $cut <= $lenght){

Convertire DTS in AC3 con Linux

martedì, febbraio 2nd, 2010

Oggi ho avuto bisogno di convertire una traccia audio DTS (6 canali, o per meglio dire 5.1) in AC3, necessità abbastanza insolita per la verità.

Cercando in rete incappavo praticamente solo in guide per Windows, ma scavando bene ho trovato la soluzione anche per Linux, con un singolo comando da lanciare tramite shell:

dcadec -o wavall mio-file.dts | aften -v 0 - mio-file.ac3

Il processo potrebbe richiedere parecchio tempo, dipende dalla CPU, ma ci porterà a convertire mio-file.dts in mio-file.ac3 senza problemi e con un bitrate di 448 kbps, ~75 kbps per canale, sufficienti per un audio di buona qualità.

Requisiti per la conversione: dcadec e aften, installabili su Ubuntu tramite i pacchetti libdca-utilsaften

Confrontare le prestazioni di due server DNS

domenica, dicembre 13th, 2009

Con l’uscita dei Google Open DNS ho sentito la necessità di confrontare in modo oggettivo le loro prestazioni con gli OpenDNS che usavo  in precedenza, così ho recuperato le mie vecchie e scarse conoscenze di BASH e ho creato un piccolo script.

CompareDNS-mini

Lo script, che trovate qui, sfrutta il comando dig per risolvere per 5 volte gli IP collegati a 3 domini (google.com, ubuntu.com e kernel.org) con ciascuno dei 2 DNS passati come argomenti allo script, e facendo poi la media dei risultati.

Mi rendo conto che lo script è molto inelegante ed efficiente, ma fa il suo lavoro. Sono accettati consigli su come migliorarlo.

Codifica per le note sull’iPod

martedì, novembre 3rd, 2009

Nel precendente post ho parvevo parlato di uno dei possibili problemi che si possono incontrare utilizzando le note sull’iPod, cioè che non appaiano nel menu. Oggi ho riscontrato un altro problema: l’iPod non gestisce la codifica UTF-8, quindi le lettere accentate non vengono visualizzate correttamente.

ipod-nanoLa codifica da utilizzare per risolvere il problema è ISO 8859-1, che va impostata nel proprio editor al momento del salvataggio o nelle preferenze.

Pod nano 3G non legge le note: la soluzione

mercoledì, ottobre 14th, 2009

ipod-nano
In alcuni casi risultano utili le note inserite nell’iPod Nano 3G, ed inserirle è molto semplice: basta salvare un file di testo (max 4 KB) nella cartella Notes dell’iPod.

Talvolta però accade che queste non siano visualizzate, cioè che l’iPod non si accorga proprio della loro presenza, mentre invece i file sono presenti. Per risolvere è sufficiente eseguire un reboot dell’iPod, mantenendo premuti contemporaneamente per almeno 5 secondi il tasto menu e il tasto centrale, fino a quando non appare il logo della Apple.

L’importanza del backup

martedì, agosto 4th, 2009

Da un po’ di tempo sono diventato abbastanza paranoico sui backup: voglio che siano frequenti e ridondanti. Così ho impostato sia fisso che portatile per eseguire un backup giornaliero delle home sul mio NSLU tramite rsync. L’NSLU, a sua volta, esegue la mattina seguente una copia dei backup su un altro disco fisso: in totale ho 2 backup per ogni postazione: per fortuna.

backup

Questa politica semi-paranoica mi ha appena salvato il sederino: stavo ristrutturando il fisso, riorganizzando le partizioni nei dischi fissi ed era in corso lo spostamento della partizione /home, tramite Gparted sul CD live di Ubuntu Jaunty: freeze completo del PC a metà operazione. Imprecazioni. Altre imprecazioni, più pesanti. Niente da fare, i dati erano ben disintegrati, per fortuna che ho potuto copiare dall’NSLU tutti i dati fino a ieri alle 15.00, l’unica cosa mancante era un file .svg che avevo creato nel pomeriggio con Inkscape (gran programma, per altro), un invito per una festa che sto organizzando insieme alla compagnia. Per fortuna che avevo avuto l’accortezza di metterlo su Dropbox, altro gran servizio.

Per i curiosi, ecco come risulta quel file una volta renderizzato:midsummerparty

Per la cronaca, elleDj sono io :D

La stampante HP si blocca stampando con Ubuntu: la soluzione

lunedì, giugno 8th, 2009

Ero tormentato da diversi mesi da un fastidiosissimo problema: mandando in stampa qualcosa, sia dal computer cui è connessa la mia vecchia ma ancora valida HP Photosmart 7760, sia da un altro computer tramite la rete, la stampante 9 volte su 10 si bloccava, costringendomi a staccare e riattaccare la corrente n volte prima di riuscire a stampare.

hpDopo qualche indagine mi sono reso conto che il driver Open Souce HPLIP era presente sui 2 computer in 2 versioni diverse, e nessuna versione era l’ultima disponibile. È stato quindi sufficiente scaricare la versione più aggiornata dal sito della HP (fornita in un abbastanza pratico file eseguibile .bin), installarla su entrambi i computer lasciando all’installer il compito di recuperare le dipendenze mancanti e la rimozione delle versioni precedenti del driver. Ora fila tutto liscio come l’olio. Grazie HP!

Sicuramente la differente versione dei driver era dovuta alle varie release di Ubuntu che si sono impilate una sull’altra: sul fisso l’ultima clean install è stata Hardy, mentre sul portatile risale addirittura a Feisty… Forse dovrei dare una pulita. :)

Tornare ad Amarok 1.4 in (K)ubuntu Jaunty

martedì, maggio 12th, 2009

Dopo l’aggiornamento a Jaunty (eseguito senza il minimo problema sia sul fisso che sul portatile) mi sono trovato con Amarok 2, che a mio avviso non è assolutamente pronto per l’utilizzo quotidiano. Almeno non per il mio utilizzo quotidiano.

Amarok

Trovo la versione 1.4 quasi perfetta, non ha nessun problema a fare quello che mi serve: gestione della mia libreria (~30 GB), gestione del mio iPod Nano, gestione dei podcast con relativa sincronizzazione con l’iPod, ascolto delle radio online.

Al di là delle considerazioni personali su Amarok 2, ecco le istruzioni pratiche per rimuovere la versione 2 e reinstallare la 1.4 da un comodo PPA:

sudo apt-get remove amarok-common
echo 'deb http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main' | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install amarok14

Tutto qui!

Fonera 2.0 out!

martedì, aprile 21st, 2009

È ora disponibile nel FON Shop la nuova Fonera 2.0 con porta USB! Il prezzo? 49,95 + spedizione, totale circa 59 euro.

Se qualcuno avesse 60 euro che gli avanzano me ne regali pure una! :D