xiangqi 0.62
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 17
Xiangqi 0.62-3
Xiangqi project is a chinese chess game. more>>
Xiangqi project is a chinese chess game.
You can play network multiplayer games or play against the computer.
Xiangqi, or Chinese Chess, is an extremely popular game in the Eastern Hemisphere. It is currently played by millions (or tens of millions) in China, Taiwan, Thailand, Singapore, Vietnam, Hong Kong and other Asian countries.
Xiangqi has remained in its present form for centuries. It is believed that both Xiangqi and Orthodox Chess derive from the original Indian game of Chanturanga.
<<lessYou can play network multiplayer games or play against the computer.
Xiangqi, or Chinese Chess, is an extremely popular game in the Eastern Hemisphere. It is currently played by millions (or tens of millions) in China, Taiwan, Thailand, Singapore, Vietnam, Hong Kong and other Asian countries.
Xiangqi has remained in its present form for centuries. It is believed that both Xiangqi and Orthodox Chess derive from the original Indian game of Chanturanga.
Download (0.22MB)
Added: 2007-01-12 License: GPL (GNU General Public License) Price:
1033 downloads
dlq 0.62
dlq lets modem/isdn users download files, without disrupting normal traffic, by using idle bandwidth. more>>
dlq lets modem/isdn users download files, without disrupting normal traffic, by using idle bandwidth.
Users enqueue files to grab, and a daemon retrieves file bits whenever the line is idle for a few moments (~30 seconds), pausing whenever other traffic resumes.
dlq project is written in perl ans supports triggers.
<<lessUsers enqueue files to grab, and a daemon retrieves file bits whenever the line is idle for a few moments (~30 seconds), pausing whenever other traffic resumes.
dlq project is written in perl ans supports triggers.
Download (0.007MB)
Added: 2007-06-11 License: GPL (GNU General Public License) Price:
870 downloads
parp 0.62
parp is a powerful, extensible e-mail filter with sophisticated anti-spam capabilities. more>>
parp is a powerful, extensible e-mail filter with sophisticated anti-spam capabilities. Its made as a complete replacement for procmail, is MIME-aware, and acts as a filter, daemon, or on mailboxes.
This was yet another personal itch which needed scratching. I receive between 5 and 20 spam e-mails most days. It wasnt only mildly annoying to have to hit delete more than normal, but I also forward all e-mail which ends up in my main inbox to my mobile (cell) phone via email2sms and an Internet/SMS gateway, and I was sick to death of my phone bleeping a lot through the day purely due to junk mail.
I started looking at all the available anti-spam filters. Over a period of two years, I looked at many, including the NAGS filter, despam, various complex anti-spam procmailrcs, the spamometer, blackmail, filter.plx, zfilter, spamstop, junkfilter ... but various things put me off all of them:
Some werent written in Perl. Call me a Perl bigot, but if there was ever a case of Perl being the right tool for the job, its an e-mail filter. Extensibility and maintainability were very high on my list.
Some were terribly coded. I refuse to put my e-mail at the mercies of bad code (and that includes sendmail ;-).
Some insisted that you use a particular MDA or MUA. I have no intentions of changing from mutt and qmail.
Many filtered on only the headers, or only the body. I want to filter on both, not all the time, but in some circumstances.
None were as accurate as I wanted. My goal was at least 99% accuracy. (At the time of writing, parps accuracy is hovering around the 99.8% mark.)
Main features:
- Can act as a filter in a similar manner to procmail, or directly on files in Mbox format (and possibly other formats via Mail::Box - untested), or as a daemon processing mails from a spool. In the latter case, mails are injected into the queue via a tiny (15k on my system) executable which handles locking correctly.
- Standard filtering actions are available (deliver to mailbox, pipe to command, reject as junk etc.)
- Highly sophisticated spam detection heuristics: currently around 40 different tests performed in a worst case scenario, although all tests optimised for speed (e.g. fast tests performed on headers, then slower tests only performed on body if necessary). N.B. Im considering incorporating the SpamAssassin ruleset at some point too.
- Optional cross-checking with the Open Relay Database.
- Filter adds X-Parp-Accepted: and X-Parp-Rejected: headers so that you can easily monitor its filtering strategy without leaving your mail reader.
- MIME multi-part aware, e.g. will not be confused by binary attachments.
- Berkeley DB format friends database, for keeping false positives to an absolute minimum.
- Automatic extraction of addresses into the friends database from emails which pass the spam tests. Semi-automatic removal of addresses from the friends database on the rare occasions parp gets it wrong. The friends database is also easily editable with my dbm utility.
- Other `grace tests allowing bona fide persons communications through (e.g. passworded e-mails) just in case all the other tests go badly wrong.
- The configuration files are written in raw Perl, so you can extend the filter arbitrarily using the main programs API.
- Comprehensive logging and error-trapping systems.
- Auxiliary program to print out comprehensive statistics on all aspects of filtering (see the sample output).
- Ability to log false positives/negatives when spam detection has gone wrong in a way which can be interpreted by the statistics program to determine the filters current accuracy of spam detection.
- Mostly RFC822-compliant state machine parser of Received headers, enabling extensive spam trace analysis and retaliative action. Read its man page or source if youre curious.
- Duplicate removals (by message id).
- Emails which have already been filtered can be used as regression tests, to easily spot problems when you make changes to your filtering logic.
Version restrictions:
- Limited documentation so far. This is gradually improving.
- Requires some knowledge of Perl / programming. (Ironically, if it didnt, there would be far greater limitations to the filters flexibility.)
<<lessThis was yet another personal itch which needed scratching. I receive between 5 and 20 spam e-mails most days. It wasnt only mildly annoying to have to hit delete more than normal, but I also forward all e-mail which ends up in my main inbox to my mobile (cell) phone via email2sms and an Internet/SMS gateway, and I was sick to death of my phone bleeping a lot through the day purely due to junk mail.
I started looking at all the available anti-spam filters. Over a period of two years, I looked at many, including the NAGS filter, despam, various complex anti-spam procmailrcs, the spamometer, blackmail, filter.plx, zfilter, spamstop, junkfilter ... but various things put me off all of them:
Some werent written in Perl. Call me a Perl bigot, but if there was ever a case of Perl being the right tool for the job, its an e-mail filter. Extensibility and maintainability were very high on my list.
Some were terribly coded. I refuse to put my e-mail at the mercies of bad code (and that includes sendmail ;-).
Some insisted that you use a particular MDA or MUA. I have no intentions of changing from mutt and qmail.
Many filtered on only the headers, or only the body. I want to filter on both, not all the time, but in some circumstances.
None were as accurate as I wanted. My goal was at least 99% accuracy. (At the time of writing, parps accuracy is hovering around the 99.8% mark.)
Main features:
- Can act as a filter in a similar manner to procmail, or directly on files in Mbox format (and possibly other formats via Mail::Box - untested), or as a daemon processing mails from a spool. In the latter case, mails are injected into the queue via a tiny (15k on my system) executable which handles locking correctly.
- Standard filtering actions are available (deliver to mailbox, pipe to command, reject as junk etc.)
- Highly sophisticated spam detection heuristics: currently around 40 different tests performed in a worst case scenario, although all tests optimised for speed (e.g. fast tests performed on headers, then slower tests only performed on body if necessary). N.B. Im considering incorporating the SpamAssassin ruleset at some point too.
- Optional cross-checking with the Open Relay Database.
- Filter adds X-Parp-Accepted: and X-Parp-Rejected: headers so that you can easily monitor its filtering strategy without leaving your mail reader.
- MIME multi-part aware, e.g. will not be confused by binary attachments.
- Berkeley DB format friends database, for keeping false positives to an absolute minimum.
- Automatic extraction of addresses into the friends database from emails which pass the spam tests. Semi-automatic removal of addresses from the friends database on the rare occasions parp gets it wrong. The friends database is also easily editable with my dbm utility.
- Other `grace tests allowing bona fide persons communications through (e.g. passworded e-mails) just in case all the other tests go badly wrong.
- The configuration files are written in raw Perl, so you can extend the filter arbitrarily using the main programs API.
- Comprehensive logging and error-trapping systems.
- Auxiliary program to print out comprehensive statistics on all aspects of filtering (see the sample output).
- Ability to log false positives/negatives when spam detection has gone wrong in a way which can be interpreted by the statistics program to determine the filters current accuracy of spam detection.
- Mostly RFC822-compliant state machine parser of Received headers, enabling extensive spam trace analysis and retaliative action. Read its man page or source if youre curious.
- Duplicate removals (by message id).
- Emails which have already been filtered can be used as regression tests, to easily spot problems when you make changes to your filtering logic.
Version restrictions:
- Limited documentation so far. This is gradually improving.
- Requires some knowledge of Perl / programming. (Ironically, if it didnt, there would be far greater limitations to the filters flexibility.)
Download (0.058MB)
Added: 2006-07-08 License: Artistic License Price:
1205 downloads
YAML 0.62
YAML - YAML Aint Markup Language. more>>
YAML - YAML Aint Markup Language.
SYNOPSIS
use YAML;
# Load a YAML stream of 3 YAML documents into Perl data structures.
my ($hashref, $arrayref, $string) = Load(<<less
SYNOPSIS
use YAML;
# Load a YAML stream of 3 YAML documents into Perl data structures.
my ($hashref, $arrayref, $string) = Load(<<less
Download (0.096MB)
Added: 2007-05-22 License: Perl Artistic License Price:
888 downloads
IMLogger 0.62
IMLogger provides an utility which logs instant messenger screen names logging on and off. more>>
IMLogger provides an utility which logs instant messenger screen names logging on and off.
IMLogger provides a usable program to enable network administrators to log certain instant messaging activities (namely, login and logout). AOL is currently supported, with Yahoo, MSN, and Jabber protocols in the works.
This is very useful in Universities where campus police want to trace a SN back to a port/dorm
<<lessIMLogger provides a usable program to enable network administrators to log certain instant messaging activities (namely, login and logout). AOL is currently supported, with Yahoo, MSN, and Jabber protocols in the works.
This is very useful in Universities where campus police want to trace a SN back to a port/dorm
Download (0.014MB)
Added: 2007-03-23 License: GPL (GNU General Public License) Price:
945 downloads
CGI::Wiki 0.62
CGI::Wiki is a toolkit for building Wikis. more>>
CGI::Wiki is a toolkit for building Wikis.
Helps you develop Wikis quickly by taking care of the boring bits for you. You will still need to write some code - this isnt an instant Wiki.
SYNOPSIS
# Set up a wiki object with an SQLite storage backend, and an
# inverted index/DB_File search backend. This store/search
# combination can be used on systems with no access to an actual
# database server.
my $store = CGI::Wiki::Store::SQLite->new(
dbname => "/home/wiki/store.db" );
my $indexdb = Search::InvertedIndex::DB::DB_File_SplitHash->new(
-map_name => "/home/wiki/indexes.db",
-lock_mode => "EX" );
my $search = CGI::Wiki::Search::SII->new(
indexdb => $indexdb );
my $wiki = CGI::Wiki->new( store => $store,
search => $search );
# Do all the CGI stuff.
my $q = CGI->new;
my $action = $q->param("action");
my $node = $q->param("node");
if ($action eq display) {
my $raw = $wiki->retrieve_node($node);
my $cooked = $wiki->format($raw);
print_page(node => $node,
content => $cooked);
} elsif ($action eq preview) {
my $submitted_content = $q->param("content");
my $preview_html = $wiki->format($submitted_content);
print_editform(node => $node,
content => $submitted_content,
preview => $preview_html);
} elsif ($action eq commit) {
my $submitted_content = $q->param("content");
my $cksum = $q->param("checksum");
my $written = $wiki->write_node($node, $submitted_content, $cksum);
if ($written) {
print_success($node);
} else {
handle_conflict($node, $submitted_content);
}
}
<<lessHelps you develop Wikis quickly by taking care of the boring bits for you. You will still need to write some code - this isnt an instant Wiki.
SYNOPSIS
# Set up a wiki object with an SQLite storage backend, and an
# inverted index/DB_File search backend. This store/search
# combination can be used on systems with no access to an actual
# database server.
my $store = CGI::Wiki::Store::SQLite->new(
dbname => "/home/wiki/store.db" );
my $indexdb = Search::InvertedIndex::DB::DB_File_SplitHash->new(
-map_name => "/home/wiki/indexes.db",
-lock_mode => "EX" );
my $search = CGI::Wiki::Search::SII->new(
indexdb => $indexdb );
my $wiki = CGI::Wiki->new( store => $store,
search => $search );
# Do all the CGI stuff.
my $q = CGI->new;
my $action = $q->param("action");
my $node = $q->param("node");
if ($action eq display) {
my $raw = $wiki->retrieve_node($node);
my $cooked = $wiki->format($raw);
print_page(node => $node,
content => $cooked);
} elsif ($action eq preview) {
my $submitted_content = $q->param("content");
my $preview_html = $wiki->format($submitted_content);
print_editform(node => $node,
content => $submitted_content,
preview => $preview_html);
} elsif ($action eq commit) {
my $submitted_content = $q->param("content");
my $cksum = $q->param("checksum");
my $written = $wiki->write_node($node, $submitted_content, $cksum);
if ($written) {
print_success($node);
} else {
handle_conflict($node, $submitted_content);
}
}
Download (0.061MB)
Added: 2006-09-05 License: Perl Artistic License Price:
1144 downloads
remake 0.62
remake is a patched and modernized version of GNU make utility. more>>
remake is a modern version of GNU make utility that adds improved error reporting, the ability to trace execution in a comprehensible way, and a debugger.
The debugger lets you set breakpoints on targets, show and set variables, inspect target descriptions, and see the target call stack. If you are interesting in contributing to this project, please contact us.
Enhancements:
- There were some small bugfixes, changes to keep in step with GNU make development, and changes to be more Debian compatible.
<<lessThe debugger lets you set breakpoints on targets, show and set variables, inspect target descriptions, and see the target call stack. If you are interesting in contributing to this project, please contact us.
Enhancements:
- There were some small bugfixes, changes to keep in step with GNU make development, and changes to be more Debian compatible.
Download (MB)
Added: 2007-02-28 License: GPL (GNU General Public License) Price:
970 downloads
Locale::Maketext::Lexicon::Tie 0.62
Locale::Maketext::Lexicon::Tie is a Perl module to use tied hashes as lexicons for Maketext. more>>
Locale::Maketext::Lexicon::Tie is a Perl module to use tied hashes as lexicons for Maketext.
SYNOPSIS
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
en => [ Tie => [ DB_File => en.db ] ],
};
This module lets you easily tie the %Lexicon hash to a database or other data sources. It takes an array reference of arguments, and passes them directly to tie().
Entries will then be fetched whenever it is used; this module does not cache them.
<<lessSYNOPSIS
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
en => [ Tie => [ DB_File => en.db ] ],
};
This module lets you easily tie the %Lexicon hash to a database or other data sources. It takes an array reference of arguments, and passes them directly to tie().
Entries will then be fetched whenever it is used; this module does not cache them.
Download (0.082MB)
Added: 2007-02-20 License: Perl Artistic License Price:
977 downloads
Locale::Maketext::Lexicon 0.62
Locale::Maketext::Lexicon is a Perl module to use other catalog formats in Maketext. more>>
Locale::Maketext::Lexicon is a Perl module to use other catalog formats in Maketext.
SYNOPSIS
As part of a localization class, automatically glob for available lexicons:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
* => [Gettext => /usr/local/share/locale/*/LC_MESSAGES/hello.mo],
### Uncomment to decode lexicon entries into Unicode strings
# _decode => 1,
### Uncomment to fallback when a key is missing from lexicons
# _auto => 1,
### Uncomment to use %1 / %quant(%1) instead of [_1] / [quant, _1]
# _style => gettext,
};
Explicitly specify languages, during compile- or run-time:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
de => [Gettext => hello_de.po],
fr => [
Gettext => hello_fr.po,
Gettext => local/hello/fr.po,
],
};
# ... incrementally add new lexicons
Locale::Maketext::Lexicon->import({
de => [Gettext => local/hello/de.po],
})
Alternatively, as part of a localization subclass:
package Hello::I18N::de;
use base Hello::I18N;
use Locale::Maketext::Lexicon (Gettext => *DATA);
__DATA__
# Some sample data
msgid ""
msgstr ""
"Project-Id-Version: Hello 1.3.22.1n"
"MIME-Version: 1.0n"
"Content-Type: text/plain; charset=iso8859-1n"
"Content-Transfer-Encoding: 8bitn"
#: Hello.pm:10
msgid "Hello, World!"
msgstr "Hallo, Welt!"
#: Hello.pm:11
msgid "You have %quant(%1,piece) of mail."
msgstr "Sie haben %quant(%1,Poststueck,Poststuecken)."
This module provides lexicon-handling modules to read from other localization formats, such as Gettext, Msgcat, and so on.
If you are unfamiliar with the concept of lexicon modules, please consult Locale::Maketext and http://www.autrijus.org/webl10n/ first.
A command-line utility xgettext.pl is also installed with this module, for extracting translatable strings from source files.
<<lessSYNOPSIS
As part of a localization class, automatically glob for available lexicons:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
* => [Gettext => /usr/local/share/locale/*/LC_MESSAGES/hello.mo],
### Uncomment to decode lexicon entries into Unicode strings
# _decode => 1,
### Uncomment to fallback when a key is missing from lexicons
# _auto => 1,
### Uncomment to use %1 / %quant(%1) instead of [_1] / [quant, _1]
# _style => gettext,
};
Explicitly specify languages, during compile- or run-time:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
de => [Gettext => hello_de.po],
fr => [
Gettext => hello_fr.po,
Gettext => local/hello/fr.po,
],
};
# ... incrementally add new lexicons
Locale::Maketext::Lexicon->import({
de => [Gettext => local/hello/de.po],
})
Alternatively, as part of a localization subclass:
package Hello::I18N::de;
use base Hello::I18N;
use Locale::Maketext::Lexicon (Gettext => *DATA);
__DATA__
# Some sample data
msgid ""
msgstr ""
"Project-Id-Version: Hello 1.3.22.1n"
"MIME-Version: 1.0n"
"Content-Type: text/plain; charset=iso8859-1n"
"Content-Transfer-Encoding: 8bitn"
#: Hello.pm:10
msgid "Hello, World!"
msgstr "Hallo, Welt!"
#: Hello.pm:11
msgid "You have %quant(%1,piece) of mail."
msgstr "Sie haben %quant(%1,Poststueck,Poststuecken)."
This module provides lexicon-handling modules to read from other localization formats, such as Gettext, Msgcat, and so on.
If you are unfamiliar with the concept of lexicon modules, please consult Locale::Maketext and http://www.autrijus.org/webl10n/ first.
A command-line utility xgettext.pl is also installed with this module, for extracting translatable strings from source files.
Download (0.082MB)
Added: 2007-02-14 License: MIT/X Consortium License Price:
982 downloads
Event::ExecFlow 0.62
Event::ExecFlow is a high level API for event-based execution flow control. more>>
Event::ExecFlow is a high level API for event-based execution flow control.
ABSTRACT
Event::ExecFlow provides a ligh level API for defining complex flow controls with asynchronous execution of external programs.
SYNOPSIS
use Event::ExecFlow;
my $job = Event::ExecFlow::Job::Group->new (
jobs => [
Event::ExecFlow::Job::Command->new (
name => "transcode",
title => "Transcoding DVD title to OGG",
command => "transcode -i /dev/dvd ...",
fetch_output => 1,
progress_max => 4711, # number of frames
progress_parser => sub {
my ($job, $buffer) = @_;
$job->set_progress_cnt($1) if $buffer =~ /[d+-(d+)]/;
#-- or simply write this:
#-- progress_parser => qr/[d+-(d+)]/,
},
),
Event::ExecFlow::Job::Code->new (
name => "checks",
title => "Do some checks",
depends_on => [ "transcode" ],
code => sub {
my ($job) = @_;
my $transcode = $job->get_group->get_job_by_name("transcode");
if ( $transcode->get_output !~ /.../ ) {
$job->set_error_message("XY check failed");
}
#-- this could be done easier as a post_callback added to
#-- the "transcode" job above, but its nevertheless a good
#-- example for the Code job type and shows how jobs can
#-- interfere with each other.
},
),
Event::ExecFlow::Job::Command->new (
title => "Muxing OGG file",
depends_on => [ "checks" ],
command => "ogmmerge ...",
no_progress => 1,
),
],
);
#-- this inherits from Event::ExecFlow::Frontend
my $frontend = Video::DVDRip::GUI::ExecFlow->new(...);
$frontend->start_job($job);
Event::ExecFlow offers a high level API to declare jobs, which mainly execute external commands, parse their output to get progress or other status information, triggers actions when the command has been finished etc. Such jobs can be chained together in a recursive fashion to fulfill rather complex tasks which consist of many jobs.
Additionally it defines an extensible API for communication with the frontend application, which may be a written using Gtk2, Tk or Qt or is a simple text console program.
In case of Gtk2 a custom widget for displaying an Event::ExecFlow job plan, including progress updates, is shipped with the Gtk2::Ex::FormFactory package.
<<lessABSTRACT
Event::ExecFlow provides a ligh level API for defining complex flow controls with asynchronous execution of external programs.
SYNOPSIS
use Event::ExecFlow;
my $job = Event::ExecFlow::Job::Group->new (
jobs => [
Event::ExecFlow::Job::Command->new (
name => "transcode",
title => "Transcoding DVD title to OGG",
command => "transcode -i /dev/dvd ...",
fetch_output => 1,
progress_max => 4711, # number of frames
progress_parser => sub {
my ($job, $buffer) = @_;
$job->set_progress_cnt($1) if $buffer =~ /[d+-(d+)]/;
#-- or simply write this:
#-- progress_parser => qr/[d+-(d+)]/,
},
),
Event::ExecFlow::Job::Code->new (
name => "checks",
title => "Do some checks",
depends_on => [ "transcode" ],
code => sub {
my ($job) = @_;
my $transcode = $job->get_group->get_job_by_name("transcode");
if ( $transcode->get_output !~ /.../ ) {
$job->set_error_message("XY check failed");
}
#-- this could be done easier as a post_callback added to
#-- the "transcode" job above, but its nevertheless a good
#-- example for the Code job type and shows how jobs can
#-- interfere with each other.
},
),
Event::ExecFlow::Job::Command->new (
title => "Muxing OGG file",
depends_on => [ "checks" ],
command => "ogmmerge ...",
no_progress => 1,
),
],
);
#-- this inherits from Event::ExecFlow::Frontend
my $frontend = Video::DVDRip::GUI::ExecFlow->new(...);
$frontend->start_job($job);
Event::ExecFlow offers a high level API to declare jobs, which mainly execute external commands, parse their output to get progress or other status information, triggers actions when the command has been finished etc. Such jobs can be chained together in a recursive fashion to fulfill rather complex tasks which consist of many jobs.
Additionally it defines an extensible API for communication with the frontend application, which may be a written using Gtk2, Tk or Qt or is a simple text console program.
In case of Gtk2 a custom widget for displaying an Event::ExecFlow job plan, including progress updates, is shipped with the Gtk2::Ex::FormFactory package.
Download (0.015MB)
Added: 2007-03-09 License: Perl Artistic License Price:
962 downloads
MP3 renamer 2006 0.62
Mp3 renamer 2006 by MiKe is a shell script for Linux. more>>
Mp3 renamer 2006 by MiKe is a shell script for Linux. MP3 renamer goes by the Unix name of rename-mp3. It looks at MP3 files in a Directory and, using id3v2, will rename all the mp3 files in a nice format according to the id3 tags rename-mp3 will look at both v1 and v2 id3 tags, and will make the output file in a Title-Album-Artist.mp3 format.
It saves time, and not only will it read the id3 tags, but in the event that the MP3 file has no id3 tags, you will be given 4 options
1)abort 2)skip 3)rename 4)write id3 tags, and you are asked what you would like the id3 tag artist, track name and album to be.
This is great if you want the track to be easy to view and yet you still like having a library of music that is all tagged nicely!
Enhancements:
- New stuff: The INSTALLER now works, whereas before it wouldnt copy...
<<lessIt saves time, and not only will it read the id3 tags, but in the event that the MP3 file has no id3 tags, you will be given 4 options
1)abort 2)skip 3)rename 4)write id3 tags, and you are asked what you would like the id3 tag artist, track name and album to be.
This is great if you want the track to be easy to view and yet you still like having a library of music that is all tagged nicely!
Enhancements:
- New stuff: The INSTALLER now works, whereas before it wouldnt copy...
Download (0.005MB)
Added: 2006-03-22 License: Other/Proprietary License with Source Price:
1317 downloads
Locale::Maketext::Lexicon::Msgcat 0.62
Locale::Maketext::Lexicon::Msgcat is a Msgcat catalog parser Maketext. more>>
Locale::Maketext::Lexicon::Msgcat is a Msgcat catalog parser Maketext.
SYNOPSIS
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
en => [Msgcat, en_US/hello.pl.m],
};
package main;
my $lh = Hello::I18N->get_handle(en);
print $lh->maketext(1,2); # set 1, msg 2
print $lh->maketext("1,2"); # same thing
This module parses one or more Msgcat catalogs in plain text format, and returns a Lexicon hash, which may be looked up either with a two-argument form ($set_id, $msg_id) or as a single string ("$set_id,$msg_id").
<<lessSYNOPSIS
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
en => [Msgcat, en_US/hello.pl.m],
};
package main;
my $lh = Hello::I18N->get_handle(en);
print $lh->maketext(1,2); # set 1, msg 2
print $lh->maketext("1,2"); # same thing
This module parses one or more Msgcat catalogs in plain text format, and returns a Lexicon hash, which may be looked up either with a two-argument form ($set_id, $msg_id) or as a single string ("$set_id,$msg_id").
Download (0.082MB)
Added: 2007-02-14 License: MIT/X Consortium License Price:
983 downloads
Wmcalc 0.3
Wmcalc is a 64x64 pixel application that performs all the functions of a simple four function calculator. more>>
Wmcalc is simple little application that I am writing. If youre not familiar with these windowmanagers, check them out in the links section. Of course, it should work in just about any window manager.
Wmcalc is a 64x64 pixel application that performs all the functions (and eventually more) of a simple four function calculator. It includes a 10 digit alpha-numeric display, and twenty buttons for user input. Clicking on the display will clear the calculator.
Installation:
Untar the file:
tar xvzf wmcalc-0.3.tar.gz
CD to source directory:
cd wmcalc-0.3
Compile it:
make clean; make
Copy the config file:
cp .wmcalc ~
Put the executable somewhere in your path:
mv wmcalc /usr/local/bin (or anyhere in your path)
Run it:
wmcalc &
Grab the appicon and move it to the dock.
Change the settings to start with Windowmaker
Afterstep Wharf 1.6.??: (I dont use Afterstep anymore, so...)
*Wharf wmcalc -Swallow "wmcalc" wmcalc &
***Note***:
The appicon only has a two pixel border where you can grab and move it. It is easiest to grab along the bottom edge.
If make doesnt work, you may need to fiddle with the settings in the Makefile.
Tested on: (Well, it runs, I dont know if Tested is quite right...)
WindowMaker-0.62.1
X Clients: Red Hat 6.0, Kernel 2.2.8
Usage:
usage: wmcalc [-g geometry] [-d dpy] [-v] [-f configfilename] [-h]
-g < geometry > Window Geometry - ie: 64x64+10+10
-d < display > Display - ie: 127.0.0.1:0.0
-v Verbose Mode.
-h Help. This message.
-f < filename > Full path to configuration file to use.
Buttons are defined as:
____________________
| x00 | where: x = 1 for Left Mouse Button
| 0 1 2 3 4 5 6 7 8 9| x = 2 for Middle Mouse Button
|--------------------| x = 3 for Right Mouse Button
|x01 x02 x03 x04 x05 |
|x06 x07 x08 x09 x10 | Note: the numbers 0..9 are the indicators
|x11 x12 x13 x14 x15 | for memory cells 0..9 respectively
|x16 x17 x18 x19 x20 |
--------------------
Button Functions:
100 Reinitialize the calculator, and both Registers
(Clear All)
200 Clear all the memory registers (0..10)
300 Clear the current number being entered only
x11 Start a program defined by CalcStart variable in config file
1yy Perform function shown on button
2yy Recall number from memory location [0-9] to display
for calculation
if yy = 2,3,4, 7,8,9, 12, 13, 14, 17
otherwise, can run a user-defined function (not implemented)
3yy Store Displayed number in memory location [0-9]
if yy = 2,3,4, 7,8,9, 12,13,14, 17
otherwise, can run a user-defined function (not implemented)
1xx Hopefully the other functions are obvious from their
button graphics.
Enhancements:
- Added "Locked" memory capabilities via config file
- General Code clean-up
- Keyboard Support - may not be platform independent
<<lessWmcalc is a 64x64 pixel application that performs all the functions (and eventually more) of a simple four function calculator. It includes a 10 digit alpha-numeric display, and twenty buttons for user input. Clicking on the display will clear the calculator.
Installation:
Untar the file:
tar xvzf wmcalc-0.3.tar.gz
CD to source directory:
cd wmcalc-0.3
Compile it:
make clean; make
Copy the config file:
cp .wmcalc ~
Put the executable somewhere in your path:
mv wmcalc /usr/local/bin (or anyhere in your path)
Run it:
wmcalc &
Grab the appicon and move it to the dock.
Change the settings to start with Windowmaker
Afterstep Wharf 1.6.??: (I dont use Afterstep anymore, so...)
*Wharf wmcalc -Swallow "wmcalc" wmcalc &
***Note***:
The appicon only has a two pixel border where you can grab and move it. It is easiest to grab along the bottom edge.
If make doesnt work, you may need to fiddle with the settings in the Makefile.
Tested on: (Well, it runs, I dont know if Tested is quite right...)
WindowMaker-0.62.1
X Clients: Red Hat 6.0, Kernel 2.2.8
Usage:
usage: wmcalc [-g geometry] [-d dpy] [-v] [-f configfilename] [-h]
-g < geometry > Window Geometry - ie: 64x64+10+10
-d < display > Display - ie: 127.0.0.1:0.0
-v Verbose Mode.
-h Help. This message.
-f < filename > Full path to configuration file to use.
Buttons are defined as:
____________________
| x00 | where: x = 1 for Left Mouse Button
| 0 1 2 3 4 5 6 7 8 9| x = 2 for Middle Mouse Button
|--------------------| x = 3 for Right Mouse Button
|x01 x02 x03 x04 x05 |
|x06 x07 x08 x09 x10 | Note: the numbers 0..9 are the indicators
|x11 x12 x13 x14 x15 | for memory cells 0..9 respectively
|x16 x17 x18 x19 x20 |
--------------------
Button Functions:
100 Reinitialize the calculator, and both Registers
(Clear All)
200 Clear all the memory registers (0..10)
300 Clear the current number being entered only
x11 Start a program defined by CalcStart variable in config file
1yy Perform function shown on button
2yy Recall number from memory location [0-9] to display
for calculation
if yy = 2,3,4, 7,8,9, 12, 13, 14, 17
otherwise, can run a user-defined function (not implemented)
3yy Store Displayed number in memory location [0-9]
if yy = 2,3,4, 7,8,9, 12,13,14, 17
otherwise, can run a user-defined function (not implemented)
1xx Hopefully the other functions are obvious from their
button graphics.
Enhancements:
- Added "Locked" memory capabilities via config file
- General Code clean-up
- Keyboard Support - may not be platform independent
Download (0.057MB)
Added: 2006-10-23 License: GPL (GNU General Public License) Price:
1096 downloads
Locale::Maketext::Lexicon::Gettext 0.62
Locale::Maketext::Lexicon::Gettext is a Perl module for PO and MO file parser for Maketext. more>>
Locale::Maketext::Lexicon::Gettext is a Perl module for PO and MO file parser for Maketext.
SYNOPSIS
Called via Locale::Maketext::Lexicon:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
de => [Gettext => hello/de.mo],
};
Directly calling parse():
use Locale::Maketext::Lexicon::Gettext;
my %Lexicon = %{ Locale::Maketext::Lexicon::Gettext->parse( ) };
__DATA__
#: Hello.pm:10
msgid "Hello, World!"
msgstr "Hallo, Welt!"
#: Hello.pm:11
msgid "You have %quant(%1,piece) of mail."
msgstr "Sie haben %quant(%1,Poststueck,Poststuecken)."
This module implements a perl-based Gettext parser for Locale::Maketext. It transforms all %1, %2, < %* >... sequences to [_1], [_2], [_*], and so on. It accepts either plain PO file, or a MO file which will be handled with a pure-perl parser adapted from Imacats Locale::Maketext::Gettext.
Since version 0.03, this module also looks for %function(args...) in the lexicon strings, and transform it to [function,args...]. Any %1, %2... sequences inside the args will have their percent signs (%) replaced by underscores (_).
The name of function above should begin with a letter or underscore, followed by any number of alphanumeric characters and/or underscores. As an exception, the function name may also consist of a single asterisk (*) or pound sign (#), which are Locale::Maketexts shorthands for quant and numf, respectively.
As an additional feature, this module also parses MIME-header style metadata specified in the null msgstr (""), and add them to the %Lexicon with a __ prefix. For example, the example above will set __Content-Type to text/plain; charset=iso8859-1, without the newline or the colon.
Any normal entry that duplicates a metadata entry takes precedence. Hence, a msgid "__Content-Type" line occurs anywhere should override the above value.
<<lessSYNOPSIS
Called via Locale::Maketext::Lexicon:
package Hello::I18N;
use base Locale::Maketext;
use Locale::Maketext::Lexicon {
de => [Gettext => hello/de.mo],
};
Directly calling parse():
use Locale::Maketext::Lexicon::Gettext;
my %Lexicon = %{ Locale::Maketext::Lexicon::Gettext->parse( ) };
__DATA__
#: Hello.pm:10
msgid "Hello, World!"
msgstr "Hallo, Welt!"
#: Hello.pm:11
msgid "You have %quant(%1,piece) of mail."
msgstr "Sie haben %quant(%1,Poststueck,Poststuecken)."
This module implements a perl-based Gettext parser for Locale::Maketext. It transforms all %1, %2, < %* >... sequences to [_1], [_2], [_*], and so on. It accepts either plain PO file, or a MO file which will be handled with a pure-perl parser adapted from Imacats Locale::Maketext::Gettext.
Since version 0.03, this module also looks for %function(args...) in the lexicon strings, and transform it to [function,args...]. Any %1, %2... sequences inside the args will have their percent signs (%) replaced by underscores (_).
The name of function above should begin with a letter or underscore, followed by any number of alphanumeric characters and/or underscores. As an exception, the function name may also consist of a single asterisk (*) or pound sign (#), which are Locale::Maketexts shorthands for quant and numf, respectively.
As an additional feature, this module also parses MIME-header style metadata specified in the null msgstr (""), and add them to the %Lexicon with a __ prefix. For example, the example above will set __Content-Type to text/plain; charset=iso8859-1, without the newline or the colon.
Any normal entry that duplicates a metadata entry takes precedence. Hence, a msgid "__Content-Type" line occurs anywhere should override the above value.
Download (0.082MB)
Added: 2007-02-20 License: MIT/X Consortium License Price:
976 downloads
Locale::Maketext::Extract::Run 0.62
Locale::Maketext::Extract::Run is a Perl module interface to xgettext.pl. more>>
Locale::Maketext::Extract::Run is a Perl module interface to xgettext.pl.
SYNOPSIS
use Locale::Maketext::Extract::Run xgettext;
xgettext(@ARGV);
<<lessSYNOPSIS
use Locale::Maketext::Extract::Run xgettext;
xgettext(@ARGV);
Download (0.082MB)
Added: 2007-02-13 License: Perl Artistic License Price:
987 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above xiangqi 0.62 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