unified diff
Unified I/O 3.0
UnifiedIO allows to access files, primitive arrays and streams (even over HTTP) through same interface. more>>
Main features:
- High performance
- Transparent buffering
- MemoryManager
- OpenFileManager (beta)
- uio based implementation of ImageInputStream and ImageOutputStream
- Bridge between RandomAccessFile world and InputStream/OutputStream world
- Access everything using one common interface
- Read/write direct from/into primitive arrays
- Optimized reading over http (only requesting the required data range of bytes - uses byteserving feature of http 1.1)
- Easy extensible design
- Unified I/O contains also many utilities:
- BitInputStream and BitOutputStream.
- PackBits, RLE4 and RLE8 decoder.
- base64 codec implementation.
- and many others.
- Unified I/O is an open source project and licensed under BSD
Enhancements:
- This release features a new buffering model and the ability to create child streams with shared or independent stream position.
- InputStreams was implemented on all primitive arrays.
fldiff 1.1
fldiff is a graphical diff program. more>>
fldiff uses the Fast Light Toolkit (FLTK) and has been tested on AIX, IRIX, Linux, MacOS X, and Solaris, and should also run on Windows.
Unified Qmail Patch 2004_05_02
Unified Qmail Patch provides a concatenation of various patches. more>>
Unified Qmail Patch is a concatenation of various patches for the qmail MTA. It supports SMTP AUTH after STARTTLS, Maildir++, regexp support in badmailfrom, and lots of features for high-end production servers.
Main features:
- Maildir++
- TLS encryption
- SMTP AUTH + SMTP AUTH close
- regexps in badmailfrom and support for badmailto
- external todo
- big remote concurrency patch
- external queue manager
- oversized dns responses
- reverse dns check
- tarpitting
- ESMTP size check from Gentoo
- tab bug fix in .qmail files
- linux link sync
- errno patch (compiles with gcc 3.x too)
- auth only after TLS patch from Gentoo
- Maildir quota fix patch from Gentoo
- qregex memleak fix patch from Gentoo
- David Phillips sendmail flagf patch
- Russ Nelsons QMTP patch for qmail-remote
- Jay Austads random qmqp pickup
- Alin-Adrian Antons integer overflow fix in qmail-smtpd.c
- Added support for SMTP throttling, using relayd
- Added my own patch, that checks whether the mail from value is different from the username used for SMTP AUTH, thus preventing source address spoofing. Useful for ISPs that only relay mails from authenticated users.
- The mail from verification is now configurable through a knob defined in /var/qmail/control/spoofcheck or in the environment variable $SPOOFCHECK
- It seems that in previous versions I accidentally ommited the support for a big todo, so heres a patch that finally supports it. My apologies to all :(
Xfdiff 4.5.0
Xfdiff is graphic interface to the GNU diff and patch commands. more>>
You can also apply patches to the hard disc or create patch files for differences between files or directories. All-in-all, a handy utility for lazy chaps who dont want to type the diff command.
Enhancements:
- Code cleanup. Unnecessary dependencies have been removed.
- Now only depends on GTK+ 2.2.0, glib 2.6.0, and libtubo 4.5.0.
DbDiff 0.2.0
DbDiff project performs a diff between two databases. more>>
It generates the necessary SQL to alter the target database and apply the changes in the proper order to satisfy any constraints that exist while preserving the data in the target database.
Enhancements:
- Support for views, triggers, functions, and procedures.
- Support for replicate/update tables.
LibXDiff 0.23
LibXDiff is designed as a library which implements basic and yet complete functionalities to create file differences/patches to both binary and text files. more>>
LibXDiff 0.23 is designed as a library which implements basic and yet complete functionalities to create file differences/patches to both binary and text files. The library uses memory files as file abstraction to achieve both performance and portability. For binary files, LibXDiff implements both (with some modification) the algorithm described in File System Support for Delta Compression by Joshua P. MacDonald, and the algorithm described in Fingerprinting By Random Polynomials by Michael O. Rabin.
While for text files it follows directives described in An O(ND) Difference Algorithm and Its Variations by Eugene W. Myers. Memory files used by the library are basically a collection of buffers that store the file content. There are two different requirements for memory files when passed to diff/patch functions. Text files for diff/patch functions require that a single line do not have to spawn across two different memory file blocks. Binary diff/patch functions require memory files to be compact. A compact memory files is a file whose content is stored inside a single block.
Major Features:
- Functionalities inside the library are available to satisfy these rules. Using the XDL_MMF_ATOMIC memory file flag it is possible to make writes to not split the written record across different blocks, while the functions xdl_mmfile_iscompact() , xdl_mmfile_compact() and xdl_mmfile_writeallocate() are usefull to test if the file is compact and to create a compacted version of the file itself.
- The text file differential output uses the raw unified output format, by omitting the file header since the result is always relative to a single compare operation (between two files).
- The output format of the binary patch file is proprietary (and binary) and it is basically a collection of copy and insert commands, like described inside the MacDonald paper.
- The library is compatible with almost every Unix implementation (configure script) and it is also compatible with Windows through custom (nmake) make files. Examples are available inside the test subdirectory of the distribution tarball that show how to use the library. Also, inside the same subdirectory, a regression test in available that tests the library with random data by requiring a diff followed by a patch and comparing results. Regression tests ran successfully for days on my Linux, Solaris, FreeBSD and Windows boxes, and this makes you believe that the library itself is completely ready for production (despite the version number).
<<less
nEW uNIFIED mEMORY aCCESS 1.0
nEW uNIFIED mEMORY aCCESS is a file recovery tool for the ext3/ext2 file system. more>>
Enhancements:
- This release also recovers MP3, PDF, PNG, HTML, and Java files.
Text::Diff 0.35
Text::Diff can perform diffs on files and record sets. more>>
SYNOPSIS
use Text::Diff;
## Mix and match filenames, strings, file handles, producer subs,
## or arrays of records; returns diff in a string.
## WARNING: can return B diffs for large files.
my $diff = diff "file1.txt", "file2.txt", { STYLE => "Context" };
my $diff = diff $string1, $string2, %options;
my $diff = diff *FH1, *FH2;
my $diff = diff &reader1, &reader2;
my $diff = diff @records1, @records2;
## May also mix input types:
my $diff = diff @records1, "file_B.txt";
diff() provides a basic set of services akin to the GNU diff utility. It is not anywhere near as feature complete as GNU diff, but it is better integrated with Perl and available on all platforms. It is often faster than shelling out to a systems diff executable for small files, and generally slower on larger files.
Relies on Algorithm::Diff for, well, the algorithm. This may not produce the same exact diff as a systems local diff executable, but it will be a valid diff and comprehensible by patch. We havent seen any differences between Algorithm::Diffs logic and GNU diffs, but we have not examined them to make sure they are indeed identical.
Note: If you dont want to import the diff function, do one of the following:
use Text::Diff ();
require Text::Diff;
Thats a pretty rare occurence, so diff() is exported by default.
Data::Diff 0.01
Data::Diff is a data structure comparison module. more>>
SYNOPSIS
use Data::Diff qw(diff);
# simple procedural interface to raw difference output
$out = diff( $a, $b );
# OO usage
$diff = Data::Diff->new( $a, $b );
$new = $diff->apply();
$changes = $diff->diff_a();
Data::Diff computes the differences between two abirtray complex data structures.
METHODS
Creation
new Data::Diff( $a, $b, $options )
Creates and retruns a new Data::Diff object with the differences between $a and $b.
Access
apply( $options )
Returns the result of applying one side over the other.
raw()
Returns the internal data structure that describes the differences at all levels within.
Functions
Diff( $a, $b, $options )
Compares the two arguments $a and $b and returns the raw comparison between the two.
EXPORT
Nothing by default but you can choose to export the non-OO function Diff().
Java Unified Expression Language 2.1.0
Java Unified Expression Language is an implementation of the unified expression language. more>>
The javax.el.ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl:
// create an expression factory
javax.el.ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
Package de.odysseus.el.util provides ready-to-use subclasses of javax.el.ELContext and javax.el.ELResolver:
// create a simple EL context
de.odysseus.el.util.SimpleContext context =
new de.odysseus.el.util.SimpleContext(new de.odysseus.el.util.SimpleResolver());
// define function math:max(int,int)
context.setFunction("math", "max", Math.class.getMethod("max", new Class[]{int.class, int.class}));
// define variable "foo"
context.setVariable("foo", factory.createValueExpression(0, null));
// create expression
javax.el.ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", null);
// set value for top-level property "bar"
context.setValue(null, "bar", 1);
// evaluate expression...
System.out.println(e.getValue(context)); // --> 1
The JUEL jar may be run from the command line to dump the parse tree of an EL expression:
$ java -jar juel-2.1.x.jar "#{unified(expression[language])}"
+- #{...}
|
+- unified(...)
|
+- [...]
|
+- expression
|
+- language
Enhancements:
- Minor changes only since the last release candidate.
- A detailed list of changes is contained in the archives.
webdiff 20070302
webdiff is a powerful web page update checker. more>>
webdiff will only print the URIs of web pages that changed, so that its output can easily be used by further scripts (such as wget or mail).
Usage: #{$0} [option]
Option can be one of:
--configure, -c Reconfigure #{ProgName}
--diff, -d Print the current differences
--help, -h Print this help
--reset, -r Reset current differences
--version, -v Print current version
libxmldiff 0.2.5
libxmldiff aims at providing efficient diff on XML file more>>
Main features:
- Detection of modified items, added items, removed items
- Not sensitive to item position changes (based on a id).
- Designed to support large XML files (about 100 Mo). For larger files, treat these files with XML Pre Diff Tool would be a good idea.
- Basic XML manipulation (XSLT, Deletion,...)
- Scripting abilities
- Simple to use
How does it work ?
libxmldiff diff two files, and output a file with exactly the same structure (unlike other xml diffing utilities), and containing an extra diff:status attribute.
The meaning of this diff:status argument is :
added : the element has been added.
removed : the element has been removed.
modified : either an argument or the text has been modified, the values will be outputted with the | separator : "before|after".
below : the element itself was not modified, but a child item was.
libxmldiff can use identifiers (attributes or nodes) to see exactly which element has been added or removed, despite the order of the elements.
Enhancements:
- This release fixes a crash while using XSLT parameters in scripts, infinite loops when the script does not exist, and some memory leaks.
Berkeley Unified Parallel C 2.4.0
Berkeley Unified Parallel C (UPC) is an extension of the C programming language. more>>
The language provides a uniform programming model for both shared and distributed memory hardware.
The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor.
UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor.
Whats New in This Release:
- Add initial native support for the Cray XT3 via new portals network
- Implement the GASP 1.5 performance instrumentation interface, supporting the
Parallel Performance Wizard (PPW) and other third-party profiling tools.
- Add bupc_ticks_to_ns() - finer granularity timer query
- Add the Berkeley implementations of the UPC collectives and UPC-IO to GCCUPC+UPCR
- Add most of the Berkeley UPC library extensions to GCCUPC+UPCR
- Add upcdecl command-line tool (also online at: http://upc.lbl.gov/upcdecl)
- Add support for alloca() and stdarg.h
- Performance improvements to the BUPC semaphore library for signalling store
- Add bupc_thread_distance() - runtime thread layout query for hierarchical systems
- Add a remote fetch-and-add UPC library extension (initially just for 64-bit ints)
- Allow configure-time tuning of bit distribution in packed pointer-to-shared rep
- Fix the following notable bugs in 2.2.2 (see http://upc-bugs.lbl.gov for details):
- bug525: optimizer crashes on Tru64/CompaqC for libgasnet
- bug1229: More robust preprocessing on Compaq C
- bug1389: ansi-aliasing violations on small local put/get copies
- bug1531: improved lock fairness to remote lock requests
- bug1594: timer inaccuracies on Cray X1E
- bug1645: preprocess-time failure Backslash found where operator expected
- bug1657: PACKAGE_* symbols exposed to UPC code on GCCUPC+UPCR
- bug1683: improve upcrun handling of -shared-heap-max
- bug 1743: More robust behavior when backend C compiler changes
- Improved SRV-based DNS failover for upcc HTTP translation
- Add gzip compression to HTTP netcompile, for faster compiles over slow links
- Improved robustness for SSH netcompile to handle stray output from dotfiles
- Numerous misc minor bug fixes
xRecurseDiff 1.6
xRecurseDiff is a small program that can rapidly traverse entire directory trees. more>>
For every file in project directory search in library directory for files having the same name. A report containing results is shown. A detailed diff output can be shown. Search can be case-insensitive and limited by a char filter.
Installation:
Extract archive: tar xzf xRecurseDiff.version.tgz
Enter in the new directory: cd xRecurseDiff.version
Link the correct language file: ln -s lang/xrdstrings-lang.h xrdstrings.h
Compile: make
Copy in the path: cp xrecursediff /usr/local/bin/
DiffJ 1.1.2
DiffJ is a commandline application that compares Java files based on content. more>>
Its output is based on the Unix program diff, and it also has a "brief" output format for a concise summary of what changed. It can work on directories recursively, looking for matching filenames, like "diff -r dir0 dir1".
DiffJ is primarily for developers refactoring and reformatting Java code, for which most difference tools tend to produce misleading results regarding the type and extent of changes.
Enhancements:
- The difference comparator of functions (methods and constructors) has been fixed, and the default Java source is now 1.5.