Immutable Collections for Java is a library providing immutable/persistent collection classes for Java. While collections are immutable, they provide methods for adding and removing values by creating new modified copies of themselves. Each copy shares almost all of its structure with other copies, to minimize memory consumption. The library includes a singly-linked (cons/cddr style) list/stack, an integer tree-based indexed list, a 2-3 tree-based random access indexed list, a 2-3 tree-based map, a hash tree-based map, and hash- and tree-based sets. All collections provide immutable Cursor as well as standard Iterator classes for looping through all elements. A utility class provides functional style algorithmic processing of Cursors, including foldLeft, foldRight, collect, select, and reject. The 2-3 tree and integer tree classes are optimized for performance and can be used alongside java.util Collections when immutability is needed for safe data sharing.
PHP Text Diff Highlight class can find and view the difference between text strings. It takes two text strings and uses the diff algorithm to find the differences between them and return a list of changes to patch the original string to become the final string. The patch list shows what text should be added or removed to change one string into the other. The difference between the text strings may be computed in three modes: by character, by word, or by line. The class may also format the strings to view them as HTML, showing which characters are added and removed with special insertion and deletion styles. The example page works as a tool to interactively view the changes as the user changes the texts before and after the changes are applied.
sqlpp11 is an embedded domain-specific language which allows programming SQL very naturally in modern C++. It also enables the compiler to detect syntax errors, type errors, name errors, and even some semantic errors before they ever hit unit tests or production. Queries can be constructed at compile time or run time, offering varying levels of safety and flexibility.
php_mt_seed finds possible seeds given the very first PHP mt_rand() output after possible seeding with mt_srand(). With advanced invocation modes, php_mt_seed is also able to match multiple, non-first, and/or inexact mt_rand() outputs to possible seed values. php_mt_seed is written in C with optional SIMD intrinsics (SSE4.1/AVX, XOP, AVX2, MIC) and OpenMP. On a modern quad-core CPU, it is able to search the full 32-bit seed space in one minute (or in just seven seconds on Xeon Phi).
Stencil is a templating language for Java that makes layouts and template reuse a simple task. With support for macros, functions, and advanced expressions it's a truly useful language with a simple and elegant syntax. It has an advanced API and is suitable for use in standalone and server environments.