Main > Free Download Search >

Free intermediaries software for linux

intermediaries

Sponsored Links
Sponsored Links
Sort by >> Relevance
rss
Secleted [ 0 ] software to compare
Results 1 - 15 of about 12
MagicBus 0.7.3

MagicBus 0.7.3


MagicBus project is an event framework designed to allow developers to concentrate more on developing application components. more>>
MagicBus project is an event framework designed to allow developers to concentrate more on developing application components than the means of inter-component communication. MagicBus project strives to enforce the notion of "loose coupling", the lessening of dependency between components that encourages cohesion and reuse.
Present architectures for delivering events between components generally fall into three problematic categories: Direct Access, Internal Event Support, and External Event Support. Examining these categories will help us explain the advantages of using the MagicBus as an event dispatching alternative.
DirectAccess:
With the Direct Access approach components are fairly tightly coupled. If components A and B wish to communicate with component Z they both must maintain a reference to component Z.
Advantages to this form of event communication are that the implementation is simple, easily conceived, and fast for smaller applications. Disadvantages include the necessity of component A to have access to component Z, the difficulty of changing functionality if component Z is altered or replaced, and the problem of correctly multi-threading calls to Z.
Internal Event Support:
Internal Event Support is a common implementation of component communication applied to application components. If component A wishes to communicate with component Z, component A registers as a listener with component Z for component Zs events (or vice-versa). The difference between Direct Access and Internal Event Support is that component Z has an internal delegate (Event Support) that handles the delivery of events to registered listeners.
As an advantage, Internal Event Support limits method dependency by having component A and B register as listeners of Z instead of holding a direct reference. The Internal Event Support also makes it easier to multi-thread calls to Z and from Z to Zs event listeners by implementing custom event support. As a disadvantage, components A and B must either have an ephemeral or indirect relationship with component Z and component Z must have code to implement the delegation for handling ZEvents. Additionally, component Z may have to implement two EventSupport object in order to allow sending and receiving of ZEvents.
External Event Support:
External Event Support is the inverse of Internal Event Support, where the Event Support delegate exists outside the component it supports acting as an intermediary for the delivery and receipt of events. Component A and B register with a ZEventSupport object in order to send and receive ZEvents, while component Z does the same.
Advantages to this method are that component A is decoupled from Z by ZEventSupport. Component Z can change without inhibiting A or B, and Z does not have to include any code for event dispatching. The interposition of ZEventSupport also makes it easier to multi-thread calls to Z and from Z to Zs event listeners.. Disadvantages to this approach center around the fact that Event Support objects generally must be created for each type of event (i.e. XEventSupport for Component X, YEvent, etc...)
Enhancements:
- Support for destroying topics was added.
<<less
Download (0.33MB)
Added: 2006-06-01 License: GPL (GNU General Public License) Price:
1241 downloads
Python Traffic Camera Analyzer

Python Traffic Camera Analyzer


Python Traffic Camera Analyzer is an automated traffic camera congestion analysis tool. more>>
Python Traffic Analyzer is a Python base class and sample driver script written to retrieve and manipulate images from the TrafficLand cameras and calculate a numeric value representing the current traffic flow.

PyTrAn, an example driver script, an image collector and an image mask creator are available for download from the link shown at the bottom. To use the PyTrAn package begin by choosing a camera that you wish to analyze, for this example well use the camera captioned above.

We want to construct a mask over the area of the image that we are interested in, namely the road. In this particular example the road takes up the majority of the image but that is not always the case.

We will apply the mask over captured images to fine tune the area over which we are looking for movement. To create the mask we will first need to collect a sequential series of snapshots from the target camera. The image_collector.py script was written for this task:

$ mkdir mask_200003
$ cd mask_200003
$ ../image_collector.py 200003 30
Collecting 30 images...
30

Done.

The script is hard coded to capture images on a 2-second delay. The delay is necessary to ensure the image has changed. I believe 2-seconds to be the absolute minimum. Once complete, 30 images numbered 1 through 30 will be created in the current directory.

We construct a mask from these captured images by creating a diff-image for each sequential image pair and then adding each diff-image together. Naturally, a script was written to automate this task as well:

$ ../mask_maker.py 1 30
Creating a diff for each sequential image pair.
Diffing 29

Creating the initial mask from the first image pair.

Adding the rest of the diffs to the mask.
Masking 29

Done.

A number of .diff files are generated in this process. These files repesent the movement between individual sequence pairs.

The .diff files are simply intermediary files, the important bit is the mask file, which is generated as the sum of all differences.

The mask file may be dirty (as in this case) and require manual cleanup. The basic shape of the road however is clearly visible, evidence that we can with minimal effort automate the mask generation process. Also, this run was conducted at night, day-time images yield better results.

There are a few final steps we need to take before we can use the example PyTrAn driver script. First we need to convert the mask to ASCII (noraw) format:

$ pnmnoraw mask > mask_200003.ascii

Then we need to open an ImageMagick display window and get its X-window-ID using xwininfo. Finally, update camera_id and window_id in pytran_sampling.py and launch the driver:

$ ../pytran_sampling.py
DEBUG> grabbing frame from camera 200003
DEBUG> rotating image: pytran.this > pytran.last
DEBUG> refreshing image in 3 secs
taking a 5 minute sample at various thresholds.
DEBUG> grabbing frame from camera 200003
DEBUG> generating frame diff on pytran.last, pytran.this
DEBUG> displaying image: pytran.diff
DEBUG> converting pytran.diff to ascii
DEBUG> calculating traffic ratio...
ratio[5]: 55%
DEBUG> calculating traffic ratio...
ratio[10]: 52%
...
...
5 minute sample[5]: 67.88
5 minute sample[10]: 42.66
5 minute sample[15]: 30.57
5 minute sample[20]: 23.03
5 minute sample[25]: 18.39
5 minute sample[30]: 14.79
5 minute sample[35]: 12.42
5 minute sample[40]: 10.53
5 minute sample[45]: 9.06
5 minute sample[50]: 7.85

The sampling script will take 5 minute samples at varying color thresholds. The optimal threshold must be manually chosen. Furthermore, you will need to sample the traffic ratios during both heavy and light traffic times to get a good feel for your acceptable range. Also, keep in mind that the traffic ratio value is simply the percent change detected, or in other words the movement detected within the masked region. This means that a completely empty road will register similar values to a road so congested it looks like a parking lot. The time of day can be combined with the traffic ration to determine the logical truth.

With this task implemented and abstracted more complex systems can be built. When I find the time Id like to create a system that will take multiple potential travel routes and times, and during the travel time e-mail the traveler with the best route to take. Another idea I had would be to record the traffic flow values for each camera, for each day and for each half hour interval. Travelers and other interested parties can then analyze traffic patterns to determine the fastest route dependant on date/time.
<<less
Download (0.003MB)
Added: 2005-05-20 License: GPL (GNU General Public License) Price:
1620 downloads
Bigtop::Docs::Tutorial 0.12

Bigtop::Docs::Tutorial 0.12


Bigtop::Docs::Tutorial is a simple case study of building a web app with bigtop. more>>
Bigtop::Docs::Tutorial is a simple case study of building a web app with bigtop.
Many (not all) applications are mostly data managers. That is, they are really intermediaries between users and various tables in a database. A bigtop file is meant to be a single place to describe all (or practically all) facits of the data in an application. This includes at least:
- The name and special features of each controller.
- The name of each table in the database.
- A description of each column (field) in each table in the database. This includes at least:
- its name and SQL type
- the label the user sees for it when it appears on the screen
- what type of html form element the user uses to enter or update it
- how the data is validated and filtered on its way into and out of the database (filtering yet supported)
- which table the field refers to if it is a foreign key
- etc.
All of these things, and more, are described in a Bigtop file. That file can be given to bigtop to build the application. Once it is built, it can be safely rebuilt so that only the generated bits are changed (this is accomplished by maintaining a clean separation between generated and hand edited files, and by config options in the bigtop file).
Notice that nothing in the above has committed you or me to any particular web application framework, data modeling scheme, templating system, or web server. Bigtop is neutral (think big tent), at least for Perl apps delivered via the web.
<<less
Download (0.28MB)
Added: 2006-06-08 License: Perl Artistic License Price:
1233 downloads
Orion Secure Message Gateway 3.0.100

Orion Secure Message Gateway 3.0.100


Orion Secure Message Gateway is a secure message gateway for transporting ebXML, SOAP, and custom message formats. more>>
Orion Secure Message Gateway (OrionSMG) is a secure message gateway for transporting ebXML, SOAP, and custom message formats. It complies with the OASIS ebXML 2.0 specification, and can act in both intermediary and processing MHS roles to provide end-to-end reliable messaging.
Orion Secure Message Gateway software runs natively on Linux, OS X, and Windows with ODBC/PostgreSQL database support.
Enhancements:
- OrionSvnInfo.h now in correct directory.
- Old documentation temporarily added.
- Minimal README.txt file added.
<<less
Download (2.7MB)
Added: 2007-03-09 License: GPL (GNU General Public License) Price:
959 downloads
XML::LibXML::SAX::Builder 0.14

XML::LibXML::SAX::Builder 0.14


Bigtop::Docs::Tutorial is a simple case study of building a web app with bigtop. more>>
Bigtop::Docs::Tutorial is a simple case study of building a web app with bigtop.
Note on What to Read
This document explains how to build an app of moderate complexity by typing in a bigtop file. Since it was written, tentmaker has come along. It is a browser delivered editor for bigtop files, see Bigtop::Docs::TentTut for details.
If you need a simpler example than the one shown here, consider the one table address book example in Gantry::Docs::Tutorial.
Driving Idea
Many (not all) applications are mostly data managers. That is, they are really intermediaries between users and various tables in a database. A bigtop file is meant to be a single place to describe all (or practically all) facits of the data in an application. This includes at least:
The name and special features of each controller.
- The name of each table in the database.
- A description of each column (field) in each table in the database. This includes at least:
its name and SQL type
- the label the user sees for it when it appears on the screen
- what type of html form element the user uses to enter or update it
- how the data is validated and filtered on its way into and out of the database (filtering not yet supported)
- which table the field refers to if it is a foreign key
- etc.
All of these things, and more, are described in a Bigtop file. That file can be given to bigtop to build the application. Once it is built, it can be safely rebuilt so that only the generated bits are changed (this is accomplished by maintaining a clean separation between generated and hand edited files, and by config options in the bigtop file).
Notice that nothing in the above has committed you or me to any particular web application framework, data modeling scheme, templating system, or web server. Bigtop is neutral (think big tent), at least for Perl apps delivered via the web.
<<less
Download (0.30MB)
Added: 2006-08-31 License: Perl Artistic License Price:
663 downloads
Kvblade Alpha 2

Kvblade Alpha 2


Kvblade is a kernel module implementing the target side of the AoE protocol. more>>
Kvblade project is a kernel module implementing the target side of the AoE protocol. Users can command the module through sysfs to export block devices on specified network interfaces.

The loopback device should be used as an intermediary for exporting regular files with kvblade.
<<less
Download (0.017MB)
Added: 2006-08-25 License: GPL (GNU General Public License) Price:
1156 downloads
Apache::Wyrd 0.94

Apache::Wyrd 0.94


Apache::Wyrd is a Perl module for HTML embeddable perl objects under mod_perl. more>>
Apache::Wyrd is a Perl module for HTML embeddable perl objects under mod_perl.

Apache::Wyrd is the core module in a collection of interoperating modules that allow the rapid object-oriented development of web sites in Apaches mod_perl environment (LAMP). This collection includes a very flexible, HTML-friendly method of defining dynamic items on a web page, and interfacing directly to perl objects with them. It comes with many pre-built objects to support a web site such as an authentication module, an reverse-lookup database, granular debugging, and smart forms/inputs and their interfaces to a DBI-compliant SQL application.

The collection is not meant to be a drop-in replacement for PHP, ColdFusion, or other server-side parsed content creation systems, but to provide a more flexible framework for organic custom perl development for an experienced perl programmer who favors an object-oriented approach. It has been designed to simplify the transition from static to dynamic web content by allowing the design of objects that can be operated by a non-perl programmer through the modification of the HTML page on which the content is to be delivered.

The Apache::Wyrd module itself is an abstract class used to create HTML-embeddable perl objects (Wyrds). The embedded objects are interpreted from HTML files by an instance of the abstract class Apache::Wyrd::Handler. Most Wyrds also require an instance of an Apache::Wyrd::DBL object to store connection information and to provide intermediary access to the Apache request and any DBI-style database interfaces.
Each Wyrd has a corresponding perl module which performs work and generates output at the Wyrds location on the HTML page, if any. Each of these objects is a derived class of Apache::Wyrd, and consequently draws on the existing methods of the abstract class as well as implements methods of its own. A few "hook" methods (_setup, _format_output, and _generate_output in particular) are defined in the abstract class for this purpose.

The modules in this distribution are not meant to be used directly. Instead, instances of the objects are created in another namespace (in all POD synopses called BASENAME, but it can be any string acceptable as a single namespace of a perl class) where the Handler object has been configured to use that namespace in interpreting HTML pages (see Apache::Wyrd::Handler).

<<less
Download (0.17MB)
Added: 2007-02-21 License: Perl Artistic License Price:
975 downloads
Pak 1.1

Pak 1.1


Pak transfers multiple, possibly very big, regular files between possibly different hosts you have shell access to. more>>

Pak 1.1 is a great application for Linux users. This powerful utility can transfer multiple, possibly very big, regular files between possibly different hosts you have shell access to.

It transmits segment IDs instead of file names and uses on-the-fly Blowfish-CBC encryption while being absolutely restartable with practically no loss of data already transmitted.

Encrypted pak streams can be stored in intermediary regular files on untrusted hosts. Several stored pak streams, even truncated ones, can be merged for re-piping without decryption. Integrity is never checked. File offsets of any magnitude are supported via recompilation (the default width is 64 bits). Either UNIX 95 or UNIX 98 conformance is required and sufficient.

The individual binaries are:

  • pak - create a stream from regular files, based on a portion ("segment") list
  • upak - completely write out regular file segments from a stream
  • pakmerge - merge multiple streams in regular files into a single stream
  • paksplit - split a stream into regular stream files of fixed size
  • mklist - create a segment list
  • The name "stream" is somewhat unfortunately chosen. It doesn't have to do anything with STREAMS or with stdio streams. It denotes a very simple file format.

Major Features:

  1. Transfer multiple, possibly very big, regular files between possibly different hosts you have shell access to without transmitting any file names.
  2. Supports on-the-fly Blowfish-CBC encryption
  3. Easy and portable to handle, transfer and format/scan file offsets of any magnitude. This is achieved with a handful of very naive and simple "bignum" functions.
  4. Portability and fun (as opposed to efficiency) were the primary aspects of development.

Enhancements:

  • The programs "pak" and "pakmerge" were modified to flush stdout before printing "segment done" messages to stderr ("Paksplit" and "upak" already did this for output files.) This way, whenever the user sees a "segment done" message, he/she can be sure that even the last chunk of the segment was passed to the kernel via write().
<<less
Added: 2007-12-10 License: GPL Price: FREE
1 downloads
JAP 00.05.056

JAP 00.05.056


JAP makes it possible to browse the Web anonymously and unobservably. more>>
JAP project makes it possible to browse the Web anonymously and unobservably. JAP uses a single static address which is shared by many JAP users.
That way, neither the visited Web site nor an eavesdropper can determine which user visited which Web site.
Instead of connecting directly to a Web server, users take a detour, connecting with encryption through several intermediaries, so-called mixes.
How it works:
Instead of connecting directly to a webserver, users take a detour, connecting with encryption through several intermediaries, so-called mixes.
Info: JAP uses a predetermined sequence for the mixes. Such a sequence of linked mixes is called a mix cascade. Users can choose between different mix cascades. - more...
Since many users use these intermediaries at the same time, the internet connection of any one single user is hidden among the connections of all the other users. No one, not anyone from outside, not any of the other users, not even the provider of the intermediary service can determine which connection belongs to which user.
Info: A relationship between a connection and its user could only be determined if all intermediaries worked together to sabotage the anonymization. - a detailed description of mixing principles...
The intermediaries (mix providers) are generally provided by independent institutions which officially declare, that they do not keep connection log files or exchange such data with other mix providers.
It is also planned, that independent watchdogs, who work in the name of the JAP users, will insure that the mix providers hold to their official declarations.
Enhancements:
- Java 1.4.2 or later
<<less
Download (2.4MB)
Added: 2005-11-10 License: BSD License Price:
5379 downloads
Songs 0.3

Songs 0.3


Songs is a graphical tool to record and mix audio files. more>>
Songs is a graphical tool to record and mix audio files. It supports an infinite number of tracks, huge audio files, and various effects.
One important motivation for Songs was the need of a recording tool under Linux. There are some already existing (see the links below), but these are too complex, too huge, eat too much memory and resources. Small machines can be used to record and mix audio files, even with a graphical interface. Songs is trying to prove it.
The recording is done directly to disk, so that with small machines, whithout much memory you can still record.
There is a full duplex mode, but full duplex is not very well handled with OSS. You dont really know if your two streams of samples are synchronized or not, and the interface provided by OSS does not help much with that. So, currently, take the full duplex mode as is. You probably will need to move by hand audio tracks to let them be synchronized.
Main features:
- Unlimited number of tracks.
- Supports WAV files (mono, stereo). Only 44.1 KHz, 16 bits files are supported, because Songs was born mainly to help me create music I could store on audio digital compact disks.
- Supports raw float files (mono, stereo). Very useful when you are mixing and that you eat too much resources. Simply put in a new file your current mix, and use this new file instead of several ones. Using float numbers gives more precision of the intermediary mixing.
- Several effects (currently not that much, but it is planned).
- Not too much memory used. All the audio files are mapped directly into the memory, so that the Linux kernel can swap them very easily. It means that if your files can exist on your disk, any size they are, they can be used with Songs (with a soft limitation of virtual memory space, which depends on your setup, and a hard limitation of 2 GB, because of the use of signed integers, which currently are 32 bits numbers).
- Use of gtk 2.0, for the good and the bad. The good is that the interface was done quickly. The bad is that the gtk documentation is far from perfect, that gtk is not bug free, that I may use it the wrong way sometimes and that it may change in the future, forcing Songs to be changed (and what if the Songs authors dont feel the need to do so, for example by lack of time?).
Enhancements:
- sc1.c sc1_gui.c:
- New files, ripping a compressor from sc1_1425 coming from swh-plugins-0.4.11.tar.gz (see http://plugin.org.uk/).The compressor was buggy, sometimes in rms_env_process
- r->sum was negative, leading to NaN for the sqrt stuff.
- pan/vol/pos.c: Checking return value of malloc (no, it was not done, shame !).
- various files: Fixing a realloc misusing (doing realloc(size+=32) then size+=32, which finally means size+=64 but only allocing size+32 stuff, weirdy to find).
- help_gui.c: The "About" stuff only appeared once, fixing it.
- various files: Fixing bugs those last days, forgot to feed this Changelog.
<<less
Download (0.060MB)
Added: 2006-07-19 License: GPL (GNU General Public License) Price:
1223 downloads
SAFMQ 0.5.2

SAFMQ 0.5.2


SAFMQ, one of the first Open Source message queue server, provides high performance message queuing free to the public. more>>
SAFMQ, one of the first Open Source message queue server, provides high performance message queuing free to the public.
The SAFMQ server provides Asynchronous Messaging. Message Publishers send or enqueue a message with the SAFMQ server.
The SAFMQ server stores that message until the point at which the message can be forwarded on to the client. Message Publishers are assured that the messages are delivered. Thats how SAFMQ got its name.
SAFMQ provides an API to use SAFMQ directly. Simply use the SAFMQ MQBuilder class to specify the location of your SAMFQ server and youre ready to start publishing and subscribing to priority message queues!
Timely Messaging
SAFMQ provides the ability to perform timely message delivery. So, if a Message Publisher wants a message to be read by a Message Subscriber in a certain amount of time, or not read at all, then the Message Publisher can prescribe a Time-To-Live for the message it publishes. SAFMQ will notify the Message Publisher about messages which have outlived their Time-To-Live, or a Message Publisher can choose to ignore the event.
Round-Trip, PsudoSynchronous Messaging
Round-Trip, or PsudoSynchronous Messaging is when a Message Publisher acts as a Message Subscriber after sending a "query" message. A Message Publisher may want to receive information back from the Message Subscriber. Thus after the first message is sent by a Message Publisher and is received by a Message Subscriber, the original Message Publisher and Message Subscriber switch rolls.
SAFMQ provides a special messaging context element for Round-Trip/PsudoSynchronous Messaging. Its called a Receipt ID. When ever a message is Enqueued in a SAFMQ server, it is given a Universally Unique Identifier or UUID for short. When a Round-Trip message event is taking place, the original Message Subscriber publishes a message with a Recipt ID identiacal to the Message ID assigned to the message sent by the original Message Publisher. Then the original Message Publisher (now a subscriber) waits for a message with a Receipt ID equal to the Message ID the original Message Publisher sent.
Batch Processing
Not every task is best handled real-time. Sometime there are real money benefits to send transactions to a trading partner in a large group or batch. SAFMQ can be an intermediary between real-time systems and a back-end batch processor. The real-time system knows that the messages will be delivered, and the batch processor can let data queue up until it is ready to send all the data. The batch system can even respond via SAFMQ and a real-time system can instantly see the results.
Enhancements:
- Additional configuration changes for cross compile to MacOS X
<<less
Download (0.17MB)
Added: 2006-09-07 License: The Apache License 2.0 Price:
1142 downloads
Socketpipe 1.8

Socketpipe 1.8


Socketpipe directly connects the input/output of a remote process with local programs over a TCP/IP socket. more>>
Socketpipe project connects over a TCP/IP socket a remote command specified to a local input generation command and/or a local output processing command.
The input and output of the remote command are appropriately redirected so that the remote commands input will come from the local input generation command and the remote commands output will be sent to the local output processing command.
The remote command is executed on the machine accessed through the login command. The socketpipe executable should be available through the execution path in the remote machine.
The braces used for delimiting the commands and their arguments should be space-separated and can be nested. This feature allows you to setup complex and efficient topologies of distributed communicating processes.
Although the initial socketpipe communication setup is performed through client-server intermediaries such as ssh(1) or rsh(1), the communication channel that socketpipe establishes is a direct socket connection between the local and the remote commands.
Without the use of socketpipe, when piping remote data through ssh(1) or rsh(1), each data block is read at the local end by the respective client, is sent to the remote daemon and written out again to the remote process.
The use of socketpipe removes the inefficiency of the multiple data copies and context switches and can in some cases provide dramatic throughput improvements. On the other hand, the confidentiality and integrity of the data passing through socketpipes data channel is not protected; socketpipe should therefore be used only within a confined LAN environment.
(The authentication process uses the protocol of the underlying login program and is no more or less vulnerable than using the program in isolation; ssh(1) remains secure, rsh(1) continues to be insecure.)
Enhancements:
- This version corrects a bug in the command parsing of the Windows version of socketpipe.
<<less
Download (0.020MB)
Added: 2007-04-01 License: BSD License Price:
936 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 1
  • 1