MyMediaLite is a lightweight, multi-purpose library of recommender system algorithms. It addresses the two most common scenarios in collaborative filtering: rating prediction (e.g. on a scale of 1 to 5 stars), and item prediction from implicit feedback (e.g. from clicks or purchase actions). It contains dozens of recommender engines, including state-of-the-art matrix factorization methods. It also supports real-time updates to the recommender engines, storing engines to disk and reloading them again, and several evaluation measures to compare the accuracy of different recommender system methods. Three command-line programs that offer most of the functionality contained in the library are included.
Username-Anarchy is a commandline tool for the generation of usernames based on the users' real names. This is useful for user account/password brute force guessing and username enumeration when usernames are based on the users’ names. By attempting a few weak passwords across a large set of user accounts, user account lockout thresholds can be avoided. Common aliases (or self-chosen usernames) from forums are also included. Features include a plugin architecture, format string-style username formats, and substitutions. When only a first initial and lastname is known (LinkedIn lists users like this), it will attempt all possible first names, common first and last names from various countries (from Familypedia and PublicProfiler), and an exhaustive list of first and lastnames from Facebook. This also includes usernames scraped from forums, ordered by popularity.
Ruote is a workflow engine. It's a runtime for long running business processes. Processes are explicitly defined and may be explicitly handled (start, pause, cancel, update). A process is started by handing a business process definition to the engine. A process definition is expressed in ruote’s own process definition language, which comes in three flavours: XML, a Ruby DSL, and Radial. A process definition describes the flow of work among participants. A ruote engine can simultaneously handle multiple process instances, created from one or more different process definitions. A process instance can be modified on the fly.
MightyString adds array functionality and other tools for Ruby strings, including matching, indexing, substitution, and deletion. MightyString::HTML.strip_html provides more ideal HTML-to-ASCII formatting output. This is an advanced block "filtering" module. It works very well, with extremely rare cases which fall through its fingers.
RubyTree is a simple to use general purpose tree data structure implementation in Ruby. It provides easy access methods for navigating the hierarchy, as well as for accessing the nodes. It also provides ability to marshal the entire tree structure. The library provides a generic tree as well as a binary tree implementation. It is available as a RubyGem or standard Tar/ZIP packages.