Main > Free Download Search >

Free how to write a reference letter software for linux

how to write a reference letter

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6149
Web Reference Database 0.9.0

Web Reference Database 0.9.0


Web Reference Database is a bibliographic manager that can import and export references in various formats. more>>
Web Reference Database is a bibliographic manager that can import and export references in various formats (including BibTeX, Endnote, MODS XML, and OpenOffice).
It can make formatted lists of citations in HTML, RTF, PDF, or LaTeX, and offers powerful searching, rich metadata, and RSS support
Enhancements:
- This release offers major function enhancements and bugfixes.
- Batch import from various bibliographic formats (including BibTeX, Endnote, RIS, ISI, and MODS XML) is now supported, as is import from a PubMed ID.
- An OpenDocument spreadsheet for use with OpenOffice.org can be exported, and formatted citation lists can be generated as HTML, RTF, PDF, or LaTeX. An SRU/W service and support for unAPI, OpenURL, and COinS metadata have been added.
- These allow the data to be used by the next generation of bibliographic clients.
- A new command line client is also included.
<<less
Download (0.89MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1093 downloads
Objective Modula-2 1.00 (Reference Implementation)

Objective Modula-2 1.00 (Reference Implementation)


Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2. more>>
Objective Modula-2 programming language is a hybrid between Smalltalk and Modula-2 based on the object model and runtime of Objective-C.
The design is an example how native Cocoa/GNUstep support can be added to static imperative programming languages without implementing a bridge.
Objective Modula-2s scope encompasses the design of the Objective Modula-2 programming language and the implementation of a compiler to implement it. The initial compiler will generate Objective-C source code.
Enhancements:
- This code is used to verify ideas and concepts which come up in the course of defining the language.
- It is in an early stage, incomplete and subject to frequent changes.
<<less
Download (0.019MB)
Added: 2007-07-21 License: (FDL) GNU Free Documentation License Price:
825 downloads
Network Transparent Widgets 0.3.2

Network Transparent Widgets 0.3.2


Network Transparent Widgets is a protocol and application framework. more>>
Network Transparent Widgets short from NTW, is a protocol and application framework that allows a single server to serve thousands of remote GUI applications.
The client applications are nearly indistinguishable from local, native applications. The protocol is language and architecture neutral. Server language bindings for C and Java are in heavy development.
Main features:
Speed: Remote apps can run at a speed which is nearly indistinguishable from a locally running application. Since the client draws the widgets natively, its not necessary to transfer graphical data, only widget state data. This can be done asynchronously, so the responsiveness of the UI never suffers.
Persistence: Its just as easy to write the ntw protocol data to disk as it is to the network, so the state of the entire gui application can be easily saved. This also happens transparently, so the developer doesnt have to spend any time loading and saving data. Also, if a network connection dies or the client computer loses power, the application can be restarted from the point of failure at the next connection.
Portability: using the protocol, an ntw server application running on a Unix machine could talk to an ntw client for Windows, and vice versa. So a developer could write a program on Linux that could be run from any OS without any porting necessary. Any language or platform that can read and write data to a network can use the protocol to create gui apps.
Scalability: Since the ntw server does not store or draw widget graphics, the memory and computational overhead of running an ntw application is much less than a comparable X Window application. A low end machine could easily serve hundreds of remote clients.
Productivity: Users can run ntw apps without installing anything but the client. Developers can release new versions of their apps without the users having to do anything, much like a web page.
Reference Implementation:
The current reference implementation of the client implements most of the widgets in the Gtk toolkit, and is written in C using the GTK+ 2.0 toolkit for drawing the widgets and handling events. It compiles and runs on FreeBSD, Linux, and Windows, and likely other Unix variants also. Youll need the GTK+ toolkit installed to run the client, and the GTK+ development headers to compile it.
The source code also include a server reference implementation and a sample server application. The "server" is really a set of C language bindings to functions that create and send ntw widget data. The bindings can be used in much the same way as any other GUI toolkit. See the file "ntwtest.c" for the example application. Its been tested on FreeBSD, Linux, and Windows XP. The server library should compile and run on most systems with a C compiler and support for sockets, without the need for any additional libraries.
The protocol is defined by the two header files, ntw.h and ntw_signals.h. These are C header files that describe exactly the byte layout for each of the widgets and all of the opcodes and events that can be sent.
There are still some widgets missing, and some of the signals raised by GTK are not yet handled in the protocol. This will be fixed in the near future.
Note: Although the reference implementation is coded in GTK, the NTW protocol is designed to be independent of any particular widget toolkit. GTK was picked due to favorable design features and a favorable license.
Enhancements:
- 02JUL06 - Fixed bug in update.c where spin_button was switched with slider
- 02JUL06 - Removed status field from image_buffer widget protocol
<<less
Download (0.65MB)
Added: 2006-07-04 License: MIT/X Consortium License Price:
1209 downloads
RTF::Writer 1.11

RTF::Writer 1.11


RTF::Writer is a Perl module for generating documents in Rich Text Format. more>>
RTF::Writer is a Perl module for generating documents in Rich Text Format.

SYNOPSIS

use RTF::Writer;
my $rtf = RTF::Writer->new_to_file("greetings.rtf");
$rtf->prolog( title => "Greetings, hyoomon" );
$rtf->number_pages;
$rtf->paragraph(
fs40bi, # 20pt, bold, italic
"Hi there!"
);
$rtf->close;

This module is a class; an object belonging to this class acts like an output filehandle, and calling methods on it causes RTF text to be written.
Incidentally, this module also exports a few useful functions, upon request.

METHODS

$h = RTF::Writer->new_to_file($filename);

This creates a new RTF output stream object, such that sending text to this object will write to the filespec given. This is basically a wrapper around new_to_handle. If opening a write-handle to $filename fails (or if $filename is undef or zero-length), then a fatal error results.

$h = RTF::Writer->new_to_handle(*FILEHANDLE);

This creates a new RTF output stream object, such that sending text to this object will write to the filehandle given. The filehandle can be a glob (*FH) or a filehandle object (*FH{IO} or the value from IO::File->new(...)).

$h = RTF::Writer->new_to_string($string);

This creates a new RTF output stream object, such that sending text to this object will append to the string that youve passed a reference to.

$h->print(...);

This is the basic method for writing text to an RTF stream. This takes a list of items. Each item is either:
a plain string, like "foon"

In this case, the value is imputed to be a plaintext string, and an rtf-escaped version of it is written. For example "StuffnttUmmmn" causes Stuffline tab tab Ummline to be written. See rtfesc(x) for further details of escaping.

a scalar-reference, like ul

In this case, the value is imputed to be a reference to already escaped text. This is the basic way to emit RTF codes. Text passed this way will be written without any additional escaping.

Unless $RTF::Writer::AUTO_NL (normally on) has been turned off, the item written will be followed with a (presumably harmless) newline character to delimit any code in there from any following text, if the last character of this string is a digit or a lowercase letter. This is so that (i, "foo!") emits i[newline]foo! (which does what you expected), instead of ifoo!, which looks like an RTF command "ifoo" followed by a plaintext "!".

an array-reference, like [ ul, foo ]

This emits an open-brace "{", as RTF uses for opening "groups" (generally for delimiting the effects of character-formatting commands like ul, or a few formatting commands like footnote); then it emits the items in the referred-to array; and then emits a closing "}". I intend this to be useful is making sure that you dont emit more open-braces than close-braces, since that usually makes RTF readers immediately reject such a file.

You can nest these array-references, like:

$h->print(
col2,
[ pard,
"It is now ",
[ f1,
scalar(localtime), " local, or ",
scalar(gmtime), " GMT.",
],
" -- if youre ",
[ i,
"keeping track.",
],
],
parpage,
);

The return value of the print() method is currently always the value 1, although this may change.

$h->prolog(...);

This writes an RTF prolog to $h. You are free to make your own prolog using just $h->print(...your own code...), but I find in easier to automate this task, particularly with some sane defaults.

Since emitting a prolog opens a "{"-group, calling $h->prolog(...) sets a flag in $h so that when you call $h->close(), a closing "}" will automatically be written before the stream object is actually closed.

The options to the prolog() method are passed as a list of keys and values, for controlling the contents of the prolog written. The options are listed below, roughly with the most important options first.

(Be careful with the spelling of these options. Some are rather odd, because they are (mostly) based on the name of the relevent RTF command, and a systematic naming scheme for commands is one thing you wont find in RTF!)
fonts => [ "Courier New", "Georgia", "Whatever"...],

This value is for the font table section of the prolog. If the value is an arrayref, then it should be a reference to an array whose items should be either plain text strings, like "Times Roman", which are the (unescaped) names of fonts; or the items in the array can be scalar-refs, for expressing RTF control words along with the (escaped) font name, as in froman Times New Roman. If the value of the "fonts" parameters is a scalar ref, then it is taken to be a reference to code of your own that expresses the whole font table. If you dont specify a value for the "font" option, then you get a font table with one entry, "Times New Roman".
You should be sure to declare all fonts that you switch to in your document (as with f3, to change the current font to whats declared in entry 3 (counting from 0) in the font table).

deff => INTEGER,

This is for expressing, in the prolog, the font-table number of the default font for this document. The default is 0, which is an often useful value.

colors => [ undef, [0,142,252], [200,32,0], ...],

This value is for expressing the documents (generally optional) color table. If you stipulate an arrayref value, then each item of the array should be either an RGB triplet expressed as an arrayref like [200,32,0], or undef, for a null color-entry. If you stipulate a scalar-ref value for colors, then it is taken to be a reference to code of your own that expresses the whole font table.

If you dont stipulate any value for colors, then you get a table consisting of three colors: null/default (undef), 100% red ([2550,0,0]), and 100% blue ([0,0,255]).

You can freely ignore concerns of color tables if you dont use color-changing codes in your document (like cf2, to switch the text foreground color to whats declared at entry 2 (starting from 0) in the color table).

stylesheet => STRING,
filetbl => STRING,
listtables => STRING,
revtbl => STRING,

These are for expressing, in the prolog, code constituting the documents style sheet, table-of-files, table-of-lists, and table-of-revisions, respectively. The default value of each of these is empty-string. None of these are needed by a typical RTF document.

more_default => STRING,

This is for inserting any additional code just after the deffN in the start of the prolog, before the font table. A common useful value here is deflang1033, to express the default language (1033 = RTFese for US English) for the document, although my reading of the RTF spec leads me to believe that this doesnt need to be in the prolog here (where many writers put it, as apparently accepted by many RTF readers), but should (instead?) go just after the prolog, with other "document formatting" commands described in the "Document Formatting Properties" section of the RTF Specification.

doccomm => STRING,

This value is for the "document comment" metainformation item in the prolog, which appears as the "Comment" field in the "File Properties" panel in MSWord, or as the "Abstract" field in the "File Properties" window in WordPerfect.
If no value is specified, then RTF::Writer puts a string noting the value of $0 (typically the filespec to the current Perl program), and the version of RTF::Writer used.

title => STRING,
subject => STRING,
author => STRING,
manager => STRING,
company => STRING,
operator => STRING,
category => STRING,
keywords => STRING,
hlinkbase => STRING,
comment => STRING,

These are for stipulating the string values of these various optional document metainformation items. operator is for the name of the person who last made changes to the document; hlinkbase is which is the URL or path that is used for for resolving any all relative hyperlinks in the document; comment is reportedly just ignored (cf. the doccomm attribute, which is not ignored); and you can guess the rest.

The meanings of all of these are explained in greater detail in the RTF spec.

revtim => EPOCH_NUMBER,

This value is for the document metainformation section of the prolog. It signifies the last-modified time of the document. EPOCH_NUMBER is the number of seconds since the epoch, such as one gets from (stat($thing)[9]) or time(); or you may pass a reference a timelist, like [localtime($whatever)].
If no defined value for revtime is stipulated in the call to prolog(...) then the current value of time() is used. Explicitly pass a value of undef to suppress emitting any creatim value.

creatim => EPOCH_NUMBER,

This value is for the document metainformation section of the prolog. It signifies the last-modified time of the document. If no defined value for creatim is stipulated in the call to prolog(...) then the current value of time() is used. Explicitly pass a value of undef to suppress emitting any creatim value.

printim => EPOCH_NUMBER,

This value is for the document metainformation section of the prolog. It signifies the time when this document was last printed. If you dont stipulate a defined value here, no printim metainformation is written.

buptim => EPOCH_NUMBER,

This value is for the document metainformation section of the prolog. It signifies the "backup time" of this document. If you dont stipulate a defined value here, no buptim metainformation is written.

version => INTEGER,
vern => INTEGER,
edmins => INTEGER,
nofpages => INTEGER,
nofwords => INTEGER,
nofchars => INTEGER,
nofcharsws => INTEGER,
id => INTEGER,

These are for stipulating the integer values of these various optional (and not terribly useful, for most purposes!) document metainformation items. The meanings of all of these are explained in the RTF spec.

charset => STRING,

This is for expressing, in the prolog, RTF codename for the character set being used in this document. The default is "ansi", and dont stipulate anything else (like "mac", "pc", or "pca") unless you know what youre doing.

rtf_version => INTEGER,

This is for expressing, in the prolog, what major version of RTF is being used in this document. The default is 1, and dont use anything else unless you really know what youre doing.

$h->printf(format, ...items...);
This is just short for $h->print(sprintf(format, ...items...)
$h->printf(format, ...items...);

In this case, format is assumed to contain already-escaped RTF code. The items in ...items... are escaped as necessary, and then interpolated. I.e., this is rather like: $h->print(sprintf format, map rtfesc($_), ...items...)) except that numeric items dont get escaped (and dont need to be). Example:

$h->printf(
{i "%s"} was found in %2.2f percent of matchespar,
$word, 100 * $count / $total
);
$h->number_pages();
$h->number_pages(...);

This is just a handy wrapper for some code that turns on page numbering. If you call this method, you should call it right after you emit a prolog.

The page numbering consists of just putting the page number at the top-right of each page. If you provide items in the list (...), then that is pre-pended to the page number. Example:

$h->number_pages("Lexicon, p.");

Or:

$h->number_pages(bfs30f2, "page ");

$trdecl = RTF::Writer::TableRowDecl->new( ...options... )

This constructs an object representing a declaration for a table row. You can have to use it in calls to $h->row($tabldecl,...), and can reuse it on subsequent calls. This object is for declaring the dimensions of table rows.

The work that a declaration has to do, is best explained in this diagram of a bordered three-cell table (first cell containing "Foo ya!"), placed near a left margin (shown as the line of colons). The things in brackets are not on the page, but just for our reference:

: [..w1...]
: [......w2.......]
: [...w3....]
[.A..] [.B.] [.B.]
:
: +-------+---------------+---------+
: | Foo | Bar baz | Yee! |
: | ya! | quuxi quuxo | |
: | | quaqua. | |
: +-------+---------------+---------+
:
[.A..] [.B.] [.B.]
[..r1........]
[.....r2.....................]
[........r3............................]

Here the horizontal dimensions of the three-celled table are expressed in terms of: A, the distance from the current left margin; B, the minimum distance between the content of the cells (or you can think of this as twice the internal left or right borders in each cell); and then EITHER [w1, w2, w3], expressing the width of each cell, OR [r1, r2, r3], expressing each cells right ends distance from the current left margin. All distances are, of course, in twips.

Options to RTF::Writer::TableRowDecl->new( ...options... ) are:

left_start => TWIPS,

This declares the distance between the left margin, and the left end of the table. Default is 0.

inbetween => TWIPS,

This declares the distance labelled "B", above. Default is 120, which is 6 points, 1/12th-inch, about 2mm.

widths => [TWIPS, TWIPS, TWIPS, ... ],

This expresses the widths of each of the cells in this row, starting from the leftmost.

reaches => [TWIPS, TWIPS, TWIPS, ... ],

This expresses the rightmost extreme of each of the cells in this row.

align => alignmentspecs,

This is explained in detail in the section "Cell Alignment Syntax", below.

borders => borderspecs,

This is explained in detail in the section "Cell Border Syntax", below.

$h->paragraph(...);

This makes the items in the list (...) into a paragraph. Basically just a wrapper for $h->print([ {par, ..., pard}, ])
$h->row($trdecl, ...items...);

This emits a table row, with dimensions as stipulated by the $trdecl object, and with row content from the items given.

You must provide a value for $trdecl, or a fatal error results.

If you provide fewer items than $trdecl declares cells, then you get empty cells to fill out the row. If you provide more items than $trdecl declares cells, then the width of the last declared row is used in figuring the width of the additional cells for this row.

Example:

my $decl = RTF::Writer::TableRowDecl->new(widths => [1500,1900]);
$h->row($decl, "Stuff", "Hmmm");
$h->row($decl, [ul, Foo], Bar, bullet);
$h->row($decl, "Hooboy.");

This creates a table resembing:

+-------------+-------------------+
| Stuff | Hmm |
+-------------+-------------------+-------------------+
| _Foo_ | Bar | * |
+-------------+-------------------+-------------------+
| "Hooboy." | |
+-------------+-------------------+

Note that you MUST NOT use par commands in any items you emit in row cells!

The $h->row(...) method is a wrapper for producing elementary tables in RTF, with the minimum of parameters; the myriad other options that tables can have (for example, changing borders) are not supported. If you really need to generate tables fancier than what $h->row(...) can produce, start off reading the RTF spec, reading the source for row() (and the RTF::Writer::TableRowDecl class), and progress from there. Note that MSWord has been known to crash when given malformed RTF table code.

$h->table($trdecl, [...row1 items...], [...row2 items...], ... );
$h->table([...row1 items...], [...row2 items...], ... );

This is a wrapper around $h->row. It takes a list of arrayrefs, which are fed to calls to h->row($tr_decl, @$each_arrayref). You should provide a $trdecl, but if you dont, then one is crudely guessed at, based on the maximum number of columns in all rows.

$h->image( image_parameters )

This returns a scalar-reference to RTF-code representing the given image with given parameters. For example:

$h->paragraph(
"See here: ",
$h->image( filename => "foo.png", ),
);

The legal options are explained below:

filename => FILENAME,

This should be the path to a readable filename. You have to specify this. If you dont specify this, or if the value isnt a readable file, then a fatal error results. Currently, only JPEGs and PNGs are allowed; specifying any other kind of file causes a fatal error.

(The filename option above is required, but the following options are all generally optional -- altho some RTF processors may be finicky if you set some of the following but not others, for no apparent reason. When in doubt, test.)

wgoal => TWIPS,

The desired width of the image

hgoal => TWIPS,

The desired height of the image

scalex => PERCENT,
scaley => PERCENT,

Respectively, the horizontal (X) or vertical (Y) scaling value. The argument is an integer representing a percentage. (The default is 100 percent)

cropt => TWIPS,
cropb => TWIPS,
cropl => TWIPS,
cropr => TWIPS,

These specify the top, bottom, left, and right cropping values. A positive value crops toward the center of the image. A negative value crops away from the center, adding a padding space around the image.

(The default is to do neither, as youd get from a cropping value of 0.)
picspecs => SCALARVALUE,

This overrides generation of the normal image values based the image and the above parameters, and instead uses whatever value you pass a reference to. You normally shouldnt need to use this.

$h->image_paragraph( image_parameters );

This take the same options as $h->image(...), but has three differences: First, it is a shortcut for this:

$h->paragraph( qc,
$h->image( ...params...),
);

Secondly, whereas $h->image(...) returns the image data (as an RTF scalarref), $h->image_paragraph(...) doesnt return much of anything.
Thirdly, $h->image_paragraph(...) is often much more memory-efficient, since it can write the image data to a file as its RTF-ified, instead of building it all up in memory.

$h->close();

This completes writing to the stream denoted by the object in $h; this generally (assuming youd called $h->prolog) involves just writing a final close-brace to $h, and then closing whatever filehandle or file $h writes to (unless were writing to a string, in which case we just discard $hs reference to it). After you call $h->close, you should not call any other methods with $h!

Note that you dont have to explicitly call $h->close -- when an unclosed RTF::Writer object goes out of scope (or, more precisely speaking, when if its refcount hits zero), then something equivalent to calling $h->close is done automatically for you.

<<less
Download (0.056MB)
Added: 2007-07-17 License: Perl Artistic License Price:
515 downloads
libGarbageCollector 1.1

libGarbageCollector 1.1


libGarbageCollector is an incremental garbage collector with a tri-color, Baker treadmill, write-barrier implementation. more>>
libGarbageCollector is an incremental garbage collector with a tri-color, Baker treadmill, write-barrier implementation.

libGarbageCollector is built from the garbage collector code used in the Io programming language project.
<<less
Download (0.034MB)
Added: 2006-05-22 License: BSD License Price:
1252 downloads
Kumula Letters 0.3

Kumula Letters 0.3


Kumula Letters is a program that generates letters in PDF format using the addresses and contacts managed with Kumula Clients. more>>
Kumula Letters is a program that generates letters in PDF format using the addresses and contacts managed with "Kumula Clients" (part of the Kumula base package).

After selecting an address or contact, its possible to change the address field manually. Choose a template (you can build a letter template on your own) and start writing the letter. "Show PDF" generates a pdf file and calls your favorite pdf viewer (which is configured with "Kumula Configurator").

<<less
Download (0.10MB)
Added: 2006-05-08 License: LGPL (GNU Lesser General Public License) Price:
1264 downloads
cowdancer 0.13

cowdancer 0.13


cowdancer allows copy-on-write file access. more>>
cowdancer allows copy-on-write file access. You can copy a full tree using hard links, and cowdancer will create a new copy when you need to write to a file.
cowdancer is completely implemented in userland, and should run on most Linux filesystems.
Enhancements:
- This release supports spaces in filenames.
<<less
Download (0.026MB)
Added: 2006-03-05 License: GPL (GNU General Public License) Price:
1328 downloads
Tie::Layers 0.06

Tie::Layers 0.06


Tie::Layers is a Perl module to read and write files pipelined through a stack of subroutine layers. more>>


SYNOPSIS

#####
# Subroutines
#
use Tie::Layers qw(is_handle config);

$yes = is_handle( $file_handle );

($key, $old_value) = config(%options, $key);
($key, $old_value) = config(%options, $key => $new_value );

####
# Config default startup options
#
@old_options_list = config(%options, @option_list);
@old_options_list = config(%options, @option_list);
@old_options_list = config(%options, %option_list);

#####
# Class interface
#
require Tie::Layers;

#####
# Using support methods and file handle with
# the file subroutines such as open(), readline()
# print(), close()
#
tie *LAYERS_FILEHANDLE, Tie::Layers, @options
$layers = tied *LAYERS_FILEHANDLE;


#####
# Using support methods only, no file subroutines
#
$layers = Tie::Layers->TIEHANDLE(@options);

($key, $old_value) = $layers->config($key);
($key, $old_value) = $layers->config($key => $new_value );

@old_options_list = $layers->config(@option_list);
@old_options_list = $layers->config(@option_list);
@old_options_list = $layers->config(%option_list);

$data = $layers->fin($filename, @options);

$data = $layers->fout($filename, $data, @options);

$yes = $layers->is_handle( $file_handle );

If a subroutine or method will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}.

The Tie::Layers program module contains the tie file handle Tie::Layers package. The Tie::Layers package provides the ability to insert a stack of subroutines between file subroutines print and realine and the underlying $file. The syntax of the subroutines of each layer of the readline stack and the print stack must comply to the the requirements described herein below.

This is necessary so that the Tie::Layers READLINE and PRINT subroutines know how to transfer the output from one layer to the input of another layer. The stacks are setup by supplying options with a reference to the subroutine for each layer in the print stack and the readline stack. The Tie::Layers are line orientated and do not support any character file subrouintes.

The getc, read, and write file subroutines are supported by the Tie::Layers package. The seek routines are line oriented in that the seek and tell subroutine positions are the line in the underlying file and not the character position in the file.

<<less
Download (0.070MB)
Added: 2007-02-13 License: Perl Artistic License Price:
983 downloads
Text::WagnerFischer 0.04

Text::WagnerFischer 0.04


Text::WagnerFischer is an implementation of the Wagner-Fischer edit distance. more>>
Text::WagnerFischer is an implementation of the Wagner-Fischer edit distance.

SYNOPSIS

use Text::WagnerFischer qw(distance);

print distance("foo","four");# prints "2"

print distance([0,1,2],"foo","four");# prints "3"


my @words=("four","foo","bar");

my @distances=distance("foo",@words);
print "@distances"; # prints "2 0 3"

@distances=distance([0,2,1],"foo",@words);
print "@distances"; # prints "3 0 3"

This module implements the Wagner-Fischer dynamic programming technique, used here to calculate the edit distance of two strings. The edit distance is a measure of the degree of proximity between two strings, based on "edits": the operations of substitutions, deletions or insertions needed to transform the string into the other one (and vice versa). A cost (weight) is needed for every of the operation defined above:

/ a if x=y (cost for letter match)
w(x,y) = | b if x=- or y=- (cost for insertion/deletion operation)
c if x!=y (cost for letter mismatch)

These costs are given through an array reference as first argument of the distance subroutine: [a,b,c]. If the costs are not given, a default array cost is used: [0,1,1] that is the case of the Levenshtein edit distance:

/ 0 if x=y (cost for letter match)
w(x,y) = | 1 if x=- or y=- (cost for insertion/deletion operation)
1 if x!=y (cost for letter mismatch)

This particular distance is the exact number of edit needed to transform the string into the other one (and vice versa). When two strings have distance 0, they are the same. Note that the distance is calculated to reach the _minimum_ cost, i.e. choosing the most economic operation for each edit.

<<less
Download (0.004MB)
Added: 2007-08-22 License: Perl Artistic License Price:
793 downloads
Paradise 2000 Netrek Client RC5

Paradise 2000 Netrek Client RC5


Paradise 2000 represents my bend of the Paradise Netrek client. more>>
Paradise 2000 represents my bend of the Paradise Netrek client. Paradise 2000 Netrek Client is not a fork, because that would imply parallel development, but no one else has done anything with the client since about five years ago.
Paradise 2000 is in fact one of the most, if not the most, actively developed Netrek clients available today. It is for Linux (and FreeBSD) only, and is not open source*. Dont let the Paradise name fool you, it works just fine on standard bronco servers. Nobody has even played a game of Paradise Netrek for years!
The biggest new feature of the client, not found in any other, is the sound system. While the old Paradise client, Ted Turner, COW, and COW ports (Netrek1999,2000) have a simple sound effect system, its crap. Especially the one used by COW. The Paradise/Ted Turner one is better, and is partially written by me, though you wouldnt know that*.
The Paradise 2000 sound system has psychoacoustic stereo effects that place sounds based on where they happen. If someone on the left blows up, you can tell they are on the left just from the sound. The newest version of Paradise-2000 has a sound system with speech output using IBMs ViaVoice TTS. If a teammate sends a carrying message, the client will actually say something like, "F one carrying five to org."
Main features:
- See weapons on galactic map
- Auto-rotate galaxy to put playing teams on left side
- Dashboard timer to show repair or refit time remaining
- See the army count for the planet your are orbiting
- Remap your keys via the help window. Just push the key you want over the name of the function you want to assign to it.
- Use the same key for both bombing armies and picking armies. The client can tell by context with one would make sense.
- You can set configuration options to different values for different server types.
- Double buffering support for graphics. When turned on, eliminates flicker. Very useful for LCD monitors.
- Extensive support for enhanced observer mode:
- See all players tractors and pressors while observing.
- You can lock onto a cloaked player and observe them.
- All your ship stats will reflect the player you are observing. Even torps out, kills, and army capacity.
- Your ship and player letter dont get drawn on top of the player you are observings ship and letter.
- Observers wont have stats shown in your player list, cluttering it up unnecessarily..
- Stereo sound effects!
- Highly configurable speech synthesis!
- Option to omit the team letter of ships on the galactic. Just show 0 instead of F0, since you can tell the team by the color of the letter.
- Game score on hockey servers calculated and put on the galactic for easy reference.
- Cool looking streaking background stars when transwarping on Bronco servers.
- Flags on the dashboard gauges indicating the fuel/shields/hull needed to refit or transwarp.
- Single key transwarp on Bronco servers. Push - to automatically lock onto your base and warp to it!
- 19FLAGS protocol enhancement. Reduces messed up flags from packetloss. Hockey players, this will eliminate stuck tractors and pressors.
- Works with WindowMaker. Window manager delete buttons work.
- Hockey bug fix, puck doesnt cloak at warp 15 or 31.
- Support for short packets 2. Reduces bandwidth and improves playability with packetloss.
- Supports SBHOURS feature, see how many base hours someone has.
- Shrink phasers, like BRMH.
- Support for wheel mice. The wheel will scroll the message windows, and can be bound to actions like other mouse buttons.
- Re-enter the game after dying by pushing the spacebar, instead of clicking on the right team window. Faster and prevents selecting the wrong team on accident in 4v4 hockey games.
- 32 position ship bitmaps. Your ship rotations will look smoother.
- Small red circle around ship shows det radius.
- Tic marks to show exact ship heading.
- Arrow on puck to indicate direction.
- ID of player you are tractoring displayed next to your ship.
- Configure what columns are in the player list, both the one-column and two-column list. You can also change the width of the each field, so show fewer digits for instance.
- UDP portswap option that lets the client work through NAT firewalls, like Linux IP_MASQ, without a special module.
<<less
Download (0.97MB)
Added: 2006-07-12 License: GPL (GNU General Public License) Price:
1207 downloads
Linux Letters and Numbers 0.1.95

Linux Letters and Numbers 0.1.95


Linux Letters and Numbers project is an educational childrens game for linux. more>>
Linux Letters and Numbers project is an educational childrens game for linux.
Linux Letters and Number is a fun and educational learning game intended for children 2 and up.
It helps children learn or improve their letters, numbers, spelling, and vocabulary skills through the use of interesting pictures.
It also helps them develop important computer skills too.
It is written in C using the GTK and GDK_Imlib libraries.
Main features:
- Extensible - add new images yourself without having to make changes to the program. With support for gdk_imlib, you can now use common image formats, including common formats like gif, jpeg, xpm, png, and tiff.
- Dynamic - each letter or number can be represented by numerous pictures, each being displayed randomly.
- Flexible - you can even have more than one picture for a given word, by using a simple versioning scheme (ie Apple.1.xpm, Apple.2.xpm)
- Interesting - because you can change the game, its different every time!
<<less
Download (0.17MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1097 downloads
Texmaker 1.6

Texmaker 1.6


Texmaker is a free LaTeX editor. more>>
Texmaker is a free LaTeX editor, that integrates many tools needed to develop documents with LaTeX, in just one application.
Texmaker is a free and cross-platform program which runs on unix, macosx and windows systems.
Texmaker is a Qt program, that integrates many tools needed to develop documents with LaTeX, in just one application.
Texmaker runs natively on Unix, win32 and macosx systems (KDE libraries are not required).
Main features:
- an editor to write your LaTeX source files (syntax highlighting, undo-redo, search-replace, ...)
- the principal LaTex tags can be inserted directly with the "LaTeX" and "Math" menus
- 370 mathematical symbols can be inserted in just one click
- wizards to generate code (Quick document, Quick letter, tabular, tabbing and array environments)
- LaTeX-related programs can be launched via the "Tools" menu
- the standard Bibtex entry types can be inserted in the ".bib" file with the "Bibliography" menu
- a "structure view" of the document for easier navigation of a document (by clicking on an item in the "Structure" frame, you can jump directly to the corresponding part of your document
- extensive LaTeX documentation
- in the "Messages / Log File" frame, you can see information about processes and the logfile after a LaTeX compilation
- the "Next Latex Error" and "Previous Latex Error" commands let you reach the LaTeX errors detected in the log file
- by clicking on the number of a line in the log file, the cursor jumps to the corresponding line in the editor
- an integrated LaTeX to html conversion tool (for unix and macosx systems)
<<less
Download (0.72MB)
Added: 2007-06-21 License: GPL (GNU General Public License) Price:
871 downloads
Analog VUmeter 0.9.2

Analog VUmeter 0.9.2


Analog VUmeter is a visualization plugin for XMMS. more>>
Analog VUmeter is a visualization plugin for XMMS.

If you like this plugin, then please send me feedback, comments, patches, etc. Also what I need is artwork or skins, so mail me if you would like to help with that.

Idea for this plugin came from similar plugin for winamp called Homeboy analog VU meter, and ideas how to write plugin to xmms from MSA plugin.

At first I only wanted to make something, that would look like the real thing, but as time passed, I have tried to make it also behave like it actually did something useful.

So what you are actually seeing is dBFS value for sound, which means RMS value of soundlevel compared to reference ((2^16-1)/2). Values range from 0 dBFS (highest) to -91 dBFS (lowest).

<<less
Download (0.37MB)
Added: 2006-04-04 License: GPL (GNU General Public License) Price:
1326 downloads
Storable 2.16

Storable 2.16


Storable package contains persistence for Perl data structures. more>>
Storable package contains persistence for Perl data structures.

SYNOPSIS

use Storable;
store %table, file;
$hashref = retrieve(file);

use Storable qw(nstore store_fd nstore_fd freeze thaw dclone);

# Network order
nstore %table, file;
$hashref = retrieve(file); # There is NO nretrieve()

# Storing to and retrieving from an already opened file
store_fd @array, *STDOUT;
nstore_fd %table, *STDOUT;
$aryref = fd_retrieve(*SOCKET);
$hashref = fd_retrieve(*SOCKET);

# Serializing to memory
$serialized = freeze %table;
%table_clone = %{ thaw($serialized) };

# Deep (recursive) cloning
$cloneref = dclone($ref);

# Advisory locking
use Storable qw(lock_store lock_nstore lock_retrieve)
lock_store %table, file;
lock_nstore %table, file;
$hashref = lock_retrieve(file);

The Storable package brings persistence to your Perl data structures containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be conveniently stored to disk and retrieved at a later time.

It can be used in the regular procedural way by calling store with a reference to the object to be stored, along with the file name where the image should be written.

The routine returns undef for I/O problems or other internal error, a true value otherwise. Serious errors are propagated as a die exception.

To retrieve data stored to disk, use retrieve with a file name. The objects stored into that file are recreated into memory for you, and a reference to the root object is returned. In case an I/O error occurs while reading, undef is returned instead. Other serious errors are propagated via die.

Since storage is performed recursively, you might want to stuff references to objects that share a lot of common data into a single array or hash table, and then store that object. That way, when you retrieve back the whole thing, the objects will continue to share what they originally shared.

At the cost of a slight header overhead, you may store to an already opened file descriptor using the store_fd routine, and retrieve from a file via fd_retrieve. Those names arent imported by default, so you will have to do that explicitly if you need those routines. The file descriptor you supply must be already opened, for read if youre going to retrieve and for write if you wish to store.

store_fd(%table, *STDOUT) || die "cant store to stdoutn";
$hashref = fd_retrieve(*STDIN);

You can also store data in network order to allow easy sharing across multiple platforms, or when storing on a socket known to be remotely connected. The routines to call have an initial n prefix for network, as in nstore and nstore_fd. At retrieval time, your data will be correctly restored so you dont have to know whether youre restoring from native or network ordered data. Double values are stored stringified to ensure portability as well, at the slight risk of loosing some precision in the last decimals.

When using fd_retrieve, objects are retrieved in sequence, one object (i.e. one recursive tree) per associated store_fd.

If youre more from the object-oriented camp, you can inherit from Storable and directly store your objects by invoking store as a method. The fact that the root of the to-be-stored tree is a blessed reference (i.e. an object) is special-cased so that the retrieve does not provide a reference to that object but rather the blessed object reference itself. (Otherwise, youd get a reference to that blessed object).

<<less
Download (0.17MB)
Added: 2007-05-22 License: Perl Artistic License Price:
885 downloads
Letter Hunt 002

Letter Hunt 002


Leter Hunt is a Seven Day Roguelike game. more>>
Leter Hunt is a Seven Day Roguelike game. The original idea came from a discussion at the end of the 2005 7DRL challenge with Antoine, the author of Guild.
Main features:
- Spell words by capturing your foes in the correct order to earn points and powerups.
- Fifty-two letters to capture, many with their own personalities or unique abilities.
- Power-up based character advancement. Rather than gaining experience or levels, you just gain powerups that can wear off. Advancement is not permament.
- Open-ended game - there is no final boss or win condition. Your goal is to get as many points as possible before attrition or increasingly difficult enemies take you down.
- Extremely tactical combat. There is no randomness in combat. You always hit and always do full damage. This means that careful placement is the difference between success and failure.
- Turn based action, as is normal for a roguelike.
- User editable wordlist: The list of valid words is a plain text file that can be added to or replaced. Creature frequency is calculated from letter frequency in the wordlist file.
Enhancements:
- Various niggly bugs fixed, including the crash on walk.
<<less
Download (1.4MB)
Added: 2006-10-27 License: GPL (GNU General Public License) Price:
1092 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5