btier is a Linux kernel module that creates an auto tiering block device. It can be used to aggregate various types of storage into a virtual block device. btier will automatically optimize data placement on the underlying devices according to a policy that can be set. The size of a btier device is equal to the combined size of all block devices that were assigned to it. Only a small amount of space is used to store the metadata of the device. A btier device can contain up to 16 physical devices or files. Next to the built-in data migration engine, btier also provides an user space API the allows user to write custom data migration engines. Python, C, and bash example code is included. btier can use raw devices or (sparse) files (even hard mounted NFS) as part of the tiering device. The last tier can therefore reside on a deduplicating or compressing filesystem when needed. The devices that are used with btier should be redundant, since a btier device will lose all data when one of the underlying devices is lost. The performance of btier is determined by the devices that are used for the first tier. It is known to scale up to 130k IOPS with a RAID1 that consisted of modern PCIe SSD's. btier has support for SSD trim / discard, and can be configured in writeback or writethrough mode.
Aspose.Tasks is a non-graphical Java Project management component which enables Java applications to read, write, and manage Project documents without utilizing MS Project. It supports reading MS Project Template (MPT) files and allows exporting project data to the HTML, BMP, PNG, JPEG, PDF, TIFF, XPS, XAML, and SVG formats. It reads and writes MS Project documents in both MPP and XML formats. Developers can read and change tasks, recurring tasks, resources, resource assignments, relations, and calendars.
Harry is a small tool for comparing strings and measuring their similarity. It implements several common distance and kernel functions for strings, as well as some exotic similarity measures. For example, Harry supports the Levenshtein (edit) distance, the Jaro-Winkler distance, and the compression distance. Harry is implemented using OpenMP, so its runtime scales linearly with the number of available CPU cores. Efficient implementations and effective caching speed comparison of strings.