Zyan Communication Framework simplifies development of distributed applications. It works on Windows, Linux, Mac OS, and Android platforms via .NET or Mono runtimes. It features LINQ support for three-tier applications, full duplex TCP support, traffic, compression, and encryption, transparent support for events and EBC (event-based components), and Windows and LDAP authentication support.
Jabylon is extensible Web-based translation management software. It is meant primarily as a tool to help translators and developers manage and create translations for Java applications. It features tight integration into various source code management systems, a feature-rich Web editor, and a REST API to upload or download translations. It can also be used to offer your user community an easy way of contributing translations for new languages or suggest changes to existing translations.
OpenADK is a construction kit for embedded Linux. It creates Linux systems that are optimized for size and short bootup times. The toolchain supports many architectures (arm, m68k, mips, microblaze, ppc, sparc, superh, x86, and x86_64). It can build customized images for Qemu. Raspberry PI, Lemote Yeelong, and Sharp Zaurus devices are supported as a proof of concept. Approximately 685 source packages are available.
Global Paths Matching is an implementation of the global paths graph matching algorithm proposed by Maue and Sanders in "Engineering Algorithms for Approximate Weighted Matching" (WEA'07). Given a graph G=(V,E), a matching M is a set of edges without common vertices, i.e. the graph G=(V,M) has a degree of at most one. The algorithm scans the edges in order of decreasing weight (or rating), constructing a collection of paths and even length cycles. These paths initially contain no edges. While scanning the edges, the set is extended by successively adding applicable edges, which are those connecting two endpoints of different paths or two endpoints of an odd length path. Optimal solutions/matchings are computed for each path and cycle using dynamic programming.