e.g
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 49
dterm 0.1
dterm application is a simple terminal emulator, which doesnt actually emulate any particular terminal. more>>
dterm application is a simple terminal emulator, which doesnt actually emulate any particular terminal. Mainly, it is designed for use with xterm and friends, which already do a perfectly good emulation, and therefore dont need any special help; dterm simply provides a means by which keystrokes are forwarded to the serial line, and data forwarded from the serial line appears on the terminal.
Running dterm
dterm is invoked thusly:
dterm [options|device ...]
dterm attempts to read the file ~/.dtermrc for options; if this doesnt exist, it tries /etc/dtermrc. Then it parses the options passed on the command line.
The options read should include a device name, e.g "ttyS0" or "ttyd0" for the first serial port on a Linux or FreeBSD system respectively.
Once started, dterm can be got into command mode using Ctrl/]. Press enter once from command mode to get back into conversational mode. (The command character can be changed with the esc= option, e.g. esc=p to use Ctrl/P instead of Ctrl/].)
Options:
The following options can be used from command mode
300, 1200, 9600 etc: Set speed, default 9600.
5, 6, 7, 8: Set bits per character, default 8.
1, 2: Set number of stop bits, default 1.
e, o, n, m, s: Set parity to even, odd, none, mark or space, default none.
cts, nocts: Enable / disable CTS flow control, default nocts.
xon, noxon: Enable / disable XON/XOFF flow control, default noxon.
modem: Enable / disable modem control (hang up modem on exit, exit if modem hangs up), default nomodem.
bs, nobs: Enable / disable mapping of Delete to Backspace, default nobs.
del, nodel: Enable / disable mapping of Backspace to Delete, default nodel.
maplf, nomaplf: Enable / disable mapping of LF to CR, default nomaplf.
igncr, noigncr: Ignore / output carriage returns, default noigncr.
crlf, nocrlf: Enable / disable sending LF after each CR, default nocrlf.
b: Send a 500 ms break.
dtr, nodtr: Raise / lower DTR, default dtr.
rts, norts: Raise / lower RTS, default rts.
d, r: Toggle DTR / RTS.
esc= : Set command mode character to Ctrl/ (default ])
@ : Read and process configuration from .
! : Execute shell command
show: Display current configuration and modem status.
help, h, ?: Display a summary of commands.
version: Display version, copyright and warranty information.
quit, q: Exit
Examples:
Connect via ttyS1 to a system running at 2400 bps, 7 bits even parity:
dterm ttyS1 2400 7 e
Send a break in a running session:
^]
dterm> b
dterm>
<<lessRunning dterm
dterm is invoked thusly:
dterm [options|device ...]
dterm attempts to read the file ~/.dtermrc for options; if this doesnt exist, it tries /etc/dtermrc. Then it parses the options passed on the command line.
The options read should include a device name, e.g "ttyS0" or "ttyd0" for the first serial port on a Linux or FreeBSD system respectively.
Once started, dterm can be got into command mode using Ctrl/]. Press enter once from command mode to get back into conversational mode. (The command character can be changed with the esc= option, e.g. esc=p to use Ctrl/P instead of Ctrl/].)
Options:
The following options can be used from command mode
300, 1200, 9600 etc: Set speed, default 9600.
5, 6, 7, 8: Set bits per character, default 8.
1, 2: Set number of stop bits, default 1.
e, o, n, m, s: Set parity to even, odd, none, mark or space, default none.
cts, nocts: Enable / disable CTS flow control, default nocts.
xon, noxon: Enable / disable XON/XOFF flow control, default noxon.
modem: Enable / disable modem control (hang up modem on exit, exit if modem hangs up), default nomodem.
bs, nobs: Enable / disable mapping of Delete to Backspace, default nobs.
del, nodel: Enable / disable mapping of Backspace to Delete, default nodel.
maplf, nomaplf: Enable / disable mapping of LF to CR, default nomaplf.
igncr, noigncr: Ignore / output carriage returns, default noigncr.
crlf, nocrlf: Enable / disable sending LF after each CR, default nocrlf.
b: Send a 500 ms break.
dtr, nodtr: Raise / lower DTR, default dtr.
rts, norts: Raise / lower RTS, default rts.
d, r: Toggle DTR / RTS.
esc= : Set command mode character to Ctrl/ (default ])
@ : Read and process configuration from .
! : Execute shell command
show: Display current configuration and modem status.
help, h, ?: Display a summary of commands.
version: Display version, copyright and warranty information.
quit, q: Exit
Examples:
Connect via ttyS1 to a system running at 2400 bps, 7 bits even parity:
dterm ttyS1 2400 7 e
Send a break in a running session:
^]
dterm> b
dterm>
Download (0.014MB)
Added: 2007-06-15 License: GPL (GNU General Public License) Price:
984 downloads
cdspeed 0.4
cdspeed is an application that can decrease the speed of you cdrom. more>>
cdspeed is an application that can decrease the speed of you cdrom. Modern cdrom drives are too fast. It can take several seconds on a 60x speed cdrom drive to spin it up and read data from the drive. The result is that these drives are just a lot slower than a 8x or 24x drive. This is especially true if you are only occasionally (e.g every 5 seconds) reading a small file. This utility limits the speed, makes the drive less noisy and the access time faster. cdspeed is also very good if you prefer to listen to the musik on your mp3 CDs rather then the noise of your CD drive.
Note: recent versions of the eject command include the functionallity of cdspeed (via the -x option).
Installation instructions:
to compile type:
make
to install cdspeed to /usr/bin type:
make install
You can copy the script cdmount to /usr/bin,it will first reduce the speed and then mount the cd. See the explanations inside the cdmount script for further details.
Enhancements:
- 2004-03-31 Roberto Foglietta added the init script for Mandrake distributions
<<lessNote: recent versions of the eject command include the functionallity of cdspeed (via the -x option).
Installation instructions:
to compile type:
make
to install cdspeed to /usr/bin type:
make install
You can copy the script cdmount to /usr/bin,it will first reduce the speed and then mount the cd. See the explanations inside the cdmount script for further details.
Enhancements:
- 2004-03-31 Roberto Foglietta added the init script for Mandrake distributions
Download (0.003MB)
Added: 2006-07-20 License: GPL (GNU General Public License) Price:
1191 downloads
KDocker 1.3
KDocker is a program that docks any application into the system tray. more>>
KDocker will help you dock any application into the system tray. This means you can dock openoffice, xmms, firefox, thunderbird, anything! Just point and click.
Works for all NET WM compliant window managers - that includes KDE, GNOME, Xfce and many more.
Main features:
- Supports Session Management (XSMP) and auto launch applications that do not support session management (e.g firefox)
- Drag n Drop (XDND) support. You can drop items into the system tray icons
- Optionally docks when application is minmized or obscured by other windows
- Cool window title ballooning (song titles will be ballooned when your media player switches to a new song)
- Optionally removes the window from the task bar
- Its internationalized and currently supports Brazilian Portuguese, Czech, French, German, Indonesian, Polish, Russian and Spanish locales
- Dock 1, 2, 10 windows but there is only one instance of KDocker running all the time
- Tracks system tray appearance/disappearance and acts intelligently
Enhancements:
- Fix bug when reading back balloon timeout on session restoration
- AutoLaunch enhancement (Request user to provide program name when autodetection failed)
- Indonesian translations from Eko Prasetiyo
- Italian translations from Alessio Cassibba
- Updated Brazilian Portuguese translations
<<lessWorks for all NET WM compliant window managers - that includes KDE, GNOME, Xfce and many more.
Main features:
- Supports Session Management (XSMP) and auto launch applications that do not support session management (e.g firefox)
- Drag n Drop (XDND) support. You can drop items into the system tray icons
- Optionally docks when application is minmized or obscured by other windows
- Cool window title ballooning (song titles will be ballooned when your media player switches to a new song)
- Optionally removes the window from the task bar
- Its internationalized and currently supports Brazilian Portuguese, Czech, French, German, Indonesian, Polish, Russian and Spanish locales
- Dock 1, 2, 10 windows but there is only one instance of KDocker running all the time
- Tracks system tray appearance/disappearance and acts intelligently
Enhancements:
- Fix bug when reading back balloon timeout on session restoration
- AutoLaunch enhancement (Request user to provide program name when autodetection failed)
- Indonesian translations from Eko Prasetiyo
- Italian translations from Alessio Cassibba
- Updated Brazilian Portuguese translations
Download (0.089MB)
Added: 2005-06-09 License: GPL (GNU General Public License) Price:
1601 downloads
Aware 0.11.1
Aware is a high performance distributed event processing framework built for systems management. more>>
Aware is a high performance distributed event processing framework built for systems management. It comes with probes for common network services and system resources. Additionally, Aware allows the cross-correllation of many different streams of information, and includes a Web-based reporting interface.
Aware is intended to enable system administrators tune system variables, set monitoring/security alarms and build adaptive distributed systems. Aware modules may be linked into applications making them aware and able to participate in the larger managed system.
Ultimately, multiple systems will monitor themselves and others, cooperating to make decisions to optimally tune performance, proactively enhance security and compensate for faults.
The Aware software is a high performance distributed event processing framework built for systems management. It comes with probes for the common network services and system resources. Additionally, Aware allows the cross-correllation of different streams of information
Enhancements:
- This major beta release provides a new Web-based interface using a built-in websever and a Sqlite database.
- The old PHP/MySQL GUI is gone.
- Installation and configuration were simplified and the run-time footprint is now very small relative to similar systems.
- The user interface now has threshold alerts on metrics (e.g, traffic), and more reports.
- There are new handlers for mDNS, Sqlite, and BigBrother.
- Two new applications included are a small faster static Web server (xap) and multicast file copy programs (mcctx and mccrx).
<<lessAware is intended to enable system administrators tune system variables, set monitoring/security alarms and build adaptive distributed systems. Aware modules may be linked into applications making them aware and able to participate in the larger managed system.
Ultimately, multiple systems will monitor themselves and others, cooperating to make decisions to optimally tune performance, proactively enhance security and compensate for faults.
The Aware software is a high performance distributed event processing framework built for systems management. It comes with probes for the common network services and system resources. Additionally, Aware allows the cross-correllation of different streams of information
Enhancements:
- This major beta release provides a new Web-based interface using a built-in websever and a Sqlite database.
- The old PHP/MySQL GUI is gone.
- Installation and configuration were simplified and the run-time footprint is now very small relative to similar systems.
- The user interface now has threshold alerts on metrics (e.g, traffic), and more reports.
- There are new handlers for mDNS, Sqlite, and BigBrother.
- Two new applications included are a small faster static Web server (xap) and multicast file copy programs (mcctx and mccrx).
Download (1.3MB)
Added: 2006-08-06 License: GPL (GNU General Public License) Price:
1191 downloads
eximspamy 0.2
eximspamy is a low maintenance, light weight spam filter system. more>>
eximspamy is a spam filter framework that uses exims perl extension.
It is supposed to be solution which requires no maintenance and will use only very little cpu power. I am using this on a pentium 100 Mhz server with no problems.
eximspamy processes or rejects the mail in one go. That is: the mail does not run twice through exim as with most other mail filter systems.
Exim offers the possibility to execute perl subroutines from filter files.
To use this feature you must specify a file which contains perl subroutines in the exim.conf file:
perl_startup = do /etc/exim/exim.pl
and you need to have a version of exim which had perl support enabled at compile time
in the file:
add the line
EXIM_PERL=perl.o
in
Local/Makefile
of the exim source tree.
In the system filter (normally system_filter.exim) you can use those perl subroutines
to execute various tests on any line of the header (e.g $header_subject: $header_from:) or even the message body ($message_body)
eximspamy uses the following idea to catch the spam: you need to setup one user to which you re-direct all spam-traps.
That is old accounts which are no longer used and catch only spam or special seeds which you spread on webpages to catch only spam (use e.g white font on white background so that normal users do not see them).
All mail which is sent to the spamtrap is run through a filter which will take a checksum on the subject line. Those checksums are stored in a file (/usr/local/spamy/tmp/sums.txt)
Any mail coming into your system will then be checked against the known "spam" checksums in /usr/local/spamy/tmp/sums.txt.
In other words you compute again a checksum on the subject line and then you check if this checksum is already known. If it is known then you consider it spam.
<<lessIt is supposed to be solution which requires no maintenance and will use only very little cpu power. I am using this on a pentium 100 Mhz server with no problems.
eximspamy processes or rejects the mail in one go. That is: the mail does not run twice through exim as with most other mail filter systems.
Exim offers the possibility to execute perl subroutines from filter files.
To use this feature you must specify a file which contains perl subroutines in the exim.conf file:
perl_startup = do /etc/exim/exim.pl
and you need to have a version of exim which had perl support enabled at compile time
in the file:
add the line
EXIM_PERL=perl.o
in
Local/Makefile
of the exim source tree.
In the system filter (normally system_filter.exim) you can use those perl subroutines
to execute various tests on any line of the header (e.g $header_subject: $header_from:) or even the message body ($message_body)
eximspamy uses the following idea to catch the spam: you need to setup one user to which you re-direct all spam-traps.
That is old accounts which are no longer used and catch only spam or special seeds which you spread on webpages to catch only spam (use e.g white font on white background so that normal users do not see them).
All mail which is sent to the spamtrap is run through a filter which will take a checksum on the subject line. Those checksums are stored in a file (/usr/local/spamy/tmp/sums.txt)
Any mail coming into your system will then be checked against the known "spam" checksums in /usr/local/spamy/tmp/sums.txt.
In other words you compute again a checksum on the subject line and then you check if this checksum is already known. If it is known then you consider it spam.
Download (0.004MB)
Added: 2005-10-14 License: GPL (GNU General Public License) Price:
1471 downloads
Parse::RPN 2.34
Parse::RPN is a minimalist RPN parser/processor (a little like FORTH). more>>
Parse::RPN is a minimalist RPN parser/processor (a little like FORTH).
SYNOPSIS
use Parse::RPN;
$result=rpn(string ...);
@results=rpn(string ...);
$error=rpn_error();
string... is a list of RPN operator and value separated by a coma in scalar mode RPN return the result of the calculation (If the stack contain more then one element, you receive a warning and the top value on the stack) in array mode, you receive the content of the stack after evaluation
rpn() receive in entry a scalar of one or more elements coma separated and evaluate as an RPN (Reverse Polish Notation) command. The function split all elements and put in the stack. The operator are case sensitive. The operator are detect as is, if they are alone in the element of the stack. Extra space before or after are allowed (e.g "3,4,ADD" here ADD is an opeartor but it is not the case in "3,4,ADD 1") If element is not part of the predefined operator (dictionary), the element is push as a litteral.
If you would like to put a string which is part of the dictionary, put it between quote or double-quote (e.g "3,4,ADD" here ADD is a literal and the evaluation reurn ADD and a warning because the stack is not empty) If the string contain a coma, you need also to quote or double-quote the string. (be care to close your quoted or double-quoted string)
The evaluation follow the rule of RPN or FORTH or POSTCRIPT or pockect calcutor HP. Look on web for documentation about the use of RPN notation.
I use this module in a application where the final user need to create an maintain a configuration file with the possibility to do calculation on variable returned from application.
The idea of this module is comming from Math::RPN of Owen DeLong, owen@delong.com that I used for more then a year before some of my customer would like more ... I correct a bug (interversion of > and >=), add the STRING function, pattern search and some STACK functions.
rpn_error() return the last error from the evaluation (illegal division by 0, error from the PERL function execution...) each time that rpn() is call the rpn_error() is reinitianised.
<<lessSYNOPSIS
use Parse::RPN;
$result=rpn(string ...);
@results=rpn(string ...);
$error=rpn_error();
string... is a list of RPN operator and value separated by a coma in scalar mode RPN return the result of the calculation (If the stack contain more then one element, you receive a warning and the top value on the stack) in array mode, you receive the content of the stack after evaluation
rpn() receive in entry a scalar of one or more elements coma separated and evaluate as an RPN (Reverse Polish Notation) command. The function split all elements and put in the stack. The operator are case sensitive. The operator are detect as is, if they are alone in the element of the stack. Extra space before or after are allowed (e.g "3,4,ADD" here ADD is an opeartor but it is not the case in "3,4,ADD 1") If element is not part of the predefined operator (dictionary), the element is push as a litteral.
If you would like to put a string which is part of the dictionary, put it between quote or double-quote (e.g "3,4,ADD" here ADD is a literal and the evaluation reurn ADD and a warning because the stack is not empty) If the string contain a coma, you need also to quote or double-quote the string. (be care to close your quoted or double-quoted string)
The evaluation follow the rule of RPN or FORTH or POSTCRIPT or pockect calcutor HP. Look on web for documentation about the use of RPN notation.
I use this module in a application where the final user need to create an maintain a configuration file with the possibility to do calculation on variable returned from application.
The idea of this module is comming from Math::RPN of Owen DeLong, owen@delong.com that I used for more then a year before some of my customer would like more ... I correct a bug (interversion of > and >=), add the STRING function, pattern search and some STACK functions.
rpn_error() return the last error from the evaluation (illegal division by 0, error from the PERL function execution...) each time that rpn() is call the rpn_error() is reinitianised.
Download (0.025MB)
Added: 2007-06-27 License: Perl Artistic License Price:
851 downloads
JOpenChart 0.94
JOpenChart provides a Java library and toolkit for generating and embedding charts into applications. more>>
JOpenChart provides a Java library and toolkit for generating and embedding charts into applications.
JOpenChart is a free Java Toolkit and library for embedding charts into different kinds of applications, no matter if they are server side, desktop or web applications. Commercial solutions are pretty expensive and at the time I started working on JOpenChart, there was no satisfying open source solution available.
Currently, the library provides all the functionality to draw different kinds of charts, like line, bar, pie and plot charts. Additionally, the class structure includes the necessary classes for the encapsulation of sets of data and the classes for all parts of a typical chart, like a coordinate system, coordinate axes, legends, title and chart renderers.
I put great effort into a good design, ie understandable, logical class structures, elegant interfaces, use of abstract classes etc. The library is easily extendable to provide your own functionalities. This is best illustrated by noting, that all the Renderer classes, which paint the charts, have about 150 - 200 lines of code.
Furthermore, a few more or less proof-of-concept classes are finished that demonstrate how to embed charts into web applications or Swing applications using Servlets or a JComponent respectively.
Main features:
- rendering of pie charts, line charts, bar charts and plot charts
- easy extensibility using a simple Renderer interface API
- linear and logarithmic y-axis
- different data model classes for implementing numerical data sets, data sets with non-numerical x-axis values, dynamic data sets for displaying incoming measured data, SQL database query results.
- polynomial and spline interpolation of data sets and linear regression of measured data
- binding data sets to one of two y-axes with different scales
- plotting of mathematical functions given as String parameters
- exporting diagrams as image files at least using PNG or JPEG compression and whatever encoding the Java Advanced Imaging Library supports
- Servlet Toolkit for the easy inclusion of charts into web applications
- Swing components to integrate charts in Swing applications
Enhancements:
- Now renders stacked bar charts and radar charts.
- Fully automatic, and good looking, margin adaption. No more cut-off labels.
- Add data models with differently sized data sets.
- Support for editable data models, enabling real time updated GUI charts, see GraphFrame.java as an example and the TestGUI ant target.
- Now allows manually setting of maximum and minimum x- and y-values, allowing for zooming.
- JDBCPlotter.java allows plotting of SQL query results.
- Various options for controlling rendering style, esp. of bar charts and coordinate systems, see FunctionPlotApplet.java and always TestChart.java.
- e.g Setting the axis units
- and displaying sums on top of bars etc.
- Choose preset shapes and arbitrary colors for your data sets and plot charts, easily implement your own shapes
- RowColorModel is not a singleton instance anymore
- I externalized the ChartDataModelConstraints class, you can provide your own implementation or extend the existing ones. See StackedChartDataModelConstraints as an example.
- Web archive (war file) now supports Tomcat 3.x and 4.x.
<<lessJOpenChart is a free Java Toolkit and library for embedding charts into different kinds of applications, no matter if they are server side, desktop or web applications. Commercial solutions are pretty expensive and at the time I started working on JOpenChart, there was no satisfying open source solution available.
Currently, the library provides all the functionality to draw different kinds of charts, like line, bar, pie and plot charts. Additionally, the class structure includes the necessary classes for the encapsulation of sets of data and the classes for all parts of a typical chart, like a coordinate system, coordinate axes, legends, title and chart renderers.
I put great effort into a good design, ie understandable, logical class structures, elegant interfaces, use of abstract classes etc. The library is easily extendable to provide your own functionalities. This is best illustrated by noting, that all the Renderer classes, which paint the charts, have about 150 - 200 lines of code.
Furthermore, a few more or less proof-of-concept classes are finished that demonstrate how to embed charts into web applications or Swing applications using Servlets or a JComponent respectively.
Main features:
- rendering of pie charts, line charts, bar charts and plot charts
- easy extensibility using a simple Renderer interface API
- linear and logarithmic y-axis
- different data model classes for implementing numerical data sets, data sets with non-numerical x-axis values, dynamic data sets for displaying incoming measured data, SQL database query results.
- polynomial and spline interpolation of data sets and linear regression of measured data
- binding data sets to one of two y-axes with different scales
- plotting of mathematical functions given as String parameters
- exporting diagrams as image files at least using PNG or JPEG compression and whatever encoding the Java Advanced Imaging Library supports
- Servlet Toolkit for the easy inclusion of charts into web applications
- Swing components to integrate charts in Swing applications
Enhancements:
- Now renders stacked bar charts and radar charts.
- Fully automatic, and good looking, margin adaption. No more cut-off labels.
- Add data models with differently sized data sets.
- Support for editable data models, enabling real time updated GUI charts, see GraphFrame.java as an example and the TestGUI ant target.
- Now allows manually setting of maximum and minimum x- and y-values, allowing for zooming.
- JDBCPlotter.java allows plotting of SQL query results.
- Various options for controlling rendering style, esp. of bar charts and coordinate systems, see FunctionPlotApplet.java and always TestChart.java.
- e.g Setting the axis units
- and displaying sums on top of bars etc.
- Choose preset shapes and arbitrary colors for your data sets and plot charts, easily implement your own shapes
- RowColorModel is not a singleton instance anymore
- I externalized the ChartDataModelConstraints class, you can provide your own implementation or extend the existing ones. See StackedChartDataModelConstraints as an example.
- Web archive (war file) now supports Tomcat 3.x and 4.x.
Download (MB)
Added: 2007-04-11 License: LGPL (GNU Lesser General Public License) Price:
927 downloads
Set::Array 0.14
Set::Array Perl module contains arrays as objects with lots of handy methods and support for method chaining. more>>
Set::Array Perl module contains arrays as objects with lots of handy methods (including Set comparisons) and support for method chaining.
SYNOPSIS
my $sao1 = Set::Array->new(1,2,4,"hello",undef);
my $sao2 = Set::Array->new(qw(a b c a b c));
print $sao1->length; # prints 5
$sao2->unique->length->print; # prints 3
Set::Array allows you to create arrays as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
OBJECT BEHAVIOR
The exact behavior of the methods depends largely on the calling context.
Here are the rules:
* If a method is called in void context, the object itself is modified.
* If the method called is not the last method in a chain (i.e. its called in object context), the object itself is modified by that method regardless of the final context or method call.
* If a method is called in list or scalar context, a list or list refererence is returned, respectively. The object itself is NOT modified.
Heres a quick example:
my $sao = Set::Array->new(1,2,3,2,3);
my @uniq = $sao->unique(); # Object unmodified. @uniq contains 3 values.
$sao->unique(); # Object modified, now contains 3 values
Here are the exceptions:
* Methods that report a value, such as boolean methods like exists() or other methods such as at() or as_hash(), never modify the object.
* The methods clear(), delete(), delete_at(), and splice will always modify the object. It seemed much too counterintuitive to call these methods in any context without actually deleting/clearing/substituting the items!
* The methods shift() and pop() will modify the object AND return the value that was shifted or popped from the array. Again, it seemed much too counterintuitive for something like $val = $sao->shift to return a value while leaving the objects list unchanged. If you really want the first or last value without modifying the object, you can always use the first() or last() method, respectively.
* The join() method always returns a string and is really meant for use in conjunction with the print() method.
BOOLEAN METHODS
exists(val) - Returns 1 if val exists within the array, 0 otherwise. If no value (or undef) is passed, then this method will test for the existence of undefined values within the array.
is_empty() - Returns 1 if the array is empty, 0 otherwise. Empty is defined as having a length of 0.
STANDARD METHODS
at(index) - Returns the item at the given index (or undef). A negative index may be used to count from the end of the array. If no value (or undef) is specified, it will look for the first item that is not defined.
clear() - Empties the array (i.e. length becomes 0). You may pass a 1 to this method to set each element of the array to undef rather than truly empty it.
compact() - Removes undefined elements from the array.
count(?val?) - Returns the number of instances of val within the array. If val is not specified (or is undef), the method will return the number of undefined values within the array.
delete(list) - Deletes all items within list from the array that match. This method will crash if list is not defined. If your goal is to delete undefined values from your object, use the compact() method instead.
delete_at(index, ?index?) - Deletes the item at the specified index. If a second index is specified, a range of items is deleted. You may use -1 or the string end to refer to the last element of the array.
duplicates - Returns a list of N-1 elements for each element N in the set. For example, if you have set "X X Y Y Y", this method would return a the list "X Y Y".
fill(val,?start?,?length?) - Sets the selected elements of the array (which may be the entire array) to val. The default value for start is 0. If length is not specified the entire array, however long it may be at the time of the call, will be filled. Alternatively, a quoted integer range may be used.
e.g. $sao->fill(x,3-5);
The array length/size may not be expanded with this call - it is only meant to fill in already-existing elements.
first() - Returns the first element of the array (or undef).
flatten() - Causes a one-dimensional flattening of the array, recursively. That is, for every element that is an array (or hash, or a ref to either an array or hash), extract its elements into the array.
e.g. my $sa = Set::Array->new([1,3,2],{one=>a,two=>b},x,y,z);
$sao->flatten->join(,)->print; # prints "1,3,2,one,a,two,b,x,y,z"
foreach(sub ref) - Iterates over an array, executing the subroutine for each element in the array. If you wish to modify or otherwise act directly on the contents of the array, use $_ within your sub reference.
e.g. To increment all elements in the array by one...
$sao->foreach(sub{ ++$_ });
get - Alias for the indices() method.
index(val) - Returns the index of the first element of the array object that contains val. Returns undef if no value is found.
Note that there is no dereferencing here so if youre looking for an item nested within a ref, use the flatten method first.
indices(val1,?val2?, ?val...?) - Returns an array consisting of the elements at the specified indices or undef if the element is out of range.
A range may also be used. It must be a quoted string in 0..3 format.
join(?char?) - Joins the individual elements of the list into a single string with the elements separated by the value of char. Useful in conjunction with the print() method. If no character is specified, then char defaults to a comma.
e.g. $sao->join(-)->print;
last() - Returns the last element of the array (or undef).
length() - Returns the number of elements within the array.
max() - Returns the maximum value of an array. No effort is made to check for non-numeric data.
pack(template) - Packs the contents of the array into a string (in scalar context) or a single array element (in object or void context).
pop() - Removes the last element from the array. Returns the popped element.
print(?1?) - Prints the contents of the array. If a 1 is provided as an argument, the output will automatically be terminated with a newline.
This also doubles as a contents method, if you just want to make a copy of the array, e.g. my @copy = $sao->print;
Can be called in void or list context, e.g.
$sao->print(); # or... print "Contents of array are: ", $sao->print();
push(list) - Adds list to the end of the array, where list is either a scalar value or a list. Returns an array or array reference in list or scalar context, respectively. Note that it does not return the length in scalar context. Use the length method for that.
reverse() - Reverses the order of the contents of the array.
rindex(val) - Similar to the index() method, except that it returns the index of the last val found within the array.
set(index,value) - Sets the element at index to value, replacing whatever may have already been there.
shift() - Shifts the first element of the array and returns the shifted element.
sort(?coderef?) - Sorts the contents of the array in alphabetical order, or in the order specified by the optional coderef. Use your standard $a and $b variables within your calling program, e.g:
my $sao = Set::Array->new( { name => Berger, salary => 20000 }, { name => Berger, salary => 15000 }, { name => Vera, salary => 25000 }, );
my $subref = sub{ $b->{name} cmp $a->{name} || $b->{salary} $a->{salary} };
$sao14->sort($subref)->flatten->join->print(1);
splice(?offset?,?length?,?list?) - Splice the array starting at position offset up to length elements, and replace them with list. If no list is provided, all elements are deleted. If length is omitted, everything from offset onward is removed.
Returns an array or array ref in list or scalar context, respectively. This method always modifies the object, regardless of context. If your goal was to grab a range of values without modifying the object, use the indices method instead.
unique() - Removes/returns non-unique elements from the list.
unshift(list) - Prepends a scalar or list to array. Note that this method returns an array or array reference in list or scalar context, respectively. It does not return the length of the array in scalar context. Use the length method for that.
ODDBALL METHODS
as_hash() - Returns a hash based on the current array, with each even numbered element (including 0) serving as the key, and each odd element serving as the value. This can be switched by using the key_order option and setting it to odd, in which case the even values serve as the values, and the odd elements serve as the keys. The default is even.
Of course, if you dont care about insertion order, you could just as well do something like, $sao-reverse->as_hash;>
Carp::croaks if the array contains an odd number of elements. This method does not actually modify the object itself in any way. It just returns a plain hash in list context or a hash reference in scalar context. The reference is not blessed, therefore if this method is called as part of a chain, it must be the last method called.
impose(?append/prepend?,string) - Appends or prepends the specified string to each element in the array. Specify the method by using either the keyword append or prepend. The default is append.
randomize() - Randomizes the order of the elements within the array.
rotate(direction) - Moves the last item of the list to the front and shifts all other elements one to the right, or vice-versa, depending on what you pass as the direction - ftol (first to last) or ltof (last to first). The default is ltof.
e.g. my $sao = Set::Array->new(1,2,3);
$sao->rotate(); # order is now 3,1,2
$sao->rotate(ftol); # order is back to 1,2,3
<<lessSYNOPSIS
my $sao1 = Set::Array->new(1,2,4,"hello",undef);
my $sao2 = Set::Array->new(qw(a b c a b c));
print $sao1->length; # prints 5
$sao2->unique->length->print; # prints 3
Set::Array allows you to create arrays as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
OBJECT BEHAVIOR
The exact behavior of the methods depends largely on the calling context.
Here are the rules:
* If a method is called in void context, the object itself is modified.
* If the method called is not the last method in a chain (i.e. its called in object context), the object itself is modified by that method regardless of the final context or method call.
* If a method is called in list or scalar context, a list or list refererence is returned, respectively. The object itself is NOT modified.
Heres a quick example:
my $sao = Set::Array->new(1,2,3,2,3);
my @uniq = $sao->unique(); # Object unmodified. @uniq contains 3 values.
$sao->unique(); # Object modified, now contains 3 values
Here are the exceptions:
* Methods that report a value, such as boolean methods like exists() or other methods such as at() or as_hash(), never modify the object.
* The methods clear(), delete(), delete_at(), and splice will always modify the object. It seemed much too counterintuitive to call these methods in any context without actually deleting/clearing/substituting the items!
* The methods shift() and pop() will modify the object AND return the value that was shifted or popped from the array. Again, it seemed much too counterintuitive for something like $val = $sao->shift to return a value while leaving the objects list unchanged. If you really want the first or last value without modifying the object, you can always use the first() or last() method, respectively.
* The join() method always returns a string and is really meant for use in conjunction with the print() method.
BOOLEAN METHODS
exists(val) - Returns 1 if val exists within the array, 0 otherwise. If no value (or undef) is passed, then this method will test for the existence of undefined values within the array.
is_empty() - Returns 1 if the array is empty, 0 otherwise. Empty is defined as having a length of 0.
STANDARD METHODS
at(index) - Returns the item at the given index (or undef). A negative index may be used to count from the end of the array. If no value (or undef) is specified, it will look for the first item that is not defined.
clear() - Empties the array (i.e. length becomes 0). You may pass a 1 to this method to set each element of the array to undef rather than truly empty it.
compact() - Removes undefined elements from the array.
count(?val?) - Returns the number of instances of val within the array. If val is not specified (or is undef), the method will return the number of undefined values within the array.
delete(list) - Deletes all items within list from the array that match. This method will crash if list is not defined. If your goal is to delete undefined values from your object, use the compact() method instead.
delete_at(index, ?index?) - Deletes the item at the specified index. If a second index is specified, a range of items is deleted. You may use -1 or the string end to refer to the last element of the array.
duplicates - Returns a list of N-1 elements for each element N in the set. For example, if you have set "X X Y Y Y", this method would return a the list "X Y Y".
fill(val,?start?,?length?) - Sets the selected elements of the array (which may be the entire array) to val. The default value for start is 0. If length is not specified the entire array, however long it may be at the time of the call, will be filled. Alternatively, a quoted integer range may be used.
e.g. $sao->fill(x,3-5);
The array length/size may not be expanded with this call - it is only meant to fill in already-existing elements.
first() - Returns the first element of the array (or undef).
flatten() - Causes a one-dimensional flattening of the array, recursively. That is, for every element that is an array (or hash, or a ref to either an array or hash), extract its elements into the array.
e.g. my $sa = Set::Array->new([1,3,2],{one=>a,two=>b},x,y,z);
$sao->flatten->join(,)->print; # prints "1,3,2,one,a,two,b,x,y,z"
foreach(sub ref) - Iterates over an array, executing the subroutine for each element in the array. If you wish to modify or otherwise act directly on the contents of the array, use $_ within your sub reference.
e.g. To increment all elements in the array by one...
$sao->foreach(sub{ ++$_ });
get - Alias for the indices() method.
index(val) - Returns the index of the first element of the array object that contains val. Returns undef if no value is found.
Note that there is no dereferencing here so if youre looking for an item nested within a ref, use the flatten method first.
indices(val1,?val2?, ?val...?) - Returns an array consisting of the elements at the specified indices or undef if the element is out of range.
A range may also be used. It must be a quoted string in 0..3 format.
join(?char?) - Joins the individual elements of the list into a single string with the elements separated by the value of char. Useful in conjunction with the print() method. If no character is specified, then char defaults to a comma.
e.g. $sao->join(-)->print;
last() - Returns the last element of the array (or undef).
length() - Returns the number of elements within the array.
max() - Returns the maximum value of an array. No effort is made to check for non-numeric data.
pack(template) - Packs the contents of the array into a string (in scalar context) or a single array element (in object or void context).
pop() - Removes the last element from the array. Returns the popped element.
print(?1?) - Prints the contents of the array. If a 1 is provided as an argument, the output will automatically be terminated with a newline.
This also doubles as a contents method, if you just want to make a copy of the array, e.g. my @copy = $sao->print;
Can be called in void or list context, e.g.
$sao->print(); # or... print "Contents of array are: ", $sao->print();
push(list) - Adds list to the end of the array, where list is either a scalar value or a list. Returns an array or array reference in list or scalar context, respectively. Note that it does not return the length in scalar context. Use the length method for that.
reverse() - Reverses the order of the contents of the array.
rindex(val) - Similar to the index() method, except that it returns the index of the last val found within the array.
set(index,value) - Sets the element at index to value, replacing whatever may have already been there.
shift() - Shifts the first element of the array and returns the shifted element.
sort(?coderef?) - Sorts the contents of the array in alphabetical order, or in the order specified by the optional coderef. Use your standard $a and $b variables within your calling program, e.g:
my $sao = Set::Array->new( { name => Berger, salary => 20000 }, { name => Berger, salary => 15000 }, { name => Vera, salary => 25000 }, );
my $subref = sub{ $b->{name} cmp $a->{name} || $b->{salary} $a->{salary} };
$sao14->sort($subref)->flatten->join->print(1);
splice(?offset?,?length?,?list?) - Splice the array starting at position offset up to length elements, and replace them with list. If no list is provided, all elements are deleted. If length is omitted, everything from offset onward is removed.
Returns an array or array ref in list or scalar context, respectively. This method always modifies the object, regardless of context. If your goal was to grab a range of values without modifying the object, use the indices method instead.
unique() - Removes/returns non-unique elements from the list.
unshift(list) - Prepends a scalar or list to array. Note that this method returns an array or array reference in list or scalar context, respectively. It does not return the length of the array in scalar context. Use the length method for that.
ODDBALL METHODS
as_hash() - Returns a hash based on the current array, with each even numbered element (including 0) serving as the key, and each odd element serving as the value. This can be switched by using the key_order option and setting it to odd, in which case the even values serve as the values, and the odd elements serve as the keys. The default is even.
Of course, if you dont care about insertion order, you could just as well do something like, $sao-reverse->as_hash;>
Carp::croaks if the array contains an odd number of elements. This method does not actually modify the object itself in any way. It just returns a plain hash in list context or a hash reference in scalar context. The reference is not blessed, therefore if this method is called as part of a chain, it must be the last method called.
impose(?append/prepend?,string) - Appends or prepends the specified string to each element in the array. Specify the method by using either the keyword append or prepend. The default is append.
randomize() - Randomizes the order of the elements within the array.
rotate(direction) - Moves the last item of the list to the front and shifts all other elements one to the right, or vice-versa, depending on what you pass as the direction - ftol (first to last) or ltof (last to first). The default is ltof.
e.g. my $sao = Set::Array->new(1,2,3);
$sao->rotate(); # order is now 3,1,2
$sao->rotate(ftol); # order is back to 1,2,3
Download (0.023MB)
Added: 2007-07-23 License: Perl Artistic License Price:
823 downloads
PyChoReLib 0.0.5
PyChoReLib is a Python library which transforms lists of notenames to a chordname. more>>
PyChoReLib is a Python library which transforms lists of notenames to a chordname. The system uses built-in music theory knowledge to make it easy and quick to add support for new chord types
PyChoReLib, in the current form, accepts a list of note names, and transforms those to a chord.
e.g. [a, c#, e, g] => A7
Inversions are indicated using a slash and the root note.
e.g. [e, g, a, c#] => A7 / E
Main features:
- PyChoReLib can already name and recognize hundreds of chords
- New chords can be taught to the system "by example" e.g. teach the system that [c,e,g] is called C, and using its built-in music knowledge it immediately knows how to recognize and label all major chords in all inversions or (more generally) permutations.
- Once chord recognition definitions have been taught to the system,
- they can be saved to file, allowing for quick initialization of the recognizer
Planned features (planned != promised)
- Extending the chord recognition database with new chord patterns
- Improving the recognition speed for chords with many notes
- Maybe small GUI to allow interactive chord labeling ? Midi keyboard import ?
- Add heuristic rules to recognize more chords, while requiring less teaching
- Add functionality to suggest a scale which can be used to improvise over a chord
Enhancements:
- Dramatic speed-ups in chord teaching and recognition, a new scale recognizer, support for distinguishing modes, a slightly more robust MIDI input demo, and refactoring to avoid code duplication and use Python new-style classes.
- The serialization to XML was removed as it was not useful and didnt work with new-style classes.
- Many bugfixes were made.
<<lessPyChoReLib, in the current form, accepts a list of note names, and transforms those to a chord.
e.g. [a, c#, e, g] => A7
Inversions are indicated using a slash and the root note.
e.g. [e, g, a, c#] => A7 / E
Main features:
- PyChoReLib can already name and recognize hundreds of chords
- New chords can be taught to the system "by example" e.g. teach the system that [c,e,g] is called C, and using its built-in music knowledge it immediately knows how to recognize and label all major chords in all inversions or (more generally) permutations.
- Once chord recognition definitions have been taught to the system,
- they can be saved to file, allowing for quick initialization of the recognizer
Planned features (planned != promised)
- Extending the chord recognition database with new chord patterns
- Improving the recognition speed for chords with many notes
- Maybe small GUI to allow interactive chord labeling ? Midi keyboard import ?
- Add heuristic rules to recognize more chords, while requiring less teaching
- Add functionality to suggest a scale which can be used to improvise over a chord
Enhancements:
- Dramatic speed-ups in chord teaching and recognition, a new scale recognizer, support for distinguishing modes, a slightly more robust MIDI input demo, and refactoring to avoid code duplication and use Python new-style classes.
- The serialization to XML was removed as it was not useful and didnt work with new-style classes.
- Many bugfixes were made.
Download (0.033MB)
Added: 2006-01-06 License: GPL (GNU General Public License) Price:
1388 downloads
OpenDaemon 0.7.0
OpenDaemon (Formerly OpenXMLD) started as an open-source native XML database server. more>>
OpenDaemon (Formerly OpenXMLD) started as an open-source native XML database server, which aims at achieving the following special goals:
- Performant enough that it can eliminate all the performance problems related to XMLs nature (e.g the need to make a parse tree for each document). so it can offer XMLs extensibility in places where any other non-XML database server can be used.
- As much SQL-compliant as possible so it can replace the current non-XML servers easily and with a minimum of effort (e.g having ODBC and JDBC drivers with no SQL XML translation stuff.)
After about a year of development, it was found that its better to concentrate in the first place on the platform containing the server rather than the query parsing and data extraction functionaltiy, the decision was to do everything on its own, by creating a server platform that provides a generic and flexible model of work the same previous goals could be achieved easier and in a more open and distributed manner.
In this direction, OpenDaemon could reach the stage at which it can be a server of any protocol, and the protocol implementation can utilize a broad set of capabilities built inside the server.
Because portability is a concern, OpenDaemon contains well-defined interfaces between its modules, to allow for easy replacement of any part for portability or performance reasons. Last but not least - OpenDaemon is written with object orientation in mind in the C programming language.
OpenDaemon is an extension of the efforts formerly done in KXParse.
Enhancements:
- Generlized the engine interface so it is not XML-specific.
- Engine capability specification.
- Support for a broader range of functionality within the engine API.
- Configuration parser and API rewrite using bison and flex.
- Support for interface association to a particular port.
- Support for interface parameters and interface instances.
- Generic, more flexible storage API and associated walker.
- Multi-process multi-tasker cleanups.
- Initial support for engine association to file types using the file extension.
- Error reporting model across engines and interfaces.
- Improved and more efficient connection handling.
- Better organization for the source code tree.
- Renamed to OpenDaemon.
<<less- Performant enough that it can eliminate all the performance problems related to XMLs nature (e.g the need to make a parse tree for each document). so it can offer XMLs extensibility in places where any other non-XML database server can be used.
- As much SQL-compliant as possible so it can replace the current non-XML servers easily and with a minimum of effort (e.g having ODBC and JDBC drivers with no SQL XML translation stuff.)
After about a year of development, it was found that its better to concentrate in the first place on the platform containing the server rather than the query parsing and data extraction functionaltiy, the decision was to do everything on its own, by creating a server platform that provides a generic and flexible model of work the same previous goals could be achieved easier and in a more open and distributed manner.
In this direction, OpenDaemon could reach the stage at which it can be a server of any protocol, and the protocol implementation can utilize a broad set of capabilities built inside the server.
Because portability is a concern, OpenDaemon contains well-defined interfaces between its modules, to allow for easy replacement of any part for portability or performance reasons. Last but not least - OpenDaemon is written with object orientation in mind in the C programming language.
OpenDaemon is an extension of the efforts formerly done in KXParse.
Enhancements:
- Generlized the engine interface so it is not XML-specific.
- Engine capability specification.
- Support for a broader range of functionality within the engine API.
- Configuration parser and API rewrite using bison and flex.
- Support for interface association to a particular port.
- Support for interface parameters and interface instances.
- Generic, more flexible storage API and associated walker.
- Multi-process multi-tasker cleanups.
- Initial support for engine association to file types using the file extension.
- Error reporting model across engines and interfaces.
- Improved and more efficient connection handling.
- Better organization for the source code tree.
- Renamed to OpenDaemon.
Download (0.022MB)
Added: 2005-11-25 License: GPL (GNU General Public License) Price:
1428 downloads
Castle Linux 2.4
Castle is a server distribution from the ALT Linux Team in Russia. more>>
Castle is a server distribution from the ALT Linux Team in Russia. Installation instructions and some other documentation is available in English.
Brief RSBAC instructions:
1. During installation process you will have to create security officer account. This is a user that can setup RSBAC security configuration.
2. Installer applies to RSBAC kernel two special parameters "rsbac_auth_enable_login" and "rsbac_softmode". Please, dont remove it. You need it for correct installation process.
3. Run RSBAC kernel just after system installation.
4. After reboot RSBAC will function in normal mode. If you need soft mode again, use rsbac_softmode kernel parameter during boot.
5. After finishing system configuration please reboot your server.
6. RSBAC will work in normal mode at all future startups of the system. You can boot RSBAC kernel in "soft" mode again using "rsbac_softmode" kernel parameter.
7. Login as security officer you have created during installation process and run main RSBAC configuration utility "rsbac_admin".
Default security configuration:
* All system directories are in "read only" and "execute only" mode.
* Base system configuration files (e.g /etc/lilo.conf /etc/fstab) are also in read only mode.
* Home directory is available only for users and security officer (but he has no access to users home directories).Security Officers home is situated in the root directory (/secoff) and is open only for the owner. You can also create trusted environment for security officer by putting special files into the home.
* There are some useful scripts in security officers home: to enable/disable useradd, to enable/disable install and an example script for http protection.
<<lessBrief RSBAC instructions:
1. During installation process you will have to create security officer account. This is a user that can setup RSBAC security configuration.
2. Installer applies to RSBAC kernel two special parameters "rsbac_auth_enable_login" and "rsbac_softmode". Please, dont remove it. You need it for correct installation process.
3. Run RSBAC kernel just after system installation.
4. After reboot RSBAC will function in normal mode. If you need soft mode again, use rsbac_softmode kernel parameter during boot.
5. After finishing system configuration please reboot your server.
6. RSBAC will work in normal mode at all future startups of the system. You can boot RSBAC kernel in "soft" mode again using "rsbac_softmode" kernel parameter.
7. Login as security officer you have created during installation process and run main RSBAC configuration utility "rsbac_admin".
Default security configuration:
* All system directories are in "read only" and "execute only" mode.
* Base system configuration files (e.g /etc/lilo.conf /etc/fstab) are also in read only mode.
* Home directory is available only for users and security officer (but he has no access to users home directories).Security Officers home is situated in the root directory (/secoff) and is open only for the owner. You can also create trusted environment for security officer by putting special files into the home.
* There are some useful scripts in security officers home: to enable/disable useradd, to enable/disable install and an example script for http protection.
Download (706MB)
Added: 2005-05-17 License: GPL (GNU General Public License) Price:
1620 downloads
Cute PHP Library 0.51
Cute PHP library is a small collection of classes for PHP. more>>
Cute PHP library is a small collection of classes for PHP witch purpose is to simplify functions for daily work with PHP. e.g. convertions, formating, DB session.
<<less Download (0.11MB)
Added: 2006-05-25 License: LGPL (GNU Lesser General Public License) Price:
1250 downloads
Acme::Pythonic 0.45
Acme::Pythonic is a Python whitespace conventions for Perl. more>>
Acme::Pythonic is a module that contains Python whitespace conventions for Perl.
SYNOPSIS
use Acme::Pythonic; # this semicolon yet needed
sub delete_edges:
my $G = shift
while my ($u, $v) = splice(@_, 0, 2):
if defined $v:
$G->delete_edge($u, $v)
else:
my @e = $G->edges($u)
while ($u, $v) = splice(@e, 0, 2):
$G->delete_edge($u, $v)
Acme::Pythonic brings Python whitespace conventions to Perl. Just use it and Pythonic code will become valid on the fly. No file is generated, no file is modified.
This module is thought for those who embrace contradictions. A humble contribution for walkers of the Whitespace Matters Way in their pursuit of highest realization, only attained with SuperPython.
<<lessSYNOPSIS
use Acme::Pythonic; # this semicolon yet needed
sub delete_edges:
my $G = shift
while my ($u, $v) = splice(@_, 0, 2):
if defined $v:
$G->delete_edge($u, $v)
else:
my @e = $G->edges($u)
while ($u, $v) = splice(@e, 0, 2):
$G->delete_edge($u, $v)
Acme::Pythonic brings Python whitespace conventions to Perl. Just use it and Pythonic code will become valid on the fly. No file is generated, no file is modified.
This module is thought for those who embrace contradictions. A humble contribution for walkers of the Whitespace Matters Way in their pursuit of highest realization, only attained with SuperPython.
Download (0.020MB)
Added: 2007-04-19 License: Perl Artistic License Price:
918 downloads
jsp File Browser 1.2
jsp File Browser is an easy to use and easy to install file browser java server page. more>>
jsp File Browser is an easy to use and easy to install file browser java server page. This JSP program allows remote web-based file access and manipulation.
Main features:
- Create, copy, move, rename and delete files and directories
- View Files (pictures, movies, pdf, html,...)
- Edit textfiles
- Upload files to the server (Status via Upload monitor)
- Download files from the server
- Download groups of files and folders as a single zip file that is created on the fly
- Execute native commands on the server (e.g ls, tar, chmod,...)
- View entries and unpack zip, jar, war and gz files on the server
- Just one file, very easy to install (in fact, just copy it to the server)
- Customizable layout via css file
- Restrict file access via black or whitelist
It should work with any JSP1.1 compatible server(e.g. Tomcat>=3.0), I tested it on Tomcat 4.0, Resin 2.1.7 and Jetty.
Enhancements:
- A read-only version was added.
- It is now also usable as an upload-center.
- Some UI enhancements were made, like shortkeys and a better layout.
- It should also load a bit faster.
<<lessMain features:
- Create, copy, move, rename and delete files and directories
- View Files (pictures, movies, pdf, html,...)
- Edit textfiles
- Upload files to the server (Status via Upload monitor)
- Download files from the server
- Download groups of files and folders as a single zip file that is created on the fly
- Execute native commands on the server (e.g ls, tar, chmod,...)
- View entries and unpack zip, jar, war and gz files on the server
- Just one file, very easy to install (in fact, just copy it to the server)
- Customizable layout via css file
- Restrict file access via black or whitelist
It should work with any JSP1.1 compatible server(e.g. Tomcat>=3.0), I tested it on Tomcat 4.0, Resin 2.1.7 and Jetty.
Enhancements:
- A read-only version was added.
- It is now also usable as an upload-center.
- Some UI enhancements were made, like shortkeys and a better layout.
- It should also load a bit faster.
Download (0.023MB)
Added: 2006-07-24 License: GPL (GNU General Public License) Price:
1211 downloads
Animated Gallery 1.2
Animated Gallery is a GIMP plugin that creates an animated gallery by overlaying multiple animations. more>>
Animated Gallery is a GIMP plugin that creates an animated gallery by overlaying multiple animations frame-by-frame onto the current image background and saving the resulting combined images.
Written using python-fu and gimp 2.2.3
The purpose of the plug-in is to create an animated gallery (e.g for a DVD menu) by overlaying up to 5 animations frame-by-frame onto the current image background and then flattening and saving the combined frames.
The script takes parameters giving the filenames of the first frame of each source animation (or "OFF" to disable a feed). The frames themselves should be sequentially numbered (e.g. frame_000123.jpg). It should work with all image types the gimp can load (tested with .jpg and .ppm). Note that if a frame is missing in an animation, the previous one is repeated.
I have included an option for rounding the corners of the source frames (using the script-fu rounded rectangle function). If you want other similar functionality (e.g. fade to black at sequence end) I would recommend you to have a look at the source code - python is very easy to learn, and the script is fairly well documented.
Usage:
In order to make a DVD menu with animated chapter images, you would normally merge a number of short animated frame sequences(one per chapter), shrunk down to say 80 pixels high, onto a 720x576 background image (for 4:3 PAL). Obviously you should create all the static parts of the menu (text, drop shadows, button outlines etc) on the background image prior to calling the script. A suitable example background template is provided on the gimp plug-ins registry page for the project.
In order to create an actual DVD menu, you will of course need to use an authoring tool such as the excellent and highly flexible dvdauthor package (make sure you use at least version 0.6.11 however, as previous ones have a problem with spumux not correctly recognising transparent bitmaps). There is a very good HowTo at http://mightylegends.zapto.org/dvd/dvdauthor_howto.php
Installation:
Download the script to the .gimp-2.2/plug-ins/ directory (or equivalent) under your home directory; make it executable (chmod +x animated_gallery.py) and restart the gimp. It should appear as an option under the python-fu -> alchemy menu.
<<lessWritten using python-fu and gimp 2.2.3
The purpose of the plug-in is to create an animated gallery (e.g for a DVD menu) by overlaying up to 5 animations frame-by-frame onto the current image background and then flattening and saving the combined frames.
The script takes parameters giving the filenames of the first frame of each source animation (or "OFF" to disable a feed). The frames themselves should be sequentially numbered (e.g. frame_000123.jpg). It should work with all image types the gimp can load (tested with .jpg and .ppm). Note that if a frame is missing in an animation, the previous one is repeated.
I have included an option for rounding the corners of the source frames (using the script-fu rounded rectangle function). If you want other similar functionality (e.g. fade to black at sequence end) I would recommend you to have a look at the source code - python is very easy to learn, and the script is fairly well documented.
Usage:
In order to make a DVD menu with animated chapter images, you would normally merge a number of short animated frame sequences(one per chapter), shrunk down to say 80 pixels high, onto a 720x576 background image (for 4:3 PAL). Obviously you should create all the static parts of the menu (text, drop shadows, button outlines etc) on the background image prior to calling the script. A suitable example background template is provided on the gimp plug-ins registry page for the project.
In order to create an actual DVD menu, you will of course need to use an authoring tool such as the excellent and highly flexible dvdauthor package (make sure you use at least version 0.6.11 however, as previous ones have a problem with spumux not correctly recognising transparent bitmaps). There is a very good HowTo at http://mightylegends.zapto.org/dvd/dvdauthor_howto.php
Installation:
Download the script to the .gimp-2.2/plug-ins/ directory (or equivalent) under your home directory; make it executable (chmod +x animated_gallery.py) and restart the gimp. It should appear as an option under the python-fu -> alchemy menu.
Download (MB)
Added: 2006-08-16 License: GPL (GNU General Public License) Price:
679 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 e.g 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