Tag: javascript

  • #hidebykeyword v0.7.2.1

    “Piccolo” bugfix che dovrebbe far contenti gli utenti Firefox, sembra che lo script sia ora completamente funzionante, risolvendo il problema dei post che non venivano nascosti a fronte di una keyword già presente nello storico, visibile o meno nell’elenco. Ho capito che la gestione delle keyword è un argomento piuttosto sentito, quindi la prossima release sarà dedicata proprio a questo. Allo stato attuale, le keyword vengono registrate nel localStorage, e ci rimangono anche se nessun post le contiene, a meno che non si faccia click su Unhide, nel quel caso vengono eliminate. L’intenzione è di realizzare un’area nascosta per default, che viene mostrata cliccando su “qualcosa” [da definire], e che contiene le keyword archiviate, area nella quale sarà possibile aggiungere/togliere keywords indipendentemente da quelle che vengono già mostrare nella UI attuale. Mi sembra un buon modo per gestirle, ma sono ovviamente ben contento di sentire eventuali altre opinioni. In relazione a questo, volevo ricordare che la pagina dello script su Userscripts.org presenta due utili tab, “Discussions” e “Issues” [vabbè, c’è pure “Fans”, ma mi pare eccessivo], che potrebbero [dovrebbero, eh] essere usate per contenere suggerimenti e discussioni circa lo script.

    As usual, lo script, su GitHub e Userscripts.

    Alla prox

    [tags]friendfeed, social, hidebykeyword[/tags]

  • #hidebykeyword , aggiornamenti

    Aggiornamenti importanti riguardanti l’hidebykeyword!
    Sembra che la lotta estenuante contro Chrome sia finita, e che finalmente questa scheggia di browser possa godere appieno delle potenzialità del mio script. Inizialmente ho temuto di dover sviluppare una versione specifica per Chrome, ma per fortuna sono riuscito a mantenere lo script crossbrowser, semplificando così la manutenzione/gli aggiornamenti; è bastato in realtà fare un detect del browser ove richiesto, e utilizzare funzioni aventi funzionalità uguali in entrambi. La novità di rilievo è la variazione della soluzione di storage per la blacklist delle parole, passando dai cookies al localStorage implementato in HTML5 [in questo sito è possibile vedere il livello di supporto del proprio browser alle nuove specifiche]: codice più snello e leggibile, una ventina di righe di codice in meno che su un totale di circa duecento hanno un peso rilevante.
    Lo script è disponibile sia su Userscripts sia su Github: le due versioni sono ora in sync, ma in teoria il primo è per le versioni stabili, mentre il secondo per le release di sviluppo. Ogni commento è ben accetto, qui, su Friendfeed, per email, dove vi pare.

    Enjoy it e alla prox

    [tags]friendfeed, hidebykeyword, greasemonkey[/tags]

  • JS Benchmarking

    Ho colto l’occasione dell’arrivo del nuovo PC in ufficio per un poco di sano benchmarking dei vari browser disponibili sulla piazza.
    In particolare sono andato a testare le performance del motore Javascript, componente direi fondamentale dei vari siti che navigo quotidianamente. Ho usato due tools online legati al test del codice Javascript, il SunSpider Benchmark e il Kane JSBenchmark.
    Ho volutamente tralasciato il test sulla velocità di avvio dei browser, così come l’occupazione della RAM, perchè trovo più utile la velocità di esecuzione di una pagina piuttosto che il tempo necessario a far partire il programma.
    Le piattaforme testate sono in realtà due: Windows XP SP3 sul PC dell’ufficio, in esecuzione su un processore Intel i3-530 a 2.4GHZ con 2GB di RAM, e Ubuntu 9.10 sul mio laptop, in esecuzione su un processore Intel T3200 a 2GHz con 3GB di RAM.
    I browser testati sono: in XP, Chrome 4.1.249.1036, Firefox 3.6.2, Opera 10.51b3315, Internet Explorer 8.0.6001.18702; in Ubuntu, Chrome 5.0.307.11, Firefox 3.5.8, Opera 10.00beta4402, Epiphany 2.28.0 [con motore Webkit, e quindi assimilabile ad un Safari, ad esempio].

    I test sono realizzati monitorando l’esecuzione di diversi algoritmi, e valutati o attribuendo un punteggio alle performance [Kane] oppure misurando i tempi di esecuzione [SunSpider].

    Ecco i grafici riassuntivi.
    Nota1: per il Kane, un valore alto indica prestazioni migliori, mentre per il SunSpider viceversa.
    Nota2: cliccare sulle singole immagini per vederle ingrandite.

    Kane JSBenchmark - Windows
    Kane JSBenchmark – Windows

    Kane JSBenchmark - Linux
    Kane JSBenchmark – Linux

    SunSpider Benchmark - Windows
    SunSpider Benchmark – Windows

    SunSpider Benchmark - Linux
    SunSpider Benchmark – Linux

    E’ chiaro che il confronto numerico Windows/Linux non è possibile, girando i due sistemi su due macchine differenti; il confronto può essere fatto in modo percentuale, al limite.

    Qualche conclusione.
    Opera: l’ultima versione è veramente veloce, sia rispetto agli altri browser, sia rispetto alla versione 10.00;
    Explorer: incredibilmente lento, mi aspettavo un risultato migliore;
    Firefox: si comporta mediamente bene;
    Epiphany: da considerare, visti i risultati;

    Io, a prescindere dai risultati, uso Chrome su entrambi i sistemi.

    Alla prox

    [tags]javascript, benchmark, browser[/tags]

  • Hide by keyword

    L‘hide by keyword su FriendFeed, sembra che ci siamo.
    Mancava, e in parecchi ne soffrivano l’assenza.
    Ho pensato che sarebbe stato un bel regalo al miei socialamici, e mi ci sono messo di buona lena.
    Sono arrivato ad una versione abbastanza funzionante, almeno su Firefox, e quindi la rilascio al mondo. Chrome è il prossimo obiettivo.
    Questa feature l’ho implementata tramite l’estensione Greasemonkey per Firefox, ed è di conseguenza richiesta per il funzionamento dello script; Chrome non richiede alcuna estensione, perchè dalle ultime (ultima?) versioni questi userscripts vengono gestiti automaticamente.

    Come funziona? Installando lo script apparirà nella sidebar (indipendentemente dal tema) un box nel quale scrivere la parola (d’ora in poi KW) che ci irrita, con a fianco un comodo link chiamato Hide; cliccando sul link i post (non i commenti) contenenti la KW scompariranno dall’elenco, e la KW verrà aggiunta sotto il box, con a fianco un numero indicante quanti post sono stati nascosti e un link Unhide per tornare a mostrare i post bannati. Se la KW scritta non scompare dall’entry box in seguito al click su Hide, vuol dire che nessun post contiene la stessa. Ah, la ricerca è case insensitive.
    Ogni KW che riporta almeno un match viene salvata immediatamente in un cookie (che ho chiamato ffhbk_kws), in modo che la lista delle KW possa essere recuperata in automatico in seguito ad un refresh della pagina.

    Tutto qui.

    Questo che segue è un piccolo elenco di browser compatibility:

    Firefox3.5/Linux: funzionante
    Chrome4/Linux: non funzionante
    Chrome-dev/Linux: parzialmente funzionante
    Konqueror/Linux: non testato
    Opera/Linux:non testato
    Galeon/Linux: non testato

    Firefox3.5/WinXP: funzionante
    Chrome4/WinXP: non funzionante
    Opera/WinXP: non testato
    Safari/WinXP: non funzionante (1)
    IE/WinXP: non testato

    Firefox3.5/Windows Vista: non testato
    Chrome4/Windows Vista: non testato
    Opera/Windows Vista: non testato
    Safari/Windows Vista: non funzionante (1)
    IE/Windows Vista: non testato

    Firefox3.5/Windows Seven: funzionante
    Chrome4/Windows Seven: non testato
    Opera/Windows Seven: non testato
    Safari/Windows Seven: non funzionante (1)
    IE/Windows Seven: non testato

    Chrome/OSX: funzionante
    Firefox/OSX: non testato
    Safari/OSX: non testato

    (1) l’estensione GreaseKit, che permette di sfruttare gli userscripts in Safari, è disponibile solo per OSX.

    Lo script, nella sua versione stabile, è disponibile su userscripts.org, mentre per la versione di sviluppo ho aperto uno spazio su GitHub.
    Ora come ora le due versioni sono le medesime.
    Ogni commento/suggerimento è il benvenuto (qui, su FF, sulla pagina di UserScripts.org), così come una eventuale partecipazione al progetto (l’accesso al git tree).

    Per tenervi aggiornati, seguite l’hashtag #hidebykeyword su Friendfeed.

    Alla prox

    [tags]friendfeed, hide by keyword, greasemonkey[/tags]

  • Liste nascoste: IE ok

    Dopo un po’ di lavoro sono riuscito a sistemare la visualizzazione con IE6, che ad essere onesti non aveva colpe: e’ bastato scrivere correttamente i tag relativi alle liste.
    Ora pero’ mi chedo: cosa succede con gli altri browser? Hai per caso Safari, Konqueror o Opera per i vari OS? Mi lasci un commento con il risultato della prova?
    Grazie!

    Alla prox

  • Liste nascoste: IE…

    Ho avuto la malaugurata idea di visualizzare il mio blog con Internet Explorer 6 e 7. Non sono il tipo che si lascia andare ad espressioni come “Explorer fa schifo” o giù di li, pero’ un dubbio mi viene: e’ mai possibile che ogni volta che scrivo codice HTML/JavaScript un po’ più complesso di una semplice tabella ci siano delle differenze tra Firefox e IE?
    E via di debug…

    Alla prox

  • Ancora lavori sul blog: liste nascoste

    Altri lavori sul tema del blog: ora nella sidebar le sezioni Pages, Categories e Archives sono a scomparsa, e appaiono o meno a discrezione del lettore cliccando sull’autoesplicativa immagine a fianco del rispettivo titolo. Questo dovrebbe permettermi di ridurre la lunghezza della sidebar, in modo da tenere il blog, imho, più ordinato.
    Dettagli tecnici: ho racchiuso gli elementi delle liste in un div, impostando a dovere id e style; poi ho aggiunto l’immagine di fianco al titolo della sezione, e ho aggiunto del codice JavaScript per gestire l’evento onClick sull’immagine. Il codice in questione controlla lo stato di visibilità del div, e in funzione di questo mostra/nasconde il div e cambia l’immagine per rendere graficamente il concetto.
    Il prossimo passo sono le sezioni del blogroll, ma qui mi sa che bisogna mettere le mani nel codice di WordPress…

    Alla prox

  • Alcune modifiche al tema del blog

    Grazie alle potenzialità di Firebug sono riuscito con poco sforzo ad effettuare qualche modifica allo stile del tema di WordPress, cosi’ ora ho ridotto le dimensioni del font dei post, e ingrandito l’area utile per questi ultimi.
    Per chiudere, ecco uno screencast interessante sull’argomento.

    Alla prox

    Update! Adesso il link allo screencast funziona… Grazie Daniele!

    [tags]firebug, wordpress themes[/tags]