binary view of race
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3046
Net Worm Race 1.0
Net Worm Race project is a network snake game for up to 30 players. more>>
Net Worm Race project is a network snake game for up to 30 players.
Net Worm Race is a highly customizable on- line network game for up to 30 players. It is a variation on the well known "snake" theme.
Several worms (one for each player) keep growing from somewhere and can change their direction to certain angles (set in the settings) or change their speed by certain amounts in a given range.
If the head of a worm leaves the game area or another worm, the worm dies.
The game goes on until there is a single worm left.
<<lessNet Worm Race is a highly customizable on- line network game for up to 30 players. It is a variation on the well known "snake" theme.
Several worms (one for each player) keep growing from somewhere and can change their direction to certain angles (set in the settings) or change their speed by certain amounts in a given range.
If the head of a worm leaves the game area or another worm, the worm dies.
The game goes on until there is a single worm left.
Download (0.057MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
1066 downloads
Bagel View 2.0
Bagel View is a lightweight image viewer for looking at PPM, PBM, and PGM images in both RAW and ASCII format. more>>
Bagel View project is a lightweight image viewer for looking at pXm images. Here pXm means Portable Pixmap (ppm), Portable Bitmap (pbm), and Portable Graymap (pgm) in both RAW and ASCII format. Sample files are included in the samples directory.
<<less Download (0.018MB)
Added: 2007-02-27 License: GPL (GNU General Public License) Price:
971 downloads
BinaryKlock 0.1
BinaryKlock project is a binary clock kicker applet. more>>
BinaryKlock project is a binary clock kicker applet.
The special thing about this clock is that it displays the time in binary instead of using the decimal system.
Binary is pretty easy to read and many people will nonetheless stare at your desktop, not believing how you can read the time from that.
This is my first KDE application, let me know if you like it ;)
Building:
This is my first KDevelop project as well, and Im not yet extremely familiar with it. It generated the usual autoconf files and you should be able to build it like this:
./configure
make
make install
<<lessThe special thing about this clock is that it displays the time in binary instead of using the decimal system.
Binary is pretty easy to read and many people will nonetheless stare at your desktop, not believing how you can read the time from that.
This is my first KDE application, let me know if you like it ;)
Building:
This is my first KDevelop project as well, and Im not yet extremely familiar with it. It generated the usual autoconf files and you should be able to build it like this:
./configure
make
make install
Download (0.61MB)
Added: 2007-07-02 License: GPL (GNU General Public License) Price:
844 downloads
cg binary downloader 0.4
cg is a semi-automatic newsgroup binary downloader. more>>
cg is a semi-automatic newsgroup binary downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
cg is a automatic binary newsgroups downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
It supports decoding data in the following formats:
uuencode (both single- and multi-posting binaries)
MIME (multipart/mixed, message/partial; base64, quoted printable, x-uuencode) yEnc
Start it with cg somenewsgroup; `cg -h offers a short help, should you need it.
Enhancements:
- yenc support
- rename broken files to filename.broken
- CTRL-C/SIGINT handling: write rc file and quit after completely decoding current file.
- segfault fix (for postings of the type [422/7])
- ignore some uninteresting comment lines (no .desc file)
- dont assume last line before end is not allowed to contain data in uu data
<<lesscg is a automatic binary newsgroups downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
It supports decoding data in the following formats:
uuencode (both single- and multi-posting binaries)
MIME (multipart/mixed, message/partial; base64, quoted printable, x-uuencode) yEnc
Start it with cg somenewsgroup; `cg -h offers a short help, should you need it.
Enhancements:
- yenc support
- rename broken files to filename.broken
- CTRL-C/SIGINT handling: write rc file and quit after completely decoding current file.
- segfault fix (for postings of the type [422/7])
- ignore some uninteresting comment lines (no .desc file)
- dont assume last line before end is not allowed to contain data in uu data
Download (0.16MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1222 downloads
Robot Race 3
Robot Race project is an excellent 90% completed Robo Rally server needing an equivalent client. more>>
Robot Race project is an excellent 90% completed Robo Rally server needing an equivalent client.
Robot Race is a race game in which each player attempts to be the first to touch a series of flags by maneuvering a robot across a dynamic race course.
The game is for two to eight players playing independently or on teams. Frequently, the race will mutate into multi-player skirmishes as those players who are behind use their weaponry in an attempt to slow the opposition.
The simultaneous movement rules encourage clever strategies and counterstrategies as players try to second-guess their opponents
Enhancements:
- Changed some filenames to be more intuitive.
- Added an install script to install basic configuration files.
- Trying out the code for newcomers should be much simpler now.
- 3 typos fixed.
<<lessRobot Race is a race game in which each player attempts to be the first to touch a series of flags by maneuvering a robot across a dynamic race course.
The game is for two to eight players playing independently or on teams. Frequently, the race will mutate into multi-player skirmishes as those players who are behind use their weaponry in an attempt to slow the opposition.
The simultaneous movement rules encourage clever strategies and counterstrategies as players try to second-guess their opponents
Enhancements:
- Changed some filenames to be more intuitive.
- Added an install script to install basic configuration files.
- Trying out the code for newcomers should be much simpler now.
- 3 typos fixed.
Download (0.37MB)
Added: 2006-11-27 License: GPL (GNU General Public License) Price:
1069 downloads
Linux distribution race 1.0
Linux distribution race is a cool car race for 4 players. more>>
Linux distribution race is a cool car race for 4 players, cars are named by Linux distributions (Mandrake, SUSE, RedHat, Debian).
You can create maps in GIMP. Controls: WSAD, TGFH, IKJL, arrows.
<<lessYou can create maps in GIMP. Controls: WSAD, TGFH, IKJL, arrows.
Download (1.2MB)
Added: 2005-12-07 License: GPL (GNU General Public License) Price:
1422 downloads
Java Binary Enhancement Tool 3 R1
Java Binary Enhancement Tool is a Java assembler, dissassembler, and binary editor. more>>
The Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner.
JBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
<<lessJBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
Download (0.19MB)
Added: 2005-03-07 License: BSD License Price:
1697 downloads
N-View 3.1
N-View is a network monitor for small and medium-sized networks. more>>
N-View is a network monitor for small and medium-sized networks. It features automatic scanning of subnets for host addresses, monitoring of ICMP responses from all hosts, signalling of timeouts and delays in the GUI and by mail, a portscanner, an SNMP client (MIB browser and trap receiver), a graphical display of network traffic for network interfaces, connectivity to hosts by telnet, HTTP browser, or an arbitrary external program (such as ssh), printing of network diagrams, automatic generation of HTML pages, and more.
Main features:
Simple configuration:
- automatic scan for hosts, based on ICMP ("ping"),
- configurable limits for response delay, timeout and port scan interval,
- individual configuration can be stored in a configuration file;
Graphic display:
- automatic arranging of icons for hosts and subnets (optional),
- arbitrary background pictures for each screen,
- signalling delay and timeout of hosts and subnets with coloured icons,
- graphic display of traffic load for selected network interfaces,
- arbitrary labelling for all icons and windows;
Signalling of status changes on display, acoustic and per e-mail (optional):
- on timeout or delayed reply of a host,
- on changes of the open port status,
- on receiving of SNMP traps;
Management interface, connections to hosts:
- via external browser,
- via internal telnet client,
- via internal SNMP client/browser;
Flexible display:
- showing Subnets as tabbed or cascaded windows,
- coloured printer output of network diagrams,
- network diagrams can be accessed from HTML browsers from inside the network (external HTML server required);
<<lessMain features:
Simple configuration:
- automatic scan for hosts, based on ICMP ("ping"),
- configurable limits for response delay, timeout and port scan interval,
- individual configuration can be stored in a configuration file;
Graphic display:
- automatic arranging of icons for hosts and subnets (optional),
- arbitrary background pictures for each screen,
- signalling delay and timeout of hosts and subnets with coloured icons,
- graphic display of traffic load for selected network interfaces,
- arbitrary labelling for all icons and windows;
Signalling of status changes on display, acoustic and per e-mail (optional):
- on timeout or delayed reply of a host,
- on changes of the open port status,
- on receiving of SNMP traps;
Management interface, connections to hosts:
- via external browser,
- via internal telnet client,
- via internal SNMP client/browser;
Flexible display:
- showing Subnets as tabbed or cascaded windows,
- coloured printer output of network diagrams,
- network diagrams can be accessed from HTML browsers from inside the network (external HTML server required);
Download (5.6MB)
Added: 2005-08-02 License: GPL (GNU General Public License) Price:
1547 downloads
Cache View 1.61
Cache View is an extension which displays Googles Cache, Corals Cache, Wayback Machines Cache and more. more>>
Cache View is an extension which displays Googles Cache, Corals Cache, Wayback Machines Cache and more.
Displays Googles Cache, Corals Cache, Wayback Machines Cache, Dot Cache, Tech Gurus Cache, and Cachebins cache of the current tab open via right-click or Tools menu.
This was made so that if the site is down in any way, especially the Digg effect and Slashdot effect, you can hopefully view it.
<<lessDisplays Googles Cache, Corals Cache, Wayback Machines Cache, Dot Cache, Tech Gurus Cache, and Cachebins cache of the current tab open via right-click or Tools menu.
This was made so that if the site is down in any way, especially the Digg effect and Slashdot effect, you can hopefully view it.
Download (0.034MB)
Added: 2007-04-12 License: MPL (Mozilla Public License) Price:
935 downloads
Tree::Binary::Search 0.07
Tree::Binary::Search is a binary search tree for Perl. more>>
Tree::Binary::Search is a binary search tree for Perl.
SYNOPSIS
use Tree::Binary::Search;
my $btree = Tree::Binary::Search->new();
$btree->useNumericComparison();
$btree->insert(5 => "Five");
$btree->insert(2 => "Two");
$btree->insert(1 => "One");
$btree->insert(3 => "Three");
$btree->insert(4 => "Four");
$btree->insert(9 => "Nine");
$btree->insert(8 => "Eight");
$btree->insert(6 => "Six");
$btree->insert(7 => "Seven");
# this creates the following tree:
#
# +-------(5)----------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +----(8)
# | |
# (4) (6)-+
# |
# (7)
#
$btree->exists(7); # return true
$btree->update(7 => "Seven (updated)");
$btree->select(9); # return Nine
$btree->min_key(); # returns 1
$btree->min(); # returns One
$btree->max_key(); # return 9
$btree->max(); # return Nine
$btree->delete(5);
# this results in the following tree:
#
# +-------(6)-------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +-(8)
# | |
# (4) (7)
#
This module implements a binary search tree, which is a specialized usage of a binary tree. The basic principle is that all elements to the left are less than the root, all elements to the right are greater than the root. This reduces the search time for elements in the tree, by halving the number of nodes that need to be searched each time a node is examined.
Binary search trees are a very well understood data-structure and there is a wealth of information on the web about them.
Trees are a naturally recursive data-structure, and therefore, tend to lend themselves well to recursive traversal functions. I however, have chosen to implement the tree traversal in this module without using recursive subroutines. This is partially a performance descision, even though perl can handle theoreticaly unlimited recursion, subroutine calls to have some overhead. My algorithm is still recursive, I have just chosen to keep it within a single subroutine.
<<lessSYNOPSIS
use Tree::Binary::Search;
my $btree = Tree::Binary::Search->new();
$btree->useNumericComparison();
$btree->insert(5 => "Five");
$btree->insert(2 => "Two");
$btree->insert(1 => "One");
$btree->insert(3 => "Three");
$btree->insert(4 => "Four");
$btree->insert(9 => "Nine");
$btree->insert(8 => "Eight");
$btree->insert(6 => "Six");
$btree->insert(7 => "Seven");
# this creates the following tree:
#
# +-------(5)----------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +----(8)
# | |
# (4) (6)-+
# |
# (7)
#
$btree->exists(7); # return true
$btree->update(7 => "Seven (updated)");
$btree->select(9); # return Nine
$btree->min_key(); # returns 1
$btree->min(); # returns One
$btree->max_key(); # return 9
$btree->max(); # return Nine
$btree->delete(5);
# this results in the following tree:
#
# +-------(6)-------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +-(8)
# | |
# (4) (7)
#
This module implements a binary search tree, which is a specialized usage of a binary tree. The basic principle is that all elements to the left are less than the root, all elements to the right are greater than the root. This reduces the search time for elements in the tree, by halving the number of nodes that need to be searched each time a node is examined.
Binary search trees are a very well understood data-structure and there is a wealth of information on the web about them.
Trees are a naturally recursive data-structure, and therefore, tend to lend themselves well to recursive traversal functions. I however, have chosen to implement the tree traversal in this module without using recursive subroutines. This is partially a performance descision, even though perl can handle theoreticaly unlimited recursion, subroutine calls to have some overhead. My algorithm is still recursive, I have just chosen to keep it within a single subroutine.
Download (0.027MB)
Added: 2007-07-21 License: Perl Artistic License Price:
825 downloads
View Picture 1.7
View Picture project is an SDL-based image viewer for Linux and FreeBSD that supports slideshows, fullscreen, zoom. more>>
View Picture project is an SDL-based image viewer for Linux and FreeBSD that supports slideshows, fullscreen, zoom, and arbitrary movement through the image list.
Main features:
- HTTP updated to 1.1
- Only hide cursor when fullscreen
- Fixed image count estimate
- configure-time X prefix
- fixed potential buffer overflow issues
<<lessMain features:
- HTTP updated to 1.1
- Only hide cursor when fullscreen
- Fixed image count estimate
- configure-time X prefix
- fixed potential buffer overflow issues
Download (0.11MB)
Added: 2007-06-07 License: GPL (GNU General Public License) Price:
877 downloads
Scriptol to binary Compiler
Scriptol to binary Compiler is a C++ native compiler. more>>
Scriptol to binary Compiler is a C++ native compiler.
Installation:
It is better to install Scriptol at root of a disk, for example:
c:scriptolc
Once the archive is extracted into the scriptolc directory, you have just to change to this directory to run the compiler.
To use the compiler at command line from any directory, you have to put the compiler into the path variable.
The setup script installs required file into sub-directories, or into the directory given as argument. Before to use the compiler, you have to read the licence, in the doc
directory: licence.html.
Usage:
Just type:
./solc mysource
Type "solc" only to list the options.
If your program is a multi-file project, the source given as parameter must be the main source file, the compiler will know dependencies from "include" statements and will build what is needed.
Exemples:
Type from the main scriptol directory:
./solc -bre demosfibo
Configuring:
By editing the solc.ini file, you may change the second pass compiler (you may have to rebuild the libsol library for this compiler), change the options of the compiler or add header files to include.
To add header files, just add "header=someheader.hpp" lines into the config file.
A xxx.cfg file may be written for each project main source beeing xxx, and if present, it overloads the solc.ini file.
<<lessInstallation:
It is better to install Scriptol at root of a disk, for example:
c:scriptolc
Once the archive is extracted into the scriptolc directory, you have just to change to this directory to run the compiler.
To use the compiler at command line from any directory, you have to put the compiler into the path variable.
The setup script installs required file into sub-directories, or into the directory given as argument. Before to use the compiler, you have to read the licence, in the doc
directory: licence.html.
Usage:
Just type:
./solc mysource
Type "solc" only to list the options.
If your program is a multi-file project, the source given as parameter must be the main source file, the compiler will know dependencies from "include" statements and will build what is needed.
Exemples:
Type from the main scriptol directory:
./solc -bre demosfibo
Configuring:
By editing the solc.ini file, you may change the second pass compiler (you may have to rebuild the libsol library for this compiler), change the options of the compiler or add header files to include.
To add header files, just add "header=someheader.hpp" lines into the config file.
A xxx.cfg file may be written for each project main source beeing xxx, and if present, it overloads the solc.ini file.
Added: 2005-12-02 License: Freeware Price:
1423 downloads
Tree::Binary 0.07
Tree::Binary is a Object Oriented Binary Tree for Perl. more>>
Tree::Binary is a Object Oriented Binary Tree for Perl.
SYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
<<lessSYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
Download (0.027MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1108 downloads
Search::Binary 0.95
Search::Binary is a Perl module for generic binary search. more>>
Search::Binary is a Perl module for generic binary search.
SYNOPSIS
use Seach::Binary;
$pos = binary_search($min, $max, $val, $read, $handle, [$size]);
binary_search implements a generic binary search algorithm returning the position of the first record whose index value is greater than or equal to $val. The search routine does not define any of the terms position, record or index value, but leaves their interpretation and implementation to the user supplied function &$read(). The only restriction is that positions must be integer scalars.
During the search the read function will be called with three arguments: the input parameters $handle and $val, and a position. If the position is not undef, the read function should read the first whole record starting at or after the position; otherwise, the read function should read the record immediately following the last record it read. The search algorithm will guarantee that the first call to the read function will not be with a position of undef. The read function needs to return a two element array consisting of the result of comparing $val with the index value of the read record and the position of the read record. The comparison value must be positive if $val is strictly greater than the index value of the read record, 0 if equal, and negative if strictly less. Furthermore, the returned position value must be greater than or equal to the position the read function was called with.
The input parameters $min and $max are positions and represents the extent of the search. Only records which begin at positions within this range (inclusive) will be searched. Moreover, $min must be the starting position of a record. If present $size is a difference between positions and determines when the algorithms switches to a sequential search. $val is an index value. The value of $handle is of no consequence to the binary search algorithm; it is merely passed as a convenience to the read function.
<<lessSYNOPSIS
use Seach::Binary;
$pos = binary_search($min, $max, $val, $read, $handle, [$size]);
binary_search implements a generic binary search algorithm returning the position of the first record whose index value is greater than or equal to $val. The search routine does not define any of the terms position, record or index value, but leaves their interpretation and implementation to the user supplied function &$read(). The only restriction is that positions must be integer scalars.
During the search the read function will be called with three arguments: the input parameters $handle and $val, and a position. If the position is not undef, the read function should read the first whole record starting at or after the position; otherwise, the read function should read the record immediately following the last record it read. The search algorithm will guarantee that the first call to the read function will not be with a position of undef. The read function needs to return a two element array consisting of the result of comparing $val with the index value of the read record and the position of the read record. The comparison value must be positive if $val is strictly greater than the index value of the read record, 0 if equal, and negative if strictly less. Furthermore, the returned position value must be greater than or equal to the position the read function was called with.
The input parameters $min and $max are positions and represents the extent of the search. Only records which begin at positions within this range (inclusive) will be searched. Moreover, $min must be the starting position of a record. If present $size is a difference between positions and determines when the algorithms switches to a sequential search. $val is an index value. The value of $handle is of no consequence to the binary search algorithm; it is merely passed as a convenience to the read function.
Download (0.002MB)
Added: 2007-04-05 License: Perl Artistic License Price:
932 downloads
Snare 1.2
Snare is an audit subsystem for Linux. more>>
SNARE (System iNtrusion Analysis and Reporting Environment) is a kernel patch, daemon, and Gnome2 GUI, that together provide a host intrusion detection facility and C2-style auditing/event logging capability for Linux similar to the Basic Security Module (BSM) for Solaris, or the Windows Event Log.
SNARE is divided into three key components:
The Kernel changes
In order to collect event log data, Snare needs to add auditing support into the operating system. You can choose to either install a binary version of the kernel, with Snare already integrated, or you can apply a patch to your kernel source.
Although we try hard to make Snare as easy to install as possible, there are hundreds of different distributions and kernel versions, and it would be an immense task to build Snare for each variant. We are hoping that recent efforts towards creating a native auditing subsystem for linux will soon mean that the kernel component of the Snare for Linux agent, will no longer be required.
The Snare Audit Daemon
The Snare audit daemon acts as an interface between the Linux kernel, and the security administrator. It allow you to turn on events, filter the output, and potentially push audit log information back to a central location for collection, analysis and archival.
The Snare Micro-Web Server, and Audit GUI
The Snare audit GUI provides a graphical user interface to the Snare audit daemon. It allows you to add, remove or modify audit objectives, and change reporting options.
The Micro-Web Server, is embedded in the audit daemon, and provides a very simple configuration capability that can be managed from your web browser.
Enhancements:
- Added support for compound matching elements (e.g. name=/etc/* name!=/etc/blah/*)
- Improved authentication support for remote control interface
- Updated SELinux policy (RHEL5 support)
- Improved automatic audit configuration using objective returncode detection to pre filter unnecessary records
- Fixed element matching error
- Fixed error in criticality reporting (e.g. criticality was always zero)
- Fixed race condition that could potentially clear all audit rules on restart
- Improved effeciency allowing a higher throughput
- Improved installer for easier deployment
- Disabled local logging by default
<<lessSNARE is divided into three key components:
The Kernel changes
In order to collect event log data, Snare needs to add auditing support into the operating system. You can choose to either install a binary version of the kernel, with Snare already integrated, or you can apply a patch to your kernel source.
Although we try hard to make Snare as easy to install as possible, there are hundreds of different distributions and kernel versions, and it would be an immense task to build Snare for each variant. We are hoping that recent efforts towards creating a native auditing subsystem for linux will soon mean that the kernel component of the Snare for Linux agent, will no longer be required.
The Snare Audit Daemon
The Snare audit daemon acts as an interface between the Linux kernel, and the security administrator. It allow you to turn on events, filter the output, and potentially push audit log information back to a central location for collection, analysis and archival.
The Snare Micro-Web Server, and Audit GUI
The Snare audit GUI provides a graphical user interface to the Snare audit daemon. It allows you to add, remove or modify audit objectives, and change reporting options.
The Micro-Web Server, is embedded in the audit daemon, and provides a very simple configuration capability that can be managed from your web browser.
Enhancements:
- Added support for compound matching elements (e.g. name=/etc/* name!=/etc/blah/*)
- Improved authentication support for remote control interface
- Updated SELinux policy (RHEL5 support)
- Improved automatic audit configuration using objective returncode detection to pre filter unnecessary records
- Fixed element matching error
- Fixed error in criticality reporting (e.g. criticality was always zero)
- Fixed race condition that could potentially clear all audit rules on restart
- Improved effeciency allowing a higher throughput
- Improved installer for easier deployment
- Disabled local logging by default
Download (0.32MB)
Added: 2007-08-08 License: GPL (GNU General Public License) Price:
813 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above binary view of race search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed