to accomplish
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 186
JooTemplateFiller 0.1
JooTemplateFiller is a free library that creates reports from a OpenOffice 2.0 writer template. more>>
JooTemplateFiller is a free library that creates reports from a OpenOffice 2.0 writer template and data given by your java application.
Unlike other libraries, it does NOT require OpenOffice to accomplish its task, this is the reason why I choose to write one on my own.
JooTemplateFiller can be used as a standalone program too.
Templates are simple OpenOffice writer files, with fields to be filled named like ${FIELD NAME}
<<lessUnlike other libraries, it does NOT require OpenOffice to accomplish its task, this is the reason why I choose to write one on my own.
JooTemplateFiller can be used as a standalone program too.
Templates are simple OpenOffice writer files, with fields to be filled named like ${FIELD NAME}
Download (0.65MB)
Added: 2006-07-03 License: GPL (GNU General Public License) Price:
1208 downloads
Bounce-O-Matic 0.9
Bounce-O-Matic reads through the system log files at a specified time interval (via cron) and finds unwanted attempted logons. more>>
Bounce-O-Matic reads through the system log files at a specified time interval (via cron) and finds unwanted attempted logons. Bounce-O-Matic writes these attempts out to an iptables drop file and emits a drop command to iptables.
Bounce-O-Matic is one solution to a common problem, namely, those hammering attacks that occur, at least occasionally, everywhere. The script tries to be as simple and as easy to use as possible while being versatile and extensible.The script was developed with the idea in mind of getting some immediate results from a basic setup of iptables, ssh, and Snort. This way attackus-interruptus can be achieved as soon as possible and the fancy rule development and firewall tweaking can be done at your leisure, or not at all if this script suits the bill.
At the moment the script only checks two log files, but it could do more, and it handles the following cases, but it could do more :
ssh : invalid user login
ssh : failed user login
ssh : root user login
snort : mysql root user login
snort : portscan (log only)
ftp : admin ; administrator login
ftp : root login
Bounce-O-Matic is written in bash. It is not as elegant as it potentially could be, it does not handle connection attempts (only login attempts), it is not a great example of superstar coding, and it probably will not win any prizes for forwarding the causes of world peace or saving the environment, however, it does get the job done!
Once installed, the script needs very little attention, allowing you to go about your business and stop worrying about attackers.
The script aims to be a fire-and-forget type of solution as well as a good solid first line of defense.
Bounce-O-Matic uses commonly available system utilities to accomplish its task.
awk, grep, sort, uniq, date, cat
and makes use of the following other utilities :
iptables :
this needs to be running, or you wont be able to drop anything.
sshd :
as long as the daemon is running, it defaults to logging AUTH to syslog. So even if you dont use Snort, you can still catch the invalid and failed and root user logon attempts that happen here.
Snort :
I happen to be using Snort version 2.3.3 and logging is being directed to the system log facility
output alert_syslog: LOG_AUTH LOG_ALERT
where the above line turns on the output directive in the snort config file.
Enhancements:
- This release adds bounce protection for ftp admin and root login attempts.
<<lessBounce-O-Matic is one solution to a common problem, namely, those hammering attacks that occur, at least occasionally, everywhere. The script tries to be as simple and as easy to use as possible while being versatile and extensible.The script was developed with the idea in mind of getting some immediate results from a basic setup of iptables, ssh, and Snort. This way attackus-interruptus can be achieved as soon as possible and the fancy rule development and firewall tweaking can be done at your leisure, or not at all if this script suits the bill.
At the moment the script only checks two log files, but it could do more, and it handles the following cases, but it could do more :
ssh : invalid user login
ssh : failed user login
ssh : root user login
snort : mysql root user login
snort : portscan (log only)
ftp : admin ; administrator login
ftp : root login
Bounce-O-Matic is written in bash. It is not as elegant as it potentially could be, it does not handle connection attempts (only login attempts), it is not a great example of superstar coding, and it probably will not win any prizes for forwarding the causes of world peace or saving the environment, however, it does get the job done!
Once installed, the script needs very little attention, allowing you to go about your business and stop worrying about attackers.
The script aims to be a fire-and-forget type of solution as well as a good solid first line of defense.
Bounce-O-Matic uses commonly available system utilities to accomplish its task.
awk, grep, sort, uniq, date, cat
and makes use of the following other utilities :
iptables :
this needs to be running, or you wont be able to drop anything.
sshd :
as long as the daemon is running, it defaults to logging AUTH to syslog. So even if you dont use Snort, you can still catch the invalid and failed and root user logon attempts that happen here.
Snort :
I happen to be using Snort version 2.3.3 and logging is being directed to the system log facility
output alert_syslog: LOG_AUTH LOG_ALERT
where the above line turns on the output directive in the snort config file.
Enhancements:
- This release adds bounce protection for ftp admin and root login attempts.
Download (0.007MB)
Added: 2006-05-08 License: GPL (GNU General Public License) Price:
1264 downloads
Object::AutoAccessor 0.06
Object::AutoAccessor is an accessor class by using AUTOLOAD. more>>
Object::AutoAccessor is an accessor class by using AUTOLOAD.
SYNOPSIS
use Object::AutoAccessor;
my $struct = {
foo => {
bar => {
baz => BUILD OK,
},
},
};
# Now lets easily accomplish it.
my $obj = Object::AutoAccessor->build($struct);
print $obj->foo->bar->baz; # prints BUILD OK
# OK, now reverse it!
$obj->foo->bar->baz(TO HASHREF);
my $hashref = $obj->as_hashref;
print $hashref->{foo}->{bar}->{baz}; # prints TO HASHREF;
# Of course, new() can be used.
$obj = Object::AutoAccessor->new();
# setter methods
$obj->foo(bar);
$obj->set_foo(bar);
$obj->param(foo => bar);
# getter methods
$obj->foo();
$obj->get_foo();
$obj->param(foo);
# $obj->param() is compatible with HTML::Template->param()
my @keywords = $obj->param();
my $val = $obj->param(hash);
$obj->param(key => val);
my $tmpl = HTML::Template->new(..., associate => [$obj], ...);
Object::AutoAccessor is a Accessor class to get/set values by AUTOLOADed method automatically. Moreover, param() is compatible with HTML::Template module, so you can use Object::AutoAccessor object for HTML::Templates associate option.
<<lessSYNOPSIS
use Object::AutoAccessor;
my $struct = {
foo => {
bar => {
baz => BUILD OK,
},
},
};
# Now lets easily accomplish it.
my $obj = Object::AutoAccessor->build($struct);
print $obj->foo->bar->baz; # prints BUILD OK
# OK, now reverse it!
$obj->foo->bar->baz(TO HASHREF);
my $hashref = $obj->as_hashref;
print $hashref->{foo}->{bar}->{baz}; # prints TO HASHREF;
# Of course, new() can be used.
$obj = Object::AutoAccessor->new();
# setter methods
$obj->foo(bar);
$obj->set_foo(bar);
$obj->param(foo => bar);
# getter methods
$obj->foo();
$obj->get_foo();
$obj->param(foo);
# $obj->param() is compatible with HTML::Template->param()
my @keywords = $obj->param();
my $val = $obj->param(hash);
$obj->param(key => val);
my $tmpl = HTML::Template->new(..., associate => [$obj], ...);
Object::AutoAccessor is a Accessor class to get/set values by AUTOLOADed method automatically. Moreover, param() is compatible with HTML::Template module, so you can use Object::AutoAccessor object for HTML::Templates associate option.
Download (0.006MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
No Gravity 2.0
No Gravity is a 3D arcade space shooter. more>>
No Gravity game is a futuristic and fantastic universe made of five intergalactic worlds. An arcade type game with great playability, where it is easy to plunge into space battles against spacefighters, space stations and more !
No Gravity is a space shooter in 3D a la Wing Commander. The player is controlling a space ship view from the first person. In each mission, the player need to accomplish some objectives, like shoot and destroys enemy ships or base, escorting some ships, clearing mine field, etc....
A brief description of the objectives is given at the beginning of a mission. In some situations, the player has some wingmen, and it can controls them by giving order like attack enemy, retreat, protect the base etc... A mission is composed of different sectors which has differents objectives.
When the objectives of the current sector is complete, the player needs to go the nearest NAV point, when he can wrap to the next sector. In the last sector, a warp gate is apparearing and the player need to go through it and complete the level. At the end of each episodes (one episode is 10 missions), there is a large base station to destroy.
When the player complete all the episodes (5 episodes), the game ends. The mission fails if : - The player got destroyed or - if an objective is not complete (like an important ship being destroyed by enemy).
Installation:
For Linux users, Download the No Gravity (Combo Bin+Data - Win32/Mac/Linux only)
for Linux i386 package and run the autopackage.
<<lessNo Gravity is a space shooter in 3D a la Wing Commander. The player is controlling a space ship view from the first person. In each mission, the player need to accomplish some objectives, like shoot and destroys enemy ships or base, escorting some ships, clearing mine field, etc....
A brief description of the objectives is given at the beginning of a mission. In some situations, the player has some wingmen, and it can controls them by giving order like attack enemy, retreat, protect the base etc... A mission is composed of different sectors which has differents objectives.
When the objectives of the current sector is complete, the player needs to go the nearest NAV point, when he can wrap to the next sector. In the last sector, a warp gate is apparearing and the player need to go through it and complete the level. At the end of each episodes (one episode is 10 missions), there is a large base station to destroy.
When the player complete all the episodes (5 episodes), the game ends. The mission fails if : - The player got destroyed or - if an objective is not complete (like an important ship being destroyed by enemy).
Installation:
For Linux users, Download the No Gravity (Combo Bin+Data - Win32/Mac/Linux only)
for Linux i386 package and run the autopackage.
Download (31.6MB)
Added: 2006-02-16 License: GPL (GNU General Public License) Price:
1351 downloads
Zero Calorie DNS Server 1.1.0
Zero Calorie DNS is a domain name server. more>>
Zero Calorie DNS is a domain name server for which the binary weighs in at 26K, that has no dependencies other than the minimal FreeBSD 6.0 installation.
The server responds to "name server" (NS), "start of authority" (SOA), "address record" (A), "reverse address" (PTR), and "mail exchanger" (MX) requests. The server is fairly fast because the feature set has been trimmed down to the bare minimum.
A few things are hard-coded so that a two minute setup is easy to accomplish. The hard-coding means that it may not be for everyone, however.
<<lessThe server responds to "name server" (NS), "start of authority" (SOA), "address record" (A), "reverse address" (PTR), and "mail exchanger" (MX) requests. The server is fairly fast because the feature set has been trimmed down to the bare minimum.
A few things are hard-coded so that a two minute setup is easy to accomplish. The hard-coding means that it may not be for everyone, however.
Download (5.9MB)
Added: 2007-05-17 License: Free To Use But Restricted Price:
898 downloads
Ubuntu Center Alpha 1
Ubuntu Center is a web based interface for accessing all kinds of information thats being stored on your computer. more>>
Ubuntu Center is a web based interface for accessing all kinds of information thats being stored on your computer running Ubuntu Breezy, XUbuntu, Kubuntu or even nUbuntu box.
Ubuntu Center accomplishes all of this by integrating PHP software licensed under the GPL license in one giant package suitable for use on a Ubuntu computer. This release adds tons of new features and bug fixes and is suitable for everyday use.
Enhancements:
- A Web-based installer was implemented and an admin area was added.
<<lessUbuntu Center accomplishes all of this by integrating PHP software licensed under the GPL license in one giant package suitable for use on a Ubuntu computer. This release adds tons of new features and bug fixes and is suitable for everyday use.
Enhancements:
- A Web-based installer was implemented and an admin area was added.
Download (5.2MB)
Added: 2006-05-15 License: GPL (GNU General Public License) Price:
1265 downloads
HTML::Macro 1.27
HTML::Macro can process HTML templates with loops, conditionals, macros and more! more>>
HTML::Macro can process HTML templates with loops, conditionals, macros and more!
SYNOPSIS
use HTML::Macro;
$htm = new HTML::Macro (template.html);
$htm->print;
sub myfunc {
$htm->declare (var, missing);
$htm->set (var, value);
return $htm->process;
}
( in template.html ):
< html >< body >
< eval expr="&myfunc" >
< if def="missing" >
Message about missing stuff...
< else / >
Vars value is #var#.
< /if >
< /eval >
< /body >< /html >
HTML::Macro is a module to be used behind a web server (in CGI scripts). It provides a convenient mechanism for generating HTML pages by combining "dynamic" data derived from a database or other computation with HTML templates that represent fixed or "static" content of a page.
There are many different ways to accomplish what HTML::Macro does, including ASP, embedded perl, CFML, etc, etc. The motivation behind HTML::Macro is to keep everything that a graphic designer wants to play with *in a single HTML template*, and to keep as much as possible of what a perl programmer wants to play with *in a perl file*. Our thinking is that there are two basically dissimilar tasks involved in producing a dynamic web page: graphic design and programming. Even if one person is responsible for both tasks, it is useful to separate them in order to aid clear thinking and organized work. I guess you could say the main motivation for this separation is to make it easier for emacs (and other text processors, including humans) to parse your files: its yucky to have a lot of HTML in a string in your perl file, and its yucky to have perl embedded in a special tag in an HTML file.
HTML::Macro began with some simple programming constructs: macro expansions, include files, conditionals, loops and block quotes. Since then weve added very little: only a define tag to allow setting values and an eval tag to allow perl function calls in a nested macro scope. Our creed is "less is more, more or less."
HTML::Macro variables will look familiar to C preprocessor users or especially to Cold Fusion people. They are always surrounded with single or double hash marks: "#" or "##". Variables surrounded by double hash marks are subject to html entity encoding; variables with single hash marks are substituted "as is" (like single quotes in perl or UNIX shells). Conditionals are denoted by the and tags, and loops by the tag. Quoting used to be done using a tag, but we now deprecate that in favor of the more familiar CFML quoting syntax: < !--- --- >.
<<lessSYNOPSIS
use HTML::Macro;
$htm = new HTML::Macro (template.html);
$htm->print;
sub myfunc {
$htm->declare (var, missing);
$htm->set (var, value);
return $htm->process;
}
( in template.html ):
< html >< body >
< eval expr="&myfunc" >
< if def="missing" >
Message about missing stuff...
< else / >
Vars value is #var#.
< /if >
< /eval >
< /body >< /html >
HTML::Macro is a module to be used behind a web server (in CGI scripts). It provides a convenient mechanism for generating HTML pages by combining "dynamic" data derived from a database or other computation with HTML templates that represent fixed or "static" content of a page.
There are many different ways to accomplish what HTML::Macro does, including ASP, embedded perl, CFML, etc, etc. The motivation behind HTML::Macro is to keep everything that a graphic designer wants to play with *in a single HTML template*, and to keep as much as possible of what a perl programmer wants to play with *in a perl file*. Our thinking is that there are two basically dissimilar tasks involved in producing a dynamic web page: graphic design and programming. Even if one person is responsible for both tasks, it is useful to separate them in order to aid clear thinking and organized work. I guess you could say the main motivation for this separation is to make it easier for emacs (and other text processors, including humans) to parse your files: its yucky to have a lot of HTML in a string in your perl file, and its yucky to have perl embedded in a special tag in an HTML file.
HTML::Macro began with some simple programming constructs: macro expansions, include files, conditionals, loops and block quotes. Since then weve added very little: only a define tag to allow setting values and an eval tag to allow perl function calls in a nested macro scope. Our creed is "less is more, more or less."
HTML::Macro variables will look familiar to C preprocessor users or especially to Cold Fusion people. They are always surrounded with single or double hash marks: "#" or "##". Variables surrounded by double hash marks are subject to html entity encoding; variables with single hash marks are substituted "as is" (like single quotes in perl or UNIX shells). Conditionals are denoted by the and tags, and loops by the tag. Quoting used to be done using a tag, but we now deprecate that in favor of the more familiar CFML quoting syntax: < !--- --- >.
Download (0.023MB)
Added: 2006-07-31 License: Perl Artistic License Price:
1180 downloads
Double Choco LatteBugzero 0.9.5
Double Choco LatteBugzero is a software configuration management/bug/enhancement tracking software. more>>
Double Choco Latte is a GNU Enterprise package that provides basic project management capabilities, time tracking on tasks, call tracking, email notifications, online documents, statistical reports, a report engine, and more features are either working or being developed/planned.
It can be displayed inside of a phpGroupWare installation or be used stand-alone. Double Choco LatteBugzero is licensed under the GPL (GNU Public License), which means it is free to study, distribute, modify, and use.
Main features:
- Work Orders - Use for tracking history of almost anything: bugs, requests, maintenance, project tasks.
- Projects - Include hierarchal support so sub-projects can be created. Parent projects statistics include all child project stats to provide an overall status of all projects.
- Call Tickets - Use for contact with clients. Self-timing.
- Time Cards - Time taken on a work order to accomplish an action. Multiple time cards can be input for a single work order.
- Attribute Sets
- An attribute set consists of: Actions, Priorities, Severities, Statuses.
- Each product can support its own attribute set for work orders and tickets.
- Accounts - Client based tracking
- Personnel - People involved in the projects, including hierarchal support
- Departments - To "categorize" personnel
- Severities - List a bugs severity level
- Priorities - Ranks bugs by priority
- Statuses - Tracks bugs by status
- Sequences - Related Work Orders carry the same Job Number and incremental sequence numbers. Can be used for projects.
- Products - Obvious, but also can be assigned a person to "report to". Useful for product managers to track what theyre responsible for.
- E-Mail notification via watches.
- Notification for statuses: Open, Close, Change
- Optional notification for any activity
- Can watch a product or project and receive E-Mails for their respective work orders
- Can watch a specific work order.
- Can also watch tickets in the same way, with the exception of projects.
<<lessIt can be displayed inside of a phpGroupWare installation or be used stand-alone. Double Choco LatteBugzero is licensed under the GPL (GNU Public License), which means it is free to study, distribute, modify, and use.
Main features:
- Work Orders - Use for tracking history of almost anything: bugs, requests, maintenance, project tasks.
- Projects - Include hierarchal support so sub-projects can be created. Parent projects statistics include all child project stats to provide an overall status of all projects.
- Call Tickets - Use for contact with clients. Self-timing.
- Time Cards - Time taken on a work order to accomplish an action. Multiple time cards can be input for a single work order.
- Attribute Sets
- An attribute set consists of: Actions, Priorities, Severities, Statuses.
- Each product can support its own attribute set for work orders and tickets.
- Accounts - Client based tracking
- Personnel - People involved in the projects, including hierarchal support
- Departments - To "categorize" personnel
- Severities - List a bugs severity level
- Priorities - Ranks bugs by priority
- Statuses - Tracks bugs by status
- Sequences - Related Work Orders carry the same Job Number and incremental sequence numbers. Can be used for projects.
- Products - Obvious, but also can be assigned a person to "report to". Useful for product managers to track what theyre responsible for.
- E-Mail notification via watches.
- Notification for statuses: Open, Close, Change
- Optional notification for any activity
- Can watch a product or project and receive E-Mails for their respective work orders
- Can watch a specific work order.
- Can also watch tickets in the same way, with the exception of projects.
Download (0.97MB)
Added: 2007-01-09 License: GPL (GNU General Public License) Price:
1021 downloads
Quanta Plus 3.1.1
Quanta Plus is a great web development tool for the K Desktop Environment more>>
Quanta Plus is a web development tool for the K Desktop Environment. Quanta is designed for quick web development and is rapidly becoming a mature editor with a number of great features.
Quanta is a markup and scripting language IDE that strives to be DTD agnostic, supporting web based markup and scripting languages.
Our objective remains to create the very best web development tool anywhere. We realize that we will need many more people active to accomplish this so we are in the process of developing enhancements geared toward making it easy for web developers to customize, extend and enhance Quanta. Then we will be asking you, the web developers, to contribute your feature enhancements. We will organize these so that Quanta web developers can find just the resources, extensions and custom plugins they need to be the most kick butt developers ever.
--Eric Lafoon
Doesnt it just bring a tear to your eyes?
<<lessQuanta is a markup and scripting language IDE that strives to be DTD agnostic, supporting web based markup and scripting languages.
Our objective remains to create the very best web development tool anywhere. We realize that we will need many more people active to accomplish this so we are in the process of developing enhancements geared toward making it easy for web developers to customize, extend and enhance Quanta. Then we will be asking you, the web developers, to contribute your feature enhancements. We will organize these so that Quanta web developers can find just the resources, extensions and custom plugins they need to be the most kick butt developers ever.
--Eric Lafoon
Doesnt it just bring a tear to your eyes?
Download (2.78MB)
Added: 2009-04-22 License: Freeware Price:
204 downloads
Cons 2.3.0
Cons is a Software Construction System. more>>
Cons is a Software Construction System.
Cons is a system for constructing, primarily, software, but is quite different from previous software construction systems. Cons was designed from the ground up to deal easily with the construction of software spread over multiple source directories. Cons makes it easy to create build scripts that are simple, understandable and maintainable. Cons ensures that complex software is easily and accurately reproducible.
Cons uses a number of techniques to accomplish all of this. Construction scripts are just Perl scripts, making them both easy to comprehend and very flexible. Global scoping of variables is replaced with an import/export mechanism for sharing information between scripts, significantly improving the readability and maintainability of each script.
Construction environments are introduced: these are Perl objects that capture the information required for controlling the build process. Multiple environments are used when different semantics are required for generating products in the build tree. Cons implements automatic dependency analysis and uses this to globally sequence the entire build. Variant builds are easily produced from a single source tree. Intelligent build subsetting is possible, when working on localized changes. Overrides can be setup to easily override build instructions without modifying any scripts. MD5 cryptographic signatures are associated with derived files, and are used to accurately determine whether a given file needs to be rebuilt.
While offering all of the above, and more, Cons remains simple and easy to use. This will, hopefully, become clear as you read the remainder of this document.
Why Cons? Why not Make?
Cons is a make replacement. In the following paragraphs, we look at a few of the undesirable characteristics of make--and typical build environments based on make--that motivated the development of Cons.
Build complexity
Traditional make-based systems of any size tend to become quite complex. The original make utility and its derivatives have contributed to this tendency in a number of ways. Make is not good at dealing with systems that are spread over multiple directories. Various work-arounds are used to overcome this difficulty; the usual choice is for make to invoke itself recursively for each sub-directory of a build. This leads to complicated code, in which it is often unclear how a variable is set, or what effect the setting of a variable will have on the build as a whole. The make scripting language has gradually been extended to provide more possibilities, but these have largely served to clutter an already overextended language. Often, builds are done in multiple passes in order to provide appropriate products from one directory to another directory. This represents a further increase in build complexity.
Build reproducibility
The bane of all makes has always been the correct handling of dependencies. Most often, an attempt is made to do a reasonable job of dependencies within a single directory, but no serious attempt is made to do the job between directories. Even when dependencies are working correctly, makes reliance on a simple time stamp comparison to determine whether a file is out of date with respect to its dependents is not, in general, adequate for determining when a file should be rederived. If an external library, for example, is rebuilt and then ``snapped into place, the timestamps on its newly created files may well be earlier than the last local build, since it was built before it became visible.
Variant builds
Make provides only limited facilities for handling variant builds. With the proliferation of hardware platforms and the need for debuggable vs. optimized code, the ability to easily create these variants is essential. More importantly, if variants are created, it is important to either be able to separate the variants or to be able to reproduce the original or variant at will. With make it is very difficult to separate the builds into multiple build directories, separate from the source. And if this technique isnt used, its also virtually impossible to guarantee at any given time which variant is present in the tree, without resorting to a complete rebuild.
Repositories
Make provides only limited support for building software from code that exists in a central repository directory structure. The VPATH feature of GNU make (and some other make implementations) is intended to provide this, but doesnt work as expected: it changes the path of target file to the VPATH name too early in its analysis, and therefore searches for all dependencies in the VPATH directory. To ensure correct development builds, it is important to be able to create a file in a local build directory and have any files in a code repository (a VPATH directory, in make terms) that depend on the local file get rebuilt properly. This isnt possible with VPATH, without coding a lot of complex repository knowledge directly into the makefiles.
<<lessCons is a system for constructing, primarily, software, but is quite different from previous software construction systems. Cons was designed from the ground up to deal easily with the construction of software spread over multiple source directories. Cons makes it easy to create build scripts that are simple, understandable and maintainable. Cons ensures that complex software is easily and accurately reproducible.
Cons uses a number of techniques to accomplish all of this. Construction scripts are just Perl scripts, making them both easy to comprehend and very flexible. Global scoping of variables is replaced with an import/export mechanism for sharing information between scripts, significantly improving the readability and maintainability of each script.
Construction environments are introduced: these are Perl objects that capture the information required for controlling the build process. Multiple environments are used when different semantics are required for generating products in the build tree. Cons implements automatic dependency analysis and uses this to globally sequence the entire build. Variant builds are easily produced from a single source tree. Intelligent build subsetting is possible, when working on localized changes. Overrides can be setup to easily override build instructions without modifying any scripts. MD5 cryptographic signatures are associated with derived files, and are used to accurately determine whether a given file needs to be rebuilt.
While offering all of the above, and more, Cons remains simple and easy to use. This will, hopefully, become clear as you read the remainder of this document.
Why Cons? Why not Make?
Cons is a make replacement. In the following paragraphs, we look at a few of the undesirable characteristics of make--and typical build environments based on make--that motivated the development of Cons.
Build complexity
Traditional make-based systems of any size tend to become quite complex. The original make utility and its derivatives have contributed to this tendency in a number of ways. Make is not good at dealing with systems that are spread over multiple directories. Various work-arounds are used to overcome this difficulty; the usual choice is for make to invoke itself recursively for each sub-directory of a build. This leads to complicated code, in which it is often unclear how a variable is set, or what effect the setting of a variable will have on the build as a whole. The make scripting language has gradually been extended to provide more possibilities, but these have largely served to clutter an already overextended language. Often, builds are done in multiple passes in order to provide appropriate products from one directory to another directory. This represents a further increase in build complexity.
Build reproducibility
The bane of all makes has always been the correct handling of dependencies. Most often, an attempt is made to do a reasonable job of dependencies within a single directory, but no serious attempt is made to do the job between directories. Even when dependencies are working correctly, makes reliance on a simple time stamp comparison to determine whether a file is out of date with respect to its dependents is not, in general, adequate for determining when a file should be rederived. If an external library, for example, is rebuilt and then ``snapped into place, the timestamps on its newly created files may well be earlier than the last local build, since it was built before it became visible.
Variant builds
Make provides only limited facilities for handling variant builds. With the proliferation of hardware platforms and the need for debuggable vs. optimized code, the ability to easily create these variants is essential. More importantly, if variants are created, it is important to either be able to separate the variants or to be able to reproduce the original or variant at will. With make it is very difficult to separate the builds into multiple build directories, separate from the source. And if this technique isnt used, its also virtually impossible to guarantee at any given time which variant is present in the tree, without resorting to a complete rebuild.
Repositories
Make provides only limited support for building software from code that exists in a central repository directory structure. The VPATH feature of GNU make (and some other make implementations) is intended to provide this, but doesnt work as expected: it changes the path of target file to the VPATH name too early in its analysis, and therefore searches for all dependencies in the VPATH directory. To ensure correct development builds, it is important to be able to create a file in a local build directory and have any files in a code repository (a VPATH directory, in make terms) that depend on the local file get rebuilt properly. This isnt possible with VPATH, without coding a lot of complex repository knowledge directly into the makefiles.
Download (0.23MB)
Added: 2007-05-29 License: GPL (GNU General Public License) Price:
880 downloads
ETrace 1.1
ETrace is a configurable static port network tracing tool, similar to traceroute, but supporting ICMP, TCP, UDP, etc. more>>
ETrace is a configurable static port network tracing tool, similar to traceroute, but supporting ICMP, TCP, UDP and other IP protocols.
Usage:
etrace [ -BbCcnv ] [ -p profile ] [ -F config ] [ -i interface ] [ -I icmp-type ] [ -T port ] [ -U port ] [ -P protocol ] [ -r probe-count ] [ -t timeout ] [ -1 hop ] [ -h hop ] [ -m hop ] [ -A address ] [ -s port ] [ -f flags ] [ -d data ] [ -D data-file ] [ -R count ] [ -q seq] [ -w window ] target [...]
Options:
etrace has a wealth of options ranging in function from controlling output to the detailed construction of trace packets.
Profile Options:
A profile is a pre-configured list of options stored in a shared, or user specific configuration file. By defining profiles, complex etrace option sets can be easily accessed with a single command line option.
-p, --profile
Specify a profile.
-C, --clear
Clear the current list of probes. This option can be used to allow a profile to inherit options from another profile, but specify its own list of probes.
-F, --config
Specify an alternative profiles file.
Interface options
-i, --interface
Specify interface. If unspecified, etrace will examine the routing table and select the most appropriate interface for each target address.
-c, --promisc
Put in interface into promiscuous mode. As this option increases the load on the system in general, it should only be used if spoofing of source packets address is enabled with the "-A" option.
Trace Type Options
-I, --icmp
Specify an ICMP trace and the packet type to use. ICMP traces may use Echo (E or P), Timestamp (T or S), Netmask (N or M) or Info (I). The default trace probe is an ICMP Echo.
-h, --hop
Specify a specific hop to investigate.
-m, --maximum
Specify the maximum number of hops.
-r, --probes
Set the maximum number of probes to send per hop. The default is 3.
-t, --timeout
Set the maximum amount of time, in milli-seconds, to wait for a response to a probe. The default is 3000 (three seconds).
Packet Construction Options
-A, --address
Specify the source IP address of generated packets.
-s, --source
Set the source port of the generated probe packets. If unspecified, etrace uses a random high port.
-f, --flags
Specify TCP and/or IP flags. Takes a comma delimitered list of any of the following flags: RF, DF, MF, FIN, SYN, RST, PSH, ACK, URG, ECE, CWR (Default: SYN)
-d, --data
Specify the data content of generated probe packets. Standard meta-characters are recognised (e.g. "nt") as are binary values given in octal (e.g. " 00x00");
-D, --data-file
Load the data content of the generated probe packets from the specified file. Filenames beginning with @ a loaded from the etrace shared data directory (usually /usr/local/share/etrace). etrace currently ships with the following predfined packet data files: dns, ike.
-R, --random
Fill the data content of the generated probe packets with the specified number of random bytes.
-b, --badcksum
Generate and send probe packets with bad checksums.
-q, --seq
Specify the TCP sequence number.
-w, --window
Specify the TCP window size.
Output Options
-v, --verbose
Increase output verbosity.
-B, --debug
Enable debugging output.
-n, --numeric
Disable name resolution.
Examples:
etrace www.sample.com
Launches a trace ICMP Echo, the default, trace to www.sample.com. Specifiying the options "-I E" whould accomplish the same results.
etrace -T 80 www.sample.com
Similar to the previous example, except the trace is performed on TCP port 80.
etrace --udp 53 --data-file @dns ns.sample.com
Starts are trace to ns.sample.com on UDP port 53 with the trace packets containing data loaded from the file /usr/local/share/etrace/dns (a file supplied with etrace that contains a simple dns request to resolve 127.0.0.1).
etrace -p dns -p fast ns.sample.com
The default profiles shipped with etrace include "dns" (which equates to the options shown in the previous example) and "fast" (which decreases both timeouts and the number of probes sent for each hop, as well as disabling name resolution). Profiles are stackable, with latter options overriding those specified in earlier profiles.
<<lessUsage:
etrace [ -BbCcnv ] [ -p profile ] [ -F config ] [ -i interface ] [ -I icmp-type ] [ -T port ] [ -U port ] [ -P protocol ] [ -r probe-count ] [ -t timeout ] [ -1 hop ] [ -h hop ] [ -m hop ] [ -A address ] [ -s port ] [ -f flags ] [ -d data ] [ -D data-file ] [ -R count ] [ -q seq] [ -w window ] target [...]
Options:
etrace has a wealth of options ranging in function from controlling output to the detailed construction of trace packets.
Profile Options:
A profile is a pre-configured list of options stored in a shared, or user specific configuration file. By defining profiles, complex etrace option sets can be easily accessed with a single command line option.
-p, --profile
Specify a profile.
-C, --clear
Clear the current list of probes. This option can be used to allow a profile to inherit options from another profile, but specify its own list of probes.
-F, --config
Specify an alternative profiles file.
Interface options
-i, --interface
Specify interface. If unspecified, etrace will examine the routing table and select the most appropriate interface for each target address.
-c, --promisc
Put in interface into promiscuous mode. As this option increases the load on the system in general, it should only be used if spoofing of source packets address is enabled with the "-A" option.
Trace Type Options
-I, --icmp
Specify an ICMP trace and the packet type to use. ICMP traces may use Echo (E or P), Timestamp (T or S), Netmask (N or M) or Info (I). The default trace probe is an ICMP Echo.
-h, --hop
Specify a specific hop to investigate.
-m, --maximum
Specify the maximum number of hops.
-r, --probes
Set the maximum number of probes to send per hop. The default is 3.
-t, --timeout
Set the maximum amount of time, in milli-seconds, to wait for a response to a probe. The default is 3000 (three seconds).
Packet Construction Options
-A, --address
Specify the source IP address of generated packets.
-s, --source
Set the source port of the generated probe packets. If unspecified, etrace uses a random high port.
-f, --flags
Specify TCP and/or IP flags. Takes a comma delimitered list of any of the following flags: RF, DF, MF, FIN, SYN, RST, PSH, ACK, URG, ECE, CWR (Default: SYN)
-d, --data
Specify the data content of generated probe packets. Standard meta-characters are recognised (e.g. "nt") as are binary values given in octal (e.g. " 00x00");
-D, --data-file
Load the data content of the generated probe packets from the specified file. Filenames beginning with @ a loaded from the etrace shared data directory (usually /usr/local/share/etrace). etrace currently ships with the following predfined packet data files: dns, ike.
-R, --random
Fill the data content of the generated probe packets with the specified number of random bytes.
-b, --badcksum
Generate and send probe packets with bad checksums.
-q, --seq
Specify the TCP sequence number.
-w, --window
Specify the TCP window size.
Output Options
-v, --verbose
Increase output verbosity.
-B, --debug
Enable debugging output.
-n, --numeric
Disable name resolution.
Examples:
etrace www.sample.com
Launches a trace ICMP Echo, the default, trace to www.sample.com. Specifiying the options "-I E" whould accomplish the same results.
etrace -T 80 www.sample.com
Similar to the previous example, except the trace is performed on TCP port 80.
etrace --udp 53 --data-file @dns ns.sample.com
Starts are trace to ns.sample.com on UDP port 53 with the trace packets containing data loaded from the file /usr/local/share/etrace/dns (a file supplied with etrace that contains a simple dns request to resolve 127.0.0.1).
etrace -p dns -p fast ns.sample.com
The default profiles shipped with etrace include "dns" (which equates to the options shown in the previous example) and "fast" (which decreases both timeouts and the number of probes sent for each hop, as well as disabling name resolution). Profiles are stackable, with latter options overriding those specified in earlier profiles.
Download (0.046MB)
Added: 2007-08-18 License: GPL (GNU General Public License) Price:
798 downloads
octavia 0.25
octavia is a compiler for a music description language that compiles to MIDI data. more>>
octavia is a compiler for a music description language that compiles to MIDI data. octavia music source files can also use Python code to perform generic programming tasks that a composer might wish to accomplish.
Enhancements:
- This release deals correctly with accented notes in chords.
- The program should now work in Windows.
- #CUT and #SAVE points were added in the script to automate cutting octfunc.py.
- A file is not created unless a player function is seen in the source.
- Unprocessing a processed sequence recreates the chords and arpeggiation appropriately.
- Plugins are now also sought in the LaunchPath of octavia program+/plugins/.
- Text and Tracknames are created automatically.
<<lessEnhancements:
- This release deals correctly with accented notes in chords.
- The program should now work in Windows.
- #CUT and #SAVE points were added in the script to automate cutting octfunc.py.
- A file is not created unless a player function is seen in the source.
- Unprocessing a processed sequence recreates the chords and arpeggiation appropriately.
- Plugins are now also sought in the LaunchPath of octavia program+/plugins/.
- Text and Tracknames are created automatically.
Download (0.27MB)
Added: 2006-07-31 License: GPL (GNU General Public License) Price:
1182 downloads
DragonFly BSD 1.10.1
DragonFly is an operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series. more>>
DragonFly is an Linux operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series. These operating systems belong in the same class as Linux in that they are based on UNIX ideals and APIs. DragonFly is a fork in the path, so to speak, giving the BSD base an opportunity to grow in an entirely new direction from the one taken in the FreeBSD-5 series.
It is our belief that the correct choice of features and algorithms can yield the potential for excellent scalability, robustness, and debuggability in a number of broad system categories. Not just for SMP or NUMA, but for everything from a single-node UP system to a massively clustered system. It is our belief that a fairly simple but wide-ranging set of goals will lay the groundwork for future growth.
The existing BSD cores, including FreeBSD-5, are still primarily based on models which could at best be called strained as they are applied to modern systems. The true innovation has given way to basically just laying on hacks to add features, such as encrypted disks and security layering that in a better environment could be developed at far less cost and with far greater flexibility.
We also believe that it is important to provide API solutions which allow reasonable backwards and forwards version compatibility, at least between userland and the kernel, in a mix-and-match environment. If one considers the situation from the ultimate in clustering... secure anonymous system clustering over the internet, the necessity of having properly specified APIs becomes apparent.
Finally, we believe that a fully integrated and feature-full upgrade mechanism should exist to allow end users and system operators of all walks of life to easily maintain their systems. Debian Linux has shown us the way, but it is possible to do better.
DragonFly is going to be a multi-year project at the very least. Achieving our goal set will require a great deal of groundwork just to reposition existing mechanisms to fit the new models. The goals link will take you to a more detailed description of what we hope to accomplish.
1.2.0 is our second major DragonFly release and the first one which we have created a separate CVS branch for. DragonFlys policy is to only commit bug fixes to release branches.
This release represents a significant milestone in our efforts to improve the kernel infrastructure. DragonFly is still running under the Big Giant Lock, but this will probably be the last release where that is the case.
The greatest progress has been made in the network subsystem. The TCP stack is now almost fully threaded (and will likely be the first subsystem we remove the BGL from in coming months). The TCP stack now fully supports the SACK protocol and a large number of bug and performance fixes have gone in, especially in regard to GigE performance over LANs.
The namecache has been completely rewritten and is now considered to be production-ready with this release. The rewrite will greatly simplify future filesystem work and is a necessary precursor for our ultimate goal of creating a clusterable OS.
This will be last release that uses GCC 2.95.x as the default compiler. Both GCC 3.4.x and GCC 2.95.x are supported in this release through the use of the CCVER environment variable (gcc2 or gcc34). GCC 2.95.x is to be retired soon due to its lack of TLS support. The current development branch will soon start depending heavily on TLS support and __thread both within the kernel and in libc and other libraries. This release fully supports TLS segments for programs compiled with gcc-3.4.x.
It goes without saying that this release is far more stable then our 1.0A release. A huge number of bug fixes, performance improvements, and design changes have been made since the 1.0A release.
<<lessIt is our belief that the correct choice of features and algorithms can yield the potential for excellent scalability, robustness, and debuggability in a number of broad system categories. Not just for SMP or NUMA, but for everything from a single-node UP system to a massively clustered system. It is our belief that a fairly simple but wide-ranging set of goals will lay the groundwork for future growth.
The existing BSD cores, including FreeBSD-5, are still primarily based on models which could at best be called strained as they are applied to modern systems. The true innovation has given way to basically just laying on hacks to add features, such as encrypted disks and security layering that in a better environment could be developed at far less cost and with far greater flexibility.
We also believe that it is important to provide API solutions which allow reasonable backwards and forwards version compatibility, at least between userland and the kernel, in a mix-and-match environment. If one considers the situation from the ultimate in clustering... secure anonymous system clustering over the internet, the necessity of having properly specified APIs becomes apparent.
Finally, we believe that a fully integrated and feature-full upgrade mechanism should exist to allow end users and system operators of all walks of life to easily maintain their systems. Debian Linux has shown us the way, but it is possible to do better.
DragonFly is going to be a multi-year project at the very least. Achieving our goal set will require a great deal of groundwork just to reposition existing mechanisms to fit the new models. The goals link will take you to a more detailed description of what we hope to accomplish.
1.2.0 is our second major DragonFly release and the first one which we have created a separate CVS branch for. DragonFlys policy is to only commit bug fixes to release branches.
This release represents a significant milestone in our efforts to improve the kernel infrastructure. DragonFly is still running under the Big Giant Lock, but this will probably be the last release where that is the case.
The greatest progress has been made in the network subsystem. The TCP stack is now almost fully threaded (and will likely be the first subsystem we remove the BGL from in coming months). The TCP stack now fully supports the SACK protocol and a large number of bug and performance fixes have gone in, especially in regard to GigE performance over LANs.
The namecache has been completely rewritten and is now considered to be production-ready with this release. The rewrite will greatly simplify future filesystem work and is a necessary precursor for our ultimate goal of creating a clusterable OS.
This will be last release that uses GCC 2.95.x as the default compiler. Both GCC 3.4.x and GCC 2.95.x are supported in this release through the use of the CCVER environment variable (gcc2 or gcc34). GCC 2.95.x is to be retired soon due to its lack of TLS support. The current development branch will soon start depending heavily on TLS support and __thread both within the kernel and in libc and other libraries. This release fully supports TLS segments for programs compiled with gcc-3.4.x.
It goes without saying that this release is far more stable then our 1.0A release. A huge number of bug fixes, performance improvements, and design changes have been made since the 1.0A release.
Download (112MB)
Added: 2007-08-21 License: BSD License Price:
796 downloads
Olive 0.11.0
Olive aims to be a full-featured graphical frontend for Bazaar. more>>
Olive project aims to be a full-featured graphical frontend for Bazaar. That means all core functionality of Bazaar should be available in a user-friendly GUI. This goal is more or less accomplished in the development branch (read on for features).
The current frontend uses GTK and its written in Python. Olive is originally developed by SzilveszterFarkas (started during Google Summer of Code 2006). The code consists of two main parts: a backend and a frontend. The backend code wraps up bzrlib in a well-documented, easy-to-use way. The frontend mainly depends on this codebase.
<<lessThe current frontend uses GTK and its written in Python. Olive is originally developed by SzilveszterFarkas (started during Google Summer of Code 2006). The code consists of two main parts: a backend and a frontend. The backend code wraps up bzrlib in a well-documented, easy-to-use way. The frontend mainly depends on this codebase.
Download (0.096MB)
Added: 2006-09-27 License: GPL (GNU General Public License) Price:
1123 downloads
Cylindrix 1.0
Cylindrix is a polygonal 3D action strategy shooter. more>>
Cylindrix project is a polygonal 3D action strategy shooter.
It released for DOS in 1995, and is now ported to Windows and Linux.
Way way back in 1995 I was one of two programmers who wrote the game Cylindrix. It was a DOS game.
We wrote it before Windows was a viable option for gaming. Because of DOSs limitations we had to use DJGPP, the protected mode GCC for DOS.
This allowed us to use more than 640k of RAM without having to mess with goofy EMS managers. We had to write everything from scratch...the keyboard interrupts, the graphics access, everything.
Ive been wanting to port it over to Windows for a while, since it wouldnt run on Windows2000 or XP.
I recently got a burst of energy and decided to do the port to both Windows and Linux at the same time. I used the Allegro library to accomplish this.
<<lessIt released for DOS in 1995, and is now ported to Windows and Linux.
Way way back in 1995 I was one of two programmers who wrote the game Cylindrix. It was a DOS game.
We wrote it before Windows was a viable option for gaming. Because of DOSs limitations we had to use DJGPP, the protected mode GCC for DOS.
This allowed us to use more than 640k of RAM without having to mess with goofy EMS managers. We had to write everything from scratch...the keyboard interrupts, the graphics access, everything.
Ive been wanting to port it over to Windows for a while, since it wouldnt run on Windows2000 or XP.
I recently got a burst of energy and decided to do the port to both Windows and Linux at the same time. I used the Allegro library to accomplish this.
Download (7.5MB)
Added: 2006-12-11 License: GPL (GNU General Public License) Price:
1048 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 to accomplish 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