Etichette

mercoledì 14 dicembre 2011

What's Ventaglio, What's Zia?

Recensione Molto poco Seria di Once Upon Time in China

Il film inizia in modo epico, siamo su una nave, e  ad un tratto, ma non chiedetmi il perche, per salvare la famosa danza del drago, Wong si sacrifica e con magici salti, rocambolesche acrobazie riesce   a far ballare il faccione del drago...  Poi  all'orizzonde delle navi, chi sono?
gli invasori !
E un uomo, che ancora non capisco chi era, dice  sta per scappare, ma Wong  (che è un po sfigato deve rimanere, perche? Bo lui se deve da sacrificare...), gia qui mi sorgono dei dubbi amletici...
Ma non finisce qui! a Wong viene dato, dal misterioso uomo un Ventaglio, si proprio un Ventaglio!! Ovviamente anche negli occhi di Wong c'è un po di SURPRISE, cosa significa questo ventaglio?
Io ho solo una risposta: "Sventola che te passa!" famoso detto cinese, della regione di Foshan!

Il problema è che ancora non abbiamo capito chi sto Wong !!  Ovviamente nella mia  testa ho solo  una musica...
" Ma chi è ?
Ma chi è ?
Ufo Robot Ufo Robot
Raggi Laser che sembran' fulmini
E' protetto da scudi termici
Sentinella lui ci fa.
Quando schiaccia un pulsante magico
Lui diventa un'ipergalattico
Lotta per l'umanità"


Wong, ovviamente è Wong Fei Hung, ed  è un Dottore, caprendiamo la sua propensione alla medicina mentre estrae un proiettile con le nude mani... Ma Wong ha anche una scuola di arti marziali ma come al solito  nella sua scuola c'è un sacco di gente strana....
ma uno normale che faccia Kung Fu esiste????

Ovviamente la risposta lo sapete gia... no! noi che facciamo kung fu non siamo normali!

Ma torniamo alla nostra storia,  Wong  è anche un pacificatore (vedete come il mio  parellilismo con ufo robot non è casuale :-) ) , vuole mettere pace tra i coloni e il popolo cinese, non si capisce bene  il perche e in quale luogo, non si sa se in quale veste,  e perche dovrebbero stare a sentire lui, ma lui va!

Appare  allora , uno strano personaggio, Foon,  che vuole migliorare il proprio kung fu, vuole diventare attore, essere fico, simpatico e cuccadores!
Si cuccadores, perche esiste in tutta questa vicenda anche una donna:
La 13°ZIA (come tutte le donne è un "?" )
e come in tutti i piu bei film crea il magico tringolo, Wong , Foon, ZIA!!! La zia vuole Wong , foon vuole la zia, ma Wong chi vuole??? 
Ma non è che il Kung Fu, dopo troppo allenamente, ti rincoionisce?

Altri personaggi strani si inseriscono nella fitto intreccio di questa trama:
il Ciccione buffo, versione acerba di   danny the dog, che non vuole altro che picchiare la gente! Oppure il cinese che non sa parlare il cinese ma sa l'inglese... ma quanti interrogativi...??

Ma attenzione inizia a piovere, e mentre  Wong si veste in una versione Vintage di Neo di Matrix, appare il maestro Yim che spezza due lance con il collo, e viene da dire:
"Bah gia visto mille volte sul national geographic! "
ma questo non è importante perchè maestro Yim, c'ha i contro Zebedei!!!
Infatti lo rincontriamo quasi per sbaglio, perche davvero non si capisce come ci siamo finiti, che
 combatte con un altro maestro, un altro maestro  mai visto!!!
Ma chi è questo maestro? io ho solo una risposta:
una povera comparsa finita li per sbaglio per essere uccisa dopo 5 secondi!!!
(questo è il duro mondo del cinema!)

  Ma finalmente arriva la svolta:
Wong capisce che vive in  un paese corrotto, con un buon livello di omertá, un buon livello di mafia e un buon livello di politici corrotti, insomma non lo sapevamo ma Wong era finito in italia!!! 


Voi vorreste ora sapere come va finire, certo, devo sintetizzare, percui saltando i preamboli, vi dico che Wong e Yim combattono insieme, e ovviamente  vince  Wong!!  
Yim muore trivellato di proiettili, perche dovete sapere, che per quelle rare coincidenze astrali, i tizi che sparano a Wong sono affetti da una strana forma di strabismo, mentre quelli che sparano a Yim sono dei cecchini professionisti e anche un po sadici visto che una groviene avrebbe meno buchi di quanti ne aveva Yim...
Si scopre anche  una cosa importante, che nel Kung Fu esiste  un nuovo colpo micidiale, 
il lancio della pallino di piombo a mani nude....movimento chiamato anche  "La pallina di Chuck Norris", della serie a Wong na pistola non serve!!!

E mi rimane solo una domanda:
MA IL VENTAGLIO A CHE SERVIVAAAAA!!!!

Once Upon time in china

Recensione Seria

Ieri sera, anche se la stancehzza faceva la sua parte, ho visto il film"Once upon in time in China", non scriverò la parte classica di una recensione (Trama, cast) perche ci hai gia pensato il mio amico Hung-gio  che linko volentieri (ed è stato molto bravo), ma vorrei fare alcune  riflessioni:

Secondo  me il film è un po carente lato sceneggiatura, lato montaggio, e forse regge grazie ad un buon regista che ha saputo amalgamare con maestria alcune parti. Avvolte ho avuto l'impressione che il film fosse pensato pe durare almeno il doppio, ma con  abili tagli e montaggio sono riusciti a riportrlo ad un tempo cinematografico decente. I peronsaggi non sono del tutto caratterizzati, molti dei quali sono rimasti in sospeso. Insomma sono rimasto un po deluso dal film perche alla fine non mi ha lasciato niente,  forse sono io troppo occidentale per apprezzare alcune cose, ma disolito il sarcasmo del cinema cinese mi piace e mi diverte.
La traccia mucicale del film piu importante, che fa da light motif è molto bella e coinvolgente, e anche la fotografia mi è piaciuta anche se ho trovato  squilibrata, specialmente  se confrontiamo il romanticismo e la poesia che la fotografia esprime nella parte iniziale quando gli allievi della scuala si allenano sulla spiaggia, alla piu fredda e realista fotografia delle scene in città.
Poi se andiamo a vedere l'aspetto marziale, la scena piu bella è il combattimento tra il maestro Yim e Wong, il combattimento che si svolge sulle scale è epico ed è stato ripreso anche in alcuni film occidentali di ultima generazione, ma mi serei aspettato meno acrobazie, e una rappresentazione piu vicina llo stile Hung Gar di cui Wong era maestro indiscusso (questa è una mia interpretazione forse gli anziani mi saprebbero dire di piu..).

Ora mi rimane da dire chi salvo:


Ovviamente la 13° Zia, e l'amico wing, ovviamente solo perche sono i due personaggi piu simpatici!!!

martedì 6 dicembre 2011

La storia di Sumo e Frankie

Oggi, qui, su queste pagine voglio raccontarvi la storia di Frankie e Sumo,  perche bisogna che qualcuno si prenda la responsabilità di dire al verità!
Di raccontarli e di descrivere il loro viaggio, cosi come Virgilio accompagnò Dante nell'inferno e nel purgatorio (ci fermiamo qui, non perché, come per Vigilio non siamo battezzati, ma perché il paradiso non esiste, lo sanno tutti!!!), cosi io vi condurrò nel loro  mondo....
Mi perdonerete per il mio italiano pessimo, e per i miei orrori ortografici, che avvolte neanche il correttore automatico sa come correggere..... :-)

Piccolo preambolo Introduttivo 


Tutto iniziò in un sera in cui, in una taverna chiamata  "Confusa Insipidezza",  mentre sbisbocciavamo con vinello rosso,  un'amico di nome MARIO (lo so è un nome inflazionato, ma vi voglio rassicurare il suo cognome non era Rossi, percui io sono a posto) mi presentò Frankie

  Aveva la faccia sbattuta, il sorriso spento, insomma era veramente un mostro!




Da li a poco, in un mio viaggio in Aventino, principalmente nella regione Malesia  (che tutti voi conoscete), in un altra serata di Bisboccia(Ho messo il link al significato italiano :-), sai non si sa mai!), il solito amico MARIO (si sempre lui... incredibile non so come faccia) mi presentò un altro amico Sumo.


Aveva la faccia e il corpo un po giallo, e poi cavolo quel costumino fuori moda era orrendo!

Ovviamente il mio compito fu quello di farli incontrare, perché entrambi adoravano il kung Fu, entrambi desideravano apprendere la famosa arte.
Cosi li portai  a In Nova, anche detta In Vecchia (anche perché li le persone tendono velocemente alla depressione, ma questa è un altra storia), oppure In Cazza (è sempre lo stesso luogo ma avvolte ... dopo che sei invecchiato ti fa pure ....inca....).
Ma come dico sempre io, i nomi sono poco importanti l'importante è il dove e il quando (lo so l'ho detta, e vabbe è sfuggita...).

Cosi i due incontrarono TaiLung famoso guerriero....

Eccoli qui mentre attendono udienza da Tailung davanti la sua casa, per diventare suoi allievi ufficiali...
Come documenta questa foto, mentre attendevano il grande maestro  Frankie e Sumo si davano da fare, MA non come state pensando  voi lettori ambigui e maliziosi... Sumo e Frankie aveva iniziato la preparazione atletica...
Finalmente il maestro  iniziò ad allenarli. Nella foto qui sopra viene documentata la tanta devozione dei nostri allievi, che sulle nocche facevano i piegamenti.



Ma qualcosa  stava accadendo, qualcosa era nella'aria...
e non era la puzza delle loro scarpe oramai distrutte dall'allenamento, ma nell'aria forse .... forse,ma dico forse.... un profumo diverso....

Tailung si era fatto prendere la mano, tanto che in una sessione di allenamento, che consisteva nel   lanciarsi dalle cascate del villaggio a "piett' 'e palumm'" e frantumare con il petto un masso posto al di sotto.
Successe l'irreparabile...


Sumo piange disperato, ha perso il suo amico Frankie, anche se bruttino Frankie era davvero una persona speciale, una persona di altri tempi (Si dice sempre cosi, vero?)!


Dopo la tragica scomparsa di Frankie, Sumo non sopportò ai sensi di colpa (di quali siano stati i suoi senzi di colpa non si sa, ma quelli ci stanno sempre e ovunque!)
A causa di ciò,  fece l'estremo gesto...


Accompagnato da una lettera, lasciata proprio da Sumo:
"Oggi il destino ha fatto il suo gioco, portandosi via Frankie.
Non riesco a sopportare questo mondo senza la sua presenza.
Sono certo che il nostro maestro capirà il mio estremo gesto.
Ora la mia purificazione sarà totale.
Non piangete per me.
Sarò di nuovo terra."

... la storia continua

Mentre raccoglievo violette, nel giardino mi accorsi che in un angolo del giardino tailung si era addormentato:


... in bocca ancora un grosso calumet della pace,  fumante, e ancora acceso.
I suoi occhi erano  cristallini,  una lacrima si affacciava timida, non riuscivo a capire se dormisse oppure oppure stava sognando ad occhi aperti.

Di  improvviso un tremore sul suo corpo lo destò, e mi guardò fisso negli occhi, ma i suoi occhi sembravano avessero visto la morte in faccia, non lo avevo mai visto cosi....


La domanda era lecita.... la morte di Frankie e Sumo era stato un sogno, oppure era tutto vero.
Questo si leggeva chiaramente negli occhi  di tailung.
Ma non era l'unico che si faceva certe domande, perchè i due amici erano spariti, ma non c'era traccia ne dei loro corpi morti ne dei loro corpi da vivi....
fino a quando.....
fino a quando.....
fino a quando...
non apparve questa opera sulle bancarelle di Sao  Palo mBa.
Questa opera, inedita,  del pittore katsushika hokusai,  ritraeva  Sumo e Frankie con La Grande GRU!!

I DUE NON ERANO MORTI, MA STAVANO PARTECIPANDO AL SEMINARIO CHE GRU TENEVA OGNI ANNO PRESSO COLLE OTTONE NELLA FAMOSA PALESTRA DELLA TIGRE E DELL'ACQUA!

E fu da allora che Tailung, vagava per i borghi, le contrade, i rioni, nella vana speranza di rincontrarli...
Ma poi un giorno, dopo la sua  quotidiana dose di.... meditazione,  apri gli occhi lentamente, forse svegliato da...

 eccoli davanti a lui, Sumo e Frankie, i suoi prediletti erano tornati dal seminario.
La gioia negli occhi di Tailung era incontenibile, si vede chiaramente dalle foto: la faccia sbigottita, l'espressione frastornata  e incredula, il suo cuore non era stato mai cosi colmo di amore.

Tailung era cosi preso, dai racconti dei due sul fantastico seminario di Gru che decise di andarla a trovare e ringraziarla di quanto aveva insegnato ai suoi allievi..... e diciamo che la ringraziò a dovere, come dimostrano le foto scattate, da un famoso fotografo "MeioEvita Korona"...
Dopo questa breve pausa (di svago), gli allenamenti dei due continuavano e si facevano sempre più duri.

Eccoli che si allenano, nella pratica di esercizi massacranti,  posti al limite tra il reale e il surreale...


Ma non bisogna mai dimenticare che una buona pratica deve essere accompagnata da una buona base teorica, ripercorrendo la storia, le dinamiche, le gesta....... e d eccoli qui sotto alle prese con lo studio teorico.









Purtroppo la mente debole... e no, diciamo  il cuore debole, e non proprio, insomma diciamo qualcosa di estremamente deboli di Tailung, gli fece commettere un terribile errore......


Gru trovate le foto compromettenti che ritraevano, in modo inequivocabile Tailung con Vipera,  decise di portare via Sumo e Frankie a Tailung, ritenendoli suoi allievi ..... to be Continued!

Appunti di viaggio.... una mattina

Oggi è successa una cosa che avvolte capita, quello di sentire delle parole per poi ritrovarsi dentro le parole....

Vivere la vita è una cosa veramente grossa,
c’è tutto il mondo tra la culla e la fossa,
sei partito da un piccolo porto dove la sete era tanta il fiasco era corto

e adesso vivi perché non avrai niente di meglio da fare finchè non sarai morto.

La vita è la più grande ubriacatura

mentre stai bevendo intorno a te tutto gira e incontri un sacco di gente,
ma quando passerà non ti ricorderai più niente,
ma non avere paura qualcun’ altro si ricorderà di te,
ma la questione è, perché?
Perché ha qualcosa che gli hai regalato oppure avevi un debito e non l’hai pagato?
Non c’è cosa peggiore del talento sprecato, non c’è cosa più triste di un padre che
non ha amato.
Vivere la vita è come fare un grosso girotondo, c’è il momento di stare su e quello
di cadere giù nel fondo e allora avrai paura perché a quella notte non eri pronto,
al mattino ti rialzerai sulle tue gambe e sarai l’uomo più forte del mondo.
Lei si truccava forte per nascondere un dolore, lui si infilava le dita in gola per
vedere se veramente aveva un cuore, poi quello che non aveva fatto la società
l’ha fatto l’amore, guardali adesso come camminano leggeri senza un cognome.
Puoi cambiare camicia se ne hai voglia e se hai fiducia puoi cambiare scarpe,
se hai scarpe nuove puoi cambiare strada e cambiando strada puoi cambiare idee
e con le idee puoi cambiare il mondo, ma il mondo non cambia spesso, allora la
tua vera rivoluzione sarà cambiare te stesso.
Eccoti sulla tua barchetta di giornale che sfidi le onde della radiotelevisione,
eccoti lungo la statale che dai un bel pugno a uno sfruttatore,
eccoti nel tuo monolocale che scrivi una canzone,
eccoti in guerra nel deserto che stai per disertare
e ora eccoti sul letto che non ti vuoi più alzare e ti lamenti dei governi e della crisi
generale,
posso dirti una cosa da bambino?
esci di casa, sorridi respira forte sei vivo, cretino!



Mi sembra anche giusto pubblicare autore e video:





sabato 26 novembre 2011

Accadono cose che sono come domande...

"Accadono cose che sono come domande.
Passa un minuto, oppure anni,
e poi la vita risponde" (A.Baricco)

La vita avvolte sembra  una discesa su un fiume a fare Rafting! Avvolte  una  calma che ti costringe a remare contro corrente, spesso ti trovi nelle rapidi che non puoi evitare,  in cui riesci si e no a dare un direzione, anzi  i tuoi sforzi sono concentrati a RIMANERE in BARCA!

lunedì 21 novembre 2011

La nuova testata

Volevo solo commentare la nuova testata appena messa.

Per chi non l'avesse riconosciuta, spero siano in pochi, in testata c'è una elaborazione della
grande ONDA di HOKUSAI.

 La Grande onda è la più celebre di queste vedute perché descrive la moderna contrapposizione tra forza della natura e fragilità dell'uomo.

Questa è l'immagine originale.

domenica 20 novembre 2011

L'uomo e la sua stoltezza

Immagine volutamente provocatoria!
"... disse Giove, "incolperà l’uom dunque
Sempre gli dèi? Quando a se stesso i mali
Fabbrica, de’ suoi mali a noi dà carco,50
E la stoltezza sua chiama destino.."


Omero - Odissea (Antichità)
Traduzione di Ippolito Pindemonte (1822)
L'odissea e l'iliade sono due opere che mi hanno sempre affascinato, fin da quando lessi i primi versi, credo fossero le medie, mi apparvero come una sorta di Action Movie, questi eroi, questi uomini, queste divinità affacendanti con le vicende umane.
Ho l'impressione avvolte che l'uomo e i suoi mali siano sempre gli stessi!
Giorgio De Chirico, Ettore e Andromaca, 1917. Galleria Nazionale d'Arte Moderna, Roma

martedì 15 novembre 2011

Pillole di Coscienza

Da un VECCHIO libro - diario  piccole pillole....

"Ti ricordi quando da ragazzi credevamo in qualcosa, quando la nostra spada era la coerenza, appuntita e affilata lama, dove i pregiudizi erano i nostri nemici.
Combattevi i tuoi nemici, senza vedere se il tuo nemico era Davide o era Golia, l'importante era che stava dall'altra parte della linea, quella linea sottile che segna il confino tra sogno/utopia e realtà!
Davide contro Golia del Caravaggio

Una linea che forse oggi è un muro, ma la cosa strana, che crescendo, oggi non sappiamo più da quale parte stare perché il muro ci impedisce di vedere l'altra parte, oggi vorrei avere un piccone  per vedere cosa c'è dall'altra parte, vorrei poter riconoscere quello che c'è, forse ci sono ancora i sogni in cui credere, oppure no? forse sono io che ho creato quel muro per non vedere che oramai sono dalla parte sbagliata!"

Ricercare file Audio

Allora il titolo sembra banale, fare un programmino di ricerca è banale con qualsiasi strumento software, ma il mio intento era diverso.

I sistemi windows  riconoscono la tipologia di file dall'estensione, o meglio nel sistemi windows  riconosciamo se è un file audio o meno da la sigla che troviamo in fondo al file dopo il punto, al cosi detta estensione, un modo semplice e chiaro, direi quasi user friendly, ma che succede se io prendo un file .doc e lo rinomino in .mp3? niente, l'unica cosa fastidiosa è che  il nostro pc tenterà di aprire un file doc con un lettore di file mp3! avete mai provato!!
Mentre nei sistemi *NIX,  il riconoscimento si basa sui i primi byte che vengono  incontrati  nella lettura del file, ogni file è codificato da un "MAGIC NUMBER".
L'intento del programma che sto per mostrarvi è proprio quello di ricercare i file audio tramite la propria codifica e non tramite estensione.
Per esempio molto utile è se dovete cercare un file tra i file temporanei di un broswer oppure nella directory temp di windows dove vengono cacheati  i file in lavorazione.
Vi posto il listato:


<?php


$path_to_search_s = "/mnt/HD12";
echo "Start...." . "\n";
cercaFile(($path_to_search_s));


function cercaFile($path_to_search) {
    //echo "ENTRATA FUNZIONE...\n";
    //echo $path_to_search . "\n";


    if (is_dir($path_to_search)) {
      //echo $path_to_search . " 2\n";
        $tree = scandir($path_to_search);
        foreach ($tree as $item) {
            if (strtoupper($path_to_search) != strtoupper(($item)) && $item != "." && $item != ".." && $item !="Dati applicazioni" && $item!="Application Data") {
                $item = $path_to_search . "/" . $item;
                //echo "Sono pronto prima " . $item . "\n";
                //$item=realpath($item);
                //echo "Sono pronto" . $item . "\n";


                if (is_dir($item)) {


                   // echo "Dir:" . ($item) . "\n";
                    cercaFile(($item));
                } else {


                    if (is_file(($item)) && ($item) != "") {
                        //echo "Debug file:" . ($item) . "\n";
                        //é un file percui dobbiamo analizzarlo in tutti i modi possibili
                          $finfo = finfo_open(FILEINFO_MIME_TYPE);
                          $type=finfo_file($finfo, realpath($item));
                          finfo_close($finfo);
                          if (strrpos($type, "audio")!==false)
                          echo "Audio:".realpath($item)." ".$type."\n"; 
                    }
                }
            }
        }
    } else {
        echo "<p class=\"error\">Path is not a directory</p>";
    }
}


?>


Lo script è in php, semplicemente perchè era l'unico modo di farlo girare sia su sistemi windows sia su sistemi *Nix.


Cambiando  semplicemente il path dove cercare $path_to_search_s = puoi fare ricerche ovunque crediate.
Altro punto importante, cambiando if (strrpos($type, "audio")!==false) potreste tentare di cercare qualsiasi altra tipologia di file, il valore in $type e il valore mime  per cui nel nostro caso è "audio/mp3", ma per una ricerca  di file word è text/word, per cui basterà sostituire word alla parola audio es:  if (strrpos($type, "word")!==false).


Ovviamente il sistema di ricerca sfrutta la ricorsione!

lunedì 24 ottobre 2011

iphone VS Google Contact

Oggi mi sono imbattuto in grande problema.
Di quei problemi che quando avevo 6 anni non potevo proprio immaginare.

Avete mai pensato che succederebbe, se la vostra rubrica telefonica del vostro Iphone  scomparisse all'improvviso?

Be è quello che mi è successo!
Dopo una bella sincronizzazione sono andato a vedere la lista dei contatti, e c'erano tutti, ma entrando dentro questi mi sono accorto  che non c'è il telefono memorizzao (insomma una scheda vuota.

AVEVO  360 SCHEDE VUOTEEEEE!

Adesso viene il bello...

Voi state gia pensando  che io ho i backup, perche sincronizzo sempre il mio iphone,   in fondo sono anche un informatico e  mi piace essere sempre pronto per ogni evenienza.
E infatti  ero  tranquillo, riaggancio il mio iphone al PC,
parte la sincornizzazione parte il  nuovo backup (mi doveva suonare gia strano, perche rifaceva il backup?).

Ma sono Fidocioso, mi dico "Vai bello" -> ripristina backup,
Parte il ripristino, qualche minuto e sono felice come una pasqua,
stacco tutto e mi preparo e cercare i numeri sui contatti, sicuro di avere una ovvia sorpresa....

INVECE NOOOOO! non c'è nessun numero in nessun contatto,
Qualcosa non ha funzionato...
ma  io sono un tecnico, percui mi dico, "Ma dai è ovvio mi ha messo l'ultimo beckup che è già corrotto".

Allora mi metto a cercare tutti i backup, e sapete che scopro!!

Diamine, quelli dell'apple hanno deciso che registrano due backup....
capite! solo due backup, e  oltre tutto ogni volta che attacchi l'iphone  fa backup, percui:

sono completamente fottuto (quasi)

Ma qui per fortuna che arriva SAN GOOGLE, il santo salvatore,

che avvolte fa davvero i miracoli.
Se siamo stati bravi, cioè abbiamo almeno una volta sincronizzato il nostro iphone con google, allora possiamo recuperare TUTTO, grazie a un piccolo programma che possiamo scricare da APPStore (Cercando Google Sync),


Per una conclusione modlleo Vittoria con cappottone!

GOOGLE batte APPLE 6-0

Spero che la mia storia vi abbia almeno divertito.... perche quando mi è successo io davvero non mi sono divertito!!!.

lunedì 17 ottobre 2011

Cambiamento vs Crisi

Ieri, o giu di li,  un amico ha postato una citazione:


"Passiamo una vita a dire - domani voglio fare così - e un giorno ti ritrovi a dire - ormai è andata così"
  dal film "This must be the place". 
Ogni mattina molti di noi, affrontano la vita, la giornata, e molto spesso  ci diciamo "domani voglio fare cosi", ill problema non è la volontà di Cambiamento ma attuarlo. Molto spesso il cambiamento mette paura, spaventa, avvolte terrorizza, ma il cambiamento è al centro di una equazione importantissima (ringrazio un amica che un giorno mi passo questa relazione):
Crisi = Cambiamento -> Opportinità
La parola cinese per dire crisi è composta da due caratteri, un carattere è certo che significhi pericolo, l'altro vuol dire molte cose:" opportuno, opportunità; occasione; collegamento chiave; segreto", questo ci da il senso come anche  nel mondo orientale si era gia consolidatà l'idea  che affiancata ad uno crisi non poteva che scorgersi una opportunità.




Riguardo a questo vorrei citare anche un mio carissimo amico (Einstein del 1955):

"...La crisi è la migliore BENEDIZIONE che può arrivare a persone e Paesi, perché la crisi porta progressi...E' dalla crisi che nasce l'inventiva, le scoperte e le grandi strategie. CHI SUPERA LA CRISI SUPERA SE STESSO SENZA ESSERE SUPERATO...Terminiamo definitivamente con l'unica crisi che ci minaccia, cioè la tragedia di non voler lottare per superarla". (Einstein del 1955)

domenica 10 luglio 2011

I Paradossi della vita

Ritorno dopo molto tempo a scrivere su questo blog, che non sentivo più una creatura viva, forse perché le parole al vento alcune volte non raggiungono nessuno, e pensi che siano parole perdute,
ma oggi mi sono detto perché? queste sono parole al vento e hanno il loro essere proprio nel vento che le trasporta, le fa viaggiare, il vento è un energia libera e gratuita ma non sai mai dove soffierà.

Cosi mi aggiungo a riflettere con voi, su chi piu saggiamente di me ha gia riflettuto, su come alle volte la vita sia un paradosso:

"In un intervista a 'Repubblica',  in occasione dei dieci anni dalla morte di falcone, il Pm di MIlano Ilda Bocassini ha ricordato quanto Giovanni Falcone fosse stato osteggiato in vita e osannato dopo la morte:


Non c'è stato uomo in italia che ha accumulato nella sua vita più sconfitte di Falcone[...] Bocciato come consigliere  Istruttore. Bracciato come procuratore di Palermo. Bocciato come Candidato del CSM, e sarebbe stato bocciato anche come procuratore nazionale antimafia, se non fosse stato ucciso[...] Eppure [...] ogni anno si celebra l'esistenza di Giovanni  come fosse stata premiata da pubblici riconoscimenti o apprezzata nella sua eccellenza. Un altro paradosso. Non c'è stato uomo la cui fiducia e amicizia è stata tradita con più determinazione e malignità.


Queste parole non dovrebbero più uscire dalla nostra testa. Almeno nel mio cuore non sono mai più uscite[..] quando si pensa di non farcela, quando si ha la sensazione che vadano avanti sempre i peggiori, quando si ha paura di fare un passo avanti per paura di diventare il bersaglio della macchina del fango. Falcone [...] sapeva che si può essere felici solo  se possono esserlo anche gli altri.E che il diritto è l'unica  premessa per la felicità."

Da "Vieni Via con ME" di Roberto Saviano

Mi Sono permesso di  riprodurre questo testo, perché queste parole volino nel vento, e nel tempo,  voglio che siano un eco che risuoni lontano....
In questo periodo in cui sto catalogando sconfitte,  in cui in continuazione mi metto in discussione, mi hanno aperto un spiraglio nell'anima.

martedì 12 aprile 2011

Alla fine furono i Pattern, l'inizio degli Anti-Pattern

Una delle cose piu interessanti e piu divertenti della programmazione (e non ce ne sono tante), è  che scrivere un programma, è come scrivere un  Tema, una Prosa, una Poesia.
Nella reltà nella programmazione si utilizza un linguaggio di programmazione, un linguaggio molto semplice, ma anche lui con la sua sintassi e semantica, la fine di questo linguaggio è quella di impartire dei comandi ad una macchina molto stupida, ma per arrivare a dare un comando cosa si fa:

  1. Si descrive un contesto
  2. Si delineano gli attori
  3. Si definisce una storia

altrimenti il programma difficilmente funziona correttamente, ma come ben si vede è la stessa identica cosa che succede quando si scrive una racconto, una prosa, una poesia,  cosi come noi riusciamo a distinguere questi genere lettereari molto facilemnte, cosi nella programmazioni ci sono i "Generi" di programmazione, e dentro ogni "Genere" di programmazione c'è lo stile.

Vi è mai capitato di leggere un racconto e percepire chiaramente lo stile dell'autore? e di farvi anche un idea dell'autore, di quello che pensa?
Secondo me nella programmazione questo è ancora piu evidente, mettendo  in risalto la personalità del programmatore.
Mi è capitato spesso di leggere codice altrui, di revisolnarlo, patcharlo, e s  ogni volta mi rendevo conto della persona che avevo di fronte, insomma il codice prendeva vita, anima, personalità.
Un programma in definitiva è un "racconto" che parla ad una macchina e tenta di spiegargli di come risolvere un "problema" (lasciatemi utilizzare queste parole tra virgolette forse un purista potrebbe dire che sono esatte, ma come si dice sti c***i dei puristi ).

Ci sono mille modi di risolvere e di comunicare un problema, e ognuno scegli i suoi, e/o quelli piu congeniali a se stesso.

Come  nel linguaggio tradizionale si è tentato piu volte di dare delle soluzioni  astratte e funzionali ai problemi del parlato, gli scrittori sanno bene cosa vuol dire comunicare in prosa, in poesia, con un racconto, ed utilizzano strumenti tipo  figure retoriche....
Questi possono essere riportati a dei pattern di comunicazione, cioè ad un'astrazione di una soluzione per un problema.
In informatica o meglio nella programmazione  in generale questi pattern sono stati codificati in modo molto preciso, i primi a fare questa analisi furono la Gang Of Four, nel famosissimo libro "Design Pattern", che tra l'altro ho letto e presto scriverò una recensione.

Dall'altra parte molto piu divertente è stata l'analisi e lo studio degli Anti-Pattern, cioè lo studio di tutte quelle non soluzioni che quotidianamente i programmatori utilizzano piu o meno consapevolmente, in nome del famigerato PARADIGMA:
"BASTA CHE FUNZIONI!!"

lunedì 11 aprile 2011

Oggi sono ermetico

Ragione e passione
sono timone e vela
della nostra anima navigante...
E non possiamo fare meno di nessuna delle due cose,
il nostro navigare è condizionato da entrambi,
in un perfetto equilibrio fatto di piccoli istanti di equilibrio.....

Agenda Digitale

Questa iniziativa mi sembra molto interessante, per cui invito tutti a sostenere l'appello.




venerdì 18 marzo 2011

Riflettendo...

Ci vogliono tante lezioni per imparare a cavalcare le onde.
Succede la stessa cosa nella vita: devi aspettare parecchio tempo per raggiungere i tuoi scopi o per realizzare che le cose migliori nella vita sono gratuite. 

 
° S.Bambaren - Il vento dell'Oceano °



Come al solito ritengo importante dare senso alle parole..... e navigando in internet, trovo cose interessanti


.

martedì 15 marzo 2011

Nucleare e altro ancora

Scusate ma sono stanco,  sono stanco di sentire questi falsi moralisti italiani, che dicono che noi anti nuclearisti stiamo prendendo spunto dall'immane tragedia giapponese per appoggiare la nostra tesi.

Stanco di sentire sputare cavolate,  sentire parlare  ministri che non ne sanno niente di nucleare,  parlare di falsi all'allarmismo, non voglio sentire voi, voglio sentire gli esperti, quei ricercatori di fisica, Ingeneri Nucleari,  insomma facciamo parlare l'università, insomma paghiamo i nostri soldi per avere un università statale dove la gente dovrebbe studiare queste cose, e non la facciamo parlare?
A scusate è vero... dopo l'ultima riforma parlare di università statale è veramente angosciante,  pensare che dopo aver tagliato l'impossibile ci sia ancora qualche "TESTA" in italia è veramente dura, avete ragione!

Allora parlo io e da ignorante (quasi ignorante, qualche pezzo di carta l'ho preso anche io), e mi domando perché se uno tsunami devasta un campo eolico, o un campo solare non mi devo preoccupare e l'unico che si deve preoccupare è il proprietario se non lo ha assicurato  per eventi catastrofici?
Perchè se  un fulmine colpisce una centrale idroelettrica, la mia preoccupazione sarà quella di procurarmi delle candele e pensare che forse staserà non potrò vedere "Amici" (quel programma bellissimo della defilippis?), mentre se per caso esplode una centrale nucleare la mia preoccupazione  principale  sarà:
"Cavolo fra poco sarò io ad illuminarmi come una lampadina!!! e probabilmente come lampadina durerò anche poco!"


Rimango male, quando  dicono che eventi come quello giapponese in italia non avverranno, e poi penso ma come mai in Giappone i palazzi sono ancora tutti in piedi, mentre all'aquila sono tutti stati rasi al suolo o resi inagibili??
Perché la casa dello studente dell'aquila  si è sbriciolata come un grissino, e una scuola elementare del Giappone è ancora intatta, e la maestra mentre succedeva il terremoto , ha fatto mettere tutti i bambini in fila e li ha fatti  salire ordinatamente sul terrazzo?

E chiudo con un ultima riflessione:
Dove li dovremmo prendere questi trenta miliardi che servono per il nucleare???
Preferisco lavare i piatti, scrivere il mio blog solo se c'è il sole, che pensare che un giorno mio figlio andrà in una scuola senza futuro, senza cultura, senza ricerca... in cui imparerà a rispondere ai quiz ma non imparerà a pensare....

domenica 6 marzo 2011

Kuan Kun

Chi è Kuan Kun?
questa domanda ha risuonato, per un periodo non ben definito nella mia mente.... perché?
Perchè la mia scuola di Kung Fu è una scuola tradizionale, che oltre ad insegnare le tecniche dell'arte Marziale, da anche una serie di informazioni teoriche, sulla cultura cinese e in particolar modo sull'arte marziale cinese....
Per cui mentre ci alleniamo, molto spesso, vengono fatte delle domande di teoria, che non riguardano solo le tecniche ma anche la cultura cinese.
E cosi, come potete ben immaginare quella volta  è toccato a me: "Chi era Kuan KUN?"
ovviamente la risposta fu il silenzio, meglio non tirare ad indovinare!

Kuan Kun è un guerriero mitico o mitologico dell'antica cina, si fa risalire la sua morte al 220 d.c.,  la sua miticità  lo ha portato oggi ad essere  considerato il protettore  dei combattenti.
Gia da bambino, educato da sua madre, si vide costretto ad uccidere un uomo malvagio, che aveva  preso di mira i suoi concittadini, e da li inizia il suo pellegrinaggio.
OLtre ad essere stato un valoroso combattente, oggi lui incarna l'idea della persona giusta, non solo rappresenta la forza, l'agilità, la destrezza, ma rappresenta la giustizia, il retto comportamento.
Insomma noi siamo vissuti pensando che Superman fosse  il guerriero valoroso, mentre oggi scopro che c'era qualcuno più "forte" di lui. La cosa buffa è che superman era un extratterrestre, e in piu con super poteri, Kuan Kun noooo! Kuan Kun era un guerriero valoroso, che acuisito le suo abilità con il tempo e l'esercizio e il sacrificio.... Cavolo Super Man c'è nato!! che sforzo ha fatto per essere lui!
Senza essere demagogici,  oggi come oggi  c'è proprio questo tipo di cultura,  quella della via facile, quella della speranza di avere i super poteri,  e di poter fare di conseguenza il bene per noi stessi, esempio classico, speriamo di nascere gnocca e  se nasco uomo speriamo di essere fico.... sicuramente un posto in qualche consiglio regionale se so gnocca e disposta al Bunga Bunga lo trovo, altrimenti da uomo  posso andare a fare il tronista da maria de filippis, oppure mi affido a lele mora!!!! sempre meglio di niente.....
(epilogo progmaticamente triste)

sabato 5 marzo 2011

Creare una cache locale

Nel l'ultimo periodo mi sono imbattuto nel tentare di ottimizzare e velocizzare le prestazioni di un software, con architettura client - server.

Premesso che:

  • Il software non lo avevo ne progettato ne realizzato io, per cui non conoscevo molto della sua struttura.
  • Che non c'era documentazione (grave errore) a mia disposizione (ovviamente come nella maggior parte delle situazioni in cui mi sono trovato, mi pare che sia un po un vizio degli  sviluppatori non lasciare mai traccia).
  • Che avevo i sorgenti a disposizione, ma che purtroppo non c'era un briciolo di commento su nessun file, neanche in testa, sai quelle cose del tipo:"questa classe ha questo compito", insomma un milione o forse piu di righe di c# (non le ho contate) 
  • Che avevo  poco tempo per inventarmi qualcosa per far velocizzare il software.

Possiamo proseguire....

Aggiungo  al tutto, a mo' di sale nell'insalata mista,  che Il software salvava i propri dati  in una base dati MSSQLSERVER 2005.

Vi dico con sincerità che Il mio  approccio fu quello di dire:
"Cavolo ho i sorgenti! per cui sono come DIO quando creò l'uomo e la donna", ma avrei dovuto capire subito che non era la strada corretta, non tanto per l'essere o non essere DIO, quanto al fatto che mi pare che anche a DIO con l'uomo e la donna non abbia fatto proprio un bel lavoro!!

Comunque ho iniziato a cercare nel codice, ma da subito ho capito che era una via poco percorribile, allora come si dice:" ho attaccato il profiler" ( cioè si avvia un software che monitorizza le attività del server sql mostrandoti eventuali query o istruzioni che possono causare rallentamenti).
Della serie, non si sa mai quale sia la via corretta!

Dopo un po  di analisi ho pensato che quella era la strada giusta, le query erano molte e si ripetevano inspiegabilmente decine di volte, sempre le stesse, e alcune query di queste erano particolarmente pesanti.
L'idea mi ronzava nella testa:
"Poter creare uno strato di cache su SQL in modo, da evitare il ripetersi delle query, e evitare di ripetere oltre tutto le query molto lunghe".


Il problema era sicuramente come incastrare uno strato di cache sql dentro un programma, in modo piu o meno  trasparente, e piu o meno indolore.

Una bella sfida!

L'idea è arrivata, dovevo creare una classe, che fungesse da cache, in cui mettere  tutti gli oggetti che volevo  in una tabella di  HASH, per avere  il massimo nella ricerca, e nella flessibilità.
In aggiunta potevo utilizzare i GENERICS, per rendere totalmente astratta la tabella, e in piu utilizzando il PATTERN SINGLETON, potevo rendere la mia classe persistente per tutto il ciclo di vita del software.
l'idea era veramente buona (melo dico pure da solo)
La cosa importante era che potevo inserire in cache qualsiasi cosa, e riutilizzarla in qualsiasi momento   nel programma in esecuzioni, ma ci sono dei MA.
MA - PERO'
Ovviamente ci sono anche i ma e i però da considerare, in modo da mettervi in alert nel caso vogliate fare anche voi questa scelta.
Il primo e più importante di tutti è che qui ci giochiamo la nostra esperienza nella conoscenza della programmazione ad oggetti, nel classico diatriba di cosa fa l'assegnazione di un oggetto ad un altro: nel 99,99% dei casi assegnare un oggetto ad un altro vuol dire passare il riferimento a quell'oggetto e non copiare un oggetto in un altro, questo è fondamentale perché se noi assegniamo un oggetto ad una tabella HASH stiamo dicendo che con un KEY, possiamo recuperare il riferimento a quell'oggetto e non l'oggetto stesso, percui se qualche altro oggetto al di fuori della nostra cache  modifica l'oggetto, modificherà anche l'oggetto che ho messo in cache...
Facciamo un metafora culinaria:
Io ho un piatto di pasta, e vorrei metterlo in cache perche dopo potrei averne bisogno, il piatto si trova  in frigorifero. Assegnando il piatto di  pasta alla cache, io non faccio altro che scrivere  in un mio block note che il piatto di pasta è in frigorifero, ma purtroppo il frigorifero lo condivido con mi moglie, presa da un attacco di fame, aperto il frigorifero si magia tutta la pasta, lasciando il piatto vuoto. Quando a me verrà fame, prenderò il mio taccuino (cache) e cercherò piatto di pasta, e troverò scritto si trova in frigorifero, aprendo in frigorifero troverò il piatto vuoto!!!
Questo problema è risolvibile in informatica, poichè è possibile, prima di inserire in cache un qualsiasi oggetto, clonare l'oggetto stesso, purtroppo clonare un piatto di pasta è un pochino piu complesso!!!
Altro Però, da mettere in risalto, è che  sarebbe stato bello mettere in cache l'oggetto DATAREADER
 ma purtroppo non è possibile, ne metterlo in cache come reference, ne si può clonare (come la pasta alcuni oggetti in informatica non si possono clonare), ma dei dettagli tecnici ne parleremo in un altro post.
Adesso mettiamo giu un po di codice, cosi potete vedere se vi piace:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Reflection;
using System.Reflection.Emit;
using System.Threading;
using System.IO;
using System.Xml;


namespace XXXXXX.Common
{
    public delegate TResult Func<T1, TResult>(T1 arg1);


    public sealed class AOCache<T>
    {
        
#region Cache cleaner parameters


//Default: 15 minuti
private int cc_interval = 15;
private string cc_intervalType = "M";
private DateTime lastCacheCleaning;


#endregion


private static volatile AOCache<T> instance;
                private static object syncRoot = new Object();
                public  Dictionary<string,T> cache;



   //FUNZIONE MADRE con questo istanzio la cache  in singleton
        public static AOCache<T> Instance
        {
            get
            {
                if (instance == null)
                {
                    lock (syncRoot)
                    {
                        if (instance == null)
                            instance = new AOCache<T>();
                    }
                }

instance.checkCache_toClean();

                return instance;
            }
        }


/// <summary>
/// Legge le impostazioni sul file di configurazione e setta il timeout per il CC
/// </summary>
private void settaCacheCleaner()
{
string config_path =Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"program.config");
XmlDocument doc = new XmlDocument();
try
{
doc.Load(config_path);


XmlNode CC = doc.DocumentElement.SelectSingleNode("cacheCleaner");


this.cc_interval = int.Parse(CC.InnerText);
this.cc_intervalType = CC.Attributes["type"].Value;
}
catch
{
//lasciamo i parametri di default
}
}


/// <summary>
/// Puliamo la cache se abbiamo oltrepassato il limite di tempo
/// </summary>
private void checkCache_toClean()
{
DateTime limit;
try
{
if (this.cc_interval == 0) //Non svuotare mai la cache
throw new Exception();


switch (this.cc_intervalType)
{
case "S": //Secondi
limit = this.lastCacheCleaning.AddSeconds(this.cc_interval);
break;
case "M": //Minuti
limit = this.lastCacheCleaning.AddMinutes(this.cc_interval);
break;
case "H": //Ore
limit = this.lastCacheCleaning.AddHours(this.cc_interval);
break;
default: //Nessuno dei tre caratteri ammessi: non svuotiamo la cache
throw new Exception();
}
                System.Reflection.Assembly a = System.Reflection.Assembly.GetEntryAssembly();


                if (DateTime.Compare(DateTime.Now, limit) > 0 || a.FullName.Contains("program2"))
cache.Clear();
}
catch
{
// Non interveniamo sulla cache
}
}
        
        private AOCache()
        {
            cache =new Dictionary<string,T>();
            ok = utlizzoCache();
this.lastCacheCleaning = DateTime.Now;


AOCacheManager.Manager.Add(this);
        }
        
        //Leggo il file di configurazione per verificare se la cache è gestita
        private bool utlizzoCache()
        {
            return true;
        }


    
        public void add(string Key, T value) {


                if (cache.ContainsKey(Key))
                    cache.Remove(Key);
                cache.Add(Key, value);
        }


public void remove(string Key)
{
if (cache.ContainsKey(Key))
cache.Remove(Key);
}


public void clear()
{
cache.Clear();
this.lastCacheCleaning = DateTime.Now;
}


        public bool TryGetValue(string key,out T value)
        {


            if (ok)
            {


                return cache.TryGetValue(key, out value);


            }
            else
            {
                value = default(T);
                return ok;
            }


        }


Quella in grassetto è la funzione madre, che istanzia l'oggetto cache e in cui si vede applicato il Singleton, le altre sono funzioni a corredo.
Ringrazio ufficialmente il mio collega JO (detto Jocondo) che mi ha aiutato  nel completare e debbuggare le funzionalità.