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!

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)

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.

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)

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:

chroot /percorso/dove/abbiamo/montato/la/nostra/root
rm /dev/null
mount -a

I due ultimi comandi servono per evitare errori che possono comparire successivamente.

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.