giu
17

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

 

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){

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
12

Rigenerare menu K in KDE4

 

Oggi finalmente mi sono deciso a installare Kubuntu 10.04 Lucid Lynx. Questa volta, però, ho deciso di fare un’installazione completa, invece di aggiornare come stavo facendo dalla versione 7.04 (già, sarebbe stata la settima versione che si sovrapponeva). Così facendo, però, avevo il menu K di KDE4 un po’ incasinato, perché ho mantenuto tutte le mie impostazioni avendo la partizione /home separata. Ecco come fare per rigenerarlo.

Menu KMolto semplice: tasto destro sull’icona del menu/Modifica il menu, Modifica/Ripristina menu di sistema/Sì. Fatto. :)

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
01

ext3 e i blocchi riservati

 

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

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

feb
02

Convertire DTS in AC3 con Linux

 

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à.

DTStoAC3

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-utils e aften

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

dic
13

Confrontare le prestazioni di due server DNS

 

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.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
20

Risparmiare ram e velocizzare Firefox

 

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ago
20

Come formattare una penna usb, una partizione o un hard disk con GParted

 

Popularity: unranked [?]



Puoi visualizzare il post originale qui.

ago
04

L’importanza del backup

 

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

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

giu
08

La stampante HP si blocca stampando con Ubuntu: la soluzione

 

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. :)

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
12

Tornare ad Amarok 1.4 in (K)ubuntu Jaunty

 

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!

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

apr
21

Fonera 2.0 out!

 

È 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

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mar
15

Two Finger Scrolling su Ubuntu Intrepid

 

Mi ha incuriosito scoprire che la funzione Two Finger Scrolling dei portatili Apple è attivabile anche su Linux, così mi sono informato. Normalmente è sufficiente una piccola modifica a xorg.conf, nella sezione relativa al touchpad, ma in Ubuntu Intrepid questa è assente, perché tutto viene gestito da HAL. La modifica, quindi, si sposta ai file di configurazione di quest’ultimo, ben nascosti in /etc/hal/fdi/policy/.
Questa guida si riferisce ai touchpad Synaptics, che sono i più diffusi. Bisogna modifcare il file /etc/hal/fdi/policy/shmconfig.fdi ed inserire quanto segue (creare il file se non esiste):

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
 <device>
  <match key="input.x11_driver" string="synaptics">
   <merge key="input.x11_options.SHMConfig" type="string">True</merge>
   <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge>
   <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>
  </match>
 </device>
</deviceinfo>

La parte che attiva il Two Finger Scrolling è

   <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge>
   <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>

Ecco il risultato:

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mar
11

Piccola nota d’orgoglio

 

Da anni ormai uso con soddisfazione il software libero, e diverse volte ho segnalato dei bug agli sviluppatori. Uno dei progetti che mi stanno più a cuore da sempre è KDE, e finalmente mi sono reso utile anche per il mio DE preferito.

logo-kdeIn seguito alla mia segnalazione di un bug (#186580) relativo alla non corretta visualizzazione del carattere “&” nella funzione “Copia in”/”Sposta in” di Dolphin è stato sviluppato un fix che verrà incluso in KDE 4.2.2, per me è una piccola soddisfazione. :)

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mar
04

Nuovo schermo

 

Dopo l’inaspettato decesso dello schermo CRT del computer che ho in montagna (un ultrapotente P3 800 Mhz – 256 Mb di RAM), sono stato costretto a comprare uno schermo nuovo per il computer principale e a traslocare quello vecchio al supercomputer. La scelta è ricaduta sul Fujitsu-Siemens Amilo LL 3220T, un 22? widescreen dalla ragguardevole risoluzione di 1920×1080, Full HD quindi.

Il prezzo? 156 euro compresa spedizione e pagamento in contrassegno, dal sito di MediaWorld.

Sfido chiunque a fare una foto decente ad uno schermo acceso
Sfido chiunque a fare una foto decente ad uno schermo acceso

Il difetto più grosso dello schermo è l’assenza della porta DVI, ma per me non è un problema, la VGA basta e avanza. Uno schermo del genere ha suscitato in me lo spasmodico desiderio di avere uno sfondo adeguato (quella qui sopra è una foto fatta quest’estate, se qualcuno la vuole la potrà ricevere a 14 megapixel :D ).

Mi sono quindi messo alla ricerca di un sito che offrisse immagini widescreen da usare come sfondo: interfaceLIFT. È davvero un ottimo sito, lo consiglio a tutti!

Ultra foto dello schermo sulla scrivania

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

gen
01

Buon 2009 e sconto su VPS

 

Buon anno a tutti!

È davvero tanto che non mi faccio sentire, e me ne scuso. Per farmi perdonare vi segnalo un’offerta del provider da cui ho acquistato il mio VPS: fino all’8 gennaio offre uno sconto a vita del 20% su tutti i suoi VPS, con prezzi da 3,92 a 31,92 dollari al mese

Serve

Per poter approfittare dell’offerta è sufficiente andare nell’apposita zona del sito di Web Wide Hosting e utilizzare il codice promozionale HAPPY2009.

Ci tengo a specificare che io non prendo nessuna percentuale sulle vendite, vi segnalo l’offerta solo perché mi sembra interessante e conveniente

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

top