On this page you find some software that I made or maintain. For each package there is a short description and one or several links for download.
There are the following entries:
Why are refinements a good idea?
During programming they allow to defer thinking, that is, to work top-down within a procedure or method. In my personal experience, the result is easier programming and often more nicely structured software.
More importantly, during program reading refinements allow for much quicker understanding of the program logic, because the software is prestructured to clearly show both the structure and purpose of its programming logic.
Here is a trivial example of a program written using C-Refine, so you can get the idea.
Here is the C-Refine source code distribution.
To learn more about resampling, visit the University of Maryland's Resampling Project.
Christian Sy and myself have designed and written a Java package "resample" for one-dimensional resampling statistics. Here is the core of a Java program for computing the distribution of differences of the arithmetic means of two data samples s1 and s2. This computation would replace the t-test of classical statistics, but does not require a normality assumption for the data samples.
Here you find a distribution called resample 1.0 containing source files, class files, a number of example programs, and HTML documentation. The package was thoroughly tested and should be robust enough for practical use.
If you don't want to download rightaway you can also delve into the documentation or into the source code first or have a look at the example programs.
Usage: rename from_pattern to_pattern filename... Renames all of the files matching the from_pattern by replacing the from_pattern with the to_pattern in their names. Other files' names are unchanged. Filenames must not contain '!' The patterns are Perl regular expressions and are used in a single s/from/to/ command (so the \\1 syntax can be used). Examples: rename '.c' '.cr' * renames all files with names ending in '.c' to have ending '.cr' rename '^tryit([1-9]).([cp])*' 'dunnit\\1.\\2' * renames all files with names tryitHere is the rename source code.
.c or tryit .p to have first namepart 'dunnit' and same digit and suffix. (and, of course, there are always many other ways to say the same)
histogram [options] type [typeargs]Here is the histogram source code.
postscriptfile uses jgraph 8.0 (www.netlib.org) for producing nice histograms in PostScript options are: -col n use data from n-th column per line only (first col is 0) -width inch width of x-axis on output in inches (default: 2.4) -height inch height of y-axis on output in inches (default: 1.8) -ymax n highest value on y-axis (default: automatic) -sum show total number of data points as well -quantiles show 25/50/75 percentiles as well ('bins*' types only) -jgraph output raw jgraph commands (default: output postscript) type is one of: all one bar for each distinct value these val... one bar for each value given, other values are ignored theseO val... ditto, plus an additional bar `other' at right bins n min max n equidistant bars, first starting at min, last ending at max bins min max integer histogram: one bar per integer from min to max (actually min-0.5 to max+0.5, each bar 1 wide) binsL [n] min max ditto, plus an additional bar `< min' at left binsH [n] min max ditto, plus an additional bar `> max' at right binsLH [n] min max binsL and binsH combined non-numeric data is ignored for the 'bins*' types, otherwise all data is handled as strings. Lines are always split into words at whitespace, comma, and semicolon.
Sock is written in C, using the socket operations of Unix systems. It should be portable to all systems that support BSD sockets and the Bourne shell (/bin/sh). Here is the source code distribution sock 1.1.
Here is the cgrep Perl source code.
Back to Lutz Prechelt's homepage.