substitute
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 84
App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. more>>
App::SimpleScan::Substitution::Line is a line with optional fixed variable values.
SYNOPSIS
my $line =
App::SimpleScan::Substitution::Line->new(" this ");
# Use only this value when substituting " ".
$line->fix(substituite => change);
# what vars are fixed?
my @fixed_ones = $line->fixed();
# Forget about now.
$line->unfix(substitute);
# Forget all fixed variables.
$line->no_fixed
# Get the line back as a string.
print "$line";
App::SimpleScan::Substitution::Line allows us to associate fixed substitution values with a specific string. This allows us to re-substituted the same value if, during string substitution, we find the variable reappearing as the result of substituting some other variable. This eliminates the "cross-product" bug that appeared in some complex nest substitions.
<<lessSYNOPSIS
my $line =
App::SimpleScan::Substitution::Line->new(" this ");
# Use only this value when substituting " ".
$line->fix(substituite => change);
# what vars are fixed?
my @fixed_ones = $line->fixed();
# Forget about now.
$line->unfix(substitute);
# Forget all fixed variables.
$line->no_fixed
# Get the line back as a string.
print "$line";
App::SimpleScan::Substitution::Line allows us to associate fixed substitution values with a specific string. This allows us to re-substituted the same value if, during string substitution, we find the variable reappearing as the result of substituting some other variable. This eliminates the "cross-product" bug that appeared in some complex nest substitions.
Download (0.053MB)
Added: 2007-02-12 License: Perl Artistic License Price:
984 downloads
IFStatus 1.1.0
IFStatus is a program for displaying commonly needed / wanted statistics in real time about ingoing and outgoing traffic. more>>
IFStatus was developed for Linux users that are usually in console mode.
It is a simple, easy to use program for displaying commonly needed / wanted statistics in real time about ingoing and outgoing traffic of multiple network interfaces that is usually hard to find, with a simple and effecient view.
IFStatus project is the substitute for PPPStatus and EthStatus projects.
I have decided to write this application for a simple cause: I could not find any console based interface monitor with simple features like graphical statistics.
Main features:
- Multiple interface support
- Dynamic graphic statistics
- Conectivity check
- Current Transfer
- TX and RX indicators
- Mbox e-mail check
- IP Address
- Online time
- Top Bytes/s
- Top Packets/s
- Ingoing
- Bytes
- Packets
- Errors
- Outgoing
- Bytes
- Packets
- Errors
<<lessIt is a simple, easy to use program for displaying commonly needed / wanted statistics in real time about ingoing and outgoing traffic of multiple network interfaces that is usually hard to find, with a simple and effecient view.
IFStatus project is the substitute for PPPStatus and EthStatus projects.
I have decided to write this application for a simple cause: I could not find any console based interface monitor with simple features like graphical statistics.
Main features:
- Multiple interface support
- Dynamic graphic statistics
- Conectivity check
- Current Transfer
- TX and RX indicators
- Mbox e-mail check
- IP Address
- Online time
- Top Bytes/s
- Top Packets/s
- Ingoing
- Bytes
- Packets
- Errors
- Outgoing
- Bytes
- Packets
- Errors
Download (0.024MB)
Added: 2006-01-17 License: GPL (GNU General Public License) Price:
1377 downloads
Class::Container 0.12
Class::Container is a Perl module with Glues object frameworks together transparently. more>>
Class::Container is a Perl module with Glues object frameworks together transparently.
SYNOPSIS
package Car;
use Class::Container;
@ISA = qw(Class::Container);
__PACKAGE__->valid_params
(
paint => {default => burgundy},
style => {default => coupe},
windshield => {isa => Glass},
radio => {isa => Audio::Device},
);
__PACKAGE__->contained_objects
(
windshield => Glass::Shatterproof,
wheel => { class => Vehicle::Wheel,
delayed => 1 },
radio => Audio::MP3,
);
sub new {
my $package = shift;
# windshield and radio objects are created automatically by
# SUPER::new()
my $self = $package->SUPER::new(@_);
$self->{right_wheel} = $self->create_delayed_object(wheel);
... do any more initialization here ...
return $self;
}
This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.
The main features of Class::Container are:
Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently
<<lessSYNOPSIS
package Car;
use Class::Container;
@ISA = qw(Class::Container);
__PACKAGE__->valid_params
(
paint => {default => burgundy},
style => {default => coupe},
windshield => {isa => Glass},
radio => {isa => Audio::Device},
);
__PACKAGE__->contained_objects
(
windshield => Glass::Shatterproof,
wheel => { class => Vehicle::Wheel,
delayed => 1 },
radio => Audio::MP3,
);
sub new {
my $package = shift;
# windshield and radio objects are created automatically by
# SUPER::new()
my $self = $package->SUPER::new(@_);
$self->{right_wheel} = $self->create_delayed_object(wheel);
... do any more initialization here ...
return $self;
}
This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.
The main features of Class::Container are:
Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently
Download (0.019MB)
Added: 2006-10-06 License: Perl Artistic License Price:
1113 downloads
TC System Monitor 1.44
TC System Monitor is the fastest system monitor dockapp. more>>
TC System Monitor is the fastest system monitor dockapp. Accept no substitute!
Quick Instructions:
o-------------o
| [---------] |<<less
Quick Instructions:
o-------------o
| [---------] |<<less
Download (0.032MB)
Added: 2006-10-13 License: GPL (GNU General Public License) Price:
1108 downloads
Skalcuverter 3.0
SuperKaramba Calculator is a very simple calculator theme, with a lot of hidden power. more>>
The normal desktop calculators seem counter-intuitive to me. Why emulate the limited interface (ie a numeric pad) of a pocket calculator, when youve got the power of a desktop computer and keyboard at your finger tips.
SuperKaramba Calculator is a very simple calculator theme, with a lot of hidden power. It uses the google calculator as its engine, which means that it can do complex calculations from a very simple interface. If the calculation is a simple mathematical expression, the theme will use the bc program, rather than going online. It does unit conversions and currency conversions as well.
You can enter an equation in mathematical notation, or in everyday language. For example:
four plus five
4+5
2000 kilometers per hour in feet per year
The theme stores the last 10 queries, so that you can go back over them.
The theme checks for invalid characters, and parentheses mismatches.
The theme also allows you to use the keyword "ans" in your query, which will substitute the last result into your current query. This could save typing a lot of text if youre chaining queries together.
How to use it ...
This is so simple to use, it doesnt really need a manual. The theme consists of three elements. A text entry box, a text display and a button.
To run a calculation, put your query in the text box. Then left click the button. The theme will go off and do its magic, and come back with an answer that will be displayed as text underneath the text box.
Sometimes what you enter may not be able to be processed, either because youve typed it wrong, or it doesnt understand you, or because youre asking it to do too much. If that is the case, then the theme will tell you.
To access previous queries, middle click on the button, and select the relevant query from the dropdown list.
<<lessSuperKaramba Calculator is a very simple calculator theme, with a lot of hidden power. It uses the google calculator as its engine, which means that it can do complex calculations from a very simple interface. If the calculation is a simple mathematical expression, the theme will use the bc program, rather than going online. It does unit conversions and currency conversions as well.
You can enter an equation in mathematical notation, or in everyday language. For example:
four plus five
4+5
2000 kilometers per hour in feet per year
The theme stores the last 10 queries, so that you can go back over them.
The theme checks for invalid characters, and parentheses mismatches.
The theme also allows you to use the keyword "ans" in your query, which will substitute the last result into your current query. This could save typing a lot of text if youre chaining queries together.
How to use it ...
This is so simple to use, it doesnt really need a manual. The theme consists of three elements. A text entry box, a text display and a button.
To run a calculation, put your query in the text box. Then left click the button. The theme will go off and do its magic, and come back with an answer that will be displayed as text underneath the text box.
Sometimes what you enter may not be able to be processed, either because youve typed it wrong, or it doesnt understand you, or because youre asking it to do too much. If that is the case, then the theme will tell you.
To access previous queries, middle click on the button, and select the relevant query from the dropdown list.
Download (0.023MB)
Added: 2006-02-06 License: GPL (GNU General Public License) Price:
1357 downloads
ubuildinit 0.2.0
ubuildinit is a utility for use with micro window-gadgets. more>>
ubuildinit is a utility for use with micro window-gadgets (UWG) that generates C source and header files from XML descriptions of visual interfaces.
Interfaces are described using XHPD, an XML-based hierarchical program description.
Micro WG is a C `version of WG. In general, UWG is somewhat more light-weight than WG. Firstly because its written in C and not C++. Secondly because it does not yet provide all the features of WG. Also, it should be significantly easier to `connect UWG to KRoC.
Why UWG ? Its now the case that there are many `widget libraries for programmers to choose from. The traditional X11 widget libraries (X Toolkit Intrinsics), GTK, QT, Motif, wxWindows, TK, etc.. GTK and QT are probably the most common for an average users desktop system -- as the graphics libraries of Gnome and KDE respectively. C++, used by WG, provides a largely type-safe environment for gadget programming -- i.e. the structure/nature of gadgets fit neatly into the C++ type (class) heirarchy.
However, C++ ultimately suffers from the same problems as some other `object-orientated languages -- namely leaky encapsulation. When writing WG, some of the limitations (maybe features) of C++ caused significant problems, particularly in the function-pointer department.
Object-orientation is a fine model for data, but it does not work well when `bolted-on to sequential languages -- C++ and Java in particular. Forcing a sequential flow-of-control through something that we tried to break into objects only leads to problems. E.g. when executing inside the method of one object, is it safe to delete another object ? -- well, only if that other object wasnt involved (and still is involved) in the flow-of-control.
And this you cannot easily tell. Furthermore, in many cases, `delete may be substituted for any object interaction (method-call).
Also, a lot of modern GUI toolkits seem unnecessarily bloated. C++ (and other `frilly languages) can be blamed for some of this, but not all of it. WG isnt bloated yet, but its not far off. UWG is therefore an attempt at a lightweight (size and speed) gadget toolkit for X11, programmed in C.
<<lessInterfaces are described using XHPD, an XML-based hierarchical program description.
Micro WG is a C `version of WG. In general, UWG is somewhat more light-weight than WG. Firstly because its written in C and not C++. Secondly because it does not yet provide all the features of WG. Also, it should be significantly easier to `connect UWG to KRoC.
Why UWG ? Its now the case that there are many `widget libraries for programmers to choose from. The traditional X11 widget libraries (X Toolkit Intrinsics), GTK, QT, Motif, wxWindows, TK, etc.. GTK and QT are probably the most common for an average users desktop system -- as the graphics libraries of Gnome and KDE respectively. C++, used by WG, provides a largely type-safe environment for gadget programming -- i.e. the structure/nature of gadgets fit neatly into the C++ type (class) heirarchy.
However, C++ ultimately suffers from the same problems as some other `object-orientated languages -- namely leaky encapsulation. When writing WG, some of the limitations (maybe features) of C++ caused significant problems, particularly in the function-pointer department.
Object-orientation is a fine model for data, but it does not work well when `bolted-on to sequential languages -- C++ and Java in particular. Forcing a sequential flow-of-control through something that we tried to break into objects only leads to problems. E.g. when executing inside the method of one object, is it safe to delete another object ? -- well, only if that other object wasnt involved (and still is involved) in the flow-of-control.
And this you cannot easily tell. Furthermore, in many cases, `delete may be substituted for any object interaction (method-call).
Also, a lot of modern GUI toolkits seem unnecessarily bloated. C++ (and other `frilly languages) can be blamed for some of this, but not all of it. WG isnt bloated yet, but its not far off. UWG is therefore an attempt at a lightweight (size and speed) gadget toolkit for X11, programmed in C.
Download (0.14MB)
Added: 2006-12-04 License: GPL (GNU General Public License) Price:
1054 downloads
ustr 1.0.1
ustr (Micro string library) is a string API for C. more>>
ustr (Micro string library) is a string API for C. A few years ago now I wrote a very extensive String API for C, called Vstr, it was designed to perform extremely well for IO like patterns as that was my planned usage (for instance And-httpd, my Web server). It works very well, for that usage.
Also due to the extensivness of the API I basically used it everywhere, even though there are some things it is somewhat "overkill" for, and I wanted other people to use it so I didnt have to resort to using string.h when creating patches for their code. However more than a few C coders I speak to have one of a few reasons why they dont want to use Vstr. The ustr API should solve all of these problems, and hopefully fill in all the gaps where Vstr is the 500lb hammer.
A Significant example of usage, with comments:
Ustr *s1 = USTR(""); /* == "", always works */
Ustr *s2 = ustr_dup(s1); /* == "", always works */
Ustr *s3 = ustr_dup_cstr(""); /* == "", always works */
ustr_cmp_eq(s1, s2); /* == TRUE */
ustr_cmp_eq(s1, s3); /* == TRUE */
if (ustr_shared(s2)) /* This is TRUE, as a constant/read-only string cannot be freed */
/* whatever */ ;
if (ustr_ro(s2)) /* This is TRUE */
/* whatever */ ;
if (!ustr_add_fmt(&s2, "%s %d %c%d", "x", 4, 0, 8))
/* error */ ;
if (ustr_owner(s1)) /* This will return FALSE, as noone owns the "" read-only string */
/* whatever */ ;
if (ustr_owner(s2)) /* This will return TRUE, as weve now got allocated memory for s2 */
/* whatever */ ;
foo_API(ustr_cstr(s1), ustr_len(s1)); /* == "", 0 */
foo_API(ustr_cstr(s2), ustr_len(s2)); /* == "x 4 008", 6 */
s3 = ustr_dup(s2); /* dont need to free s3 as its empty */
/* dont need to check for errors as s2 == s3 */
if (ustr_owner(s2)) /* This will now return FALSE, weve got two references: s2 and s3 */
/* whatever */ ;
if (ustr_shared(s2)) /* This is FALSE, its a non-shared string referenced by both s2 and s3 */
/* whatever */ ;
ustr_free(s2); /* freed one reference to the data pointed to by both s2 and s3 */
ustr_set_share(s2); /* Make s2/s3 "shared" data,
so it always has infinite references */
if (ustr_shared(s2)) /* This is TRUE */
/* whatever */ ;
if (ustr_ro(s2)) /* This is FALSE */
/* whatever */ ;
s3 = ustr_dup(s2); /* This is the same as s3 = s2; */
ustr_free(s2); /* These do nothing */
ustr_free(s2);
ustr_free(s2);
ustr_free(s2);
if (!ustr_add_cstr(&s3, "abcd"))
/* error */ ;
ustr_add_cstr(&s3, "1234");
ustr_add_cstr(&s3, "xyz");
if (ustr_enomem(s3)) /* check for errors on the last 2 ustr_add_cstr() functions at once
ustr_owner(x) has to be true for this to be reliable,
hence the explicit first check */
/* error */ ;
ustr_set_owner(s2); /* Make s2 be "non-shared" and have a single owner */
ustr_set_owner(s1); /* This fails, as you cant make a read-only string be "non-shared" */
ustr_sc_del(&s2); /* freed s2 and set s2 = USTR("") */
ustr_cmp_eq(s1, s2); /* == TRUE */
s2 = USTR1(x0b, "Hello world"); /* Constant string with data */
if (ustr_shared(s2)) /* This is TRUE */
/* whatever */ ;
if (ustr_ro(s2)) /* This is TRUE */
/* whatever */ ;
/* dont need to "free" anything else */
Enhancements:
- A lot of new functions were added, such as insert, replace, split, substitute, and io_getdelim.
- Documentation improvements were made.
- Build fixes were made for Win32.
<<lessAlso due to the extensivness of the API I basically used it everywhere, even though there are some things it is somewhat "overkill" for, and I wanted other people to use it so I didnt have to resort to using string.h when creating patches for their code. However more than a few C coders I speak to have one of a few reasons why they dont want to use Vstr. The ustr API should solve all of these problems, and hopefully fill in all the gaps where Vstr is the 500lb hammer.
A Significant example of usage, with comments:
Ustr *s1 = USTR(""); /* == "", always works */
Ustr *s2 = ustr_dup(s1); /* == "", always works */
Ustr *s3 = ustr_dup_cstr(""); /* == "", always works */
ustr_cmp_eq(s1, s2); /* == TRUE */
ustr_cmp_eq(s1, s3); /* == TRUE */
if (ustr_shared(s2)) /* This is TRUE, as a constant/read-only string cannot be freed */
/* whatever */ ;
if (ustr_ro(s2)) /* This is TRUE */
/* whatever */ ;
if (!ustr_add_fmt(&s2, "%s %d %c%d", "x", 4, 0, 8))
/* error */ ;
if (ustr_owner(s1)) /* This will return FALSE, as noone owns the "" read-only string */
/* whatever */ ;
if (ustr_owner(s2)) /* This will return TRUE, as weve now got allocated memory for s2 */
/* whatever */ ;
foo_API(ustr_cstr(s1), ustr_len(s1)); /* == "", 0 */
foo_API(ustr_cstr(s2), ustr_len(s2)); /* == "x 4 008", 6 */
s3 = ustr_dup(s2); /* dont need to free s3 as its empty */
/* dont need to check for errors as s2 == s3 */
if (ustr_owner(s2)) /* This will now return FALSE, weve got two references: s2 and s3 */
/* whatever */ ;
if (ustr_shared(s2)) /* This is FALSE, its a non-shared string referenced by both s2 and s3 */
/* whatever */ ;
ustr_free(s2); /* freed one reference to the data pointed to by both s2 and s3 */
ustr_set_share(s2); /* Make s2/s3 "shared" data,
so it always has infinite references */
if (ustr_shared(s2)) /* This is TRUE */
/* whatever */ ;
if (ustr_ro(s2)) /* This is FALSE */
/* whatever */ ;
s3 = ustr_dup(s2); /* This is the same as s3 = s2; */
ustr_free(s2); /* These do nothing */
ustr_free(s2);
ustr_free(s2);
ustr_free(s2);
if (!ustr_add_cstr(&s3, "abcd"))
/* error */ ;
ustr_add_cstr(&s3, "1234");
ustr_add_cstr(&s3, "xyz");
if (ustr_enomem(s3)) /* check for errors on the last 2 ustr_add_cstr() functions at once
ustr_owner(x) has to be true for this to be reliable,
hence the explicit first check */
/* error */ ;
ustr_set_owner(s2); /* Make s2 be "non-shared" and have a single owner */
ustr_set_owner(s1); /* This fails, as you cant make a read-only string be "non-shared" */
ustr_sc_del(&s2); /* freed s2 and set s2 = USTR("") */
ustr_cmp_eq(s1, s2); /* == TRUE */
s2 = USTR1(x0b, "Hello world"); /* Constant string with data */
if (ustr_shared(s2)) /* This is TRUE */
/* whatever */ ;
if (ustr_ro(s2)) /* This is TRUE */
/* whatever */ ;
/* dont need to "free" anything else */
Enhancements:
- A lot of new functions were added, such as insert, replace, split, substitute, and io_getdelim.
- Documentation improvements were made.
- Build fixes were made for Win32.
Download (0.80MB)
Added: 2007-08-06 License: MIT/X Consortium License Price:
809 downloads
XML::Grove::Subst 0.46 Alpha
XML::Grove::Subst can substitute values into a template. more>>
XML::Grove::Subst can substitute values into a template.
SYNOPSIS
use XML::Grove::Subst;
# Using subst method on XML::Grove::Document or XML::Grove::Element:
$new_grove = $source_grove->subst( ARGS );
$new_grove = $source_grove->subst_hash( ARG );
# Using an XML::Grove::Subst instance:
$subster = XML::Grove::Subst->new();
$new_grove = $subster->subst( $source_grove, ARGS );
$new_grove = $subster->subst_hash( $source_grove, ARG );
XML::Grove::Subst implements XML templates. XML::Grove::Subst traverses through a source grove replacing all elements with names `SUB:XXX or `SUB:key with their corresponding values from ARGS (a list) or ARG (a hash), repsectively.
METHODS
$grove_obj->subst( ARGS ) =item $subster->subst( $grove_obj, ARGS )
Search for `SUB:XXX elements, where XXX is an array index, and replace the element with the value from ARGS, a list of values. The return value is a new grove with the substitutions applied.
$grove_obj->subst_hash( ARG ) =item $subster->subst_hash( $grove_obj, ARG )
Search for `SUB:key elements and replace the element with the value from ARG, a hash of values. The hash key is taken from the `key attribute of the `SUB:key element, for example, `< SUB:key key=foo >. The return value is a new grove with the substitutions applied.
<<lessSYNOPSIS
use XML::Grove::Subst;
# Using subst method on XML::Grove::Document or XML::Grove::Element:
$new_grove = $source_grove->subst( ARGS );
$new_grove = $source_grove->subst_hash( ARG );
# Using an XML::Grove::Subst instance:
$subster = XML::Grove::Subst->new();
$new_grove = $subster->subst( $source_grove, ARGS );
$new_grove = $subster->subst_hash( $source_grove, ARG );
XML::Grove::Subst implements XML templates. XML::Grove::Subst traverses through a source grove replacing all elements with names `SUB:XXX or `SUB:key with their corresponding values from ARGS (a list) or ARG (a hash), repsectively.
METHODS
$grove_obj->subst( ARGS ) =item $subster->subst( $grove_obj, ARGS )
Search for `SUB:XXX elements, where XXX is an array index, and replace the element with the value from ARGS, a list of values. The return value is a new grove with the substitutions applied.
$grove_obj->subst_hash( ARG ) =item $subster->subst_hash( $grove_obj, ARG )
Search for `SUB:key elements and replace the element with the value from ARG, a hash of values. The hash key is taken from the `key attribute of the `SUB:key element, for example, `< SUB:key key=foo >. The return value is a new grove with the substitutions applied.
Download (0.027MB)
Added: 2007-08-17 License: Perl Artistic License Price:
798 downloads
GFourier 0.4.1
GFourier can help you use Fourier Analysis for image restoration. more>>
GFourier can help you use Fourier Analysis for image restoration.
GFourier calculates the Fourier Transform of a given image and allows the use of filters in the frequency domain. The Inverse Fourier Transform is then used to substitute original image.
<<lessGFourier calculates the Fourier Transform of a given image and allows the use of filters in the frequency domain. The Inverse Fourier Transform is then used to substitute original image.
Download (0.064MB)
Added: 2006-09-15 License: GPL (GNU General Public License) Price:
1141 downloads
BitRock InstallBuilder 4.5.2
BitRock InstallBuilder is a tool to build easy-to-use installers for Linux, Solaris application. more>>
BitRock Installbuilder allows you to create easy to use multiplatform installers for Linux, Solaris and Windows. BitRock installers are native binaries that can run on Windows 98, ME, 2000, XP, 2003, Solaris and on virtually any Linux distribution.
The generated installers provide native look and feel and desktop integration for Windows, KDE and Gnome and are optimized in size and speed, reducing download, startup and installation time. BitRock Installers are single-file, self-contained native executables with no external dependencies and minimal overhead.
All BitRock installers are truly native code, do not require bundling a Java Runtime Environment and provide an intuitive interface on all platforms, even for users without previous Linux experience. BitRock InstallBuilder includes an easy to learn, easy to use GUI environment thar can be run on Windows and Linux.
Create Windows, Solaris and Linux installers from a single build environment. For advanced users, a friendly XML project format supports source control integration, collaborative development and customizing projects both by hand and using external scripts. A command line interface allows you to automate and integrate the building process.
QuickBuild functionality allows you to update installers in a few seconds, without having to repack the entire application. BitRock InstallBuilder provides convenient built-in actions for commonly required installation functionality such as changing file permissions, substituting text in file, adding environment variables, adding directories to the path, changing the Windows registry, launching external scripts and so on.
BitRock installers can be customized in a variety of ways, both graphically and in functionality, and can be run on GUI, text and unattended modes. An uninstall program is created as part of every installation. BitRock Installers are platform and programming language independent. Internationalization: BitRock installers support 15 different languages.
Main features:
- Multiplatform Support : BitRock installers are native binaries that can run on Windows 98, ME, 2000, XP, 2003, Solaris Sparc and on virtually any Linux distribution. Contact us for legacy Windows 95 support.
- Desktop Integration : BitRock installers provide native look and feel and desktop integration for Windows, KDE and Gnome.
- Optimized : BitRock installers are optimized in size and speed and do not require a self-extraction step, reducing download, startup and installation time.
- No External Dependencies : BitRock installers are single-file, self-contained native executables with no external dependencies and minimal overhead. Unlike competing products, all BitRock installers are truly native code and do not require bundling a Java Runtime Environment.
- Ease of Use : BitRock installers provide an intuitive and easy to use interface on all platforms, even for end users without previous Linux experience.
- Ease of Development : BitRock InstallBuilder includes an easy to learn, easy to use GUI environment. Design, build and test installers with the click of a button.
- Time Saving Functionality : For advanced users, a friendly XML project format supports source control integration, collaborative development and customizing projects both by hand and using external scripts. A command line interface allows you to automate and integrate the building process. QuickBuild functionality allows you to update installers in a few seconds, without having to repack the entire application.
- Built-in actions : BitRock InstallBuilder provides convenient built-in actions for commonly required installation functionality such as autodetecting a Java(tm) Runtime, changing file permissions and ownership, substituting text in a file, adding environment variables, adding directories to the path, creating symbolic links, changing the Windows registry, launching external scripts and so on.
- Crossplatform Build Support : The installer builder tool can run on Windows, Solaris and Linux and generate installers for all target platforms from a single project file. Create Windows, Solaris and Linux installers from a single build environment!
- Customization : BitRock installers can be customized in a variety of ways, both graphically and in functionality.
- Multiple Installation modes : BitRock installers provide : several GUI modes with native look-and-feel, for installation in a variety of desktop environments; a text-based installation mode, for console-based and remote installations; a silent/unattended install mode which can be used for integration in shell scripts for automated deployment.
- Uninstall Functionality : An uninstall program is created as part of every installation, allowing users to easily uninstall the software. As the installer, it can be run in a variety of modes. On Windows, uninstall functionality can also be accessed from the Add/Remove Program entry in the Control Panel.
- Startup Failure Detection : BitRock installers will automatically detect the best installation mode available. Users also have the option to manually select a mode.
- Language and Platform Independent : BitRock installers can install applications written in any language, including: Java, PHP, Perl, Python, C/C++ and .NET/Mono.
- Multiple Language Support : BitRock installers support a variety of installation languages, including English, German, Spanish, Italian, French, Portuguese, Traditional Chinese, Dutch, Polish, Valencian, Catalan, Estonian, Slovenian, Romanian and Welsh. You can specify a default language or let the user decide. Please contact us if you require additional language support.
Version restrictions:
- 30-day trial
Enhancements:
- This release adds new actions to calculate md5 and specify the default user and group for installed files.
- It has improved error notification for external program execution.
- The ability to access standard Windows shell folder locations using installer variables has been added.
<<lessThe generated installers provide native look and feel and desktop integration for Windows, KDE and Gnome and are optimized in size and speed, reducing download, startup and installation time. BitRock Installers are single-file, self-contained native executables with no external dependencies and minimal overhead.
All BitRock installers are truly native code, do not require bundling a Java Runtime Environment and provide an intuitive interface on all platforms, even for users without previous Linux experience. BitRock InstallBuilder includes an easy to learn, easy to use GUI environment thar can be run on Windows and Linux.
Create Windows, Solaris and Linux installers from a single build environment. For advanced users, a friendly XML project format supports source control integration, collaborative development and customizing projects both by hand and using external scripts. A command line interface allows you to automate and integrate the building process.
QuickBuild functionality allows you to update installers in a few seconds, without having to repack the entire application. BitRock InstallBuilder provides convenient built-in actions for commonly required installation functionality such as changing file permissions, substituting text in file, adding environment variables, adding directories to the path, changing the Windows registry, launching external scripts and so on.
BitRock installers can be customized in a variety of ways, both graphically and in functionality, and can be run on GUI, text and unattended modes. An uninstall program is created as part of every installation. BitRock Installers are platform and programming language independent. Internationalization: BitRock installers support 15 different languages.
Main features:
- Multiplatform Support : BitRock installers are native binaries that can run on Windows 98, ME, 2000, XP, 2003, Solaris Sparc and on virtually any Linux distribution. Contact us for legacy Windows 95 support.
- Desktop Integration : BitRock installers provide native look and feel and desktop integration for Windows, KDE and Gnome.
- Optimized : BitRock installers are optimized in size and speed and do not require a self-extraction step, reducing download, startup and installation time.
- No External Dependencies : BitRock installers are single-file, self-contained native executables with no external dependencies and minimal overhead. Unlike competing products, all BitRock installers are truly native code and do not require bundling a Java Runtime Environment.
- Ease of Use : BitRock installers provide an intuitive and easy to use interface on all platforms, even for end users without previous Linux experience.
- Ease of Development : BitRock InstallBuilder includes an easy to learn, easy to use GUI environment. Design, build and test installers with the click of a button.
- Time Saving Functionality : For advanced users, a friendly XML project format supports source control integration, collaborative development and customizing projects both by hand and using external scripts. A command line interface allows you to automate and integrate the building process. QuickBuild functionality allows you to update installers in a few seconds, without having to repack the entire application.
- Built-in actions : BitRock InstallBuilder provides convenient built-in actions for commonly required installation functionality such as autodetecting a Java(tm) Runtime, changing file permissions and ownership, substituting text in a file, adding environment variables, adding directories to the path, creating symbolic links, changing the Windows registry, launching external scripts and so on.
- Crossplatform Build Support : The installer builder tool can run on Windows, Solaris and Linux and generate installers for all target platforms from a single project file. Create Windows, Solaris and Linux installers from a single build environment!
- Customization : BitRock installers can be customized in a variety of ways, both graphically and in functionality.
- Multiple Installation modes : BitRock installers provide : several GUI modes with native look-and-feel, for installation in a variety of desktop environments; a text-based installation mode, for console-based and remote installations; a silent/unattended install mode which can be used for integration in shell scripts for automated deployment.
- Uninstall Functionality : An uninstall program is created as part of every installation, allowing users to easily uninstall the software. As the installer, it can be run in a variety of modes. On Windows, uninstall functionality can also be accessed from the Add/Remove Program entry in the Control Panel.
- Startup Failure Detection : BitRock installers will automatically detect the best installation mode available. Users also have the option to manually select a mode.
- Language and Platform Independent : BitRock installers can install applications written in any language, including: Java, PHP, Perl, Python, C/C++ and .NET/Mono.
- Multiple Language Support : BitRock installers support a variety of installation languages, including English, German, Spanish, Italian, French, Portuguese, Traditional Chinese, Dutch, Polish, Valencian, Catalan, Estonian, Slovenian, Romanian and Welsh. You can specify a default language or let the user decide. Please contact us if you require additional language support.
Version restrictions:
- 30-day trial
Enhancements:
- This release adds new actions to calculate md5 and specify the default user and group for installed files.
- It has improved error notification for external program execution.
- The ability to access standard Windows shell folder locations using installer variables has been added.
Download (34MB)
Added: 2007-07-24 License: Free for non-commercial use Price: $395
822 downloads
FDMS-3 Ripper
FDMS-3 Ripper is a Perl program for extracting the tracks from the FDMS-3 filesystem. more>>
FDMS-3 Ripper is a Perl program for extracting the tracks from the FDMS-3 filesystem. I recently bought a Fostex FD-8 multitrack hard disk recorder for recording music. It works great, but I was disappointed to discover that, although it uses a standard external SCSI hard disk, there was no way to "rip" the recorded tracks from the hard drive to my PC over the SCSI port. The alternatives were to use the analog-out to re-record each track using my soundcard (resulting in loss of quality and loss of synch between tracks), or buying a $500 ADAT card for my PC.
I decided that I would try to figure out a way to rip the music directly over the SCSI port. The FD-8 uses a proprietary Fostex filesystem, FDMS-3. I decided to hook it up to my PC and probed the drive. I was able to figure out the basic layout of the filesystem pretty quickly. Note: this is designed to hard disks formatted in the FDMS-3 "Mastering" mode, which stores the audio data in uncompressed format.
In order to use the program, you will need to take the hard disk that has the FDMS-3 filesystem on it and hook it up to your PC (mine is a SCSI drive -- dont know if this will work with one of the internal IDE drives you can hook up to the FD-8). Make sure that Linux can see the drive (dont try to mount it, though!). You might want to have a look at SCSI-2.4-HOWTO to get the drive recognized. My external hard disk is located at "/dev/sda", but yours could end up elsewhere.
Next, you need to make sure you have the following on your system: perl, sox and fileutils (for the "dd" utility). Security Warning Unfortunately, this program presents significant security issues, so be careful with it. The script needs to be able to access the hard disk directly, so you can either run it as root (not safe), or change the permissons for the hard disk device (in my case, "/dev/sda"). Run the program with "./fdms3rip /dev/sda" (substituting the actual location of your hard disk).
This will list all of the programs present on the hard disk. Then, run it again with the number of the program you want to fetch off the hard disk: "./fdms3rip /dev/sda 5" to get all of the recorded tracks for program number 5. After waiting a bit, you should now have a bunch of WAV files on your Linux machine. Warning This program will create and erase files with the names "dir" and "header" in the directory it is run from. It would be best to run this program from a clean directory, just to make sure there are no problems.
<<lessI decided that I would try to figure out a way to rip the music directly over the SCSI port. The FD-8 uses a proprietary Fostex filesystem, FDMS-3. I decided to hook it up to my PC and probed the drive. I was able to figure out the basic layout of the filesystem pretty quickly. Note: this is designed to hard disks formatted in the FDMS-3 "Mastering" mode, which stores the audio data in uncompressed format.
In order to use the program, you will need to take the hard disk that has the FDMS-3 filesystem on it and hook it up to your PC (mine is a SCSI drive -- dont know if this will work with one of the internal IDE drives you can hook up to the FD-8). Make sure that Linux can see the drive (dont try to mount it, though!). You might want to have a look at SCSI-2.4-HOWTO to get the drive recognized. My external hard disk is located at "/dev/sda", but yours could end up elsewhere.
Next, you need to make sure you have the following on your system: perl, sox and fileutils (for the "dd" utility). Security Warning Unfortunately, this program presents significant security issues, so be careful with it. The script needs to be able to access the hard disk directly, so you can either run it as root (not safe), or change the permissons for the hard disk device (in my case, "/dev/sda"). Run the program with "./fdms3rip /dev/sda" (substituting the actual location of your hard disk).
This will list all of the programs present on the hard disk. Then, run it again with the number of the program you want to fetch off the hard disk: "./fdms3rip /dev/sda 5" to get all of the recorded tracks for program number 5. After waiting a bit, you should now have a bunch of WAV files on your Linux machine. Warning This program will create and erase files with the names "dir" and "header" in the directory it is run from. It would be best to run this program from a clean directory, just to make sure there are no problems.
Download (0.005MB)
Added: 2006-07-21 License: GPL (GNU General Public License) Price:
692 downloads
ShiftJIS::Regexp 1.00
ShiftJIS::Regexp contains regular expressions in Shift-JIS. more>>
ShiftJIS::Regexp contains regular expressions in Shift-JIS.
SYNOPSIS
use ShiftJIS::Regexp qw(:all);
match($string, p{Hiragana}{2}p{Digit}{2});
match($string, pH{2}pD{2});
# these two are equivalent:
This module provides some functions to use regular expressions in Shift-JIS on the byte-oriented perl.
The legal Shift-JIS character in this module must match the following regular expression:
[x00-x7FxA1-xDF]|[x81-x9FxE0-xFC][x40-x7Ex80-xFC]
To avoid false matching in multibyte encoding, this module uses anchoring technique to ensure each matching position places at the character boundaries.
cf. perlfaq6, "How can I match strings with multibyte characters?"
Functions
re(PATTERN)
re(PATTERN, MODIFIER)
Returns a regular expression parsable by the byte-oriented perl.
PATTERN is specified as a string. MODIFIER is specified as a string. Modifiers in the following list are allowed.
i case-insensitive pattern (only for ascii alphabets)
I case-insensitive pattern (greek, cyrillic, fullwidth latin)
j hiragana-katakana-insensitive pattern (but halfwidth katakana
are not considered.)
s treat string as single line
m treat string as multiple lines
x ignore whitespace (i.e. [x20nrtf]) unless backslashed
or inside a character class; but comments are not recognized!
o once parsed (not compiled!) and the result is cached internally.
o modifier
while ( ) {
print replace($_, (perl), $1, igo);
}
is more efficient than
while ( ) {
print replace($_, (perl), $1, ig);
}
because in the latter case the pattern is parsed every time
whenever the function is called.
match(STRING, PATTERN)
match(STRING, PATTERN, MODIFIER)
An emulation of m// operator aware of Shift-JIS. But, to emulate @list = $string =~ m/PATTERN/g, the pattern should be parenthesized (capturing parentheses are not added automatically).
@list = match($string, pH, g); # wrong; returns garbage!
@list = match($string,(pH),g); # good
PATTERN is specified as a string. MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
g match globally
z tell the function the pattern matches an empty string
(sorry, due to the poor auto-detection)
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT)
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT, MODIFIER)
An emulation of s/// operator but aware of Shift-JIS.
If a reference to a scalar is specified as the first argument, substitutes the referent scalar and returns the number of substitutions made. If a string (not a reference) is specified as the first argument, returns the substituted string and the specified string is unaffected.
MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
g,z please see match().
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING)
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING, LIMIT)
An emulation of CORE::split but aware of Shift-JIS.
In scalar/void context, it does not split into the @_ array; in scalar context, only returns the number of fields found.
PATTERN is specified as a string. But as PATTERN has no special meaning; it splits the string on a single space similarly to CORE::split / /.
When you want to split the string on whitespace, pass an undefined value as PATTERN or use the splitspace() function.
jsplit(undef, " x81x40 This is x81x40 perl.");
splitspace(" x81x40 This is x81x40 perl.");
# (This, is, perl.)
If you want to pass pattern with modifiers, specify an arrayref of [PATTERN, MODIFIER] as the first argument. You can also use "Embedded Modifiers").
MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
splitspace(STRING)
splitspace(STRING, LIMIT)
This function emulates CORE::split( , STRING, LIMIT). It returns a list given by split STRING on whitespace including "x81x40" (IDEOGRAPHIC SPACE). Leading whitespace characters do not produce any field.
Note: splitspace(STRING, LIMIT) is equivalent to jsplit(undef, STRING, LIMIT).
splitchar(STRING)
splitchar(STRING, LIMIT)
This function emulates CORE::split(//, STRING, LIMIT). It returns a list given by split of STRING into characters.
Note: splitchar(STRING, LIMIT) is equivalent to jsplit(, STRING, LIMIT).
<<lessSYNOPSIS
use ShiftJIS::Regexp qw(:all);
match($string, p{Hiragana}{2}p{Digit}{2});
match($string, pH{2}pD{2});
# these two are equivalent:
This module provides some functions to use regular expressions in Shift-JIS on the byte-oriented perl.
The legal Shift-JIS character in this module must match the following regular expression:
[x00-x7FxA1-xDF]|[x81-x9FxE0-xFC][x40-x7Ex80-xFC]
To avoid false matching in multibyte encoding, this module uses anchoring technique to ensure each matching position places at the character boundaries.
cf. perlfaq6, "How can I match strings with multibyte characters?"
Functions
re(PATTERN)
re(PATTERN, MODIFIER)
Returns a regular expression parsable by the byte-oriented perl.
PATTERN is specified as a string. MODIFIER is specified as a string. Modifiers in the following list are allowed.
i case-insensitive pattern (only for ascii alphabets)
I case-insensitive pattern (greek, cyrillic, fullwidth latin)
j hiragana-katakana-insensitive pattern (but halfwidth katakana
are not considered.)
s treat string as single line
m treat string as multiple lines
x ignore whitespace (i.e. [x20nrtf]) unless backslashed
or inside a character class; but comments are not recognized!
o once parsed (not compiled!) and the result is cached internally.
o modifier
while ( ) {
print replace($_, (perl), $1, igo);
}
is more efficient than
while ( ) {
print replace($_, (perl), $1, ig);
}
because in the latter case the pattern is parsed every time
whenever the function is called.
match(STRING, PATTERN)
match(STRING, PATTERN, MODIFIER)
An emulation of m// operator aware of Shift-JIS. But, to emulate @list = $string =~ m/PATTERN/g, the pattern should be parenthesized (capturing parentheses are not added automatically).
@list = match($string, pH, g); # wrong; returns garbage!
@list = match($string,(pH),g); # good
PATTERN is specified as a string. MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
g match globally
z tell the function the pattern matches an empty string
(sorry, due to the poor auto-detection)
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT)
replace(STRING or SCALAR REF, PATTERN, REPLACEMENT, MODIFIER)
An emulation of s/// operator but aware of Shift-JIS.
If a reference to a scalar is specified as the first argument, substitutes the referent scalar and returns the number of substitutions made. If a string (not a reference) is specified as the first argument, returns the substituted string and the specified string is unaffected.
MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
g,z please see match().
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING)
jsplit(PATTERN or ARRAY REF of [PATTERN, MODIFIER], STRING, LIMIT)
An emulation of CORE::split but aware of Shift-JIS.
In scalar/void context, it does not split into the @_ array; in scalar context, only returns the number of fields found.
PATTERN is specified as a string. But as PATTERN has no special meaning; it splits the string on a single space similarly to CORE::split / /.
When you want to split the string on whitespace, pass an undefined value as PATTERN or use the splitspace() function.
jsplit(undef, " x81x40 This is x81x40 perl.");
splitspace(" x81x40 This is x81x40 perl.");
# (This, is, perl.)
If you want to pass pattern with modifiers, specify an arrayref of [PATTERN, MODIFIER] as the first argument. You can also use "Embedded Modifiers").
MODIFIER is specified as a string.
i,I,j,s,m,x,o please see re().
splitspace(STRING)
splitspace(STRING, LIMIT)
This function emulates CORE::split( , STRING, LIMIT). It returns a list given by split STRING on whitespace including "x81x40" (IDEOGRAPHIC SPACE). Leading whitespace characters do not produce any field.
Note: splitspace(STRING, LIMIT) is equivalent to jsplit(undef, STRING, LIMIT).
splitchar(STRING)
splitchar(STRING, LIMIT)
This function emulates CORE::split(//, STRING, LIMIT). It returns a list given by split of STRING into characters.
Note: splitchar(STRING, LIMIT) is equivalent to jsplit(, STRING, LIMIT).
Download (0.035MB)
Added: 2007-08-08 License: Perl Artistic License Price:
811 downloads
Interceptor 0.9
Interceptor is a KDE 3.1 kicker applet for syslog monitoring and alerts management. more>>
Syslog is a almost standard UN*X daemon which gathers all the info, errors or critical messages from the local computer or other hosts on the network. For more info about syslog itself, see the corresponding syslog manpages.
Before using Interceptor, you must create 8 fifo files in /var/run/interceptor, (debug, info, notice, warning, err, crit, alert, emerg) and modify the /etc/syslog.conf so that syslog sends its messages in the corresponding fifo for a given level, e.g.
*.debug |/var/run/interceptor/debug
The mkintfifos included script will update /etc/rc.d/rc.sysinit and /etc/syslog.conf for you. When done, restart your computer, install the interceptor applet and load it on the taskbar.
A button appears, which will flash green when a debug, info or notice message occurs, orange when a warning or error message occurs and red when crit, alert or emerg.
If you click on this button, a list of received messages will be displayed.
Interceptor can react to some messages according to a pattern->action scheme with up to 2 argument strings. The available actions are the following ones:
- Beep: Simply issues a beep.
- Message: Displays a dialog box with first arg string as the wanted message and optionnaly executes a shell command when the yes button is clicked. The command itself is contained in the second arg string.
- Redirect: Redirects the current message towards a specific log view.
- Run: Silently runs a shell command contained in arg string 2 and appends arg string 1 at the end of the system messages list.
Remark: if the first argument of a Run alert is null, the first line of the shell command stdout is appended to the messages list, with Info as the level and Interceptor as the source.
The pattern rules obey to the QRegExp syntax. See QRegExp in the Qt documentation for more details. In addition to the standard QRegExp syntax, Interceptor uses pattern groups, i.e. it can retrieve substring enclosed in group parenthesis. Example:
abc(.+)def
This group contains any string enclosed within abc and def. A substitution is made whenever a message matches with a given regexp. The variables $1, $2, $3 and $4 will be replaced with the corresponding pattern group in both arg 1 and arg 2 strings.
the variables $D and $T will be substituted with the current date and time
The patterns are tried against the
level##source!!host%%text
string, where level is debug, info etc..., source is the info source, i.e. kernel, the daemon name, lpr etc..., host is the hostname and text, the text of the message.
You can also choose a better suited icon, such as floppy, network or CDROM icons, for your dialog boxes.
When you select the preferences kicker applet menu, a tab widget will appears, which will allow you to edit the pattern->action rules, and some default options, such as the level colors and number of lines on the messages list box.
Enhancements:
- Aspects Scan list.
- A few bugs fixed.
<<lessBefore using Interceptor, you must create 8 fifo files in /var/run/interceptor, (debug, info, notice, warning, err, crit, alert, emerg) and modify the /etc/syslog.conf so that syslog sends its messages in the corresponding fifo for a given level, e.g.
*.debug |/var/run/interceptor/debug
The mkintfifos included script will update /etc/rc.d/rc.sysinit and /etc/syslog.conf for you. When done, restart your computer, install the interceptor applet and load it on the taskbar.
A button appears, which will flash green when a debug, info or notice message occurs, orange when a warning or error message occurs and red when crit, alert or emerg.
If you click on this button, a list of received messages will be displayed.
Interceptor can react to some messages according to a pattern->action scheme with up to 2 argument strings. The available actions are the following ones:
- Beep: Simply issues a beep.
- Message: Displays a dialog box with first arg string as the wanted message and optionnaly executes a shell command when the yes button is clicked. The command itself is contained in the second arg string.
- Redirect: Redirects the current message towards a specific log view.
- Run: Silently runs a shell command contained in arg string 2 and appends arg string 1 at the end of the system messages list.
Remark: if the first argument of a Run alert is null, the first line of the shell command stdout is appended to the messages list, with Info as the level and Interceptor as the source.
The pattern rules obey to the QRegExp syntax. See QRegExp in the Qt documentation for more details. In addition to the standard QRegExp syntax, Interceptor uses pattern groups, i.e. it can retrieve substring enclosed in group parenthesis. Example:
abc(.+)def
This group contains any string enclosed within abc and def. A substitution is made whenever a message matches with a given regexp. The variables $1, $2, $3 and $4 will be replaced with the corresponding pattern group in both arg 1 and arg 2 strings.
the variables $D and $T will be substituted with the current date and time
The patterns are tried against the
level##source!!host%%text
string, where level is debug, info etc..., source is the info source, i.e. kernel, the daemon name, lpr etc..., host is the hostname and text, the text of the message.
You can also choose a better suited icon, such as floppy, network or CDROM icons, for your dialog boxes.
When you select the preferences kicker applet menu, a tab widget will appears, which will allow you to edit the pattern->action rules, and some default options, such as the level colors and number of lines on the messages list box.
Enhancements:
- Aspects Scan list.
- A few bugs fixed.
Download (0.57MB)
Added: 2005-09-13 License: GPL (GNU General Public License) Price:
1501 downloads
mod_include 0.01
mod_include is a post processing of SSI variables, Apache module. more>>
mod_include is a post processing of SSI variables, Apache module.
Doesnt sound too helpful ? Well, maybe not, but I found that during construction of this site that I was frequently replicating 5 lines of text with only a single word altered (the left menu). This was both inefficient and awkward to debug, and didnt lend itself to keeping a common look and feel for the site as a whole. This extension allows large blocks of text to be stored as a variable, and for the small changable part to be altered just before the result is displayed.
Whats wrong with set anyway ?
When a variable is used in the value entry of a set command the system searches for the current value of the variable and substitutes it immediately. This fixes the value of the variable created so that it never changes, which is good for some applications, but lousy for dynamic content.
Usage
This module is an extension of the normal Apache behaviour, and should be read as an addendum to the basic mod_include commands.
define
This command sets up a variable in the same way as the set directive, except that any variable names used are not parsed at this time, but stored as names until displayed with the macro directive.
var
The name of the variable (macro) to define.
value
The value of the variable (macro).
macro
This command will expand a previously defined variable and replace any instances of the variable named in var in the variable def with the value given in value. Note that like other mod_include commands, the order of the variables is important, and should be declared in the sequence shown below:
var
The name of the variable to replace inside the macro.
value
The value to replace the variable with.
def
The previously defined macro to seach through.
<<lessDoesnt sound too helpful ? Well, maybe not, but I found that during construction of this site that I was frequently replicating 5 lines of text with only a single word altered (the left menu). This was both inefficient and awkward to debug, and didnt lend itself to keeping a common look and feel for the site as a whole. This extension allows large blocks of text to be stored as a variable, and for the small changable part to be altered just before the result is displayed.
Whats wrong with set anyway ?
When a variable is used in the value entry of a set command the system searches for the current value of the variable and substitutes it immediately. This fixes the value of the variable created so that it never changes, which is good for some applications, but lousy for dynamic content.
Usage
This module is an extension of the normal Apache behaviour, and should be read as an addendum to the basic mod_include commands.
define
This command sets up a variable in the same way as the set directive, except that any variable names used are not parsed at this time, but stored as names until displayed with the macro directive.
var
The name of the variable (macro) to define.
value
The value of the variable (macro).
macro
This command will expand a previously defined variable and replace any instances of the variable named in var in the variable def with the value given in value. Note that like other mod_include commands, the order of the variables is important, and should be declared in the sequence shown below:
var
The name of the variable to replace inside the macro.
value
The value to replace the variable with.
def
The previously defined macro to seach through.
Download (0.017MB)
Added: 2006-05-12 License: The Apache License Price:
1264 downloads
shd-tcp-tools 0.04
shd-tcp-tools project consists of TCP port forwarding, load balancing, rate control, and proxy tools. more>>
shd-tcp-tools project consists of TCP port forwarding, load balancing, rate control, and proxy tools.
shd-tcp-tools is a set of TCP network tools that supports port forwarding, network load balancing, rate limiting, and running servers behind firewalls. tcp-pf, listentwo, and connecttwo are port forwarding tools.
tcppipe is a one-directional TCP pipe that can be used as a substitute for one-directional netcat transfers, but with load balancing and rate control support.
tcp-pf can be used to forward a port from one host to another with load balancing and rate control support.
network load balancing scheme means using an interface or destination host based on past transfer history.
The listentwo and connecttwo tools can be used to run servers inside firewalled networks through third party TCP proxies.
Enhancements:
- Implemented tcppipe tool which replaces netcat when used as one-way tcp pipe.
- tcppipe supports load balancing and bandwidth rate control.
- tcppipe-least tool can be used to manipulate and show host files safely (it uses locking).
<<lessshd-tcp-tools is a set of TCP network tools that supports port forwarding, network load balancing, rate limiting, and running servers behind firewalls. tcp-pf, listentwo, and connecttwo are port forwarding tools.
tcppipe is a one-directional TCP pipe that can be used as a substitute for one-directional netcat transfers, but with load balancing and rate control support.
tcp-pf can be used to forward a port from one host to another with load balancing and rate control support.
network load balancing scheme means using an interface or destination host based on past transfer history.
The listentwo and connecttwo tools can be used to run servers inside firewalled networks through third party TCP proxies.
Enhancements:
- Implemented tcppipe tool which replaces netcat when used as one-way tcp pipe.
- tcppipe supports load balancing and bandwidth rate control.
- tcppipe-least tool can be used to manipulate and show host files safely (it uses locking).
Download (0.019MB)
Added: 2007-03-13 License: MIT/X Consortium License Price:
957 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 substitute 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