mercoledì 11 febbraio 2009

Da grande non voglio fare il fisico computazionale

File:IEEE 754 Double Floating Point Format.svg

Questo commento qui non fa una piega ed è, guarda caso, quello che mi sta accadendo.

Volevo portare su Windows la libreria scientifica GNU, senza emulazioni Unix o POSIX, quindi senza usare Cygwin ma preferendovi MSYS/MinGW.

La GSL è scritta in puro ANSI C, quindi deve essere portabile come software nativo, in altre parole: niente DLL aggiuntive.

Purtroppo, al momento del make check il test dell’integrazione Monte Carlo fallisce, perdipiù con un errore di ~10-3, che è enorme se paragonato alla “doppia precisione” in uso nei calcoli.

Il problema è vecchio, ma ci si accorge subito che scompare se si compila senza ottimizzazione.

Ohibò.

Ho dato uno sguardo alla documentazione del compilatore per capire a quali singole opzioni corrispondesse il flag -O2. Le ho messe lì, tutte, ad una a una, per vedere quale generasse il problema, ma con mia sorpresa scopro che espandendo -O2 nella lunga lista di opzioni il problema non c’era più.

Ohibò.

Così scrivo alla lista della GSL; ma nessuno mi cagca.

Allora scrivo alla mailing list del compilatore. Con un po’ d’aiuto riesco a trarne un bug report appena decente. Vengo rimpallato dal tracker di un progetto al tracker dell’altro, e solo alla fine di una lunga discussione riesco a convincere Brian Gough a risolvere la cosa dal lato della libreria GSL.

domenica 8 febbraio 2009

Stato vegetativo permanente

Fra le righe di queste citazioni sul morire di fame e di sete sembra quasi di leggere che l’eutanasia vera e propria sarebbe stata un gesto di maggiore pietas che sospendere l’alimentazione artificiale.

Chi cita i testi sacri volendo apparire stringato e brillante finisce per fare un cattivo servizio persino alla propria causa: più sotto, augura la morte a un certo numero di persone, in coda ad un post che tratta perlopiù di calcio e di televisione.

A tutti coloro che vogliono trasformare l’esistenza di una persona in un’agonia senza fine vorrei invece augurare di vivere a lungo e in ottima salute, almeno per i prossimi centocinquanta anni: da qui ad allora inventeranno sicuramente una macchina in grado di far battere il loro cuore e persino di far fare loro la cacca per l’intera rimanente eternità.