This package implements a PerlIO layer, that adds read / write
timeout. This can be useful to avoid blocking while accessing a
handle (file, socket, ...), and fail after some time.
The timeout is implemented by using <select> on the handle before
reading/writing.
WARNING the handle won't timeout if you use sysread or syswrite on
it, because these functions works at a lower level. However if
you're trying to implement a timeout for a socket, see IO::Socket::Timeout
that implements exactly that.
Tree::RedBlack is a perl implementation of the Red/Black tree algorithm found in
the book "Algorithms", by Cormen, Leiserson & Rivest (more commonly known as
"CLR" or "The White Book"). A Red/Black tree is a binary tree which remains
"balanced"- that is, the longest length from root to a node is at most one more
than the shortest such length. It is fairly efficient; no operation takes more
than O(lg(n)) time.
A Tree::RedBlack object supports the following methods: new(), root(), cmp(&),
insert($, $), delete($), find($), node($), min() and max().
Whenever you use UNIVERSAL::isa as a function, a kitten using
Test::MockObject dies. Normally, the kittens would be helpless, but if they
use UNIVERSAL::isa (the module whose docs you are reading), the kittens can
live long and prosper.
This module replaces UNIVERSAL::isa with a version that makes sure that if
it's called as a function on objects which override isa, isa will be
called on those objects as a method.
In all other cases the real UNIVERSAL::isa is just called directly.
Stone is a TCP/IP packet repeater in the application layer. It
repeats TCP and UDP packets from inside to outside of a firewall, or
from outside to inside.
Stone has following features:
1. Simple.
Stone's source code is only 3000 lines long (written in C
language), so you can minimize the risk of security
holes.
2. Stone supports SSL.
Using OpenSSL (http://www.openssl.org/), stone can
encrypt/decrypt packets.
3. Stone is a http proxy.
Stone can also be a tiny http proxy.
4. POP -> APOP conversion.
With stone and a mailer that does not support APOP, you can
access to an APOP server.
Supervisor is a client/server system that allows its users
to monitor and control a number of processes on UNIX-like
operating systems.
It shares some of the same goals of programs like launchd,
daemontools, and runit. Unlike some of these programs, it is
not meant to be run as a substitute for init as "process id 1".
Instead it is meant to be used to control processes related to
a project or a customer, and is meant to start like any
other program at boot time.
TagZilla is an add-on to Mozilla that lets you add a tagline, random or
specifically chosen by you, to the end of an email or newsgroup posting,
or to the clipboard for pasting into a Web-based email or message board.
What is a tagline?
A tagline is a one-line joke, witticism, factoid, what have you. It can
be about any subject (although it's good to ensure it's appropriate to
the forum in question). The random quotes that can be found at the end
of web pages like Slashdot or the MozDev home page could be considered
taglines.
The TimeDate distribution replaces earlier GetDate distribution, which was
only a date parser. The date parser contained in this distribution
is far superior to the yacc based parser, and a *lot* faster.
The parser contained here will only parse absolute dates, if you want a date
parser that can parse relative dates then take a look at the
Time modules by David Muir on CPAN.
The file Local.pm.new which is included in this distribution is a patched
version of Time::Local which comes with perl. It fixes two problems
- It determines the zone offset based on now rather than epoch
- It fixes a problem with looping forever when a year > 1900 is passed in
Tool to compile and run C programs like a shell script.
First of all, this is not the same as tcc. TCC is a compiler. TCC will preform
its own set of optimizations, just as GCC will preform its own and Clang will
preform its own. The purpose of this script is to give a simple front-end to a
compiler.
Whether it's GCC, Clang, or something else entirely, one can get to choose
their compiler. It's simply satisfying to type c hello.c and see it run
instantly.
C is fast. Being able to write a small, fast, and portable C "script" is great.
One can pass around a C "script" just like s/he would a BASH script.
XORSearch is a program to search for a given string in an XOR or
ROL encoded binary file. An XOR encoded binary file is a file where
some (or all) bytes have been XORed with a constant value (the key).
A ROL (or ROR) encoded file has it bytes rotated by a certain number
of bits (the key). XOR and ROL/ROR encoding is used by malware
programmers to obfuscate strings like URLs.
XORSearch will try all XOR keys (0 to 255) and ROL keys (1 to 7)
when searching. I programmed XORSearch to include key 0, because
this allows to search in an unencoded binary file (X XOR 0 equals
X).
If the search string is found, XORSearch will print it until the 0
(byte zero) is encountered or until 50 characters have been printed,
which ever comes first. 50 is the default value, it can be changed
with option -l. Unprintable characters are replaced by a dot.
clockspeed uses a hardware tick counter to compensate for a persistently
fast or slow system clock. Given a few time measurements from a reliable
source, it computes and then eliminates the clock skew.
sntpclock checks another system's NTP clock, and prints the results in a
format suitable for input to clockspeed. sntpclock is the simplest
available NTP/SNTP client.
taiclock and taiclockd form an even simpler alternative to SNTP. They
are suitable for precise time synchronization over a local area network,
without the hassles and potential security problems of an NTP server.
This version of clockspeed can use the Pentium RDTSC tick counter or the
Solaris gethrtime() nanosecond counter.
A port to non-i386 platforms was done using the clock_gettime(2)
function. Since this is somewhat experimental, there might be some
tiny precision differences from the i386 platform versions. You
have been warned!