http://en.wikipedia.org/wiki/MogileFS:
MogileFS was created by Danga Interactive for use with LiveJournal. It
is similar to the Andrew File System in its design goal. It is different
than a traditional filesystem in that the user has to access files via
an API. However, it's possible to implement the file system in user
space using FUSE, or a similar package.
MogileFS enables horizontal scaling of storage across any number of
machines. Files are replicated between machines according to
customizable rules such that at any time a number of drives or machines
could be lost without data becoming unavailable. It is designed for high
volume applications, such as high traffic websites, to spread storage
across cheaper machines without relying on technologies such as NFS.
This module provides a simple but complete cron like scheduler. I.e
this modules can be used for periodically executing Perl subroutines.
The dates and parameters for the subroutines to be called are
specified with a format known as crontab entry (see manpage crontab(5)
or documentation of Schedule::Cron).
The philosophy behind Schedule::Cron is to call subroutines
periodically from within one single Perl program instead of letting
cron trigger several (possibly different) Perl scripts. Everything
under one roof. Furthermore Schedule::Cron provides mechanism to
create crontab entries dynamically, which isn't that easy with cron.
Schedule::Cron knows about all extensions (well, at least all
extensions I'm aware of, i.e those of the so called "Vixie" cron) for
crontab entries like ranges including 'steps', specification of month
and days of the week by name or coexistence of lists and ranges in the
same field. And even a bit more (like lists and ranges with symbolic
names).
Ever wished the compactness of shell scripts be put into a real programming
language? Say hello to Plumbum Shell Combinators. Plumbum (Latin for lead, which
was used to create pipes back in the day) is a small yet feature-rich library
for shell script-like programs in Python. The motto of the library is ?Never
write shell scripts again?, and thus it attempts to mimic the shell syntax
(shell combinators) where it makes sense, while keeping it all Pythonic and
cross-platform.
Apart from shell-like syntax and handy shortcuts, the library provides local and
remote command execution (over SSH), local and remote file-system paths, easy
working-directory and environment manipulation, and a programmatic Command-Line
Interface (CLI) application toolkit. Now let?s see some code!
This program will help you recover disks with bad sectors.
You can recover files as well complete devices.
In case if finds sectors which simply cannot be recoverd, it writes an
empty sector to the outputfile and continues. If you're recovering a CD
or a DVD and the program cannot read the sector in "normal mode", then
the program will try to read the sector in "RAW mode" (without error-checking
etc.).
This toolkit also has a utility called 'mergebad': mergebad merges multiple
images into one. This can be usefull when you have, for example, multiple CD's
with the same data which are all damaged. In such case, you can then first use
recoverdm to retrieve the data from the damaged CD's into image-files and then
combine them into one image with mergebad.
Terminal mixer can start processes inside a pseudo-terminal, which can
be accessed through a Unix socket, TCP or even raw ethernet (not yet
ported to FreeBSD). The programs can be linked to the current
terminal, or they can be unlinked like in nohup. But even in this
latter case you can connect to them using the mentioned protocols.
tm can also start programs as if they communicate through pipes
instead of terminals, and this can be quite useful for
remote-controlling applications.
More than one client can connect to the served pseudo-terminal, either
using tm as a client or telnet for TCP. You can choose if they are
only allowed to read, or they can also contribute on input.
Spinner is a small program that displays a little "spinning" ASCII
character in the top left corner of your terminal. To make this effect
it cycles through punctuation marks like this " - \ | / - \ | / ... "
(try it to see). By default the character is drawn in inverse video
(or your terminal's equivalent). But you can turn this off with the -i
switch. It supports any terminal capable of handling VT100 style escape codes.
Spinner is useful for keeping telnet and ssh links from dropping due to
inactivity. Many firewalls, and some ISPs drop connections when they are
perceived as idle. By having spinner running the server is constantly
sending a tiny amount of data over the link, preserving the connection.
Thus (for search engines) Spinner is an anti-dle, timeout preventing,
background daemon process for Unix variants including Linux.
- Michael L. Hostbaek
mich@FreeBSD.org
The stalepid utility was developed to facilitate the startup of servers
that write their process ID to a file and refuse to start if that file
exists (e.g. when the process was last terminated by an unclean shutdown,
or simply killed without given the chance to clean up the process ID
file). The stalepid utility is used to check for and possibly remove
those stale process ID files. Upon its invocation, stalepid checks for
the following conditions:
- the file specified by the pidfile argument exists;
- it contains a single line, and the line contains a single number;
- there is no process with the process ID specified in the file, or if
there is one, it is not named processname.
If all those conditions are met, the stalepid utility will remove the
file specified by the pidfile argument, thus allowing the next invocation
of the server to proceed normally.
usermatic
is a collection of Perl scripts to automate maintenance of the
user database on Linux and FreeBSD. Originally it was developed for
FreeBSD, but it should work on Linux as well. These scripts compare the
passwd database to the current list of employees/students/etc. which has
to be supplied in a suitable format. This package was designed to work
together with userneu.pl (sysutils/userneu/) and contains no facilities
to do the actual account creation work, instead it outputs a list suitable
for processing with userneu. Stale accounts can be deleted using the reaper.pl
script.
These scripts are experimental but they should work ok.
Please report bugs to me if you find them.
-Andreas Fehlner
fehlner@gmx.de
Docbook2odf is a toolkit that automatically converts DocBook to OASIS
OpenDocument (ODF, the ISO standardized format used for texts, spreadsheets
and presentations). Conversion is based on a XSLT which makes it easy to
convert DocBook->ODF, ODT, ODS and ODP as all these documents are XML based.
Also goal of docbook2odf is to generate well formatted documents in
OpenDocument, ready to be used in instant, with actually considering current
rules of the Corporate Identity of organizations. Final results should not be
restricted to text like documents but also many other forms could be generated,
like presentations, charts or forms with images and multimedia.
The result is provided in a one zipped ODF file (.odt/.odp/.ods) with all
required content. There are group of utilities like docbook2odt, docbook2ods
and docbook2odp as docbook2odf is actually universally converting to these
respective formats.
Contains renderers and parsers for both XML and HTML 5 document fragments,
which share data structures so that it's easy to work with both. Document
fragments are bits of documents, which are not constrained by some of the
high-level structure rules (in particular, they may contain more than one
root element). Note that this is not a compliant HTML 5 parser. Rather,
it is a parser for HTML 5 compliant documents. It does not implement the
HTML 5 parsing algorithm, and should generally be expected to perform
correctly only on documents that you trust to conform to HTML 5. This is
not a suitable library for implementing web crawlers or other software
that will be exposed to documents from outside sources. The result is also
not the HTML 5 node structure, but rather something closer to the physical
structure. For example, omitted start tags are not inserted (and so, their
corresponding end tags must also be omitted).