This is a set of three simple tools written in sh(1) for generating single
patches for use in Ports. This set is ideal for creating a new patch when
it is inconvenient or undesirable to use the "make makepatch" utility.
The first tool is "dupe" which is a quick copy utility. The second tool
is "genpatch" which creates patches in the standards diff format and
using the standard file name conventions. The last tool is "portfix"
which runs "dupe", an editor of choice, and "genpatch" serially as a
macro as a convenient and quick way to create port patches.
Please see the dupe, genpatch, and portfix man pages for details.
This is RATS, a rough auditing tool for security, developed by
Secure Software Solutions. It is a tool for scanning source code
(C, C++, Perl, and Python) and flagging common security related
programming errors such as buffer overflows and TOCTOU (Time Of
Check, Time Of Use) race conditions. As its name implies, the tool
performs only a rough analysis of source code. It will not find
every error and will also find things that are not errors. Manual
inspection of your code is still necessary, but greatly aided with
this tool.
libcpuid is a small C library for x86 CPU detection and feature extraction.
Using it, you can:
- Get the processor vendor, model, brand string, code name, etc.
- Get information about CPU features such as: number of cores or logical
CPUs, cache sizes, CPU clock, etc.
- Check if the processor implements a specific instruction set such as
SSE2 or 3DNow!
- Execute the CPUID and RDTSC instructions in a portable way
- And have this all in your commercial application, without getting into
trouble, due to permissive license
Reference utility (rather advanced and useful on its own) is also provided.
most is a pager (like less) that displays, one windowful at a time,
the contents of a file on a terminal. It pauses after each windowful
and prints the following on the window status line: the screen, the
file name, current line number, and the percentage of the file so far
displayed.
In addition to displaying ordinary text files, most can also display
binary files as well as files with arbitrary ascii characters. As an
option, autosensing of binary files can be disabled (via the -k
option), thereby allowing one to browse files encoded in a different
language (Japanese, Korean, Chinese, etc).
FTP: ftp://ftp.jedsoft.org/pub/davis/most
Monitor::Simple allows simple monitoring of applications and services of your IT
infrastructure. There are many such tools, some of them very complex and
sophisticated. For example, one widely used is Nagios (http://www.nagios.org/).
The Monitor::Simple does not aim, as its name indicates, for all features
provided by those tools. It allows, however, to check whether your applications
and services are running correctly. Its simple command-line interface can be
used in cron jobs and reports can be viewed as a single HTML or text page.
tdir is Yet Another Way To Display Directory Listings. Output is in
columnar format with sub-directories listed first, and then a listing
of the files ordered by their ending "extension" - typically the
characters following the rightmost '.' in the file name (though this
can be changed on the command line).
tdir supports recursive directory examination. Total output width as
well as column width can be set on the command line and tdir will
autoformat accordingly.
tdir is written in 'python' and requires a reasonably current version
of the 'python' environment to be present on the system.
zfSnap is a simple sh script for creating ZFS snapshots. When called from
cron rolling snapshots can be created and deleted automatically. The main
advantage of zfSnap is that it is written in 100% pure /bin/sh, does not
require any additional software to run, and is simple to use.
zfSnap keeps all information about snapshot in snapshot name. zfs snapshot
names are in form: Timestamp--TTL where timestamp is date and time of
snapshot creation and TTL is Time To Live in human readable form.
Instead of reading input in lines as sed, bbe reads
arbitrary blocks from an input stream and performs
byte-related transformations on found blocks. Blocks
can be defined using start/stop strings, stream offset
and block length, or a combination. Basic editing commands
include delete, replace, search/replace, binary operations
(and, or, etc.), append, and bcd/ASCII conversion. For
examining the input stream, it contains some grep-like
features like printing the input file name, stream offset,
and block number of found blocks. Block contents can also
be printed in different formats like hex, octal, ASCII, and
binary.
Msort sorts files in sophisticated ways. Records may be fixed size,
newline-separated blocks, or terminated by any specified character.
Key fields may be selected by position, tag, or character range. For
each key, distinct exclusions, multigraphs, substitutions, and a sort
order may be defined or locale collation rules used. Comparisons may
be lexicographic, numeric, numeric string, hybrid, random, by string
length, angle, date, time, month name, or ISO8601 timestamp. Keys may
be reversed so as to generate reverse dictionaries. Optional keys are
supported. Unicode is supported, including full case-folding. Msort
itself has a somewhat complex command line interface, but may be
driven by an optional GUI.
Sphinx is a full-text search engine, distributed under GPL version
2. Commercial license is also available for embedded use.
Generally, it's a standalone search engine, meant to provide fast,
size-efficient and relevant fulltext search functions to other
applications. Sphinx was specially designed to integrate well with SQL
databases and scripting languages. Currently built-in data sources
support fetching data either via direct connection to MySQL, or from
an XML pipe.
As for the name, Sphinx is an acronym which is officially decoded as
SQL Phrase Index.