Use List::Rotation::Cycle to loop through a list of values. Once you get to
the end of the list, you go back to the beginning.
List::Rotation::Cycle is implemented as a Singleton Pattern. You always just
get 1 (the very same) Cycle object even if you use the new method several
times. This is done by using Memoize on the new method. It returns the same
object for every use of new that comes with the same List of parameters.
Test::Identity provides a single testing function, identical. It asserts that a
given reference is as expected; that is, it either refers to the same object or
is undef. It is similar to Test::More::is except that it uses refaddr, ensuring
that it behaves correctly even if the references under test are objects that
overload stringification or numification.
It also provides better diagnostics if the test fails.
Pathutil tries to be a faster pure Ruby impelementation of Pathname. It arose
out of a need to fix basic problems with Pathname, such as suscepetibility to
join overrides, need for automatic encoding, and normalization (for stuff like
Jekyll) and the ability to do other safe-style operations in an encapsulated
format, like copying files and folders with symlinks but only if they originate
from the given root.
Battleships solitaire game with a color point-and-shoot interface
in the style of blue and galaxis games (for console).
This program allows you to play the familiar Battleships game against
the computer on a 10x10 board. The interface is visual and largely
self-explanatory; you place your ships and pick your shots by moving
the cursor around the `sea' with the rogue/hack motion keys hjklyubn.
The aim of this game is to shoot colored balls so the form similarily
colored groups, causing them to fall out of the screen. You can
either win by clearing your entire field, or lose if any balls
attach below the white line near the bottom.
The main difference between this game and the classic Bust a Move,
is online multiplayer support, with menu options for playing against
random opponents, or starting or joining a named (private) game.
This is a small utility for checking and repairing the qmail queue
structure. It will fix uid/gid settings and permissions. It will
rename the message files to match their inodes. It will even create
directories and files that don't exist that should be there (you can
even create a queue from scratch). It will also print warnings for
any files it finds that should not exist.
The program dvips takes a DVI file [.dvi] produced by TeX (or by some
other processor such as GFtoDVI) and converts it to PostScript,
normally sending the result directly to the laserprinter. Fonts used
may either be resident in the printer or defined as bitmaps in PK
files, or a `virtual' combination of both. Dvips will automatically
invoke METAFONT to generate fonts that don't already exist.
Rinse is a simple tool which is designed to carry out the installation
of a new RPM-based distribution.
Using rinse you can easily setup simple chroot() systems running
different RPM-based distributions, such as Centos, Scientific Linux or
openSUSE.
The purpose and usage are analogous to the 'debootstrap' utility
familiar to users of Debian GNU/Linux. It was primarily designed to
work with the xen-tools software, which creates new guest images for
running inder the Xen hypervisor.
This project is based on the need for a private message system for ging /
social_stream. Instead of creating our core message system heavily dependent on
our development, we are trying to implement a generic and potent messaging gem.
After looking for a good gem to use we noticed the lack of messaging gems and
functionality in them. Mailboxer tries to fill this void delivering a powerful
and flexible message system. It supports the use of conversations with two or
more participants, sending notifications to recipients (intended to be used as
system notifications “Your picture has new comments”, “John Doe has updated his
document”, etc.), and emailing the messageable model (if configured to do so).
It has a complete implementation of a Mailbox object for each messageable with
inbox, sentbox and trash.
The gem is constantly growing and improving its functionality. As it is used
with our parallel development ging / social_stream we are finding and fixing
bugs continously. If you want some functionality not supported yet or marked as
TODO, you can create an issue to ask for it. It will be great feedback for us,
and we will know what you may find useful in the gem.
xwatchwin allows you to peek at a window on another X server.
To use it, you must specify the display name of the machine you want
to watch, then the name of the window on that machine.
Xwatchwin will attempt to connect with the X server
hostname:0.0, and if successful, will try to retrieve a copy of
the window in which you specified interest.
You may specify the window you want to watch either by name or by its
window id, usually a hexidecimal number. Usually specifying the
window by name is simpler, although not all windows have names
associated with them; in that case you must use the window id option.
If the window you want to watch is not in a viewable state,
xwatchwin will tell you so and exit. If while you are watching
a window it becomes 'unviewable', xwatchwin will wait until the
window becomes 'viewable' again.
xwatchwin was written as an aid to a class for people learning
to use X. The idea is that the instructor would type into an xterm
window on his/her display and the students would use xwatchwin
to see what the instructor typed. The students could then type the
same thing in their own terminal windows. Hopefully others will find
equally (if not more) constructive uses.