Home Projects Publications Links
Current Research >>
Cancer Systems Biology

Previous Projects >>

A porting of MPIrad onto MUSE (a multiscale, multiphysics software environment for modeling astrophysical systems), is able to compute the radiative transfer of a quite large set of stars in a galaxy, assuming a fixed distribution of gas or dust - publication. (June 2008).

Monte Carlo radiative transfer distributed over MPI. A software for the simulation of radiation transfer in gas-embedded astrophysical systems. (December 2007).

A 3D visualisation software for the ANTARES and NEMO deep-sea neutrino telescopes data: presentation, demo movies of the interface, an event, the 1D trigger and Antares video. (March 2006 - September 2008).

An electrostatic field simulator developed with Altivec. It implements a parallel/distributed version of the Jacobi iterative method for diffusion over PVM (Parallel Virtual Mathine). Besides the fields management, it permits to use different kinds of visualisations, alpha-blending and computation scheduling of the fields using a client-server model. VecMetaFrame provides also an authentication protocol based on MySQL, real-time compression and a lot of interactive-oriented features. Everything behind a Motif-based GUI. (May 2003).

A porting of a lightweight implementation of VecMetaFrame on top of the Globus grid toolkit. It brings the concept of the electrostatic field computation and visualisation onto a grid infrastructure using the semantic of the grid services. (November 2006).

A minimal GPGPU (General-Purpose computation on GPU) implementation of VecMetaFrame written using OpenGL Shading Language. The performance is fairly improved with respect to the classical CPU approach by using a GLSL fragment shader as computational kernel and a 32 bit floating point texture + framebuffer object (EXT_framebuffer_object) as data structure. (November 2006).

A 3D graphics engine based on OpenGL with a wide set of 3D objects and primitives. It is able to load 3D maps, polygonal meshes, OBJ models, NURBS and trimmed NURBS surfaces. It provides also a certain number of 3D features like texturing, alpha-blending, shadows, reflections and some complex rendering technics besides a little physical engine. The entire project has been created to be an environment simulator rather then a gaming framework. Entirely written in C++. (September 2005).

An object oriented framework for the simulation of Scale-Free networks. The framework is base on ARTIS: a middleware for distributed discrete-events simulation developed at the University of Bologna (report). (December 2005).

An OSI-model session layer on top of TCP/IP for highly reliable connections, realised in collaboration with ZioKernel. It makes possible to manage at the same time standard TCP and session-level connections in a totally transparent way. These reliable connections can recognise an hypothetical link crash and recovery it, without the application to become aware of it. This middleware also provides a real-time data compression and traffic-shaping. Everything is rigorously thread-safe. (March 2005).

A code generator based on the ASM framework [asm.objectweb.org] for a large set of refactoring operations (www.refactoring.com) directly on Java bytecode. Gilgamesh structure is developed bearing in mind modularisation and extensibility in order to simplify the addition of a new refactoring operation. The development of this software by me, Render and Ziokernel, brought to the creation of a new revolutionary group within the MeTALAbS: the Brigades for the Mesopotamic Refoundation (a small yet brave group of people who fight for the reaffirmation of the cuneiform writing system as a standard for scientific divulgation). (July 2005).

Code >>

A little set of programs for pricing financial derivatives focused on digital options. It mainly investigates finite difference methods for option pricing. An explicit finite difference scheme and the Crank-Nicolson scheme are the algorithms considered. Moreover, an example of binomial-tree method and one of Monte Carlo method are also studied. The whole study involves as well a detailed error analysis of Crank-Nicolson and some experiments of coordinate transformations for solving PDEs (Partial Differencial Equations) over non-uniform grids (report). (June 2007).

A program that tries to find 3'-ended sequences among the ESTs (Expressed Sequence Tag) of the human genome available from Genbank. The idea is to score possible 3'-ended sequences according to the presence of a poly-adenylation tail and/or a poly-adenylation signal (report). (May 2007).

Two-timensional simulation of aggregation growth of objects. This behavior is present in many natural phenomena such as mineral deposition, bacteria colonies and corals growth. The beauty of these fractal shapes is obtained using Diffusion Limited Aggregation. The underline diffusion process is computed using the SOR (Successive Over Relaxation) algorithm distributed over MPI. (March 2007).

Some implementations of numerical solvers for both time-dependent and time-independent diffusion equations (Jacobi, Gauss-Seidel and SOR methods). Everything is distributed/parallelised using MPI. (March 2007).

A parallel implementation of the numerical solution for the one-dimensional vibrating string described by the 1-dimensional wave equation. The parallelisation is made via MPI. (February 2007).

A little fluid dynamic simulation program based on Lattice-Gas Automata. It just permits to perform few little experiments with fluid dynamics: miscibility, diffusion, conservation of momentum and laminar/turbolent fluid state. Using the FHP2 model the macroscopical behavior is proved to converge to the Navier-Stokes equations. (October 2006).

Java applet

A simulator for multiprocessor cache coherence protocols based on snooping. It simulates SMP systems with multiple caches and shared main memory. The aim is to measure performances in terms of cache missing of data coherence techniques such as valid/invalid and MESI protocols. Parameters like line size, associativity and memory latency are tunable while requests can be loaded from tracefiles (Computer Systems Architecture research group, Universiteit van Amsterdam - http://www.science.uva.nl/research/csa/); the software is written using the SystemC framework (report). (December 2006).

Some little visualization programs based on VTK. The goal was to produce visualizations of lattice-Boltzmann fluid-dynamic simulations of basically 3 datasets: SMRX (a dense fluid mixer), a tornado airflow and a dynamic carotid bifurcation blood flow. The techniques used are the classical used for fluid visualisation: glyphs, hedgehogs, streamlines and streamtubes. Apart from the tornado dataset, the other datasets are owned by the Section Computational Science of the University of Amsterdam and are available on request contacting Robert Belleman (R_dot_G_dot_Belleman_at_uva_dot_nl). (October 2006).

A polygonal mesh visualiser (.m format). The little rendering pipeline it uses is entirely written in-software with the X-Window primitives and it implements just the wireframe and the depth-cuing visualisations.
The aim of this piece of code was to have a little testing platform for 3D computer graphics algorithms. Some meshes here. (January 2005).

MetaTESLA : [u]Pulsar

MetaTESLA is a project of a Tesla Coil which is going on at the MeTALAbS since many years, after a lot of attempts, some working prototypes and also many failures we developed the first module: [u]Pulsar, consisting in a simple digital oscillator 0-300KHz realized with PIC 16F877 and 16F84 and a power final stage. The project is abandoned. (June 2004).

Just the n^th, somehow always interesting implementation of the Conway's Game of Life with periodic boundary conditions. The initial pattern is the famous F-pentomino (called R-pentomino by Conway), which creates many still-life object, oscillators and gliders before to stabilise at the 1103rd generation. (March 2003).

Java applet

A backdoor for SPARC64 architectures written in - as relocatable as possible - assembly. It just binds a backdoor shell to a specific port. It was useful for some code-injection tests on ELF and some other shellcoding experiments.
The code is SPARCv9 but it can be used also on 32bit machines. (March 2005).

Banal steganography software used to hide short strings or data within text using common symbols. It was realised only for demonstrative purpose, during an in-depth study regarding steganography performed with Render: Steganografia - origini, tecniche e prospettive. (February 2005).

A 3D rendering of a paradoxical environment using NURBS and realized using the software XCModel. (September 2005).

A little program for M/M/n (queueing systems) simulation.
It simulates a Poisson process with exponential arrives and exponential service times. (April 2005).

A simple program that extracts jpeg images from any binary container that encapsulates them among other data. Born from a little reverse engineering experiment made on a unknown jpeg container I had to deal with. (October 2005).

Decerebrated software for distributed polynomial integration. The evaluation is implemented with the Horner method and integration with the Simpson method. Despite the simplicity of the problem, this implementation still soffers from an heavy numeric cancellation.
The computation is distributed over a Parallel Virtual Machine. (November 2004).

A simple Java Virtual Machine for MIPS32 architectures developed with Render. (February 2003).

A library of awful graphical widgets written in Java.
This unuseful software was written due to our devotion to the holy Doge who indirectly forced us to develop it for obscure reasons. (June 2003).

An extremely simplified 8 bit CPU with 7 instructions realized with Render with the logic gates simulation software Retrò (which I link here cause it is no longer available around). (February 2003).

A Sisimizi videogame that permits to play against the computer using a simple implementation of the Alpha-Beta pruning artificial intelligence algorithm. Written in Scheme. (January 2003).

A simple intrusion detection system written in shell scripting and AWK. It can be used to perform a more-or-less trivial checking of the executables in the system. (March 2004).

A little data-acquisition program for a net of sensors over RS485 that I have written a lot of years ago during high school. I publish this stuff only for historical reasons. (April 2002).