Here is code of various sorts that I hereby release into the public domain. If you find it useful, drop me a line and let me know.
| NAME |
LANGUAGE/PLATFORM |
DESCRIPTION |
|
|
SHOP.COM Cache |
Java |
An object cache system |
Details Download |
|
SRP Library |
Java |
An implementation of SRP - Secure Remote Password Protocol. See http://srp.stanford.edu and http://srp.stanford.edu/ndss.html

| |
| 6/18/09 | Bug reported by frederic barachant. read(byte[], int, int) needs to return -1 if the stream is closed. | | 2/27/07 | 1) Updated to the SRP-6a specification. 2) Incorporated some checks suggested by Tom Wu. 3) Documented the I/O protocol. | | 2/21/07 | Updated to the SRP-6 specification. | | 2/20/07 | SRPInputStream.read(byte[] ...) was broken. | | 2/20/07 | Added InputStream and OutputStream wrappers to make the library easier to use. |
|
|
Details Download |
|
ChunkedByteArray |
Java |
Abstracts an unbounded array that is internally broken into chunks. This avoids allocating large contiguous byte arrays which is very innefficient in Java.

| |
| 12/20/08 | This is now part of the open-sourced sccache: http://code.google.com/p/sccache | | 1/30/08 | rewrote several of the append() methods. Added an equals() implementation. | | 12/24/07 | reworked offset calcs so that reads are thread-safe. I was originally worried about making an allocation to do it. But, as Brian Goetz says, allocations can be as little as 10 instructions. My simple testing shows that the allocation in calcTempOffsets(int) doesn't alter performance. | | 12/23/07 | append(InputStream in, Integer length) was incorrect if length was non-null. The read from the input stream could ask for too many bytes. |
|
|
Details Download |
|
K-Way Merge |
C++ and Java / Any |
Very fast merge sort.

| |
| 12/1/07 | Moved to SourceForge. | | 8/14/03 | Some JavaDoc files were missing. Added them. | | 6/2/03 | Added a Java version as well as some examples. Also, updated the C++ comments a bit. | | 1/24/10 | Moved to Google: http://code.google.com/p/kway/ |
|
|
Details Download |
|
Finder Marquee |
C / MacOS (Classic) |
Finder-style rubber band selection (used by Metrowerks Powerplant). |
Details Download |
|
Hash Map Cache |
Java |
Turns a Map into a cache. Values are stored as SoftReferences and the associated keys are removed as the values are purged. |
Details Download |
|
Multi-part Form Iterator |
Java |
Utility to parse multipart/form data. |
Details Download |