JDB is a package of commands for manipulating flat-ASCII databases
from shell scripts. JDB is useful to process medium amounts of data
(with very little data you'd do it by hand, with megabytes you might
want a real database). JDB is very good at doing things like:
* extracting measurements from experimental output
* re-examining data to address different hypotheses
* joining data from different experiments
* eliminating/detecting outliers
* computing statistics on data (mean, confidence intervals,
histograms, correlations)
* reformatting data for graphing programs
Rather than hand-code scripts to do each special case, JDB provides
higher-level functions.
JDB is built on flat-ASCII databases. By storing data in simple text
files and processing it with pipelines it is easy to experiment (in
the shell) and look at the output.
"Include what you use" means this: for every symbol (type, function,
variable, or macro) that you use in foo.cc (or foo.cpp), either foo.cc
or foo.h should include a .h file that exports the declaration of that
symbol. (Similarly, for foo_test.cc, either foo_test.cc or foo.h should
do the including.) Obviously symbols defined in foo.cc itself are
excluded from this requirement.
This puts us in a state where every file includes the headers it needs
to declare the symbols that it uses. When every file includes what it
uses, then it is possible to edit any file and remove unused headers,
without fear of accidentally breaking the upwards dependencies of
that file. It also becomes easy to automatically track and update
dependencies in the source code.
Many JavaScript implementations do not warn against questionable coding
practices. Yes, that's nice for the site that "works best with Internet
Explorer" (designed with templates, scripted with snippets copied from
forums). But it's a nightmare when you actually want to write quality,
maintainable code.
That's where JavaScript Lint comes in. With JavaScript Lint, you can
check all your JavaScript source code for common mistakes without actually
running the script or opening the web page.
JavaScript Lint holds an advantage over competing lints because it is
based on the JavaScript engine for the Firefox browser. This provides
a robust framework that can not only check JavaScript syntax but also
examine the coding techniques used in the script and warn against
questionable practices.
Privman is a library that makes it easy for programs to use privilege
separation, a technique that prevents the leak or misuse of privilege
from applications that must run with some elevated permissions. The
Privman library simplifies the otherwise complex task of separating
the application, protecting the system from compromise if an error in
the application logic is found.
Applications that use the Privman library split into two halves, the
half that performs valid privileged operations, and the half that
contains the application's logic. The library uses configuration files
to provide fine-grained access control for the privileged operations,
limiting exposure in even of an attack against the application. When
the application is compromised, the attacker gains only the privileges
of an unprivileged user and the specific privileges granted to the
application by the application's Privman configuration file.
The tecla library provides UNIX and LINUX programs with interactive
command line editing facilities, similar to those of the Unix tcsh
shell. In addition to simple command-line editing, it supports recall
of previously entered command lines, TAB completion of file names or
other tokens, and in-line wild-card expansion of file names. The
internal functions which perform file-name completion and wild-card
expansion are also available externally for optional use by programs,
along with a module for tab-completion and lookup of file names in a
list of directories.
Note that special care has been taken to allow the use of this library
in threaded programs. The option to enable this is discussed in the
Makefile, and specific discussions of thread safety are presented in
the included man pages.
Devel::NYTProf is a powerful feature-rich perl source code profiler.
* Performs per-line statement profiling for fine detail
* Performs per-subroutine statement profiling for overview
* Performs per-block statement profiling (the first profiler to do so)
* Accounts correctly for time spent after calls return
* Performs inclusive and exclusive timing of subroutines
* Subroutine times are per calling location (a powerful feature)
* Can profile compile-time activity, just run-time, or just END time
* Uses novel techniques for efficient profiling
* Sub-microsecond (100ns) resolution on systems with clock_gettime()
* Very fast - the fastest statement and subroutine profilers for perl
* Handles applications that fork, with no performance cost
* Immune from noise caused by profiling overheads and I/O
* Program being profiled can stop/start the profiler
* Generates richly annotated and cross-linked html reports
* Trivial to use with mod_perl - add one line to httpd.conf
* Includes an extensive test suite
* Tested on very large codebases
Parser combinators are just higher-order functions that take parsers as
their arguments and return them as result values. Parser combinators are:
* First-class values
* Extremely composable
* Tend to make the code quite compact
* Resemble the readable notation of xBNF grammars
Parsers made with funcparserlib are pure-Python LL(*) parsers. It means that
it's very easy to write them without thinking about look-aheads and all that
hardcore parsing stuff. But the recursive descent parsing is a rather slow
method compared to LL(k) or LR(k) algorithms.
So the primary domain for funcparserlib is parsing little languages or external
DSLs (domain specific languages).
The library itself is very small. Its source code is only 0.5 KLOC, with lots
of comments included. It features the longest parsed prefix error reporting,
as well as a tiny lexer generator for token position tracking.
gevent is a coroutine-based Python networking library that uses greenlet to
provide a high-level synchronous API on top of the libevent event loop.
Features include:
- Fast event loop based on libevent (epoll on Linux, kqueue on FreeBSD).
- Lightweight execution units based on greenlet.
- API that re-uses concepts from the Python standard library (for example there
are Events and Queues).
- Cooperative sockets with SSL support.
- DNS queries performed through libevent-dns.
- Monkey patching utility to get 3rd party modules to become cooperative.
- Fast WSGI server based on libevent-http
gevent is inspired by eventlet but features more consistent API, simpler
implementation and better performance. Read why others use gevent and check out
the list of the open source projects based on gevent.
DNSPerf and ResPerf Provide Communication Providers with Predictive
Planning Tools to Scale Networks.
Two tools, DNSPerf and ResPerf deliver accurate performance metrics
of Domain Name Services (DNS). These tools are easy-to-use and
simulate real Internet workloads to provide the necessary insight
that carriers need to plan and deploy network services.
DNSPerf measures Authoritative Domain Name services and is designed
to simulate network conditions by self-pacing the query load.
Caching services performance and workload profile differ significantly
from Authoritative Domain services; therefore a different tool is
needed. ResPerf is designed specifically to simulate Caching Domain
Name services. To test a caching server, ResPerf systematically
increases the query rate and monitors the response rate.
SEMI, Library of MIME feature for GNU Emacs for emacs20.
SEMI is a library to provide MIME feature for GNU Emacs. MIME is a
proposed internet standard for including content and headers other
than (ASCII) plain text in messages.
SEMI has the following features:
- MIME message viewer (mime-view-mode) (RFC 2045 .. 2049)
- MIME message composer (mime-edit-mode) (RFC 2045 .. 2049)
MIME message viewer and composer also support following features:
- filename handling by Content-Disposition field (RFC 1806)
- PGP/MIME security Multiparts (RFC 2015)
- application/pgp (draft-kazu-pgp-mime-00.txt; obsolete)
- text/richtext (RFC 1521; obsolete; preview only)
- text/enriched (RFC 1896)
- External method configuration by mailcap (RFC 1524)
Notice that this package does not contain MIME extender for any
MUAs. They are released as separated packages.
Ported by shige@FreeBSD.ORG