Programming in Rust

WebGraph is a Rust port of the WebGraph framework sporting faster operations and many new features.

The DSI Progess Logger is a tunable time-based progress logger to log progress information about long-running activities.

ε-serde is an ε-copy (de)serialization framework that makes memory-mapping of large data structure easy.

The DSI Bitstreams are a Rust implementation of read/write bit streams supporting several types of instantaneous codes.

sux is a Rust implementation of succinct and compressed data structures.

Lender is a lending-iterator trait based on higher-rank trait bounds, with full std::iter::Iterator functionality.

mem_dbg inspects recursively the memory usage and layout of a value.

Sync Cells and Slices are accessible from multiple threads.

OpenMP-style reducers make it easy accumulating data locally by thread and then merge.

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.

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

Programming in C

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.

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

Programming in C++

sux provides implementations of succinct data structure in C++.

Programming in Python

I participated to the development of SciPy and NetworkX.

Programming in TEX

A wrote a LaTEX class that generates CD covers.

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

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: