The Xdebug extension helps you debugging your script by providing a lot of
valuable debug information. The debug information that Xdebug can provide
includes the following:
* stack and function traces in error messages with:
o full parameter display for user defined functions
o function name, file name and line indications
o support for member functions
* memory allocation
* protection for infinite recursions
Xdebug also provides:
* profiling information for PHP scripts
* script execution analysis
* capabilities to debug your scripts interactively with a debug client
Log4J, a fast and flexible logging library for Java.
Log4J is an open source library based on the work of many authors.
It allows the developer to control which log statements are output
with arbitrary granularity. It is fully configurable at runtime
using external configuration files. Best of all, Log4J has a gentle
learning curve. Beware: judging from user feedback, it is also quite
addictive.
Netli Configuration library (NCNF) is the module for C applications to
efficiently read and use the configuration file contents. NCNF converts
the on-disk configuration file structure to the memory-based tree of
configuration objects. Basic NCNF API does not make a distinction
between different types of configuration objects. However, there are a
couple of additional functions present to ease the use of certain types
of configuration objects.
What is it?
-----------
NAnt is a .NET-based build tool. In theory it is kind of like make without
make's wrinkles. In practice it's a lot like Ant.
If you are not familiar with Jakarta Ant, you can get more information at the
Ant project web site (http://ant.apache.org/).
Why NAnt?
---------
Because Ant was too Java-specific.
Because Ant needed the Java runtime. NAnt only needs the .NET or Mono runtime.
This OCaml-library consists of a set of modules which implement
automatically resizing (= reallocating) data structures that consume
a contiguous part of memory. This allows appending and removing of
elements to/from arrays (both boxed and unboxed), strings (-> buffers),
bit strings and weak arrays while still maintaining fast constant-time
access to elements.
There are also functors that allow the generation of similar modules
which use different reallocation strategies.
Parmap is a minimalistic library allowing to exploit multicore
architecture for OCaml programs with minimal modifications: if you want
to use your many cores to accelerate an operation which happens to be a
map, fold or map/fold (map-reduce), just use Parmap's parmap, parfold
and parmapfold primitives in place of the standard List.map and friends,
and specify the number of subprocesses to use by the optional parameter
~ncores.
Algorithm::Dependency is a framework for creating simple read-only
dependency hierarchies, where you have a set of items that rely on other
items in the set, and require actions on them as well.
Despite the most visible of these being software installation systems like
the CPAN installer, or debian apt-get, they are useful in other
situations. This module intentionally uses implementation-neutral words,
to avoid confusion.
Stack traces are hard to read when the messages wrap, because it's hard to tell
when one message ends and the next message starts. Carp::Always::Color just
colors the first line of each stacktrace, based on whether it's a warning or an
error. If messages are being sent to a terminal, it colors them with terminal
escape codes, otherwise it colors them with HTML (ideas for more intelligent
behavior here are welcome).
The Autodist is a source distribution management system that allows
powerful mechanisms to define what is included in and excluded from a
distribution, and what license the distribution is released under. It is
also used to create the actual distribution source packages. Autodist
allows distribution management in file, directory and file content
level. Autodist is especially targeted for large software projects, and
projects where multiple distributions are created from one source tree.
from the README:
This module solves the problem of having to write a bazillion get/set
methods that are all the same. The argument to 'use' is a hash whose keys
are the names of types of generic methods generated by MethodMaker and
whose values tell method maker what methods to make. (More precisely, the
keys are the names of MethodMaker methods (methods that write methods) and
the values are the arguments to those methods.