Programming in Java™

fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and priority queues with a small memory footprint and fast access and insertion; it also includes a fast I/O API for binary and text files.

The DSI utilities are a mish mash of classes accumulated during the last ten years in projects developed at the DSI (Dipartimento di Scienze dell'Informazione, e.g., Information Sciences Department) of the Università degli Studi di Milano.

MG4J is a free full-text search engine for large document collections written in Java.

WebGraph is a framework to study the web graph. It provides simple ways to manage very large graphs.

Sux4J provides implementations of succinct data structure in Java. Additional C/C++ implementations are available for benchmarking and in general for maximum speed.

LaMa4J is a set of Java classes that implement a number of lattices and lattice operations.

BUbiNG is a high-performance, scalable, fault-tolerant and fully distributed web crawler.

Programming on UN*X

The nice editor enjoyed a certain success between UN*X users who do not like the unfathomable vi or the enormous emacs. ne is easy to use for the beginner, but powerful and fully configurable for the wizard, and most sparing in its resource usage.

I wrote a simple script that acts as a fax backend for CUPS; essentially, it allows you to use lpr to send faxes.

lifekeeper is a simple utility that keeps connections alive through firewalls by faking some activity.

Programming in TEX

The noTEX BibTEX bibliography style is a hack that produces HTML/XHTML instead of TEX output. It is useful to generate web pages from BibTEX bibliographical databases (see, e.g., my publications).

My LaTEX CD cover class makes it possible to create CD covers in an open, editable format.

Programming on the web

ERW is an innovative system for handling complex databases using a web browser. It uses the most recent standards endorsed by the W3C to offer to the user a sophisticated environment, similar to a dedicated client. Moreover, the user interface is generated in a completely automatic way starting from a conceptual description of the database by means of an XML-based language for entity-relationship schemata.

Programming in METAPOST

My first try at a METAPOST package is METAGRAPH, a simple set of macros built on top of boxes for drawing (un)directed graphs.

Programming on the AMIGA

You could be interested in retrieving some of my programs. Here are some links to my most famous products:

You can retrieve many more AMIGA programs I wrote on Aminet.