reliably
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 49
Eleven 1.0
Eleven is a programming language for building robust, scalable Web applications. more>>
Eleven is a programming language for creating robust, scalable web applications quickly and easily.
It offers a 20x programmer productivity increase over traditional server programming languages like ASP, PHP, and JSP by automating state management and taking control of the applications look and feel.
From high-level source code with a simple, C-like syntax, the compiler generates complete, ready-to-run implementations in PHP or mod_perl. Applications generated by Eleven maintain their state in a relational database and are inherently fault-tolerant, secure, and scalable.
Most interactive web applications today are primitive. Of course there are shining exceptions such as Amazon.com, TurboTax, and others. But by and large, most web applications are crudely designed and not especially reliable. Have you ever entered data into a web application, then lost it due to a browser crash? Have you ever gotten part way through an e-commerce transaction, then had the session go into never-never land while waiting for your credit card to be validated? Have you ever reloaded a web page and found that you just duplicated a transaction by accident? Web applications are server based, so in theory they ought to be as reliable as traditional mainframe applications. But they arent.
The problem is that there are two ways of creating web applications. Theres the expensive way, in which massive amounts of engineering are dedicated to making the sites reliable and scalable. These applications tend to keep most of their state in server-side databases, which run in controlled environments and are carefully managed. If your browser crashes during a session, you can usually log in from another computer and pick up where you left off.
Then theres the cheap way (often seen in corporate intranets and extranets). These tend to keep their state on the client (in hidden form fields or HTTP cookies), in the web servers memory, or in the web servers filesystem. These applications tend to be fragile. They dont handle system failures well, and get confused easily if the user presses the back button, restarts the web browser, etc.
The Eleven project solves this problem by making it quick and easy to create robust, scalable, database-backed web applications. Applications are expressed in a high-level language with a syntax similar to C and a conceptual structure similar to BASIC. Here is a simple example.
The code is self-explanatory:
statesafe var first, last;
display
{
print ("Please enter your name.");
edit ("First name: ", first);
edit ("Last name: ", last);
}
display
{
print ("Thank you, ", first, " ", last, ".");
}
Here is another example; the worlds smallest to-do list application. Where the code invokes the edit function on the table data type, the compiler automatically fills in a table editor:
statesafe table
{
var deadline "Task deadline";
var description "Task description";
} todolist;
display
{
edit ("Enter your tasks: ", todolist);
}
The point is that the Eleven compiler takes over the job of state management. The programmer doesnt need to worry about how the variables first and last are passed from one display to the next, how to represent the to-do list in the relational database, how to deal with the back button, how to enable a session to be seamlessly resumed if the computer crashes, and so on. All of those problems are taken care of automatically.
Whats more, those benefits are achieved without any special runtime support. The Eleven compiler translates source code into complete PHP or mod_perl programs that run under the Apache web server. The only runtime support needed is a standard installation of Apache with PHP or mod_perl, and a relational database such as MySQL for the back end. Furthermore, the generated code is fairly readable, and can be inspected before uploading to the web site. This is a great benefit for security-minded system administrators who are wary of installing yet another "framework" onto their production machines.
All applications generated by Eleven automatically save their state to the relational database after every user action. The web browser and web servers are stateless. Thus, the applications have three important characteristics:
1. They are bulletproof, meaning that the applications are resilient to failures of any runtime component. Sessions cannot be derailed by browser crashes, web server crashes, bookmarking or tampering with URLs, etc. as long as the integrity of the relational database is maintained.
2. They are secure, meaning that all application data is safely kept private. It is stored in the database, never in hidden form fields or HTTP cookies where it is vulnerable. Consider the example of a web application that is being used from a laptop. If the laptop is stolen, then any private data stored in HTTP cookies is compromised. This is an important factor in medical applications, for example.
3. They are scalable, meaning that system performance can be increased by replicating the application across a load-balancing server farm. HTTP requests can be directed to random web servers even within a single user session, and the applications will still work reliably. The only performance bottleneck is the database, and there are existing commercial solutions for scaling databases.
We introduce the term statesafe to describe web applications that achieve these three benefits using this architecture. All web applications generated by the Eleven compiler are statesafe.
<<lessIt offers a 20x programmer productivity increase over traditional server programming languages like ASP, PHP, and JSP by automating state management and taking control of the applications look and feel.
From high-level source code with a simple, C-like syntax, the compiler generates complete, ready-to-run implementations in PHP or mod_perl. Applications generated by Eleven maintain their state in a relational database and are inherently fault-tolerant, secure, and scalable.
Most interactive web applications today are primitive. Of course there are shining exceptions such as Amazon.com, TurboTax, and others. But by and large, most web applications are crudely designed and not especially reliable. Have you ever entered data into a web application, then lost it due to a browser crash? Have you ever gotten part way through an e-commerce transaction, then had the session go into never-never land while waiting for your credit card to be validated? Have you ever reloaded a web page and found that you just duplicated a transaction by accident? Web applications are server based, so in theory they ought to be as reliable as traditional mainframe applications. But they arent.
The problem is that there are two ways of creating web applications. Theres the expensive way, in which massive amounts of engineering are dedicated to making the sites reliable and scalable. These applications tend to keep most of their state in server-side databases, which run in controlled environments and are carefully managed. If your browser crashes during a session, you can usually log in from another computer and pick up where you left off.
Then theres the cheap way (often seen in corporate intranets and extranets). These tend to keep their state on the client (in hidden form fields or HTTP cookies), in the web servers memory, or in the web servers filesystem. These applications tend to be fragile. They dont handle system failures well, and get confused easily if the user presses the back button, restarts the web browser, etc.
The Eleven project solves this problem by making it quick and easy to create robust, scalable, database-backed web applications. Applications are expressed in a high-level language with a syntax similar to C and a conceptual structure similar to BASIC. Here is a simple example.
The code is self-explanatory:
statesafe var first, last;
display
{
print ("Please enter your name.");
edit ("First name: ", first);
edit ("Last name: ", last);
}
display
{
print ("Thank you, ", first, " ", last, ".");
}
Here is another example; the worlds smallest to-do list application. Where the code invokes the edit function on the table data type, the compiler automatically fills in a table editor:
statesafe table
{
var deadline "Task deadline";
var description "Task description";
} todolist;
display
{
edit ("Enter your tasks: ", todolist);
}
The point is that the Eleven compiler takes over the job of state management. The programmer doesnt need to worry about how the variables first and last are passed from one display to the next, how to represent the to-do list in the relational database, how to deal with the back button, how to enable a session to be seamlessly resumed if the computer crashes, and so on. All of those problems are taken care of automatically.
Whats more, those benefits are achieved without any special runtime support. The Eleven compiler translates source code into complete PHP or mod_perl programs that run under the Apache web server. The only runtime support needed is a standard installation of Apache with PHP or mod_perl, and a relational database such as MySQL for the back end. Furthermore, the generated code is fairly readable, and can be inspected before uploading to the web site. This is a great benefit for security-minded system administrators who are wary of installing yet another "framework" onto their production machines.
All applications generated by Eleven automatically save their state to the relational database after every user action. The web browser and web servers are stateless. Thus, the applications have three important characteristics:
1. They are bulletproof, meaning that the applications are resilient to failures of any runtime component. Sessions cannot be derailed by browser crashes, web server crashes, bookmarking or tampering with URLs, etc. as long as the integrity of the relational database is maintained.
2. They are secure, meaning that all application data is safely kept private. It is stored in the database, never in hidden form fields or HTTP cookies where it is vulnerable. Consider the example of a web application that is being used from a laptop. If the laptop is stolen, then any private data stored in HTTP cookies is compromised. This is an important factor in medical applications, for example.
3. They are scalable, meaning that system performance can be increased by replicating the application across a load-balancing server farm. HTTP requests can be directed to random web servers even within a single user session, and the applications will still work reliably. The only performance bottleneck is the database, and there are existing commercial solutions for scaling databases.
We introduce the term statesafe to describe web applications that achieve these three benefits using this architecture. All web applications generated by the Eleven compiler are statesafe.
Download (0.50MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1745 downloads
Multicasting Master-Slave Network Filesystem 0.8
Multicasting Master-Slave Network Filesystem is a method of distributing an entire filesystem among several machines. more>>
Network technology evolves quickly, but available bandwidths are still not sufficient for fast transfers of big files to a bunch of clients (for example populating operating systems installation images).
This paper describes Multicasting Master-Slave Network Filesystem (mmsnfs) -- a new method of distributing entire filesystem among several client-machines simultaneously and efficiently.
Moreover it provides mechanisms for modifying distibuted filesystem structure reliably and securing it against introducing inconsistencies. It is designed to be used in small networks of similarly-configured machines, for instance university labs or internet cafes.
<<lessThis paper describes Multicasting Master-Slave Network Filesystem (mmsnfs) -- a new method of distributing entire filesystem among several client-machines simultaneously and efficiently.
Moreover it provides mechanisms for modifying distibuted filesystem structure reliably and securing it against introducing inconsistencies. It is designed to be used in small networks of similarly-configured machines, for instance university labs or internet cafes.
Download (0.055MB)
Added: 2005-04-08 License: GPL (GNU General Public License) Price:
1668 downloads
OpenMCL 0.14.3
OpenMCL is a Common Lisp compiler for PPC. more>>
OpenMCL is an opensourced Common Lisp implementation, licensed under a Lisp-specific variant of the LGPL, and derived from Digitools MCL product. Versions are available for LinuxPPC and for Darwin , the BSD/Mach layer on which MacOSX is based.
Installation:
OpenMCL runs under relatively recent versions of LinuxPPC . It requires version 2.2.13 (or later) of the Linux kernel and version 2.1.3 (or later) of the GNU C library (glibc). Its been reported that OpenMCL runs reliably under version 2.4 of the Linux kernel.
OpenMCL binary releases are distributed as gziped tar archives whose names are of the form "openmcl-PLATFORM-bin-x.y.tar.gz", where "PLATFORM" is one of "linuxppc" or "darwinppc" and "x" and "y" are major/minor version numbers. Some of the major things which binary releases contain are:
* the OpenMCL kernel: "ccl/ppccl" for LinuxPPC, "ccl/dppccl" for DarwinPPC
* the OpenMCLinitial heap image: "ccl/PPCCL" for LinuxPPC, "ccl/dppccl.image" for DarwinPPC
* ccl/README-openmcl-bin-x.y
* ccl/scripts/openmcl
OpenMCL source releases are also distributed as gziped tar archives whose names (not surprisingingly) are of the form "openmcl-src-x.y.tar.gz". These are archives of a checked-out copy of the OpenMCL CVS tree as of the corresponding binary release. Source releases contain:
ccl/
ccl/CVS/
ccl/CVS/Root
ccl/CVS/Repository
ccl/CVS/Entries
ccl/CVS/Entries.Log
ccl/binppc/
ccl/binppc/CVS/
ccl/binppc/CVS/Root
...
and quite a few other things; e.g., theyre intended to create and/or populate the same ccl directory.
So, release tar.gz archives should be extracted from the directory that is or will be the parent of the
ccl directory; if youd prefer to obtain OpenMCL sources via CVS the cvs get command should be issued from the parent directory as well. (The CVS -d option and GNU tars -C option can also be used, but the intent is that sources and binaries wind up in the same ccl directory.)
For example, assuming that one wants to make the ccl directory be "~/lisp/ccl":
1. Download the binary release archive.
> cd ~/lisp
2. Do something like:
> tar foxvz openmcl-PLATFORM-bin-x.y.tar.gz
That should create (or update the contents of) ~/lisp/ccl.
You could then either (a) repeat the process with the corresponding source release archive, or (b) having done a "cvs login" to the clozure.com CVS server at some point, issue a "cvs get" from ~/lisp.
Its possible to use the OpenMCL binaries without having installed the sources, but some functionality (like non-trivial usage of the LOOP macro) is autoloaded.
After having installed a binary release for the first time, you should consider installing the OpenMCL shell script .
Its possible (and, assuming the use of NFS or something similar, quite useful) to "share" the same directory between Linux and Darwin.
Note that binary distributions intentionally do not contain the OpenMCL interface database for either platform. The interface database files are fairly large and (ideally) fairly stable - their contents should change less frequently than the lisp itself - and are therefore distributed separately. Its necessary to install the appropriate interface database in order to compile OpenMCL sources.
Important: If you just double-click the file instead of running this command line, it will open in Stuffit Expander. This will wind up creating a new directory named ccl.1 (or ccl.2, or...), because Stuffit will see your existing ccl directory and assume that you dont want the new files to be mixed in with the old ones. But in this case, you do want them to be mixed in! Thats why youre using the tar program, instead.
<<lessInstallation:
OpenMCL runs under relatively recent versions of LinuxPPC . It requires version 2.2.13 (or later) of the Linux kernel and version 2.1.3 (or later) of the GNU C library (glibc). Its been reported that OpenMCL runs reliably under version 2.4 of the Linux kernel.
OpenMCL binary releases are distributed as gziped tar archives whose names are of the form "openmcl-PLATFORM-bin-x.y.tar.gz", where "PLATFORM" is one of "linuxppc" or "darwinppc" and "x" and "y" are major/minor version numbers. Some of the major things which binary releases contain are:
* the OpenMCL kernel: "ccl/ppccl" for LinuxPPC, "ccl/dppccl" for DarwinPPC
* the OpenMCLinitial heap image: "ccl/PPCCL" for LinuxPPC, "ccl/dppccl.image" for DarwinPPC
* ccl/README-openmcl-bin-x.y
* ccl/scripts/openmcl
OpenMCL source releases are also distributed as gziped tar archives whose names (not surprisingingly) are of the form "openmcl-src-x.y.tar.gz". These are archives of a checked-out copy of the OpenMCL CVS tree as of the corresponding binary release. Source releases contain:
ccl/
ccl/CVS/
ccl/CVS/Root
ccl/CVS/Repository
ccl/CVS/Entries
ccl/CVS/Entries.Log
ccl/binppc/
ccl/binppc/CVS/
ccl/binppc/CVS/Root
...
and quite a few other things; e.g., theyre intended to create and/or populate the same ccl directory.
So, release tar.gz archives should be extracted from the directory that is or will be the parent of the
ccl directory; if youd prefer to obtain OpenMCL sources via CVS the cvs get command should be issued from the parent directory as well. (The CVS -d option and GNU tars -C option can also be used, but the intent is that sources and binaries wind up in the same ccl directory.)
For example, assuming that one wants to make the ccl directory be "~/lisp/ccl":
1. Download the binary release archive.
> cd ~/lisp
2. Do something like:
> tar foxvz openmcl-PLATFORM-bin-x.y.tar.gz
That should create (or update the contents of) ~/lisp/ccl.
You could then either (a) repeat the process with the corresponding source release archive, or (b) having done a "cvs login" to the clozure.com CVS server at some point, issue a "cvs get" from ~/lisp.
Its possible to use the OpenMCL binaries without having installed the sources, but some functionality (like non-trivial usage of the LOOP macro) is autoloaded.
After having installed a binary release for the first time, you should consider installing the OpenMCL shell script .
Its possible (and, assuming the use of NFS or something similar, quite useful) to "share" the same directory between Linux and Darwin.
Note that binary distributions intentionally do not contain the OpenMCL interface database for either platform. The interface database files are fairly large and (ideally) fairly stable - their contents should change less frequently than the lisp itself - and are therefore distributed separately. Its necessary to install the appropriate interface database in order to compile OpenMCL sources.
Important: If you just double-click the file instead of running this command line, it will open in Stuffit Expander. This will wind up creating a new directory named ccl.1 (or ccl.2, or...), because Stuffit will see your existing ccl directory and assume that you dont want the new files to be mixed in with the old ones. But in this case, you do want them to be mixed in! Thats why youre using the tar program, instead.
Download (5.7MB)
Added: 2005-04-22 License: LGPL (GNU Lesser General Public License) Price:
1648 downloads
KXplayer 0.2 pre1
KXplayer is a very simple media player, based on xine. more>>
KXplayer is a very simple media player, based on xine. Its my hobby-project - just a way to get a better knowledge of KDEs internals.
Besides I wanted to learn programming C++ and since I believe the best way to learn programing is to write a program, I just made my mind to write a multimedia player.
Since it is a player, this word had to be in present in the title. The K and X appered there because of KDE (interface) and XINE (backend).
I took the decision to write a player because I needed one. I needed a good media player for KDE (something like XMMS with KDE inderface), which would be working as reliably as possible.
At present my PC is a 750MHz Duron with 128MB RAM and its almost imposible to work in OpenOffice.org and listen to MP3/OGG at the same time. Running XMMS and OpenOffice 1.x together on my Mandrake results in sound fragmentation.
For some time Ive been using boombox (you can find it in kde-apps). It is based on xine and I found it working better than xmms - almost no fragmentation. Unfortunately boomboxs interface is a bit strange (IMHO) and its not saving the equalizer settings (very annoying).
<<lessBesides I wanted to learn programming C++ and since I believe the best way to learn programing is to write a program, I just made my mind to write a multimedia player.
Since it is a player, this word had to be in present in the title. The K and X appered there because of KDE (interface) and XINE (backend).
I took the decision to write a player because I needed one. I needed a good media player for KDE (something like XMMS with KDE inderface), which would be working as reliably as possible.
At present my PC is a 750MHz Duron with 128MB RAM and its almost imposible to work in OpenOffice.org and listen to MP3/OGG at the same time. Running XMMS and OpenOffice 1.x together on my Mandrake results in sound fragmentation.
For some time Ive been using boombox (you can find it in kde-apps). It is based on xine and I found it working better than xmms - almost no fragmentation. Unfortunately boomboxs interface is a bit strange (IMHO) and its not saving the equalizer settings (very annoying).
Download (0.57MB)
Added: 2005-06-14 License: GPL (GNU General Public License) Price:
1595 downloads
Fenice 1.10
Fenice is a standards-compliant multimedia streaming server. more>>
Fenice is a multimedia streaming server compliant with the IETFs standards for real-time streaming of multimedia contents over Internet. Fenice implements RTSP - Real-Time Streaming Protocol (RFC2326) and RTP/RTCP - Real-Time Transport Protocol/RTP Control Protocol (RFC3550) supporting the RTP Profile for Audio and Video Conferences with Minimal Control (RFC3551).
Fenice supports the following encoding standards:
Audio
- MP3 (MPEG-1 Layer III) (RFC3119)
- OGG/Vorbis (work in progress)
Video
- MPEG-1/2 (RFC2250)
- Preliminary support for MPEG-4 (RFC3016, RFC3640)
- OGG/Theora (work in progress)
The main characteristic of Fenice is that it is adaptable to the state of the network gotten through the technique of the dynamic coding change.
Fenice is also able to manage live streaming sessions using external real-time audio/video encoders such as lame, ffmpeg or mjpeg-tools, even capturing audio and video streams from live-recording remote hosts (with Felice - Fenice Live CEaseless).
Fenice is the worlds first streaming server supporting Creative Commons licensing meta-data for audio/video streaming.
Enhancements:
- Log support via file or sysconfig was added.
- MPEG-4 support was finished, and works best for stored contents.
- The annoying 100% CPU bug was fixed.
- Fenice should now run smoothly and reliably in almost every condition.
- Various bugs were fixed.
- Fenice is GCC4 compatible.
<<lessFenice supports the following encoding standards:
Audio
- MP3 (MPEG-1 Layer III) (RFC3119)
- OGG/Vorbis (work in progress)
Video
- MPEG-1/2 (RFC2250)
- Preliminary support for MPEG-4 (RFC3016, RFC3640)
- OGG/Theora (work in progress)
The main characteristic of Fenice is that it is adaptable to the state of the network gotten through the technique of the dynamic coding change.
Fenice is also able to manage live streaming sessions using external real-time audio/video encoders such as lame, ffmpeg or mjpeg-tools, even capturing audio and video streams from live-recording remote hosts (with Felice - Fenice Live CEaseless).
Fenice is the worlds first streaming server supporting Creative Commons licensing meta-data for audio/video streaming.
Enhancements:
- Log support via file or sysconfig was added.
- MPEG-4 support was finished, and works best for stored contents.
- The annoying 100% CPU bug was fixed.
- Fenice should now run smoothly and reliably in almost every condition.
- Various bugs were fixed.
- Fenice is GCC4 compatible.
Download (MB)
Added: 2005-07-27 License: GPL (GNU General Public License) Price:
1554 downloads
Distributed Internet Backup System 0.92
Distributed Internet Backup System works by doing all its communication through email. more>>
Distributed Internet Backup System works by doing all its communication through email. The benefit of using email for transport is that clients behind firewalls or with intermittent connections to the Internet can use DIBS reliably.
Since disk drives are cheap, backup should be cheap too. Of course it does not help to mirror your data by adding more disks to your own computer because a virus, fire, flood, robbery, power surge, etc. could still wipe out your local data center.
Instead, you should give your files to peers (and in return store their files) so that if a catastrophe strikes your area, you can recover data from surviving peers. The Distributed Internet Backup System (DIBS) is designed to implement this vision.
Note that DIBS is a backup system not a file sharing system like Napster, Gnutella, Kazaa, etc. In fact, DIBS encrypts all data transmissions so that the peers you trade files with can not access your data.
Enhancements:
- Added Peer Finder service to allow advertising and automated exchange of peering information. See manual for details.
- Updated add_peer and edit_peer commands to allow sizes to be specified using k, m, g, t (e.g., 10k, 10m, 10g, 10t).
- Updated the protocol DIBS uses to exchange store, unstore, probe, and other messages between peers. The new protocol is XML based to allow easier debugging, parsing, and extensions.
- Fixed a deadlock bug reported by Jason Martin in a message to the dibs-discussion mailing list.
- Made the daemon run its periodic checks like spawnning auto_check, process_message, etc., as soon as it starts up.
- Other minor bug fixes and improvements
<<lessSince disk drives are cheap, backup should be cheap too. Of course it does not help to mirror your data by adding more disks to your own computer because a virus, fire, flood, robbery, power surge, etc. could still wipe out your local data center.
Instead, you should give your files to peers (and in return store their files) so that if a catastrophe strikes your area, you can recover data from surviving peers. The Distributed Internet Backup System (DIBS) is designed to implement this vision.
Note that DIBS is a backup system not a file sharing system like Napster, Gnutella, Kazaa, etc. In fact, DIBS encrypts all data transmissions so that the peers you trade files with can not access your data.
Enhancements:
- Added Peer Finder service to allow advertising and automated exchange of peering information. See manual for details.
- Updated add_peer and edit_peer commands to allow sizes to be specified using k, m, g, t (e.g., 10k, 10m, 10g, 10t).
- Updated the protocol DIBS uses to exchange store, unstore, probe, and other messages between peers. The new protocol is XML based to allow easier debugging, parsing, and extensions.
- Fixed a deadlock bug reported by Jason Martin in a message to the dibs-discussion mailing list.
- Made the daemon run its periodic checks like spawnning auto_check, process_message, etc., as soon as it starts up.
- Other minor bug fixes and improvements
Download (0.18MB)
Added: 2005-10-03 License: BSD License Price:
1485 downloads
Vacation 1.1.8
Vacation is a mail auto-responder (for when you are on vacation and such), written in Perl. more>>
Vacation is a mail auto-responder (for when you are on vacation and such), written in Perl.
Vacation is loosely based on the vacation program by Larry Wall and Tom Christiansen.
I decided to write a new vacation clone since I could not find a version that would work reliably under Red Hat Linux 6.0. I finally found the old Perl version by Larry Wall and Tom Christiansen -- it was the most full-featured, and it almost worked. So, I decided to rewrite it. You may find the original version as "vacation.orig" in this distribution.
Since then, several others have released similar implementations and updates to vacation. While there is no longer a gap to fill, this version still provides a few unique features, flexibility, and portability.
You may also find a simpler auto-responder script in this distribution called mail-responder.pl. This precursor to vacation may be more appropriate at the system level (e.g., called from the aliases file) as compared to vacation which is designed for individual users.
Enhancements:
- Added a Vacation tag to From: addresses
- Added a routine to properly generate date headers (long overdue!) Thanks to Milivoj Ivkovic for the example
- Added a flag to only respond to specified senders Thanks to Jeff Chan for the feature request
- Improved parsing of From: addresses Thanks to Mark Haidl
- Added $RECIPIENT and $SENDER tokens Thanks to Wayne Fathers for the feature request
<<lessVacation is loosely based on the vacation program by Larry Wall and Tom Christiansen.
I decided to write a new vacation clone since I could not find a version that would work reliably under Red Hat Linux 6.0. I finally found the old Perl version by Larry Wall and Tom Christiansen -- it was the most full-featured, and it almost worked. So, I decided to rewrite it. You may find the original version as "vacation.orig" in this distribution.
Since then, several others have released similar implementations and updates to vacation. While there is no longer a gap to fill, this version still provides a few unique features, flexibility, and portability.
You may also find a simpler auto-responder script in this distribution called mail-responder.pl. This precursor to vacation may be more appropriate at the system level (e.g., called from the aliases file) as compared to vacation which is designed for individual users.
Enhancements:
- Added a Vacation tag to From: addresses
- Added a routine to properly generate date headers (long overdue!) Thanks to Milivoj Ivkovic for the example
- Added a flag to only respond to specified senders Thanks to Jeff Chan for the feature request
- Improved parsing of From: addresses Thanks to Mark Haidl
- Added $RECIPIENT and $SENDER tokens Thanks to Wayne Fathers for the feature request
Download (0.037MB)
Added: 2005-12-20 License: Artistic License Price:
1404 downloads
Ibis 1.3
Ibis is an open source Java grid software project of the Computer Systems group. more>>
Ibis is an open source Java grid software project of the Computer Systems group, which is part of the Computer Science department of the Faculty of Sciences at the Vrije Universiteit, Amsterdam, The Netherlands.
Using Ibis, software can be developed which runs reliably and efficiently on a grid. Programs can, through Ibis, make use of high speed networking hardware while still remaining portable.
Ibis project is possible to write Ibis programs using multiple programming models, including standard Java RMI, models which support group communication, a divide-and-conquer model, and message passing.
Ibis is designed as a multi layer system. See the picture of the Ibis design below. On top of the system are the applications. These applications can use any of the programming models present in Ibis.
Available models include standard Java RMI, a divide and conqueror model called Satin, and GMI, a version of RMI enhanced with group communication. The next layer is the Ibis Portability Layer, or IPL.
The IPL acts as a common interface for the different programming models to the bottom implementation layer. Multiple implementations are available.
Some using 100% Java code to ensure portability, and some taking advantage of local high speed networks such as Myrinet using native code.
Enhancements:
- This release adds MPJ/Ibis, a pure Java implementation of the MPJ programming interface that has been defined by the Java Grande forum to provide MPI-like message passing for Java applications.
- Shared objects for Satin were added.
- This is a replacement (and major improvement) of the TupleSpace.
- The TupleSpace is still there, but it is deprecated and will probably not be there anymore in the next Ibis release.
- The connection setup code was improved and rewritten.
- Various scalability issues were fixed, mostly in the nameserver.
- Ibis now scales up to at least a thousand nodes.
<<lessUsing Ibis, software can be developed which runs reliably and efficiently on a grid. Programs can, through Ibis, make use of high speed networking hardware while still remaining portable.
Ibis project is possible to write Ibis programs using multiple programming models, including standard Java RMI, models which support group communication, a divide-and-conquer model, and message passing.
Ibis is designed as a multi layer system. See the picture of the Ibis design below. On top of the system are the applications. These applications can use any of the programming models present in Ibis.
Available models include standard Java RMI, a divide and conqueror model called Satin, and GMI, a version of RMI enhanced with group communication. The next layer is the Ibis Portability Layer, or IPL.
The IPL acts as a common interface for the different programming models to the bottom implementation layer. Multiple implementations are available.
Some using 100% Java code to ensure portability, and some taking advantage of local high speed networks such as Myrinet using native code.
Enhancements:
- This release adds MPJ/Ibis, a pure Java implementation of the MPJ programming interface that has been defined by the Java Grande forum to provide MPI-like message passing for Java applications.
- Shared objects for Satin were added.
- This is a replacement (and major improvement) of the TupleSpace.
- The TupleSpace is still there, but it is deprecated and will probably not be there anymore in the next Ibis release.
- The connection setup code was improved and rewritten.
- Various scalability issues were fixed, mostly in the nameserver.
- Ibis now scales up to at least a thousand nodes.
Download (15.3MB)
Added: 2006-02-21 License: BSD License Price:
1403 downloads
Low Resolution Modeline Calculator 0.9.2
Low Resolution Modeline Calculator is a modeline calculator for legacy CRT displays. more>>
Low Resolution Modeline Calculator is a modeline calculator for legacy CRT displays, including TVs, arcade monitors, and VGA monitors.
Low Resolution Modeline Calculator can also be used to calculate low resolution modelines for modern multisync PC monitors.
As its name implies, it is not designed for calculating large resolutions, resolutions that operate over 65kHz.
Options:
-v, --vsync
Calculate the nearest mode in vertical synchronization.
-b, --bestscan
Calculate the nearest best scan mode.
-i, --interlace
Include support for interlaced calculations. Interlaced modes are not supported by many video cards. You should only enable this option if you know your video card supports them.
-d, --doublescan
Include support for doublescanned calculations. Doublescanned modes are not supported by many video cards. You should only enable this option if you know your video card supports them.
-n, --nostretch
Do not stretch modes that are out of range for your monitor. You should use this option if you know that your application does not support integer stretching.
-y, --ystretch
Assume fractional stretching of the y-resolution. You should use this option if you know that your application supports fractional stretching of the y-resolution and you want to stretch an underscanned mode so that it fills the entire screen.
-l, --lowpclock
Many video cards do not reliably support pixel clocks lower than 8mHz. If you know that your video card and its driver support pixel clocks lower than 8mHz, then you should use this option.
-h, --highpclock
Most X11 video card drivers do not support pixel clocks lower than 12mHz. In some cases your video card may not support pixel clocks lower than 12mHz either (rare). If you know that your video card (or your video card driver) does not support pixel clocks lower than 12mHz, then you should use this option.
-3x4
Stretch the horizontal resolution so that the mode has a 3:4 aspect ratio. You can use this option to correctly display vertical resolutions on a horizontal monitor.
-x, --X11R6
Print modeline in X11 format (default).
-f, --fb
Print modeline in fbset format.
-a, --advmame
Print modeline in AdvanceMAME format.
-s, --SDL
Print modeline in X11 format to stdout and print AdvanceMAME X11 configuration to stderr.
-p, --powerstrip
Print modeline in PowerStrip format.
-pal
Calculate modelines for a PAL Television (15.625kHz).
-ntsc
Calculate modelines for a NTSC Television (15.73426kHz).
-cga
Calculate modelines for a standard resolution arcade monitor (15.7500kHz).
-ega
Calculate modelines for a medium resolution arcade monitor (24.960kHz).
-vga
Calculate modelines for a standard VGA monitor (31.500kHz).
-d9200
Calculate modelines for a Wells-Gardner 9200 arcade monitor (15kHz, 25kHz, 31kHz).
-multi
Calculate modelines for a Multisync PC monitor (default)
Enhancements:
- The --reference option works correctly.
- The DOS version compiles with libxml.
<<lessLow Resolution Modeline Calculator can also be used to calculate low resolution modelines for modern multisync PC monitors.
As its name implies, it is not designed for calculating large resolutions, resolutions that operate over 65kHz.
Options:
-v, --vsync
Calculate the nearest mode in vertical synchronization.
-b, --bestscan
Calculate the nearest best scan mode.
-i, --interlace
Include support for interlaced calculations. Interlaced modes are not supported by many video cards. You should only enable this option if you know your video card supports them.
-d, --doublescan
Include support for doublescanned calculations. Doublescanned modes are not supported by many video cards. You should only enable this option if you know your video card supports them.
-n, --nostretch
Do not stretch modes that are out of range for your monitor. You should use this option if you know that your application does not support integer stretching.
-y, --ystretch
Assume fractional stretching of the y-resolution. You should use this option if you know that your application supports fractional stretching of the y-resolution and you want to stretch an underscanned mode so that it fills the entire screen.
-l, --lowpclock
Many video cards do not reliably support pixel clocks lower than 8mHz. If you know that your video card and its driver support pixel clocks lower than 8mHz, then you should use this option.
-h, --highpclock
Most X11 video card drivers do not support pixel clocks lower than 12mHz. In some cases your video card may not support pixel clocks lower than 12mHz either (rare). If you know that your video card (or your video card driver) does not support pixel clocks lower than 12mHz, then you should use this option.
-3x4
Stretch the horizontal resolution so that the mode has a 3:4 aspect ratio. You can use this option to correctly display vertical resolutions on a horizontal monitor.
-x, --X11R6
Print modeline in X11 format (default).
-f, --fb
Print modeline in fbset format.
-a, --advmame
Print modeline in AdvanceMAME format.
-s, --SDL
Print modeline in X11 format to stdout and print AdvanceMAME X11 configuration to stderr.
-p, --powerstrip
Print modeline in PowerStrip format.
-pal
Calculate modelines for a PAL Television (15.625kHz).
-ntsc
Calculate modelines for a NTSC Television (15.73426kHz).
-cga
Calculate modelines for a standard resolution arcade monitor (15.7500kHz).
-ega
Calculate modelines for a medium resolution arcade monitor (24.960kHz).
-vga
Calculate modelines for a standard VGA monitor (31.500kHz).
-d9200
Calculate modelines for a Wells-Gardner 9200 arcade monitor (15kHz, 25kHz, 31kHz).
-multi
Calculate modelines for a Multisync PC monitor (default)
Enhancements:
- The --reference option works correctly.
- The DOS version compiles with libxml.
Download (0.30MB)
Added: 2006-01-01 License: GPL (GNU General Public License) Price:
1395 downloads
Nux 1.5
Nux is an open-source Java toolkit making efficient and powerful XML processing easy. more>>
Nux is an open-source Java toolkit making efficient and powerful XML processing easy. It is geared towards embedded use in high-throughput XML messaging middleware such as large-scale Peer-to-Peer infrastructures, message queues, publish-subscribe and matchmaking systems for Blogs/newsfeeds, text chat, data acquisition and distribution systems, application level routers, firewalls, classifiers, etc.
Have you ever tried to take advantage of a robust and natural commodity Java tool set for XML, XQuery, XPath, schema validation, binary XML, fuzzy fulltext similarity search and related technologies, yet were not ready to accept a significant performance penalty?
Chances are most tool sets turned out not to be particularly robust and natural, that they incurred dramatic penalties when used in straightforward manners, and that their complex idiosyncracies had a strong tendency to distract from the real job and use cases you wanted to get done in a timely manner.
Nux helps to avoid XML nightmares, enabling you to mix and match powerful main-memory XML tools that fit your needs, in natural, straightforward, seamless, effective and standards compliant manners.
Nux reliably processes whatever data fits into main memory (even, say, 250 MB messages), but it is not an XML database system, and does not attempt to be one.
Nux integrates best-of-breed components, containing extensions of the XOM, Saxon and Lucene open-source libraries.
Enhancements:
- This release adds production quality StAX integration, library dependency upgrades, bugfixes, performance improvements, a large set of integration tests, and other enhancements.
<<lessHave you ever tried to take advantage of a robust and natural commodity Java tool set for XML, XQuery, XPath, schema validation, binary XML, fuzzy fulltext similarity search and related technologies, yet were not ready to accept a significant performance penalty?
Chances are most tool sets turned out not to be particularly robust and natural, that they incurred dramatic penalties when used in straightforward manners, and that their complex idiosyncracies had a strong tendency to distract from the real job and use cases you wanted to get done in a timely manner.
Nux helps to avoid XML nightmares, enabling you to mix and match powerful main-memory XML tools that fit your needs, in natural, straightforward, seamless, effective and standards compliant manners.
Nux reliably processes whatever data fits into main memory (even, say, 250 MB messages), but it is not an XML database system, and does not attempt to be one.
Nux integrates best-of-breed components, containing extensions of the XOM, Saxon and Lucene open-source libraries.
Enhancements:
- This release adds production quality StAX integration, library dependency upgrades, bugfixes, performance improvements, a large set of integration tests, and other enhancements.
Download (15.9MB)
Added: 2006-03-27 License: BSD License Price:
1354 downloads
libpqxx 2.6.5
libpqxx is the official C++ API for writing client programs that talk to the PostgreSQL database management system. more>>
libpqxx is the official C++ API for writing client programs that talk to the PostgreSQL database management system.
This library works on top of the C-level API library, libpq. You will need libpq in order to use libpqxx.
The first thing youre likely to notice in programming with libpqxx is that unlike other libraries, it revolves entirely around transactions. Transactions are a central concept in database management systems, but they are widely underappreciated among application developers. Another well-known open source database system, MySQL, never even got around to implementing them at all in their own engine, relying on a third-party replacement engine (now owned by Oracle) to provide this functionality instead.
It may sometimes be possible to build limited applications reliably without serious use of transactions. More usually, however, transactions are designed without transactions simply because the developers arent aware of the risks they are taking, and any data loss is rare or small enough not to be noticed. That kind of design was not considered acceptable for libpqxx.
With conventional database APIs, you issue commands and queries to a database session or connection, and optionally create the occasional transaction. In libpqxx you start a transaction inside the connection first, do your SQL work using that transaction, then commit the transaction when its complete. There are several types of transactions with various "quality of service" properties; if you dont really want to use transactions at all, one of the available transaction types is called nontransaction. This transaction type provides classic, nontransactional behaviour.
Every command or query issues a result object, which is really a smart pointer so it can be copied around without incurring much cost in terms of performance. No need to write special code to check these for success; error conditions are converted to regular C++ exceptions. Result objects can be kept around for as long as they are needed, completely separate from the connections and transactions that originated them.
<<lessThis library works on top of the C-level API library, libpq. You will need libpq in order to use libpqxx.
The first thing youre likely to notice in programming with libpqxx is that unlike other libraries, it revolves entirely around transactions. Transactions are a central concept in database management systems, but they are widely underappreciated among application developers. Another well-known open source database system, MySQL, never even got around to implementing them at all in their own engine, relying on a third-party replacement engine (now owned by Oracle) to provide this functionality instead.
It may sometimes be possible to build limited applications reliably without serious use of transactions. More usually, however, transactions are designed without transactions simply because the developers arent aware of the risks they are taking, and any data loss is rare or small enough not to be noticed. That kind of design was not considered acceptable for libpqxx.
With conventional database APIs, you issue commands and queries to a database session or connection, and optionally create the occasional transaction. In libpqxx you start a transaction inside the connection first, do your SQL work using that transaction, then commit the transaction when its complete. There are several types of transactions with various "quality of service" properties; if you dont really want to use transactions at all, one of the available transaction types is called nontransaction. This transaction type provides classic, nontransactional behaviour.
Every command or query issues a result object, which is really a smart pointer so it can be copied around without incurring much cost in terms of performance. No need to write special code to check these for success; error conditions are converted to regular C++ exceptions. Result objects can be kept around for as long as they are needed, completely separate from the connections and transactions that originated them.
Download (3.8MB)
Added: 2006-03-10 License: BSD License Price:
1325 downloads
Atocha 1.0
Atocha is a Python package for parsing and rendering data from Web forms. more>>
Atocha is a Python package for parsing and rendering data from web forms.
Atocha is framework-agnostic, generic, and it should be possible to use it with CGI scripts or to incorporate it in your favourite web application framework.
Just before I decided to write this software (2005-09-30), I had the following problems:
- There was no library that could parse input from widgets and perform automatic types conversions reliably, that was both decent and simple, or that was not tied to a specific web application framework. (A few options were starting to sprout and mature around that time, such as FormEncode);
- I was having lots of trouble in the various data paths of my handlers with type conversions, often having unicode encoding problems;
- I felt that the problem of handling and rendering web forms were really tied closely, and that it could be solved in a generic manner.
At the time, I had written my own web application framework, and a small form library I had copied from somewhere had grown into a messy monster. So I decided to attack the problem directly and rewrite my forms handling generically, with the following goals in mind:
- Reuse the form definition for parsing submitted arguments as well as rendering and displaying data (leverage the knowledge stored in the form definition as much as possible);
- Robustness: an emphasis on strict type checking and robustness via tests;
- Fields automatically perform appropriate type conversion when returning the parsed value to the user; Like desktop UI toolkit widgets, fields may return all sorts of data types. Also, fields can use multiple HTML input widgets, the notion of input and its mechanism are separate.
Essentially, I wanted functionality closer to what desktop UI toolkits provide, which is often not present in web form parsing toolkits.
Main features:
- Generic library that is possible to reused in many frameworks and applications. It is not tied to any storage model or domain model, this library provides the data, and you must then store the data yourself. This makes sense, as user-interfaces may change but the underlying data model remain the same;
- Extensible: it is easy to create and add new field types without having to modify the framework. It is also possible to create renderers for your favourite output library (e.g. Stan)
- Fields may render to multiple input widgets and are consolidated in a single value automatically;
- Internationalization (I18n) of all messages is supported (all messages generated by the library are grouped in a s single place and can be easily customized);
- Supports hidden, disabled, and read-only widgets that can be used for implementing multiple-page forms;
- Supports per-field errors, to be rendered next to the erroneous widgets;
- Supports a UI message and status for the re-rendering a form with errors;
- Could easily be extended to support widgets with JavaScript/AJAX code.
<<lessAtocha is framework-agnostic, generic, and it should be possible to use it with CGI scripts or to incorporate it in your favourite web application framework.
Just before I decided to write this software (2005-09-30), I had the following problems:
- There was no library that could parse input from widgets and perform automatic types conversions reliably, that was both decent and simple, or that was not tied to a specific web application framework. (A few options were starting to sprout and mature around that time, such as FormEncode);
- I was having lots of trouble in the various data paths of my handlers with type conversions, often having unicode encoding problems;
- I felt that the problem of handling and rendering web forms were really tied closely, and that it could be solved in a generic manner.
At the time, I had written my own web application framework, and a small form library I had copied from somewhere had grown into a messy monster. So I decided to attack the problem directly and rewrite my forms handling generically, with the following goals in mind:
- Reuse the form definition for parsing submitted arguments as well as rendering and displaying data (leverage the knowledge stored in the form definition as much as possible);
- Robustness: an emphasis on strict type checking and robustness via tests;
- Fields automatically perform appropriate type conversion when returning the parsed value to the user; Like desktop UI toolkit widgets, fields may return all sorts of data types. Also, fields can use multiple HTML input widgets, the notion of input and its mechanism are separate.
Essentially, I wanted functionality closer to what desktop UI toolkits provide, which is often not present in web form parsing toolkits.
Main features:
- Generic library that is possible to reused in many frameworks and applications. It is not tied to any storage model or domain model, this library provides the data, and you must then store the data yourself. This makes sense, as user-interfaces may change but the underlying data model remain the same;
- Extensible: it is easy to create and add new field types without having to modify the framework. It is also possible to create renderers for your favourite output library (e.g. Stan)
- Fields may render to multiple input widgets and are consolidated in a single value automatically;
- Internationalization (I18n) of all messages is supported (all messages generated by the library are grouped in a s single place and can be easily customized);
- Supports hidden, disabled, and read-only widgets that can be used for implementing multiple-page forms;
- Supports per-field errors, to be rendered next to the erroneous widgets;
- Supports a UI message and status for the re-rendering a form with errors;
- Could easily be extended to support widgets with JavaScript/AJAX code.
Download (0.25MB)
Added: 2006-04-07 License: GPL (GNU General Public License) Price:
1295 downloads
Klementine 0.18B002
Klementine is a Java program for remote mail retrieval, filtering and forwarding. more>>
Klementine is a Java program for remote mail retrieval, filtering and forwarding. Regular expressions can be applied to the mail header fields and thus characterize the messages as spam or ham.
Identified spam will be deleted directly on the server. Klementine project is most useful for people retrieving their mail through dialup connections.
Main features:
- Input protocols: IMAP, POP3
- Output protocols: STDOUT, SMTP (Port 25)
- Multiple accounts
- Multithreaded account processing
- Fast mail retrieval by strictly separating download and forwarding
- Intelligent rules
- Use of email addresses book from LDAP server as whitelist
- Postpone rule for mails that did not match any rule
- Configuration files may easily be modified by scripts
- Hit statistic report
- Sophisticated logging (through log4j)
Enhancements:
- Fixing a bug that caused the application not to terminate reliably.
<<lessIdentified spam will be deleted directly on the server. Klementine project is most useful for people retrieving their mail through dialup connections.
Main features:
- Input protocols: IMAP, POP3
- Output protocols: STDOUT, SMTP (Port 25)
- Multiple accounts
- Multithreaded account processing
- Fast mail retrieval by strictly separating download and forwarding
- Intelligent rules
- Use of email addresses book from LDAP server as whitelist
- Postpone rule for mails that did not match any rule
- Configuration files may easily be modified by scripts
- Hit statistic report
- Sophisticated logging (through log4j)
Enhancements:
- Fixing a bug that caused the application not to terminate reliably.
Download (2.2MB)
Added: 2006-04-27 License: Artistic License Price:
1277 downloads
Mantaray 2.0
Mantaray is a fully distributed peer-to-peer serverless communication & messaging solution, 100% pure Java. more>>
MantaRay project is an innovative open-source data messaging project that was designed to address the continuously changing structure of todays IT environments. MantaRay uses a new approach ? peer-to-peer serverless architecture ? that allowed its development team to create a solution that is significantly more powerful and more efficient than traditional systems.
Being lightweight and OS-agnostic, MantaRay is ideal for heterogeneous, distributed, high-traffic environments. It is highly scalable, providing much faster performance than traditional messaging systems, such as buses and brokers. MantaRays serverless design can also help IT organizations dramatically reduce hardware and operational costs.
While traditional messaging systems such as brokers, buses and home-grown solutions were appropriate for monolithic IT environments, MantaRays design takes into account the continuously changing structure of todays IT environments. By using a peer-to-peer serverless architecture, it provides distributed environments with significantly faster performance and a higher level of robustness, as well as a comparatively rapid implementation time.
MantaRays flexible and lightweight design enables it to be embedded at the application level, thus bringing all functionality to the edges and eliminating the problem of having a single point of congestion and failure. The solution brings high reliability, scalability and availability to enterprise-grade messaging, and is capable of supporting multiple components, business partners, and locations.
The open-source, OS-independent, standards-based MantaRay solution combines cutting edge technologies such as XML, enterprise-grade communication services, and Service Oriented Architecture. Building on the MantaRay framework, developers can cost-effectively create real-time data messaging solutions that reliably connect applications and provide guaranteed delivery, security and transactions.
As a Java Messenger Service (JMS) provider, MantaRay is written in 100% pure Java, supports JMS 1.x & RMI APIs, provides TCP, UDP & SSL transports, and integrates with WebLogic & WebSphere. MantaRay features publish/subscribe (topic) and point-to-point (queue) messaging services, automatic discovery, persistent/non-persistent and durable messages, and message filtering using selectors.
Main features:
- Significantly faster messaging transport performance, particularly in high-traffic applications
- Theoretically infinite scalability
- No single point of failure or congestion
- Robust architecture, such that new applications can be added without changes to the other applications
- Support of heterogeneous environments
- Ease of use and fast deployment
- No application modification necessary
- No redesign of network topology required for every change
- Open source costs and low TCO
Enhancements:
- The MantaRay open source license has been changed to MPL instead of GPL
- High availability features have been fully tested and documented
<<lessBeing lightweight and OS-agnostic, MantaRay is ideal for heterogeneous, distributed, high-traffic environments. It is highly scalable, providing much faster performance than traditional messaging systems, such as buses and brokers. MantaRays serverless design can also help IT organizations dramatically reduce hardware and operational costs.
While traditional messaging systems such as brokers, buses and home-grown solutions were appropriate for monolithic IT environments, MantaRays design takes into account the continuously changing structure of todays IT environments. By using a peer-to-peer serverless architecture, it provides distributed environments with significantly faster performance and a higher level of robustness, as well as a comparatively rapid implementation time.
MantaRays flexible and lightweight design enables it to be embedded at the application level, thus bringing all functionality to the edges and eliminating the problem of having a single point of congestion and failure. The solution brings high reliability, scalability and availability to enterprise-grade messaging, and is capable of supporting multiple components, business partners, and locations.
The open-source, OS-independent, standards-based MantaRay solution combines cutting edge technologies such as XML, enterprise-grade communication services, and Service Oriented Architecture. Building on the MantaRay framework, developers can cost-effectively create real-time data messaging solutions that reliably connect applications and provide guaranteed delivery, security and transactions.
As a Java Messenger Service (JMS) provider, MantaRay is written in 100% pure Java, supports JMS 1.x & RMI APIs, provides TCP, UDP & SSL transports, and integrates with WebLogic & WebSphere. MantaRay features publish/subscribe (topic) and point-to-point (queue) messaging services, automatic discovery, persistent/non-persistent and durable messages, and message filtering using selectors.
Main features:
- Significantly faster messaging transport performance, particularly in high-traffic applications
- Theoretically infinite scalability
- No single point of failure or congestion
- Robust architecture, such that new applications can be added without changes to the other applications
- Support of heterogeneous environments
- Ease of use and fast deployment
- No application modification necessary
- No redesign of network topology required for every change
- Open source costs and low TCO
Enhancements:
- The MantaRay open source license has been changed to MPL instead of GPL
- High availability features have been fully tested and documented
Download (2.0MB)
Added: 2006-05-11 License: MPL (Mozilla Public License) Price:
1262 downloads
JGuiGen rev-237
JGuiGen is a Java GUI Generation System Elegant CRUD (Create/Review/Update/Delete). more>>
JGuiGen is a Java GUI Generation System Elegant CRUD (Create/Review/Update/Delete). It supports any major database using JDBC. It generates fully internationalized and accessible screens that allow users to search tables, run reports, and calculate summary stats.
It generates multi-user safe screens with help buttons that work, generates test cases to test the generated GUIs, and generates HTML documentation about the GUIs generated.
Here is a partial list of classes that are included and used by JGuiGen:
- BoundedTextField.java - Creates a JTextField that will not accept more than x characters where you define the x value. BoundedPlainDocument.java - part of BoundedTextField
- CustomViewer.java - This is a pop-up viewer for JTables. It allows you to view the contents of long strings or text fields.
- DateDialog.java - pop-up calendar for choosing a date.
- DoublyLinkedList.java - create two lists, side by side. Move items from side to the other in order to select a group of options, features, tasks, people etc.
- Frequency Count routine - Create a table that shows a count of the values in a column in a result set.
- GeneralDialog.java - a generic three button, give text and ask a question screen.
- GeneralDialog4Btn.java - a generic four button, give text and ask a question screen.
- GetBrowserAndWP.java - code to ask a user for the path to their word processor and Browser. These values are stored in a table and used to call up these applications as needed.
- History.java - code to view an HTML file. The date and time a user views the file is stored and they are only offered the option to view the file when it is newer than the one they last viewed. Used by a developer to notify users of changes in the application they are using.
- JFreeReports example - generate a report using an existing JTable of data.
- JSearchableComboBox.java - A JComboBox with "Look-ahead". It fills in the most probable answer based upon what the user has entered so far. (This fills a much needed void in Java. By default in a pup-up list if your user types FL for Florida they will get Louisiana. It goes to Florida with the F and then Louisiana with the L. The look-ahead system will leave them on Florida.
- JxFrame.java - a class to inherit instead of JFrame. This gives a single point to make modifications that will affect each frame in an entire application. This one adds the automatic determination of Look and Feel code. It also informs the system to make button more active.
- JxButton.java -a class to inherit instead of JButton. This gives a single point to make modifications that will affect each frame in an entire application.
- JxLabel.java - a class to inherit instead of JLabel. This gives a single point to make modifications that will affect each frame in an entire application.
- JxTextArea.java - a class to inherit instead of JTextArea. This gives a single point to make modifications that will affect each frame in an entire application. This one makes the tab key exit a JTextArea that is being edited. The default requires a user to press CTRL-Tab. ListDialog.java - a generic screen to show a list that the user chooses an option from. It has an optional "Add a new value" feature.
- LowVisionMetalLookAndFeel.java - code to change the look and feel to very large text and very high contrast.
- MutableInteger.java - code to pass an integer value into a class and allow changes made in the class to be known by the calling class.
- NumericPlainDocument.java - Part of the Numeric TextField class.
- NumericTextField.java - creates a JTextField that accepts a number with a specified number of decimal places.
- ProgressMonitorDemo.java - and ProgressMonitorInc.java and ProgressMonitorWork.java. I found it very difficult to get the ProgressMonitor (a small pop-up that fills as your long running task runs) to work. I finally figured out something that works reliably and these three classes show how to do it.
- PrintScreen code - this code is included inside the various classes that JGuiGen generates.
- RegexFormatter.java - code to help apply a Regex value to a JFormattedText field
- RowLayout1.java - a layout manager that includes one column of labels and then a variable number of columns. This can be used for most business applications.
- RowLayoutConstraint.java - part of the rowlayout manager.
- SetIcon.java - code to replace the coffee cup icon on each frame.
- SQLWhereClause.java - a class to pop-up a simple SQL Where clause generator. It includes the ability to name, save and rerun queries. It also saves and runs reports using JFreeReports.
- StreamEditorPane.java - Part of the TextEditor class.
- SwitchLF.java - code to switch look and feels in a running application.
- TableMap.java - part of the TableSorter class.
- TableSorter.java - code to make a JTable that sorts on each column when the column header is clicked.
- TernarySearchTree.java - part of the JSearchableComboBox class.
- TextViewer.java - Code to view a Text field.
- TextEditor.java - Code to edit a text field. This includes a way to make Tab exit a JTextArea (which is not the default for Java.)
- TableHeaderJLabel.java - Code to display special headers over a column in a JTable.
- WholeNumberField.java - code to create a JTextField that will only accept integer values.
- Switch Look and Feel menu
- Change Locale menu
- Change Font menu
<<lessIt generates multi-user safe screens with help buttons that work, generates test cases to test the generated GUIs, and generates HTML documentation about the GUIs generated.
Here is a partial list of classes that are included and used by JGuiGen:
- BoundedTextField.java - Creates a JTextField that will not accept more than x characters where you define the x value. BoundedPlainDocument.java - part of BoundedTextField
- CustomViewer.java - This is a pop-up viewer for JTables. It allows you to view the contents of long strings or text fields.
- DateDialog.java - pop-up calendar for choosing a date.
- DoublyLinkedList.java - create two lists, side by side. Move items from side to the other in order to select a group of options, features, tasks, people etc.
- Frequency Count routine - Create a table that shows a count of the values in a column in a result set.
- GeneralDialog.java - a generic three button, give text and ask a question screen.
- GeneralDialog4Btn.java - a generic four button, give text and ask a question screen.
- GetBrowserAndWP.java - code to ask a user for the path to their word processor and Browser. These values are stored in a table and used to call up these applications as needed.
- History.java - code to view an HTML file. The date and time a user views the file is stored and they are only offered the option to view the file when it is newer than the one they last viewed. Used by a developer to notify users of changes in the application they are using.
- JFreeReports example - generate a report using an existing JTable of data.
- JSearchableComboBox.java - A JComboBox with "Look-ahead". It fills in the most probable answer based upon what the user has entered so far. (This fills a much needed void in Java. By default in a pup-up list if your user types FL for Florida they will get Louisiana. It goes to Florida with the F and then Louisiana with the L. The look-ahead system will leave them on Florida.
- JxFrame.java - a class to inherit instead of JFrame. This gives a single point to make modifications that will affect each frame in an entire application. This one adds the automatic determination of Look and Feel code. It also informs the system to make button more active.
- JxButton.java -a class to inherit instead of JButton. This gives a single point to make modifications that will affect each frame in an entire application.
- JxLabel.java - a class to inherit instead of JLabel. This gives a single point to make modifications that will affect each frame in an entire application.
- JxTextArea.java - a class to inherit instead of JTextArea. This gives a single point to make modifications that will affect each frame in an entire application. This one makes the tab key exit a JTextArea that is being edited. The default requires a user to press CTRL-Tab. ListDialog.java - a generic screen to show a list that the user chooses an option from. It has an optional "Add a new value" feature.
- LowVisionMetalLookAndFeel.java - code to change the look and feel to very large text and very high contrast.
- MutableInteger.java - code to pass an integer value into a class and allow changes made in the class to be known by the calling class.
- NumericPlainDocument.java - Part of the Numeric TextField class.
- NumericTextField.java - creates a JTextField that accepts a number with a specified number of decimal places.
- ProgressMonitorDemo.java - and ProgressMonitorInc.java and ProgressMonitorWork.java. I found it very difficult to get the ProgressMonitor (a small pop-up that fills as your long running task runs) to work. I finally figured out something that works reliably and these three classes show how to do it.
- PrintScreen code - this code is included inside the various classes that JGuiGen generates.
- RegexFormatter.java - code to help apply a Regex value to a JFormattedText field
- RowLayout1.java - a layout manager that includes one column of labels and then a variable number of columns. This can be used for most business applications.
- RowLayoutConstraint.java - part of the rowlayout manager.
- SetIcon.java - code to replace the coffee cup icon on each frame.
- SQLWhereClause.java - a class to pop-up a simple SQL Where clause generator. It includes the ability to name, save and rerun queries. It also saves and runs reports using JFreeReports.
- StreamEditorPane.java - Part of the TextEditor class.
- SwitchLF.java - code to switch look and feels in a running application.
- TableMap.java - part of the TableSorter class.
- TableSorter.java - code to make a JTable that sorts on each column when the column header is clicked.
- TernarySearchTree.java - part of the JSearchableComboBox class.
- TextViewer.java - Code to view a Text field.
- TextEditor.java - Code to edit a text field. This includes a way to make Tab exit a JTextArea (which is not the default for Java.)
- TableHeaderJLabel.java - Code to display special headers over a column in a JTable.
- WholeNumberField.java - code to create a JTextField that will only accept integer values.
- Switch Look and Feel menu
- Change Locale menu
- Change Font menu
Download (10.1MB)
Added: 2006-05-22 License: GPL (GNU General Public License) Price:
1256 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 reliably 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