WebGraph is a Rust port of
the WebGraph framework sporting faster
operations and many new features; webgraph-algo provides
graph algorithms, and webgraph-cli
a command-line interface.
The DSI Progress 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 structures 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.
value-traits
provides traits and implementations analogous to Rust slices, but using values
rather than references to query and set elements.
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.
no-break
is the analog of unwrap-infallible
for ControlFlow.
card-est-array
manages large arrays of cardinality estimators.
atomic-primitive
provide traits to write generic code on atomic types, complementing
num-primitive.
funcperm
provides constant-space functional permutations based on cycle walking.
cdflib is a
pure-Rust port of CDFLIB, the classical library of cumulative distribution functions of
common probability distributions.
For testing pseudorandom number generators, coll-birth implements
large-scale collision and birthday-spacings tests, modlin modular rank and
linear-complexity tests, and hwd our
test for Hamming-weight dependencies; rand-float collects techniques
to turn random bits into uniform floating-point numbers.
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 over more than twenty years in projects developed at the DSI (Dipartimento di Scienze dell'Informazione, i.e., 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; its big version handles graphs with more than 231 nodes.
Sux4J provides implementations of succinct data structures in Java.
MRG32k3a is a fast, branchless implementation based on 64-bit integers of Pierre L'Ecuyer's MRG32k3a pseudorandom number generator (also available in C).
BUbiNG is a high-performance, scalable, fault-tolerant and fully distributed web crawler.
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.
The C code of my pseudorandom number generators is available on the PRNG shootout page.
sux provides implementations of succinct data structures in C++.
I participated in the development of SciPy and NetworkX.
webgraph-py provides Python bindings for the Rust version of WebGraph, including an interface to the Software Heritage graph.
I 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).
You could be interested in retrieving some of my programs: