h1

Just discovered a “useful” WordPress feature…

giugno 20, 2008

… when you write a post, the pingback is automatically sent to all the links. This can lead to quite unexpected consequences… 

h1

Aggiornamento sulla tesi

giugno 19, 2008

Passata la prima settimana qui a Berkeley, aggiornamento sulla situazione.

Non ho ancora avuto occasione di uscire una sera, ed apprezzare la vita notturna di Berlekey (suppongo piuttosto povera in questo periodo, visto che molti studenti sono tornati a casa). La mattina alla sede di Oakland di Ask.com (bell’ufficio, non c’è che dire), e il pomeriggio in dipartimento (no, qui non c’è l’aula studenti, spiacente). Insomma, non molto diverso da Pisa, se escludiamo i 15 minuti di treno per Oakland.

Mi rimane il tardo pomeriggio, in cui vagabondo per campus e dintorni, cercando un posto nuovo dove cenare. Berkeley è un posto piacevole per passeggiare.

Finalmente la tesi ha preso una direzione positiva. O per lo meno, ha preso una direzione. Dopo le chiacchierate preliminari, e un po’ di sbattimento per preparazione iniziale su pseudocasualità, combinatoria additiva, teoremi di densità, lemmi di Szemeredi, il mio co-relatore se ne esce con un nuovo argomento che, ovviamente, non c’entra niente con quanto si era detto prima.

L’altro argomento era certamente di più ampio respiro, e probabilmente sarebbe anche piaciuto di più ai matematici puri che dovranno giudicarmi in commissione di laurea. Però non era chiaro cosa dovessi fare, e sicuramente non avrei cavato un ragno dal buco, o comunque non in tempi ragionevoli. Qui la direzione invece è stata precisa dall’inizio: implementare l’algoritmo, fare esperimenti, vedere se c’è qualcosa da dire sull’analisi teorica. Implementare? Non me lo sono fatto chiedere due volte 🙂 Ora chi lo dice a mia madre che non tratto più il teorema di Green-Tao? 

Risultato, un’implementazione è pronta (insieme a quelle di un altro paio di algoritmi, di cui uno è lo stato dell’arte) e i risultati preliminari sono promettenti. Non è la prima volta che il Python mi salva la vita. Mentre sono nella Bay Area considererò un pellegrinaggio da Guido Van Rossum.

Nel cercare librerie per risparmiarmi lavoro nell’implementazione sono rimasto esterrefatto dall’ecosistema di librerie scientifiche/matematiche che si è formato attorno a Python. Sembra che abbia catturato l’entusiasmo dei ricercatori (e come biasimarli?), e grazie alla semplicità di modularizzazione e interoperabilità ne sia uscito un ambiente completo. Come Matlab, ma su un vero linguaggio di programmazione. Librerie che meritano di essere menzionate:

  • SciPy: Semplicemente impressionante. Algebra lineare numerica, funzioni statistiche, e milioni di altre cose che non ho ancora avuto il tempo di guardare. Il tutto con una interfaccia pythonica. Insieme a MatPlotLib per i grafici rende Matlab solo un brutto ricordo.
  • NetworkX: Libreria di grafi che implementa qualsiasi algoritmo vi venga in mente, e qualsiasi costruzione (grafi particolari, casuali, prodotti…). Si interfaccia con SciPy (per esempio per la costruzione del laplaciano). Programmativamente non è un granchè (il modulo principale è un blobbone di funzioni, il grafo è un dizionario di dizionari), ma fa onestamente il suo lavoro.
  • CVXOPT: Ottimizzazione convessa, l’ho usato per risolvere il primale-duale di Semidefinite Programming per l’algoritmo di Goemans-Williamson. Non ci ho guardato a fondo, ma funziona ed è abbastanza veloce, considerando che gli algoritmi sono implementati in Python (ma usando le primitive BLAS. Si può interfacciare alla libreria DSDP ma devo impostare l’SDP in un modo diverso, ci sto lavorando). Secondo l’articolo del ’95 ci volevano intorno ai 4000 secondi per risolvere un grafo di 200 nodi. Con la mia pessima implementazione ci mette intorno ai 5 secondi sul mio MacBook Pro. Sembra che sia hardware che algoritmi siano migliorati… 🙂

Tornando alla tesi, qui ho conosciuto un paio di dottorandi che lavorano su problemi simili e si sono anche loro interessati al nuovo algoritmo. Chiacchierando con loro per un paio d’ore alla lavagna ho imparato di più che negli ultimi mesi (ma lo sapevate che gli autovettori del grafo di Cayley sono i caratteri della rappresentazione, e quindi nel caso abeliano la base di Fourier? La teoria delle rappresentazioni SERVE A QUALCOSA!)

Se fossi rimasto a Pisa probabilmente in questo momento sarei ancora a scambiare email (con round-trip medio di un giorno, visto il fuso orario) per capire l’argomento della tesi…

h1

MMDS 2008

giugno 19, 2008

I just discovered that on 25-28 June Stanford University will host MMDS 2008 (Workshop on Algorithms for Modern Massive Data Sets), and I’ll still be in California around these dates! Besides, I am still in time for registration.

The schedule looks very promising, some of the speakers are the maximum authorities of their respective fields, and I’ve read many of their papers. Hope this is a good chance to ask them some questions, which probably will rule me out from a possible career in their universities 🙂

Looking forward to be there!

h1

Language problem: workarounded

giugno 15, 2008

I found out that some posts I want to write are so trivial tht I can write them in english. This way both italians and non-italians can read them, and they will look more witty and profound to italians. Posts in italian will be categorized as “italian”, english ones as “english”, so that italian-impaired readers can filter out the garbage. Clever trick, isn’t it?

Important: My written english is awful (not as awful as my spoken english…), please feel free to comment about any possible stylistic/syntactic/grammatical error, above all if they are “italianisms”. Thanks.

h1

An advice

giugno 15, 2008

I am not sure whether it is obvious or not, but it took me some days to figure it out: When you are in a city where you want to be more than just a tourist, resist the temptation to use your iPod. Everything will be different…

h1

A new blog in town

giugno 15, 2008

Ci siamo, si va in scena (showtime, direbbe il modem ADSL). Rimandato troppo a lungo, questo testo rischia di essere il primo post del mio blog. Se lo state leggendo, è sopravvissuto al parto.

Non ricordo più da quanto bramo di tenere un blog. Un tempo mi piaceva scrivere, anche solo i temi a scuola. Ho perso l’abitudine, la mia scioltezza con l’italiano è crollata. Voglio riprendere. Dopo abortiti tentativi (di cui non incollo il link, trovateveli da soli), stavolta sono più motivato. Sono ottimista. Ne uscirà qualcosa di buono.

La motivazione è rinvigorita da una serie di circostanze di cui forse vi parlerò in futuro (e conto anche di fare un bel post sulla procrastinazione, leitmotiv della mia vita). Però vorrei menzionare due cause scatenanti:

  • Una lunga chat con Luca, che come sempre si è conclusa con un “cazzo, dovremmo aprire un blog e scriverci queste cose”. Sembra che anche lui si sia finalmente deciso.
  • La mia permanenza a Berkeley: anche se è meno di una settimana che sono qui, inspiegabilmente questa città mi ispira. Mi ispira molto. Mi fa sentire a mio agio. Un compito che la mia città natale ha largamente fallito e che Pisa ha mancato di poco.

Ma principalmente, un desiderio forte di uscire da questo stato di “sì, lo farò quando ne avrò voglia e quando sarà il momento”. Ultimamente sono riuscito a portare a termine cose che rimandavo da tempo (per esempio, ho un account Flickr!). Ma anche di questo parlerò nel mio post sulla procrastinazione.

Sfilo quindi il mio fido MacBook Pro dalla Second Skin rossa molto fancy, e mi siedo a un tavolino del “caffè Strada”, su Bancroft & College. Tranquilli, non mi sono già ghettizzato: qui i caffè e i ristoranti hanno nomi italiani, e i fast food messicani o asiatici. L’altra scelta era il “caffè Milano”…

A portata di mano, un caffè americano (mi sono addestrato ad apprezzare la birra, riuscirò anche con questo), e una torta al cioccolato che avrebbero fatto meglio a chiamare “torta al burro con cioccolato”, peccaminosamente buona. La radio trasmette la terza sonata di Chopin.

Sono pronto, veniamo agli aspetti pratici.

Nell’apertura di un blog, è necessario prendere decisioni importanti. Per un indeciso come me, questo significa lacrime e stridore di denti. Voglio condividere i principali dilemmi:

  • Cosa scriverci?
    Da tempo mi sono voluto convincere che la mia vita è noiosa, abbastanza da non avere mai niente da raccontare. Che questo sia vero o no, un blog mi permette di scrivere di tutto senza tediare il malcapitato di turno. Massima espressione della democrazia, se uno non vuole leggere un blog non lo legge, e siamo tutti contenti.Magari cose da dire le avrei anche, ma mi annoia terribilmente ripeterle dopo averle raccontate la prima volta. E per non escludere nessuno non le dico affatto…    

    Altra solita causa bloccante, la mia paura del giudizio altrui, la certezza che raccontando le mie storie e le mie opinioni sia più facile (del solito) etichettarmi come sfigato, ingenuo, banale, etc… Beh, amen, la mia autoanalisi l’ho fatta, un po’ di confronto non potrà fare male. Siete caldamente invitati a commentare.

    Quindi, dichiarazione programmatica: Il blog conterrà vita personale, nelle sue vittorie, sconfitte, lamentele e sfoggi, pensieri a caso, cose senza senso, roba da nerd (matematica e informatica), fotografie, elucubrazioni, seghe mentali, politica (poca), lavoro, studio, attacchi personali, insulti, idee poco promettenti, e psicologia e filosofia spicciole (limitate dalla mia
    scarsissima cultura in proposito).

  • La lingua
    Aah, punto dolente. Sono sempre più in contatto con non italiani. Mi dispiacerebbe precludere loro la comprensione delle mie filippiche. E ho bisogno di allenarmi a scrivere in inglese. Ma visto il programma del blog ho bisogno di una lingua di cui ho la completa padronanza, in tutte le sue sfumature. Gli argomenti sono troppo fragili e un uso improprio delle parole sarebbe fatale. Non escludo che in futuro il blog viri completamente verso l’inglese (magari traducendo i vecchi post), o faccia una versione bilingue, o faccia un po’ a caso (più probabile).
     
  • Il nome
    Faccio fatica a trovare nomi per le variabili quando programmo, immaginatevi inventarmi un nome catchy ma suggestivo, per un blog che, in un modo o nell’altro, mi rappresenta. E soprattutto, che non sia già preso. Potrei tagliare la testa al toro e andare su qualcosa di anonimo, tipo “lo spazio di OT”. Rispettare la tradizione ricorsiva dei nerd, tipo “QINAB: QINAB Is Not A Blog”. O aspettare un’idea geniale che non arriverà. Ci penso ancora per 5 minuti, via… UPDATE: dopo molti più minuti, sono giunto a “Stream of caffeiness”. Magari poi ve lo spiego. Vi piace?
     
  • La piattaforma
    Questa è per i nerd: WordPress o Blogspot, o hostato da qualche parte? Blogspot è Google, sono sicuro che sopravvivrebbe anche in caso di attacco termonucleare o nuova fine delle .com. WordPress, piattaforma aperta, ottima gestione del LaTeX, ma PHP, ARGH! Hostato e autogestito: ma chi me lo fa fare? Finchè posso scrivere testo e linkare le mie foto su flickr, fa il suo sporco lavoro. La monetina ha scelto WordPress.

Il dado è tratto, ho le risposte. Adesso è tutta in discesa.

Mi piacerebbe dire “grazie, cari lettori, per esservi scorsi tutto questo polpettone ed essere arrivati fin qui”. Ma so benissimo che avete barato, letto il primo paragrafo, skippato completamente la parte centrale e arrivati alla fine. Però così vi siete persi l’easter egg.