Infocazzola prematurata.(NSFW)

In un altro thread e’ nata la solita guerra di religione fortran contro altri linguaggi, cosi’ ho ricevuto richieste da ovunque, essenzialmente di riassumere a grandi linee la mia esperienza con l’universita’, la ricerca, il settore governativo. Questo e’ un post di sfogo, piu’ che altro, quindi scrivo a ruota libera e senza rileggere. E non pulisco il water. Siccome voglio evitare altre guerre di religione e di attirare qui tutti gli sbroccati del mondo, il post e’ pieno di tettone.
Quando si parla di HPC, High Performance Computing, o di HPTC, High Performance Technical Computing , si pensa subito agli annunci che si leggono in giro, si pensa al numero di Petaflop appena raggiunto dai TOP5 (i 5 piu’ grandi calcolatori del mondo), alle applicazioni scientifiche, e cosi’ via.
In realta’, il “supercalcolo” e’ piu’ diffuso di quanto si pensi, anche se non sempre per applicazioni scientifiche. Dalle parti di Francoforte c’e’ un posto (ce n’e’ uno simile a Roma, ma non so quanto simile) dove si occupano di un problemino: prendere TUTTI gli SMS di Germania inviati da schede postpaid , sommare i pochi centesimi di costo singolo a seconda che il numero di SMS sia compreso o meno in un pacchetto con una data offerta commerciale, (1) verificare che il destinatario sia dentro la rete. Se il destinatario (per esempio, una persona con un telefono O2 scrive ad una col telefono di D2) , cioe’ e’ fuori rete, calcolare le condizioni di revenue e dividere il fatturato tra D2 e O2, a seconda. Se il destinatario e’ all’estero, verificare il punto di interfatturazione, verificare la tariffa, e distribuire la revenue a dovere, a seconda degli accordi.
Il problema e’ che essendo la tipologia commerciale del tipo “gratis i primi 300” , o altre tariffe cumulative, spesso parliamo di un gigantesco batch che possiamo avviare solo a fine del periodo (mese o trimestre),  che macina gigaflop come se piovessero  e raggiunge tranquillamente i requisiti che servono per parlare di HPC. Ma cosa stiamo facendo? In definitiva, stiamo parlando di un gigantesco programma di fatturazione. Se pensate che nel solo 2008 sono stati inviati 4100 miliardi di SMS, di cui 1210 miliardi in europa, voi capite che cosa deve calcolare una telco come Vodafone, per dirne una, per contabilizzarli.(2)
Affermare che non si tratti di calcolo sarebbe azzardato: cosi’ come un governo che fa un bilancio fa indubbiamente una grossa mole di calcoli, lo stesso avviene che so io quando una semplice produzione cinematografica usa qualche migliaio di calcolatori per fare il rendering degli effetti speciali di un kolossal. Tra rotazione di poligoni , fft e altro nessuno potra’ negare che si faccia calcolo, e in dosi massive. Per questa ragione HP introdusse, nella notte dei tempi, (e a mio avviso giustamente), due termini diversi per indicare quelle che ITIL chiama “capacita’” analoghe. Un sistema di qualche migliaio di nodi che faccia il rendering di un film raggiunge facilmente capacita’ e prestazioni superiori a quelle che molti centri di supercalcolo italiano possono solo sognare.
Lo dico, quindi, per evitare che quando si parla di HPC si intenda solo l’ HPTC, dove la T sta per “technical”. High Performance Computing e High Performance Technical Computing sono due sigle diverse: l’ HPTC e’ compreso nella grande famiglia dell’ HPC, ma nessuno si sognerebbe di chiamare supercalcolo quello che fa , per dire, il cloud di Amazon. Tuttavia, esistono gia’ dei case study di ESA  ,
come questo qui, http://www.cxo.eu.com/article/Amazon-web-services-case-study-The-Server-Labs/ , che vi smentirebbero: il cloud di Amazon fa anche “supercalcolo”.
Tuttavia, anche l’idiosincrasia sulla complessita’ del calcolo e’ fuori luogo: non per niente HPC indica “performance” come indicatore di efficacia. Per fare un esempio, Vodafone DE ha fatturato 110 milioni di sterline (la sede e’ a Londra) in servizi VAS. Vodafone Inghilterra fattura qualcosina di piu’, eccetera. Cosa sono? Sono quello che vedete quando cliccate sul tasto rosso del telefono di vodafone (se ne avete uno). Sono giochi, screensaver, rigbacktones, ringtones, oroscopi erotici, chat, servizi porno, news , il portale Vlive, 360, (non li ricordo tutti, Vodafone e’ uno dei clienti della mia azienda, ma non l’unico). Ebbene, direte voi, cosa c’entra col supercalcolo?
La struttura che si occupa di questo (per tutto il mondo Vodafone, tranne qualche eccezione, che mi risulti) , tra Eller e Rattingen (nei dintorni di Duesseldorf ove mi trovo adesso) , “informaticamente parlando” e’ piu’ grande del CINECA. Chi la gestisce, tra personale tecnico e tutto, occupa un edificio alto 21 piani. Piu’ grande del CINECA? Si, piu’ grande del CINECA. Dico bene. Piu’ grande del SiSSA, piu’ grande del CILEA, del CICAIA, e di altri “mostri” italiani.(3)
E’ HPTC? Non direi. E’ HPC? Beh, se c’e’ il ROI le macchine rimangono accese e vengono usate. Le CPU sono cariche, gli storage usati, eccetera.  Dunque? Dunque, e’ cosi’: per HPC, che spesso viene indicato come “supercalcolo” intendendo in realta’ l’ HPTC, si intende impropriamente un sottoinsieme si applicazioni ad alte performance, che sono quelle che bucano i giornali: la TOP5, la ricerca, la genomica, eccetera.
Tuttavia, il geek che si eccita per queste cose dovrebbe chiedersi quanti conti occorrano, che so io, per chiudere il bilancio di un governo, o per contabilizzare 800 miliardi di SMS in un giorno, o per calcolare tutte le fft di un normale kolossal cinematografico, ma anche soltanto per tenere in piedi Google o Facebook.
Chiarito questo, facciamo un passo indietro: ereditare un canale come “educational&government” in una regione d’italia significa doversi occupare di un certo numero di enti pubblici. Dall’ Arpa alle universita’, all’ Enea, alle sedi locali del CNR, lo stesso CINECA, ma anche e semplicemente i centri meccanizzati per la contabilita’ dello stato, dell’universita’, della scuola, dell’ INPS, dell’ INAIL, della sanita’.
E’ supercalcolo? Se intendiamo HPTC, dipende dai casi. Quanti conti fa una TAC? E un NMR? Una delle realta’ del calcolo piu’ grandi del paese, almeno ai miei tempi, era il Parco Nazionale degli Abruzzi. Quindi?
Le universita’ e i centri di calcolo nel mondo reale, quindi non sono esattamente la TOP5 della situazione: vanno dal piccolo dipartimento che compra un cluster da 24 unita’ sino a quello che fa il sistemone da 512, che per l’ Italia e’ gia’ una cosa che si vede pochino. Per la cronaca, nel mondo HPC l’italia e’ dieci volte meno sviluppata della Germania, 4 volte meno della Francia, e cosi’ via. Un disastro. Un disastro che si spiega con il tronfio imbesuimento, l’arretratezza condita dal potere di staccare l’assegno, l’incompetenza condita da titoli accademici,  degli operatori che dovrebbero svilupparlo.
Ed e’ da questo punto di partenza che ho potuto vedere l’imbesuimento sia delle universita’ che in generale del mondo dell’informatica. Anche se l’imbesuimento dei programmatori e’ arrivato dopo, con i vari boom delle varie new economy, newer economy, web 2.0, e cosi’ via.

immagine rimossa
Il sorriso e’ la parte piu’ importante del fascino di una donna. Non pensate anche voi?
Andiamo quindi al dunque. Come si e’ evoluto l’imbesuimento degli sviluppatori?
Si e’ evoluto perche’ chi li pagava era essenzialmente un coglione incompetente. E cosi’, loro potevano passare alla storia per dei geni, quando scrivevano del software pessimo. Siccome gli costava meno scrivere software pessimo, hanno innescato un fenomeno di regressione che ha portato tutto in merda. Vediamo i fenomeni principali che mi hanno portato a mandare affanculo il mondo dell’ HPC la seconda volta che ci sono entrato. La prima volta ci sono entrato quando andavano di moda le robe MIMD, la seconda era gia’ l’era del cluster.
Punto primo: le librerie, queste sconosciute. Quando iniziai col lavoro, le librerie arrivavano con della documentazione. Quindi non esistevano “le librerie per il meshing in fortran che vanno bene perche’ sono scritte in fortran”. Esistevano librerie per il meshing che andavano bene in questa , quella e quell’altra condizione.
Ad un certo punto, i tromboni universitari (il 100% delle volte, docenti) hanno iniziato a pensare che le librerie scientifiche fossero senzienti. Hanno detto: io devo fare la tal cosa. Non ho voglia di scrivere la mia routine. Ho questa libreria. Chiamo la libreria. Fine. Il funzionamento? “Ma sono ottimizzate!” =  “Sono senzienti, quindi correggeranno da sole le cazzate di un approccio senza senso!”
Caso limite: un piccolo dipartimento di chimica-fisica compra un piccolo cluster per farci dei conti, fate conto circa 24 nodi a due CPU. E’ la realta’ piu’ diffusa, questa oscena polverizzazione del calcolo. Saturano continuamente lo storage, nonostante il problema che affrontano NON dovrebbe usare storage. Come mai? Affrontano questi problemi di traiettorie su piccole molecole usando l’approccio sbagliato. Calcolano hamiltoniane che necessitano di salvare il proprio stato di continuo, a 30GB a botta.
La cretina di professoressa che fa questo non ha la colpa di usare il fortran: ha la colpa di essere rimasta ferma con la mente al mondo del fortran77. Cioe’, attorno al 77. Questo e’ il punto: se tu mi porti il fortran allo stato dell’arte, io posso anche capirne l’uso. Ma spesso, “fortran77” significa che il docente non ha MAI piu’ preso in mano un libro di informatica dal 1977.
Questo e’ il punto.
Alla cretina che si lamentava che gli avevamo dimensionato male il cluster , risposi semplicemente “usi delle hermitiane”. A quel punto si mise a piagnucolare “ma noi abbiamo sempre fatto cosi’”. Cosi’ dovetti installarle (il cliente e’ il cliente) delle librerie diverse e spiegare alla laureanda di turno (non sia mai che un prof si faccia spiegare qualcosa da qualcuno!)  come fare. La prof ebbe il suo programma (“oh, ma come finisce in fretta! puo’ girare anche sul mio PC!”)  e attribui’ il miracolo… alle librerie.
Non alla sua incompetenza. Non alla sua arretratezza. Alle librerie.
Questo mix di approccio sbagliato E di fiducia mistica nelle “librerie” e’ una delle cose che ha snaturato il ruolo dei programmatori. Io non ce l’ho con le librerie. Ma se scegli delle librerie, non basta dirmi “le ho scelte perche’ hanno la funzionalita’ che cerco”. Occorre anche parlare di prestazioni, e specialmente di approccio.
L’uso di librerie intese come blackbox ha iniziato a seminare una pericolosissima incompetenza nei programmatori, che ritengono giusto, buono e professionalmente bello NON SAPERE che cosa faccia la libreria. “Interfaccia” fa cosi’ fico che non si sentono in imbarazzo quando gli fai presente che NON SANNO che cosa abbiano fatto.
Un altro problema e’ che i programmatori hanno iniziato a confidare nei sempre piu’ numerosi livelli di astrazione come scuse per la propria ignoranza informatica. Un esempio che mi riguarda. La piattaforma su cui gira il progetto (che sta finendo, grazie al cielo) su cui lavoro qui in Germania e’ dimensionata per circa 84 milioni di utenti, e (si vedra’ se e’ il caso, i boss devono decidere) sara’ spinta a continuare  sino a 260 oppure chiusa e sostituita con una nuova (opzione piu’ probabile) basata su un’architettura migliorata.
Ora, il programmatore che scrive software (un tempo si sarebbe detto “mission critical”) non dovrebbe rispondermi come mi ha risposto un commentatore di questo blog: “ma che cosa c’entra il sistema operativo?”. Perche’? Perche’ altrimenti continuera’ a fare open() e close() di socket. Magari mi gestisce pure l’eccezione se qualcosa va storto, pora stella.
Il guaio e’ che Solaris usa delle hash tables per il TCP, di dimensione finita. E usa le zone. Il che significa che fare open() e close() non e’ cosi’ semplice come sembra. Innanzitutto perche’ esiste un intervallo di CLOSE_WAIT, che prolunghera’ la chiusura del socket (che rimarra’ visibile nella hash table) , moltiplicando il numero di connessioni/secondo per la durata del tempo di CLOSE_WAIT. Cosa significa? Significa esaurire la hash table dello stack. E significa beccarsi un “undefined_state” se chiedete in che stato sia il socket. Cosi’, potrete esaurire la capacita’ della vostra zona, semplicemente perche’ avete scritto codice senza chiedervi “ma che cosa c’entra il sistema operativo?”. Avete scritto il codice chiedendovi “quanto e’ grande la hash table ? Quanti socket quindi posso tenere aperti? Devo usare SO_LINGER?”
Non succede solo a chi scrive software per telecomunicazioni. Succede anche, per dire, a chi usa sotto solaris delle librerie per la comunicazione interprocesso, come MPI, per dirne una.  E certo che se vi chiedete “ma che cosa c’entra il sistema operativo”, beh, i guai ve li cercate. Perche’ avrete comportamenti diversi della hash table  se siete in una zona locale, in una zona globale se usate Solaris, oppure altri problemi se usate HP-UX o AIX, o Linux. Cosi’ , di fare close() e open() come vi pare, dovrete sognarvelo. Lo fate sul vostro PC. Lo fate nel negozio dell’angolo. Ma non oltre.
Questo e’ il secondo problema: il programmatore ritiene di non necessitare di competenze sull’hardware e/o sul sistema operativo e/o sul networking, perche’ tanto c’e’ qualche livello di astrazione su cui potra’ basarsi, ciecamente. Lui deve conoscere il linguaggio, le librerie, lo strumento di sviluppo/compilazione distribuita/ticket management.
E cosi’, quando fate presente allo sviluppatore che un socket chiuso, anche dopo l’handshake, rimane in CLOSE_WAIT, vi dice “io ho fatto close, e per me quello e’ chiuso”. Se ho un slose wait time di 5 secondi e un rate di 15.000 connessioni tcp/secondo, pazienza se la macchina deve tenerne aperte 75.000. In fondo, sono “solo” cinque volte nella capacita’ della hash table.
L’ultimo grande problema degli sviluppatori odierno e’ quello di non tener conto del sistema/azienda su cui gira l’applicativo. Ti fanno una bella applicazione, e poi ad un certo punto ti arriva una patch. Aha. Ma il nostro eroe ha deciso di usare una versione piu’ aggiornata delle librerie. Perche’? Perche’ si’. Perche’ sono migliori.
Ora, se uno a quel punto deve installare le tue maledette librerie SCTP daccapo, significa che:
  1. Deve chiedere ad una persona di operations di distribuire le librerie su N server. Si, non e’ complicato: e’ solo costoso, perche’ il grande capo di operations vuole dei soldi per darvi un’ora uomo del suo operatore fico che maneggia tanti server insieme.
  2. Devi magari fermare N sistemi. E non e’ detto che sia possibile patchare solo la local zone, il che potrebbe significare fermare i servizi di altri gruppi che usano la stessa global zone. Questo produce disservizio E quindi costo.
  3. Occorre poi tutta una serie di test di non regressione, per vedere che le nuove librerie facciano tutto quello che facevano le vecchie nello stesso modo. Devo cioe’ ripetere la fase di acceptance del software.
Tutto questo il programmatore moderno non lo capisce. Quando usa java , ti risponde “beh, fai l’endorsement della tale libreria”. Quando va in linguaggi che non richiedono interpreti (ormai cosa rara, ma lasciamo perdere i costi di un serio programmatore C++) , vi dicono che il software fa le cose che volevate, adesso pagatelo. Capacita’? Non my problem. Peculiarita’ del sistema operativo? Not my problem. Protocolli di rete? Not my problem.
Tempo fa volevo alzare la priorita’ di sistema , su Solaris, di alcune applicazioni, per dare priorita’ ai loro thread. Erano applicazioni del cazzo, che forniscono un’interfaccia web a chi, dalle telco-cliente , vuole configurare il prezzo dei servizi, e a quelli che vogliono fare il customer care (la signorina che  cambia il contratto della vostra SIM, per dire).
Come sapete, su Solaris Java si interfaccia con il sottosistema priocntl(),(4) che permette di creare code di priorita’ per lo scheduler del kernel. In questo modo, e’ possibile mandare in esecuzione applicazioni in modalita’ interattiva, piuttosto che real time, oppure timesharing, i fairsharing. Ed e’ possibile anche decidere nuove code di priorita’ sulle quali incanalare le applicazioni per dare loro priorita’ nello scheduling della CPU.
Lo chiesi ad un programmatore. Il quale programma su un bel portatile con sopra Windows, e qualora serva , udite udite, ha anche la doppia partizione con Linux. Eh, solo che priocntl esiste su Solaris perche’ su Linux lo scheduler funziona in maniera diversa. Bene. (si, lo so, un tempo si diceva Sun. Sic transeat gloria mundi, amen).
Il tipo mi rispose semplicemente che “java e’ sempre quello”.
Perche’? Perche’ semplicemente e’ un programmatore ggiovane e al passo coi tempi: non lo preoccupa piu’ cio’ che sta sotto, tanto gli hanno scritto un bel linguaggio di altissimo livello, per il quale CREDE di non doversene preoccupare.
Adesso ci sara’ un coro: “ma tu incontri solo coglioni, noi invece siamo bbravi”. Mi spiace, ma questo e’ un coro che sento ogni volta che vedo cambiare sviluppatori (il che avviene spesso): i nuovi arrivati dicono “ma che cretini, hanno usato la libPIPPO anziche’ la libPLUTO” , magari non sanno neanche chi e’ Shakira, questi.”
Dopodiche’, fanno le medesime cazzate con la medesima superficialita’. Ma con librerie diverse, con lo SCRUM invece che con l’ Agile, coi compilatori di IBM anziche’ di HP anziche’ di Portland , con quel che vi pare, ma MAI chiedendosi che cazzo stiano facendo esattamente su quella povera macchina che ha la sfortuna di dover digerire il loro codice.
Cosi’, lo ripeto: il problema del software di oggi, sia su HPC che su HPTC che ovunque, e’ la caduta verticale che e’ avvenuta nella professionalita’ dei programmatori.
Il motivo per il quale si amano librerie scritte in un linguaggio obsoleto 40 anni fa, su processori che non avevano niente a che fare con quelli di oggi E su architetture completamente differenti e’ che innanzitutto non si saprebbero riscrivere quelle routine , dal momento che il programmatore odierno NON le saprebbe riscrivere: non conosce abbastanza fisica o matematica o logica per farlo.
Come se non bastasse, il programmatore di oggi rimane a programmare si e no per tre-quattro anni, poi decide che e’ destinato ad altri destini, e vuole diventare Project Manager. Il risultato e’ che trovare sviluppatori esperti e’ diventato impossibile, e i pochi che ci sono passano il tempo a controllare il lavoro di Programmatori Junior demotivati che sognano il momento in cui diventeranno PiEmme.
Oggi, potete tranquillamente lavorare di statistica: se avete di fronte uno sviluppatore, avete di fronte un fesso incompetente almeno il 95% delle volte. E non un incompetente che si sforzera’ di uscire dall’incompetenza. Un incompetente che , quando gli fate notare che scrive roba che non sta in una rete enterprise, vi risponde  “io non sono un sistemista, non devo sapere queste cose”. Non cerca di capire o di imparare il problema: rifiuta di occuparsene. Tanto, tra due anni sara’ PiEmme.(e guadagnera’ meno di un programmatore senior, lavorando il doppio).
Quando gli fate notare che le sue librerie “endorsed” costringeranno l’azienda a rifare tutto il processo di non-regression e di acceptance, lui risponde che “io non sono un manager, questo e’ un vostro regolamento interno. Il software per me funziona, e se non funziona fissiamo il baco. I non-regression test li avete decisi voi, e’ la vostra strategia industriale”. Ovviamente, si guarda bene dall’imparare questa cosa come approccio per lavorare dentro le corporate: no, lui lavora cosi’, sono le corporate poi che hanno le loro cose. Lui, se ne frega, problemi vostri.
Questi sono i programmatori di oggi.
Vi stupisce se poi lo sviluppo viene portato tutto in India?
Questo e’ il motivo per cui ho lasciato l’ HPTC, visto che quella “T” richiede al programmatore di capire quel che sta facendo, cosa che il programmatore odierno rifiuta di fare per principio, e mi sobbarcavo tutti i problemi dei loro merdosi software.. Ed e’ il motivo per cui , ormai, il mio capo minaccia di aprire la gabbia e liberarmi contro  gli sviluppatori che lo fanno arrabbiare: sa che piombero’ sui loro software, gli daro’ un’occhiata,  e iniziero’ un discorso a base di “bullshit”, “barking at the moon” , “code pissing” , “spaghetti”, “works better with no cpu”, “Fine. Does it comes for computers, too?” ,   e cosi’ via.
In generale, oggi avete poco da eccitarvi per la TOP5 . Tanto, le vostre universita’ italiane e i piccoli centri di calcolo, per non cooperare tra loro (che poi perdono potere i baroni) si mantengono piccole piccole. Venti nodi di qui, quaranta di la’, e se ne servissero sessanta  si fottono entrambi, il piccolo cluster del dipartimento, la stanzetta con il condizionatore pinguino e il rack 24U, e cosi’ via. Ma la cosa importante e’ che esistono in Italia POCHISSIMI sviluppatori capaci di lavorare davvero su HPTC, e anche all’estero le cose NON vanno meglio.
Questa e’ la cialtroneria dei centri di calcolo, che e’ la somma di cialtroneria baronale e di cialtroneria professionale degli sviluppatori. Vi stupisce sapere, a quel punto, che una telco usa un sistema piu’ grande del CINECA per inviare l’oroscopo erotico ai suoi clienti?  O che si usano librerie obsolete perche’  non si sanno riscrivere  decentemente?
immagine rimossa
Orsu’, rilassiamoci con un po’ di tette, che tengono lontani i farlocchi.

Vorrei aprire una parentesi, che e’ anche Off Topic, lo so,  su un tipo particolare di programmatore, vero e proprio flagello del mercato internazionale: il programmatore italiano che va a Londra. Normalmente si tratta di un tizio che ha lasciato l’universita’ a pochi esami , ha scoperto che in Italia non c’era posto per lui, e ha deciso di andare a Londra. Dovete sapere che a Londra, vendersi e’ facilissimo. Duecento anni di economia basata su commercio e servizi hanno creato un mondo di manager che non saprebbero piantare un chiodo nel muro, e che credono onestamente che i muri escano di fabbrica con il chiodo gia’ inserito. Capite che se a questa persona fate vedere che piantate un chiodo nel muro, siete degli dei. Black magic.

Il manager  londinese che scegliera’ il programmatore, cioe’, ha perso qualsiasi correlazione col mondo , al punto che far apparire un’icona sul desktop e’ , per lui, una specie di magia. Londra e’ un posto, cioe’, privo di anticorpi contro i cialtroni italiani. Per questo, moltissimi italiani amano Londra: e’ il posto nel quale con la solita abilita’ italiana di gonfiare i CV e di parlare, possono spacciarsi per delle divinita’.

Non e’ mia intenzione offendere nessuno, anche perche’ a Londra ci sono anche programmatori italiani in gamba. Tuttavia, la media dei programmatori che vanno a cercare lavoro nell’ IT a Londra e’ , in generale, gente che sa scrivere Hello World in tre linguaggi e sa colorarlo molto bene sui powerpoint.  Il manager, che pensa le parole sul PC appaiano per lo spirito degli antenati, a quel punto lo classifica come sciamano, o giu’ di li’. Ed e’ fatta. E poi ve li sorbite quando tornano in Italia a dire che a Londra e’ davvero un altro mondo: eh, certo, li’ c’e’ ancora qualche pasto gratis, a quanto pare.

Quando vedete un programmatore italiano a Londra, specialmente se vi parla male dell’ Italia, chiedetegli in che linguaggi programma. Se menziona “python”, lasciate perdere. Probabilmente non sa nemmeno alzare una cassetta di frutta. Se sviluppa “applicazioni web”, e’ concime per i fiori. E pure scadente. L’italiano che fa il programmatore a Londra dovete prenderlo sul serio solo se e’ isolato dal gruppo, se e’ ormai abbastanza anziano (Wonderful Londra e’ una favola cui credono molto i giovani, i piu’ anziani si limitano a viverci serenamente) , se litiga spesso con quelli vestiti bene, se ha un poderoso carattere di merda. Allora,  probabilmente e’ un tizio che vale.

Cosi’, quando un italiano vi dice che e’ andato a fare il programmatore a Londra, ed e’ giovane, ed e’ brillante, e ha un macintosh per sviluppare interfacce web, non limitatevi a dividere per dieci quel che dice, come dovreste fare con qualsiasi programmatore odierno.

Dividete per mille, perche’ Londra e’ un brutto posto: non hanno anticorpi contro i cialtroni. Purtroppo per loro, devo dire. E anche un pochino per noi, perche’ alcuni inglesi hanno capito bene la cosa, e se siete italiani rischiate di essere scambiati per uno di loro…. e credo che gli amici che mi leggono da Londra concorderanno anche su questo punto.

Spesso l’estero e’ migliore dell’ Italia perche’ quei poveretti, ingenuamente, si bevono tutte le palle che gli emigrati italiani raccontano loro…. specialmente ai colloqui di lavoro, a quanto vedo.Fine dell’ Off Topic.

immagine rimossa
Sue! Sue! Sono tutte sue!E non ve ne dara’ neanche un pochino.
Uriel

(1) Parliamo di una “query” che restituisce qualche miliardo di record.

(2) Non tutti sono inviati da persone. Sono considerati anche i wap push e le campagne pubblicitarie (che ne sparano mezzo milione alla volta, btw). La media e’ cosi’ di 32 a terminale/giorno per 350 milioni di terminali, piu’ i servizi VASP originated. Non sempre e’ necessario fare tuttto a fine del periodo contrattuale, ma capita.

(3) Viene, effettivamente, da interrogarsi sull’etica del mercato quando si vede che per mandare oroscopi erotici si usano piu’ calcolatori di quelli che la fondazione Dulbecco puo’ sognare per lottare contro delle malattie che uccidono la gente. Ma questo e’ un altro discorso.

(4) http://www.princeton.edu/~unix/Solaris/troubleshoot/schedule.html