bsy's Anonymously FTP'able Bits
bsy is now at UCSD, and this page is no longer being maintained here.
The following are my papers that are anonymously FTP'able.
Other CMU CS technical reports may also be found by anonymous FTP from
reports.adm.cs.cmu.edu, in the /usr/anon/1993 directory,
or accessed here.
These reports are all in PostScript.
Send email to
if you have problems with or questions about the FTP server.
Please read the
notice before obtaining a copy of the reports.
Some browsers insists on cd'ing down each directory component in turn.
This interacts badly with the access control mechanism implemented in
the CMU FTP daemon. If you are using such a browser, please FTP directly
by hand, or use another browser.
The following are pointers to software that are available from my FTP
area. The codes run under a BSD4.3 environment; some have no
operating system dependencies at all. They are all compressed TAR
- My C header file and build scripts for allowing easy porting
across various platforms (data type sizes, etc), and for
setting up a shared source tree with multiple shadow object
trees for simultaneous compilation for multiple architectures.
- my AVL tree implementation.
- my generalized message library and the
faucet/drain program which are built on top of it.
(faucet.tar.Z and gms.tar.Z are the same file.)
Faucet and drain are pairs of programs that allow you to
send data easily through the network, enabling the use
of a dataflow style of programming,
obtaining coarse-grained parallelism on a network of workstations.
Faucet/drain may be compiled to authenticate the client via
a simple secret key protocol, in which case the
pubdes package below is required.
The simple queuing package below is required.
- my context grep with optional highlighting of the matched text.
- NCSA's httpd (beta 0.3) with my extensions for easily site-customized
access control (the CMUCS code duplicates our Anonymous FTP access
controls via per-directory .anonr files), and a mechanism
for running subservers. It is compatible with HTTP/0.9 cognizant
clients, so it works with Mosaic 2.0.
- My collection of subservers that run under the above httpd.
These are not CGI compliant -- they currently run only
under my older, pre-CGI http server.
When I next have time I'll see about converting things.
This package includes a script for translating Unix manual pages
(the output of man,
so MPATH/MANPATH searches are done) to
hypertext on-the-fly, and the subserver that uses it;
a AFS-specific white-pages lookup subserver;
and also a few other miscellaneous routines.
Also included are my scripts for starting xmosaic up and controlling
it from remote machines;
using the remote-control scripts requires
the gms package above.
These subservers run under my modified httpd,
and if you want to enable the access control mechanism
you will need to grab that as well.
The url_fetch script requires the
server package for fetching
http: and gopher: URLs,
and the gms package for fetching
certain news: URLs. file:/ftp:
URLs are simply handled with
- My simple network interface program for running inetd-style TCP-based
servers by unprivileged users.
- sample code to use pseudoterminals transparently.
The code skeleton allows the programmer to install
`filters' on the I/O streams easily; a program that separately
logs input/output streams (other half of script
functionality) is given as sample.
- my version of
Phil Karn's (<email@example.com>)
public domain DES package,
modified to allow multithreaded use.
Please do not access if you are not physically in the
United States and are either a permanent resident or citizen.
And can guarantee that the network packets will not travel over
any but U.S. land-based lines.
Requires comp_environ, but a simple
modification to the Makefile to add -Dint32=APPROPRIATE_TYPE
to CFLAGS will do in a pinch.
- a simple queue implementation. Used by
- my portable process checkpointing package.
This library allows easy checkpointing of processes so that
a process may be restarted after a system crash.
Useful for compute-bound processes.
- my generic client program for connecting to any TCP or UDP server.
Required by the url_fetch script in the
- my X client for maintaining consistent idle time.
It modifies the idle time of your console to reflect keyboard
activity in any window, so people who finger you will know
whether you're actually around or not. Optionally, xidle can
pretend that you're idle when you're not (hide mode),
or pretend that you're busy when you're actually not touching
the keyboard (busy mode).
If you just want consistent idle times, the server patch
by the same name suffices.
- fast bitblt routines for a simple bitmap format; requires X11.
- Webster's dictionary interactive client code,
used internally by the http server script.
Features word completion listing. Modified netware.
- My implementation of Adi Shamir's Secret Sharing.
Permits you to split a secret file into n pieces
to distribute to n trusted friends, r of
whom must release their shares in order to reconstruct
the original secret. One example usage would be to
set up your own key escrow a la Clipper, but without
any government intervention/participation.
Requires the use of the public domain DES package
for cryptographically secure pseudo-random number generation.
firstname.lastname@example.org / email@example.com, last updated 4 April 1996.
Join the Blue Ribbon Anti-Censorship Campaign!