The "Sound of Sorting" is a demo program containing many integer sorting algorithms. The algorithms are visualized in real time and augmented with sound effects, which are based on the values being compared. Animation speed and sound sustain can be customized while the algorithm is running. The visualization also highlights the algorithm's internal workings, which makes the demo program very useful for teaching sorting algorithms in an undergraduate computer science course. The program also counts the number of comparisons done by an algorithm, which can then be compared to the analytically derived value. The demo is implemented using the cross-platform toolkits wxWidgets and SDL, and can be executed on Windows, Linux, and Mac.
The YB.ORM library aims to simplify writing C++ code that has to deal with SQL databases. The goal is to provide a convenient interface like SQLAlchemy (Python) or Hibernate (Java). The library itself is cross-platform and supports a variety of SQL dialects: SQLite3, MySQL, Postgres, Oracle, and Firebird. Integration with Boost, Qt4, and wxWidgets is built-in. In a typical usage scenario, you would describe your database schema and table relationships in a simple XML-based format, generate SQL code to populate database schema with tables, generate C++ classes, add application-specific logic to the classes, and use these classes in cooperation with the Session object to query objects from the database, create new or modify/delete existing objects, or link and unlink objects using relations. Simple serialization to XML is supported along with connection pooling.
Siren Renamer is a tool that renames, moves, and copies files using an expression. A lot of information associated with a file can be used, including name, extension, dates, and selection number. Other information is extracted from files according to their type: audio, video, image (standard and raw), EXIF, IPTC, Office document, PDF, ePub, HTML, and many others. Many different operations can be performed on character strings, complete directory trees can be processed, and images can be viewed. For example, to change a file name to uppercase with the mp3 extension, the expression can be '%ub.mp3'.
AnallogicA is an application that generates logical tables based on logical propositions. It is possible to compare inverse equivalence or logical values. Results can be saved in text files, CSV format, and an internal format. The program supports up to 15 different variables, which in combination would be more than 32000 possibilities. It shows the replacements done step-by-step during the analysis, a special function for students.