diamond
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 51
Diamond Wiki 0.3
Diamond Wiki provides a wiki based on metadata and faceted navigation. more>>
Diamond Wiki provides a wiki based on metadata and faceted navigation.
This is an experimental wiki based on the idea of FacetedNavigation. What does that mean, you ask? At the bottom of each page you will see a list of attributes such as "Subject: Wiki" or "Author: Fred". These attributes are used to construct a dynamic directory of all the pages in DiamondWiki. To see the current directory just click on BrowseFacets.
Attributes are similar to tags, but with two key differences. First, attributes are grouped so that, for example, all the "Subject:" attributes are listed together. Second, attributes can be organized hierarchically, allowing users to drill down to see more and more detail. These differences make attributes much more scalable than simple tags. A website with 10,000 different attributes is perfectly reasonable, while a website with 10,000 different tags would be a cluttered mess.
In Diamond Wiki, anyone can change the attributes applied to a page simply by clicking the edit link at the bottom of the page.
Main features:
- BrowseFacets: this is what makes Diamond Wiki different from other wikis
- MetaData: learn how to add meta data to pages on Diamond Wiki
- SandBox: feel free to change this page and experiment with editing
- GuestBook: let me know you were here!
- WhatsNew: see how the Diamond Wiki software has been changing
- FindPage: search or browse the database in various ways
<<lessThis is an experimental wiki based on the idea of FacetedNavigation. What does that mean, you ask? At the bottom of each page you will see a list of attributes such as "Subject: Wiki" or "Author: Fred". These attributes are used to construct a dynamic directory of all the pages in DiamondWiki. To see the current directory just click on BrowseFacets.
Attributes are similar to tags, but with two key differences. First, attributes are grouped so that, for example, all the "Subject:" attributes are listed together. Second, attributes can be organized hierarchically, allowing users to drill down to see more and more detail. These differences make attributes much more scalable than simple tags. A website with 10,000 different attributes is perfectly reasonable, while a website with 10,000 different tags would be a cluttered mess.
In Diamond Wiki, anyone can change the attributes applied to a page simply by clicking the edit link at the bottom of the page.
Main features:
- BrowseFacets: this is what makes Diamond Wiki different from other wikis
- MetaData: learn how to add meta data to pages on Diamond Wiki
- SandBox: feel free to change this page and experiment with editing
- GuestBook: let me know you were here!
- WhatsNew: see how the Diamond Wiki software has been changing
- FindPage: search or browse the database in various ways
Download (0.027MB)
Added: 2007-02-16 License: GPL (GNU General Public License) Price:
980 downloads
Diamond Crush 0.1
Diamond Crush is a puzzle game to be released worldwide before the end of 2006 by the Italian Diamonds Team. more>> <<less
Download (5.9MB)
Added: 2006-04-26 License: Public Domain Price:
1276 downloads
Crystal Diamond 2.5
Crystal Diamond Icons is a fantastic and realistic icon theme for Kde, a graphical interface for linux. more>>
Crystal Diamond Icons is a fantastic and realistic icon theme for Kde, a graphical interface for linux.
I take the best icons from Realistik, Vista Ispirate, Nuove XT, Crystal Clear, OSX, Debian Icons and many other and I made this Icon Theme. The icons are not mine.
There are different mod such classical, shining, gentoo, arch, debian and kubuntu. The only difference between "Mods" is Kmenu except for Debian Mod (also Kcontrol, Trash and Folder Icon).
There are more icons for one application. For example there are 6 different icons for Firefox! If you like, change into your favourite icon! (Left click, change icon). In the second image for exaple, I change firefox icon.
There are many Mod for you distro:
* Classical
* Shining
* Gentoo
* Debian
* Kubuntu
* Arch
* FreeBsd/PcBsd
* Fedora/Red Hat
* MacOsX
* MacOsX Finder
* Mandriva
* Slackware
* Suse Classic
* Suse Alternative
* Ubuntu
You can see it in the screenshot!
Vista Inspirate is created by Saki, Crystal Clear is created by Everaldo, Nuove XT is created by Saki, OsX is created by kiddo, Debian Icons is created by OnkelchenTobi ...and much more!
For any problem (for example broken link) send me an email: icons[at]paolinoland.it If you like it VOTE ME and SUPPORT ME!
<<lessI take the best icons from Realistik, Vista Ispirate, Nuove XT, Crystal Clear, OSX, Debian Icons and many other and I made this Icon Theme. The icons are not mine.
There are different mod such classical, shining, gentoo, arch, debian and kubuntu. The only difference between "Mods" is Kmenu except for Debian Mod (also Kcontrol, Trash and Folder Icon).
There are more icons for one application. For example there are 6 different icons for Firefox! If you like, change into your favourite icon! (Left click, change icon). In the second image for exaple, I change firefox icon.
There are many Mod for you distro:
* Classical
* Shining
* Gentoo
* Debian
* Kubuntu
* Arch
* FreeBsd/PcBsd
* Fedora/Red Hat
* MacOsX
* MacOsX Finder
* Mandriva
* Slackware
* Suse Classic
* Suse Alternative
* Ubuntu
You can see it in the screenshot!
Vista Inspirate is created by Saki, Crystal Clear is created by Everaldo, Nuove XT is created by Saki, OsX is created by kiddo, Debian Icons is created by OnkelchenTobi ...and much more!
For any problem (for example broken link) send me an email: icons[at]paolinoland.it If you like it VOTE ME and SUPPORT ME!
Download (18MB)
Added: 2006-12-10 License: GPL (GNU General Public License) Price:
1059 downloads
Dodgin Diamond 2 0.2.1
Dodgin Diamond 2 is a little shoot-em-up arcade game. more>>
Dodgin Diamond 2 project is a little shoot-em-up arcade game.
The game is for one or two players.
It aims to be an "old school" arcade game with low resolution graphics, top-down scrolling action, energy based gameplay, and different weapons with several levels of power.
Main features:
- Top-down arcade game.
- One or two players.
- Energy based gameplay (up to ten hits).
- Music and sound where available.
- Three different weapons with five levels of power.
- Companion bot.
- Shield cells.
- 2 stages (with final boss).
- Full joystick support (one or two joysticks).
<<lessThe game is for one or two players.
It aims to be an "old school" arcade game with low resolution graphics, top-down scrolling action, energy based gameplay, and different weapons with several levels of power.
Main features:
- Top-down arcade game.
- One or two players.
- Energy based gameplay (up to ten hits).
- Music and sound where available.
- Three different weapons with five levels of power.
- Companion bot.
- Shield cells.
- 2 stages (with final boss).
- Full joystick support (one or two joysticks).
Download (0.28MB)
Added: 2006-12-07 License: GPL (GNU General Public License) Price:
1053 downloads
Rebound 0.9.14
Rebound is a Diamonds clone. more>>
Sometime in the early 90s a game existed on the Macintosh called Diamonds which was something like a cross between a puzzle and action game. The game play required for the player to use the ball on the screen to hit bricks and destroy them.
However, rather than hitting the ball with a paddle like breakout, the player controlled the left and right of the ball with the arrow keys. The ball still bounces up and down on its own, but there is no bottom to fall off of.
To make the game more interesting some of the bricks were different colors so that only when the ball was the same color could the brick be removed. There was also a key and lock brick set where you first had to get the key to remove the lock brick. Other bricks existed with other functions but the basic goal remained, remove the bricks to pass the level.
The resulting game was fun, challenging, and suitable for all ages. Rebound is a reimplementation of the Diamonds game in C++ for Linux.
The game has actually come quite far and I am finally ready to call the 0.8 release beta. An early beta, but it appears to be quite stable and quite playable. Ive even got 4 levels which I think are fun to play and challenging. Anyone can add new levels by editing the data/level.ldf file. A readme exists in the same directory which describes the format of the file.
Score Area - Only thing that is missing is the countdown timer.
Background - Only one background image is currently supported. It would be nice to have one for each level.
Sound - Background music and some collision sounds.
Entry Screen - DONE
Comments in Level Parser - Currently you cant have any comments in the ldf file. I need to update the parser to allow for comments. I think this means more messing with the lexer.
Level Parser Error Messages - Currently the level parser does not tolerate errors in the level data very well at all. At some point I need to dig into boost spirit again to figure out how to add nicer error messages.
Artwork - Pretty much a complete overhaul of the artwork. Can be done external to the game development.
Levels - I need more levels, at least 15 or 20.
Enhancements:
- 14 playable levels, thanks to submitted levels by Tobin Zerba and Quentin Crain!
- New backgrounds have been added which are images from NASA of outerspace. If you feel these are too dark and distract from the game play, please let me know and I can work on modifying them.
- Version 1.0 will have an rpm release for Linux and perhaps a better installer for Windows.
<<lessHowever, rather than hitting the ball with a paddle like breakout, the player controlled the left and right of the ball with the arrow keys. The ball still bounces up and down on its own, but there is no bottom to fall off of.
To make the game more interesting some of the bricks were different colors so that only when the ball was the same color could the brick be removed. There was also a key and lock brick set where you first had to get the key to remove the lock brick. Other bricks existed with other functions but the basic goal remained, remove the bricks to pass the level.
The resulting game was fun, challenging, and suitable for all ages. Rebound is a reimplementation of the Diamonds game in C++ for Linux.
The game has actually come quite far and I am finally ready to call the 0.8 release beta. An early beta, but it appears to be quite stable and quite playable. Ive even got 4 levels which I think are fun to play and challenging. Anyone can add new levels by editing the data/level.ldf file. A readme exists in the same directory which describes the format of the file.
Score Area - Only thing that is missing is the countdown timer.
Background - Only one background image is currently supported. It would be nice to have one for each level.
Sound - Background music and some collision sounds.
Entry Screen - DONE
Comments in Level Parser - Currently you cant have any comments in the ldf file. I need to update the parser to allow for comments. I think this means more messing with the lexer.
Level Parser Error Messages - Currently the level parser does not tolerate errors in the level data very well at all. At some point I need to dig into boost spirit again to figure out how to add nicer error messages.
Artwork - Pretty much a complete overhaul of the artwork. Can be done external to the game development.
Levels - I need more levels, at least 15 or 20.
Enhancements:
- 14 playable levels, thanks to submitted levels by Tobin Zerba and Quentin Crain!
- New backgrounds have been added which are images from NASA of outerspace. If you feel these are too dark and distract from the game play, please let me know and I can work on modifying them.
- Version 1.0 will have an rpm release for Linux and perhaps a better installer for Windows.
Download (6.4MB)
Added: 2006-11-28 License: GPL (GNU General Public License) Price:
1128 downloads
Games::Cards 1.45
Games::Cards is a Perl module for writing and playing card games. more>>
Games::Cards is a Perl module for writing and playing card games.
SYNOPSIS
use Games::Cards;
my $Rummy = new Games::Cards::Game;
# Create the correct deck for a game of Rummy.
my $Deck = new Games::Cards::Deck ($Rummy, "Deck");
# shuffle the deck and create the discard pile
$Deck->shuffle;
my $Discard = new Games::Cards::Queue "Discard Pile";
# Deal out the hands
foreach my $i (1 .. 3) {
my $hand = new Games::Cards::Hand "Player $i" ;
$Deck->give_cards($hand, 7);
$hand->sort_by_value;
push @Hands, $hand;
}
# print hands (e.g. "Player 1: AS 2C 3C 3H 10D QS KH")
foreach (@Hands) { print ($_->print("short"), "n") }
$Hands[1]->give_a_card ($Discard, "8D"); # discard 8 of diamonds
This module creates objects and methods to allow easier programming of card games in Perl. It allows you to do things like create decks of cards, have piles of cards, hands, and other sets of cards, turn cards face-up or face-down, and move cards from one set to another. Which is pretty much all you need for most card games.
<<lessSYNOPSIS
use Games::Cards;
my $Rummy = new Games::Cards::Game;
# Create the correct deck for a game of Rummy.
my $Deck = new Games::Cards::Deck ($Rummy, "Deck");
# shuffle the deck and create the discard pile
$Deck->shuffle;
my $Discard = new Games::Cards::Queue "Discard Pile";
# Deal out the hands
foreach my $i (1 .. 3) {
my $hand = new Games::Cards::Hand "Player $i" ;
$Deck->give_cards($hand, 7);
$hand->sort_by_value;
push @Hands, $hand;
}
# print hands (e.g. "Player 1: AS 2C 3C 3H 10D QS KH")
foreach (@Hands) { print ($_->print("short"), "n") }
$Hands[1]->give_a_card ($Discard, "8D"); # discard 8 of diamonds
This module creates objects and methods to allow easier programming of card games in Perl. It allows you to do things like create decks of cards, have piles of cards, hands, and other sets of cards, turn cards face-up or face-down, and move cards from one set to another. Which is pretty much all you need for most card games.
Download (0.089MB)
Added: 2007-01-03 License: Perl Artistic License Price:
1034 downloads
Test::STDmaker::Demo 0.23
Test::STDmaker::Demo is a Perl module that generates demo scripts from a test description short hand. more>>
Test::STDmaker::Demo is a Perl module that generates demo scripts from a test description short hand.
The Test::STDmaker::Demo package is an internal driver package to the Test::STDmaker package that supports the Test::STDmaker::tmake() method. Any changes to the internal drive interface and this package will not even consider backward compatibility. Thus, this POD serves as a Software Design Folder documentation the current internal design of the Test::STDmaker and its driver packages.
The Test::STDmaker::Check package inherits the methods of the Test::STDmaker package. The Test::STDmaker build generate and methods directs the Test::STDmaker::Demo package to perform its work by calling its methods.
The Test::STDmaker::Demo methods builds a demo script whereby the demo script loads the Test::Tech package and uses the methods from the Test::Tech package.
During the course of the processing the Test::STDmaker::Demo package maintains the following in the $self object data hash:
$skip
condition that a test should be skipped
$verify_only
flag that a test is for the verify (test script) output only
The Test::STDmaker::Demo package has the following options that are passed as part of the $self hash from Test::STDmaker methods:
demo
Replaces the UUT DEMONSTRATION POD section with the results from the demo script.
replace
same as the demo option
nosemi
The C subroutine will not automatically add a ; at the end of the code field.
<<lessThe Test::STDmaker::Demo package is an internal driver package to the Test::STDmaker package that supports the Test::STDmaker::tmake() method. Any changes to the internal drive interface and this package will not even consider backward compatibility. Thus, this POD serves as a Software Design Folder documentation the current internal design of the Test::STDmaker and its driver packages.
The Test::STDmaker::Check package inherits the methods of the Test::STDmaker package. The Test::STDmaker build generate and methods directs the Test::STDmaker::Demo package to perform its work by calling its methods.
The Test::STDmaker::Demo methods builds a demo script whereby the demo script loads the Test::Tech package and uses the methods from the Test::Tech package.
During the course of the processing the Test::STDmaker::Demo package maintains the following in the $self object data hash:
$skip
condition that a test should be skipped
$verify_only
flag that a test is for the verify (test script) output only
The Test::STDmaker::Demo package has the following options that are passed as part of the $self hash from Test::STDmaker methods:
demo
Replaces the UUT DEMONSTRATION POD section with the results from the demo script.
replace
same as the demo option
nosemi
The C subroutine will not automatically add a ; at the end of the code field.
Download (0.13MB)
Added: 2007-02-12 License: Perl Artistic License Price:
985 downloads
Data::Str2Num 0.07
Data::Str2Num - int str to int; float str to float, else undef. more>>
Data::Str2Num - int str to int; float str to float, else undef.
SYNOPSIS
#####
# Subroutine interface
#
use Data::Str2Num qw(config str2float str2int str2integer);
$float = str2float($string, [@options]);
(@strings, @floats) = str2float(@strings, [@options]);
$integer = $secspack->str2int($string);
$integer = str2integer($string, [@options]);
(@strings, @integers) = str2int(@strings, [@options]);
#####
# Class, Object interface
#
# For class interface, use Data::SecsPack instead of $self
#
use Data::Str2Num;
$str2num = Data::Str2Num;
$str2num = new Data::Str2Num;
$float = $secspack->str2float($string, [@options]);
(@strings, @floats) = $secspack->str2float(@strings, [@options]);
$integer = $secspack->str2int($string);
$integer = $secspack->str2integer($string, [@options])
(@strings, @integers) = $secspack->str2int(@strings, [@options]);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
<<lessSYNOPSIS
#####
# Subroutine interface
#
use Data::Str2Num qw(config str2float str2int str2integer);
$float = str2float($string, [@options]);
(@strings, @floats) = str2float(@strings, [@options]);
$integer = $secspack->str2int($string);
$integer = str2integer($string, [@options]);
(@strings, @integers) = str2int(@strings, [@options]);
#####
# Class, Object interface
#
# For class interface, use Data::SecsPack instead of $self
#
use Data::Str2Num;
$str2num = Data::Str2Num;
$str2num = new Data::Str2Num;
$float = $secspack->str2float($string, [@options]);
(@strings, @floats) = $secspack->str2float(@strings, [@options]);
$integer = $secspack->str2int($string);
$integer = $secspack->str2integer($string, [@options])
(@strings, @integers) = $secspack->str2int(@strings, [@options]);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
Download (0.055MB)
Added: 2007-02-15 License: Perl Artistic License Price:
981 downloads
Proc::Command 0.04
Proc::Command is a backtick that does not use the shell for Perl under Windows. more>>
Proc::Command is a backtick that does not use the shell for Perl under Windows.
SYNOPSIS
use Proc::Command
@reponse = Proc::Command->command($command)
@reponse = Proc::Command->command($command, $trys)
@reponse = Proc::Command->command($command, $trys, $sleep)
use Proc::Command qw(command)
@reponse = command($command)
@reponse = command($command, $trys)
@reponse = command($command, $trys, $sleep)
Some Perls under Microsoft windows suffers disabilities over Unix Perls. One particular disability is a backtick without the console. Altough the Microsoft console, may be started without a window (start command with /b option or spawn program call), the Perl system command on windows usually creates a window. Creating a window causes immense user interface problem since it will randomly pop-up and take focus over the current window, erasing current entries into that window. Solutions such as "Proc::SafePipe" do not run on Perls for Window.
This module provides an answer by using the "open" command with a pipe to provide a backtick without a console that will run under Perls on Microsoft Windows.
<<lessSYNOPSIS
use Proc::Command
@reponse = Proc::Command->command($command)
@reponse = Proc::Command->command($command, $trys)
@reponse = Proc::Command->command($command, $trys, $sleep)
use Proc::Command qw(command)
@reponse = command($command)
@reponse = command($command, $trys)
@reponse = command($command, $trys, $sleep)
Some Perls under Microsoft windows suffers disabilities over Unix Perls. One particular disability is a backtick without the console. Altough the Microsoft console, may be started without a window (start command with /b option or spawn program call), the Perl system command on windows usually creates a window. Creating a window causes immense user interface problem since it will randomly pop-up and take focus over the current window, erasing current entries into that window. Solutions such as "Proc::SafePipe" do not run on Perls for Window.
This module provides an answer by using the "open" command with a pipe to provide a backtick without a console that will run under Perls on Microsoft Windows.
Download (0.016MB)
Added: 2007-02-13 License: Perl Artistic License Price:
984 downloads
File::AnySpec 0.06
File::AnySpec is a Perl module to perform operations on foreign (remote) file names. more>>
File::AnySpec is a Perl module to perform operations on foreign (remote) file names.
SYNOPSIS
# Subroutine Interface
#
use File::AnySpec qw(fspec2fspec pm2fspec os2fspec fspec2os fspec_glob fspec2pm);
$file = fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = fspec2os($fspec, $file, [$no_file])
$fspec_file = os2fspec($fspec, $file, [$no_file])
$pm = fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = pm2fspec($fspec, $pm)
@globed_files = fspec_glob($fspec, @files)
# Class Interface
#
use File::AnySpec
use vars qw(@ISA)
@ISA = qw(File::AnySpec)
$file = __PACKAGE__->fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = __PACKAGE__->fspec2os($fspec, $file, [$no_file])
$fspec_file = __PACKAGE__->os2fspec($fspec, $file, [$no_file])
$pm = __PACKAGE__->fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = __PACKAGE__->pm2fspec($fspec, $pm)
@globed_files = __PACKAGE__->fspec_glob($fspec, @files)
Methods in this package, perform operations on file specifications for operating systems other then the current site operating system. The input variable $fspec tells the methods in this package the file specification for file names used as input to the methods. Thus, when using methods in this package, the method may load up to two File::Spec submodules methods and neither of them is a submodule for the current site operating system.
<<lessSYNOPSIS
# Subroutine Interface
#
use File::AnySpec qw(fspec2fspec pm2fspec os2fspec fspec2os fspec_glob fspec2pm);
$file = fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = fspec2os($fspec, $file, [$no_file])
$fspec_file = os2fspec($fspec, $file, [$no_file])
$pm = fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = pm2fspec($fspec, $pm)
@globed_files = fspec_glob($fspec, @files)
# Class Interface
#
use File::AnySpec
use vars qw(@ISA)
@ISA = qw(File::AnySpec)
$file = __PACKAGE__->fspec2fspec($from_fspec, $to_fspec $fspec_file, [$nofile])
$os_file = __PACKAGE__->fspec2os($fspec, $file, [$no_file])
$fspec_file = __PACKAGE__->os2fspec($fspec, $file, [$no_file])
$pm = __PACKAGE__->fspec2pm($fspec, $require_file)
($abs_file, $inc_path, $require_file) = __PACKAGE__->pm2fspec($fspec, $pm)
@globed_files = __PACKAGE__->fspec_glob($fspec, @files)
Methods in this package, perform operations on file specifications for operating systems other then the current site operating system. The input variable $fspec tells the methods in this package the file specification for file names used as input to the methods. Thus, when using methods in this package, the method may load up to two File::Spec submodules methods and neither of them is a submodule for the current site operating system.
Download (0.043MB)
Added: 2007-01-16 License: Perl Artistic License Price:
1011 downloads
File::SmartNL 0.05
File::SmartNL is a slurp text files no matter the New Line (NL) sequence. more>>
File::SmartNL is a slurp text files no matter the New Line (NL) sequence.
SYNOPSIS
#####
# Subroutine Interface
#
use File::SmartNL qw(config fin fout smartnl);
$old_value = config( $option );
$old_value = config( $option => $new_value);
(@all_options) = config( );
$data = smart_nl($data);
$data = fin( $file_name, @options );
$char_count = fout($file_name, $data, @options);
######
# Object Interface
#
use File::SmartNL;
$default_options = File::SmartNL->default(@options);
$old_value = $default_options->config( $option );
$old_value = $default_options->config( $option => $new_value);
(@all_options) = $default_options->config( );
$data = File::SmartNL->smart_nl($data);
$data = File::SmartNL->fin( $file_name, @options );
$char_count = File::SmartNL->fout($file_name, $data, @options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
Different operating systems have different sequences for new-lines. Historically when computers where first being born, one of the mainstays was the teletype. The teletype understood ASCII. The teletype was an automated typewriter that would perform a carriage return when it received an ASCII Carriage Return (CR), 15, character and a new line when it received a Line Feed (LF), 12 character.
After some time came Unix. Unix had a tty driver that had a raw mode that sent data unprocessed to a teletype and a cooked mode that performed all kinds of translations and manipulations. Unix stored data internally using a single NL character at the ends of lines. The tty driver in the cooked mode would translate the New Line (NL) character to a CR,LF sequence. When driving a teletype, the physicall action of performing a carriage return took some time. By always putting the CR before the LF, the teletype would actually still be performing a carriage return when it received the LF and started a line feed.
After some time came DOS. Since the tty driver is actually one of the largest peices of code for UNIX and DOS needed to run in very cramp space, the DOS designers decided, that instead of writing a tailored down tty driver, they would stored a CR,LF in the internal memory. Data internally would be either text data or binary data.
Needless to say, after many years and many operating systems about every conceivable method of storing new lines may be found amoung the various operating systems. This greatly complicates moving files from one operating system to another operating system.
The smart NL methods in this package are designed to take any combination of CR and NL and translate it into the special NL seqeunce used on the site operating system. Thus, by using these methods, the messy problem of moving files between operating systems is mostly hidden in these methods. By using the fin and fout methods, text files may be freely exchanged between operating systems without any other processing.
The one thing not hidden is that the methods need to know if the data is text data or binary data. Normally, the assume the data is text and are overriden by setting the binary option.
Perl 5.6 introduced a built-in smart nl functionality as an IO discipline :crlf. See Programming Perl by Larry Wall, Tom Christiansen and Jon Orwant, page 754, Chapter 29: Functions, open function. For Perl 5.6 or above, the :crlf IO discipline my be preferable over the smart_nl method of this program module.
<<lessSYNOPSIS
#####
# Subroutine Interface
#
use File::SmartNL qw(config fin fout smartnl);
$old_value = config( $option );
$old_value = config( $option => $new_value);
(@all_options) = config( );
$data = smart_nl($data);
$data = fin( $file_name, @options );
$char_count = fout($file_name, $data, @options);
######
# Object Interface
#
use File::SmartNL;
$default_options = File::SmartNL->default(@options);
$old_value = $default_options->config( $option );
$old_value = $default_options->config( $option => $new_value);
(@all_options) = $default_options->config( );
$data = File::SmartNL->smart_nl($data);
$data = File::SmartNL->fin( $file_name, @options );
$char_count = File::SmartNL->fout($file_name, $data, @options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
Different operating systems have different sequences for new-lines. Historically when computers where first being born, one of the mainstays was the teletype. The teletype understood ASCII. The teletype was an automated typewriter that would perform a carriage return when it received an ASCII Carriage Return (CR), 15, character and a new line when it received a Line Feed (LF), 12 character.
After some time came Unix. Unix had a tty driver that had a raw mode that sent data unprocessed to a teletype and a cooked mode that performed all kinds of translations and manipulations. Unix stored data internally using a single NL character at the ends of lines. The tty driver in the cooked mode would translate the New Line (NL) character to a CR,LF sequence. When driving a teletype, the physicall action of performing a carriage return took some time. By always putting the CR before the LF, the teletype would actually still be performing a carriage return when it received the LF and started a line feed.
After some time came DOS. Since the tty driver is actually one of the largest peices of code for UNIX and DOS needed to run in very cramp space, the DOS designers decided, that instead of writing a tailored down tty driver, they would stored a CR,LF in the internal memory. Data internally would be either text data or binary data.
Needless to say, after many years and many operating systems about every conceivable method of storing new lines may be found amoung the various operating systems. This greatly complicates moving files from one operating system to another operating system.
The smart NL methods in this package are designed to take any combination of CR and NL and translate it into the special NL seqeunce used on the site operating system. Thus, by using these methods, the messy problem of moving files between operating systems is mostly hidden in these methods. By using the fin and fout methods, text files may be freely exchanged between operating systems without any other processing.
The one thing not hidden is that the methods need to know if the data is text data or binary data. Normally, the assume the data is text and are overriden by setting the binary option.
Perl 5.6 introduced a built-in smart nl functionality as an IO discipline :crlf. See Programming Perl by Larry Wall, Tom Christiansen and Jon Orwant, page 754, Chapter 29: Functions, open function. For Perl 5.6 or above, the :crlf IO discipline my be preferable over the smart_nl method of this program module.
Download (0.082MB)
Added: 2007-02-09 License: Perl Artistic License Price:
987 downloads
File::Revision 0.03
File::Revision is a Perl module to return a name of non-existing backup file with a revision id. more>>
File::Revision is a Perl module to return a name of non-existing backup file with a revision id.
SYNOPSIS
#######
# Subroutine interface
#
use File::Revision qw(new_revision num2revision parse_options revision2num revision_file rotate);
($file_name, $next_revsion) = new_revision($file, @options);
($file_name, $next_revsion) = new_revision($file, @options);
($file_name, $next_revsion) = new_revision($file, %options);
$revision_letter = num2revision($revision_number);
$options = parse_options($file, @options);
$options = parse_options($file, @options);
$options = parse_options($file, %options);
$revision_number = revision2num($revision_letter;
$file_name = revision_file($revision_number, $options);
$file_name = rotate($file, @options);
$file_name = rotate($file, @options);
$file_name = rotate($file, %options);
#######
# Object interface
#
$self = File::Revision; # or
$self = new $class; # where $class::@ISA contains File::Revision
($file_name, $next_revsion) = $self->new_revision($file, @options);
($file_name, $next_revsion) = $self->new_revision($file, @options);
($file_name, $next_revsion) = $self->new_revision($file, %options);
$revision_letter = $self->num2revision($revision_number);
$options = $self->parse_options($file, @options);
$options = $self->parse_options($file, @options);
$options = $self->parse_options($file, %options);
$revision_number = $self->revision2num($revision_letter;
$file_name = $self->revision_file($revision_number, $options);
$file_name = $self->rotate($file, @options);
$file_name = $self->rotate($file, @options);
$file_name = $self->rotate($file, %options);
The File::Revision program modules provides the name of a non-existing file with a revision identifier based on the a file name $file. This has many uses backup file uses. There are no restrictions on the number of backup files or the time to live of the backup files.
A typical use would be to create a backup file for If the revised file passes does not pass all validity checks, use the backup file to replace or repair the revised file. This minimizes loses import data when revising files.
Better yet, create a temporary file, using one of the temp file name program modules. Revise the temp file. Once it passes all valitity checks, rename the original file to the backup file and rename the temp file to the original file. This allows full use of the original file until a validated revison is ready to replace it.
The File::Revision program module also supports limiting the backup files and delete the oldest once File::Revision reaches the rotation limit.
<<lessSYNOPSIS
#######
# Subroutine interface
#
use File::Revision qw(new_revision num2revision parse_options revision2num revision_file rotate);
($file_name, $next_revsion) = new_revision($file, @options);
($file_name, $next_revsion) = new_revision($file, @options);
($file_name, $next_revsion) = new_revision($file, %options);
$revision_letter = num2revision($revision_number);
$options = parse_options($file, @options);
$options = parse_options($file, @options);
$options = parse_options($file, %options);
$revision_number = revision2num($revision_letter;
$file_name = revision_file($revision_number, $options);
$file_name = rotate($file, @options);
$file_name = rotate($file, @options);
$file_name = rotate($file, %options);
#######
# Object interface
#
$self = File::Revision; # or
$self = new $class; # where $class::@ISA contains File::Revision
($file_name, $next_revsion) = $self->new_revision($file, @options);
($file_name, $next_revsion) = $self->new_revision($file, @options);
($file_name, $next_revsion) = $self->new_revision($file, %options);
$revision_letter = $self->num2revision($revision_number);
$options = $self->parse_options($file, @options);
$options = $self->parse_options($file, @options);
$options = $self->parse_options($file, %options);
$revision_number = $self->revision2num($revision_letter;
$file_name = $self->revision_file($revision_number, $options);
$file_name = $self->rotate($file, @options);
$file_name = $self->rotate($file, @options);
$file_name = $self->rotate($file, %options);
The File::Revision program modules provides the name of a non-existing file with a revision identifier based on the a file name $file. This has many uses backup file uses. There are no restrictions on the number of backup files or the time to live of the backup files.
A typical use would be to create a backup file for If the revised file passes does not pass all validity checks, use the backup file to replace or repair the revised file. This minimizes loses import data when revising files.
Better yet, create a temporary file, using one of the temp file name program modules. Revise the temp file. Once it passes all valitity checks, rename the original file to the backup file and rename the temp file to the original file. This allows full use of the original file until a validated revison is ready to replace it.
The File::Revision program module also supports limiting the backup files and delete the oldest once File::Revision reaches the rotation limit.
Download (0.087MB)
Added: 2007-02-12 License: Perl Artistic License Price:
985 downloads
B::Lint 1.09
B::Lint module contains Perl lint. more>>
B::Lint module contains Perl lint.
SYNOPSIS
perl -MO=Lint[,OPTIONS] foo.pl
The B::Lint module is equivalent to an extended version of the -w option of perl. It is named after the program lint which carries out a similar process for C programs.
OPTIONS AND LINT CHECKS
Option words are separated by commas (not whitespace) and follow the usual conventions of compiler backend options. Following any options (indicated by a leading -) come lint check arguments. Each such argument (apart from the special all and none options) is a word representing one possible lint check (turning on that check) or is no-foo (turning off that check). Before processing the check arguments, a standard list of checks is turned on. Later options override earlier ones. Available options are:
magic-diamond
Produces a warning whenever the magic readline is used. Internally it uses perls two-argument open which itself treats filenames with special characters specially. This could allow interestingly named files to have unexpected effects when reading.
% touch rm *|
% perl -pe 1
The above creates a file named rm *|. When perl opens it with it actually executes the shell program rm *. This makes dangerous to use carelessly.
context
Produces a warning whenever an array is used in an implicit scalar context. For example, both of the lines
$foo = length(@bar);
$foo = @bar;
will elicit a warning. Using an explicit scalar() silences the warning. For example,
$foo = scalar(@bar);
implicit-read and implicit-write
These options produce a warning whenever an operation implicitly reads or (respectively) writes to one of Perls special variables. For example, implicit-read will warn about these:
/foo/;
and implicit-write will warn about these:
s/foo/bar/;
Both implicit-read and implicit-write warn about this:
for (@a) { ... }
bare-subs
This option warns whenever a bareword is implicitly quoted, but is also the name of a subroutine in the current package. Typical mistakes that it will trap are:
use constant foo => bar;
@a = ( foo => 1 );
$b{foo} = 2;
Neither of these will do what a naive user would expect.
dollar-underscore
This option warns whenever $_ is used either explicitly anywhere or as the implicit argument of a print statement.
private-names
This option warns on each use of any variable, subroutine or method name that lives in a non-current package but begins with an underscore ("_"). Warnings arent issued for the special case of the single character name "_" by itself (e.g. $_ and @_).
undefined-subs
This option warns whenever an undefined subroutine is invoked. This option will only catch explicitly invoked subroutines such as foo() and not indirect invocations such as &$subref() or $obj->meth(). Note that some programs or modules delay definition of subs until runtime by means of the AUTOLOAD mechanism.
regexp-variables
This option warns whenever one of the regexp variables $`, $& or $ is used. Any occurrence of any of these variables in your program can slow your whole program down. See perlre for details.
all
Turn all warnings on.
none
Turn all warnings off.
<<lessSYNOPSIS
perl -MO=Lint[,OPTIONS] foo.pl
The B::Lint module is equivalent to an extended version of the -w option of perl. It is named after the program lint which carries out a similar process for C programs.
OPTIONS AND LINT CHECKS
Option words are separated by commas (not whitespace) and follow the usual conventions of compiler backend options. Following any options (indicated by a leading -) come lint check arguments. Each such argument (apart from the special all and none options) is a word representing one possible lint check (turning on that check) or is no-foo (turning off that check). Before processing the check arguments, a standard list of checks is turned on. Later options override earlier ones. Available options are:
magic-diamond
Produces a warning whenever the magic readline is used. Internally it uses perls two-argument open which itself treats filenames with special characters specially. This could allow interestingly named files to have unexpected effects when reading.
% touch rm *|
% perl -pe 1
The above creates a file named rm *|. When perl opens it with it actually executes the shell program rm *. This makes dangerous to use carelessly.
context
Produces a warning whenever an array is used in an implicit scalar context. For example, both of the lines
$foo = length(@bar);
$foo = @bar;
will elicit a warning. Using an explicit scalar() silences the warning. For example,
$foo = scalar(@bar);
implicit-read and implicit-write
These options produce a warning whenever an operation implicitly reads or (respectively) writes to one of Perls special variables. For example, implicit-read will warn about these:
/foo/;
and implicit-write will warn about these:
s/foo/bar/;
Both implicit-read and implicit-write warn about this:
for (@a) { ... }
bare-subs
This option warns whenever a bareword is implicitly quoted, but is also the name of a subroutine in the current package. Typical mistakes that it will trap are:
use constant foo => bar;
@a = ( foo => 1 );
$b{foo} = 2;
Neither of these will do what a naive user would expect.
dollar-underscore
This option warns whenever $_ is used either explicitly anywhere or as the implicit argument of a print statement.
private-names
This option warns on each use of any variable, subroutine or method name that lives in a non-current package but begins with an underscore ("_"). Warnings arent issued for the special case of the single character name "_" by itself (e.g. $_ and @_).
undefined-subs
This option warns whenever an undefined subroutine is invoked. This option will only catch explicitly invoked subroutines such as foo() and not indirect invocations such as &$subref() or $obj->meth(). Note that some programs or modules delay definition of subs until runtime by means of the AUTOLOAD mechanism.
regexp-variables
This option warns whenever one of the regexp variables $`, $& or $ is used. Any occurrence of any of these variables in your program can slow your whole program down. See perlre for details.
all
Turn all warnings on.
none
Turn all warnings off.
Download (0.017MB)
Added: 2007-06-25 License: Perl Artistic License Price:
852 downloads
Docs::US_DOD::STrP 0.06
Docs::US_DOD::STrP is a Perl module. more>>
Docs::US_DOD::STrP is a Perl module.
The Software Transition Plan (STrP) identifies the hardware, software, and other resources needed for life cycle support of deliverable software and describes the developers plans for transitioning deliverable items to the support agency.
The STrP is developed if the software support concept calls for transition of responsibility from the developer to a separate support agency. The STrP may also be used by the acquirer for updating the Computer Resources Life Cycle Management Plan.
<<lessThe Software Transition Plan (STrP) identifies the hardware, software, and other resources needed for life cycle support of deliverable software and describes the developers plans for transitioning deliverable items to the support agency.
The STrP is developed if the software support concept calls for transition of responsibility from the developer to a separate support agency. The STrP may also be used by the acquirer for updating the Computer Resources Life Cycle Management Plan.
Download (0.16MB)
Added: 2006-09-26 License: Perl Artistic License Price:
1123 downloads
FX-Repton 0.6
FX-Repton is a portable Repton 3 clone game. more>>
FX-Repton project is a portable Repton 3 clone game.
t uses the portable FOX Toolkit library. The original Repton 3 game was produced on the BBC Micro and was the third hit Repton game for Superior Software.
This game is available with sources for UNIX and Windows.
The only keys you need to use are the four arrow keys. The objective of the game is to collect all the diamonds (in the Repton 3 episodes, in the others the objects may change) and get the bomb before the time out.
The key bindings
Key Description
F2 Restart the level
P Pause the game
ESC Minimize the game
Alt-X Quit the game
Up Move Repton up
Down Move Repton down
Left Move Repton left
Right Move Repton right
Hints:
- If you wish to know what a single object is, you might find a brief description in the Legend Window, from the Help ? menu.
- The Map Window may give you some help during playing (in the Help ? menu, too).
- Please remember to annotate the password, once you have finished a level.
- If you do not like the graphics of a certain episode and/or you are more familiar with another scheme, during playing you can load the graphics from another episode by choosing it from the Episodes menu while keeping down the SHIFT key.
<<lesst uses the portable FOX Toolkit library. The original Repton 3 game was produced on the BBC Micro and was the third hit Repton game for Superior Software.
This game is available with sources for UNIX and Windows.
The only keys you need to use are the four arrow keys. The objective of the game is to collect all the diamonds (in the Repton 3 episodes, in the others the objects may change) and get the bomb before the time out.
The key bindings
Key Description
F2 Restart the level
P Pause the game
ESC Minimize the game
Alt-X Quit the game
Up Move Repton up
Down Move Repton down
Left Move Repton left
Right Move Repton right
Hints:
- If you wish to know what a single object is, you might find a brief description in the Legend Window, from the Help ? menu.
- The Map Window may give you some help during playing (in the Help ? menu, too).
- Please remember to annotate the password, once you have finished a level.
- If you do not like the graphics of a certain episode and/or you are more familiar with another scheme, during playing you can load the graphics from another episode by choosing it from the Episodes menu while keeping down the SHIFT key.
Download (0.63MB)
Added: 2006-12-24 License: GPL (GNU General Public License) Price:
1040 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above diamond 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