lunedì 24 ottobre 2016

Come occultare Aranzulla o mypersonaltrainer e altri siti molesti dalle ricerche google

Come molti altri, sono entrato in contatto con le "opere d'arte" di Salvatore Aranzulla svolgendo ricerche su argomenti informatici. Sono un professionista e appassionato del settore, per cui mi piace pensare di essere decentemente competente su un vasto spettro di tematiche. Quando cerco informazioni, raramente sono soddisfatto da riduzioni banali.
Ciononostante sono spesso incappato in  una sequenza di infantili banalità in risposta a quesiti molto puntuali su argomenti specialistici. Il principale autore di queste volgarizzazioni insoddisfacenti è Aranzulla, il cui sito si materializza costantemente tra i primi risultati. Quando commetto l'errore di cliccare comunque, mi ritrovo sommerso di banner, utili solamente a foraggiare ulteriormente il suo dubbio operato.
Provate ad avviare, in modo intuitivo, una ricerca su google per risolvere un problema pratico... Aranzulla sarà lì, in agguato, a caccia di clic per guadagnare dai suoi banner.
Certo, se l'argomento è particolarmente esotico o dettagliato, salvo incidenti Aranzulla risulterà assente, visto che il suo lavoro non è di approfondire gli argomenti, ma di rappezzare una soluzione superficiale.
L'abilità diabolica che non si può fare a meno di riconoscergli consiste nel rispondere agli argomenti più ricercati su google dagli utenti, piazzandosi ai primi posti nelle ricerche Google generiche. Sarà sempre pronto a fornire risposte banali e incomplete.
Provate ad esempio a cercare informazioni su un argomento semplice, come la masterizzazione di un DVD.
Chiedete a google "masterizzare un DVD", e Aranzulla sarà lì, in prima linea, e non con un solo risultato...
Vabbé... tappandomi il naso provo a dare fiducia all'esperto...
 "Non sei molto esperto del mondo del PC, un tuo amico ti ha chiesto di passargli alcuni file su DVD e tu sei in panico perché non sai dove mettere le mani. Non preoccuparti, esistono diversi programmi per masterizzare DVD gratis in Italiano che fanno al caso tuo.
Si tratta di software estremamente intuitivi – ma potenti – che ti permetteranno di arrivare puntuale all’appuntamento con il tuo amico e di creare DVD in maniera così rapida e semplice che ne rimarrai sicuramente stupito."

Non so che impressione vi dia questo preambolo... a me suona come una presa per il culo pazzesca, paragonabile alla carezza sulla testa di un bambino delle elementari in cerca dell'approvazione degli adulti.
Lo scopo della guida è masterizzare un DVD, non di certo fare bella figura con gli altri! Osservo tristemente l'inconsistenza dello stupore che questa procedura dovrebbe suscitare nell'acclamante pubblico, descritta con un continuo e melenso tono da leccaculo.
Ovviamente la guida riguarda per Windows (è esclusa a priori la possibilità di uso di sistemi alternativi come Mac, Linux o altro...) e suggerisce un diverso software per ogni occasione, senza ricordare neppure per sbaglio che TUTTE le maggiori famiglie dei sistemi operativi attuali non necessitano di software aggiuntivo per l'operazione, ma semplicemente di imparare le poche azioni necessarie (in genere trascinare file e cartelle sull'icona del CD/DVD o alla peggio aprire un programma apposito già incluso dell'installazione di base).
Benissimo... immagino di accettare la soluzione aranzulliana e di essere in presenza di un PC che non mi appartenga. In mancanza del magico aranzulliano software, la "stupefacente" abilità di masterizzazione svanirà nel nulla, salvo convincere il malcapitato proprietario ad installare i programmi suggeriti. La soluzione più immediata che suggerisce è di portarsi dietro una chiavetta con la preziosa dotazione di software, magari (dico io) già che ci siamo infettata da virus, senza contare che potrei non riuscire ad ottenere i privilegi di amministrazione sulla macchina...


Ignoro questo caso estremamente sfigato, e faccio ancora finta che mi vada bene, ma sorge un nuovo problema... il computer è un Apple Mac... come fare? La guida è per Windows....
Ripeto la ricerca sperando di dribblare Aranzulla con l'aggiunta di dettagli: "come masterizzare un dvd in osx".
Ci aspetteremmo di trovare in primo luogo le informazioni ufficiali, dal sito di supporto Apple, che è ottimamente realizzato per fornire agli utenti informazioni sull'uso, ma... sorpresa! Il supporto Apple è al QUARTO posto, preceduto da ben tre guide di Aranzulla... un vero mostro di onniscienza.

Aranzulla vince! Supporto tecnico Apple soltanto al quarto posto!
Per capire il livello dell'invasività di Aranzulla su google, provate a svolgere ricerche vaghe. Ne ho provate parecchie, e i risultati sono inquietanti... Il nostro blogger-fenomeno ha colonizzato l'avverbio "come"
"come inviare"
"come ritrovare"
"come localizzare"
"come rintracciare"
"come vedere"
"come chiudere"
"come programmare" (qui si trascende il comico... un must per sviluppatori professionisti)
"come proteggere"
"come nascondere"
"come ripristinare"
Provateli, e vi ritroverete rapidamente una ricca scelta di ricerche aranzullizzate.

Chi legge queste mie parole, molto probabilmente condivide il mio giudizio negativo, non limitandosi al sito di aranzulla, ma in generale a quelli abili a piazzarsi nei primi posti dei motori di ricerca, prevalentemente discutibili quanto a contenuti.

Fin qui ho parlato solo di aranzulla, ma nel titolo cito my-personaltrainer, che dal punto di vista dei rischi è sicuramente ben peggio. Mentre Aranzulla è fastidioso e prevalentemente innocuo, lucrando sull'ignoranza dell'utente medio, il sito http://www.my-personaltrainer.it può vedersi come l'Aranzulla dell'ambiente medico e sportivo, capace di chicche estremamente pericolose, come la pubblicazione di interi protocolli di doping "per modelli"!...
Inutile che spieghi quanto sia discutibile qualcosa del genere, e quanto io ritenga stupido sia lasciarlo online.
(per rendervi conto visitate http://www.my-personaltrainer.it/sport/doping-fotomodelli.html , ma non c'è limite al peggio)
Gli autori si giustificano scrivendo che l'articolo è soltanto informativo e non vuole in alcun modo incoraggiare...
Suonano deboli quanto le giustificazioni dei venditori di pipe ad acqua ("bong"), che si dichiarino contrari alle droghe leggere.

Il quadro è chiaro... come proteggerci?
Ho sperimentato con successo due strade. La prima è scrivere la domanda in un'altra lingua, visto che Aranzulla e my-personaltrainer "parlano" soltanto italiano.
La seconda, visto che google non ci consente di escludere specifici siti web dalla ricerca, è di ricorrere alle estensioni del browser.

Ne ho provate due con successo, ma lascio a voi la ricerca di un metodo per Internet explorer di Microsoft o altri browser.

Firefox - estensione hide unwanted results of google
https://addons.mozilla.org/it/firefox/addon/hide-unwanted-results-of-go/

Google chrome personal blocklist
https://chrome.google.com/webstore/detail/personal-blocklist-by-goo/nolijncfnkgaikbjbdaogikpmpbdcdef

Chiunque volesse contribuire con metodi validi per altri browser (Safari, Opera, Dolphin...), si senta libero di commentare il post! :)

Happy hacking!

martedì 26 giugno 2012

Artistico errore "html page not found" di stackoverflow.com

Navigando per il web, sono incappato in un broken link di stackoverflow.com
una pagina d'errore personalizzata (page not found)
http://stackoverflow.com/questions/1177019/what-can-be-done-in-r-that-cant-be-done-with-python-numpy-scipy )
Sotto forma di immagine png, campeggiava sul lato destro la robaccia che riporto qui sotto
(http://sstatic.net/stackoverflow/img/polyglot-404.png)

?!?... che roba è? (o per citare il vecchio buon Q*Bert "@!#?@!")


Dopo qualche secondo la curiosità ha avuto il sopravvento.
Mi sono detto: 'azz questa è una piccola sfida che si deve vincere! (sottotitolo: brutti bastardi...) :)

L'immagine riportava una porzione di codice C apparentemente errata, ma in realtà solo offuscata.

Vediamola ricopiata esattamente, carattere per carattere.

# define v putchar
#   define print(x) main(){v(4+v(v(52)-4));return 0;}/*
#>+++++++4+[>++++++<-]>++++.----.++++.*/

print(202*2);exit();
#define/*>.@*/exit()


define?... AH! Ecco l'inghippo! =:-)

Partiamo con la dissezione

(reference della #define http://www.cplusplus.com/doc/tutorial%20%20/preprocessor/ )

La prima define sostituisce a ogni carattere "v" del sorgente la funzione di libreria "putchar" che prende come argomento un int (8 bit) e stampa il carattere con il codice ASCII corrispondente, restituendone il valore in caso di successo.

(reference della putchar http://www.cplusplus.com/reference/clibrary/cstdio/putchar/ )

La seconda define, scrive sostanzialmente il main.
L'argomento della define "x" è una bufala e viene ignorato (quel "202*2" viene ignorato e scartato, visto che a destra di print(x) non compare).


Applichiamo quindi la prima define, come farebbe il compilatore, e togliamola subito dai piedi.

# define print(x) main(){putchar(4+putchar(putchar(52)-4));return 0;}/* #>+++++++4+[>++++++<-]>++++.----.++++.*/
print(202*2);exit();
#define/*>.@*/exit()

... già qualcosa prende forma...
ora applichiamo la seconda define, sostituendo a "print(202*2)" quella robaccia.

(nota... l'argomento 202*2 non vi ricorda nulla?... io me ne sono accorto MOLTO dopo ;) )

Il pezzo di codice che inizia con /* nella define, e finisce dopo quella sfilza sfilza di +++, viene ignorato fino al seguente */ (le parti contenute sono un unico commento, e questo giochetto mi è servito per imparare che le #define possono ospitare commenti... :-) ) quindi questo codice equivale a

main(){putchar(4+putchar(putchar(52)-4));return 0;};exit(); #define/*>.@*/exit()

Resta l'ultima define che, tolto il commento, è
#define exit()


equivalente a dire al compilatore "dovunque tu incontri la stringa 'exit()', sostituiscila con il nulla".

Il sorgente finale riportato alla luce è dunque

main(){putchar(4+putchar(putchar(52)-4));return 0;};;

I punti e virgola vengono ignorati, sono semplicemente innocueistruzioni vuote. Se anche fossero compilate sarebbero NOP (nessuna operazione).

Formattato meglio diventa

main(){
putchar(4 + putchar(putchar(52) - 4));
return 0;
}

ma per essere ancora più chiari

main(){
int carattere;
carattere = putchar(52); // adesso carattere vale 52
carattere = putchar(carattere -4) /* adesso carattere vale 48 */
carattere = putchar(4 + carattere) /* adesso carattere vale 52 */
return 0;
}

52 è il codice ascii di "4"48 è il codice ascii di "0"...Questa robaccia stampa "404"

L'errore 404 page not found, brutti stronzi malefici che non sono altro! :-D

Per essere sicuro volevo sperimentare il codice, ma senza dover installare compilatori o un IDE apposito. Ho cercato se esistesse qualche web application per interpretare codice sorgente.

Ne ho trovati una marea, e ho scelto il primo a caso.
http://codepad.org

Se fate girare quel codice a inizio pagina l'output è appunto una stampa dei caratteri "404". ;)

Happy hacking!

Aggiunta del 27 giugno 2012 11:41

Un amico mi ha fatto notare che le righe che inizano per # sono commenti in PHP, dunque aggiungendo all'inizio il tag
<?php

e alla fine il tag
?>

Il codice funziona anche in PHP!

Diavoli di StackOverflow... :)

giovedì 22 novembre 2007

Traduzioni ardite dall'Inglese

Aspetto le vostre traduzioni

'Twas brillig, and the slithy toves
Did gyre and gimble in the wabe:
All mimsy were the borogoves,
And the mome raths outgrabe.

"Beware the Jabberwock, my son!
The jaws that bite, the claws that catch!
Beware the Jubjub bird, and shun
The frumious Bandersnatch!"

He took his vorpal sword in hand:
Long time the manxome foe he sought—
So rested he by the Tumtum tree,
And stood awhile in thought.

And, as in uffish thought he stood,
The Jabberwock, with eyes of flame,
Came whiffling through the tulgey wood,
And burbled as it came!

One, two! One, two! And through and through
The vorpal blade went snicker-snack!
He left it dead, and with its head
He went galumphing back.

"And hast thou slain the Jabberwock?
Come to my arms, my beamish boy!
O frabjous day! Callooh! Callay!"
He chortled in his joy.

'Twas brillig, and the slithy toves
Did gyre and gimble in the wabe:
All mimsy were the borogoves,
And the mome raths outgrabe.

mercoledì 14 novembre 2007

Un nuovo inizio

Questo è il primo messaggio di questo blog.
E' soltanto una prova, e in realtà non ho mai molto sentito l'esigenza di averne uno, quindi... Forse non avrà contenuti granché interessanti.
Se mi verrà in mente un senso da dare a questo spazio, i rari lettori potranno saperlo.