Come effettuare il reset degli stili CSS

css

L’utilizzo dei CSS nelle pagine web ormai è una cosa normale.  Ormai anche il webmaster ai primi stadi utilizza i CSS per separare l’architettura del sito dall’aspetto grafico.
I CSS aiutano molto,  tanto che se un sito è fatto bene per fargli cambiare grafica basta intervenire solo su di esso senza toccare una riga di HTML.

Purtroppo però non è tutto oro ciò che luccica…
In un mondo perfetto le specifiche dei CSS sarebbero interpretate allo perfettamente allo stesso modo da tutti i browser in circolazione. In un mondo perfetto però… In questo ognuno fa più o meno quello che gli pare.

Come ovviare in parte  a questo problema? Utilizzando i CSS Reset! Leggi tutto “Come effettuare il reset degli stili CSS”

I diversi livelli di conoscenza dell’HTML

livelli

Prendendo ispirazione dai Livelli di Conoscenza del CSS di  Emil Stenström,  ho iniziato a pensare ai diversi gradi di   conoscenza dell’ HTML  tra le persone che lavorano in ambito web,  da colui che non conosce quasi nulla a chi ne sa abbastanza da poter scrivere le attuali specifiche HTML.

Ho pensato di descrivere diversi livelli di conoscenza del linguaggio HTML. Per alcune persone questi livelli sono solamente delle fasi di transizione mano a mano che si comprendono gli standard web, la semantica e l’accessibilità,  per altre  un livello è semplice da raggiungere  grazie alla loro attitudine verso l’HTML e i linguaggi di programmazione in generale.  Altri difficilmente supereranno i primi livelli.

Questi livelli sono scritti in maniera semplice e sono solamente una mia opinione personale, quindi non serve scaldarsi  se non siete d’accordo con me su alcune categorie… Prendetela con un sorriso invece!

Ecco i livelli: Leggi tutto “I diversi livelli di conoscenza dell’HTML”

Shorewall: abilitare e configurare il firewall in linux (debian, ubuntu)

firewall

Il firefall su un server è una cosa fondamentale.
Per configurarlo occorre sapere a perfezione la sintassi di iptables? No!
Shorewall ci viene incontro grazie ad una sintassi più umana e la possibilità di configurare zone… Ma procediamo per ordine!

La versione di shorewall che installeremo sarà la 4.0.15-1, quella inclusa nella distribuzione Debian Lenny
Leggi tutto “Shorewall: abilitare e configurare il firewall in linux (debian, ubuntu)”

Convertire un documento RTF in testo in PHP

rtf2txt

Per convertire un file da RTF a PHP bastano poche sostituzioni, visto che l’RTF ha una sintassi di solo testo.
Negli esempi succesivi in $rtf è racchiuso tutto il file RTF.

Iniziamo con il rimuovere le intestazioni del file. Niente di più facile, le intestazioni finiscono quando inizia il primo paragrafo! Leggi tutto “Convertire un documento RTF in testo in PHP”

Comprimere in linux con tar… in modo furbo :-)

Penso che tutti sappiano ormai come comprimere e decomprimere i file tgz, tar.gz, z, etc, in linux…
Ma per chi non lo sapesse esiste un metodo più furbo per creare semplici backup incrementali utilizzando le date, in modo da avere già nel nome del file la data di creazione.

Il comando per visualizzare una data è ovviamente date. Consiglio di utilizzare le date in formato YYYYMMDD così se i file vengono ordinati in modo alfabetico vengono ordinati dal più vecchio al recente 🙂

Ma passiamo ai comandi! Per comprimere:

tar -czvf nome_tarball.`date +%Y%m%d`.tgz file_o_cartella_da_archiviare1 file_o_cartella_da_archiviare2 ...

In questo modo verrà creato un file nome_tarball.20091030.tgz contenenti i file o le cartelle specificati

Per decomprimere:

tar -xzf nome_tarball.20091009.tgz

Convertire tutti i file ISO-8859-1 in utf-8

Certe volte, soprattutto in ambito web, i caratteri speciali (come le lettere accentate) appaiono in modo strano e incomprensibile anche se abbiamo impostato il nostro web server ad utilizzare utf-8.

Questo nella maggior parte dei casi è dovuto ad una errata codifica dei file, spesso in ISO-8859-1.

Per convertirli tutti in un colpo solo è sufficiente dare un solo comando:

  
  
   
find /directory/da/modificare -type f -exec sh -c "( iconv --from-code ISO-8859-1 --to-code UTF-8 {} -o {}.iconv ; mv {}.iconv {} ; )";
  

E voilà! Tutti i file ora sono in utf8!

Se non dovesse funzionare ed utilizzate htmlentities, ricordate di specificare il charset (terzo parametro)!

htmlentities($testo,ENT_COMPAT,'UTF-8'); 

Come cercare e rimuovere file in linux

Per ricercare un file si utilizza il comando find con le opzioni -type f (di tipo file) e -name nomefile (di nome nomefile).
Utilizzando i risultati del comando è possibile rimuovere i file:

find ./directory -type f -name 'Thumbs.db' -exec rm {} \;

Un esempio pratico ed utile è quello di rimuovere i file Thumbs.db sulle cartelle condivise da utenti windows:

find /share -type f -name 'Thumbs.db' -exec rm {} \;

Settare i permessi a file/directory per apache

I permessi su linux sono essenziali 🙂
Una buona configurazione dei permessi per apache è settare il proprietario a root e solo i file/directory necessari a www-data.
Inoltre i permessi per i file devono essere a 644 (permessi di scrittura solo al proprietario e
lettura a tutti), mentre le directory a 755.

Per farlo in modo automatico è sufficiente dare i seguenti comandi:

find /directory/da/modificare -type f -exec chmod 644 {} \;

In questo modo si ricerca ogni file e si setta a 644

find /directory/da/modificare -type d -exec chmod 755 {} \;

Qui invece si ricercano le directory e si settano a 755

Ovviamente per cambiare l’utente/gruppo si da il comando

chown -R www-data:www-data /directory

Dove con -R si intende in modo recursivo.

Come evitare che firefox tronchi le pagine nell’anteprima di stampa

Firefox è un ottimo browser, ma per quanto riguarda la stampa lascia un po’ a desiderare.
Non è difficile imbattersi in anteprime di stampa abnormi, in cui viene visualizzata solo una pagina di contenuto e il resto scompare misteriosamente…

Per ovviare a questo problema creiamo una pagina di stile alternativo per la stampa, che chiameremo print.css, ed inseriamo le seguenti righe:

#idcontenitore {
   display: inline;
   overflow:visible;
}

Poi linkeremo lo style nel nostro template con la seguente riga:

 <link rel="stylesheet" type="text/css" href="print.css" media="print" />

Ora l’anteprima di stampa di firefox dovrebbe tagliare le pagine in modo corretto!