Archivi tag: web

ErrorDocument e i browser moderni

Chiunque si è certamente trovato almeno una volta alla diabolica pagina 404 di un sito. Ovvero a quella pagina che ci avvisa che il link che avevamo seguito è sbagliato e il contenuto che ci aspettavamo di vedere non esiste.

Nella maggior parte dei casi si vede una pagina standard piuttosto fredda e brutta, ma ormai sempre più spesso ci sono pagine 404 molto gradevoli. Anzi, alcuni sostengono che avere una pagina 404 personalizzata dia una impressione di maggiore professionalità.1

Ci sono anche delle interessanti gallerie di pagine 404.

In Apache, il web server più usato, per impostare una pagina di errore personalizzata si usa la direttiva ErrorDocument2.

La documentazione ci dice che possiamo usare:

  • un messaggio
  • una pagina con URL relativa a DocumentRoot
  • una pagina con URL assoluta (cioè comprensiva di http://)

Pistolando un po’ mi sono accorto che alcuni browser non raccolgono l’invito nei primi due casi. Cioè faranno vedere la pagina giusta solo se indicata in maniera assoluta.

Nel caso di Chrom* questo comportamento è comprensibile… visto che la pagina di errore spinge ad usare google per cercare i risultati corretti, e quindi porta il visitatore sul loro motore, con la loro pubblicità ecc.  Mentre credo che l’intenzione di Internet Explorer sia quella di fornire una pagina meno criptica all’utente, che, solitamente è un incapace3.

Resta il fatto che questo comportamento implica che la proprietà ErrorDocument va sempre indicata con una URL assoluta se si vuole che funzioni con tutti i browser indipendentemente da cosa dice la documentazione….

Basta saperlo!

  1. vedi ad esempio questo studio di usabilità
  2. pagina di documentazione di ErrorDocument.
  3. Nella concezione di Microsoft l’utente è sempre incapace… il problema è che spesso lo è veramente, specie se continua a usare Internet Explorer

Ubuntu 10.10 su Satellite A300

UbuntizzatoTempo fa avevo scritto alcune schede per Linux on Laptops, il sito che per lungo tempo è stato un punto di riferimento fondamentale per chi si accingeva a installare GNU/Linux su un portatile. Spesso era usato anche da chi intendeva acquistare un portatile con l’intento poi di usarlo con questo sistema operativo.

Oggi Linux on laptops serve più che altro quando qualcuno ha problemi con l’installazione, visto che ormai GNU/Linux gira bene su quasi tutti i portatili.

Penso tuttavia che sia utile che esista sulla rete la possibilità di trovare informazioni che aiutino le persone a scegliere e a risolvere i problemi tramite le esperienze degli altri. Vorrei quindi riprendere le informazioni perdute e aggiungerne di nuove.

Mi accingo quindi a parlare dell’installazione di Ubuntu 10.10 (Maverick Meerkat) su un Toshiba Satellite A300-1GC sul quale mi è stato chiesto di “operare”.

All’avvio della live appare un difetto preoccupante: da grub in poi lo schermo è pieno di lineette che si muovono. Effetto simile a quando la televisione non prende bene il canale, o, ancora meglio, a quando usate un rasoio elettrico o un frullatore nei pressi della tv.

Dopo un po’ di smanettamenti trovo che basta aggiungere nomodeset alle opzioni di boot. Di fatto questo è l’unico aggiustamento che occorre fare per rendere il sistema perfettamente funzionante. L’unico altro difetto che ho trovato, e del quale ancora non ho la soluzione è un importante rumore di fondo nel microfono. Che però diventa sopportabile se si usa un microfono esterno.

jQuery formcheck plugin

Il mio primo plugin per jQuery.

Ho sviluppato questo plugin per un progetto lavorativo. Dovevo fare la solita noiosa validazione di un form e mi sono detto che se avessi avuto un plugin avrei potuto poi riusarlo a piacere in futuro per semplificarmi la vita. Penso che sia venuto benino.. conto poi di migliorarlo piano piano. Intanto ho deciso di rilasciarlo come software libero con licenza GNU GPL v.3.

Si trova su Google code: eccolo qui

Ed ecco qui la demo

Espressioni regolari #1 (Email)

Espressione regolare per il controllo di validità di una email:

^([a-z0-9]+)([a-z0-9.\-_]*)([@].)([a-z0-9.\-_]*)([.].)([a-z]{1,2})$

Non mi torna quel {1,2} alla fine… a naso dovrebbe essere {2,3}… ma nel primo modo funziona e nel secondo no..

Scomponiamo:

  • ^([a-z0-9]+) -> la stringa deve cominciare con una lettera o un numero
  • ([a-z0-9.\-_]*) -> può proseguire poi con lettere, numeri e alcuni simboli
  • ([@].) -> dopo di ciò deve esserci il segno @
  • ([a-z0-9.\-_]*) -> come sopra: lettere, numeri e alcuni simboli
  • ([.].) -> dopo di che deve esserci un punto
  • ([a-z]{1,2})$ -> e alla fine 2 o 3 lettere