Main > Free Download Search >

Free delta software for linux

delta

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 47
xdelta 3.0e

xdelta 3.0e


xdelta is a library and application for computing and applying file deltas. more>>
xdelta is a library and application for computing and applying file deltas. xdelta project features VCDIFF encoding and decoding.
Xdelta was designed and implemented by Joshua MacDonald. The delta algorithm is based on the Rsync algorithm, though implementation and interface considerations leave the two programs quite distinct. The Rsync algorithm is due to Andrew Tridgell and Paul Mackerras.
To compile and install Xdelta, read the instructions in the INSTALL file. Once you have done this, you should at least read the first few sections of the documentation. It is available in info format. All documentation is located in the doc/ subdirectory.
Options:
-0..9 Set the zlib compression level. Zero indicates no
compression. Nine indicates maximum compression.
-h, --help
Print a short help message and exit.
-q, --quiet
Quiet. Surpresses several warning messages.
-v, --version
Print the Xdelta version number and exit.
-V, --verbose
Verbose. Prints a bit of extra information.
-n, --noverify
No verify. Turns off MD5 checksum verification of the
input and output files.
-m=SIZE, --maxmem=SIZE
Set an upper bound on the size of an in-memory page
cache. For example, --maxmem=32M will use a 32 megabyte
page cache.
-s=BLOCK_SIZE
Set the block size, unless it was hard coded (20% speed
improvement). Should be a power of 2.
-p, --pristine
Disable the automatic decompression of gzipped
inputs, to prevent unexpected differences in the
re-compressed content.
Enhancements:
- This release contains bug fixes and performance improvements.
- It also features VCDIFF encoding.
<<less
Download (0.23MB)
Added: 2006-05-16 License: GPL (GNU General Public License) Price:
1261 downloads
EDelta 0.10a

EDelta 0.10a


EDelta is a fast XDelta-style binary differ, but optimized for executables which have a very systematic way of changing versions more>>
EDelta is a fast XDelta-style binary differ, but optimized for executables which have a very systematic way of changing between versions. EDelta has not been thoroughly evaluated so far, but on one example (two versions of Vim) it produces a 30kB delta where XDelta needs 250kB.
My personal use for edelta is to quickly deploy Linux kernels from my development-laptop to my test-machines, especially when working over my slow ADSL line at home. I frequently see factor of 100 speedups compared to shipping the whole file.
Whats New in 0.9e Stable Release:
- This release adds a -q switch, better arguments parsing, and an improved version of the epatch script for remote patching using SSH.
Whats New in 0.10a Development Release:
- This version adds the -le switch, which provides better compression on Intel and other little-endian platforms.
- It also fixes a few bugs.
<<less
Download (0.016MB)
Added: 2006-12-26 License: GPL (GNU General Public License) Price:
1032 downloads
Delta 2006.07.15

Delta 2006.07.15


Delta assists users in minimizing interesting files, subject to a test of their interestingness. more>>
Delta project assists users in minimizing "interesting" files, subject to a test of their "interestingness".
A common such situation is when attempting to isolate a small failure-inducing substring of a large input that causes a program to exhibit a bug.
The best way to understand how to use delta is with an example of its usage. Below is one example helpfully written up for me by Simon Goldsmith; read it first. For those wanting more, I also wrote a more detailed and harder to read document describing each tool: Using Delta.
Note that what follows is an example of using delta to minimize an input file to a program that reads programs, much as a compiler does. Note two features of file minimization that are present in the example.
Do a controlled experiment.
Below we dont just minimize a file that causes Oink to produce an error message, we minimize a file that causes gcc to accept AND oink to reject in a specific way. That is, the test delta does is a controlled experiment, where gcc is the control. Ignoring this aspect of the problem seems to be a frequent mistake of first time users.
Exploit nested structure.
One may minimize files of simpler syntax than C++ but really all files are interesting in the first place because they are in some language or another. Some simple configuration files are literally just a list of lines but most languages have some nested structure. Multidelta filters the input through the topformflat utility (included) to suppress any newlines past a particular nesting depth; this "explains" the nesting structure to the otherwise line-oriented delta utility (a brilliantly simple idea of Scott McPeaks).
If your input file language has no nesting structure, you can hack on multidelta to remove the filtration through topformflat or just use the raw delta program. If your language has a different nesting structure than C/C++, you can write your own multidelta and substitute it. A simple flex program should suffice; it need not be terribly accurate for delta to do well.
Enhancements:
- It is now much easier to stop delta.
- It catches signals and distinguishes them from return codes.
- It watches for the DELTA-STOP file at the same granularity as the tests are run.
- In multidelta, running the input file through cpp is off by default and can be turned on with the flag -cpp.
<<less
Download (0.031MB)
Added: 2006-07-18 License: GPL (GNU General Public License) Price:
1195 downloads
Pstdelta 060315

Pstdelta 060315


Pstdelta was created in order to vastly reduce the size of differential backups of .pst files. more>>
Pstdelta project has been created in order to vastly reduce the size of differential backups of .pst files.
Administrators of Windows networks running Outlook will often find their networks clogged with Outlook pst files. These files are often around 1GB in size.
Since these files change every day the nightly backup will have to save them every day. This means that space has to be made for 1GB per user per day.
Pstdelta can be used to store the differences between an old and new version of a pst file. It can then generate the new file using just the old file and the output generated by pstdelta.
NOTE: this program has been stable for me for a while. However, running verify after making a delta file is probably a good idea.
Enhancements:
- This release fixes a bug that caused verification failure in specific situations.
- It adds a nightly script to help facilitate the use of pstdelta in differential backups.
<<less
Download (0.012MB)
Added: 2006-03-16 License: GPL (GNU General Public License) Price:
1317 downloads
Test::Number::Delta 1.03

Test::Number::Delta 1.03


Test::Number::Delta is a Perl module to compare the difference between numbers against a given tolerance. more>>
Test::Number::Delta is a Perl module to compare the difference between numbers against a given tolerance.

SYNOPSIS

# Import test functions
use Test::Number::Delta;

# Equality test with default tolerance
delta_ok( 1e-5, 2e-5, values within 1e-6);

# Inequality test with default tolerance
delta_not_ok( 1e-5, 2e-5, values not within 1e-6);

# Provide specific tolerance
delta_within( 1e-3, 2e-3, 1e-4, values within 1e-4);
delta_not_within( 1e-3, 2e-3, 1e-4, values not within 1e-4);

# Compare arrays or matrices
@a = ( 3.14, 1.41 );
@b = ( 3.15, 1.41 );
delta_ok( @a, @b, compare @a and @b );

# Set a different default tolerance
use Test::Number::Delta within => 1e-5;
delta_ok( 1.1e-5, 2e-5, values within 1e-5); # ok

# Set a relative tolerance
use Test::Number::Delta relative => 1e-3;
delta_ok( 1.01, 1.0099, values within 1.01e-3);

At some point or another, most programmers find they need to compare floating-point numbers for equality. The typical idiom is to test if the absolute value of the difference of the numbers is within a desired tolerance, usually called epsilon. This module provides such a function for use with Test::Harness. Usage is similar to other test functions described in Test::More. Semantically, the delta_within function replaces this kind of construct:

ok ( abs($p - $q) < $epsilon, $p is equal to $q ) or
diag "$p is not equal to $q to within $epsilon";

While theres nothing wrong with that construct, its painful to type it repeatedly in a test script. This module does the same thing with a single function call. The delta_ok function is similar, but either uses a global default value for epsilon or else calculates a relative epsilon on the fly so that epsilon is scaled automatically to the size of the arguments to delta_ok. Both functions are exported automatically.

Because checking floating-point equality is not always reliable, it is not possible to check the equal to boundary of less than or equal to epsilon. Therefore, Test::Number::Delta only compares if the absolute value of the difference is less than epsilon (for equality tests) or greater than epsilon (for inequality tests).

<<less
Download (0.018MB)
Added: 2007-01-18 License: Perl Artistic License Price:
1015 downloads
RPM Delta Compression Virtual Update Repository 0.2.0

RPM Delta Compression Virtual Update Repository 0.2.0


RPM Delta Compression Virtual Update Repository for significantly reducing the bandwidth required to apply updates. more>>
RPM Delta Compression Virtual Update Repository is an experiment to explore the possibility of significantly reducing the bandwidth required to apply updates to a Fedora installation.
This software includes a server which provides a virtual update repository to clients such as yum, up2date, or other update tools. RPM Delta Compression Virtual Update Repository also includes a utility to create and maintain a RPM delta repository.
The server will attempt to generate the update RPM from a small delta file applied to a locally stored RPM from the original distribution.
Enhancements:
- This version utilizes the SuSE deltarpm tool as the underlying delta generator.
- It features both HTTP virtual update of the RPM repository (using Tomcat servlet container) and command line tools for generating update RPMs from a delta repository.
<<less
Download (0.24MB)
Added: 2006-03-02 License: GPL (GNU General Public License) Price:
1334 downloads
dbdeploy 2.01

dbdeploy 2.01


dbdeploy is a Database Change Management tool. more>>
dbdeploy is a Database Change Management tool. The project helps developers and DBAs change their database in a simple, controlled, flexible and frequent manner.

The recurring problem with database development is that at some point you’ll need to upgrade an existing database and preserve its content. In development environments it’s often possible (even desirable) to blow away the database and rebuild from scratch as often as the code is rebuilt but this approach cannot be taken forward into more controlled environments such as QA, UAT and Production.

Drawing from our experiences, we’ve found that one of the easiest ways to allow people to change the database is by using version-controlled SQL delta scripts. We’ve also found it beneficial to ensure that the scripts used to build development environments are the exact same used in QA, UAT and production. Maintaining and making use of these deltas can quickly become a significant overhead - dbdeploy aims to address this.

How It Works

By comparing the SQL delta scripts on your filesystem against a patch table in the target database, it generates SQL scripts – it doesn’t directly apply them.

Invocation methods

dbdeploy can be called from within an ant build file.

DBMS support

dbdeploy supports the following DBMS:

Oracle
MS SQL Server
Sybase
Hypersonic SQL
<<less
Download (2.3MB)
Added: 2006-11-28 License: BSD License Price:
1061 downloads
RakNet 3.0 Beta

RakNet 3.0 Beta


RakNet project is a reliable UDP networking API. more>>
RakNet project is a reliable UDP networking API.
RakNet is a networking API that is a wrapper for reliable UDP and higher level functionality on Windows, Linux, and Unix.
It allows any application to communicate with other applications on the same computer, over a LAN, or over the internet.
Although it could be used for any networked application, it was developed specifically for rapid development of online games and the addition of multiplayer to single player games.
Main features:
- Secure connections
- With one line of code Raknet will automatically use SHA1, AES128, SYN Cookies, and RSA to prevent connection spoofing, replay attacks, data eavesdropping, packet tampering, and MitM attacks. Overhead averages 12 bytes per datagram.
- Voice communication
- Using Speex for encoding / decoding, 16 bit audio can be transmitted using approximately 1000 bytes per second.
- Remote terminal
- Using either Telnet or secure RakNet, you can remotely administrate your applications. The system has built-in commands for most RakNet functions and is designed for users to extend for their own purposes. Example capabilities include application resets, password management, and logging.
- Application directory server
- The application directory server allows servers to list themselves for clients to find and connect to. The system uses a key / value system. Listing your server and posting new rules are both done with a single line of code.
- Autopatcher
- Update your users with database driven binary delta patches, or use a simpler version for updates such as user skins or maps.
- Object replication system
- RakNets object and memory replication system provides a framework from which you can synchronize your program state. It requires no changes to your program architecture and there is no unneeded overhead. Memory is replicated through a single function call, with support for callbacks for serialization of complex types such as pointers.
- Network traffic compression
- The BitStream class allows compressed writes of vectors, matrices, quaternions, and real numbers between -1 and 1. It also supports delta compression, by which unchanged values only use a single bit.
- Remote function calls
- While you can send and interpret your own bit streams, remote function calls make this process easier as you now deal with functions rather than raw data. Remote function calls only take 1-2 bytes of overhead and allow both static C function calls and class member function calls. Return values are also supported.
- Routing and multicasting
- RakNet supports automatically updated connection graphs, which are used for routing and multicasting via a minimum spanning tree. You could, for example, use RakNet for highly efficient distributed peer-to-peer file sharing. Simpler applications include directed messages between clients and efficient broadcasts.
- Robust communication layer
- Flow control, message ordering on different channels, message coalescence, and splitting and reassembly of packets larger than the MTU are transparently handled for you.
<<less
Download (5.7MB)
Added: 2006-11-11 License: Other/Proprietary License with Source Price:
627 downloads
Duplicity 0.4.3

Duplicity 0.4.3


Duplicity is encrypted bandwidth-efficient backup using the rsync algorithm. more>>
Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server.
Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.
The duplicity package also includes the rdiffdir utility. Rdiffdir is an extension of librsyncs rdiff to directories---it can be used to produce signatures and deltas of directories as well as regular files. These signatures and deltas are in GNU tar format.
Main features:
Easy to use: Although duplicity is a command-line utility, the semantics are relative simply. To take a basic example, this command:
- duplicity /usr scp://host.net/target_dir
- backs up the /usr directory to the remost host host.net via scp.
Encrypted and signed archives: The archives that duplicity produces can be encrypted and signed using GnuPG, the standard for free software cryptology. The remote location will not be able to infer much about the backups other than their size and when they are uploaded. Also, if the archives are modified on the remote side, this will be detected when restoring.
Bandwidth and space efficient: Duplicity uses the rsync algorithm so only the changed parts of files are sent to the archive when doing an incremental backup. For instance, if a long log file increases by just a few lines of text, a small diff will be sent to and saved in the archive. Other backup programs may save a complete copy of the file.
Standard file format: Athough archive data will be encrypted, inside it is in standard GNU-tar format archives. A full backup contains normal tarballs, and incremental backups are tar archives of new files and the deltas from previous backups. The deltas are in the format produced by librsyncs command-line utility rdiff.
- Although you should never have to look at a duplicity archive manually, if the need should arise they can be produced and processed using GnuPG, rdiff, and tar.
Choice of remote protocol: Duplicity does not make many demands on its archive server. As long as files can be saved to, read from, listed, and deleted from a location, that location can be used as a duplicity backend. Besides increasing choice for the user, it can make a server more secure, as clients only require minimal access.
- Currently local file storage, scp/ssh, ftp, rsync, and Amazon S3 are supported, and others shouldnt be difficult to add.
<<less
Download (0.10MB)
Added: 2007-08-12 License: GPL (GNU General Public License) Price:
805 downloads
List::Search 0.3

List::Search 0.3


List::Search is a Perl module for fast searching of sorted lists. more>>
List::Search is a Perl module for fast searching of sorted lists.

SYNOPSIS

use List::Search qw( list_search nlist_search custom_list_search );

# Create a list to search
my @list = sort qw( bravo charlie delta );

# Search for a value, returns the index of first match
print list_search( alpha, @list ); # 0
print list_search( charlie, @list ); # 1
print list_search( zebra, @list ); # -1

# Search numerically
my @numbers = sort { $a $b } ( 10, 20, 100, 200, );
print nlist_search( 20, @numbers ); # 2

# Search using some other comparison
my $cmp_code = sub { lc( $_[0] ) cmp lc( $_[1] ) };
my @custom_list = sort { $cmp_code->( $a, $b ) } qw( FOO bar BAZ bundy );
print list_search_generic( $cmp_code, foo, @custom_list );

This module lets you quickly search a sorted list. It will return the index of the first entry that matches, or if there is no exact matches then the first entry that is greater than the search key.

For example in the list my @list = qw( bob dave fred ); searching for dave will return 1 as $list[1] eq dave. Searching for charles will also return 1 as dave is the first entry that is greater than charles.

If there are none of the entries match then -1 is returned. You can either check for this or use it as an index to get the last values in the list. Whichever approach you choose will depend on what you are trying to do.

The actual searching is done using a binary search which is very fast.

<<less
Download (0.005MB)
Added: 2007-07-27 License: Perl Artistic License Price:
819 downloads
ttmap 0.1

ttmap 0.1


ttmap passively analyzes values of TCP Timestamps in captured IP packets. more>>
ttmap passively analyzes values of TCP Timestamps in captured IP packets. After collecting enough data, it computes characteristic remote machine parameters.

These values let it guess remote operating systems and identify unique machines behind a single IP address. For example, it can analyze remote IP load-balanced clusters.

After successful initialization, ttmap starts analysis of packets received on selected network interface. For this, it uses the libpcap library, which injects captured packets to the ttmap_callback() function.

Next, the program checks if received packet is a TCP one and whether it has TCP Timestamps Option. If yes, then ttmap reads essential data from it and passes it to the process_packet() function. However, if the packet has RST or FIN flag set, then a special procedure is called, which removes any data regarding the connection being closed, if any.

The process_packet() function matches a single packet to a TCP connection. It checks whether number of packets collected in a single connection is enough, and if it is, the control is passed to the identify_connection() function.

Now, ttmap has enough sample of packets which were received from a single remote machine to find the proportionality factor (the jiffy), let it be the a parameter, and system start-up time, let it be the b parameter. For best results, the program uses linear regression method from the GNU Scientific Library. Provided that the quality of obtained values is good enough, what is discussed later, an internal database holding information about already identified machines is queried for calculated remote system characteristics. If nothing matches, a new remote machine is detected; if there is a match, then machines a and b parameters are corrected by mean value.

Due to various delays and fluctuations that packets traversing the Internet might be subject of, the obtained data might be of low quality, ie. there will not be any linear function matching collected (time, TCP timestamp) points. So, for best results, only the points lying close enough to the best-fit line should be accepted as meaningful. The ttmap program checks whether ratio of covariance (returned from GSL) and obtained a parameter is small enough. A similar situation appears when querying the internal database for matching machines - here the program user may configure acceptable "delta" for a and b parameters.

When a new remote machine is detected, an informational message is printed to the standard output. Such message contains machines a parameter, with a corresponding remote operating system guess, and b parameter, with probable time when remote machine was turned on (in local timezone).
<<less
Download (0.21MB)
Added: 2006-04-26 License: GPL (GNU General Public License) Price:
1276 downloads
List::Compare 0.33

List::Compare 0.33


List::Compare is a Perl module to compare elements of two or more lists. more>>
List::Compare is a Perl module to compare elements of two or more lists.

SYNOPSIS

The bare essentials:

@Llist = qw(abel abel baker camera delta edward fargo golfer);
@Rlist = qw(baker camera delta delta edward fargo golfer hilton);

$lc = List::Compare->new(@Llist, @Rlist);

@intersection = $lc->get_intersection;
@union = $lc->get_union;

General Comments

List::Compare is an object-oriented implementation of very common Perl code (see "History, References and Development" below) used to determine interesting relationships between two or more lists at a time. A List::Compare object is created and automatically computes the values needed to supply List::Compare methods with appropriate results. In the current implementation List::Compare methods will return new lists containing the items found in any designated list alone (unique), any list other than a designated list (complement), the intersection and union of all lists and so forth. List::Compare also has (a) methods to return Boolean values indicating whether one list is a subset of another and whether any two lists are equivalent to each other (b) methods to pretty-print very simple charts displaying the subset and equivalence relationships among lists.

Except for List::Compares get_bag() method, multiple instances of an element in a given list count only once with respect to computing the intersection, union, etc. of the two lists. In particular, List::Compare considers two lists as equivalent if each element of the first list can be found in the second list and vice versa. Equivalence in this usage takes no note of the frequency with which elements occur in either list or their order within the lists. List::Compare asks the question: Did I see this item in this list at all? Only when you use List::Compare::get_bag() to compute a bag holding the two lists do you ask the question: How many times did this item occur in this list?
<<less
Download (0.18MB)
Added: 2007-01-23 License: Perl Artistic License Price:
1007 downloads
Pieces of Flare 1.1

Pieces of Flare 1.1


Pieces of Flare is an Eclipse Plugin which allows (J2EE) developers to synchronize source directories. more>>
Pieces of Flare is an Eclipse Plugin which allows (J2EE) developers to synchronize source directories within their project to deployment directories on the AppServer.
Pieces of Flare plugin is written to allow automatic deployment of JSP files whenever they are saved, but it can be used for any file type.
Pieces of Flare only runs on files that are saved. With a custom ant builder you inflict the startup cost of ant within Eclipse, and Pieces of Flare knows what the changed deltas are - which a custom ant builder might not.
We were looking for a name that had something to do with Eclipse, and Flare came to mind. We were also talking about Office Space that day so it seemed like a decent choice.
Currently, the number one need is to develop some UI to do the XML configuration. If you would like to help out with that, contact one of the developers in the forums.
Enhancements:
- This version adds support for the scp file copy protocol for copying files to remotely located hosts.
- Also, there are improvements to the logging.
- It seemed that some people had trouble typing the fromDir and toDir paths.
- A simple check to see if these paths exist has been added.
- Hopefully this will make it easier to debug a configuration.
- Also, the debug attribute can be set to false to suppress info level logging once everything is working.
<<less
Download (2.3MB)
Added: 2006-01-09 License: Eclipse Public License Price:
1383 downloads
pytimeago r11

pytimeago r11


pytimeago is a human-oriented representation of time deltas, a Python library more>>
pytimeago is a human-oriented representation of time deltas, a Python library.

First, I shall define what time delta is. Since Δ generally means “difference”, we take time delta to stand for difference between two events in time. Quite common, however, is to have the current time for the second event. In pytimeago we deal with time deltas from such a perspective.

Quite possibly, you can make use of this library if your application displays some dynamically generated items to the user, and you are looking for a good way to present information on how long ago specific item was created/processed/whatever.

Below is small code snippet demonstrating how simple it is to embed pytimeago:

from pytimeago.english import english
from time import time, sleep

message = queue.getNextMessage()
delta = time() - message.arrived_time
print "Message arrived %s" % english(delta)

Prints, e.g.
Message arrived 15mins ago

As you see, pytimeago is package, and has individual modules for every language supported. As of 2006-08-13 the only supported language is English. However, you can take a look at rather trivial implementation of English engine, write one for your language, and send it to to me (email at the bottom of page).

Every language should come with a set of doctests (I prefer them to casual unit tests), just like the English version does. Dont be too verbose, but check essential cases.
<<less
Download (0.002MB)
Added: 2006-08-15 License: LGPL (GNU Lesser General Public License) Price:
1166 downloads
DFA::Kleene 1.0

DFA::Kleene 1.0


DFA::Kleene is a Kleenes Algorithm for Deterministic Finite Automata. more>>
DFA::Kleene is a Kleenes Algorithm for Deterministic Finite Automata.

Calculates the "language" (set of words) accepted (= recognized) by a Deterministic Finite Automaton.

SYNOPSIS

use DFA::Kleene qw(initialize define_accepting_states define_delta kleene example);

use DFA::Kleene qw(:all);

&initialize(6,"ab");

Define the number of states (state #1 is the "start" state!) of your Deterministic Finite Automaton and the alphabet used (as a string containing all characters which are part of the alphabet).

&define_accepting_states(2,3,4,5);

Define which states are "accepting states" in your Deterministic Finite Automaton (list of state numbers).

&define_delta(1,a,4);

Define the state transition function "delta" (arguments are: "from" state, character (or empty string!) read during the transition, "to" state).
You need several calls to this function in order to build a complete transition table describing your Deterministic Finite Automaton.

@language = &kleene();

Returns a (sorted) list of regular expressions describing the language (= set of patterns) recognized ("accepted") by your Deterministic Finite Automaton.
&example();

Calculates the language of a sample Deterministic Finite Automaton.
Prints a (sorted) list of regular expressions which should be equivalent to the following regular expression:

(a(a)*b)*a(a)*(b)*

This is the same as

((a+)b)*(a+)b*

The routines in this module allow you to define a Deterministic Finite Automaton and to compute the "language" (set of "words" or "patterns") accepted (= recognized) by it.

Actually, a list of regular expressions is generated which describe the same language (set of patterns) as the one accepted by your Deterministic Finite Automaton.

The output generated by this module can easily be modified to produce Perl-style regular expressions which can actually be used to recognize words (= patterns) contained in the language defined by your Deterministic Finite Automaton.

Other modules in this series (variants of Kleenes algorithm):

Math::MatrixBool (see "Kleene()")
Math::MatrixReal (see "kleene()")

<<less
Download (0.005MB)
Added: 2007-05-17 License: Perl Artistic License Price:
893 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 4
  • 1
  • 2
  • 3
  • 4