RufasGate is a combination of the Portal and Sokoban games. Using stargate terminology, there are Zero Point Modules (ZPMs) that power the portal guns, which in turn create the two ends of a temporary and short range wormhole, a shortcut through space-time, that allows obstacles to be bypassed. In order to empower the portal guns, all cylindrical ZPMs must be bumped onto their base receptacles. There are currently only four levels, and no way to save a game. RufasGate is also a testbed for learning/illustrating various modern OpenGL techniques including cubemaps, water reflections, sound, and glsl shader capabilities. For anyone planning to use SDL2, it illustrates key-mapping, to get improved keyboard responsiveness from SDL. It supports laptops and high DPI Mac Retina displays.
RufasCube is a slider puzzle where there is a 3x3x3 arrangement of cubelets with the center one missing, allows sliding permutations. After a randomization, the goal is to restore the cube to its original configuration based on color and alphabetic hints. It is challenging, but not as difficult as a Rubik's cube. Here, diligence pays off. Also, incremental solution is possible - you can unscramble one slice at a time. When you finish, you can see the entire English alphabet appear on the 26 cubelets. It supports laptops and Mac Retina displays.
nut is nutrition software to record what you eat and analyze your meals for nutrient composition. The database included is the latest USDA Nutrient Database for Standard Reference. This database contains values for vitamins, minerals, fats, calories, protein, carbohydrates, fiber, etc., and includes the essential polyunsaturated fats, Omega-3 and Omega-6. Nutrient levels are expressed as a percentage of the Daily Value, the familiar standard of food labeling in the United States, but also can be fully customized. Foods can be added from recipes or food labels, and nutrient intake can be graphed. The program is completely menu-driven and there are no commands to learn.
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disk, CD-ROM, etc.) to another, trying to rescue the good parts first in case of read errors. GNU ddrescuelog is a tool that manipulates ddrescue logfiles, shows logfile contents, converts logfiles to/from other formats, compares logfiles, tests rescue status, and can delete a logfile if the rescue is done.
MUSCLE (Multi User Server Client Linking Environment) is an N-way messaging server and networking API. It includes client-side networking APIs for various languages, including C, C++, C#, Delphi, Java, and Python. MUSCLE lets programs communicate over a network via streams of serialized Message objects. The included server program ("muscled") lets its clients message each other and store information in its server-side hierarchical database. The database supports flexible queries via hierarchical wildcarding, and "live" updates via a subscription mechanism.
ChaiScript is an embedded scripting language designed from the ground up to directly target C++ and take advantage of modern C++ development techniques. Being a native C++ application, it has some advantages over existing embedded scripting languages. It uses a header-only approach, which makes it easy to integrate with existing projects. It maintains type safety between your C++ application and user scripts. It supports a variety of C++ techniques including callbacks, overloaded functions, class methods, and STL containers.