Da video a gif animata su GNU/Linux

Il formato immagine GIF è un formato storico, che è recentemente tornato in auge su popolari siti social, dove viene usato per visualizzare piccoli spezzoni di video, opportunamente convertiti in questo formato.

Esistono siti online per la creazione di GIF animate a partire da video, ma hanno spesso funzionalità limitate, e sono sopratutto più lenti rispetto a un task eseguito in locale (anche solo per i tempi di upload del video da convertire).
Ho creato quindi uno script bash, che utilizza ffmpeg come motore di conversione e zenity per la GUI, in modo da semplificare il più possibile la creazione di una GIF animata a partire da un file video.
Lo script, una volta lanciato, avvia una procedura guidata che chiede, passo passo, quale impostazioni usare.
È possibile anche ottenere una GIF ridimensionata rispetto al video originale, e convertire in GIF solo uno spezzone del video stesso.

Dato che una GIF vale più di mille parole, ecco un esempio pratico:

out.ogv

<<<<Download dello script>>>>

Naturalmente, una volta scaricato e scompattato, è necessario rendere eseguibile lo script con il comando

chmod +x video2gif

.

A presto!

U&B (uebbi) Nuovo Firmware 2.1 e nuovo sito Web

Per chi non conoscesse già U&B (Uebbi) rimando agli articoli precedenti (Uebbi – Nuovo firmware italiano e Uebbi – Firmware 2.0).

Il grande passo

Quando abbiamo iniziato a metter mano ai primi Uebbi, la comunità degli utilizzatori si aggirava intorno ad una ventina di utenti.
A poco più di sei mesi dalla pubblicazione del firmware 2.0 ci sono più di mille Uebbi in giro che usano il nostro firmware.
Siamo sinceramente colpiti dal successo del progetto che non ci aspettavamo. Tale nuova dimensione ci ha portato a riorganizzare il progetto, anche perché non più sostenibile con gli spazi e il traffico offerti gratuitamente da Altervista.
Abbiamo così pensato, in occasione della pubblicazione del nuovo Firmware 2.1 (più sotto i dettagli), di ospitare il progetto U&B in un nuovo spazio dedicato, riunendo al suo interno presentazione, guide, firmware, servizi e forum.
Abbiamo compiuto il grande passo e abbiamo acquistato un dominio nuovo di zecca per il progetto. Il nuovo dominio, dove sono stati spostati tutti i servizi – finora frammentati in più spazi – è www.uebproject.org.

Le novità del nuovo firmware

Il firmware 2.1 è più un firmware di correzione bug, ma con l’aggiunta di un restyling grafico. Inoltre, il nuovo firmware farà puntare il vostro dispositivo ai servizi erogati dal nuovo sito del progetto.
Naturalmente, il firmware 2.1 include tutte le migliorie già inserite nella versione 1.0 e nella versione 2.0.
Inoltre, corregge i seguenti problemi riscontrati:

  • Corretto il problema del led acceso con salvaschermo spento; ora U&B spegne lo schermo e anche il fastidioso led blu
  • Corretto anche il problema del ronzio delle casse a salvaschermo spento; ora U&B azzera il volume dellle casse quando spegne lo schermo (a meno che non si stia ascoltando musica o radio)
  • Corretto il problema dei due tasti (radio e meteo) fisici invertiti; ora U&B carica l’applicazione corretta
  • Corretto un bug che impediva il riconoscimento delle chiavette USB già inserite in U&B prima dell’accensione

Sono state aggiunte le seguenti migliorie:

  • Aggiornato il logo di U&B, opera di Rick
  • Aggiornata la veste grafica con nuove icone, frutto anch’esse del lavoro di Rick

Il firmware 2.1 è disponibile nella sezione Download del nuovo sito www.uebproject.org. La sezione Download è visibile agli utenti registrati al sito; la registrazione è gratuita.

Altra novità del nuovo firmware è la necessità di registrare il proprio dispositivo per ascoltare le radio; per tutti i dettagli, vi rimando alla guida rapida presente sul nuovo sito!

Vi ringrazio per il supporto al progetto, ci rivediamo sulle nuove pagine di www.uebproject.org!!!

Installare Zimbra Desktop su Linux a 64 bit

zimbraZimbra Desktop è un ottimo client email OpenSource; si integra (naturalmente) nativamente con account Zimbra, ma supporta anche account Google e Yahoo (compresi calendari e rubriche) oltre che account generici POP3/IMAP4.
È inoltre un client multipiattaforma (Windows, Mac e GNU/Linux); potete scaricarlo dall’apposita pagina di Download sul sito ufficiale.
Zimbra Desktop utilizza una JRE (Java Runtime) per funzionare; per GNU/Linux viene distribuito un unico pacchetto. Se avete una distro a 32bit non dovreste incontrare particolari problemi (a parte, eventualmente, installare openjdk-jre).
Con distro GNU/Linux a 64bit la faccenda si fa più complicata, perché Zimbra Desktop non riesce a partire con JRE a 64bit (e non ho trovato howto chiari in giro).

Se volete usare Zimbra Desktop sulla vostra macchina GNU/Linux a 64bit ecco quindi come fare.

N.B. In questa guida faccio riferimento al mio installato (una LinuxMint); dovrebbe funzionare senza particolari differenze anche su Ubuntu e derivate e su Debian e derivate, e servire come riferimento generale per tutte le altre Distro.

Installare il software necessario

Zimbra Desktop richiede una JRE a 32 bit per funzionare; per usarlo in “produzione” consiglio di installare la versione 6 (anche se legacy, ma dovrebbe funzionare tutto anche con la versione 7).

sudo apt-get install openjdk-6-jre:i386

Ora controllate che la versione di Java ufficiale usata dal sistema sia comunque quella a 64bit (non ha senso, solo per usare Zimbra Desktop, impostare come JRE di default quella a 32 bit).

sudo update-alternatives --config java
Sono disponibili 3 scelte per l'alternativa java (che fornisce /usr/bin/java).

  Selezione    Percorso                                        Priorità  Stato
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      modalità automatica
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      modalità manuale
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java    1060      modalità manuale
  3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      modalità manuale

Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:

Se è tutto già a posto premete solo il tasto INVIO, altrimenti selezionate la JRE da usare normalmente per il sistema.

Scaricare e installare Zimbra Desktop

L’attuale versione per GNU/Linux di Zimbra Desktop è la 7.2.7 GA.
Scaricatela, scompattatela in una directory a vostra scelta ed eseguite l’installer in perl. Eseguite solo l’installazione system-wide (che di default è in /opt/zdesktop), e non configurate l’utente.

Modifica necessaria per gli ambienti a 64bit

Aprite ora con il vostro editor preferito (vim, nel mio caso) il file zdesktop presente, nell’installazione di default, in /opt/zdesktop/data/bin

sudo vim /opt/zdesktop/data/bin/zdesktop

Cercate la riga

JAVA=`which java`

e sostituitela con il path della vostra JRE a 32bit. Il path lo potete leggere dal comando

update-alternatives --config java

e nel mio caso è

/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java

La riga finale diventerà quindi

JAVA="/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java"

Salvate il file.

Configurazione finale dell’account

Ora potete avviare senza problemi lo script di configurazione di Zimbra Desktop per il vostro utente che, nell’installazione di default, è in /opt/zdesktop/linux

/opt/zdesktop/linux/user-install.pl

Nuovi sviluppi su U&B Uebbi

Chi legge queste pagine credo sia già consapevole di cosa sia Uebbi, ma un piccolo riassunto non fa certo male.
Uebbi era un prodotto commercializzato in Italia da Telecom nel 2008 e da altri distributori (con altro nome) in Francia e in Germania. Il supporto al prodotto è stato tolto praticamente in tutti i paesi e Uebbi ha cominciato a prender polvere nelle cantine.
Gli sviluppatori tedeschi hanno preso in mano il progetto abbandonato e sono riusciti a rivitalizzare in parte le funzionalità di Uebbi (soprattutto l’ascolto delle radio in streaming). A partire dal loro lavoro, con alcuni amici, abbiamo ripreso in mano le sorti di Uebbi, ripristinando funzionalità perdute e aggiungendone di non presenti nel firmware originale.
Il tutto, in pieno spirito di condivisione libera e gratuita, per donare a tutti, con poca spesa, la possibilità di avere un oggetto di nuovo bello e funzionante, che non andasse inutilmente buttato.
Volevo scrivere questo articolo parlandovi degli sforzi che stiamo mettendo per fare uscire un firmware 3.0; vi avrei voluto dettagliare dei passi avanti fatti per eliminare un fastidioso bug sulla porta usb (avete notato che se riavviate Uebbi con una chiavetta usb inserita, questa non viene riconosciuta al riavvio?). Avrei voluto raccontarvi dell’impegno per far riconoscere il codec AAC a uebbi, e di altri aspetti tecnici relativi a piccoli o grandi miglioramenti (forse) possibili.
Invece, devo scrivervi di persone.
Devo scrivervi di “Federico” di RadioDigitalia, che prima chiede che vengano aggiunte le sue radio (senza dire che sono sue) a quelle disponibili su Uebbi, e che poi pubblicizza lo streaming della sua radio vendendo Uebbi aggiornati a 30€.
Per una svista le radio di radiodigitalia sono state tolte; ma immagino che verranno ripristinate prestissimo….
Vi devo scrivere anche di buktrade di Genova, che pure lui ha pensato di rivendere a 30€ i Uebbi col “nuovo firmware” su Ebay.it.
E poi come non citare Marco di Crema che su KiJiJi vende le istruzioni per l’aggiornamento di Uebbi a 7€!
Niente di male se le avesse scritte lui, o almeno trascritte in bella copia; ma, caro Marco, se fai la stampa paro paro degli articoli del mio sito, la faccenda diventa poco simpatica.
E attenti anche alle fiere dell’informatica e dell’elettronica; anche lì si spacciano Uebbi a prezzi “speciali”!
Ma in conclusione questi personaggi compiono forse qualcosa di illecito, qualcosa di illegale? Credo di no.
Meritano di stare con noi? Credo fermamente di no.
Quindi chiedo a tutti voialtri di boicottare serenamente questi personaggi; lasciateli cuocere nel loro minestrone, non comprate nulla da loro (visto che ricaricano di sei volte il prezzo di un uebbi per fare un aggiornamento firmware – a cui non hanno minimamente contribuito! – saranno così in tutto?), se li conoscete portategli i miei omaggi assieme al collegamento a questo articolo.

Tornando agli aspetti tecnici, un firmware di Uebbi 3.0 vedrà mai la luce?
Forse.
Di certo ci sto, ci stiamo lavorando. Forse non lo pubblicheremo.
D’altra parte, già con il firmware 2.0 di cose buone ce ne sono; vien quasi voglia di chiedere ai vari Federico e Marco di prendere il firmware 2.0, rimboccarsi le maniche e tirare fuori un nuovo firmware aggiornato pieno di funzionalità.
E allora, probabilmente, avrebbero titolo di rivendere a 30€ al pezzo.
Ma non chiedete a me di comprarglielo.
Non lo farei.

Calendari CalDav sincronizzati e gestiti da terminale

2016-12-16: ATTENZIONE, questo articolo è obsoleto.

Leggi l’articolo aggiornato:
Calendari CalDav sincronizzati e gestiti da terminale [Update]

Questo articolo è rivolto a tutti coloro che non vogliono usare client dispendiosi di risorse e/o troppo legati ad un Desktop Environment, ma vogliono comunque poter sincronizzare, gestire ed editare i propri calendari remoti, pubblicati con CalDav.
Per i più pigri, e per quelli che amano le interfacce ‘easy and fancy’ invece consiglio i soliti programmi, ovvero:

Tutti client belli, completi, eleganti, pesanti, avidi di risorse e legati a doppio filo a qualche ambiente o applicazione.

C’è però una speranza anche per gli utenti che usano ambienti leggeri (xfce, icewm, fluxbox, blackbox…mi fermo, sono davvero innumerevoli) o addirittura per chi usi “solo” le tty.
I software (sono due, uno per il sync e uno per la gestione dei calendari) sono khal e vdirsyncer.

Installazione

L’installazione in Debian è semplicissima, basta installare da pacchetti il software python-pip

sudo apt-get install python-pip

e quindi con quest’ultimo installare khal (vdirsyncer verrà installato come dipendenza):

sudo pip install khal

Configurazione

Innanzitutto occorre mettersi il cuore in pace: non esistono semplici wizard per la configurazione dei due software, i cui file di configurazione devono essere creati ed editati a mano. Fortunatamente, è tutto molto semplice.

Partiamo dal file di configurazione di vdirsyncer, che deve essere creato nella posizione ~/.vdirsyncer/config (create la directory .vdirsyncer se necessario).
Qui sotto un semplice file di esempio dove vengono sincronizzati due calendari remoti pubblicati da un server owncloud:

[general]
# A folder where vdirsyncer can store some metadata about each pair.
status_path = ~/.vdirsyncer/status/


# CALDAV
[pair bob_calendar]
a = bob_calendar_local
b = bob_calendar_remote
collections = ["personal", "shared"]

[storage bob_calendar_local]
type = filesystem
path = ~/.calendars/
fileext = .ics

[storage bob_calendar_remote]
type = caldav
url = https://owncloudserver.local/remote.php/caldav/
username = user
password = password

(Questo è un esempio semplificato del più articolato file di esempio reperibile qui)
Come si può notare la sintassi è molto semplice; val la pena fare notare che se ci si collega a servizi via https con certificato self-signed è necessario aggiungere una riga alla sezione contenente le direttive per il collegamento a caldav, con la variabile verify_fingerprint valorizzata al fingerprint SHA1 del certificato self-signed.

Salvato il file (e creata la directory ~/.calendars) è possibile lanciare il primo sync, verificandone il funzionamento, con il comando

vdirsyncer sync

Ora non resta che scrivere la configurazione di khal (da creare nel file ~/.khal); per l’esempio riportato qui sopra il rispettivo file di configurazione di Khal sarà

[calendars]

[[personal]]
path = ~/.calendars/personal/

[[Condiviso]]
path = ~/.calendars/shared/

[locale]
local_timezone= Europe/Rome
default_timezone= Europe/Rome
timeformat= %H:%M
dateformat= %d.%m.
longdateformat= %d.%m.%Y
datetimeformat= %d.%m. %H:%M
longdatetimeformat= %d.%m.%Y %H:%M

Visualizzazione e gestione dei calendari

Con khal è possibile visualizzare e gestire i propri calendari, direttamente da terminale; khal prevede diversi comandi (khal –help per vederli tutti, naturalmente), ma il più interessante è probabilmente khal interactive che permette la visualizzazione e la gestione interattiva dei propri calendari (compresa l’aggiunta e rimozione di eventi).
Vale la pena ricordare che khal crea e modifica gli eventi in locale; il sync con il calendario remoto si ottiene lanciando successivamente il comando vdirsyncer sync.

Uno script per automatizzare il tutto

A chiusura di articolo propongo un semplice script (da associare magari a un lanciatore .desktop da tenere a portata di click) che si occupa di sincronizzare i calendari e di lanciare khal in modalità interattiva.
Lo script è pensato per l’ambiente Xfce4, ma è facilmente personalizzabile con altri ambienti ed emulatori di terminali.

#!/bin/bash
#Simple script to mantain up-to-date CalDav resources with vdirsyncer and khal
#By Franco 'frakbe' Bersani

#Perform first sync
vdirsyncer sync

#exec xfce4-minimal terminal
xfce4-terminal --hide-menubar -T "Calendario" --hide-toolbar --geometry=80x25 -x khal interactive

Nota: probabilmente può comunque valere la pena spostare il comando di sync al di fuori dello script e farlo girare con cron, ma sono valutazioni personali 🙂

Khal in azione

Uno screenshot di khal in azione in una finesta di xfce4-terminal.
khal