fax4CUPS is a very simple shell script that acts as a CUPS backend for a serial fax modem. Essentially, you print with lpr and the fax is sent. The nice thing is that you have CUPS around, and this means, for instance, that you can check whether your fax has been sent just using your favorite browser (as you would do for any other printer), even if the fax modem is really on a remote server. It supports efax, HylaFAX, mgetty-fax, and Capisuite.
webFonts4Linux is a shell scripts that automates the process of downloading and installing Microsoft's Web Core Fonts, a collection of high-quality True Type fonts designed for use with low resolutions. webFonts2Linux exists because although these Microsoft distributes these fonts for free, strong redistribution restrictions makes it impossible to distribute a tarball or package containing them.
ERW (Entities and Relationships on the Web) 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 description language for entity-relationship schemata. From the same description, you can also automatically obtain diagrams and documentation. ERW can be used for content management, in particular when the data is structured along complex relations.
fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists, and queues for Java with a small memory footprint and fast access and insertion. It also provides big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files.
ARSCIF is a powerful framework that makes it trivial to use asynchronous remote-script callback invocation (AJAX) techniques. It helps the developer by working out problems such as data and character encoding, concurrency control, browser implementations, and so on, allowing the creation of pages with sophisticated, dynamic features.
METAGRAPH is a small set of macros that help in drawing (un)directed graphs with METAPOST and the boxes package. It provides low-impact definitions that automatically produce (labelled) nodes/vertices and (labelled) edges/arcs that connect correctly boxed items. Moreover, circular boxes with fixed radius are available to produce more aesthetically pleasant graphs.
Archive4J is an archive engine for large document collections written in Java, i.e. a set of algorithmic tools and implementations that make it possible to build a direct index of a document collection. In particular, for each document some basic data can be recovered, such as the length of the document in words, the list of distinct terms appearing in the document, and the number of occurrences of each term in the document (the count). Goals include a very high compression rate and very fast random access. To obtain this result, Archive4J combines techniques typical of search engines with succinct data structures.
The LAW library is a set of classes that contains research code related to the study of large graphs and social networks, including several variants of PageRank, an implementation of the Layered Label Propagation algorithm, high-performance evaluation of Kendall's ?, and other miscellaneous utilities.
Re: Library partitioning
> Anything is better than the huge 15.3MB
> jar. Since we'll be using webstart to
> deploy our thin clients the extra 15MB
> is definately not an option ;-P.
However, you should look into AutoJar:
which is written exactly to solve your problem!
Re: Library partitioning
> Could you provide partitioned library in
> the future? I benchmarked the
Well, I understand the problem, but it is not that easy.
My current plans for 3.0 (beside a *fantastic* type-specific ArrayList library 8^) include changing the namespace to fastutil.int, fastutil.long etc. At that point I could make some separate jars. The problem is that then you must include ALL those jars in your path.
Maybe separate jars with an option to get a global jar is the best idea. Comments are welcome...