Programming in Java™

fastutilfastutil 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.

DSI utilitiesThe 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.

MG4JMG4J (Managing Gigabytes for Java) 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.

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

Programming on UN*X

neThe 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.

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

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

Programming in TEX

noTeXThe 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).

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

Programming on the web

ERWERW 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

METAGRAPHMy 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

AmigaYou 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.