For programs that require large load times, it's a common practice to
display a Splashscreen that occupies the user's attention. This
Toplevel mega widget provides all the display, destroy and timing
events. All you do it create the Splashscreen mega widget, populate
it as you see fit, then invoke Splash() to display it and Destroy() to
tear it down.
Unix Version of the Windowsprogram CueCards.
General Idea: With TuxCards it is possible to create as many different
entries or notes as you wish. Everytime you add a new one and you
think your new entry belongs to the same topic as notes you already
have, then you may decide to group them and to create a kind of
"folder" where you store them all together. Just the same like you
would put your books and paperwork from your job together in one
place and not to the garden utilities (unless you work as a gardener)..
With TuxCards you have a tool at your hand to enter and manage every
kind of notes and ideas in a structured manner. This makes it much
more easier to find them as you are in need.
The ConfigReader library is a set of classes which reads
directives from a configuration file. The library is
completely object oriented, and it is envisioned that
parsers for new styles of configuration files can be
easily added.
ConfigReader::Spec encapsulates a specification for
configuration directives. You can specify which
directives can be in the configuration file, aliases for
the directive, whether the directive is required or has a
default value, and how to parse the directive value.
Here's an example of how one directive might be specified:
required $spec 'HomePage', 'new URI::URL';
This defines a required directive called 'HomePage'. To
parse the value from the configuration file, the
URI::URL::new() method will be called with the string
value as its argument.
use 'perldoc ConfigReader' for more information.
DRAC is a daemon that dynamically updates a relay authorization map for
Sendmail, Postfix and other MTAs that support it. It provides a way for
legitimate users to relay mail through an SMTP server, while preventing
non-authorized users from using it as a spam relay. Authenticated users
have their IP address added to the map immediately after they have
authenticated via POP, IMAP, or any other daemon which supports the
DRAC API. By default, map entries expire after 30 minutes, but can be
renewed by additional authentication. Periodically checking mail on a
POP server sufficiently does this. DRAC does not require that the
POP/IMAP and SMTP server be on the same physical host.
Sometimes it's necessary to protect some certain data against plain reading
or you intend to send information through the Internet. Another reason might
be to assure users cannot modify their previously entered data in a follow-up
step of a long Web transaction where you don't want to deal with server-side
session data. The goal of Crypt::Lite was to have a pretty simple way to
encrypt and decrypt data without the need to install and compile huge
packages with lots of dependencies.
Crypt::Lite generates every time a different encrypted hash when you
re-encrypt the same data with the same secret string. Nevertheless you
are able to make double or tripple-encryption with any data to increase
the security. Decryption works also on hashes that have been encrypted
on a foreign host (try this with an unpatched IDEA installation ;-).
treewm is a window manager that tries to implement a new concept. In
addition to the client windows the user can create desktops which can
themselves contain windows and desktops. By arranging the windows in
such a tree the user is able to manage his tasks efficiently treewm is
feature-rich, flexible and provides a powerful concept. However,
treewm's look is is rather puristic, and its feel is not always
intuitive, but with a bit of practise it should be very effective to
use.
Short feature list (some of them are quite unique among window managers):
- Allows to create desktops and to arbitrarily move windows between
desktops
- Many options (such as sticky, autoresize, always on top, or the
focus or raise policy) can be set for any desktop or window
- Can be fully customized using the configuration file
- Has a very powerful (somewhat vi-like) command mode, and can be
controlled from shell scripts via a FIFO
- Icons can be placed on desktops that can execute arbitrary commands
- Only uses very common libraries, in particular it doesn't require
GTK, Qt, or anything like that
Camlp4 is a software system for writing extensible parsers for
programming languages. It provides a set of OCaml libraries that are
used to define grammars as well as loadable syntax extensions of such
grammars. Camlp4 stands for Caml Preprocessor and Pretty-Printer and
one of its most important applications is the definition of
domain-specific extensions of the syntax of OCaml.
Camlp4 was part of the official OCaml distribution until its version
4.01.0. Since then it has been replaced by a simpler system which is
easier to maintain and to learn: ppx rewriters and extension points.
Term::Clui offers a high-level user interface to give the user of command-line
applications a consistent "look and feel". Its metaphor for the computer is as
a human-like conversation-partner, and as each question/response is completed
it is summarised onto one line, and remains on screen, so that the history of
the session gradually accumulates on the screen and is available for review, or
for cut/paste. This user interface can therefore be intermixed with standard
applications which write to STDOUT or STDERR, such as make, pgp, rcs etc.
Dia2Code is a small utility used to generate code from a Dia diagram.
Dia is a program to make diagrams (ports/graphics/dia)
- Reads UML diagrams.
- Can handle UML - Generalization, UML - Realization and UML - Implements.
- Selective code generation.
- User-defined output directory.
- Stereotype handling: interfaces, abstract classes.
- "Import" and "include" based on the parent classes, the type of
attributes and return type of methods if they're declared in the same
diagram.
- Support for JavaBeans(tm): will create automagically methods to access
and modify each attribute.
Daemons provides an easy way to wrap existing ruby scripts (for example
a self-written server) to be run as a daemon and to be controlled by
simple start/stop/restart commands.
If you want, you can also use daemons to run blocks of ruby code in a
daemon process and to control these processes from the main application.
Besides this basic functionality, daemons offers many advanced features
like exception backtracing and logging (in case your ruby script
crashes) and monitoring and automatic restarting of your processes if
they crash.