Home    About me    Publications    Blog    Photo gallery
Some other old good stuff

Fabio Ruini’s blog

Because Italians do it better! What the f**k? Ehm… the blogs, I mean… obviously! :-/

Archivio per Ottobre, 2008

Happy Halloween!

Anche per quest’anno ci siamo. La notte delle streghe e’ arrivata e a me ha portato in regalo un erroraccio nel mio simulatore legato alla gestione della memoria, che promette davvero di farmi vedere i sorci verdi…

Happy Halloween

Il nostro party di Halloween e’ in programma per domani. Stasera si va comunque a fare un giretto in citta’ dopo l’ufficio. Si prevedono orde di inglesi ubriachi e travestiti da qualunque cosa. Esattamente cio’ che accade ogni weekend, va beh…

Buon Halloween a tutti!

Come direbbero a Bologna: “Socmel, st’e’ famous!!!”

Inutile post auto-celebrativo quello odierno. Se non ne avete abbastanza di leggermi sul blog, vi annuncio che oggi potete pure trovarmi intervistato da Macity, portale d’informazione italiano dedicato al mondo Apple.

The word "tits" printed on a (female) t-shirt

Il link dove potete trovare il tutto e’ questo.

Vi lascio, che non voglio distogliervi dalla lettura… :)

Voglia di volare

Signore e signori. Dopo una litigata continua iniziata diverse settimane fa e progressivamente diminuita di intensita’ col passare dei giorni, sono lieto di annunciarvi che Irrlicht e’ stato (almeno in parte) domato. Questo uno screenshot del mio nuovo simulatore scattato questo pomeriggio, subito dopo aver scoperto l’ebbrezza delle classi ITerrainSceneNode ed ISkyBoxSceneNode.

Resta ovviamente ancora un gran lavoro da fare. Ma l’infrastruttura puo’ adesso ritenersi pronta. Quindi ora via con reti neurali e funzioni di movimento per i MAVs, cercando di replicare i primi risultati ottenuti con il modello 2D. Nel frattempo speriamo anche che gli sviluppatori dell’engine si decidano a sistemare un bug che ho segnalato sul loro forum e che mi impedisce di lavorare sul simulatore sul mio Air.

Un novello scrittore…

Nel giorno in cui gli AC/DC pubblicano il loro nuovo video in formato Excel, le borse sono sempre in altalena ed il mondo scopre, stupefatto e terrorizzato, che il Pentagono (nell’ambito del programma Future Combat Systems) ha lanciato una sorta di bando per la creazione di (cito dal New Scientist): “Multi-Robot Pursuit System” that will let packs of robots “search for and detect a non-cooperative human”, il sottoscritto, sempre perso tra Xgrid, Qt ed Irrlicht (ma con ottimi progressi su molti di questi fronti), si e’ d’improvviso ritrovato un’altra gatta da pelare.

Ancient book

Mettiamolo subito in chiaro. Trattasi di una gran bella gatta da pelare. Via e-mail, infatti, sono stato contattato da tale Samia Nefti-Meziani, della University of Salford, Manchester per produrre un contributo da pubblicare su un volume che il professore di cui sopra sta editando insieme a J.O. Gray. Il titolo del libro sara’ “Advances in Cognitive Systems” e sara’ pubblicato nel corso del 2009 dalla IET. La proposta e’ quantomeno interessante, anche alla luce del fatto che nel mio curriculum ancora manca la voce “book chapters” e questa sarebbe l’occasione giusta per colmare questo vuoto. Il problema e’ che il contributo che mi e’ stato chiesto non e’ relativo al lavoro sui MAVs che sto facendo per il mio PhD, ma a quello piu’ vecchio sviluppato a Roma con Parisi e presentato ad Alife XI lo scorso agosto. Al momento non siamo andati oltre ad un abstract, quindi si tratta di scrivere il tutto da zero, ivi compresa una bella panoramica della letteratura neuro. Nonche’ lanciare un sacco di nuovi esperimenti e sperare che diano i risultati voluti.

Entro venerdi’ dovro’ dare una risposta. La deadline per la sottomissione del mio capitoletto sara’ a grandi linee fine gennaio 2009. Penso di accettare. Ma ci sara’ davvero da lavorare di brutto per qualche mese…

Avanti cosi’…

Come ogni domenica che si rispetti, e’ la volta del campionato di poker alla UPSU. Dopo il pessimo esordio, seguito dai progressi della scorsa settimana, questa volta chiudo 16esimo (sui 91 giocatori al via), mettendo in cassa un bel po’ di punticini utili per la classifica e soprattutto dimostrando, almeno a me stesso, che probabilmente ho trovato la formula giusta per giocare tornei barbari come lo sono quelli di quest’anno. Conditio sine qua non, ovviamente, e’ che le carte almeno un minimo devono girare. Ed e’ esattamente cio’ che e’ accaduto oggi.

Primi due giri del tavolo del tutto inutili. Tento soltanto un limp con A9-o dallo SB quando tutti hanno foldato a me (i buii 25/50 non mi invogliano a provare un raise) e poi passo subito in modalita’ check/fold su un flop basso sul quale il BB punta il piatto. La svolta poco dopo. Io sono di BB, quando il giocatore UTG, fino a quel momento dimostratosi buon giocatore tight/aggressive, rilancia a 325 su buii 50/100. Tutti fold fino allo SB che decide di vedere. Io sono pronto per il fold quando guardo le mie carte e scopro con piacere due bei caproni neri. Mi limito al call, tenendo aperta una via di fuga in caso di asso al flop. Flop K47, ma dannatamente tutto di cuori. Lo SB punta 100 ed io, dopo rapida pensata, mando la vasca. Tutti e due i miei avversari hanno dato un’occhiata alle loro carte quando e’ caduto il flop, lasciandomi intendere che ben che vada sono in flush draw. Tutti e due foldano, dichiarando rispettivamente AQ per il giocatore UTG (con A di cuori) e JQ per lo SB, con la donna di cuori. Bonta’ ha voluto che nessuno dei due fosse in modalita’ gambling. Mano immediatamente successiva, mi ritrovo nello SB con due jacks. Un paio di limper prima di me, che opto per un raise standard di 3BB. Fold del BB e del primo limper, mentre il secondo chiama. Becco subito il terzo jack al flop, seguito da due carte basse e non colorate. Flop completamente scoordinato, l’ideale per estrarre valore dalla mia monster. Vado con una puntatina un po’ spaventata al flop: 250 su un piatto da 750. Insta-raise a 500 totali del mio avversario. Bingo. Fingo di pensarci su, faccio finta di foldare, poi in maniera dispiaciuta chiamo i 250 rimasti. Al turn cade una donna. Timido check da parte mia, vasca del mio avversario ed insta-call mio. Q2 per lui, che si trova nella spiacevole condizione di drawing dead. Arrivo cosi’ al break con uno stack che si aggira attorno alle 5k chips. Al rientro, dopo poche mani vengo spostato di tavolo. Esordisco male, andandomi ad intestardire un po’ troppo su una mano che gioco da BB con 23-o, su buii 200/400. Flop 77A, siamo in tre e tutti facciamo check. Al turn cade un due: check dello SB, bet 400 mio, fold dell’altro giocatore attivo e call dello SB. 8 al river, check del mio avversario ed io sparo un’altra mini-cartuccia da 400, ma vengo chiamata dal suo asso che si aggiudica la mano. Passano pero’ poche altre mani e mi ritrovo con pocket aces dal bottone. Raise pre-flop a 800 quasi committante di un giocatore da middle position, tutti fold a me che rilancio a 1,500 certo della sua chiamata. Destino vuole che il ragazzo invece foldi. Il nostro tavolo collassa e ne rimangono attivi soltanto due. Sono ormai, come piu’ di meta’ del tavolo, in modalita’ all-in or fold. Riesco a rubacchiare due volte i buii nei primi due giri di tavolo, poi perdo meta’ del mio stack con una chiamata che reputo comunque meravigliosa. Io sono di BB (buii a 600/1200): bet all-in di un corto da early position (circa 1,5k), raise all-in di un altro giocatore non troppo ben messo a 3,3k totali. Tutti fold a me che mi ritrovo in mano TJ-s. Nel piatto ci sono 6,600 chips e a me costa 2,200 chiamare. Odds di 3 a 1, che sono quantomeno invitanti, anche se il mio stack ammonta a circa 5,500 e perdere questa mano rischierebbe di farmi molto male. Ci penso un po’ su e mi dico che se non ci sono monster pair in giro, molto probabilmente la mia mano se la gioca benissimo. Il primo giocatore puo’ aver raisato con qualsiasi asso, mentre l’altro potrebbe averlo fatto con una coppietta o un bell’asso. Decido di rischiare e quando si girano le carte mi ritrovo esattamente davanti alla situazione che avevo sognato: A5-o per il primo giocatore, AK-o per il secondo. Anche se puo’ sembrare controintuitivo, il mio TJ-s e’ la mano migliore.

Al flop cadono subito due fiori, un K e un 4, accompagnati da un 9. TPTK per il mio avversario, ma io mi ritrovo con una valanga di out: nove fiori per il colore, piu’ tre donne per la scala. Purtroppo il colpaccio pero’ non si concretizza, con un altro K al turn ed un 5 al river. Riesco a riprendermi leggermente, rubando due buii mandando obbligatoriamente la vasca con 56-s, poi dopo un po’ di altalena faccio l’errore che mi costa la partita. Ho circa 5,500 chips in cassa, dopo aver gia’ postato 1,600 di BB. Un giocatore da early fa un min-raise, ma sbaglia l’importo, facendolo piu’ basso della puntata minima. Quando glielo si fa notare, ci mette un po’ di tempo per correggere l’ammontare e lo fa visibilmente contrariato. Tutti foldano a me, che senza guardare neppure le carte lo vascheggio. Peccato che mi chiami e mi mostri coppia di Q, contro la quale il mio misero J5-o non puo’ nulla. Bravo lui, che mi ha fregato in pieno. Niente da dire.

Posso resistere a tutto…

I can resist everything, except temptation (Oscar Wilde).

My brand new Nintendo Wii

Dynamics of Complex Systems

Su segnalazione del buon Marco Margarucci, vi rendo partecipi del fatto che all’indirizzo http://www.necsi.org/publications/dcs/index.html e’ disponibile, in PDF e completamente gratuito, il volume dal titolo Dynamics of Complex Systems, di Yaneer Bar-Yam.

Complex system

Trattasi di un volume sicuramente interessante da un punto di vista didattico, anche se un po’ datato. Qui di seguito l’abstract, per chi volesse capire un po’ meglio di cosa si tratti:

The study of complex systems in a unified framework has become recognized in recent years as a new scientific discipline, the ultimate in the interdisciplinary fields. Breaking down the barriers between physics, chemistry, and biology and the so-called soft sciences of psychology, sociology, economics and anthropology, this text explores the universal physical and mathematical principles that govern the emergence of complex systems from simple components.Dynamics of Complex Systems is the first text describing the modern unified study of complex systems. It is designed for upper-undergraduate/beginning graduate level students, and covers a broad range of applications in a broad array of disciplines. A central goal of this text is to develop models and modeling techniques that are useful when applied to all complex systems. This is done by adopting both analytic tools, including statistical mechanics and stochastic dynamics, and computer simulation techniques, such as cellular automata and Monte Carlo. In four sets of paired, self-contained chapters, Yaneer Bar-Yam discusses complex systems in the context of neural networks, protein folding, living organisms, and finally, human civilization itself. He explores fundamental questions about the structure, dynamics, evolution, development and quantitative complexity that apply to all complex systems. In the first chapter, mathematical foundations such as iterative maps and chaos, probability theory and random walks, thermodynamics, information and computation theory, fractals and scaling, are reviewed to enable the text to be read by students and researchers with a variety of backgrounds.

Per chi non amasse i PDF, il libro in versione cartacea e’ disponibile su Amazon al prezzo di $58.50.

Il bue che da’ del cornuto all’asino

Ingerenza, eh? Chissa’ dove l’hanno imparata questa parola. Commentate voi…

Pio XII

Direttamente da Il Messaggero:

Israele: «Inaccettabile beatificazione Pio XII
non denunciò olocausto». Vaticano: no a ingerenze

ROMA (23 ottobre) – Il progetto di beatificazione di papa Pio XII, accusato da molti di aver mantenuto il silenzio sull’olocausto durante il suo pontificato, continua a mantenere alta la tensione tra governo israeliano e Vaticano. «La beatificazione sarebbe inaccettabile», attacca il ministro israeliano per le Questioni sociali Yitzhak Herzog. «Queste affermazioni sono un’ingerenza su un affare interno della chiesa cattolica», è la replica di padre Paolo Molinari, il postulatore della causa di beatificazione di papa Pacelli.

Herzog: «Quel Papa mantenne silenzio e forse anche peggio». Herzog definisce «inaccettabile» il progetto di beatificazione di Pio XII in un’intervista al quotidiano Haaretz. «Durante l’intero periodo della Shoah nel Vaticano sapevano bene cosa succedeva in Europa – spiega il ministro -. Non c’è alcuna testimonianza di alcun passo concreto adottato dal Pontefice, così come avrebbe richiesto lo status della Santa Sede». Secondo Herzog «invece di agire secondo il principio biblico del “Non tacerai di fronte al sangue versato” quel Papa ha mantenuto il silenzio e forse anche peggio».

Padre Molinari: «No a ingerenze». La beatificazione di Pio XII è «un affare interno della chiesa cattolica e le affermazioni fatte da Herzog appaiono come un’ingerenza», replica padre Molinari. Il postulatore si dice stupito per l’affermazione di Herzog secondo la quale «non vi sarebbe alcuna testimonianza di alcun passo concreto adottato dal Pontefice in difesa degli ebrei», e controbatte con prove e citazioni di segno contrario di «autorevoli esponenti del mondo ebraico» come Moshe Sharrett e Golda Meir, che «non lasciano dubbi sul ruolo positivo giocato da papa Pacelli durante il periodo nazista, di fronte ai quali la targa che lo denigra davanti al museo dello Yad Vashem di Gerusalemme si conferma come una dichiarata falsità». «La mancata fissazione della data di beatificazione di Pio XII da parte di papa Ratzinger può essere un indizio della sua volontà di soprassedere per non urtare certe false sensibilità, nella speranza di realizzare al più presto il suo desiderio di visitare Israele», conclude padre Paolo Molinari.

Habemus Grid (forse)

Ok, magari non si tratta di una grid composta da mille o piu’ di mille macchine come al Virginia Tech, ma diciamo che ora ci siamo piu’ vicini di prima. P-ARTS, acronimo per Plymouth Advanced Robots Training Suite, e’ finalmente in piedi. Solo in locale, per ora, visto che stiamo aspettando che i tecnici assegnino gli IP fissi alle varie macchine, ma ad ogni modo c’e’ e funziona. Nonostante qualche problemino (non relativo al deployment) con l’esecuzione da parte di Xgrid delle applicazioni sviluppate in Qt, che speriamo di poter risolvere al piu’ presto.

Nel frattempo, visto che Mac OS X server provvede un server web (come d’altronde anche la versione client) con tanto di Wiki pre-configurato, perche’ non farne uso? Ecco allora che ho buttato giu’ qualche riga per gli utenti che dovranno utilizzare P-ARTS.

How to submit a job to the grid

First of all, it is of fundamental importance to know that jobs should be submitted to the grid using shell scripts. In the simplest scenario possible, the script will just provide to run the executable generated by our software once. In most complicated scenarios, the script can also do additional stuff, as running multiple instances of the software passing them different input parameters. For more information about how to create a Bourne Shell script, have a look to the this link.

Once our script has been prepared, the syntax to be used for submitting a job to the controller is the following:

$ xgrid –h < controller’s IP > -p < password > –job submit < sh script > -in < directory where the script is located >

For example, if the Xgrid’s controller is identified by the IP address 192.168.1.1 (with password “password”), the script to run is called start_app.sh, and it is stored within the Release sub-directory of the current working directory, the command to use in order to submit the job is the following:

xgrid -h 192.168.1.1 -p password -job submit Release/start_app.sh -in Release

Pay attention on how the “/” character is used. When this symbol is present at the beginning of a path (and we are therefore referring to an absolute path), the xgrid command will not provide to copy the .sh file on the agent machines, assuming it is already present on them (and on the same location as well). This will often provoke a runtime error, since we don’t have first-hand control on the agent machines. Vice-versa, if we don’t use the “/” character (and we are therefore referring to a relative path) both the script and all the other files included in the directory specified after the –in parameter passed to the xgrid command will be copied on the agents.

How to check the status of a job

When we submit a job to the controller, we should receive a response from the controller similar to the following one (a part of course for the number):

{
jobIdentifier = 1869;
}

jobIdentifier is the ID of the job we have submitted. It is important to keep note of this number, since it is required in order to check the status of the job and, even more important, to retrieve the data generated by it.

The command:

$ xgrid –h < controller’s IP > -p < password > –job list

returns the list of all the jobs present on the grid, without caring about their status (they could be on queue, running, finished, suspended, etc.). The output produced by this command is something like:

{
jobList = (
1855
1868
1869
);
}

Once we know the ID of the job we are interested in seeing the status, we can obtain it running the command:

$ xgrid –h < controller’s IP > -p < password > –job attributes –id < jobID >

The typical output (generated in this case from the previous example) looks like:

{
jobAttributes = {
activeCPUPower = 0;
applicationIdentifier = “com.apple.xgrid.cli”;
dateNow = 2008-10-22 18:25:46 +0100;
dateStarted = 2008-10-22 18:06:23 +0100;
dateStopped = 2008-10-22 18:06:23 +0100;
dateSubmitted = 2008-10-22 18:06:23 +0100;
jobStatus = Finished;
name = “Release/start_app.sh”;
percentDone = 100;
taskCount = 1;
undoneTaskCount = 0;
};
}

The value of jobStatus is typically the parameter we are interested in. When our job is “Finished” we can proceed to collect the results it has generated.

How to retrieve the data generated by a job

When a job has finished, it is possible to retrieve all the data it has generated using the command:

$ xgrid -h < controller’s IP > -p < password > -job results -id < jobID > -out < local directory where to store the data >

This command will copy the entire working directory (inclusive of all its sub-folders) created on the agents during the execution of the job into the directory of the local machine specified after the parameter –out. Please consider that this directory has to be already existent when the command is run.

Always referring to the previous example, this command might look like this:

$ xgrid -h 192.168.1.1 -p password -job results -id 1869 -out /Users/Shared

If our program has created, for example, two text files and two sub-directories containing other two files each, the 6 files and the directories structure will be copied into the directory /Users/Shared of our machine (the machine from which the command above has been executed).

How to suspend/resume, stop/restart or delete a job

Once the job we have submitted to the grid has finished and we have collected all the generated data, it is important to remember that we need to delete the job from the controller. In order to accomplish this task, we use the xgrid command with the following syntax:

$ xgrid -h < controller’s IP > -p < password > -job delete -id < jobID >

Replacing the parameter delete with suspend, resume, stop or restart, it is possible to respectively suspend, resume, stop or restart a job present on the grid.

UFO sightings in the UK

Apprendo dalle pagine del Corriere che, sulla scorta del Freedom of Information Act , il governo inglese ha declassificato nella giornata di ieri nuovi documenti quantomeno divertenti da leggere.

UFO or cloud?

L’argomento trattato sono gli UFO. Trattasi in sostanza di report, redatti tra il 1986 ed il 1992, riguardanti il rilevamento di oggetti volanti non identificati. Citando dalla pagina dei National Archives:

These files contain reported sightings of Unidentified Flying Objects (UFOs) between 1986 and 1992. Highlights include the near collision of a passenger jet and UFO in Kent and the pilots of a US Air Force jet being ordered to shoot down a UFO over East Anglia.

This is the second batch of UFO files released to the National Archives by the Ministry of Defence – the first instalment was released in May 2008. They contain a wealth of information for anyone interested in the subject. UFO expert Dr David Clarke also provides a videocast guide to the information contained in the files.

Il tutto, pompato a dovere (giusto per mettere a tacere gli amanti delle teorie cospirative), puo’ essere trovato a questo link. Di sicuro un bel po’ di materiale da leggere obbligatoriamente per gli appassionati dell’argomento. Ed un piacevole diversivo per gli altri.

Pagina Successiva »