Libconfig is a simple library for manipulating structured configuration
files. The file format is more compact and more readable than XML. And
unlike XML, it is type-aware, so it is not necessary to do string
parsing in application code.
Libconfig is very compact -- just 25K for the stripped C shared library
(one-fifth the size of the expat XML parser library) and 39K for the
stripped C++ shared library. This makes it well-suited for
memory-constrained systems like handheld devices.
The library includes bindings for both the C and C++ languages. It works
on POSIX-compliant UNIX systems (GNU/Linux, Mac OS X, Solaris, FreeBSD)
and Windows (2000, XP and later).
This module tries to make it easy to build Perl extensions that use
functions and typemaps provided by other perl extensions. This means
that a perl extension is treated like a shared library that provides
also a C and an XS interface besides the perl one. This works as long
as the base extension is loaded with the RTLD_GLOBAL flag (usually done
with a
sub dl_load_flags {0x01}
in the main .pm file) if you need to use functions defined in the
module.
appdirs is small Python module for determining appropriate platform-specific
dirs, e.g. a "user data dir". Those are typically platform-specific, for
instance, if running on Mac OS X, you should use:
~/Library/Application Support/<AppName>
On Linux (and other Unices) the dir, according to the XDG spec, is:
~/.local/share/<AppName>
appdirs will help the application to choose an appropriate:
- user data dir (user_data_dir)
- user config dir (user_config_dir)
- user cache dir (user_cache_dir)
- site data dir (site_data_dir)
- site config dir (site_config_dir)
- user log dir (user_log_dir)
PyInstaller is a program that converts (packages) Python programs into stand-
alone executables, under Windows, Mac OS X, and Unix-like operating systems.
Its main advantages over similar tools are that PyInstaller works with any
version of Python since 2.4, it builds smaller executables thanks to
transparent compression, it is fully multi-platform, and uses the OS support
to load the dynamic libraries, thus ensuring full compatibility.
The main goal of PyInstaller is to be compatible with third-party packages
out-of-the-box. This means that, with PyInstaller, all the required tricks
to make external packages work are already integrated within PyInstaller
itself so that there is no user intervention required.
Shell Flags (shFlags) is a library written to greatly simplify the
handling of command-line flags in Bourne based Unix shell scripts (bash,
dash, ksh, sh, zsh) on many Unix OSes (Linux, Solaris, Mac OS X, etc.).
Most shell scripts use getopt for flags processing, but the different
versions of getopt on various OSes make writing portable shell scripts
difficult. shFlags instead provides an API that doesn't change across
shell and OS versions so the script writer can be confident that the
script will work.
shFlags is a port of the google-gflags C++/Python library.
Valgrind is a system for debugging and profiling un*x programs. With the tools
that come with Valgrind, you can automatically detect many memory management
and threading bugs, avoiding hours of frustrating bug-hunting, making your
programs more stable. You can also perform detailed profiling, to speed up and
reduce memory use of your programs.
The Valgrind distribution includes five tools: two memory error detectors, a
thread error detector, a cache profiler and a heap profiler. Several other
tools have been built with Valgrind.
Valgrind was initially ported to FreeBSD by
Doug Rabson (http://www.rabson.org/).
Valgrind is a system for debugging and profiling un*x programs. With the tools
that come with Valgrind, you can automatically detect many memory management
and threading bugs, avoiding hours of frustrating bug-hunting, making your
programs more stable. You can also perform detailed profiling, to speed up and
reduce memory use of your programs.
The Valgrind distribution includes five tools: two memory error detectors, a
thread error detector, a cache profiler and a heap profiler. Several other
tools have been built with Valgrind.
Valgrind was initially ported to FreeBSD by
Doug Rabson (http://www.rabson.org/).
ImPress is the WYSIWYG Publishing and Presentation for UNIX.
It can also be used within a WWW browser (e.g. Netscape) that is
capable of running the Tcl Plugin. The Tcl Plugin can be obtained from
the web site at: http://dev.scriptics.com/
ImPress can be significantly enhanced through use of several modified utilities:
o Pstoedit - Allows you to translate EPS files to Tk for ImPress use.
o Font3D - Translates TrueType font strings to vectorized Tk.
o Type1inst - Aids in maintaining Ghostscript Fontmaps and X11 fonts.dir files.
The TeXworks project is an effort to build a simple TeX front-end program
(working environment) that will be available for all today's major desktop
operating systems. It is deliberately modeled after Dick Koch's award-
winning TeXShop for Mac OS X.
TeXworks includes an integrated PDF viewer, based on the Poppler library,
and supports source/preview synchronization. This capability is based on
the "SyncTeX" feature developed by Jerome Laurens, and supported by both
the pdfTeX and XeTeX programs in TeX Live, and other current distributions.
higan is a Nintendo multi-system emulator that began development
on 2004-10-14. The purpose of this emulator is a bit different from
others: it focuses on accuracy, debugging functionality, and clean code.
The emulator does not focus on things that would hinder accuracy.
This includes speed and game-specific hacks for compatibility.
As a result, the minimum system requirements for higan are very high.
The emulator itself was not derived from any existing emulator source code,
such as SNES9x. It was written from scratch.
Any similarities to other emulators are merely coincidental.