CPC (Continuation Passing C) is a programming language designed for writing concurrent systems. The CPC programmer manipulates very lightweight threads, choosing whether they should be cooperatively or preemptively scheduled at any given point; the CPC program is then processed by the CPC translator, which produces highly efficient event-loop code. This approach gives the best both worlds: the relative convenience of programming with threads, and the low memory usage of event-loop code. The semantics of CPC is defined as a source-to-source translation from CPC into plain C using a technique known as conversion into Continuation Passing Style. The current implementation of CPC has been used to write Hekate, a BitTorrent seeder designed to handle millions of simultaneous torrents and tens of thousands of simultaneously connected peers.
ZXTune is a set of portable cross-platform applications (GUI/CLI) intended to play chiptunes originally created for ZX Spectrum. It features advanced ripping possibilities that let you search for music in big data sets. Supported playback formats include AY, AS0, ASC, FTC, GTR, PSC, PSG, PSM, PT1, PT2, PT3, SQT, ST1, ST3, STC, STP, TXT, TurboSound, VTX, YM, CHI, DMM, DST, PDT, SQD, STR, TFC, TFD, and COP. Supported compressed formats include CHARPRES, CC3, CC4, CC4PLUS, DSQ, ESV, GAM, GAMPLUS, HRUM, HRUST1, HRUST2, LZH1, LZH2, LZS, MSP, PACK2, PCD61, PCD62, TLZ, TLZP, TRUSH. Supported archived/container formats include FDI, HOBETA, HRIP, LHA, RAW, SCL, TD0, TRD, ZXZIP, ZIP, RAR, SNA128, and Z80.
FMRD-Desktop is a GUI application that facilitates data entry into the Football Match Result Database (FMRD). The FMRD maintains match result data in order to support football (soccer) analytics research and development. These data include high-level match data (competitions, venues, and teams), personnel data (players, managers, and central referees), match lineups, and match events (goals, penalties, disciplinary incidents, substitutions).
libsockmux-glib is an implementation of the sockmux protocol, using GIO data types and using glib functions internally. The interface offered to applications is very simple and straightforward. sockmux specifies a simple way for muxing messages and data streams onto a single socket for network and local communication streams.