Categorie
No Categoria

Chattare in Facebook con Pidgin, con XMPP!

UPDATE: sono state scritte le istruzioni ufficiali per Pidgin, Adium, iChat sul sito di Facebook.

Improvvisamente una notizia bomba scuote il mio animo. Finalmente Facebook implementa il protocollo aperto XMPP/Jabber per la sua (schifosissima, o meglio ex-schifosissima) chat.

Amore aperto.

Hurray! Un’altra vittoria per gli standard aperti!!!

Questo permette quindi l’utilizzo della chat direttamente in Pidgin (ma anche Adium etc.) senza l’ausilio di plugin aggiuntivi, spesso bacati, sfruttando la potenza di standard aperti, come XMPP/Jabber.

Vediamo quindi come fare per configurare Pidgin per connetterci in questo modo.

Istruzioni

Andare su Account -> Gestisci gli account (Ctrl + A), premere Aggiungi…, selezionare come tipo di protocollo XMPP, ed impostare i seguenti parametri:

Impostazioni di Pidgin per Facebook/XMPP

Nome utente: il vostro nome utente di facebook (non l’email che utilizzate per fare il login). Lo potete leggere qui, sotto la voce Nome utente; se non l’avete ancora impostato fatelo. (specifico questa cosa perché ricordo di averlo dovuto impostare dopo un po’ di tempo che utilizzavo Facebook, all’inizio questa cosa non era implementata).

Dominio: chat.facebook.com

Risorsa: Pidgin

Password: la vostra password di Facebook. Se volete potete impostare di memorizzarla.

Alias locale: consiglio di impostarlo, è ciò che appare come mittente dei vostri messaggi, nella finestra di conversazione. Se non lo impostate, al suo posto apparirà un codice lunghissimo un po’ fastidioso.

Importante: Nel tab Avanzate disabilitare Richiedi SSL/TLS. Inoltre impostare come Server di connessione: chat.facebook.com

Infine clicchiamo su Aggiungi per confermare, ed abilitiamo la relativa crocetta nella lista degli account, per iniziare a connetterci.

Nota importante (grazie a steff): se ricevete simpatici errori 503 o simili, provate a sloggarvi e riloggarvi almeno una volta da FaceBook. Questo capita quando create per la prima volta il vostro utente, e con il logout+login facebook lo salva effettivamente nel proprio database.

Servire freddo (D) .

Categorie
No Categoria

Nuovo Tema!!!

Signore e signori, ecco a vuoi un nuovo tema per Polpoino Droidi, si tratta di Mystique, mi pare davvero ben fatto, a voi le critiche!

Mystique in versione originale

Per ora non l’ho ancora customizzato molto, vedrò di farlo non appena ho tempo! :-) Per ora limitiamoci a scoprire cosa non va!

Categorie
No Categoria

Abilitare il Mi Sento Fortunato su Google Chrome

Google Chrome

Chi come me è passato da Mozilla Firefox a Google Chrome (Chromium per Linux), sente la mancanza di un’ottima caratteristica del browser, che consente di risparmiare un sacco di tempo durante il suo utilizzo abituale.

In Firefox, se scrivo una parola nella barra degli indirizzi, posso avere due comportamenti:

  1. Se la ricerca è rilevante in percentuale altissima, redirige automaticamente sulla pagina più rilevante (in pratica è come fare Mi sento fortunato)
  2. Se i risultati della ricerca sono dubbi, lascia all’utente la scelta di quale pagina visitare, mostrando la pagina classica dei risultati di Google.

In Chrome invece questa caratteristica non è presente: mostra sempre i risultati della ricerca classica.

Per portare anche in Chrome questa ottima caratteristica, seguire questi passi:

  • Cliccare sulla chiave inglese (in alto a destra) e scegliere Opzioni
  • Sulla Ricerca Predefinita, scegliere Gestisci
  • Premere Add e impostare parametri come questi:
    I parametri per la nuova ricerca

    In URL inserire questo:

    {google:baseURL}search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=navclient&ie={inputEncoding}&q=%s&gfns=1

    (Fare click su View source code qui sopra per visualizzare il testo completo)

  • Fare Salva e poi impostarlo come predefinito nella finestra successiva.
  • Ora se scriviamo delle parole chiave nella barra, si comporterà come Firefox. Se però volessimo temporaneamente fare una ricerca con Google classico, ho preferito utilizzare questo stratagemma:
  • Tra i motori, cliccare su Google (quello che punta a google.it), e scegliere Modifica
  • Cambiare la parola chiave ed inserire g al suo posto.
  • D’ora in avanti, se vogliamo fare una ricerca temporanea su Google, basterà anteporre g alle parole chiave. Ad esempio: g polpoinodroidi.
  • Servire freddo (D)
Categorie
No Categoria

Decriptare file PHP protetti con SourceCop

Mi è capitato oggi di imbattermi in un file criptato, di questo tipo:

<?php if(!function_exists('findsysfolder')){function findsysfolder($fld){$fld1=dirname($fld);$fld=$fld1.'/scopbin';clearstatcache();if(!is_dir($fld))return findsysfolder($fld1);else return $fld;}}require_once(findsysfolder(__FILE__).'/911006.php');$REXISTHECAT4FBI='BLABLA';g0666f0acdeed38d4cd9084ade1739498(f0666f0acdeed38d4cd9084ade1739498(__FILE__));$REXISTHEDOG4FBI='BLABLABLA';$REXISTHECAT4FBI='94CD76CD371C5A7BC70C186E779C293B9B49BACA5A781A6'; eval(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI));?>

Dopo una rapida ricerca ho scoperto che tale codice è prodotto da un simpatico programma (a pagamento), di nome SourceCop.

Questo programma permette di criptare dei file PHP, in modo da poterli distribuire ma senza renderli apparentemente comprensibili per un essere umano.

Apparentemente. Perché in pochi minuti ho trovato un rapido modo per decriptarli, vediamolo insieme.

  • Modificare il file ./scopbin/911006.php, e modificare la stringa:
    return (strstr($s,'echo')==false?

    in:

    return (strstr($s,'NONROMPERE')==false?
  • tornare al file criptato, e alla fine del file modificare:
    eval(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI));

    in:

    echo(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI));
  • eseguire lo script, e verrà mostrato il sorgente precedentemente criptato.
  • servire freddo. (D)

Per capire cosa ho fatto: il programma lascia salvato il codice criptato in una variabile, che decripta alla fine del file e la esegue (attraverso eval). Quindi è sufficiente stampare a video il contenuto della variabile già decriptata, invece che eseguirla.

Nota: nel file 911006.php c’è una debolissima protezione contro attacchi di questo tipo: si controlla che il file criptato non contenga funzioni come echo(), print()

Ovviamente basta eliminare questo piccolo controllo per poterle comodamente utilizzare.

Categorie
No Categoria

Convertire le emoticons da Pidgin a Emesene

Banana Joe!!!
Banana Joe!!!

Avete delle emoticons personalizzate in Pidgin ma volete provare emesene, mantenendo le vecchie emoticons costate ore di conversazioni con bimbiminkia?

Nessun problema!

Ho scritto uno script che automatizza questo compito. Scaricatelo eseguendo questo comando:

wget http://polpoinodroidi.com/download/plugins/emotes_pidgin2emesene.php
chmod +x emotes_pidgin2emesene.php

Poi installiamo questo pacchetto, necessario per il funzionamento:

sudo apt-get install php5-cli

Ed infine eseguiamo lo script!

./emotes_pidgin2emesene.php tuonome@live.it

sostituendo ovviamente il vostro contatto MSN al posto di tuonome@live.it.

Servire freddo. (D)

Categorie
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.

Categorie
No Categoria

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

Categorie
No Categoria

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.

Categorie
No Categoria

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).

Categorie
No Categoria

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!!!