È stato rilasciato OpenShot 1.4

Il team di sviluppo di OpenShot, dopo oltre 6 mesi di intenso lavoro, ha rilasciato l’ultima versione di è uno dei migliori editor video per Linux. Ci sono numerose novità, a partire da nuovi effetti, animazioni e transizioni, fino ad arrivare alle migliorie relative all’usabilità (scorciatoie da tastiera e timeline con supporto al click centrale).

Come ormai è d’uso, ogni rilascio viene accompagnato da un intrigante video di presentazione.

Clicca qui per mostrare contenuto da Vimeo.
(leggi la privacy policy del servizio)

Per la lista completa di tutti i cambiamenti vi rimando al blog del progetto. In ogni caso, la cosa migliore da fare è installarlo e provare direttamente. 😉

via OpenShot Video Editor | Blog: OpenShot 1.4 Released! Download it Now!.

Modificare i file PDF in tutti i modi possibili

Il formato PDF è ottimo per gestire i documenti, però è un po’ ostico per quanto riguarda le modifiche. Nonostante questo, ci sono molte operazioni possibili per ritoccare i documenti PDF e adattarli alle proprie esigenze. Cercherò in questo articolo di raccogliere (forse ambiziosamente) tutte le operazioni che il nostro amato Linux ci consente (descritte in almeno un modo tra quelli disponibili).

Quindi è probabile che in futuro il post venga ulteriormente aggiornato, probabilmente grazie ai vostri commenti e suggerimenti! Non parlerò dei molti modi per creare file PDF, visto che sono cose che moltissimi sanno già e comunque esula dallo scopo dell’articolo. Vi anticipo già che sul blog di Aldo, sempre piacevole da leggere, trovate un articolo simile. Abbiamo avuto la stessa idea senza saperlo e la cosa ci ha divertito.

I programmi utilizzati

Per non rendere l’articolo più complicato da leggere vi elenco qui tutti gli strumenti usati. Chiaramente tutto dipende da quale operazione volete fare (quindi non è detto che vi serviranno tutti). Rispetto ad Aldo io mischio un po’ gli strumenti ad interfaccia grafica con quelli a linea di comando, spero che non sia un problema.

Vi posso dire per certo che trovate tutti questi componenti nel gestore pacchetti di Ubuntu, ma sono convinto che qualsiasi distribuzione tra quelle più famose li comprenda nei propri repository.

Modifiche relative all’ordine delle pagine

Dividere un PDF in più parti

Pdfsam fornisce diverse opzioni attraverso l’interfaccia grafica alla sezione Split, tra le quali:

  • burst (divisione in pagine singole)
  • divisione dopo n pagine
  • divisione ogni n pagine
  • divisione delle pagine pari o dispari

Unire vari PDF

In questo caso pdfsam permette un semplice accodamento di più documenti, cosa che si può ottenere anche con pdftk usando questo comando:

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

Eliminare/tenere solo alcune pagine

Usando PDF-Shuffler è possibile selezionare col mouse una o più pagine (aiutandosi con i tasti Shift o Ctrl) e poi premere Canc per eliminarle. Se invece un documento contiene molte pagine e se ne vogliono preservare solamente alcune è più semplice farlo da terminale. Cito l’ottimo esempio dal post di Aldo:

Col seguente comando estraiamo le pagine 3, dalla 10 alla 20, 25, 28, 32, dalla 45 alla fine.

pdftk input.pdf cat 3 10-20 25 28 32 45-end output output.pdf

Modificare arbitrariamente l’ordine delle pagine

Tramite PDF-Shuffler si possono accodare più PDF (oppure lavorare su uno solo) e poi spostare le pagine semplicemente tramite drag’n’drop.

Alternare le pagine tra due PDF distinti (interleave)

Questo si rivela utile nel caso in cui sia necessario modificare separatamente le pagine pari da quelle dispari (per esempio per ritagliare con margini diversi) oppure quando abbiamo un documento PDF con 2 pagine per foglio che vogliamo spezzare in modo da avere pagine singole. Le istruzioni per il ritaglio le vedremo dopo, intanto supponiamo di avere due documenti, dispari.pdf e pari.pdf, da voler alternare. Il trucco l’ho trovato sul blog Binary Static, e consiste nel fare il burst dei due PDF usando nomi opportuni per le pagine, in modo che poi vengano ordinate correttamente.

pdftk dispari.pdf burst output %04d_A.pdf
pdftk pari.pdf burst output %04d_B.pdf

Si provvede dunque all’unione di tutte le pagine (è importante che non ci siano altri file PDF estranei nella stessa directory):

pdftk *.pdf cat output out.pdf

Preparare la stampa a libretto (booklet)

Per realizzare autonomamente un libretto da stampare su fogli che poi andranno piegati e rilegati insieme, è necessario ridisporre le pagine in modo che l’ordine sia corretto una volta che viene fatta la rilegatura. Si può fare facilmente passando per il formato PS (PostScript). I comandi sono i seguenti:

pdftops documento.pdf output.ps
psbook output.ps tmp.ps
psnup -pA4 -2 tmp.ps booklet.ps
rm output.ps tmp.ps
ps2pdf booklet.ps
rm booklet.ps

In pratica si converte il documento in PostScript e si ordinano le pagine a libretto. Si usa psnup (vedi più sotto) per metterlo su due pagine in formato A4 (ovviamente si può cambiare) e poi si riconverte il file ottenuto in PDF. Qua e là si fa un po’ di pulizia. Sulle differenze tra pdf2ps e pdftops consiglio di leggere questo articolo. Ricordatevi infine, quando stampate, di fare correttamente il fronte-retro!

Modifiche sull’aspetto delle pagine

Ruotare le pagine

Il modo più comodo di ruotare di 90° o 180° a piacimento alcune (o tutte le) pagine di un PDF, è quello di usare PDF-Shuffler. Una volta selezionate le pagine desiderate (aiutatevi sempre con i tasti Ctrl o Shift), cliccate col destro per scegliere dal menu come ruotarle. Una volta finito esportate il file. Si possono ruotare le pagine anche tramite il terminale usando pdftk: consultate l’articolo di Aldo per questo aspetto.

Ritagliare i margini

Se volete ritagliare approssimativamente i bordi delle pagine, il metodo più facile è usare ancora PDF-Shuffler. Il menu contestuale ha una voce per il ritaglio, la nuova finestra che si apre vi chiede un valore in percentuale per ogni lato. Ricordate che questo valore è sempre relativo alla pagina di partenza, anche se lo cambiate successivamente.

Se invece avete un documento con bordi precisi dove ritagliare, dovrete ricorrere a un sistema un po’ più macchinoso. Per questo avrete bisogno innanzitutto di convertire la pagine da ritagliare in una immagine dalla quale misurare dei pixel. Ne approfitto quindi per dirvi come convertire un PDF in immagini. Usate ImageMagick in questo modo:

convert -density 288 documento.pdf -resize 25% documento.jpg

Il trucco di usare una risoluzione di 288 e poi riscalare del 25% si chiama supersampling e consente di avere un’immagine precisa e con l’antialiasing. Dovete quindi aprire l’immagine con Gimp o un altro editor di immagini e misurare i pixel che volete tagliare da ogni lato. Una volta fatto questo, salvate questo codice in Python dentro a un file chiamato pdf_crop.py e dategli i permessi di esecuzione. Usatelo nel seguente modo:

pdf_crop.py -p 1.0 -m "10 20 30 40" -i documento.pdf

Cambiate i valori in pixel: in questo esempio lo script taglia il documento di 10 pixel a sinistra, 20 in alto, 30 a destra e 40 in basso.

Nei commenti è stato suggerito anche Briss, che consente di ritagliare una o più zone, in modo da poter anche dividere una pagina in più parti. Purtroppo non è disponibile nei repository però vale la pena provarlo.

Ridimensionare le pagine

Anche in questo caso si può lavorare con il documento convertito in PostScript. Si usa quindi psresize per cambiare il formato di carta e ridimensionare per il meglio il documento. Tenete presente che dovete conoscere la dimensione in centimetri prima e dopo il ridimensionamento, e calcolare che livello di percentuale è richiesto. Per esempio, per ridimensionare un A4 in A5, dovete scalare circa del 70% (cioè 0.7) e passare da una dimensione di 21×29.7 cm a una di 14.85×21 cm.

pdftops documento.pdf output.ps
pstops "1:0@0.7" output.ps scalato.ps
psresize -w 21cm -h 29.7cm -W 14.85cm -H 21cm scalato.ps ridimensionato.ps
ps2pdf ridimensionato.ps
rm output.ps scalato.ps ridimensionato.ps

Mettere più pagine in una

Come accennavo prima, per disporre più pagine in una in un documento PostScript, si può usare il comando psnup. Ad esempio, per mettere 4 pagine in una su un foglio A4, potete fare così:

pdftops documento.pdf output.ps
psnup -PA4 -4 output.ps multipagina.ps
ps2pdf multipagina.ps
rm multipagina.ps output.ps

Operazioni relative all’intero documento

Riparare un PDF danneggiato

In alcuni casi un file PDF con piccoli difetti può essere letto male dai lettori, ma si può tentare di recuperarlo. Per farlo, dovete semplicemente “unire” quel file a nessun altro, con uno dei metodi che ho indicato inizialmente (pdftk oppure pdfsam).

Sbloccare le operazioni sui PDF

Alcuni file vengono creati con il blocco su alcune operazioni, come ad esempio la stampa oppure la copia del testo. Su Linux quasi sempre non è un problema, visto che questi blocchi sono ignorati da vari lettori, però se dovete passare un documento a una persona che usa Adobe Reader potrebbe tornare utile sbloccare il PDF.

Per farlo, aprite il file in PDF-Shuffler e poi esportatelo semplicemente. In alternativa si può usare il sito PDFUnlock! per documenti fino a 5MB. Tenete presente che questo metodo funziona solo per i PDF con permessi bloccati (stampa, copia, …) e non con i PDF protetti da password per la lettura, i quali non si possono sbloccare così facilmente.

Se il file è un PDF in versione 1.5 (invece della più diffusa 1.4) PDF-Shuffler può aver problemi a esportarlo. In questo caso, avete due ulteriori alternative un po’ meno ottimali al sito PDFUnlock!:

  • convertire il file in PS e poi di nuovo in PDF come spiegato nel paragrafo successivo (relativo alla compressione)
  • aprirlo con Evince e usare la funzione di stampa “su file” per creare un nuovo PDF (perderete l’orientamento delle pagine orizzontali)

Comprimere gli elementi grafici per ridurre il peso

Di questo avevo già parlato in un altro post, in sostanza si tratta di convertire in PS e poi di nuovo in PDF: quando il documento contiene immagini molto pesanti, queste vengono compresse automaticamente.

pdftops input.pdf tmp.ps
ps2pdf tmp.ps compresso.pdf
rm tmp.ps

Aggiornamento 29/03/2015: esiste un altro metodo che in genere dà risultati migliori e permette una regolazione più precisa. Potete usare Ghostscript per creare un nuovo file scegliendo il livello di qualità delle immagini, in questo modo:

gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dCompatibilityLevel=1.4 -r75 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compresso.pdf input.pdf

Le varie qualità disponibili sono le seguenti, come indicate in questo sito:

-dPDFSETTINGS=/screen   (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook    (low quality, 150 dpi images)
-dPDFSETTINGS=/printer  (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default  (almost identical to /screen)

Per ulteriori opzioni, fate riferimento al sito linkato sopra.

Modificare i metadati

Per cambiare le informazioni interne, come l’autore del documento, è utile prima di tutto estrapolare quelle che ci sono già:

pdftk input.pdf dump_data output info.txt

Poi si può modificare il file di testo con le opportune informazioni, e riscriverle così:

pdftk input.pdf update_info info.txt output output.pdf

Ringrazio Aldo, perché ho estratto queste istruzioni dal suo post. Cito inoltre questo stralcio dove dice che parametri si possono inserire.

Un esempio di elenco di metadati:

InfoKey: Title
InfoValue: Titolo del PDF
InfoKey: Subject
InfoValue: Soggetto del PDF
InfoKey: Keywords
InfoValue: Parole, Chiave, Del, PDF
InfoKey: Author
InfoValue: Autore del PDF

Estrarre i font

Se volete estrarre un carattere incorporato da un documento, potete usare FontForge. Aprite il programma e vi si presenterà la schermata Open font. Su Filter impostate Extract from PDF e poi selezionate il vostro file. Tenete conto che molti font nei PDF contengono solo un sottoinsieme dei caratteri, e molto spesso i font sono protetti da copyright. In alcuni casi sarà FontForge a rifiutarsi di estrarre il font.

Una volta aperto il carattere ci sono diverse ottimizzazioni da fare, leggete questo articolo per i dettagli.

Estrarre le immagini

Questo è uno dei compiti più semplici. Il seguente comando creerà una serie di immagini in formato XPM il cui nome inizia per estratta-.

pdfimages documento.pdf estratta

Estrarre il testo

Per convertire un PDF in formato TXT basta fare:

pdftotxt documento.pdf

Se volete soltanto ricercare all’interno dei documenti PDF, forse è più conveniente installare e adoperare pdfgrep. Vedete anche il paragrafo successivo riguardante il testo contenuto nelle immagini.

Effettuare l’OCR dei PDF contenenti immagini

È possibile “sovraimporre” il testo sulle immagini di un PDF in modo da renderlo ricercabile. Ho scritto un post a riguardo in cui spiego le limitazioni delle soluzioni open source e propongo l’uso di un software tramite Wine.

Annotare e riempire i moduli

Esistono due tipi di moduli PDF. Alcuni documenti contengono dei veri e propri campi modificabili, in tal caso un lettore PDF come Evince li può tranquillamente compilare. Provate questo documento di esempio per vedere personalmente.

Se invece avete un PDF che ha semplicemente l’aspetto di un modulo e su cui volete scrivere, oppure un qualsiasi testo da annotare, potete semplicemente aprirlo con Xournal. Il programma vi fornisce un semplice strumento testo per inserire scritte dove volete e permette evidenziare o disegnare linee. Una volta finito, cliccate su File > Export to PDF per salvare un nuovo documento modificato.

Se volete fare modifiche con strumenti di disegno avanzati, potreste provare anche Inkscape. Dovete però ricordarvi che Inkscape gestisce una pagina alla volta, e se non avete installati i font presenti nel PDF le scritte potrebbero apparire diverse, sballando un po’ l’aspetto complessivo. In compenso con Inkscape avete la maggior libertà d’azione possibile, potendo spostare oggetti, eliminarli e aggiungerne di altri. Alla fine potete esportare di nuovo in PDF.

Convertire il PDF in formato PDF/A

Il formato PDF/A è la “versione ISO” del formato PDF. Serve per documenti che devono essere conservati per anni con la garanzia di poterli sempre aprire. Pertanto a volte serve convertire un PDF in PDF/A, specialmente PDF/A-1b.

Ho fatto molti esperimenti su questo punto, ma ci sono ancora diversi problemi da sistemare prima di trovare un metodo sicuro e abbastanza automatico per usare GhostScript convertendo in PDF/A, lo stesso dicasi per i PDF prodotti con LaTeX e il pacchetto pdfx.

Consiglio pertanto l’uso di un convertitore online, come ad esempio quello di webPDF, utilizzabile cliccando qui.

Montaggio video con OpenShot – video della serata

Vi chiedo scusa per il ritardo nella pubblicazione, in vacanza cerco di non stare sempre al PC. Buona visione. 😉

Clicca qui per mostrare contenuto da Vimeo.
(leggi la privacy policy del servizio)

Terza serata del mini-ciclo di incontri culturali pre-estivi sull’informatica e il software libero organizzati dal Gruppo Utenti Gnu/Linux di Bassano del Grappa.

Gli appuntamenti spaziano dal 1 al 29 giugno 2011 a cadenza bisettimanale.

Clicca qui per maggiori informazioni!

Arch Linux: installazione e uso – video della serata

Mi scuso se questo video arriva oltre i 15 giorni dopo il talk, ma ci sono stati alcuni inconvenienti tecnici che hanno reso più lungo il lavoro di montaggio. Prima di tutto il microfono: l’avevamo messo apposta per migliorare l’audio e invece il collegamento ha degradato il suono, richiedendo un filtraggio persino maggiore del solito. La sua presenza ha anche richiesto di mostrare in sovraimpressione le domande degli spettatori.

Poi il proiettore, che ha permesso solo una visuale veramente pessima. Per questo motivo è stato necessario rifare il procedimento di installazione e registrare il desktop, per poi montare il tutto in modo più preciso possibile. Infine, dati i numerosi momenti di pausa dovuti al dover lasciare proseguire l’installazione, la durata del talk sembra ridotta rispetto al solito (poco più di un’ora).

Nonostante questi problemi spero che il risultato finale sia degno. Buona visione. 😉

Clicca qui per mostrare contenuto da Vimeo.
(leggi la privacy policy del servizio)

Seconda serata del mini-ciclo di incontri culturali pre-estivi sull’informatica e il software libero organizzati dal Gruppo Utenti Gnu/Linux di Bassano del Grappa.

Gli appuntamenti spaziano dal 1 al 29 giugno 2011 a cadenza bisettimanale.

Clicca qui per maggiori informazioni!

Serata “Montaggio video con OpenShot” a Bassano del Grappa (VI)

Vi ricordo che stasera al Centro Giovanile di Bassano del Grappa (Vicenza) terrò un intervento con demo dal titolo “Montaggio video con OpenShot”, come parte del mini-ciclo di conferenze sull’informatica promosse dall’associazione GrappaLUG. Ecco la descrizione della serata:

OpenShot è uno degli editor video non lineari più semplici da usare in piattaforma Linux, ed allo stesso tempo fornisce numerosi effetti e funzionalità avanzate oltre a supportare una vasta gamma di formati di file.

Ovviamente anche anche il video di questo talk sarà a disposizione online il prima possibile, però mi farebbe lo stesso piacere poter vedere di persona qualche lettore della zona. Nel link qui sotto trovate tutte le informazioni, compresa la mappa del luogo alla pagina “Dove trovarci”.

via Montaggio video con OpenShot | GrappaLUG.

Dissuadere gli utenti di Internet Explorer tramite uno script

Per lungo tempo Internet Explorer è stato in modo assoluto ed incontrastato il browser più utilizzato al mondo. Questo è dipeso principalmente da strategie di preinstallazione aggressive (e blocco della disinstallazione), ma forse non sarebbe un gran problema se Internet Explorer funzionasse decentemente.

Vi spiego che intendo per decentemente: un browser dovrebbe supportare, al momento del rilascio, tutte le tecnologie web già divenute standard de iure e anche magari qualcuna di quelle standard de facto (ma questo è opzionale). Ci sarebbero poi da fare anche molti discorsi sulla sicurezza ma tralasciamo. Internet Explorer è noto per non supportare granché delle migliori tecnologie CSS. Con Javascript sembra andare un po’ meglio solo perché gli autori di Jquery e librerie simili fanno davvero i miracoli per far funzionare tutto, in realtà non è tutto oro quello che luccica. Addirittura bisogna inserire un meta tag nelle pagine per far comportare Internet Explorer (a partire dalla versione otto) in modo un po’ più normale, altrimenti fa apposta a comportarsi male.

Questo cosa implica? Si arriva all’ironica regola che ho inventato e deciso di chiamare del 3+3:

Se ci vogliono 3 giorni per creare e far funzionare qualcosa in un browser standard, ci vogliono 3 mesi per far funzionare la stessa cosa con Internet Explorer.

Sembra una battutina, però è vero, e i problemi sono ancora peggiori.

La situazione attuale

Prima vi parlavo delle date di rilascio e dovremmo fare un altro piccolo approfondimento su questo. Di seguito riporto le date di rilascio ufficiali per le varie versioni di IE:

  • versione 6 – 2001
  • versione 7 – 2006
  • versione 8 – 2009
  • versione 9 – 2011

Secondo Microsoft il 10% delle persone usa Internet Explorer nella versione 6, che è uscita 10 anni fa. Anche se al tempo fosse stato il browser migliore della categoria, ora è comunque un suicidio navigare con quella roba. Figuratevi sviluppare siti che funzionino lì. Lo stato delle cose è grave: si stima che il 40% delle persone usi Windows XP che ha come ultima versione disponibile la 8, vecchia di 2 anni (ma in realtà anche di più).

È la stessa azienda di Redmond che incoraggia le persone ad aggiornare subito il browser, il problema è che lo fa invitando a usare Internet Explorer 8 oppure 9. Se vi state chiedendo che male ci sia, leggete l’articolo Internet Explorer 9 e il supporto ai web standard per rendervi conto che seppur uscito nel 2011 è parecchio indietro rispetto a qualsiasi altro browser che rispetta veramente gli standard (per citarne alcuni Firefox, Safari, Chrome, Opera…).

Tra uno o due anni saremo punto e a capo: molti utenti che usano Internet Explorer e rimangono indietro, con gli sviluppatori web che si strappano i capelli cercando di fare siti web funzionanti.

Lo script dissuasore

Per fortuna, se gestite dei siti web e come me volete evitare di diventare pazzi, dovendo avere anche a disposizione una macchina Windows per fare test esotici e sperare che le cose funzionino, potete offrire ai vostri utenti un’alternativa migliore.

Basandomi sul vecchio script di Explorer Destroyer, nella versione modificata da Xavier, ho ritoccato e sistemato un popup che avvisa gli utenti di Internet Explorer che è consigliabile passare a Firefox, fornendo utili motivazioni, e l’ho racchiuso in uno script PHP di facile utilizzo per chi realizza siti web. Questo non impedisce ai navigatori con IE di vedere il sito (basta cliccare un link e l’avviso sparisce).

Perché Firefox? In realtà si poteva decidere di consigliare alle persone di usare un browser che supporti gli standard (che in parole meno gentili vuol dire “qualsiasi altro browser”), però secondo me è bene consigliare Firefox per almeno 3 motivi:

  • è ragionevolmente diffuso e multipiattaforma, così l’utente può riconoscerlo e usarlo altrove
  • è software libero
  • dando un’indicazione generica (“installa qualcos’altro…”) senza fornire alternative è poco efficace perché molto probabilmente chi usa Explorer non ne conosce e non ha voglia di cercarne una

Il procedimento di installazione e configurazione sul proprio sito richiede 5 minuti, e una volta finito chi naviga con IE riceverà una volta al giorno (oppure ogni tot di giorni a vostra scelta) questo messaggio:

Messaggio visualizzato da Internet Explorer 6

La scelta che ho voluto fare è quella di iniettare il codice nella pagina solo se ad un primo controllo fatto via PHP l’utente usa Internet Explorer. Questo vuol dire che l’HTML non viene “sporcato” se chi naviga usa altri browser, e quindi le pagine sono anche lievemente più veloci da scaricare e visualizzare.

Come installarlo

Come detto prima, lo script richiede:

  • la presenza di PHP
  • l’accesso FTP all’hosting
  • il poter individuare (o generare con PHP) una stringa contenente il giusto tag <body> da passare alla funzione

Per prima cosa avrete bisogno di scaricare l’archivio contenente lo script e un riassunto di queste istruzioni. Potete fare il download da qui e poi dovete caricare la cartella IE nella radice del vostro hosting.

A questo punto la serie di cose da fare è abbastanza semplice.

Se volete, cambiate il valore var daysToSleep = 0; nel codice per impostare quanti giorni di “riposo” deve attraversare l’avviso prima di ricomparire nuovamente.

  • 0 significa che verrà mostrato una volta al giorno
  • -1 significa che verrà mostrato su ogni singola pagina, sempre

Quindi bisogna modificare il file “header” o equivalente del proprio CMS (di solito va fatto nel tema che si utilizza), e inserire al posto del tag <body> il codice seguente, opportunamente adattato:

<?php
// inserisce il semplice tag body per Firefox, il check per Explorer
require(getenv("DOCUMENT_ROOT").'/IE/IEcode.php');
printbody( <ARG> );
?>

Al posto di <ARG> bisogna inserire la stringa del body (un esempio potrebbe essere <body class='prova'>) secondo le convenzioni del linguaggio PHP. Se si vuole inserire un semplice tag senza attributi si può anche lasciare la funzione senza argomento (non una stringa vuota “”).

Salvate le modifiche è tutto, potete provare con qualsiasi browser cambiando il vostro user-agent per vedere se funziona (se non usate IE vedrete male il banner, questo ve lo spiego nel paragrafo seguente). Chi usa Windows può fare la prova direttamente da Internet Explorer senza che sia necessario modificare la configurazione del browser.

Personalizzare il codice e il problema della PNG

Con un minimo di conoscenza di HTML troverete facilmente dove mettere le mani in fondo al file PHP per cambiare il testo della casella gialla. Fate attenzione però se volete cambiare il banner di Firefox con uno degli altri forniti da Mozilla. Vi ricordo infatti che le versioni più vecchie di Internet Explorer non hanno supporto alle PNG trasparenti, e ci sono innumerevoli discussioni e hack riguardo alla risoluzione di questo problema. Personalmente, dato che il banner è una sola immagine, ho optato per quella del filter.

Il codice del banner di Firefox, rispetto alla versione originaria di Mozilla, è il seguente:

<a href='http://www.mozilla.org/firefox?WT.mc_id=aff_en11&WT.mc_ev=click'>
<img src='http://www.mozilla.org/contribute/buttons/120x240bubble_b.png' alt='Firefox Download Button' border='0'
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', src='http://www.mozilla.org/contribute/buttons/120x240bubble_b.png'); padding-top: 240px;" />
</a>

Se volete sostituire il pulsante, dovete cambiare solo l’url dell’immagine (che è presente 2 volte come potete notare) e il padding-top dev’essere uguale all’altezza della stessa, perché così Explorer nasconde l’immagine e la ricarica sopra con AlphaImageLoader. Per questo qualsiasi browser normale vi farebbe vedere l’immagine scostata verticalmente. Be’, alla fine l’importante è che funzioni su IE!

Conclusione

La strada verso un web fatto di standard aperti, affermati e condivisi è estremamente importante. Il browser è il software che usiamo tutti i giorni, perciò risulta fondamentale che questo visualizzi le pagine web in un modo corretto e moderno. Nel nostro piccolo possiamo fare qualcosa per far conoscere alle persone un software libero che funziona molto meglio di Internet Explorer e quindi da un leggero contributo a evitare i mal di testa.

Se usate lo script sul vostro sito mi farebbe piacere ricevere un commento per saperlo e se lo ritenere interessante diffondete la notizia.

Abilitare il TRIM per i dischi SSD

Sul forum di Ubuntu lzk87 ha proposto la soluzione a un problema che lo affliggeva da diverso tempo e di cui mi aveva vanamente parlato (dico vanamente visto che non ho mai avuto la minima idea di come aiutarlo, purtroppo). Mi ha fatto piacere sapere che alla fine ha trovato la soluzione e ci ha tenuto a farla sapere anche agli altri. Questo è il motivo per cui mi ha chiesto se potevo aiutarlo a diffondere l’informazione e se posso aiutarlo lo faccio volentieri.

Il TRIM e la soluzione

Per leggere il procedimento completo, con tanto di fonti e approfondimenti potete visitare la guida sul forum. Vi riassumo brevemente cos’è il TRIM: si tratta di un comando che un sistema operativo può dare per azzerare un settore del disco dopo che ha logicamente cancellato un file (cioè dal punto di vista del filesystem). È una cosa che comunemente non viene fatto nei dischi rigidi tradizionali, in sostanza i file sono cancellati ma rimangono in attesa di essere sovrascritti in caso di necessità.

La spiegazione di questo comportamento e i dettagli annessi li potete trovare nel mio talk sul recupero dati. Nelle memorie SSD però il funzionamento interno è completamente diverso. In pratica azzerare ogni volta tutti i settori invece di rallentare le operazioni alla fine permette di mantenere le prestazioni del disco che altrimenti calano drasticamente con il tempo: per questo si rende necessario usare il TRIM (se il filesystem lo supporta, come ext4 fa).

Una nota finale

A mio parere ci può essere un piccolo potenziale svantaggio (o addirittura vantaggio, se la si vede in un altro modo). Azzerare i settori ad ogni cancellazione di qualche file significa rendere impossibile nel modo più assoluto il recupero del file medesimo. Ciò implica che se per sbaglio cancelliamo qualcosa di importante dobbiamo rinunciare a tutte le possibilità offerte solitamente dal recupero dati.

A qualcuno questo potrà piacere, visto che automaticamente impedisce ad altri di appropriarsi di documenti non più salvati se il disco viene rubato, però d’altro canto blocca anche il legittimo proprietario. Purtroppo mi sembra di aver capito che il TRIM sia inevitabile per non perdere prestazioni, però tenete a mente questa cosa.

Rimuovere i risultati di ricerca corrotti in bbPress

Un sito che amministro usa bbPress come piattaforma per il forum. È un gran bel CMS ottimo per le funzioni essenziali, però c’è un bug relativo ai risultati della ricerca. La pagina fornisce i messaggi divisi in due categorie, “recenti” e “rilevanti”, però il problema sorge quando bbPress decide che un messaggio recente debba essere anche rilevante.

Il risultato ottenuto è un link (nella parte dei messaggi rilevanti) completamente corrotto, senza descrizione e duplicato del corrispondente sopra: qualcosa di simile a http://giovani.mathesisvicenza.it/forum/topic.php#post-.

Notate i messaggi 5 e 3

Chiaramente questo link duplicato male non è nulla di utile e risulta anche scomodo: una persona infatti potrebbe tentare di cliccarci sopra e non arrivare da nessuna parte. Per ovviare a questo problema ho provato a pensare a come poter distinguere facilmente gli elementi corrotti da quelli giusti. Sono giunto ad alcune conclusioni:

  • non si può discriminare direttamente l’url, in quanto viene direttamente stampato da una funzione di bbPress, non è salvato nell’array
  • un articolo malformato non ha un contenuto, viene visto come vuoto
  • ogni articolo sano deve avere un contenuto, altrimenti la ricerca non avrebbe restituito nulla

Alla luce di ciò, la cosa migliore mi è sembrata quella di fare una prima scansione dei messaggi rilevanti ed eliminare tutti quelli senza testo. Il codice seguente va inserito nel file search.php del tema da correggere e va prima della riga <?php if ( $relevant ) : ?>:

<?php
foreach ( $relevant as $elementKey => $bb_post ) {
if(!($bb_post->post_text)) unset($relevant[$elementKey]);
}
?>

A questo punto la ricerca lavora alla perfezione e senza doppioni. Se volete, provate pure quella dei Giovani Matematici di Vicenza.

Introduzione alla creazione di siti web con Drupal 7 – video della serata

Clicca qui per mostrare contenuto da Vimeo.
(leggi la privacy policy del servizio)

Prima serata del mini-ciclo di incontri culturali pre-estivi sull’informatica e il software libero organizzati dal Gruppo Utenti Gnu/Linux di Bassano del Grappa.

Gli appuntamenti spaziano dal 1 al 29 giugno 2011 a cadenza bisettimanale.

Clicca qui per maggiori informazioni!

Altri tre incontri di informatica libera 2011 a Bassano del Grappa (VI)

Ricordate che vi avevo parlato dell’inizio un po’ timidino dei talk precedenti? In realtà avevo parlato presto, perché nonostante la prima serata avesse riscontrato un’affluenza modesta, gli incontri successivi hanno riscosso molto più successo e le persone che hanno partecipato hanno anche mostrato l’interesse per ulteriori serate. 🙂

Per questo motivo al Gruppo Utenti GNU/Linux di Bassano del Grappa abbiamo deciso di organizzare altri incontri di divulgazione a tema informatico. Le prime 3 serate si svolgeranno prima delle vacanze estive per poi continuare con molti altri incontri (probabilmente otto) a settembre. In queste piccole conferenze verranno coperti diversi aspetti di base e intermedi dell’informatica, con particolare riguardo al software libero.

Gli incontri sono dedicati principalmente ad un pubblico di non esperti che vogliano approfondire le proprie conoscenze. Si svolgeranno a cadenza quindicinale e avranno luogo al Centro Giovanile di Bassano del Grappa, in via Ognissanti 4, nella saletta C.

L’ingresso è libero e gratuito.

Segue il programma dei primi incontri (quelli che partono a settembre saranno resi noti in seguito), se cliccate sui titoli potete vedere i rispettivi video:


Introduzione alla creazione di siti web con Drupal 7 – 1 giugno, 20.45 ~ 22:45

Difficoltà: 2/3 – Mauro Dalla Costa

Drupal 7 è un gestore di contenuti (CMS) che permette di realizzare siti web in modo facile e intuitivo. Tramite un’interfaccia semplice e molti moduli e temi già disponibili consente di poter lavorare in autonomia senza essere programmatori.

Arch Linux: installazione e uso – 15 giugno, 20.45 ~ 22:45

Difficoltà: 3/3 – Claudio Ferronato

Arch Linux è una distribuzione molto leggera e personalizzabile che consente di esplorare a fondo ogni aspetto del sistema operativo. Durante la serata verrà illustrata l’installazione passo per passo e fatta una breve panoramica della distribuzione.

Montaggio video con OpenShot – 29 giugno, 20.45 ~ 22:45

Difficoltà: 1/3 – Andrea Lazzarotto

OpenShot è uno degli editor video non lineari più semplici da usare in piattaforma Linux, ed allo stesso tempo fornisce numerosi effetti e funzionalità avanzate oltre a supportare una vasta gamma di formati di file.


Io mi auguro che si ripeta la nutrita partecipazione già vista da tutta la provincia di Vicenza (e perché no, anche da fuori): gli argomenti sono sempre variegati, interessanti e alla portata di tutti. 🙂

Se avete amici o conoscenti di queste zone vi invito a diffondere la notizia e spero di vedervi alla serata su OpenShot. 😛