Main > Free Download Search >

Free to be bound software for linux

to be bound

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 229
Cache::Bounded 1.03

Cache::Bounded 1.03


Cache::Bounded is a size-aware in-memory cache optimized for speed. more>>
Cache::Bounded is a size-aware in-memory cache optimized for speed.

SYNOPSIS

Cache::Bounded is designed for caching items into memory in a very fast but rudimentarily size-aware fashion.

Most intelligent caches take either a size-aware or use-aware approach. They do so by either anlysing the size of all the elements in the cache or their frequency of usage before determining which elements to drop from the cache. Unfortunately, the processing overhead for this logic (usually applied on insert) will often slow these caches singnificantly when frequent insertions are needed.
This module was designed address when this speed-penalty becomes a problem. Specifically, it is a rudimentarily size-aware cache that is optimized to be very fast.

For its size analysis, this module merely checks the number of elements in the cache against a raw size limit. (The default limit is 500,000) Additionally, to aid speed, the "size" check doesnt occur on every insertion. Only after a count of a certain number of insertions (default 1,000) is the size check performed. If the size limit has been exceeded, the entire cache is purged. (Since there is no usage analysis, there is no other logical depreciation that can be applied)
This produces a very fast in-memory cache that you can tune to approximate size based upon your data elements.

USAGE

my $cache = new Cache::Bounded;

$cache->set($key,$value);
my $value = $cache->get($key);

<<less
Download (0.004MB)
Added: 2007-05-28 License: Perl Artistic License Price:
879 downloads
Tk::bind 804.027

Tk::bind 804.027


Tk::bind can arrange for X events to invoke callbacks. more>>
Tk::bind can arrange for X events to invoke callbacks.

SYNOPSIS

Retrieve bindings:

$widget->bind
$widget->bind(tag)
$widget->bind(sequence)
$widget->bind(tag,sequence)

Associate and destroy bindings:

$widget->bind(sequence,callback)
$widget->bind(tag,sequence,callback)

The bind method associates callbacks with X events. If callback is specified, bind will arrange for callback to be evaluated whenever the event(s) given by sequence occur in the window(s) identified by $widget or tag. If callback is an empty string then the current binding for sequence is destroyed, leaving sequence unbound. In all of the cases where a callback argument is provided, bind returns an empty string.

If sequence is specified without a callback, then the callback currently bound to sequence is returned, or undef is returned if there is no binding for sequence. If neither sequence nor callback is specified, then the return value is a list whose elements are all the sequences for which there exist bindings for tag.

If no tag is specified then the bind refers to $widget. If tag is specified then it is typically a class name and the bind refers to all instances of the class on the MainWindow associated with $widget. (It is possible for tag to be another "widget object" but this practice is deprecated.) Perls ref($object) can be used to get the class name of any object. Each window has an associated list of tags, and a binding applies to a particular window if its tag is among those specified for the window. Although the bindtags method may be used to assign an arbitrary set of binding tags to a window, the default binding tags provide the following behavior:

If a tag is the name of an internal window the binding applies to that window.

If the tag is the name of a toplevel window the binding applies to the toplevel window and all its internal windows.
If the tag is the name of a class of widgets, such as Tk::Button, the binding applies to all widgets in that class;
If tag has the value all, the binding applies to all windows descended from the MainWindow of the application.

<<less
Download (5.7MB)
Added: 2007-08-21 License: Perl Artistic License Price:
794 downloads
A MP3 LEnder 0.5.7

A MP3 LEnder 0.5.7


AMPLE is short for A MP3 LEnder. more>>
AMPLE is short for "A MP3 LEnder". I wrote AMPLE one summer when I was coding for a company and got fed up with having to FTP over all my MP3 files from my home server to the computer at work just to listen to them. And through the other "MP3 servers" I could find didnt fit my needs for one of the following reasons:
Depended on libfoo, libbar, python, perl, php3, Apache, libssl, etc, etc, etc...I just wanted to listen to the files
Had a lot of features for "DJ:ing" etc that I really didnt need. Well....it was fun to write too.
So whats good with AMPLE?
Small, standalone (written in C using no external libraries)
Portable (I think), I often try to compile it on the SourceForge compile farms
Allows you to listen to your own MP3s away from home, nothing more, nothing less
This is beginning to sound like marketing cr*p so Ill just stop right there, check out the links on the left for more info.
Enhancements:
- There are only two fixes in this release. One is a compilation fix for Solaris and the other one is a security fix. Turns out a buffer used for local communication didnt have sufficient checks. User data isnt written without checks though so the worst that can happen is that huge amounts of memory is allocated. The socket was also bound to the loopback device so it should only be locally abuseable.
<<less
Download (0.085MB)
Added: 2006-07-27 License: GPL (GNU General Public License) Price:
1184 downloads
Python lambda calculus module 1.0

Python lambda calculus module 1.0


Python lambda calculus module project is a simple but full-featured module for exploring lambda calculus. more>>
Python lambda calculus module project is a simple but full-featured module for exploring lambda calculus.
It understands the different types of lambda expressions, can extract lists of variables (both free and bound) and subterms, and can simplify complicated expressions by means of application.
Notations for lambda expressions vary slightly, so it is instructive to detail the precise notation used by this module. A variable is expressed with a string of alphanumeric characters, e.g., x or abc1.
Enhancements:
- Initial release.
<<less
Download (0.014MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1097 downloads
POE::Session 0.9989

POE::Session 0.9989


POE::Session is a Perl module for event driven abstract state machine. more>>
POE::Session is a Perl module for event driven abstract state machine.

SYNOPSIS

# Import POE::Session constants.
use POE::Session;

POE::Session->create(

# Inline or coderef states.
inline_states => {
state_one => &coderef_one,
state_two => sub { ... },
},

# Plain and mapped object states.
object_states => [
$object_one => [ state_three, state_four, state_five ],
$object_two => { state_nine => method_nine },
],

# Plain and mapped package states.
package_states => [
$package_one => [ state_six, state_seven, state_eight ],
$package_two => { state_ten => method_ten },
],

# Parameters for the sessions _start state.
args => [ argument_zero, argument_one, ... ],

# Initial options. See the option() method.
options => %options,

# Change the sessions heap representation.
heap => [ ],
);
Other methods:
# Retrieve a sessions unique identifier.
$session_id = $session->ID;

# Retrieve a reference to the sessions heap.
$session_heap = $session->get_heap();

# Set or clear session options.
$session->option( trace => 1, default => 1 );
$session->option( trace );

# Create a postback, then invoke it and pass back additional
# information.
$postback_coderef = $session->postback( $state_name, @state_args );
$postback_coderef->( @additional_args );

# Or do the same thing synchronously
$callback_coderef = $session->callback( $state_name, @state_args );
$retval = $callback_coderef->( @additional_args );

POE::Session combines a runtime context with an event driven state machine. Together they implement a simple cooperatively timesliced thread.
Sessions receive their timeslices as events from POE::Kernel. Each event has two fields, a state name and a session identifier. These fields describe the code to run and the context to run it in, respectively.

Events carry several other fields which will be discussed in the "Predefined Event Fields" section.

States are re-entrant since they are invoked with their runtime contexts. Although its not usually necessary, this re-entrancy allows a single function to be bound to several different sessions, under several different state names.
As sessions run, they post new events through the Kernel. These events may be for themselves or other sessions, in which case they act as a form of inter-session communications. The Kernel can also generate events based on external conditions such as file activity or the passage of time.

POE provides some convenient built-in states with special meanings. They will be covered later on in the "Predefined States" section.

<<less
Download (0.35MB)
Added: 2007-04-18 License: Perl Artistic License Price:
919 downloads
libpropc++ 1.0 beta

libpropc++ 1.0 beta


libpropc++ is template C++ library for adding properties to Standard C++. more>>
libpropc++ is template C++ library for adding properties to Standard C++. Properties are pseudo-variables, getting/setting values of which causes certain actions. In the following example assignment to a property would change widget color:

widget.color = "red";

Properties can be bound with other properties to automatically synchronize their values (so that when one property changes, the other changes accordingly).

libpropc++ supports many different kinds of binding properties including one-directional and two-directional bindings, bindings properties of different value types and binding with a value transformation (by a function or an other kind of functor).

See Binding Properties article for detailed discussions about binding properties in general.

<<less
Download (0.26MB)
Added: 2005-09-29 License: LGPL (GNU Lesser General Public License) Price:
1485 downloads
Iter Vehemens ad Necem 0.50

Iter Vehemens ad Necem 0.50


Iter Vehemens ad Necem project is a graphical roguelike game. more>>
Iter Vehemens ad Necem project is a graphical roguelike game.
Iter Vehemens ad Necem (IVAN) is a graphical roguelike game which currently runs in Windows, DOS, and Linux. It features advanced bodypart and material handling, multi-colored lighting and, above all, deep gameplay.
Fellow adventurer, turn back while you can! For here begins the roguelike Iter Vehemens ad Necem, a Violent Road to Death. If you choose to travel along it, you will dive into countless exciting adventures to gain items of great magic, attain powerful equipment made of mysterious materials, bathe in the blessings of mighty gods and recruit loyal allies of various shapes and sizes.
Unfortunately, along the way you will also often be dangerously injured, poisoned, catch numerous diseases, lose several limbs and transform into manifold different kinds of pitiful creatures in the darkest depths of hostile dungeons. And, at the end of the road, you are bound to perish in a most gruesome and painful way. Dont say we didnt warn you.
Enhancements:
- fluids can now cover items and characters and interact with them
- items made of iron alloys can now rust
- added directional light and day and night which use it
- added some cosmetical weather effects
- New Attnam has now many new NPCs, for instance a sumo wrestler who can be challenged
- polymorph control is now more interesting; you need to see a monster once before you can polymorph into it, and more powerful ones require more intelligence
- added wands of acid rain, mirroring and necromancy
- added scrolls of detect material, harden material and golem creation
- added several new monsters, eg. powerful named archangels for each god and necromancers who raise skeletons and zombies to do their bidding
- one can now give pets tactical commands, change their equipment and use them to carry extra stuff (these are accessed using Chat and Issue commands keys)
- the player can now panic if he gets hit too much, like the monsters have done in previous versions
- the player can now become exhausted if he fights for too long and/or uses the new run command too much
- spiders are now able to make webs
- you can now get stuck to slime
- badly hurt/trapped bodyparts now become unusable until they regain some HP/become untrapped
- it is now possible to browse detailed death reasons of individual monsters in the postgame massacre lists
- added many new informative graphical details, for instance recently altered attributes are shown with a different color for some time
- gloomy cave is now longer and has more special levels and rooms
- all the endgame battles are more complex
- added leprosy, a nasty disease which causes your limbs to drop off randomly
<<less
Download (MB)
Added: 2007-01-03 License: GPL (GNU General Public License) Price:
1029 downloads
Gecode 1.3.1

Gecode 1.3.1


Gecode is a portable, accessible, and efficient environment for developing constraint-based systems and applications. more>>
Gecode is a accessible, portable, and efficient environment for developing constraint-based systems and applications.
Gecode is radically open for programming, meaning that it can be easily interfaced to other systems. It supports the programming of new propagators (as implementation of constraints), branching strategies, and search engines.
New variable domains can be programmed at the same level of efficiency as finite domain and integer set variables that come predefined with Gecode.
Main features:
Kernel
- Gecodes kernel provides a comprehensive programming interface to construct new variable domains (including propagators as implementations of constraints and branchings) and search engines. It is slim (around 1000 lines of code) and requires no modification or hacking for adding new variable domains or search engines.
Search
- Search in Gecode is based on recomputation and copying. Advanced techniques include adaptive (speeds up further search) and batch recomputation (drastically reduces propagation during recomputation). Currently, Gecode supports search for some solutions, optimization (branch-and-bound), and limited discrepancy search (more details). Parallel thread-based search is currently under development.
Finite domain constraints
- Gecode comes with finite domain constraints implemented on top of the generic kernel. It offers standard constraints such as arithmetics, Boolean, linear equations, and global constraints such as: distinct (alldifferent, both bounds and domain consistent), global cardinality (both bounds and domain consistent), element, cumulatives, regular, sortedness, and lex. It is simple to add new constraints and branchings (in particular as the complete source code with the above constraints as examples is available).
Finite set constraints
- Gecode also provides finite integer set variables. The standard set relations and operations are available as constraints, plus some specialized constraints such as convexity, global reasoning for distinctness of sets, selection constraints, weighted sets, and constraints connecting finite domain and finite set variables. As for the finite domain constraints, the library can be easily extended with new constraints and branchings.
Basic modeling support
- Even though Gecode has been designed to be easy to interface to and not to be easy to model with, it comes with some basic modeling support. This supports expressing linear and Boolean constraints in the standard way as expressions build from numbers and operators.
Enhancements:
- This is a minor release which fixes a major bug that appears when using branch-and-bound search.
<<less
Download (0.82MB)
Added: 2006-10-25 License: BSD License Price:
1096 downloads
libyama 0.4-b

libyama 0.4-b


libyama is a malloc implementation that bundles leak tracking by auditing allocations. more>>
libyama is a malloc implementation that bundles leak tracking by auditing allocations, array bound write detection, detection of access to freed memory, free/realloc on invalid pointers. It grew out of an attempt to build array bound overwrite detection into LeakTrac, a leak tracker I wrote earlier.
Since LeakTrac performed only book keeping and not any allocation, it was not possible to make LeakTrac detect array bound write, hence an allocator that does; and also tracks leaks.
You can think of it as merging LeakTrac and code that was inspired by ElectricFence.
If you only want to track leaks, then LeakTrac is just what you need. If you want an allocator that lets you debug also, then YaMa is the one for you. Sure, there are other similar things on the block - which is why this is Yet another Memory allocator.
Main features:
- provides malloc, calloc, realloc and free
- tracks and reports leaks
- detects accesses beyond allocated memory
- detects accesses to freed memory
- detects free on non-malloced pointers, NULL pointers
- detects realloc on non-malloced pointers
Installation:
Currently YaMa is written for Linux x86. Youll need a kernel that provides mmap etc, and gcc that can build ELF shared libraries. You also need to install binutils, if you havent already (very unlikely) And youll need the /proc filesystem.
To install YaMa
Unpack the archive
Edit Makefile; the only things you need to change are INSTALLDIR and BT.
make lib to make
make install to install. Youll need write permission on INSTALLDIR.
You may need to run ldconfig
Usage:
YaMa contains libyama.so, a shared library installed into INSTALLDIR by make install. The library provides malloc, calloc, realloc and free which can be used as replacements to their libc implementations.
A program can be linked against libyama on the command line (-lyama). A more interesting way to use libyama would be to preload it using LD_PRELOAD. The command line
LD_PRELOAD=libyama.so
would cause all calls to malloc, calloc, realloc and free originating from the program being run to be handled by the YaMa implementation. If libyama.so doesnt show up on ldconfig -p or it is not on your LD_LIBRARY_PATH, you need to specify the full path length.
When the program errs by accessing memory across an array bound, i.e, beyond the memory allocated using malloc/calloc/realloc, it receives a SIGSEGV. An access to freed memory also results in a SIGSEGV. If youve compiled your program using -g, you can locate the offending statement using any debugger on the core file. Note that overwrites on statically allocated arrays are not detected by YaMa.
If the program peforms an invalid free or realloc, an "Alert!" message is written to stderr, along with the call chain till the free/realloc. The call fails.
Upon normal program termination, either thro exit or return from main, a summary of leaks is printed on stderr. The size of each chunk of memory that remains un-freed at the end of the program is reported, along with the call chain till the allocation.
The behaviour of YaMa on malloc (0) (or calloc (x, 0)) is controlled by the environment variable ALLOWMALLOCZERO. If this variable is set to values = 2, YaMa returns a valid pointer and no warning is printed. Writes to this pointer, too, will fail. If ALLOWMALLOCZERO is not set, the behaviour is identical to ALLOWMALLOCZERO = 0.
Enhancements:
- Fixed a bug in the stack backtrace code which would crash libyama. Compile time control of backtracing (Ive found it useful at times not to have tracing).
<<less
Download (0.012MB)
Added: 2006-03-17 License: Freely Distributable Price:
1318 downloads
zlcatalog 0.2

zlcatalog 0.2


zlcatalog is a C library that can be used to organize information in a non-hierarchical way. more>>
zlcatalog project is a C library that can be used to organize information in a non-hierarchical way.
The zlcatalog system attempts to break away from the common hierarchical paradigm found in many applications today. The tree structure of folders and items is a natural extension of an operating systems structure used to store files.
But is this the best way of organizing things? What if I want something to belong to more than one group? What if I want to view my groups in a different way? Do I really need to know how my files are stored on the disk? The zl_catalog system attempts to address these issues.
Main features:
- XML file structure
- elements can belong to multiple groups
- groups can be sorted by name, date, modification or access
- API provides easy methods of bulding groups from directories, adding/removing groups, adding/removing elements, etc.
Enhancements:
- elements now track when they are accessed, which can be used for sorting
- moved filesystem related functionality to zl_catalog_fs.c
- added the ability to bound a group to a range
- added the ability to shuffle groups
- various bug fixes
<<less
Download (0.079MB)
Added: 2006-06-02 License: GPL (GNU General Public License) Price:
1239 downloads
amrita VPN 0.99

amrita VPN 0.99


Amrita VPN is an easy-to-use open source VPN solution that runs on the GNU/Linux platform. more>>
Amrita VPN is an easy-to-use open source VPN solution that runs on the GNU/Linux platform. The implementation is fully in userspace and requires no kernel patches or enhancements. It uses openssl library for strong encryption and authentication through SSLv3.
Amrita VPN IS used to connect two private networks through a public network such as the Internet. It requires only one end to have a direct Internet connection preferably with a permanent public IP address. The other end could be connected to the Internet via a masquerading router.
tar xvfz amvpn-0.99.tar.gz
- cd amvpn-0.99
- ./configure
- make
- make install
Root privilege is required to install and run AmritaVPN. You would need a root login shell to succesfully run make install. If youre logged in as root, then of course you already have a root login shell.Otherwise you must do: su - instead of simply su at command prompt.
Enhancements:
- Added keepalive message option.
- Added basic flow control logic in the relay loop - Prevents amvpn from becoming CPU-bound when theres a break/congestion in the outbound link.
<<less
Download (0.082MB)
Added: 2006-06-27 License: GPL (GNU General Public License) Price:
708 downloads
gwt-hibernate 2007-03-30

gwt-hibernate 2007-03-30


gwt-hibernate is a library that will bind your hibernate POJOs to GWT widgets. more>>
gwt-hibernate is a library that will bind your hibernate POJOs to GWT widgets.

This project provides the basics to create a web application that uses GWT on the front end and Hibernate on the back end.

It provides code generation templates and support classes that allow introspection, data binding, and validation of POJOs in the browser. Data-bound Form and Grid widgets are included.

Initial code and javadoc has been posted now, see the subversion repository. The code is has been evolved over about two months and is in a "works for me" state. We are using it internally on a project and will update it as we fix bugs and extend it.

You might want to use this library as inspiration for your own GWT data binding setup. Better yet, use the library directly and contribute changes!
<<less
Download (MB)
Added: 2007-04-10 License: LGPL (GNU Lesser General Public License) Price:
560 downloads
libgnomedb 3.0.0

libgnomedb 3.0.0


libgnomedb is a database widget library based on libgda. more>>
libgnomedb is a data-bound UI library, based on libgda. The project provides all kind of data management-related widgets, like grids, lists, entries, and some specialized widgets like connection and error dialogs, a database browser.

It also provides configuration tools that integrate smoothly into the GNOME desktop and allow for a centralized management of the data access used by all applications using libgda and/or libgnomedb.
<<less
Download (4.7MB)
Added: 2007-04-24 License: GPL (GNU General Public License) Price:
914 downloads
AI::Prolog::Builtins 0.739

AI::Prolog::Builtins 0.739


AI::Prolog::Builtins is a Perl module with builtin predicates that AI::Prolog supports. more>>
AI::Prolog::Builtins is a Perl module with builtin predicates that AI::Prolog supports.

Comments

Comments begin with a % and terminate at the end of the line or begin with /* and terminate with */.

Variables

As in Prolog, all variables begin with an upper-case letter and are not quoted. In the following example, STUFF is a variable.

steals(badguy, STUFF, "Some rich person").

Constants

Constants begin with lower-case letters. If you need a constant that begins with an upper-case letter or contains spaces or other non-alphanumeric characters, enclose the constant in single or double quotes The quotes will not be included in the constant.

In the following example, badguy and Some rich person are both constants:

steals(badguy, STUFF, "Some rich person").

Miscellaneous

This will not work:

p(X) :- X. /* does not work */

Use this instead:

p(X) :- call(X).

BUILTINS

!/0

The "cut" operator. This is used when you wish to tell Prolog that you only need to satisfy a goal once. For example, if you wish to deny someone the right to rent videos if they have overdue videos, you might use the cut operator as soon as you see they have any overdue video. The fact that they have more than one overdue video doesnt matter.

See the cut.pl program in the examples/ directory that comes with this distribution.

assert/1

Add new facts to the database. Only facts can be added, not rules. This may change in the future. See retract(X).

assert(loves(ovid,perl)).

call/1

Invokes X as a goal.

consult/1

Supplied the name of a file containing Prolog code, this will consult the Prolog code in the file and add its contents to the current knowledgebase.

Will warn if the file cannot be opened.

div/2

Succeeds if both terms are bound. The value of the term is X / Y. Use with is(X,Y).

is(X, div(N,3)).

This is the internal form of the infix operator:

N / 3.

eq/2

Succeeds if X and Y are equal.

This is the internal form of the infix operator:

X == Y.

fail/0

This goal always fails. Useful when youve reached a condition you know should not succeed.

kill(Hero, Beast) :-

not(has_weapon(Hero)), fail.

ge/2

Succeeds if both terms are bound and X >= Y.

This is the internal form of the infix operator:

X >= Y.

gt/2

Succeeds if both terms are bound and X > Y.

This is the internal form of the infix operator:

X > Y.

halt/1

In the aiprolog shell, exist shell. Currently has no other effect.

if/3

If X succeeds as a goal, try Y as a goal. Otherwise, try Z.

thief(badguy).

steals(PERP, X) :-

if(thief(PERP), eq(X,rubies), eq(X,nothing)).

is/2

If X is unbound and Y is bound to a number, the goal succeeds and X becomes bound to the value of Y. Otherwise, succeeds if both terms are bound, numbers, and equal.

All other conditions result in failure.

This is the internal form of the infix operator:

X is Y.

le/2

Succeeds if both terms are bound and X<<less
Download (0.12MB)
Added: 2007-06-21 License: Perl Artistic License Price:
856 downloads
Duplicate Music Matcher 2.3

Duplicate Music Matcher 2.3


Duplicate Music Matcher is a script to quickly find duplicate MP3 files based on letter matching. more>>
Duplicate Music Matcher is a script to quickly find duplicate MP3 files based on letter matching.
Duplicate Music Matcher is helpful for weeding out duplicates that may not be of the same encoding, format, or even the same filename.
Enhancements:
- pymad pyvorbis python-flac deps were all removed in favor of mutagen
- GUI code was updated (no more SimpleGladeApp)
- Delete key have been bound in the GUI
- More accurate matching for ogg and flac files
- The filename column is now resizable
- The GUI play and stop buttons now use audacious.FLAC should now also give a length value
- Some oggs might have a huge bitrate value due to a bug in mutagen.
<<less
Download (0.010MB)
Added: 2007-04-04 License: GPL (GNU General Public License) Price:
942 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5