Archivi categoria: No Categoria

Pidgin-plus con gradienti

Ecco i gradienti all'opera! :-)
Ecco i gradienti all'opera! :-)

Un’immagine vale più di 1000 parole, e quindi ecco il frutto dei miei sforzi di programmazione di oggi pomeriggio :-)

Siccome l’autore del plugin pidgin-plus non si sente da un po’, ho deciso di prendere in mano il codice e di implementare questa caratteristica assente ormai da parecchio :-)

Known issues

Ci sono alcune “serie di sfortunati eventi” che non funzionano, eccone alcune:

  • gradienti con all’interno dei caratteri come questi: <, lettere accentate (èòàìù), caratteri strani (✿, ♫…) corretto nella versione 0.2.0.
  • a volte anche se contengono delle parentesi quadre.

Ovviamente spero di riuscire a risolvere il tutto al più presto :-) ma dovrebbe funzionare nel 90% dei casi.

Dove trovare il tutto

Per il codice e tutte le cose di sviluppo vi mando sul repository su GitHub, mentre per chi non si vuole sbattere può prendere il pacchetto .deb dalla pagina del mio repository, scegliendo l’architettura preferita. (chi ha già il mio repository attivo, basta che faccia un aggiornamento e si troverà questa versione aggiornata).

Per favore fate parecchi test e ditemi con quali pattern (nick) non funziona a dovere, incollandomeli qui nei commenti.

EELST: Adolescenti a colloquio. Improvvisamente, Tremoto

Vorrei inaugurare con questo post una nuova sezione sul mio blog: lo studio dei messaggi subliminali / chicche che gli Elio e le Storie Tese inseriscono nei loro album.

Cominciamo dalla traccia nel titolo, Adolescenti a colloquio. Improvvisamente, Tremoto, la traccia di apertura dell’album Elio Samaga Hukapan Kariyana Turu, del 1989.

Dall’inizio, a basso volume, possiamo sentire una musichetta in sottofondo, sotto la voce degli adolescenti. Essa è On The Road Again dei The Rockets, e ve l’ho separata un po’ meglio dalle voci in questo sample che potete ascoltare.

Potete confrontarla con l’originale (da YouTube), il pezzo preso parte da 00:14 a 00:49 del video.

Alla prossima chicca!

Elio Samaga Hukapan Kariyana Turu

Al fuoco!

Vorrei riportare un episodio capitatomi un mesetto fa.

Mentre guidavo, vedo a un centinaio di metri un incendio, in un campo con alberi. Non vedendo nessun segno di intervento, ed essendo sera tardi, chiamo immediatamente il 115.

frasten: Pronto, buonasera, vorrei segnalare un incendio, le do le coordinate GPS?

VVF: No, non mi servono le coordinate, dove si trova?

frasten: :-S ehm… sulla strada tra… mmm… Batticarne e… Inverno… ma non conoscendo la zona se le do le coordinate è meglio, non trova?

VVF: Lei è del posto?

frasten: Certo che no! Per questo se le do le coor…

VVF: … E allora non mi servono le coordinate…

frasten: …

VVF: <click>

E allora bruciate. Bruciate! La gente cerca di contribuire e voi dimostrate incompetenza e arroganza, un ottimo cocktail (D) . Bruciate.

Recovery di un sistema che non si avvia

Se per caso vi capitasse di dover recuperare una distro che non si avvia, basta avviare il pc da un CD di installazione live, o ancora meglio da una chiavetta USB live (ancora più veloce), montare da qualche parte la partizione root del vostro hard disk e dare i seguenti comandi in un terminale:

sudo mount --bind /dev /percorso/dove/abbiamo/montato/la/nostra/root/dev
sudo mount --bind /proc /percorso/dove/abbiamo/montato/la/nostra/root/proc
sudo mount --bind /sys /percorso/dove/abbiamo/montato/la/nostra/root/sys
chroot /percorso/dove/abbiamo/montato/la/nostra/root

Poi eseguite ciò che vi serve di fare, come se foste dentro al vostro PC, tipicamente questa procedura serve per ripristinare un kernel oppure risolvere pesanti incasinamenti con le dipendenze dei pacchetti (a me è successo).

Espressioni regolari e alfabeto farfallino

Citando Wikipedia:

Il farfallino o alfabeto farfallino è un gioco linguistico per bambini. Si può intendere come una forma estremamente semplice di codice segreto e consiste nel raddoppiare ogni vocale con l’aggiunta di una f interposta: per esempio, a diventa afa, e diventa efe, e così via (quindi “ciao” diventa cifiafaofo). Viene detto “farfallino” perché la parola “farfalla” ha un suono simile a quello delle parole “codificate” seconda questo schema.

Un computer può aiutarci in maniera estremamente semplice per codificare il testo in questa maniera.

La regola, come abbiamo letto, è che dopo ogni vocale dobbiamo mettere una f e poi ancora la stessa vocale.

Ecco quindi il semplice codice PHP:

$farfallino = preg_replace('/([aeiou])/', '\1f\1', $testo);

Vediamo di spiegarlo: la sintassi della funzione preg_replace è:

preg_replace($espressione_regolare, $sostituzione, $stringa_su_cui_applicare);

L’espressione regolare, per regola, deve iniziare e finire con un delimitatore, io ho scelto la slash: /. Questa espressione prende, con [aeiou], ogni vocale, poi grazie alle parentesi tonde ogni vocale viene messa in un parametro numerico, per essere riutilizzata dopo.

Nella sostituzione, utilizzo questo parametro \1 per dire: “ok, metti qui la vocale che ho appena letto”. Quindi avrò: VOCALE f VOCALE, che tradotto in codice diventa appunto \1f\1.

Cifiafaofo afa tufuttifi!!!

Altri problemini e risoluzioni per Ubuntu Jaunty

Alcuni altri problemini che mi si sono presentati su Ubuntu Jaunty.

Icona degli aggiornamenti mancante

A quanto pare è una cosa voluta!!! Leggo e traduco:

  • Quando ci sono aggiornamenti di sicurezza, il Gestore Aggiornamenti si aprirà e li mostrerà (oltre ad eventuali altri aggiornamenti disponibili) entro un giorno.
  • Quando ci sono aggiornamenti non di sicurezza, il Gestore Aggiornamenti si aprirà e li mostrerà una settimana dopo che è stato aperto l’ultima volta (sia nel caso in cui sia stato aperto manualmente che automaticamente, e a prescindere dal fatto che siano stati installati degli aggiornamenti, quella volta).
  • Quando non ci sono aggiornamenti disponibili, il Gestore Aggiornamenti non si aprirà automaticamente.

La soluzione per tornare al vecchio comportamento è dare in un terminale:

gconftool -s --type bool /apps/update-notifier/auto_launch false

Le nuove notifiche hanno un lampeggiamento in uscita (o in entrata)

Questo perché l’effetto dissolvimento è codato nel codice di libindicator, e quindi entra in conflitto con il relativo effetto di compiz.

Per risolvere, installare ccsm, avviarlo (Sistema -> Preferenze -> Gestore Configurazione CompizConfig), andare su Animazioni, Animazione di chiusura (poi ripetere i seguenti passi anche con Animazione di apertura), Andare sull’eventuale riga che cita Dissolvenza e il cui type comprenda Notification, modificare tale regola ed aggiungere alla fine questo:

& !(title=notify-osd)

Salvare e provare.

Quale parte di NO non hai capito?

Mi è arrivata una simpatica mail da Windows Live merda:

Ti contattiamo in merito alle tue impostazioni delle preferenze relative ai servizi di comunicazione Windows Live e MSN.

Le impostazioni correnti non consentono a Microsoft di inviarti informazioni promozionali o inviti a sondaggi di opinione su Windows Live e MSN. Vorremmo avere la possibilità di comunicarti importanti aggiornamenti di prodotto.

NO! NO! NO! NO!
Ti ho detto di NO, ok? E allora perché credi che io abbia anche solo lontanamente intenzione di volere la tua spam?

NO! NO! NO! NO!

Quale parte di NO! non hai capito?!?!?!?!?

Ma soprattutto, perché ho un account Windows Live? :-/

Blueproximity

Curiosando tra programmi improbabili, mi sono imbattuto in BlueProximity.

BlueProximity, fantastico!
BlueProximity, fantastico!

Questo programma permette di associare un dispositivo bluetooth (tipicamente il vostro cellulare), e non appena vi allontanate dal PC (la distanza e il tempo di lontananza sono configurabili) il computer verrà bloccato (facendo partire il classico screensaver con richiesta di password, mentre se vi avvicinate lo screensaver viene sbloccato automaticamente :-)

Come installarlo?

sudo apt-get install blueproximity

Da questo momento verrà caricato all’avvio di Gnome, ma comunque per questa volta lo potete avviare a mano, lo trovate sotto Accessori -> BlueProximity.

Richiede di associare un dispositivo (click su Ricerca dispositivi), selezionate il vostro cell e fate click su Utilizza il dispositivo selezionato.

Successivamente dobbiamo trovare un canale disponibile: click su Ricerca canali sul dispositivo, verrete avvertiti del fatto che il vostro cellulare potrebbe richiedere (mille volte) conferma, ebbene, fatelo.

Quando la ricerca è terminata, scorrete la lista fino a trovare un canale utilizzabile, e poi impostatelo sotto Canale RFCOMM.

Per comodità sul vostro cellulare mettete il vostro PC tra i dispositivi autorizzati, onde evitare inutili conferme!

Nota: una guida fatta bene la trovate sul sito dello sviluppatore.

Ho provato ad utilizzarlo un po’ di volte e son davvero contento, occhio a non farvi fregare il cellulare da famigliari curiosoni!!! :P

Aggiungere smileys animati con Pidgin? Certo!

Il piccione parlante
Il piccione parlante

UPDATE 30/05/09: ho riscritto la patch da zero in seguito alle modifiche recenti nel ramo di sviluppo, gli effetti sono gli stessi ma il procedimento seguito diverso :-)

Con pidgin, se cerco di aggiungere uno smiley ricevuto da un amico ai miei smileys, ho come effetto che viene salvato solo il primo frame, in pratica perde l’animazione.

Irritante.

Più irritante se penso che questo problema c’è da tempo immemore ma gli sviluppatori continuano a chiudere il ticket con stato: wontfix, perché il GdkPixBuf (non sviluppato da loro) non supporta il salvataggio in gif.

Bene, siccome mi ero rotto il cazzo di questa cosa, e un po’ per sfida, ho scritto una patch che utilizza un metodo non troppo pulito, ma che permette di aggiungere sto coso.

Come provarla?

Il metodo più semplice è quello di installare la versione di pidgin del mio repository, oppure se siete smanettoni dovrete applicare la patch al sorgente che dovete prendere dal ramo di sviluppo (attraverso monotone), applicarla, compilare ed installare pidgin! :-) [se avete bisogno di info a riguardo, contattatemi]

Per gli utenti di windows: la patch funziona (credo) anche per win, solo che non ve la posso compilare, dovrete farlo voi :-P

Problemi noti:

  • La patch permette di aggiungere uno smiley, non di salvarlo come immagine. Almeno per il momento. La nuova versione della patch (v0.6) permette anche di salvarli su file :-)
  • L’ho testata un pochino, ma non è mai sufficiente: ho bisogno di feedback ragazzi, datevi da fare e provatela!
  • Utilizzerà un po’ più memoria. Beh a dire il vero si parla magari di una 50ina di kB con un migliaio di smileys visualizzati, ma sono pignolo :-P
  • L’ho testata solo sul ramo di sviluppo (attualmente la 2.6.0dev), se qualcuno vuole portarla al ramo stabile (2.5.5) è il benvenuto :-)

Nerd area: come funziona funzionava (prima della v0.7)

Al momento della ricezione dello smiley, lo stream di dati viene salvato come file all’interno della cartella ~/.purple/remote_smiley_cache, con un nome univoco e nel formato originale inviato dal nostro contatto.

Viene creata una corrispondenza smiley_visualizzato<==>file_in_cache, in modo che al momento in cui faccio tasto destro sullo smiley e clicco su Aggiungi smiley personalizzato, lui non vada a chiedere al GdkPixBuf di salvarglielo, piuttosto gli chiedo di andare a leggere il contenuto del file in cache e di salvarlo tra gli smileys personalizzati.

Leggetevi la patch per maggiori info. Lo so, non è commentata, ma il codice di pidgin purtroppo non lo è mai, quindi ho semplicemente seguito lo stile attuale.

Ubuntu Jaunty 9.04

Ebbene, eccomi qui, sulla mia fiammante Ubuntu 9.04.

Cominciamo a vedere qualche novità.

  • Nuova immagine di usplash all’avvio:

    jaunty-usplash
    L'immagine all'avvio
  • Nuovo sistema di notifica, invece di libnotify, si usa libindicator:

    Alessio che cerca di liberare spazio per instaLare jaunty :-P
    Alessio che cerca di liberare spazio per instaLare jaunty :-P
  • OpenOffice.org 3.0.1
  • Nuovo controllo per il volume, che si appoggia alle libindicator:

    jaunty-volume
    Il controllo del volume
  • Synaptic (il gestore di pacchetti) parecchio più rapido nella lettura dei pacchetti
  • Corretto il bug che affliggeva molti, della finestra di dialogo apri/salva, che appariva ridicolmente piccola e bisognava ingrandirla a mano, ogni volta;
  • Quando si cambiano gli sfondi del desktop, essi hanno un simpatico effetto di dissolvenza tra l’uno e l’altro, un tocco di stile.
  • Corretto un problema con la richiesta di password per i dati criptati, in cui la finestra non era in primo piano e incasinava tutto (capitava con Enigmail, o quando si firmavano files…)
  • Un generale aumento di prestazioni nella gestione del 3D, non so se grazie al nuovo driver Nvidia 180.44, fatto sta che cairo-dock è assolutamente reattivissimo, come anche compiz.

Ed ora passiamo ovviamente ai problemi che mi si sono presentati :-):

  • Quando ho provato ad aprire il primo terminale, mi appare questo bellissimo errore:

    “Errore nel creare il processo figlio in questo terminale”

    Dopo mille googlate, ho scoperto che il filesystem devpts non viene caricato al boot, e quindi bisogna caricarselo a mano, come spiegato qui.
    Consiglio di inserire tal comando nel file /etc/rc.local, in modo da non doverlo inserire ad ogni riavvio.
    (per chi dovesse arrivare qui tramite google, una conseguenza di questo bug è quest’altro messaggio: “fork di pty non riuscito”, che mi è comparso ad esempio in synaptic).

  • Crash in pidgin alla connessione, quando mi connetto ad un account con protocollo XMPP (tipo gmail/gtalk). È risolvibile leggendo qui, oppure installando gli ultimi pacchetti di pidgin e libxml2, aggiornati proprio in queste ore, che risolvono proprio questo bug.
  • Le impostazioni di compiz erano più o meno sballate, c’erano alcuni plugin che avevo attivato che ho dovuto riattivare tramite ccsm, tra cui: Animations addons, Opacity, Brightness and Saturation, il cubo, le finestre tremolanti, e mille altre cose.
  • I fonts si vedono più o meno diversi da prima, soprattutto con le applicazioni in QT, ma qtconfig ci può dare una mano in merito (anche se a me non ha risolto completamente).
  • Con Thunderbird 3 beta2 i caratteri sono particolarmente enormi, ma vabbé, è solo un pacchetto non ufficiale per ora, attenderò.
  • Il tanto sbandierato boot rapido non l’ho assolutamente visto, siamo completamente in linea con Intrepid, anzi Gnome è parecchio più lento a caricarsi, dopo il gdm-login.

In linea di massima sono ASSOLUTAMENTE contento di questa Jaunty, mi pare un lavoro molto ben fatto, e i problemi che ho avuto li ho corretti praticamente tutti, a differenza di quanto mi era capitato nelle versioni precedenti.
Non mi resta che augurarvi un buon upgrade!!! (D)