lunedì 23 novembre 2009

Quine

No, non parlerò di quel Quine, non direttamente almeno!

Nello slang dei programmatori si dice quine un programma che produce il suo stesso listato (*) come output. E naturalmente sì, si chiama quine in onore di quel Willard van Orman Quine. Quindi, in fondo si ritorna sempre lì!

Ecco ad esempio un semplice quine in C:

char*f="char*f=%c%s%c;main() {printf(f,34,f,34,10);}%c"; main(){printf(f,34,f,34,10);}
Per vedere come funziona, su Linux copiate la linea su un file quine.c, usando un normale editor. Poi, compilate il file con
   gcc quine.c
Quindi, eseguite il file eseguibile ottenuto (a.out) su un terminale con
./a.out
Se siete su Windows, per vedere cosa viene fuori dovete avere un compilatore C/C++. Se non l'avete, scaricatelo da qui, e non fatevi spaventare dalla dicitura "beta". Dopo aver compilato, lanciate il file exe sempre da terminale.

In realtà, il quine di cui sopra è piuttosto banale, anche se non banalissimo da "inventare". Su questo sito troverete una intera collezione di quines nei principali linguaggi di programmazione.

Collegati ai quine ci sono i programmi C offuscati (**).


Il programma in figura (che potete trovare qui), stampa un frattale, ed ha la forma di un frattale!

Esiste ancora "The International Obfuscated C Code Contest (IOCCC)", una vera a propria gara a chi scrive il programma C più incredibile (nel senso che riesce a dare l'output più inaspettato). Dagli archivi del sito, tiro fuori questa fantastica realizzazione:
#define P(X)j=write(1,X,1)
#define C 39
int M[5000]={2},*u=M,N[5000],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,
*d=N,c,e,f,g,i,j,k,s;main(){for(M[i=C*R-1]=24;f|d>=b;){c=M[g=i];i=e;for(s=f=0;
s<4;s++)if((k=m[s]+g)>=0&&k=16!=M[k]>=16))a[f++]=s;if(f){f=M[e=m[s=a[rand()/
(1+2147483647/f)]]+g];j=j<<<(s+2)%4;}else e="d">b++?b[-1]:e;}P(" ");for(s=C;--s;P("_")
)P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))P("| "+(*u/4)%2);}
Sembra una accozzaglia casuale di caratteri, non è vero? Invece, non riuscirete mai a indovinare l'output di questo programma, a meno che non proviate a compilarlo ed ad eseguirlo!

L'ultimo programmino che vi propongo oggi:
#define P(X)j=write(1,X,1)
#define C 39
int M[5000]={2},*u=M,N[5000],R=22,a[4],l[]={0,-1,C-1,-1},m[]={1,-C,-1,C},*b=N,
*d=N,c,e,f,g,i,j,k,s;main(){for(M[i=C*R-1]=24;f|d>=b;){c=M[g=i];i=e;for(s=f=0;
s<4;s++)if((k=m[s]+g)>=0&&k=16!=M[k]>=16))a[f++
]=s;if(f){f=M[e=m[s=a[rand()/(1+2147483647/f)]]+g];j=j<<<(s+2)%4;}else e=d>b++?b[-1]:e;}
P(" ");for(s=C;--s;P("_"))P(" ");for(;P("\n"),R--;P("|"))for(e=C;e--;P("_ "+(*u++/8)%2))
P("| "+(*u/4)%2);}
Se non lo fermate con control-C, prima o poi questo vi andrà in core dump...
ma vi darà in dono l'espansione decimale del numero di nepero!

Ce ne sono molti altri da riscoprire. Alcuni di essi purtroppo non compilano più: i compilatori moderni non permettono certe "porcate" come quelli di una volta! Io però mi diverto ancora come una volta a rivedere certe "oddities"!

(*) Mamma mia da quanto tempo non usavo la parola listato. Saranno 20 anni, per lo meno. Mi sento proprio un dinosauro!

(**) Quando ero più giovane (sigh), sul mio HD c'era un bella collezione di questi programmini strani. Poi, il tempo passa e io non ho più ritrovato quella preziosa directory. Stasera ero in vena di nostalgie, e il magico google ha fatto il resto.

domenica 22 novembre 2009

L'analisi

L'analisi di Leonardo mi sembra piuttosto centrata... :)

sabato 21 novembre 2009

La politica italiana sale di livello

Notevole scambio di battute.

Quanti processi?

(hat tip: il laicista)

Quanti sono i processi in cui Berlusconi è stato coinvolto come imputato? Secondo il "cattivissimo" D'Avanzo, sono "solo" 16:

Il numero dei processi di Berlusconi è un mistero misericordioso se si ascolta il presidente del consiglio. Dice il Cavaliere: "In assoluto [sono] il maggior perseguitato dalla magistratura in tutte le epoche, in tutta la storia degli uomini in tutto il mondo. [Sono stato] sottoposto a 106 processi, tutti finiti con assoluzioni e due prescrizioni" (10 ottobre 2009). Nello stesso giorno, Marina Berlusconi ridimensiona l'iperbole paterna: "Mio padre tra processi e indagini è stato chiamato in causa 26 volte. Ma a suo carico non c'è una sola, dico una sola, condanna. E se, come si dice, bastano tre indizi per fare una prova, non le sembra che 26 accuse cadute nel nulla siano la prova provata di una persecuzione?" (Corriere, 10 ottobre). Qualche giorno dopo, Paolo Bonaiuti, portavoce del premier, pompa il computo ancora più verso l'alto: "I processi contro Berlusconi sono 109" (Porta a porta, 15 ottobre). Lo rintuzza addirittura Bruno Vespa che avalla i numeri di Marina: "Non esageriamo, i processi sono 26".

Ventisei, centosei o centonove, e quante assoluzioni? In realtà, i processi affrontati dal Cavaliere come imputato sono sedici. Quattro sono ancora in corso: corruzione in atti giudiziari per l'affare Mills; istigazione alla corruzione di un paio di senatori (la procura di Roma ha chiesto l'archiviazione); fondi neri per i diritti tv Mediaset (in dibattimento a Milano); appropriazione indebita nell'affare Mediatrade (il pm si prepara a chiudere le indagini).

Nei dodici processi già conclusi, in soltanto tre casi le sentenze sono state di assoluzione. In un'occasione con formula piena per l'affare "Sme-Ariosto/1" (la corruzione dei giudici di Roma). Due volte con la formula dubitativa del comma 2 dell'art. 530 del Codice di procedura penale che assorbe la vecchia insufficienza di prove: i fondi neri "Medusa" e le tangenti alla Guardia di Finanza, dove il Cavaliere è stato condannato in primo grado per corruzione; dichiarato colpevole ma prescritto in appello grazie alle attenuanti generiche; assolto in Cassazione per "insufficienza probatoria". Riformato e depenalizzato il falso in bilancio dal governo Berlusconi, l'imputato Berlusconi viene assolto in due processi (All Iberian/2 e Sme-Ariosto/2) perché "il fatto non è più previsto dalla legge come reato". Due amnistie estinguono il reato e cancellano la condanna inflittagli per falsa testimonianza (aveva truccato le date della sua iscrizione alla P2) e per falso in bilancio (i terreni di Macherio). Per cinque volte è salvo con le "attenuanti generiche" che (attenzione) si assegnano a chi è ritenuto responsabile del reato. Per di più le "attenuanti generiche" gli consentono di beneficiare, in tre casi, della prescrizione dimezzata che si era fabbricato come capo del governo: "All Iberian/1" (finanziamento illecito a Craxi); "caso Lentini"; "bilanci Fininvest 1988-'92"; "fondi neri nel consolidato Fininvest" (1500 miliardi); Mondadori (l'avvocato di Berlusconi, Cesare Previti, "compra" il giudice Metta, entrambi sono condannati).

È vero, l'inventario annoia ma qualcosa ci racconta. Ci spiega che senza amnistie, riforme del codice (falso in bilancio) e della procedura (prescrizione) affatturate dal suo governo, Berlusconi sarebbe considerato un "delinquente abituale". Anche perché, se non avesse corrotto un testimone (David Mills, già condannato in appello, lo protegge dalla condanna in due processi), non avrebbe potuto godere delle "attenuanti generiche" che lo hanno reso "meritevole" della prescrizione che egli stesso, da presidente del consiglio, s'è riscritto e accorciato.
Come si può discutere serenamente in parlamento di una "riforma" della giustizia che mira ad accorciare ulteriormente i tempi di prescrizione, mettendo davanti al pubblico argomenti pretestuosi come "ho subito 106 processi". Da 16 a 106 c'è un ordine di grandezza, uno zero di troppo. Se anche avesse ragione Marina Berlusconi (26), saremmo ancora fuori da ogni ragionevolezza (106!). Possibile che Berlusconi non sappia a quanti processi è stato sottoposto? No, non è possibile. Quindi, Berlusconi mente. Come sempre.

Anche scordandosi di tutto il resto, solo per questa dichiarazione mendace (106!), l'elettore medio dovrebbe aprire una volta per tutte gli occhi davanti al "fenomeno" Berlusconi. Ma l'elettore medio ha la possibilità di informarsi sui dati? Ancora l'altra sera Vespa presentava Silvio Berlusconi a "Otto e mezzo" come un perseguitato dai giudici comunisti. E così tutti i corifei del capo, tutti i suoi giornali, tutti i suoi giornalisti, tutti i cosidetti "terzisti" che ormai hanno abbracciato questa tesi, tutti i suoi elettori appassionati. Berlusconi un perseguitato, anzi il più grande perseguitato della storia. Quindi, anche questa scandalosa proposta di legge sarebbe in realtà colpa dei giudici comunisti, che insistendo nella persecuzione costringono la maggioranza a difendere il capo con questi mezzi estremi. E peggio per noi che questa legge subiremo, come tutte quelle precedenti.

Davvero Berlusconi è un perseguitato? Allora perché mentire così spudoratamente sul numero dei processi subiti? Perché?

venerdì 20 novembre 2009

Contrordine

Così come ho linkato questo post, non posso che linkare il successivo post "contrordine bancari" (o compagni, o camerati, a piacer vostro).

giovedì 19 novembre 2009

Ragionamenti contorti

Mediaset ha presentato un esposto all'Antitrust contro Sky per concorrenza sleale. Un'azienda abituata da parecchi anni a non avere concorrenza, al primo concorrente serio fa un'esposto, perché:

Il figlio del premier si spinge però più in là nella descrizione dello stato dei rapporti tra i due grandi gruppi: tra Mediaset e Sky, ha detto, "la concorrenza andrebbe bene, ma purtroppo siamo quasi alla guerra".

"Sky - ha detto Berlusconi rispondendo alle domande dei cronisti - ha proposto un'iniziativa che secondo noi è anticoncorrenziale: quindi riteniamo l'esposto all'Antitrust giusto, addirittura doveroso, per tutelare gli interessi di Mediaset, ma anche dei consumatori finali, visto che con la chiavetta Sky offrirà solo un'offerta parziale del digitale terrestre". "La digital key - ha aggiunto il consigliere di amministrazione Mediaset Gina Nieri - è un'ulteriore verticalizzazione della loro piattaforma: è il tentativo di mantenere nel mondo satellitare con lo stesso telecomando anche coloro che vogliono vedere il digitale terrestre. Dunque non è un elemento di libertà, ma di mantenimento dei clienti dentro la propria piattaforma, per di più senza permettere loro di avere l'interattività né l'offerta a pagamento del digitale terrestre."
Devo essere io che sono stupido, perché non ci arrivo. Il ragionamento della dott.ssa Gina Nieri mi sembra uno di quei ragionamenti senza capo nè coda. Cioè, non capisco proprio come una chiavetta USB possa limitare la libertà dei consumatori: invece di comprarsi due apparecchi (decoder Sky e decode del digitale terrestre) i clienti possono comprarsene solo uno dotato di una semplice chiavetta, ma nessuno gli vieta di comprarsene due. Sky non impedisce ai propri clienti di comprarsi anche l'altra piattaforma. Dov'è la limitazione della concorrenza? Sarò maligno: forse che le chiavette non godono del sussidio statale?

Eppure, Piersilvio ha detto che lo fa per noi consumatori! Si sacrifica per la nostra libertà! E io che non lo capisco! Sono proprio un comunista ingrato.

(direi che ha imparato bene la lezione dal padre, non credete?)

Che paese siamo

Mamma mia che depressione che mi prende a leggere queste notizie.

mercoledì 18 novembre 2009

Non si può mai stare tranquilli

(Post aggiornato dopo la pubblicazione)

Ogni anno di questi tempi, c'è la finanziaria da approvare. Ed ogni anno succedono cose poco chiare.

Spero che ci spieghino presto che significa questo emendamento, anche per non vanificare la buona immagine che si sono recentemente guadagnati arrestando personaggi noti e meno noti.

Aggiornamento: Destralab ci spiega meglio come funziona l'emendamento. Non sono un tecnico, ma mi fido!

sabato 14 novembre 2009

Tenure Track

Ricercatori a Tempo Determinato

Uno dei punti più controversi della riforma Gelmini è l'abolizione della figura del ricercatore a tempo determinato, come lo conosciamo oggi.

L'ordinamento dell'università prevede tre scalini: ricercatore, professore associato, professore ordinario, in ordine di importanza.

A ogni gradino si accede per concorso. Se uno vince il concorso, e gli viene offerto un posto, allora rimane in prova per 3 anni. Dopo 3 anni, deve fare una relazione che viene valutata da una commissione ad hoc nominata dal ministero, e se la commissione è d'accordo, finalmente diventa di ruolo. In realtà, nel momento stesso in cui ci viene offerto il posto, si diventa un dipendenti pubblici a tempo indeterminato. Se anche la commissione esprimesse parere negativo per ben due volte, non si potrà essere licenziati, ma solo destinati ad altri incarichi (ad esempio impiegati nell'amministrazione, o tecnici di laboratorio), a stipendio minore ovviamente.

Questa la situazione attuale.

Da tempo si parla di abolire la figura del ricercatore as it is. Cioè, di ridurre a 2 gli scalini, e sostituire il primo scalino con contratti a tempo determinato (d'ora in poi li chiamerò RTD). Ne cominciò a parlare la Moratti per prima, e con la solita apparente solerzia dei governi berlusconiani, sembrava cosa già fatta. Quindi, nel 2000, prima che entrasse in vigore la riforma, la Scuola Sant'Anna disse basta con i ricercatori a tempo indeterminato. Che poi, se non sono buoni, rimangono ricercatori a vita, e noi ce li dobbiamo tenere comunque. Siamo una scuola d'eccellenza, dobbiamo anticipare i tempi! Quindi, solo contratti di RTD.

Il primo contratto a tempo determinato in Italia (forse)

Giusto giusto, nel 2000 io e alcuni colleghi finivamo il perfezionamento (un equivalente del dottorato), e ci proposero un posto di RTD. Quindi, noi siamo probabilmente stati i primi ricercatori precari della storia dell'università italiana. Peccato che la figura ministeriale non esistesse ancora. "Questione di poco", diceva Masia dal ministero (o qualcun'altro, non ricordo bene). Quindi, la Scuola Sant'Anna fece un concorso, per quanto possibile simile a quello di un ricercatore "vero", concorso in cui fui l'unico candidato (chissà perché). Alla vincita, mi offrirono un contratto 4+4 allo stessa progressione del TI. L'idea era: "8 anni dovrebbero essere più che sufficienti per vincere un concorso da associato da qualche parte, se sei bravo. Se no, finisce lì e amici come prima."

Io sono stato molto fortunato. Ho trovato un concorso non bloccato (ciò in cui non fossero tutti candidati locali ) all'Università di Padova. Ho vinto l'idoneità (meritatamente, credo, e anche il candidato locale, che poi locale non era, è molto in ganba). Quindi, dopo circa 5 anni di precariato, sono finalmente impiegato statale TI

Purtroppo, la Moratti fece la legge e mai i decreti attuativi, o qualcosa del genere. Insomma, per il MIUR ero un perfetto sconosciuto, all'Università di Pisa non volevano farmi fare i corsi, e tutt'ora non mi riconoscono l'anzianità di servizio per quegli anni. Ma questo è un'altro discorso.

Vita da precario

Come si vive da RTD? Secondo me, abbastanza bene, a parte un piccolo problemuccio. I primi 4 anni li passai a lavorare duro. A fare concorsi non ci pensavo nemmeno. Dopo il primo rinnovo, cominciai ad avere un minimo di preoccupazione. "E se non trovo un concorso libero?", mi dicevo.

Perché come sapete, i concorsi locali sono spessissimo (anzi, praticamente sempre) banditi per i candidati locali. Se c'è a bando un posto, si fanno 2 idonei: uno viene chiamato per il posto, l'altro è libero di essere chiamato da altre università. In questa maniera, da un lato l'università locale si parava dal fatto che candidati "forti" potessero fare domanda e "disturbare" il candidato locale. Dall'altro, però, si dà un minimo di possibilità a chi merita di diventare almeno idoneo.

La mia preoccupazione era che, per quanto duro lavorassi, non sarei riuscito alla fine a vincere l'agognato concorso, e non per colpa mia. Era un timore fondato? Di quelli che sono diventati RTD alla Scuola Sant'Anna nel 2000-2001, alcuni molto in gamba non ce l'hanno fatta, e adesso sono all'estero, oppure con contratti di collaborazione, o a metà con altri istituti. Non era scontato vincere il posto in 8 anni, ve lo assicuro.

Insomma, secondo me i giovani non devono aver "paura" del contratto a tempo determinato per se. Il problema, infatti, sta nella prospettiva.

Da un lato, io ricercatore accetto la scommessa e faccio il RTD. Ma voi, università e ministero, mi dovete garantire che, se tutto va bene, alla fine del percorso c'è la luce. Che vuol dire, se tutto va bene? Se ho fatto abbastanza pubblicazioni, se sono stato in grado di coordinare gruppi di ricerca, se sono un bravo insegnante, ecc. Valutatemi, seriamente, ma valutatemi, perdiana, e datemi una possibilità!

La situazione USA

In USA, questo concetto si chiama tenure track. La tenure, secondo wikipedia, è la seguente cosa:

Tenure commonly refers to life tenure in a job and specifically to a senior academic's contractual right not to have their position terminated without just cause.
In pratica, la tenure è il posto a tempo indeterminato, più o meno. L'università non può licenziare un tenure professor, senza una giusta causa, e ci sono pesanti restrizioni a licenziare in caso di problemi di bilancio.

La tenure track la spiego con l'esempio del mio collega: l'università dell'Illinois ha bisogno di rinforzare il dipartimento di informatica, settore "embedded systems". Quindi, fa una "call for tenure track position" in quel settore. Chi vuole partecipare manda il curriculum e lettere di raccomandazione. L'università ne seleziona alcuni (2-3 di solito) e li invita per un paio di giorni (di solito a spese dell'Università). Ogni candidato deve dare un talk, parlare con tutti i componenti del dipartimento, ecc. Poi si fa un'offerta. Se il candidato accetta, entra in una track (cioè un binario) che dura alcuni anni. Sono anni molto duri, durante i quali il candidato viene di solito messo alla prova sotto tutti i punti di vista. Dopo un esame finale, se tutto va bene, il candidato diventa tenure. Se il candidato non ce la fa, il contratto termina. Di solito ce la fa, ma non è raro che il candidato rinunci spontaneamente dopo un po' di tempo.

Notate: se l'università dell'Illinois apre una "call for tenure track position", mette a budget da subito il costo del tenure per tutti gli anni successivi! La promessa viene sempre mantenuta!

La legge Gelmini

Anche in Italia si parla di tenure track. Però, qui l'idea è abbastanza diversa. I ricercatori, dopo aver vinto un concorso, prendono un contratto TD 3+3. Quindi, solo 6 anni e non 8. Va beh.

Poi, per diventare professori, devono vincere l'abilitazione nazionale. La Gelmini promette di fare un concorso di abilitazione con cadenza annuale, ma ho spiegato come secondo me sia impossibile. Si rischia quindi che i 6 anni passino senza che ci sia la possibilità di abilitarsi (anche perché i primi anni servono a farsi il curriculum).

Infine, l'abilitazione dura 4 anni, e se nessuna Università ti chiama, si resta senza lavoro e senza abilitazione.

Se tutto andasse bene, cioè:
  • se l'abilitazione fosse effettivamente annuale;
  • se ci fosse un mercato della ricerca (pubblica e privata) piuttosto ricco e dinamico;
non sarebbe poi un gran male questa riforma. In ogni caso, i due "se" che vi ho riportato sono devastanti!

Inoltre, questa non è una tenure track. Infatti, non c'è alcuna garanzia di diventare professori scritta da nessuna parte! E' solo un percorso più flessibile del precedente, che permette di fare un ricambio più veloce della classe dei ricercatori, evitando i "ricercatori a vita" (cioè ricercatori di 60 anni, che purtroppo ancora esistono).

Paradossalmente, il tenure track ci sarebbe già nell'università italiana, ed è la conferma doipo i 3 anni! Peccato che sia una buffonata, e che i casi di non conferma in ruolo in Italia si contino sulle dita di una sola mano. Perché? Non mi fate ripetere sempre le stesse cose.

Conclusioni

Quindi? La riforma è appena al principio, e bisogna agire più in profondità se si vuole arrivare da qualche parte. Ve lo dice uno che ci è già passato attraverso il "tenure track" de noantri.

venerdì 13 novembre 2009

La linea sulla sabbia

Mi unisco all'appello di NfA.

Se passa questa legge, è la fine dello stato di diritto in Italia.

Accellerare i processi è un fine sacrosanto. Ma questa legge non accellera i processi. Per fare una metafora, è come se la giustizia italiana corresse una gara di formula 1 con una cinquecento. Chiaramente arriva sempre tardissimo, quando non finisce la benzina prima (prescrizione). E' un bel problema, me ne rendo conto. E questo governo cosa propone? cambiare macchina, o almeno motore, spinterogeno, marmitta, qualche bullone? No! Propone di mettere meno benzina (per non sprecarla!).

Dalla relazione accompagnatoria del disegno di legge:

Peraltro, il processo penale, oltre ad essere irragionevolmente lungo, è anche in molti casi privo di reale sostanza, come dimostra il numero sempre maggiore di reati dichiarati estinti per prescrizione. Ciò significa che l’organizzazione giudiziaria occupa una parte delle proprie risorse per celebrare processi privi di reale utilità, generando sfiducia nella certezza della pena e indebolendo la capacità della norma penale di operare come un deterrente.

In tale contesto, si colloca il meccanismo di estinzione del processo, espressione di una moderna sensibilità giuridica e destinato ad attuare il principio della «durata ragionevole» nel processo penale.

Come è possibile scrivere queste cose senza coprirsi di ridicolo? Come è possibile che persone intelligenti (ce ne sarà pure qualcuna nel PdL) accettino questi scempi del nostro ordinamento giuridico?

E allora, meglio, mille volte meglio una legge costituzionale che renda SB immune e impunito per sempre!

Mi rivolgo a quelli che votano a destra (perché io più di tanto non posso fare, come ben si sa sono stato targato come un comunista): protestate, protestate, protestate!