“Potrebbe capitare a tua figlia”

Ha fatto… boh, notizia? scalpore? il video della ragazza molestata ripetutamente mentre si limita a camminare per le strade di New York. Per chi non ha le proverbiali fette di prosciutto davanti agli occhi, il video non dice nulla di nuovo, ma ogni cosa che fa parlare delle categorie non privilegiate è una cosa buona, perciò dieci cento mille video come quelli. L’efficacia del video è provata anche dal fatto che qualche appartenente alla categoria privilegiata per eccellenza, ovvero i maschi bianchi eterosessuali, invece di riflettere sulla propria posizione e su temi quali uguaglianza, inclusione e così via, si sia sentito in dovere di rispondere con un contro-video: un modello fisicatissimo se ne va a spasso sempre per New York, in maglietta aderente (a novembre…Smilie: ;), e, surprise surprise, riceve apprezzamenti sia da donne sia da uomini, il poverino.
Il sottotesto di una tale operazione è: vedete che non c’è differenza, che anche un uomo viene molestato? E qui casca l’asino.
La differenza c’è e si vede, e si chiama: prestanza fisica. Tendo a escludere che un modello palestrato alto due metri possa temere per la propria incolumità, anche se la molestia arriva da un altro uomo. Premesso che io, maschio bianco gay, ma la parte gay non ce l’ho scritta in fronte, perciò a prima vista potrei appartenere anch’io alla categoria privilegiata, non sono mai molestato pubblicamente, mi è capitato comunque più volte, magari camminando da solo per strada di notte, di pensare a come si potrebbe sentire una donna in quella situazione, salvo poi, leggendo notizie come questa, rendermi conto che non c’è manco bisogno che sia notte. Con questo, senza scomodare i massimi sistemi, vorrei solo auspicare che, quando veniamo messi davanti ai nostri privilegi, anche se non li abbiamo scelti, invece di chiuderci a riccio e cercare di arrampicarci sugli specchi per dimostrare che “non è vero che sono privilegiato, siamo tutti sulla stessa barca”, sarebbe proprio bello che cercassimo di provare a metterci nei panni dell’altro.
Potremmo scoprire panorami sconosciuti e inattesi.

Pubblicato in: Varie

La mia prima (e ultima?) volta con Italo

Per tornare a Torino da una trasferta milanese i colleghi hanno deciso di prendere l’Italo delle 17:56 da Porta Garibaldi, e io mi sono accodato, anche perché ero abbastanza curioso di provarlo.
Il binario è stato annunciato una decina di minuti scarsi prima dell’arrivo, insieme al ritardo di 5 minuti. Il ritardo alla partenza è poi diventato di un quarto d’ora (presumo per dare la precedenza al Frecciarotta che partiva da Centrale alle 18.05, ma questo non deve riguardare il cliente, che paga un fottio per avere un ben preciso servizio). Al binario non c’era traccia degli addetti Italo, sul treno nessuno ha chiesto il biglietto. L’algoritmo di assegnazione dei posti fa schifo quanto quello di Trenitalia, il treno era mezzo vuoto, ma i passeggeri erano tutti ammassati. Le carrozze hanno un unico accesso, mi chiedo come vadano le cose a treno pieno. I sedili sono duretti, e rivestiti di (simil?)pelle liscia, io li ho trovati più scomodi di quelli del Frecciarotta, avevo la costante sensazione di scivolare in avanti. Dopo aver letto sul display la possibilità di usufruire di un servizio wi-fi gratuito, ho accesso il wi-fi sul telefono e aperto il browser: è necessario autenticarsi, peccato che la pagina non abbia una versione mobile e non sia neanche possibile ridimensionarla (ma sono scemi?). Dopo aver compilato il form e inviato i dati mi è comparso un simpatico error 500. Sono tornato indietro e mi sono accorto di non aver esplorato una parte della gigantesca pagina irridimensionabile, dove viene chiesto indirizzo e-mail e numero di biglietto, che avevo solo su SMS, quindi avrei dovuto chiudere browser, accedere agli SMS e riaprire il browser. Vabbeh ciao.
Boh.

Pubblicato in: Scazzi quotidiani, Trasferta Meneghina

Beautiful (?) garbage

Da qualche anno faccio parte dei “fortunati” che sono raggiunti dal “servizio” di raccolta differenziata porta a porta, e devo confessare che è una gran rottura di coglioni. Non che prima non facessi la raccolta differenziata, sia chiaro, è che avere i cassonetti in cortile, arrivati insieme all’opuscolo delle istruzioni su come separare i rifiuti, ha fatto venire a galla problemi prima rimossi.
La mia impressione è che l’opuscolo sia scritto o da qualcuno che conosce troppo bene i rifiuti oppure da qualcuno che i rifiuti non li conosce affatto. Mi spiego: è facile dire separa la carta la plastica il vetro le lattine. La busta delle lettere col riquadro in plastica trasparente dove va? Il cartone del latte di tetrapak (che va nella carta) ma col tappo di plastica, cosa ne devo fare? Devo estirpare la rondella di plastica (è tutto tranne che banale) prima di differenziarlo? Possibile che le bombolette spray “non debbano essere buttate nell’indifferenziato né nel cassonetto blu per il vetro/lattine ma conferite a un’isola ecologica (tutte in periferia, difficilmente raggiungibili, e gestite da cafoni)”? Perché devo sciacquare bottiglie, flaconi e bottiglie, non possono farlo negli impianti di smaltimento? Ma che davvero l’olio in cui ho fritto le cotolette va stoccato in barattoli e portato nelle isole ecologiche di cui sopra? E perché le regole variano da comune a comune?
Come al solito si è scelto di appioppare al cittadino una rogna che non sarebbe di sua competenza: la necessità della raccolta differenziata è fuori discussione, ma di certo dev’essere accompagnata come minimo da una seria (ah ah) politica nazionale in materia di imballaggi. Gli imballaggi non differenziabili o difficilmente differenziabili dovrebbero essere disincentivati, se non proibiti, e su tutti dovrebbero essere indicate in maniera chiara e inequivocabile le corrette modalità di smaltimento. Oltre a vietare i sacchetti di plastica – che inspiegabilmente continuano a proliferare nei mercati – qualcuno ha notizie di provvedimenti che vanno in questa direzione?

Pubblicato in: Scazzi quotidiani, Torinese Tipico

[BIIIIP]

Questa settimana, dopo soli ( … ) 3 mesi di attesa, mi è arrivata la tanto sospirata carta BIP. Cos’è la carta BIP? Mi piacerebbe poter dire che si tratta di una Oyster Card in salsa al verde, pardon, piemontese. Mi piacerebbe, perché la Oyster Card è un lampante esempio di una cosa che funziona e che viene incontro alle esigenze dell’utente, pardon, cliente dei mezzi pubblici: la compri nel primo negozio pakistano che ti capita a tiro, ci carichi quello che vuoi, biglietti, abbonamenti, (anche via internet), e la usi.
La carta BIP, invece. La carta BIP(Biglietto Integrato Piemonte) è disperatamente personale, con tanto di foto (microscopica), nome cognome data di nascita. Ha una validità 4 anni ( … ). Online non si capisce se e cosa si può caricare. Offline meno di un settimanale non è previsto (ah, tra l’altro a Torino l’abbonamento settimanale non è valido per 7 giorni dal momento della convalida, no, è valido dal lunedì alla domenica). E ancora le rivendite si devono dotare degli apparecchi per la ricarica.
Tutto ciò nel 2013.
Dieci anni dopo l’introduzione dell’Oyster Card.

Pubblicato in: Scazzi quotidiani, Torinese Tipico

M-10

Mentre stavo andando in palestra con la metro, e stavo rimuginando come al solito, mi si è piazzato davanti un tizio, di spalle. Ho continuato a rimuginare per un po’, finché l’occhio non mi è cascato sul suo zaino.
C’era un logo, “m-10”, e, sotto, “museo maradona”.
Come prima cosa ho pensato “ma che cretino”, poi mi sono soffermato un microsecondo in più sulla cosa. L’esistenza di quello zaino implica qualche passaggio in più, prima del “ma che cretino”.
Implica che qualcuno abbia avuto la gegnale idea di allestire un museo maradona, poi che siano stati trovati i soldi etc., poi che il tizio davanti a me abbia avuto tempo e denaro da sprecare visitandolo e, infine, non pago di un atto di tale patente idiozia, abbia deciso di rendere partecipe l’universo mondo delle sue gesta acquistando un gadget del museo.
So che mi inicherò molti lettori ( … ) ma il suffragio universale ha decisamente fatto il suo tempo.

Pubblicato in: Italianate, Tristizie

Il lavoro smobilita

Oggi che sono reduce da una notte semi insonne causa mal di gola e raffreddore, volevo allietarvi e allietarmi (ed estrarre momentaneamente il blog dalla naftalina – o forse formalina, rende meglio l’idea) con degli edificanti racconti sul mondo del lavoro in Italia ai giorni nostri.
Per farlo al meglio invoco come nume tutelare l’unico e solo Grumpy Cat:
grumpy
Non sono soddisfatto del mio attuale lavoro. Anzi, non sono soddisfatto delle mie attuali condizioni lavorative. Nonostante sia riuscito ad acchiappare il tanto sospirato contratto a tempo indeterminato, l’essere in body rental dal cliente non mi piace, un po’ per la precarietà della situazione – quando finisce la commessa è sempre un terno al lotto, l’ultima volta sono stato spedito per direttissima a Milano per un anno e mezzo – un po’ perché le possibilità di crescita professionale sono minime. Perciò non ho mai smesso di guardarmi in giro, anche se da vedere c’è ben poco.
Le uniche due volte che qualcuno sarebbe stato disposto ad assumermi, l’offerta economica era pari se non inferiore a quanto percepivo in quel momento. Peraltro a condizioni contrattuali e lavorative invariate. Ma allora spiegami, perché dovrei accettare la tua “offerta” pulciosa? Mah.
Ma questo riguarda il passato.
Riguardo al presente, da poco più di un mese la mia responsabile ha cambiato lavoro. Prima che ufficializzasse le dimissioni con l’azienda, si è presa la briga di incontrarmi, per spiegare le ragioni – più che condivisibili – che l’avevano spinta ad andarsene, per tessere le lodi della sua nuova azienda, e per dirmi che, se fossi stato interessato, ci sarebbero state delle opportunità anche per me.
Qualcuno ha più avuto sue notizie?
Non so che pensare.
Ciliegina sulla torta, l’unico contatto col mio nuovo responsabile è stata una telefonata durante la quale, oltre alla richiesta dell’invio in fretta e furia del mio curriculum, peraltro presente sul portale aziendale dove c’è l’obbligo di aggiornarlo periodicamente, mi è stato detto “ci sentiamo la settimana prossima per fissare un incontro”.
La settimana prossima era 3 settimane fa.

Pubblicato in: Disgustorama, Me, myself and I, Odio, Scazzi quotidiani

Chiamatemi Sybilla

(con la ‘y’ perché fa più figo).
Ora.
Scrivo un nuovo post dopo secoli per lamentarmi (chi l’avrebbe mai detto).
Qui sotto uno script SQL, di cui dovrei capire il funzionamento.
Non dico altro.
(in fondo compare pure una scrollbar orizzontale, visto che l’indentazione diventa, come dire, non banale)

WHENEVER SQLERROR EXIT FAILURE ROLLBACK
WHENEVER  OSERROR EXIT FAILURE ROLLBACK

set time on
set timing on
SET VERIFY OFF
WHENEVER SQLERROR CONTINUE
drop table seo_l2kc_lingua_&1 purge;
WHENEVER SQLERROR EXIT FAILURE ROLLBACK
create table seo_l2kc_lingua_&1   tablespace DATA_L nologging as
 SELECT a  dove,
          b  parola,
          e  seo_rank,
          f  regione,
          g  c_categoria,
          0  ctj,
          &1 clingua
     FROM (SELECT a,
                  b,
                  SUM(e) e,
                  f,
                  MAX(g) g
             FROM (SELECT s.dove a,
                          s.cat b,
                          round((nvl(cnt, 0) ) *
                                100000 + SUM(s.COUNT)) e,
                          des_regione f,
                          c_categoria g
                     FROM seotmp_tq tq,
                          (SELECT dove dove,
                                  lower(cat) cat,
                                  COUNT(1) COUNT,
                                  regione des_regione,
                                  ca.cd_categoria c_categoria
                             FROM seo_tmp_cat_lingua1 ca,
                                  (SELECT dove,
                                          cat cat,
                                          regione
                                     FROM (
                                           --category match esatto   --il match esatto lo inserisco solo una volta
                                           SELECT dove,
                                                   cat,
                                                   regione
                                             FROM (SELECT decode(l.localita,
                                                                  NULL,
                                                                  lbs.ds_comune,
                                                                  l.localita) dove,
                                                           ca.ds_categoria cat,
                                                           decode(l2.localita,
                                                                  NULL,
                                                                  lbs.ds_regione,
                                                                  l2.localita) regione
                                                      FROM mdr_inserzioni_categorie c,
                                                           mdr_inserzioni           i,
                                                           seo_tmp_cat_lingua1      ca,
                                                           mdr_anag_lbs         lbs,
                                                           seo_localita_lingua      l,
                                                           seo_localita_lingua      l2
                                                     WHERE ca.cd_categoria = c.cd_categoria
                                                       AND c.pr_inserzione =i.pr_inserzione
                                                       AND lbs.cd_localita = i.cd_localita_lbs
                                                       AND cd_comune !=0
                                                       AND cd_frazione =0
                                                       AND lbs.cd_lingua=&1
                                                       AND l2.lingua = &1
                                                       AND l.lingua = &1
                                                       AND l2.tipo = 'r'
                                                       AND l.tipo = 'c'
                                                       AND ca.clingua = &1
                                                       AND l.cd(+) = lbs.cd_comune
                                                       AND l2.cd(+) = lbs.cd_regione
                                                       AND l2.lingua = &1
                                                       AND i.fl_lingua =  decode(&1,
                                                                  2,
                                                                  '1000',
                                                                  3,
                                                                  '0100',
                                                                  4,
                                                                  '0010',
                                                                  5,
                                                                  '0001')
                                                     union
                                                                                     SELECT decode(l.localita,
                                                                                                   NULL,
                                                                                                   lbs.ds_comune,
                                                                                                   l.localita) dove,
                                                                                            ca.ds_categoria cat,
                                                                                            decode(l2.localita,
                                                                                                   NULL,
                                                                                                   lbs.ds_regione,
                                                                                                   l2.localita) regione
                                                                                       FROM mdr_inseriti        i,
                                                                                            seo_tmp_cat_lingua1  ca,
                                                                                            mdr_anag_lbs    lbs,
                                                                                            seo_localita_lingua l,
                                                                                            seo_localita_lingua l2
                                                                                      WHERE lbs.cd_lingua=1 and ca.cd_categoria = i.cd_categoria
                                                                                        AND lbs.cd_localita = i.cd_localita_lbs
                                                                                        AND cd_comune !=0
                                                                                        AND cd_frazione =0                                                                                  
                                                                                        AND l2.lingua = &1
                                                                                        AND l.lingua = &1
                                                                                        AND l2.tipo = 'r'
                                                                                        AND l.tipo = 'c'
                                                                                        AND ca.clingua = &1
                                                                                        AND l.cd(+) = lbs.cd_comune
                                                                                        and l2.lingua=&1
                                                                                        AND l2.cd(+) = lbs.cd_regione
                                                    )))
                            WHERE ca.ds_categoria(+) = cat
                            GROUP BY dove,
                                     lower(cat),
                                     ca.ds_categoria,
                                     ca.cd_categoria,
                                     regione,
                                     ca.ds_categoria) s
                    WHERE tq.qs(+) = s.cat
                      AND tq.dv(+) = s.dove
                    GROUP BY s.dove,
                             s.cat,
                             des_regione,
                             c_categoria,
                             cnt
                   UNION ALL                   
                   -----------------------province-----------------------------
                   SELECT s.dove a,
                          s.cat b,
                          round((nvl(cnt, 0) ) *
                                100000 + SUM(s.COUNT)) e,
                          des_regione f,
                          c_categoria g
                     FROM seotmp_tq tq,
                          (SELECT dove dove,
                                  lower(cat) cat,
                                  COUNT(1) COUNT,
                                  regione des_regione,
                                  ca.cd_categoria c_categoria
                             FROM seo_tmp_cat_lingua1 ca,
                                  (SELECT dove,
                                          cat cat,
                                          regione
                                     FROM (
                                           --category match esatto   --il match esatto lo inserisco solo una volta
                                           SELECT dove,
                                                   cat,
                                                   regione
                                             FROM (SELECT lbs.ds_sigla_prov dove,
                                                           ca.ds_categoria cat,
                                                           decode(l2.localita,
                                                                  NULL,
                                                                  lbs.ds_regione,
                                                                  l2.localita) regione
                                                      FROM mdr_inserzioni_categorie c,
                                                           mdr_inserzioni           i,
                                                           seo_tmp_cat_lingua1       ca,
                                                           mdr_anag_lbs         lbs,
                                                           seo_localita_lingua      l2
                                                     WHERE lbs.cd_lingua =&1 and ca.cd_categoria = c.cd_categoria
                                                       AND c.pr_inserzione = i.pr_inserzione
                                                       AND lbs.cd_localita =i.cd_localita_lbs
                                                       AND cd_comune !=0
                                                       AND cd_frazione =0                                                                                   
                                                       AND l2.tipo = 'r'
                                                       AND ca.clingua = &1
                                                       and l2.lingua=&1
                                                       AND l2.cd(+) = lbs.cd_regione
                                                       and i.fl_lingua=decode(&1,2,'1000',3,'0100',4,'0010',5,'0001')
                                                    union
                                                    SELECT lbs.ds_sigla_prov dove,
                                                           ca.ds_categoria cat,
                                                           decode(l2.localita,
                                                                  NULL,
                                                                  lbs.ds_regione,
                                                                  l2.localita) regione
                                                      FROM mdr_inseriti        i,
                                                           seo_tmp_cat_lingua1  ca,
                                                           mdr_anag_lbs    lbs,
                                                           seo_localita_lingua l2
                                                     WHERE lbs.cd_lingua =&1 and ca.cd_categoria = i.cd_categoria
                                                      -- AND ca.cd_categoria != '000000000'
                                                       AND lbs.cd_localita =
                                                           i.cd_localita_lbs
                                                       AND cd_comune !=0
                                                       AND cd_frazione =0
                                                       AND l2.tipo = 'r'
                                                       and l2.lingua=&1
                                                       AND ca.clingua = &1
                                                       AND l2.cd(+) = lbs.cd_regione)))
                            WHERE ca.ds_categoria(+) = cat
                            GROUP BY dove,
                                     lower(cat),
                                     ca.ds_categoria,
                                     ca.cd_categoria,
                                     regione,
                                     ca.ds_categoria) s
                    WHERE tq.qs(+) = s.cat
                      AND tq.dv(+) = s.dove
                    GROUP BY s.dove,
                             s.cat,
                             des_regione,
                             c_categoria,
                             cnt
                   UNION ALL
                   ---------------------raggruppamenti------------------------
                   SELECT s.dove || ' (zona)' a,
                          s.cat b,
                          round((nvl(cnt, 0) 
                                ) *
                                100000 + SUM(s.COUNT)) e,
                          des_regione f,
                          c_categoria g
                     FROM seotmp_tq tq,
                          (SELECT dove dove,
                                  lower(cat) cat,
                                  COUNT(1) COUNT,
                                  regione des_regione,
                                  ca.cd_categoria c_categoria
                             FROM seo_tmp_cat_lingua1 ca,
                                  (SELECT dove,
                                          cat cat,
                                          regione
                                     FROM (
                                           --category match esatto   --il match esatto lo inserisco solo una volta
                                           SELECT dove,
                                                   cat,
                                                   regione
                                             FROM (SELECT ll.localita     dove, --rag.raggruppamento dove,
                                                           ca.ds_categoria cat,
                                                           ll3.localita    regione
                                                    /*  decode(l2.localita,
                                                                                                   NULL,
                                                                                                   lbs.ds_regione,
                                                                                                   l2.localita) regione*/
                                                      FROM mdr_inserzioni_categorie c,
                                                           mdr_inserzioni           i,
                                                           seo_tmp_cat_lingua1      ca,
                                                           seo_anag_raggruppamenti  rag,
                                                           mdr_anag_lbs         lbs,
                                                           --seo_localita_lingua      l2,
                                                           seo_localita_lingua ll,
                                                           seo_localita_lingua ll2,
                                                           seo_localita_lingua ll3
                                                     WHERE lbs.cd_lingua =&1 and ca.cd_categoria =
                                                           c.cd_categoria
                                                       AND c.pr_inserzione = i.pr_inserzione
                                                       AND lbs.cd_localita = i.cd_localita_lbs
                                                       AND lbs.cd_comune !=0
                                                       AND cd_frazione =0
                                                         AND lbs.ds_comune = ll2.localita --rag.comune
                                                          --  AND l2.tipo = 'r'
                                                       AND ca.clingua = &1
                                                          -- and l2.lingua=&1
                                                          -- AND l2.cd(+) = lbs.cd_regione
                                                       AND i.fl_lingua =
                                                           decode(&1,
                                                                  2,
                                                                  '1000',
                                                                  3,
                                                                  '0100',
                                                                  4,
                                                                  '0010',
                                                                  5,
                                                                  '0001')
                                                       AND ll.lingua = &1
                                                       AND ll2.lingua = &1
                                                       AND ll3.lingua = &1
                                                       AND ll.cd =
                                                           rag.cd_raggruppamento
                                                       AND ll2.cd = rag.cd_comune
                                                       AND ll3.tipo = 'r'
                                                       AND ll.tipo = 'ragg'
                                                       AND ll2.tipo = 'c'
                                                       AND ll3.cd = rag.cd_regione
                                                      UNION
                                                       SELECT ll.localita     dove,--rag.raggruppamento dove,
                                                              ca.ds_categoria cat,
                                                              ll3.localita    regione/*decode(l2.localita,
                                                                     NULL,
                                                                     lbs.ds_regione,
                                                                     l2.localita) regione*/
                                                         FROM mdr_inseriti            i,
                                                              seo_tmp_cat_lingua1     ca,
                                                              seo_anag_raggruppamenti rag,
                                                              mdr_anag_lbs        lbs,
                                                              seo_localita_lingua     ll,
                                                              seo_localita_lingua     ll2,
                                                              seo_localita_lingua     ll3
                                                        WHERE lbs.cd_lingua =&1 and ca.cd_categoria =
                                                              i.cd_categoria                                                        
                                                          AND lbs.cd_localita =
                                                              i.cd_localita_lbs
                                                          AND lbs.cd_comune !=0
                                                          AND cd_frazione =0
                                                          AND lbs.ds_comune = ll2.localita--rag.comune
                                                          AND ll.lingua = &1
                                                          AND ll2.lingua = &1
                                                          AND ll3.lingua = &1
                                                          AND ll.cd =
                                                              rag.cd_raggruppamento
                                                          AND ll2.cd =
                                                              rag.cd_comune
                                                          AND ll3.tipo = 'r'
                                                          AND ca.clingua = &1
                                                          AND ll.tipo =
                                                              'ragg'
                                                          AND ll2.tipo = 'c'
                                                          AND ll3.cd =
                                                              rag.cd_regione
                                                    )))
                            WHERE ca.ds_categoria(+) = cat
                            GROUP BY dove,
                                     lower(cat),
                                     ca.ds_categoria,
                                     ca.cd_categoria,
                                     regione,
                                     ca.ds_categoria) s
                    WHERE tq.qs(+) = s.cat
                      AND tq.dv(+) = s.dove
                    GROUP BY s.dove,
                             s.cat,
                             des_regione,
                             c_categoria,
                             cnt
                   UNION ALL
                   /*-----------------------frazioni-----------------------------
                   SELECT s.dove a,
                          s.cat b,
                          round((nvl(cnt, 0) ) *
                                100000 + SUM(s.COUNT)) e,
                          des_regione f,
                          c_categoria g
                     FROM seotmp_tq tq,
                          (SELECT dove dove,
                                  lower(cat) cat,
                                  COUNT(1) COUNT,
                                  regione des_regione,
                                  ca.cd_categoria c_categoria
                             FROM seo_tmp_cat_lingua1 ca,
                                  (SELECT dove,
                                          cat cat,
                                          regione
                                     FROM (
                                           --category match esatto   --il match esatto lo inserisco solo una volta
                                           SELECT dove,
                                                   cat,
                                                   regione
                                             FROM (SELECT decode(l.localita,
                                                                  NULL,
                                                                  lbs.ds_frazione,
                                                                  l.localita) || ' (' ||
                                                           lbs.ds_sigla_prov || ')' dove,
                                                           ca.ds_categoria cat,
                                                           decode(l2.localita,
                                                                  NULL,
                                                                  lbs.ds_regione,
                                                                  l2.localita) regione
                                                      FROM mdr_inserzioni_categorie c,
                                                           mdr_inserzioni           i,
                                                           seo_tmp_cat_lingua1       ca,
                                                           mdr_localita_lbs         lbs,
                                                           seo_localita_lingua      l,
                                                           seo_localita_lingua      l2
                                                     WHERE ca.cd_categoria = c.cd_categoria
                                                       AND c.pr_inserzione = i.pr_inserzione
                                                       AND lbs.cd_frazione =
                                                           get_frazione(i.cd_localita_lbs)
                                                       AND cd_frazione IS NOT NULL
                                                       AND lpad(nvl(lbs.ds_cap, 0), 5, '0') =
                                                           '00000'
                                                       AND c.cd_categoria != '000000000'
                                                       AND l.lingua = &1
                                                       AND l2.tipo = 'r'
                                                       AND l.tipo = 'f'
                                                       AND ca.clingua = &1
                                                       AND l.cd(+) = lbs.cd_frazione
                                                       AND l2.cd(+) = lbs.cd_regione
                                                       and l2.lingua=&1
                                                    UNION
                                                    SELECT decode(l.localita,
                                                                  NULL,
                                                                  lbs.ds_frazione,
                                                                  l.localita) || ' (' ||
                                                           lbs.ds_sigla_prov || ')' dove,
                                                           ca.ds_categoria cat,
                                                           decode(l2.localita,
                                                                  NULL,
                                                                  lbs.ds_regione,
                                                                  l2.localita) regione
                                                      FROM mdr_inseriti        i,
                                                           seo_tmp_cat_lingua1  ca,
                                                           mdr_localita_lbs    lbs,
                                                           seo_localita_lingua l,
                                                           seo_localita_lingua l2
                                                     WHERE ca.cd_categoria = i.cd_categoria
                                                       AND ca.cd_categoria != '000000000'
                                                       AND lbs.cd_frazione =
                                                           get_frazione(i.cd_localita_lbs)
                                                       AND cd_frazione IS NOT NULL
                                                       AND lpad(nvl(lbs.ds_cap, 0), 5, '0') =
                                                           '00000'
                                                       AND l2.tipo = 'r'
                                                       AND l.tipo = 'f'
                                                       and l2.lingua=&1
                                                       AND ca.clingua = &1
                                                       AND l.cd(+) = lbs.cd_frazione
                                                       AND l2.cd(+) = lbs.cd_regione)                        
                                           ))
                            WHERE ca.ds_categoria(+) = cat
                            GROUP BY dove,
                                     lower(cat),
                                     ca.ds_categoria,
                                     ca.cd_categoria,
                                     regione,
                                     ca.ds_categoria) s
                    WHERE tq.qs = s.cat
                      AND tq.dv = s.dove
                    GROUP BY s.dove,
                             s.cat,
                             des_regione,
                             c_categoria,
                             cnt
                   UNION ALL*/
                   ----------------------regioni------------------------------
                   SELECT s.dove a,
                          s.cat b,
                          round((nvl(cnt, 0) 
                                ) *
                                100000 + SUM(s.COUNT)) e,
                          des_regione f,
                          c_categoria g
                     FROM seotmp_tq tq,
                          (SELECT dove dove,
                                  lower(cat) cat,
                                  COUNT(1) COUNT,
                                  dove des_regione,
                                  ca.cd_categoria c_categoria
                             FROM seo_tmp_cat_lingua1 ca,
                                  (
                                   --category match esatto   --il match esatto lo inserisco solo una volta
                                   SELECT dove,
                                           cat
                                     FROM (SELECT decode(l2.localita,
                                                          NULL,
                                                          lbs.ds_regione,
                                                          l2.localita) dove,
                                                   ca.ds_categoria cat
                                              FROM mdr_inserzioni_categorie c,
                                                   mdr_inserzioni           i,
                                                   seo_tmp_cat_lingua1      ca,
                                                   mdr_anag_lbs         lbs,
                                                   seo_localita_lingua      l2
                                             WHERE lbs.cd_lingua = &1 and ca.cd_categoria =
                                                   c.cd_categoria
                                               AND c.pr_inserzione = i.pr_inserzione
                                               AND lbs.cd_localita = i.cd_localita_lbs
                                               AND cd_comune !=0
                                               AND cd_frazione =0
                                               AND l2.lingua = &1
                                               AND l2.tipo = 'r'
                                               AND ca.clingua = &1
                                               AND l2.cd(+) = lbs.cd_regione
                                               AND i.fl_lingua =
                                                   decode(&1,
                                                          2,
                                                          '1000',
                                                          3,
                                                          '0100',
                                                          4,
                                                          '0010',
                                                          5,
                                                          '0001')
                                              UNION
                                                                     SELECT decode(l2.localita,
                                                                                   NULL,
                                                                                   lbs.ds_regione,
                                                                                   l2.localita) dove,
                                                                            ca.ds_categoria cat
                                                                       FROM mdr_inseriti        i,
                                                                            seo_tmp_cat_lingua1  ca,
                                                                            mdr_anag_lbs    lbs,
                                                                            seo_localita_lingua l2
                                                                      WHERE lbs.cd_lingua =&1 and ca.cd_categoria = i.cd_categoria                                                                        
                                                                        AND lbs.cd_localita = i.cd_localita_lbs
                                                                        AND cd_comune !=0
                                                                        AND cd_frazione =0
                                                                        AND l2.lingua = &1
                                                                        AND l2.tipo = 'r'
                                                                        and l2.lingua=&1
                                                                        AND ca.clingua = &1
                                                                        AND l2.cd(+) = lbs.cd_regione
                                            ))
                            WHERE ca.ds_categoria(+) = cat
                            GROUP BY dove,
                                     lower(cat),
                                     ca.ds_categoria,
                                     ca.cd_categoria) s
                    WHERE tq.qs(+) = s.cat
                      AND tq.dv(+) = s.dove
                    GROUP BY s.dove,
                             s.cat,
                             des_regione,
                             c_categoria,
                             cnt)
            GROUP BY a,
                     b,
                     f);
exit;

Pubblicato in: Informaticcia

I racconti di Nonno Floppy/1

Ormai nel secolo scorso, un amico di Nonno Floppy (da qui in poi NF) decise di comprarsi un modem interno, ovviamente analogico e con la fantastica velocità di 28.8 Kbps, corrispondente a poco più di 3KB/s. Visto che per l’amico si trattava della prima esperienza nel campo, richiese il supporto morale di NF, che ne sapeva quanto lui, se non di meno. Si iniziò con l’Apertura della Confezione, si procedette con l’Estrazione del Contenuto, e ci si cimentò con la Lettura del Manuale d’Installazione.
Il Manuale d’Installazione instillava il sacro terrore delle Scariche Elettrostatiche, entità maligne che avrebbero potuto distruggere il modem al solo tocco. Né NF né l’amico avevano ragione di dubitare del Manuale, perciò si tolsero le scarpe – la suola di gomma… – e toccarono tutti gli oggetti metallici a portata di mano, per esorcizzare appropriatamente le Scariche Elettrostatiche. Poi aprirono il computer – un Compaq Prolinea Net, un parente povero del più noto Compaq Presario -, individuarono lo slot ISA dove inserire il modem, lo scartarono, lo inserirono con delicatezza in sede – anche se sarebbe più opportuno dire che lo appoggiarono… – chiusero il tutto e accesero il computer, che gli fece una sonora pernacchia.
Costernati e perplessi, i due riaprirono l’aggeggio, tolsero il modem, lo riappoggiarono, richiusero il computer, lo riaccesero, e si presero di nuovo la sonora pernacchia.
Riaprirono il computer per la terza volta e studiarono con attenzione la conformazione delle sue budella, finché a NF venne il dubbio: iniziò a esercitare una pressione crescente sul modem, fino quasi prenderlo a calci, finché questo non si inserì sul serio nello slot ISA con un sonoro “clank!”. Sorridenti e soddisfatti, i due ripeterono la scena della chiusura e dell’accensione, certi stavolta del successo. E invece, terza sonora pernacchia.
I due si guardarono perplessi. Perché il modem non funzionava? Eppure le Scariche Elettrostatiche erano state scansate! Continuarono a guardarsi, finché a NF venne la Grande Illuminazione: ma non è che bisogna dire al computer che gli è stato aggiunto un pezzo? Così entrarono nel BIOS, luogo sinistro e inesplorato, dove con umiltà insufflarono lo Pneuma nel modem, che finalmente iniziò a funzionare (per quanto possa funzionare un modem analogico da 28.8 Kbps).

Pubblicato in: Informaticcia, Me, myself and I

Interno torinese / trust issue

« Puoi controllare quanto ci va per fare le uova sode? »
« 9 minuti da che bolle l’acqua. »
« Insomma puoi andare su Google e vedere quanto ci va? »
« 9 minuti da che bolle l’acqua, te l’ho detto! »
« Ti ho chiesto di controllare, non di dirmelo. »
« Cosa significa? Non ti fidi di me? »
« No. Adesso controlla. »
« Dagli 8 ai 10 minuti, mettendo le uova in acqua bollente BRUTTO PUZZONE MALFIDENTE TI ODIO MUOI!!! »

Pubblicato in: Varie

Cacciatrici di teste

Cosa dovrei pensare di una tizia che si qualifica come “head hunter” e:
1) mi contatta su LinkedIn usando il titolo sbagliato (sul mio profilo ci sono tutti i dati per evitare sbagli di questo tipo);
2) mi chiede il curriculum: appena lo riceve mi manda la scheda di un lavoro per cui non ho i requisiti (ma l’hai letto ‘sto cazzo di curriculum?);
3) quando glielo faccio cortesemente notare non si degna neanche di mandarmi a cagare.
Brutta stronza, sei tu che mi hai cercato, se non sai fare il tuo lavoro datti all’ippica.

Pubblicato in: Odio