Main > Free Download Search >

Free eleven software for linux

eleven

Sponsored Links
Sponsored Links
Sort by >> Relevance
rss
Secleted [ 0 ] software to compare
Results 1 - 15 of about 11
Eleven 1.0

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.
<<less
Download (0.50MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1745 downloads
AlteredSaver 2.3

AlteredSaver 2.3


AlteredSaver is a 3D screensaver. more>>
AlteredSaver is an OpenGL screen saver whichruns as a stand-alone application, or as a screen saver in conjunction with xscreensaver.

Our goal is to make sure youre always entertained. AlteredSaver can download new content from our web site with just one click - we have lots of award winning interactive art to choose from.

ELEVEN 3D screen savers are include!. Switch between scenes automatically. Several different camera views are included in each scene - youre able to switch between them and smoothly rotate the view using the arrow keys.

Great for youngsters! Download new 3D content from AlteredWorlds.com with one click! Play Audio CDS, MP3s and WAVs while watching cutting-edge 3D graphics. Optimized for the GeForce, but works well on most 3D cards.

AlteredSaver was awarded a 5 Star Editors pick by ZDNet and ranked among the most popular 5% of all their downloads.

AlteredSaver has featured in magazines all over the world, including the UK, Brazil, Portugal, the Netherlands and the US.
<<less
Download (10.9MB)
Added: 2005-04-25 License: Freeware Price:
1642 downloads
Tellico 1.2.12

Tellico 1.2.12


Tellico is a collection manager for keeping track of your books, bibliographies, videos, music, comic books. more>>
Tellico is a collection manager for keeping track of your books, bibliographies, videos, music, comic books, coins, stamps, trading cards, wines, or any custom items.

Tellico project supports any number of user-defined fields, of eleven different types: text, paragraph, list, year, checkbox, URL, tables of one or two columns, images, dates, and combinations.

Tellico imports Bibtex, Bibtexml, MODS, RIS, and CSV and exports to Bibtex, Bibtexml, CSV, HTML, and PilotDB. It offers grouping, view filtering, and searching.

Tellico can also import data from Amazon.com and IMDb.com, along with z39.50 servers, CDDB data, audio files, and Alexandria libraries.

<<less
Download (4.5MB)
Added: 2007-07-05 License: GPL (GNU General Public License) Price:
844 downloads
Data::Page::Viewport 1.02

Data::Page::Viewport 1.02


Data::Page::Viewport is a Perl module to scroll thru data a page, or just an item, at a time. more>>
Data::Page::Viewport is a Perl module to scroll thru data a page, or just an item, at a time.

Synopsis

This is a complete, tested, runnable program.
#!/usr/bin/perl

use strict;
use warnings;

use Data::Page::Viewport;

# -----------------------------------------------

my(@data) = (qw/zero one two three four five six
seven eight nine ten eleven twelve thirteen fourteen/);
my($page) = Data::Page::Viewport -> new
(
data_size => scalar @data,
page_size => 4
);

print "Data bounds: 0 .. $#data. n";
print "Data: ", join(, , @data), ". n";
print "Page bounds: 0 .. 3. n";
print "Page data: ", join(, , @data[0 .. 3]), ". n";
print "n";

my(@bound);

for (-2, 1, 4, 4, 1, 3, 3, -2, 1, 2, 1, -4, -4,
-1, 1, 2, -1, -2, -2, -1, -4, 4, 4, 4)
{
print "Offset: $_. n";

@bound = $page -> offset($_) -> bounds();

print "Page bounds: $bound[0] .. $bound[1]. n";
print Page data: ,
join(, , @data[$bound[0] .. $bound[1] ]),
". n";
print - x 50, "n";
}

Data::Page::Viewport is a pure Perl module.

This module keeps track of what items are on the current page, when you scroll forwards or backwards within a data set.

Similarly to Data::Page, you can call sub offset(N), for + or - N, to scroll thru the data a page at a time.

And, like Set::Window, you can call sub offset(N), for + or - 1, to scroll thru the data an item at a time.

Clearly, N does not have to be fixed.

The viewport provides access to the current page, and the code shifts indexes into and out of the viewport, according to the parameter passed to sub offset().

Note that the data is not passed into this module. The module only keeps track of the indexes within the viewport, i.e. indexes on the current page.

You call sub bounds() on the object (of type Set::Window) returned by sub offset(), to determine what indexes are on the current page at any particular point in time.

Also note that, unlike Set::Window, the boundaries of the viewport are rigid, so that changes to the indexes caused by sub offset() are limited by the size of the data set.

This means, if you do this:

my($page) = Data::Page::Viewport -> new
(
data_size => $#data, # 0 .. $#data.
page_size => $page_size, # 1 .. N.
);

my(@bound) = $page -> offset(- 1) -> bounds();

the call to sub offset(- 1) will have no effect.

That is, when trying to go back past the beginning of the data set, the bounds will be locked to values within 0 .. data_size.

Similarly, a call which would go beyond the other end of the data set, will lock the bounds to the same range.

In short, you cant fall off the edge by calling sub offset().

This in turn means that the values returned by sub bounds() will always be valid indexes within the range 0 .. data_size.

The module implements this by building 2 objects of type Set::Window, one for the original data set (which never changes), and one for the current page, which changes each time sub offset() is called (until the boundaries are hit, of course).

Note: No range checking is performed on the parameters to sub new().

Note: It should be obvious by now that this module differs from Data::Page, and indeed all such modules, in that they never change the items which are on a given page. They only allow you to change the page known as the current page. This module differs, in that, by calling sub offset(+ or - N), you are effectively changing the items which are deemed to be on the current page.

<<less
Download (0.008MB)
Added: 2006-10-03 License: Perl Artistic License Price:
1117 downloads
Pub Team Football Manager 1.0

Pub Team Football Manager 1.0


Pub Team Football Manager is a football manager software. more>>
Pub Team Football Manager is a football manager software.

From the main screen, there are six options available (yellow buttons) for showing or editing diffrent information during the game. Here is an explanation:

Info: This shows the details of your team such as kit colours and current news items. Kit colours can be changed by clicking them. The latest news from the pub team grapevine is shown, with any items directly relevant to your team are *** starred.
Squad: The place where you pick your team. Players numbered 1 to 11 will play, 12 and above are substitutes or rested. Each players current position, together with his fitness and morale, are indicated next to his name. Further vital statistics of a player are obtained by clicking on his name. To move a player in or out of your first eleven, click on the "Sub" or "Play" button. You may look at other teams squads by clicking on the < and > buttons.
Tactics: Choose the tactics and playing style of your team. A number of formations are available, and you can choose your teams passing style and aggressiveness.
Fixtures: Lists all your fixtures for the current season, including cup fixtures when drawn. You may look at other teams fixtures by clicking on the < and > buttons.
Table: The current league standings. There are two divisions, each containing 16 teams. Your team is indicated by *.
Records: Shows the best wins and record goalscorers for the current season.
Play: Click here to actually play your matches. The weeks fixtures from your division are indicated, with your match highlighted in red. Press "Start Match" to begin the match simulation, but you can later pause if things start to happen too quickly. A match report and stats are available, and are updated as the match plays. If one of your players gets injured, the game will automatically be paused.

To start a new game, select which team you wish to take charge of, and press "Start New Game". The main screen is then displayed, which is controlled by the large yellow buttons, described in the opposite panel...

Your squad consists of many players who frequent your local drinking establishment. Each player has many attributes, which are rated from A+ to F. These affect the gameplay in various ways. For example, a player who is good at tackling may make a good defender, whereas a player whose shooting attribute is high should be put up front.

All the players attributes are available in the "Squad" section by clicking on a players name. Also available is each players preferred position, indicated in brackets e.g. (Def/Mid), although this is only a guide.

The most important attribute is the players fitness. Try to pick players who are reasonably fit wherever possible. Players fitness may improve when rested, but if they are rested too long, their morale may suffer.

The chosen style of play and formation also have an influence, and some options work better with certain kinds of players. It is your job as manager to weigh up all the factors when picking your strategy and players.

As the season progresses, you will sometimes play cup matches. The Cup is a knockout tournament which includes teams from both divisions. If you are knocked out, you will not play in further rounds, but you can still watch the matches.

Occasionally, players will leave your club, and sometimes new players may join. Since it is a pub team, you dont have much control of what your players do. However, players with a low morale are more likely to leave.

At the end of the season, the top three teams from the lower division (B) are promoted to the higher division (A). The game is open-ended and you may continue for as many seasons as you like.

<<less
Download (MB)
Added: 2006-01-13 License: Freeware Price:
1380 downloads
!Everest Poker [$100 free] v2005

!Everest Poker [$100 free] v2005


Everest Poker is the first multi-lingual and multi-player online poker room application of the world. The software is translated into more than eleven... more>> <<less
Download (214KB)
Added: 2009-04-23 License: Freeware Price: Free
207 downloads
3rd Edition Dungeons & Dragons Character Generator 3.5

3rd Edition Dungeons & Dragons Character Generator 3.5


3rd Edition Dungeons and Dragons Character Generator is an HTML/JavaScript Web page that allows the user to create RPG character more>>
3rd Edition Dungeons and Dragons Character Generator is an HTML/JavaScript Web page that allows the user to quickly and easily create new Dungeons and Dragons characters.
The characters can be of any of the eleven classes, any of the playable races, and may start at any level from 1 to 220. Generation requires some simple input, after which the character is displayed on a basic character sheet.
3rd Edition Dungeons & Dragons Character Generator allows you to select your starting stats, add ability points, and pick skills, equipment, feats, and spells. It runs on most operating systems with most modern browsers.
Enhancements:
- This release fixes a few minor, but pesky bugs.
- Halflings no longer get extra saving throws where they should not.
- Saves and skills are shown in a more common format.
- Classes can now get all of their bonus langages (which fixes an error with druids).
<<less
Download (0.085MB)
Added: 2007-07-22 License: GPL (GNU General Public License) Price:
881 downloads
Acme::OneHundredNotOut 100

Acme::OneHundredNotOut 100


Acme::OneHundredNotOut is a raise of the bat, a tip of the hat. more>>
Acme::OneHundredNotOut is a raise of the bat, a tip of the hat.

I have just released my 100th module to CPAN, the first time that anyone has reached that target. As some of you may know, I am getting ready to go back to college and reinvent myself from being a programmer into being a missionary. I dont forsee that many more Perl modules coming out of this.

Of course, this doesnt mean that Im going to abjure usage of Perl forever; any time theres a computer and something I need automated, out will come the Swiss Army Chainsaw and the job will get done. In fact, we recently needed to manipulate some text from a mission handbook to translate it into Japanese, and Perl was there handling and collating all that.

But 100 modules is a convenient place to stop and take stock, and I hope that those of you who have benefitted from my modules, programs or writing about Perl will forgive me a certain spot of self-indulgence as I look back over my CPAN career, especially since I feel that the diversity of modules that Ive produced is a good indication of the diversity of what can be done with Perl.

Lets begin, then, with some humble beginnings, and then catch up on recent history.
The Embarrassing Past

Contrary to popular belief, I was not always a CPAN author. I started writing modules in 1998, immediately after reading the first edition of the Perl Cookbook - yes, you can blame Nat and Tom for all this. The first module that I released was Tie::DiscoveryHash, since Id just learnt about tied hashes. As with many of my modules, it was an integral part of another software project which I actually never finished, and now cant find.

The first module that I ever wrote (but, by a curious quirk of fate, precisely the fiftieth module I released) was called String::Tokeniser, which is still a reasonably handy way of getting an iterator over tokenising a string. (Someone recently released String::Tokenizer, which makes me laugh.) This too was for an abortive project, webperl, an application of Don Knuths WEB system of structured documentation to Perl. However, given the code quality of these two modules, its perhaps just as well that the projects never saw the light of day.

There are a few other modules Id rather like to forget, too. Devel::Pointer was a sick joke that went badly wrong - it allowed people to use pointers in Perl. Some people failed to notice that referring to memory locations directly in an extremely high-level language was a dangerous and silly thing to do, and actually used the damned thing, and I started getting requests for support for it. Then at some point in 2001, when I should really have known better, I developed an interest in Microsofts .NET and the C# language, which I still think is pretty neat; but I decided it might be a good idea to translate the Mono projects tokenizer and parser into Perl, ending up with C::Sharp. I never got around to doing the parser part, or indeed anything else with it, and so it died a lonely death in a dark corner of CPAN. GTK::HandyClist was my foray into programming graphical applications, which started and ended there.

Bundle::SDK::SIMON was actually the slides from a talk on my top ten favourite CPAN modules - except that this changes so quickly over time, it doesnt really make much sense any more.

Finally, Array::FileReader was an attempt to optimize a file access process. Unfortunately, my "optimization" ended up introducing more overheads than the naive solution. It all goes to show. Since then, Mark-Jason Dominus, another huge influence in the development of my CPAN career, has written Tie::File, which not only has a better name but is actually efficient too.

The Internals Phase

1999-2000 were disastrous years for me personally but magnificent years Perl-sonally. Stuck in a boring job and a tiny flat in the middle of Tokyo, I had plenty of time to get stuck into more Perl development. I felt that getting involved with perl5-porters would be a good way of gettting to know more about Perl, and so I needed a hobby horse - an issue of Perls development that I cared about. Since I was in Japan and working a lot with non-Latin text, Unicode support seemed a good thing to work on, and so Unicode::Decompose appeared, while I fixed up a substantial part of the post-5.6 core Unicode support.

Id recommend this way to anyone who wants to get more involved in the Perl community, although I was very lucky in terms of who else happened to be around at the time: Gurusamy Sarathy was extremely gracious in helping me turn my fledgling C code into something fit for the Perl core, and he also helped me understand the perl5-porters etiquette (yes, there was some at the time) and what makes a good patch, while Jarkko Hietaniemi was always good for suggestions of interesting things for keen people to work on. Seriously, get involved. If I can do it, anyone can.
Anyway, this fixation with understanding the Perl 5 internals, and especially the Perl 5 compiler, (due to yet another of my Perl influences, the great Malcolm Beattie) led to quite a torrent of modules, from ByteCache, an implementation of just-in-time compilation for Perl modules, through B::Flags and B::Tree to help visualising the Perl op tree, to uninit, B::Generate, optimizer and B::Utils for modifying it.

Perl About The House

Now we abandon chronological order somewhat and take a look at the various areas in which Ive used Perl. One of these areas has been the automation of everyday life: checking my bank balance with Finance::Bank::LloydsTSB (the first Perl module to interface to personal internet banking, no less) and my phone bill with a release of Tony Bowdens Data::BT::PhoneBill.

Finance::Bank::LloydsTSB was meant to go with Finance::QIF, my Quicken file parser, to produce another now-abandoned idea, a Perl finances manager. It seemed that Im only capable of producing modules, not full standalone applications - or at least, it seemed that way until I produced Bryar, my blogging software, based on the concepts from Rael Dornfests blosxom and beginning my adventures with Andy Wardleys Template Toolkit. Bryar also tuned me in to the Model-View-Controller framework idea, of which more later.

Another project I briefly played with was a personal robot, using the Sphinx/Festival speech handling and recognition modules from Cepstral and Kevin Lenzo. I didnt have X10, so I couldnt shout "lights" into the air in a wonderfully scifi way, but I could shout "mail" and have a summary of my inbox read to me, "news" to get the latest BBC news headlines, and "time" to hear the time. Of course, getting computers to tell the time nicely takes a little bit of work. I dont like "Its eleven oh-three pee em", since thats not what someone would say if you asked them the time. I wanted my robot to say "Its just after eleven", and thats what Time::Human does. Shame about the localisation.

<<less
Download (0.014MB)
Added: 2006-06-08 License: Perl Artistic License Price:
1233 downloads
CGI::NoPoison 3.11

CGI::NoPoison 3.11


CGI::NoPoison is No Poison Null Byte in CGI->Vars. more>>
CGI::NoPoison is No Poison Null Byte in CGI->Vars.

SYNOPSIS

use CGI;
use CGI::NoPoison

my $m = CGI->new();
$m->param(
-name=>amplifier,
-value=>[nine, ten, up to eleven],
);
my %h = $m->Vars();
# look ma, no splitting on poison null-bytes ( )!
print "$_ => ", join ", ", @{$h{$_}} for keys %h;

print "This one goes ", ($m->param(amplifier))[2];

Simplicity itself. Instead of using a null-byte to separate multi-valued fields why not just use what CGI.pm already uses to store the values internally?

"Whats that?", you ask? Why, its an anonymous array, of course, like anyone sensible would use. cgi-lib.pl may have been fine years and years ago, but this now-archaic throwback no longer needs us to bow to its demands. (is anyone still actually using it? yikes.)

This does, however change how you parse CGI->Vars() (as an anon-array, not a -packed string) and also how you set params.

NOW you can properly test for inserted null-bytes in a secure environment WHILE taking advantage of the convenience of the Vars() function.

<<less
Download (0.012MB)
Added: 2006-12-01 License: Perl Artistic License Price:
1059 downloads
Zatacka 0.1.7

Zatacka 0.1.7


Zatacka is an arcade multiplayer game for 2-6 players on one keyboard, clone of Achtung die Kurve classical dos game. more>>
Zatacka is an arcade multiplayer game for 2-6 players on one keyboard, clone of Achtung die Kurve classical dos game.

You handle yor line and you must sidetrack lines of other players and of course walls. When some player dies, survival gives one point.

When leaves only one player alive, the round is finished. Each game has eleven rounds.

<<less
Download (0.13MB)
Added: 2007-03-17 License: GPL (GNU General Public License) Price:
4760 downloads
mp3togo 0.5.12

mp3togo 0.5.12


mp3togo is a linux tool for creating low bitrate subsets from a high quality music archive. more>>
mp3togo is a linux tool for creating low bitrate subsets from a high quality music archive. mp3togo was born in the fall of 2004 when my housemate came home with a portable mp3 player and expected to be able to load it with music from our house archive which was mostly comprised of ogg vorbis files.
The sets of files mp3togo creates can be played on most mp3 players, used to create audio and mp3 cds or to create compressed distributions of a set of wav files.
Operation
mp3togo accepts a list of files from the command line or a playlist file or even a running instance of XMMS. The files are converted to wavs with the appropriate command line tools. The uncompressed files are normalized so they sound good together, particularly through earphones. Then they are encoded to a space efficient low bitrate ogg or mp3 format and tagged. The completed files are copied to the destination, preserving a configurable amount of the original directory structure. The free space on the output volume is monitored and mp3togo will stop gracefully when it becomes filled or a preset size limit is reached.
mp3togo can run as a command line program. It will read options from the command line or optionaly from a config file in the invoking users home directory.
mp3togo is written in pure python and has been written with expandability in mind. The various modules can be imported and driven by other python programs. In the near future I intend to write a GUI interface for my mouse using friends.
Disadvantages
Decoding and reencoding a gigabyte of music is time consuming. On my 2.4ghz P4, mp3togo will process 100 average songs in about an hour. It takes about 3.5 hours to fill up my 1GB flash player.
Many mp3 players will use battery power when hooked up to USB. Mine does, as a result I burn 3.5 hours of battery to load my player. It also gets quite upset when the batteries die while transferring files.
One solution to this problem is to convert the files offline. Use a directory on the computers hard disk and set the --max-size option to the free space on the player. Set it to work and go to bed or something. Once it is done the files can be copied over quickly with regular unix tools.
I dont bother with this myself as I rarely erase my whole player. Instead, Ill erase albums as I get bored with them and load new albums in the space freed up. It takes fifteen or twenty minutes and it keeps my travelling collection fresh.
Advantages
If you have spent years ripping your extensive CD collection to high quality ogg vorbis files then the main advantage of mp3togo should be quite obvious. I bought an iRiver player specificaly because of their ogg vorbis support. if you are a free software advocate, you really have to put your money where your mouth is. I found though, that most of my music was encoded at a bitrate that was higher than the iRiver supported. I use the ogg output mode of mp3togo and still get to feel all warm and fuzzy inside.
Another major advantage only became clear to me after sorting out the first problem. By reencoding at a lower bitrate you can cram way more music on your player. I fit 180 songs onto my 1GB player by copying them over with cp. By using mp3togo I was able to fit 350 songs on the same player. Thats 50% more music, well worth the extra time spent encoding.
It is true that the quality suffers slightly, but you are listening to this music while jogging or riding the skytrain to work. The original files still exist for cranking to eleven on your expensive super home hi-fi system. With the additional capacity, you can listen until your batteries die and not get bored.
mp3togo normalizes the tracks as it converts them. This eliminates the problem of some songs recorded at a low level and others at a high level. With my player on shuffle mode, I was always reaching into my pocket to adjust the volume. Half the time my big thumbs would hit forward instead of volume up on the tiny joystick and Id have to apologise for cursing to the other people on the bus. With normalization the player stays in my pocket until I get home.
Enhancements:
- eyeD3 support was fixed to work in the absence of ID3.
- A --no-guessing-tags option was added.
<<less
Download (0.014MB)
Added: 2007-06-13 License: GPL (GNU General Public License) Price:
863 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 1
  • 1