RSS validi e robusti in bbPress

Nel mio precedente articolo sulle risorse più utili per bbPress vi avevo preannunciato alcuni problemi con i feed RSS, almeno quelli del tema di default (Kakumei). Credo comunque che molti temi derivati utilizzino il template degli RSS di default, in quanto non c’è poi molto da cambiare.

Questa è la lista dei problemi che ho riscontrato finora e che ho risolto (spero) nel sito che amministro:

  • Il contenuto dei messaggi non viene processato dai plugin. Se ad esempio uso il plugin che mi sostituisce le emoticon digitate con immagini di smilies, nei feed RSS continuo a vedere le emoticon testuali, e così via.
  • Una descrizione del sito lunga o con il carattere di virgoletta doppia “»” (che viene inserito automaticamente da bbPress!) spesso “rompe” l’anteprima del feed in Firefox, mentre ad esempio su Google Reader funziona.
  • Le date vengono tradotte in lingua se si usano dei file di localizzazione, violando il formato RFC-822 e quindi quello RSS.
  • Bisogna assicurarsi che il feed non contenga codice HTML puro, o in alternativa che questo venga opportunamente isolato nei tag CDATA e filtrato (c’è un problema con il carattere di spazio lungo   per esempio).
  • Quando si prende il testo del messaggio processato dai plugin si ottiene una doppia codifica (e pure insolita) per il carattere ampersand “&”.

Bando alle ciance, questo è il codice. Dovete aprire la cartella del vostro tema, cercare il file rss2.php e sostituire integralmente il contenuto con questo:

<?php
header( 'Content-Type: text/xml; charset=UTF-8' );
echo '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";
bb_generator( 'comment' );

function datefix($buffer) {
	/*
	 * fix della data in modo da tenerla in inglese, rispettando
	 * le specifiche dei feed RSS
	 */
	 return gmdate('D, d M Y H:i:s +0000', $buffer);
}

function callback($buffer)
{
	/*
	 * sistema il codice rimuovendo la doppia codifica di "&" e
	 * rimuove il carattere "&nbsp;" che crea problemi con UTF-8
	 * in questo modo ho il testo del post dopo che i plugin (tipo
	 * le faccine) hanno applicato le loro modifiche html e ritorno
	 * il codice html senza entities ma in forma pura
	 */

	$single = str_replace("&#"."038;", "&", $buffer);
	$spaced = str_replace("&nbsp;", " ", $single);
	return html_entity_decode($spaced);
}

?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><?php echo $title; ?></title>
		<link><?php echo $link; ?></link>
		<description><![CDATA[<?php echo $description; ?>]]></description>
		<language><?php esc_html( bb_option('language') ); ?></language>
		<pubDate><?php echo gmdate('D, d M Y H:i:s +0000'); ?></pubDate>
		<?php bb_generator( 'rss2' ); ?>
		<textInput>
			<title><![CDATA[<?php _e('Search'); ?>]]></title>
			<description><![CDATA[<?php _e('Search all topics from these forums.'); ?>]]></description>
			<name>q</name>
			<link><?php bb_uri('search.php'); ?></link>
		</textInput>
		<atom:link href="<?php echo $link_self; ?>" rel="self" type="application/rss+xml" />

<?php foreach ($posts as $bb_post) : ?>
		<item>
			<title><?php post_author(); ?> <?php _e('on')?> "<?php topic_title( $bb_post->topic_id ); ?>"</title>
			<link><?php post_link(); ?></link>
			<pubDate><?php

			ob_start("datefix");
			bb_post_time('U');
			ob_end_flush();

			?></pubDate>
			<dc:creator><?php post_author(); ?></dc:creator>
			<guid isPermaLink="false"><?php post_id(); ?>@<?php bb_uri(); ?></guid>
			<description><![CDATA[<?php

			ob_start("callback");
			post_text();
			ob_end_flush();

			?>]]></description>
		</item>
<?php endforeach; ?>

	</channel>
</rss>

Potete verificare che il codice generato è correttamente validato sul sito del validatore W3C. Quello del sito dei Giovani Matematici di Vicenza è valido. 😛

Sono contento di aver risolto i problemi del feed (sperando di non averne causati altri) ma soprattutto questo mi ha permesso di imparare qualcosa in più sul formato RSS (che mi ha sempre affascinato ma di cui non ho mai saputo nulla). Fatemi sapere se avete problemi col codice o se volete suggerirmi delle migliorie!

Icone leggibili in qualsiasi condizione sul desktop di Gnome

Quello che vi voglio segnalare è un consiglio che “gira” già da un po’, io però l’ho scoperto solo adesso e credo sia molto utile. Avete mai provato a impostare uno sfondo del desktop con colori chiari, oppure disegni complicati su Ubuntu o in generale qualsiasi sistema che usa Gnome? Di solito succede qualcosa del genere:

Testo poco leggibile

Be’ forse ci si può anche fare l’abitudine, ma generalmente leggere queste scritte è estremamente fastidioso. Mettendo il carattere in grassetto si migliora già un po’, però io vi voglio consigliare un’altra modifica al tema che vi permetterà (assieme al grassetto) di arrivare a questo:

Testo più leggibile

Un po’ meglio, che dite? Ho scoperto questo trucco leggendo del bug #643836 nella mailing list dedicata ai PaperCuts di Ubuntu. Si tratta semplicemente di creare un file dentro la home directory chiamato .gtkrc-2.0 (attenzione al punto davanti, che lo rende nascosto):

style "desktop-icon"
{
 NautilusIconContainer::frame_text = 1
 NautilusIconContainer::normal_alpha = 128
}
class "GtkWidget" style "desktop-icon"

A questo punto bisogna uscire dalla sessione e rientrare. Fatto! 🙂

Le risorse e i plugin più utili per bbPress

Da un po’ di tempo gestisco il sito dei Giovani Matematici di Vicenza (si può iscrivere chiunque sia interessato, anche fuori provincia!). Ultimamente abbiamo migrato la piattaforma da un vecchio Drupal che avevo messo su alla meno peggio (non sono molto pratico di Drupal purtroppo) alla combinazione WordPress + bbPress che funziona egregiamente.
Installare bbPress è molto semplice e fornisce di default delle ottime funzioni. Tuttavia vi voglio dare alcuni piccoli consigli per delle ottime aggiunte che si possono trovare tra i tanti plugin disponibili. Questo motore di forum non ha, come WordPress, l’integrazione e installazione dei plugin tramite interfaccia web. Bisogna caricare i plugin manualmente nella directory my-plugins, tuttavia non è così male.

Plugin

Integrazione con WordPress

Questa funzione è inserita di default in bbPress, tuttavia se volete farla funzionare dovete aggiungere dentro WordPress il plugin corrispondente.

Download

Allow images

Questo semplicissimo plugin permette agli utenti di inserire immagini nei messaggi. Serve nella maggior parte dei casi, ma dipende sempre da ciò di cui avete bisogno.

Download

Bavatars

Di default gli utenti possono usare solo l’avatar globale (Gravatar). Tramite Bavatars potete permettere agli utenti di caricare un avatar dal proprio PC che funzionerà nel forum. Se si vuole l’integrazione con WordPress bisogna prendere il file bavatars-wp.php e metterlo nella directory dei plugin di WordPress. Il problema è che questo file contiene degli errori. Le righe relative ai percorsi vanno modificate così (naturalmente con i dati del proprio sito):

define( 'BAVATARS_BBPRESS_URI', 'http://example.com/forum/' ); // The full address of the front page of your forum.
define( 'BAVATARS_BBPRESS_PATH', getenv("DOCUMENT_ROOT").'/forum/' ); // The full path to your bbPress installation.

In questo modo è più semplice modificare i percorsi. Poi va anche modificato il codice di inserimento dell’immagine, perché non funziona proprio. Questo è il codice corretto, da sostituire verso la fine del file:

return '<img alt="' . $alt . '" src="' . trailingslashit( BAVATARS_BBPRESS_URI ) . $location . '" style="height:' . $size . 'px; width:' . $size . 'px;">';

Infine ovviamente il plugin va attivato anche da WordPress.

Download

bbPress Signatures

Consente agli utenti di avere una firma sotto ai messaggi, con i tag html consentiti nei messaggi. Si possono impostare la lunghezza massima e il numero di righe, e anche la possibilità di avere una sola firma per ciascun utente su una pagina.

Download

bbPress Smilies

Abilita gli smile su bbPress in modo simile a quanto facciano altri plugin su WordPress. Infatti usano sostanzialmente gli stessi temi, e vi consiglio di impostare il tema Tango su entrambe le piattaforme (si fa modificando una delle prime righe nei sorgenti, leggete sempre i README comunque).

Se volete usare la casella visuale di inserimento dei messaggi (ne parlo più in basso) dovete eliminare dal codice del plugin la presenza del pulsante delle faccine, altrimenti “rompe” l’altro plugin.

//add_action('post_form','bbClicker',($bb_smilies['popup'] ? 20 : 9));
//add_action('edit_form','bbClicker',($bb_smilies['popup'] ? 20 : 9));

Download

BB Wysiwyg Editor

Trasforma in un attimo la casella dei messaggi in un piccolo editor in cui si vede subito come apparirà il messaggio scritto, permettendo di usare dei comodi pulsanti per modificare la formattazione. Utilizza un software esterno, jwysiwyg, che vi consiglio di scaricare e sovrascrivere dentro la cartella del plugin in quanto fornisce interessanti funzioni e miglioramenti.

Inoltre si può anche personalizzare l’aspetto della barra tramite apposite opzioni spiegate sul sito di jwysiwyg. Io ad esempio uso queste:

$(function() {
 $('#post_content').wysiwyg({
 controls: {
 indent : { visible : true },
 outdent : { visible : true },
 insertHorizontalRule : { visible : false },
 removeFormat : { visible : true },
 justifyLeft : { visible : false },
 justifyRight : { visible : false },
 justifyCenter : { visible : false },
 justifyFull : { visible : false },
 h1 : { visible : false },
 h2 : { visible : false },
 h3 : { visible : false }
 },
 css : bb_wysiwyg_editor_url + "bb-wysiwyg-editor.css",
 rmUnwantedBr : true,
 brIE: false
 });
});

Per poter sfruttare bene la possibilità di modifica dei messaggi occorre modificare il tema di bbPress. Infatti quando si apre la casella di modifica, di solito, il testo del messaggio deve venire “filtrato” di nuovo per ritornare facilmente leggibile dall’utente che lo modifica a mano. Il fatto è che invece per la casella visuale, che usa il codice HTML, occorre il messaggio originale senza modifiche. Per questo motivo, occorre intervenire sul file edit-form.php.

<textarea name="post_content" cols="50" rows="8" id="post_content"><?php /*
 * non voglio che nella modifica dei messaggi vengano tolti i tag
 * tanto ho la casella visuale per modificare i messaggi!
 */
 echo get_post_text();
 ></textarea>

Per ottenere un effetto ancora migliore si può anche dare dei piccoli ritocchi al CSS contenuto nella cartella del plugin:

body {
/* caratteri e stile a piacere */
font-family: 'Trebuchet MS','Lucida Grande',Verdana,Tahoma,Arial;
font-size: .8em;
}
p:first-child {
/* toglie i margini causati dalla modifica di un messaggio già inserito */
margin-top: 0px;
}
p:last-child {
margin-bottom: 0px;
}

Infine è possibile aggiungere alla barra pulsanti personalizzati che richiamano funzioni in Jquery, ma devo ancora provare questa possibilità.

Download

Mini Stats

Visualizza delle statistiche sull’attività del forum. Richiede alcuni piccoli ritocchi nel tema per visualizzarlo dove si vuole e si può tradurre in italiano modificando il codice in PHP a mano.

Download

reCAPTCHA bbPress

Il metodo definitivo per bloccare le iscrizioni spam al forum. Richiede un account reCAPTCHA, gratuitamente ottenibile (fornito da Google), inoltre esiste pure un analogo per WordPress.

Download

Notifiche via email

Esiste un vecchio plugin che funzionava con la versione 0.9 ma a quanto pare non funziona più molto bene. A quanto dicono nelle versioni trunk sono inserite le notifiche come funzione integrata, ma non ho ancora provato ad aggiornare.

Maggiori informazioni

Altre risorse

Lingua italiana

Proprio oggi ho trovato una traduzione molto migliore di quella che usavo prima. Ho dovuto modificare manualmente solo 2-3 frasi aprendo il file .po con un editor di testo semplice (per modificare anche le frasi originali) e poi ho compilato il .mo con POEdit. Vi metto qui il download alla mia versione.

I file vanno inseriti nella directory my-languages nella root del forum (va creata) e poi bisogna modificare il file di preferenze di bbPress con la riga define( 'BB_LANG', 'it_IT' );.

Download

Aspetto grafico

Questo è un aspetto su cui mi sto documentando. Esistono diversi temi per bbPress, anche se molti siti di solito integrano il tema di default con elementi comuni come l’intestazione e il footer, modificando codice PHP e CSS. Un esempio è il forum di Dropbox. La cosa migliore da fare è copiare nella directory my-templates il tema di default, Kakumei, rinominandolo (anche dentro al file CSS dove sono contenuti i metadati) e iniziando con le modifiche. Si inizia solitamente dai colori, per poi passare a cose più sofisticate.

Un metodo classico per farlo è usare la cosiddetta “deep integration” che però è abbastanza pesante in quanto carica tutto WordPress ad ogni esecuzione di bbPress. Una possibilità interessante e più leggera invece consiste nell’adoperare un plugin per WordPress chiamato PixoPoint Theme Integrator: questo permette di catturare dei pezzi di codice generati da WordPress e includerli con delle semplici direttive in PHP, fornendo tra l’altro maggiore versatilità.

Conclusione

Spero di aver dato una panoramica generale sulle possibilità abbastanza “semplici” di rendere bbPress ancora più bello e funzionale. Se avete qualche domanda come sempre chiedete pure, e sono ansioso di leggere i vostri tips&tricks su bbPress.

OpenOffice e i font sbagliati in modalità presentazione

Mi sono accorto di questo inconveniente qualche giorno prima del Linux Day, e vi garantisco che non è stato divertente: mancava pochissimo all’evento e la mia presentazione fatta con Impress si vedeva malissimo quando veniva proiettata. In realtà la grafica era perfetta, il problema erano i caratteri.

Mentre il font che avevo scelto si mostrava in tutto il suo splendore quando modificavo le slide, in modalità presentazione alcuni numeri nelle tabelle venivano mostrati in un carattere Sans, e per di più con le cifre “appiccicate” tra loro. Questa è una slide in cui si nota il problema.

Come potete notare i costi sono tutti scritti male. Fortunatamente sono riuscito a scovare una segnalazione di questo bug (#585910) e il commento numero 16 mi ha salvato: dopo aver seguito il suggerimento proposto, ecco che la slide si è visualizzata correttamente, come tutte le altre.

Il trucco è davvero molto semplice, infatti basta disattivare l’accelerazione hardware dalle opzioni di OpenOffice.

L’opzione da disattivare

Per quello che ho potuto constatare, ciò non ha alcun effetto collaterale. Vi consiglio quindi di togliere l’opzione, non si sa mai!

Scaricare, ritagliare e convertire le puntate RAI per guardarle sul telefono

Questa guida nasce per spiegare come ho fatto per risolvere una situazione che mi riguarda personalmente. Sono partito da alcuni presupposti base per cercare di capire come ottimizzare la mia fruizione di una trasmissione che mi piace. Prima considerazione: guardo ben poco la RAI, ma c’è una trasmissione che mi interessa e seguo fedelmente: Chi l’ha visto? Seconda considerazione: ogni mercoledì sera sono impegnato col gruppo Linux, quindi non posso guardare la trasmissione in diretta.

La soluzione più ovvia è adoperare il videoregistratore per memorizzare su cassetta la puntata alla sera e guardarla successivamente. Il problema è che spesso mi dimentico di farlo o continuo a rimandare perché ho tante cose da fare al pomeriggio. Da qui nasce la terza e ultima considerazione: per cinque giorni a settimana, quando vado all’università, ho due ore di treno, una all’andata e una al ritorno.

Dato che sono sempre accompagnato dal mio fedele HTC Wildfire (mi scuso se non ve ne ho parlato ma di recensioni ne trovate tante in rete, sarebbe inutile un’ennesima) ho deciso di approfittare del tempo “perso” in treno e guardare le puntate di Chi l’ha visto mentre viaggio verso Mestre o torno a casa. Ecco come ho fatto…

Requisiti

Continua a leggere “Scaricare, ritagliare e convertire le puntate RAI per guardarle sul telefono”

Guardare i video dal sito Rai senza Moonlight direttamente nel browser

Attenzione! Informazione importante!

Questo articolo parla della prima versione dello script, viene lasciato qui solo per i più curiosi. Se volete vedere o scaricare video dal sito Rai, vi consiglio di leggere questo mio nuovo articolo che viene sempre rivisto con gli ultimi aggiornamenti.

Da qualche tempo utilizzo l’estensione per Firefox Greasemonkey. Questo add-on fantastico consente a chi naviga di modificare il comportamento di alcuni siti web tramite piccoli pezzi di Javascript. Ho iniziato naturalmente utilizzando alcuni tra i tanti script presenti su UserScripts, e poi ho iniziato a crearne anche di miei.

Qual è lo scopo di modificare il comportamento di un sito? Ce ne possono essere diversi, ma bene o male quasi tutti rientrano nella categoria “risparmiare tempo“. Gli script aggiungono funzioni comode alle pagine, integrano servizi diversi, permettono di automatizzare delle operazioni noiose da fare a mano. Chi di voi usa ancora Facebook senza FFixer? Se vi riconoscete nella descrizione rimediate subito, installate l’estensione e poi installate lo script. 😉

Oltre a una decina di script scaricati, uso 6 script creati da me, e quando ne ho bisogno ne creo altri. Finora non ho mai condiviso nessuno di questi script perché, onestamente, sono delle sciocchezze. È vero che fanno risparmiare un mucchio di tempo, ma sono relativamente semplici (al contrario di veri “mostri” stupendi come FFixer appunto…), quasi da far ridere. 🙂

Stavolta però credo di aver realizzato qualcosa di utile, perciò ho deciso di condividerlo. Una delle cose più stressanti per chi usa Linux è indubbiamente il sito dei programmi Rai. Questo sito richiede Microsoft Silverlight (o nel nostro caso Moonlight) per vedere i video. Moonlight in sé è open source, ma richiede dei codec super-proprietari per funzionare. In ogni caso questa tecnologia non è così fantastica, e il player del sito è brutto, se andate a schermo intero non “sfoca” il video e si vedono i pixel. Insomma, un mezzo disastro. Tra l’altro scaricare il video non è facilissimo, se si vuole salvare sul PC (con i player in Flash è più semplice).

Ho pensato perciò di scrivere uno script che sostituisca il player Moonlight quando si vuole visualizzare un programma con il video originale inserito in modo “generico”. Per la precisione viene inserito un riproduttore compatibile con Windows Media Player, che funziona perfettamente sotto Linux (ad esempio col riproduttore Totem) e presumo possa funzionare anche sotto Windows (ma non m’interessa). Naturalmente avrete bisogno di avere i codec correttamente installati.

Oltre a fare questo vi inserisce di fianco al titolo della registrazione che state guardando un link al video originale, sia esso riprodotto tramite MMS o HTTP, in modo che si possa facilmente copiare e scaricare con qualche programma apposito. Vi parlerò in un altro articolo su come fare.

Esempio dell’azione dello script su questa pagina

Come side-effect piacevole questo comporta l’eliminazione della pubblicità prima di vedere il video vero!

Alcuni di voi sapranno che esistono anche modi alternativi di vedere i video dal sito di Rai. Due esempi famosi sono UbuntuWinTV e tv-player, che sono applicazioni separate per una navigazione alternativa al sito web, in sostanza vi puntano direttamente ai link di ciascun video e fanno partire un lettore multimediale. Sicuramente sono dei bei programmi, anzi vi consiglio di provarli, tuttavia io volevo qualcosa di semplice che mi permettesse di navigare direttamente sul sito, vedere le puntate registrate saltando le pubblicità e soprattutto avere i link agli stream originali.

Vi preciso anche che per ora lo script funziona solamente sulle pagine delle puntate dei programmi, mentre sul servizio “Rai replay” e sulle dirette per il momento no in quanto la struttura della pagina è diversa in entrambi i casi e la devo studiare. Probabilmente estenderò lo script per supportare anche queste funzioni in futuro (i contributi sono ben accetti 😉 ).

Basta, vi ho annoiati anche troppo per cui non mi resta che rimandarvi alla pagina su UserScripts dove potete scaricare e commentare il mio piccolo lavoro!

Download “Rai.tv native video player for programmes”

Mi raccomando, fatemi poi sapere se vi è stato utile! 😀

Aggiornamento: una piccola cosa che ho dimenticato… il sito Rai.tv è abbastanza poco navigabile se non avete installato Moonlight, però teoricamente lo script vi evita di dover installare i codec proprietari, e rimangono gli altri vantaggi descritti.

Guida: installare i codec su Ubuntu per riprodurre tutti i file multimediali e i DVD

Avevo già illustrato delle istruzioni veloci su come abilitare i formati audio e video più comuni (ad esempio MP3 e WMV) su Ubuntu, in un vecchio post. Col tempo mi sono accordo che è una richiesta che mi fanno diverse persone. Inoltre era il caso di aggiornare le istruzioni, perciò ho deciso di scrivere questa guida in modo più dettagliato e opportuno.

Nota: questa guida è stata aggiornata per funzionare con Ubuntu versione 14.04 e successive.

Precisazioni importanti

Prima di iniziare con la guida vera e propria mi preme sottolineare un paio di cose che spesso generano confusione negli utenti.

Numero uno: non è obbligatorio installare dei codec con licenza proprietaria! Infatti con questa guida installeremo dei codec che sono software libero ma servono ad aprire dei file nei cosiddetti formati proprietari. I codec non sono preinstallati su Ubuntu non perché siano software non liberi, ma perché i formati come MP3 ed altri sono protetti da brevetti software in alcuni paesi. Ciò non consente la preinstallazione dei codec all’interno del sistema operativo. Se la cosa vi preoccupasse (ma non deve) vi ricordo che i brevetti software non hanno validità giuridica in Europa.

Moltissime guide consigliano agli utenti di installare dei codec proprietari chiamati w32codecs o w64codecs, adducendo che altrimenti i formati Windows Media non si possono riprodurre. Bene, io non ho installato nessuno dei due pacchetti e non ho problemi di sorta a riprodurre tutti i tipi di file: per questo motivo non vi consiglierò di installarli.

Numero due: la guida fa un uso intenso del Terminale (che si trova nel menu delle applicazioni). Questo non significa che le stesse operazioni (come alcuni purtroppo credono) non si possano effettuare lo stesso da interfaccia grafica. Anzi, si può fare tutto senza aprirlo, il fatto è che col terminale si risparmia moltissimo tempo ed è anche più semplice per me guidarvi tramite comandi da dare nel terminale. La procedura è semplice, si copiano i comandi che vi fornisco dopo averli spiegati, si incollano nella finestra di terminale e si preme invio.

Codec e programmi

Alcuni pensano che i codec siano “programmi” per leggere la musica o i video. In realtà i codec sono delle librerie, ovvero delle “aggiunte” che permettono ai programmi multimediali di comprendere il contenuto di certi file. Quindi se volete aprire i file audio e video non vi bastano i codec, ovviamente avrete sempre bisogno di un riproduttore multimediale.

Questa guida vi permetterà di attivare dei codec utilizzabili dal riproduttore musicale di Ubuntu (Rhythmbox) e il riproduttore video (Totem). Vi consiglio di installare anche VLC dal Software Center perché in alcuni casi (succede solo con video particolari) si comporta meglio di Totem ed inoltre vi offre più funzioni, non fa mai male averlo quando serve.

Rhythmbox, Totem e VLC

Formati audio e video

Tutto ciò che serve per i formati audio e video è già presente tra le sorgenti software di Ubuntu, l’importante è assicurarsi che siano tutte attive. Aprite l’Ubuntu Software Center e poi andate su Modifica > Sorgenti software… e controllate che le fonti universe e multiverse siano attivate.

Cliccate su Chiudi e quando vi compare una finestra che vi chiede se volete ricaricare l’elenco, fatelo. Infine chiudete la finestra del gestore dei pacchetti.

A questo punto ci sono un po’ di pacchetti da installare. Nel terminale basta un comando che li includa tutti in un colpo solo:

sudo apt-get install -y gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly libavcodec5. libavdevice5. libavformat5. libavutil5. libpostproc5. libswscale.$

Il puntino nel nome di alcuni pacchetti serve come carattere “jolly” per funzionare su diverse versioni di Ubuntu.

Probabilmente vi verrà chiesta la password, è sufficiente digitarla (anche se non si vede) e premere Invio di nuovo. Una volta finito potrete riprodurre tutto ciò che volete, con una importante eccezione… i DVD. 😉

Dischi DVD

Ad essere precisi i dischi DVD fatti in casa funzionano subito con Ubuntu, il problema si pone con i dischi commerciali, cioè i film che si comprano in negozio. Questi dischi sono protetti con un sistema di cifratura anti-copia, e chi ha creato tale meccanismo non ha mai accettato di permettere a Linux di leggerlo. Fortunatamente il sistema è stato decifrato dal famoso Jon Lech Johansen ed esiste una libreria per leggere i DVD commerciali.

Il problema come al solito è quello dei brevetti, per cui la libreria deCSS che è software libero non viene distribuita direttamente con Ubuntu. È tuttavia possibile usare uno script incluso dentro al pacchetto per i DVD non criptati, che consente di installare automaticamente anche la libreria per i DVD cifrati:

sudo apt-get install libdvdnav4 libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh

Ora è tutto pronto anche per leggere i DVD. Qualche volta non funzionano benissimo con Totem, in quel caso provate ad aprirli con VLC. Vi ricordo anche che con deCSS nella maggior parte dei casi potete leggere qualsiasi DVD indipendentemente dal codice regionale, anche se il vostro lettore DVD ha un codice impostato! 😀

Considerazioni finali

Come avete potuto vedere, installare i codec è una cosa molto meno impegnativa di quanto sembri, si fa una volta e poi non ci si pensa più. Presto vi renderete conto, come è capitato a me, di quante cose siano facili da fare su Linux che prima sotto Windows richiedevano software, tempo e fatica. Un esempio banale è il download dei video da Internet, oppure la conversione tra formati diversi… Basta provare per credere. 😛

Il ridicolo test di valutazione per le lauree ad accesso libero

A volte sono un po’ critico su certe faccende, in particolare sul sistema universitario ho avuto modo di dire parecchie cose che non funzionano per niente, e altre ne scriverò. Questo post è critico, ma sono convinto che farà ridere molti di voi. 🙂 Il corso di laurea che ho intenzione di fare io (Informatica) è ad accesso libero, il che significa che chiunque può iscriversi, senza limite nel numero dei posti.

Tralascio il fatto che a mio parere i numeri chiusi non hanno senso (se uno non è capace di fare l’università comunque gli esami non li supera e non si laurea, quindi è superfluo far dannare gli studenti solo per entrare), voglio però soffermarmi su questi corsi ad accesso libero. Uno potrebbe pensare che essendo liberi, basta iscriversi ed è finita lì la storia.

Errore, a quanto pare infatti bisogna prima fare un test di valutazione. Cito dal sito dell’Università di Bologna (non studierò lì ma l’ho trovato subito con Google e spiega bene il tutto).

A partire dall’A.A. 2009/2010 la legge stabilisce che per accedere all’Università sia necessario effettuare una verifica del possesso delle conoscenze e competenze previste da ciascun corso di laurea. […] La verifica consiste in un test con domande a risposta multipla.

La prova di verifica coinvolge tutti gli studenti interessati ad immatricolarsi ai corsi di Laurea sotto elencati della nostra Facoltà, indipendentemente dal voto ottenuto all’esame di stato. Il test è obbligatorio ma un esito negativo NON preclude l’iscrizione.

Per essere precisi, a riguardo della laurea in informatica (e in generale per tutte quelle della facoltà di scienze matematiche, fisiche e naturali) si tratta di 25 domande a crocette (!!!) di matematica, e basta rispondere correttamente a 13 per superare il test. 😯 Naturalmente tutto ciò comporta due fondamentali contraddizioni al comune buonsenso:

  • dato che si tratta di accesso libero, il test ovviamente non è vincolante, quindi non ha nessun senso fare un test che non determina nulla
  • il test dovrebbe servire come indicazione delle conoscenze in entrata degli studenti, ma come vedremo non è così

A riguardo del secondo punto, io sostengo che non soddisfi lo scopo per un motivo banale: le domande sono elementari! Qualsiasi studente che abbia finito la seconda superiore saprebbe farne correttamente almeno l’85%. Se poi teniamo in considerazione che per superare il test basta rispondere a 13/25 (il 52%) ci rendiamo conto che nessuno potrà mai fallire una prova del genere. Nel malaugurato caso che ciò accadesse, basterà superare un solo esame durante tutto il primo anno accademico per considerare il debito saldato.

Per rendervi conto della assurda facilità delle domande potete scaricare un esempio del test sempre dal sito della stessa università. Noterete che la maggior parte delle domande si può fare in due minuti, a mente. 😀 Lo stesso sito fornisce anche le risposte alle domande, ma dando solo la lettera giusta delle crocette. Io vorrei analizzare tutte le risposte una per una, indicando anche il procedimento e quali si possono fare a mente.

Per cui, se siete curiosi o non riuscite a rispondere a una domanda o due (di più sarebbe strano, sono quasi tutte elementari), tenete sotto mano il foglio delle domande e seguitemi. 😉

Domanda 1: Si può fare a mente. La potenza sopra (10 alla -8) si può riscrivere raccogliendo un 10 e scomponendolo, cioè (2*5*10^-9). Si semplifica il 5 sopra con quello sotto, sopra rimane un 8 (4*2) e le due potenze, usando l’apposita proprietà imparata alle scuole medie, si dividono risultando 10 alla -9-(-3) ovvero -6. Quindi la risposta è C.

Domanda 2: Si può fare a mente, se si approssimano i calcoli (cosa che ovviamente conviene fare, altrimenti è dura). Il metodo per verificare che solo una va bene è banale, si va per esclusione. La risposta B non è accettabile. Radice di 13 è un numero compreso tra radice di 9 (3) e radice di 16 (4). Quindi sommandoci uno sarà compreso tra 4 e 5, troppo grande. La risposta C neppure, radice di 7 infatti è più grande di radice di 4 (2) e quindi raddoppiando si ottiene un numero maggiore di 4. La risposta D è errata ugualmente, infatti radice di 73 è minore di radice di 81 (9) e quindi dividendo per 3 si ottiene un numero più piccolo di 3. L’unica risposta accettabile è la A, che si può verificare con analoghi confronti tra radice terza di 8 e radice terza di 27.

Domanda 3: Si può fare a mente, stando attenti. Scrivendo il numero applicando la notazione scientifica, la cifra delle unità (il 7) va al quinto posto dopo la virgola, perciò quella delle decine (l’1) subito prima, al quarto. La risposta giusta è la C.

Domanda 4: A mente è appena appena lungo (ma si fa), comunque si risolve in un minuto scrivendo. Al numeratore viene come risultato -5/4 e al denominatore -9/4. La divisione tra queste due frazioni fa 5/9. La risposta giusta è la B.

Domanda 5: Si risolve per iscritto. Dalla domanda si deduce che 30 è il 120% di qualcosa (errore comune sarebbe togliere a 30 il 20%, ma così non si ottiene il valore corretto). Con una proporzione si ricava quindi: 30:x=120:100, da cui x=30*100/120=30*10/12=30*5/6=5*5=25. La risposta giusta è la C.

Domanda 6: Si fa a occhio e a mente. Il lato corto del rettangolo è l’ipotenusa di un triangolo che ha per cateti 1 e 2. Quindi secondo il teorema di Pitagora il lato corto è radice di 5. Si nota poi che il lato lungo è 2 volte il lato corto. In totale sul perimetro del rettangolo ci sono 6 “lati corti” e quindi la risposta giusta è la B.

Domanda 7: Si fa a mente. Hanno la stessa base e la stessa altezza, quindi hanno la stessa area. Risposta A.

Domanda 8: Si dovrebbe fare a occhio, ma la figura nel PDF è fatta malissimo e non riesco a capire quale sia l’area evidenziata, sinceramente. Visto che dicono che la risposta è D, significa che è la parte a sinistra dell’incrocio tra le due rette.

Domanda 9: Si fa a occhio. La retta scende di 1/2 ogni unità per cui ci si sposta verso destra, e parte da y = 1 con x = 0. Quindi la risposta è A.

Domanda 10: Se si procede per esclusione, è possibile farla a mente. La A è falsa, basta fare il calcolo: 1+3+2>0. La B è falsa, in quanto diverrebbe una equazione spuria con due soluzioni. La D è impossibile perché una equazione di secondo grado non avrà mai più di 2 soluzioni. Di conseguenza rimane la C.

Domanda 11: Se si procede con attenzione si può fare a mente, comunque scrivendo i passaggi sulla carta è evidentemente la risposta B.

Domanda 12: Si fa per iscritto, ma volendo anche a mente. La risposta è la B.

Domanda 13: Si fa a occhio, F(-2)-G(-2) = -1 – 1 = -2. La risposta è A.

…e nel frattempo abbiamo già passato il test, evviva!

Domanda 14: Si fa a mente. P(c,3) appartiene a 2^x significa che 3 = 2^c. Quindi c = log in base 2 di 3. Risposta B.

Domanda 15: Si fa a mente. Lanciando due dadi ci sono 36 combinazioni. 3 si ottiene solo come somma di 1+2, oppure 2+1 (l’ordine conta). Quindi 2/36, cioè 1/18. Risposta C.

Domanda 16: Si fa a mente. 2^5 = 32, risposta D.

Domanda 17: Questo è il più simpatico, si fa a mente ma bisogna pensarci per bene. 4 operatori, 20 minuti, risultato 9 colture. Gli stessi 4, per farne 90, dovrebbero impiegare un tempo 10 volte superiore, quindi 200 minuti. Siccome però sono 100 i minuti a disposizione, ci vogliono il doppio degli operatori, quindi 8. Risposta C.

Domanda 18: Si fa per iscritto (ma con pazienza anche a mente). Almeno una significa che bisogna escludere solo quelli che non ne parlano nessuna. Abbiamo quindi: (51+10+47+6)/(51+10+47+6+45+41) = 114/200 = 57/100 = 57%. Risposta D.

Domanda 19: Si fa per iscritto. 1-1/10-(9/10*2/3)=(30-3-18)/30=9/30=3/10. Risposta D.

Domanda 20: Si fa a mente, la risposta è B per le regole basilari dell’insiemistica.

Domanda 21: Si fa per iscritto. Se ha superato 3 esami con la media del 28 si può ragionare come se in tutti e tre avesse preso esattamente 28. La media col quarto esame è: (28+28+28+20)/4=26. Risposta A.

Domanda 22: Si risolve per iscritto. Normalmente dovrei pagare 3p. Con gli sconti invece pago 70/100*p+85/100*2*p=(70+85+85)/100*p=240/100*p. Devo capire quanto è 2,4 in relazione a 3. 2,4/3*100=80. In definitiva quindi ho uno sconto del 20%, risposta C.

Domanda 23: Si fa ovviamente a mente, la risposta è B.

Domanda 24: Sempre a mente, la risposta è C.

Domanda 25: Si fa a mente, la risposta è C.

Quindi la conclusione di tutto questo è che il test è doppiamente insensato: da una parte inutile perché non vincolante, quindi all’università ci entri lo stesso, dall’altra parte inutile perché tutti lo passeranno e quindi è quasi una presa in giro per le matricole. Poi c’è chi si meraviglia se chi vuole fare un accesso libero non studia per il test… Per forza, non c’è nulla da studiare! 😉

Qualcuno di voi sa darmi un senso per questo tipo di test? Avete idee in merito? Scrivete! 🙂

Aggiornamento: facendo molto di fretta le soluzioni mi era scappato un errore nel problema 19, ringrazio D4n13le per avermelo fatto notare!

Aggiornamento: idem per il problema 1, grazie Luca!

Se Ubuntu non legge i file AMR

L’ultima versione di Ubuntu, cioè la 10.04, dovrebbe leggere di default i file AMR senza più richiedere nemmeno la presenza delle librerie proprietarie, grazie a opencore-amr che è derivato dal progetto Android (evviva lui!). Ho scoperto la cosa di recente e ho subito disinstallato le librerie non libere. Ho visto fin da subito che VLC mi leggeva senza problemi le registrazioni fatte col nuovo telefono (ve ne parlerò) però Totem (il riproduttore video di Ubuntu) continuava a non trovare i codec.

Ho risolto seguendo le istruzioni trovate sul forum di Fedora. Innanzitutto premetto che Totem usa Gstreamer (a meno che non abbiate manualmente installato la versione con Xine) e Gstreamer legge molti formati multimediali grazie a un collegamento con FFmpeg, chiamato gst-ffmpeg. Questo pacchetto dovrebbe essere già installato, comunque per sicurezza vi riporto i comandi seguenti, che comprendono anche l’installazione del pacchetto.

sudo aptitude install gstreamer0.10-ffmpeg
rm -rf .gstreamer-0.10/
gst-inspect-0.10

Il secondo comando rimuove le impostazioni di Gstreamer, e il terzo scansiona nuovamente alla ricerca dei plugin. Fatto ciò dovrebbe essere tutto funzionante, compresa l’anteprima audio passando il mouse sopra l’icona del file.

Google Docs che non funziona su Firefox

Della serie “capitano tutte a me”: per lavorare al progetto d’esame, sia durante l’anno che in questi giorni per la tesina, lavoro in parte anche con Google Documenti (o Docs se preferite). Ho cominciato a riscontrare diversi problemi su Firefox 3.6 (ma vale anche per altre versioni) soprattutto col foglio di calcolo. Purtroppo non ho mai avuto tempo di stare lì tanto a cercare di sistemare, e ripiegavo lavorando con Chromium, semplicemente perché avevo i minuti contati.

Cercando di aprire un qualsiasi foglio di calcolo con Google, un messaggio inquietante appariva:

Si è verificato un errore del browser.

Tieni premuto il tasto MAIUSC e fai clic sul pulsante Aggiorna per riprovare.

Fidatevi che ho provato un sacco di volte e aggiornare non serviva a nulla, come anche ripulire cache e cookie.

Pensavo che fosse un problema con Firefox e questo sito, e che quindi l’avrebbero sistemato. Invece poi ho scoperto che su altri Firefox questo non succedeva, e ci sono anche rimasto un po’ male. 😀 Poco fa ho finalmente speso un po’ di tempo per cercare di capire il tutto, e mi è pure andata bene perché ho risolto in pochi minuti. Ho scoperto che una preferenza nascosta di Firefox, cioè dom.storage.enabled era la causa di tutto. Non ho idea del perché fosse modificata, ma comunque vi spiego come resettarla.

  • Scrivete nella barra degli indirizzi about:config e premete invio
  • Se non avete mai fatto modifiche apparirà un’assurda schermata di “perdita della garanzia”, voi proseguite
  • Nella casella di ricerca in alto scrivete dom.storage.enabled
  • Cliccate col destro sulla riga interessata e scegliete Ripristina

Tutto qui. Certo il fix è veloce, ma arrivarci non è altrettanto banale, inoltre in rete non si trova granché purtroppo.