Due web app per il Cross Browser Testing

Ogni web designer sa che le differenze fra i vari browser possono creare un gran di mal di testa. L’individuazione e la risoluzione dei problemi può essere difficile se non si è attrezzati con gli strumenti giusti. In questo post vi consiglio due risorse gratis che conosco per rendere il Cross Browser Testing più veloce e più produttivo.

Browsershots

Browsershots è un servizio popolare gratuito che fornirà gli screenshot di una pagina web su qualsiasi browser dei sistemi operativi più comuni. Tutto quello che dovete fare è inserire l’URL e selezionare i browser e i sistemi operativi che desiderate testare. Browsershots aggiungerà i vostri dati in una coda di elaborazione e in pochi minuti vedrete apparire un’infinità di screnshoot dei browser più disparati.

C’è un opzione a pagamento che vi darà maggiore priorità sulla coda di elaborazione. Capita molte volte che il servizio sia occupato e che impieghi un po’ di tempo per effettuare gli screenshot in modalità gratuita, pagando 15 dollari al mese aumenterete la priorità dei vostri elaborati e il vostro tempo di attesa diminuirà .

IE NetRenderer

IE NetRenderer è uno strumento gratuito ottimo per testare siti web in Internet Explorer, di solito il browser più fastidioso. Con IE NetRenderer tutto ciò che dovrete fare è scegliere una versione di IE e inserire l’URL che desiderate testare, e avrete immediatamente uno screenshot della pagina in fase di test.

Fra i due preferisco Browsershots, per la completezza di browser e sistemi operativi offerti, ma per questioni di praticità uso maggiormente IE NetRenderer che, al contrario del primo, risponde con prontata immediatezza alle vostre richieste di testing.

Migliorare il Message of the Day (motd)

È possibile aggiugnere informazioni (più o meno utili) da far stampare a video durante la fase di login. L’operazione è molto utile se si dispone di qualche server in giro per la rete e si vuole un breve riassunto sullo stato del sistema mentre si apre una connessione ssh.

Per prima cosa, disabilitare il motd (Message of the Day) da /etc/ssh/sshd_config

# disabilitare motd o le informazioni verranno stampate due volte
PrintMotd no

Non ho capito per qualche motivo, ma è necessario forzare la ricostruzione della cache degli update disponibili in apt, quindi da terminale:

sudo /usr/lib/update-notifier/update-motd-updates-available --force

Installare il pacchetto landscape-common1:

sudo apt-get install landscape-common

Eliminare eventuali vecchi motd:

sudo rm -f /etc/motd

Infine ricreare il collegamento appena eliminato:

sudo ln -s /var/run/motd /etc/motd

La miscela è pronta. È possibile testare il tutto digitando:

run-parts /etc/update-motd.d/

Ed ecco un piccolo screenshot:

E se si vuole provare un eccesso di inanità, fare pure un bel cronjob con:

# m h  dom mon dow   command
  0 *   *   *   *    run-parts /etc/update-motd.d/ | mail -s "Info for $HOME" tu@tuosito.com

Note all’articolo:

  1. ok, ok… è un pacchetto canonical, che serve a vendere servizi canonical, e che quindi fa sfacciata pubblicità a canonical []

Come scrivere programmi incomprensibili

Capita spesso di dover mettere le mani nel codice scritto da altri e di domandarsi “ma l’ha fatto apposta ???” perche’ lo stesso e’ ASSOLUTAMENTE INCOMPRENSIBILE.

Questo documento non e’ fatto per insegnarvi come scrivere del codice, semmai come NON scriverlo.

… [cut] …

13. Il codice ASCII e’ composto da 255 caratteri

E sono quasi tutti validi per le variabili, compresi §, ¿ e cose di questo genere.

… [cut] …

19. Utlzo dle abbrvzni (utilizzo delle abbreviazioni)

Non c’e’ un solo modo di abbreviare una parola… siate creativi.

…  [cut] …

1. Mentire nei commenti.

Non e’ che dovete proprio *mentire*, e’ sufficiente che vi “dimentichiate” qualche piccolo particolare nella documentazione del codice.

… [cut] …

7. Commenti alla Monty Python

Se avete una funzione chiamata makesnafucatedinsert(), il solo commento accettabile e’ /* make snafucated */ Mai definire cosa cavolo fa’ o cosa cavolo vuol dire. Se qualcuno domanda rispondete che “e’ una cosa che ho aggiunto in seguito e volevo fare dei test…”. (vedere la documentazione del Java AWT per migliori idee…)

… [cut] …

Lasciate almeno un paio di file che non si trovano durante la compilazione. Il sistema piu’ semplice e’ usare dei riferimenti assoluti al vostro disco locale. Per esempio #include “D:\\myfile.h”

 

Questo e molto altro nell’esilarante articolo (qualità che si estende poi a tutto il sito) di Davide Bianchi.

Siete sistemisti e/o ne comprendete il mondo? Date un occhio anche alla rubrica Storie dalla Sala Macchine:

Qualche tempo fa’, un po’ annoiato, mi sono messo a scrivere quello che succede nel mio ufficio (rimuovendo i nomi ovviamente) sul gruppo it.comp.os.linux.sys. La cosa pare abbia trovato degli estimatori, cosi’ ho pensato di “preservare” questi capolavori per i posteri…

Una cosa: tutte le storie sono assolutamente vere!

Una lettura leggera di piacevole diletto.

Sudo e calci in culo…

Magari ti svegli un giorno… hai un po’ di tempo a disposizione1 , apri un terminale… scarichi il sorgente di sudo, ci guardi dentro per capire… mentre navighi, trovi di colpo un file insults.h…

Incuriosito… lo apri, inizi a leggerlo e ti fai due risate. Resti così, cinque secondi ipnotizzato davanti al monitor, poi ti ripigli… ti domandi:

«Fico… ma come si abilitano?»

Non si tratta né di easter-egg né di codice “segreto” (cercare insults in “man sudoers“).

E allora: «Perché non so tradotti?» So carini dai….

Note all’articolo:

  1. Non è vero, è tutta una scusa per condividere l’immagine sopra.. []

VP8 in maverick

VP8 in Maverick1, uno spasso :)

Youtube in HTML5

$ apt-cache policy libvpx0
libvpx0:
  Installato: 0.9.0-5
  Candidato: 0.9.0-5
  Tabella versione:
 *** 0.9.0-5 0
        500 http://it.archive.ubuntu.com/ubuntu/ maverick/universe Packages
        100 /var/lib/dpkg/status

Note all’articolo:

  1. Per Lucid sono disponibili i deb dal ppa degli sviluppatori di gstreamer → amd64i386 []

Aggiungere un timestamp alla bash history

Faccio un po’ di trackbacking dal blog di lord_dex (leggetelo ogni tanto, scrive roba interessante) per segnalarvi come aggiuntere date and time nella bash history.

history con timestamp

history con timestamp

Basta semplicemente fare l’export della variabile HISTTIMEFORMAT indicando il timestamp che più preferite.

Ecco l’esempio riportato da lui:

1
export HISTTIMEFORMAT="%h/%d - %H:%M:%S "

Io vi consiglio:

1
export HISTTIMEFORMAT="[%d %h - %H:%M:%S] "

tanto per rendere un po’ più leggibile l’output (ovviamente giorno e mese potrebbero essere superflui ;) , dipende da voi).

History inizierà a riportare subito la modifica, in bash_history verrà invece salvato il tempo Unix di quando è stato eseguito il comando.

Altre variabili di interesse potrebbero essere… Continua a leggere

Creare un dump delle statistiche di Last.fm per importarle in Libre.fm

from_last_to_libre

Ieri, mentre continuavo a documentarmi su Libre.fm, ho scoperto questa pagina carina: How to create a dump of your last.fm listening history and import it into turtle.libre.fm .

Ho seguito le istruzione e ha funzionato tutto :D

Qui un breve riassuntino in italiano:

Step 1. Ci posizioniamo in /tmp e scarichiamo tutto ciò di cui abbiamo bisogno:

cd /tmp/
wget http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.7a.py -O BeautifulSoup.py
wget http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/lastscrape/lastscrape.py?root=librefm -O lastscrape.py
wget http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/lastscrape/import.py?root=librefm -O import.py
wget http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/scripts/gobble.py?root=librefm -O gobble.py

Step 2. Effettuiamo il dump di last.fm

chmod +x lastscrape.py
./lastscrape.py   QUI_VA_USERNAME_USATO_SU_LASTFM   lastfm_dump.txt

Step 3. Importiamo il dump su libre.fm

chmod +x import.py
./import.py  QUI_VA_USERNAME_USATO_SU_LIBREFM  http://turtle.libre.fm/ lastfm_dump.txt

Ora dovrebbe chiedervi la password dell’account su libre.fm.

Se lo username utilizzato su libre.fm comprende spazi, dovrete sostituirli con dei ‘+’, ad esempio:
Leo Iannacone‘ diventa ‘Leo+Iannacone

Una piccola nota:
se su last.fm siete utenti da prima del 2007 è possibile che siate affetti da un vecchio bug che tendeva a duplicare le entry. Se così fosse, sul documento originale è riportato come eliminare questi duplicati.

Bene, ora le statistiche sul vostro profilo dovrebbero essere aggiornate, ecco le mie: l3on.

Audio scrobbling su libre.fm

libre

Ieri mi sono iscritto su libre.fm e ho abbandonato per sempre la vecchia e bella last.fm.

Il progetto sembra carino, ma sono ancora in alpha e si notato subito i primi problemi… connessioni lente, fogli di stile che sembrano fatti da mio fratello (no perché mio fratello non abbia il senso del gusto eh.. ah ok, basta con questa discussione!…).

Fatelo anche voi su…

Per l’audioscrobbling, se il vostro lettore non supporta libre.fm potrete provare questi piccoli passi:

Step 1.
Registrazione su libre.fm -> click_me

Step 2.
Cambiare in locale l’IP di post.audioscrobbler.com in modo che punti a libre.fm:

sudo su -c 'echo 89.16.177.55 post.audioscrobbler.com >> /etc/hosts'

Step 3.
Configurate l’applicazione con username e pass di libre.fm.

Con il mio Sonata ha funzionato, ovviamente non è la soluzione migliore e mi sono messo in contatto con gli sviluppatori per rendere configurabile l’host per lo scrobbling (il protocollo è il medesimo, si tratta di aggiungere una semplice ComboBox nelle preferenze).

Se avete altri problemi qui trovate parecchie informazioni.

Il mio account su libre.fm: l3on.

Una piccola patch per Gnome-Panel

Avevo già parlato tempo fa di gnome-panel (Ho come l’impressione che…). In quel post cercavo di fare una critica costruttiva al quel “Run application…” (detto anche gnome-panel-run-dialog) che messo a confronto con krunner di Kde fa davvero una magra figura.

In realtà quando scrivevo quelle righe avevo già pensato a quali modifiche effettuare a quel “coso” e le avevo proposte a Gaspa, il quale con grande entusiasmo ha subito risposto positivamente all’invito di capirci qualcosa in quell’ammasso di codice che è gnome-panel.

Dopo pochi giorni di lavoro, prendendo come esempio il coso del volume:

media-keyssiamo riusciti subito a raggiungere degli ottimi risultati.

Con lo stesso criterio del popup del volume, ovvero se il Composite è attivo “fammi gli effetti fighi” altrimenti vai “con la finestra di default” abbiamo portato delle modifiche al codice (utilizzando proprio le stesse funzioni che usa il media-keys). Il risultato è davvero carino, date un occhiata:

gnome-panel-patch-prew

Non è male, dai!

Gaspa è stato poi così gentile (pensate che il grosso del lavoro l’ha fatto proprio lui…) che ha caricato nel suo ppa i pacchetti per Intrepid e Jaunty.

Per avere il pannello in “questa nuova veste”, potrete usufruire direttamente dei suoi repository:

Reinstallate il pacchetto “gnome-panel“:

sudo apt-get install --reinstall gnome-panel

Successivamente sarà possibile (e lo consigliamo) rimuovere il repository dalla propria lista.
Dovrete ovviamente importare con il solito comando la chiave pubblica del repository:

gpg --keyserver keyserver.ubuntu.com --recv-keys B0EBBB9491B7031A
gpg --export B0EBBB9491B7031A --armor | sudo apt-key add -

Se poi siete anche interessati a dare un occhiata alla patch, vi rimando direttamente al bzr di ubuntu-it-dev che utilizzavamo per sincronizzarci:

Test on some patch for gnome-panel.

bzr branch lp:~ubuntu-it-dev/gnome-panel/gp-patches

Il file della patch lo trovate in:

gp-patches/panel_changes/panel-run-dialog.patch

Intanto sia su Launchpad che su Bugzilla di Gnome sono stati aperti dei bug wishlist per segnalare la presenza di questa modifica:

Sono graditi feedback.