Describe v1.0 by James Brookes.

This commit is contained in:
gdr 1996-01-22 01:27:37 +00:00
parent 53e5462236
commit effd236a58
5 changed files with 1052 additions and 0 deletions

View File

@ -0,0 +1,20 @@
About Me
~~~~~~~~~
Um. Not much to say right now. I'll get back to this part later.
About My Source
~~~~~~~~~~~~~~~
I guess I used to feel a bit propriatary about it, but a couple of things
have caused me to change my mind:
1) Losing over half of the eps source, may it rest in peace.
2) Yes, people can profit by and sometimes even improve (gasp!) my
source. And I'd be a grumpy old coot if I didn't let them.
So what this means is that most (not all) of my stuff will be released
with full source from now henceforth. I only ask of you, the humble masses
yearning to be free, please don't distribute modified versions of my programs
without first contacting me. I think this is only fair.
James Brookes
jamesb@ecst.csuchico.edu

View File

@ -0,0 +1,231 @@
#ifndef _ORCAC_
#define _ORCAC_
#endif
#ifdef _ORCAC_
#pragma optimize -1
#pragma stacksize 512
#endif /* _ORCAC_ */
/* */
/* descc - compile info file into describe database file */
/* */
/* v1.0.0 - James Brookes [Sat Oct 23 1993] */
/* released [Thu Mar 31 1994] [!!!!!!!!!!!] */
/* */
/* This version implements the following features: */
/* */
/* o Compiles a text file which follows the specifications in the */
/* included file 'describe.format'. The format of the describe */
/* database is as follows: */
/* */
/* Header */
/* */
/* 2 bytes: Short Int, number of Name Entries */
/* */
/* Name Entries */
/* */
/* 34 bytes: Null-terminated string; name of utility */
/* 4 bytes: Long Int, offset of record in file. */
/* */
/* Records */
/* */
/* 7 variable-length Null-terminated strings. */
/* */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma lint -1
/* prototypes */
void usage(char *callname);
void puke(int error,int lines);
int mygets(char *buffer, int *lines, FILE *FInPtr);
/* defines */
typedef struct nameEntry_tag
{
char name[34];
long int offset;
}nameEntry;
#define _VERSION_ "v1.0.0"
#define QUOTE_CHAR '#'
#define OUTFILE "/usr/local/lib/describe"
#define FIELD_LEN 9
#define NAME "Name: "
#define VERSION "Version: "
#define AUTHOR "Author: "
#define CONTACT "Contact: "
#define WHERE "Where: "
#define FTP "FTP: "
/* */
/* usage - you know what to do */
/* */
void usage (char *callname)
{
fprintf(stderr,"%s %s\n",callname,_VERSION_);
fprintf(stderr,"usage: %s <describe sourcefile>\n",callname);
exit(0);
}
/* */
/* puke - stdlib errors */
/* */
void puke (int error,int lines)
{
fprintf(stderr,"\nError $%x in line %d of script\n",error,lines);
fflush(stdout);
exit(error);
}
/* */
/* mygets - get a line (skipping commented lines) and increment line count */
/* */
int mygets (char *buffer, int *lines, FILE *FInPtr)
{
int i;
do
{
if (fgets(buffer,80,FInPtr)==NULL)
return(-1);
buffer[strlen(buffer)-1] = '\0'; /* remove trailing \n */
lines++;
}
while(buffer[0] == QUOTE_CHAR || buffer[0] == '\n');
return(0);
}
/* */
/* Mainline */
/* */
int main (int argc, char **argv)
{
FILE *FInPtr, *FOutPtr;
long int *record_locs, currLoc, endOfFile;
char *tmpPtr, *buffer;
int lines, namecount, c, i, j;
nameEntry nameStruct;
if (argc != 2)
usage(argv[0]);
/* open input and output files */
buffer = (char *) malloc (81);
if ((FInPtr = fopen(argv[1],"r")) == NULL)
{
fprintf(stderr,"Error opening %s; exiting.\n",argv[1]);
free(buffer);
exit(1);
}
if ((FOutPtr = fopen(OUTFILE,"w+")) == NULL)
{
fprintf(stderr,"Error opening output file %s; exiting.\n",OUTFILE);
free(buffer);
exit(1);
}
/* Compile array of names */
lines = 0;
namecount = 0;
fseek(FOutPtr,2,SEEK_CUR); /* space for # of array entries */
while(mygets(buffer,&lines,FInPtr) != -1)
{
if (!strncmp(buffer,NAME,FIELD_LEN)) /* found a match */
{
tmpPtr = &buffer[FIELD_LEN];
strcpy(nameStruct.name,tmpPtr);
fwrite(&nameStruct,sizeof(nameStruct),1,FOutPtr);
namecount++;
}
}
record_locs = (long int *) malloc (namecount*sizeof(long int));
rewind(FInPtr);
buffer[0] = '\0';
lines = 0;
fprintf(FOutPtr,"\t");
/* Increment to first field */
while (strncmp(buffer,NAME,FIELD_LEN)) /* found a match! */
mygets(buffer,&lines,FInPtr);
for (i = 0; i < namecount; i++)
{
record_locs[i] = ftell(FOutPtr);
for (j = 0; j < 5; j++) /* parse additional info */
{
mygets(buffer,&lines,FInPtr);
tmpPtr = &buffer[FIELD_LEN];
fprintf(FOutPtr,"%s\n",tmpPtr); /* print out fields */
}
/* handle comment field */
while (1)
{
if (mygets(buffer,&lines,FInPtr) == -1)
break;
if (!strncmp(buffer,NAME,FIELD_LEN)) /* until next field */
break;
fprintf(FOutPtr,"%s ",buffer);
}
fprintf(FOutPtr,"\n");
}
endOfFile = ftell(FOutPtr);
rewind(FOutPtr);
fwrite(&namecount,2,1,FOutPtr);
/* time to go through the record_locs array and backpatch in */
/* all the record locations. A little slower than necessary */
/* perhaps, but it gets the job done. */
for (i = 0; i < namecount; i++)
{
currLoc = ftell(FOutPtr);
fread(&nameStruct,sizeof(nameStruct),1,FOutPtr);
fseek(FOutPtr,-(sizeof(nameEntry)),SEEK_CUR);
nameStruct.offset = record_locs[i];
fwrite(&nameStruct,sizeof(nameStruct),1,FOutPtr);
}
fseek(FOutPtr,endOfFile,SEEK_SET);
fclose(FOutPtr);
free(record_locs);
free(buffer);
}

View File

@ -0,0 +1,205 @@
#pragma optimize 15
#pragma stacksize 512
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#pragma lint -1
#ifdef STACK_CHECK
void begin_stack_check(void);
int end_stack_check(void);
#endif
/* prototypes */
void usage(char *callname);
void print_entry(FILE *FInPtr, long int index);
void myprintf(char *string, int wordwrap_size);
/* defines */
typedef struct nameEntry_tag
{
char name[34];
long int offset;
}nameEntry;
#ifndef FALSE
#define FALSE 0
#define TRUE 1
#endif
#define _VERSION_ "v1.0"
#define INFILE "/usr/local/lib/describe"
#define NAME "Name: "
#define VERSION "Version: "
#define AUTHOR "Author: "
#define CONTACT "Contact: "
#define WHERE "Where: "
#define FTP "FTP: "
void usage(char *callname)
{
fprintf(stderr,"Describe %s\n",_VERSION_);
fprintf(stderr,"usage: %s -[v] <utilityname>\n",callname);
exit(0);
}
void myprintf(char *string, int wordwrap_size)
{
int length = 0;
char *headString, *tailString;
headString = tailString = string;
printf("\n");
while (1)
{
tailString++; length++;
if (*tailString == '\0')
{
printf("%s",headString);
return;
}
else if (length == wordwrap_size)
{
while (*tailString != ' ')
tailString--;
*tailString = '\0';
printf("%s\n",headString);
headString = tailString+1;
length = 0;
}
}
}
void print_entry(FILE *FInPtr, long int index)
{
char *buffer;
buffer = (char *) malloc (1024);
fseek(FInPtr,index,SEEK_SET);
printf("%s",VERSION);
fgets(buffer,80,FInPtr);
printf("%s",buffer);
printf("%s",AUTHOR);
fgets(buffer,80,FInPtr);
printf("%s",buffer);
printf("%s",CONTACT);
fgets(buffer,80,FInPtr);
printf("%s",buffer);
printf("%s",WHERE);
fgets(buffer,80,FInPtr);
printf("%s",buffer);
printf("%s",FTP);
fgets(buffer,80,FInPtr);
printf("%s",buffer);
fgets(buffer,1024,FInPtr);
myprintf(buffer,75);
free(buffer);
#ifdef STACK_CHECK
printf("Stack: %d\n",end_stack_check());
#endif
exit(0);
}
int main (int argc, char **argv)
{
FILE *FInPtr;
char searchName[34];
long int index;
int verbose, argind, numOfEntries, cmp, offset1, offset2, check, i;
nameEntry nameStruct;
#ifdef STACK_CHECK
begin_stack_check();
#endif
verbose = FALSE;
argind = 1;
if ((argc == 3) && (!strcmp(argv[1],"-v")))
{
verbose = TRUE;
argind++;
}
else if (argc != 2)
usage(argv[0]);
FInPtr = fopen(INFILE,"r");
fread(&numOfEntries,2,1,FInPtr);
offset1 = 0;
offset2 = numOfEntries-1;
strcpy(searchName,argv[argind]);
i=0;
while(searchName[i] = tolower(searchName[i++]));
if (verbose)
printf("Searching...\n");
while (1)
{
check = ((offset2-offset1)/2) + offset1;
fseek(FInPtr,2+(check*sizeof(nameEntry)),SEEK_SET);
fread(&nameStruct,sizeof(nameEntry),1,FInPtr);
cmp = strcmp(nameStruct.name,searchName);
if (verbose)
printf(" checked %s\n",nameStruct.name);
if (cmp > 0)
offset2 = check-1;
else if (cmp < 0)
offset1 = check+1;
else
{
if (verbose)
{
printf("Found entry %s!\n",searchName);
exit(0);
}
printf("%s%s\n",NAME,searchName);
print_entry(FInPtr,nameStruct.offset);
}
if (offset1 > offset2)
{
printf("Entry '%s' not found in describe database.\n",searchName);
exit(1);
}
}
}

View File

@ -0,0 +1,565 @@
#===============================================================================
# List of shell applications for GNO/ME Last revision: 11/2/93
#===============================================================================
#
# About this file
# ~~~~~~~~~~~~~~~
# This file is in human readable form, but is intended to be compiled with
# the program 'descc' into the 'describe' database. Just type 'descc
# <filename>', where <filename> is the name you saved this file to, and
# descc will compile the file into the file /usr/local/lib/describe. Make
# sure the directory structure '/usr/local/lib/' exists first! Information
# may be later culled from the file with the command 'describe <utility>'.
#
# Send additions/corrections to:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# James Brookes
#
# jamesb@ecst.csuchico.edu <-- Preferred
# bb252@cleveland.freenet.edu
#
# To obtain the version number of a file:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# A) use the shell program `getvers',
# B) any usage or -v/V flag supplied by the utility author
#
#
# NB: "Author" may mean who is maintaing the current port, and may not actually
# mean the original author of the program.
#===============================================================================
Name: argv0
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Emulates UNIX argv0 (manipulate argv array passed to programs). Runs
shell scripts with #!/... syntax. Runs s16 programs with arguments.
Name: aw30
Version: 1.0
Author: Robert Hill
Contact: rhill@eecs.ukans.edu
Where: /usr/local/bin
FTP: ...
Formats AppleWorks (Classic) Word Processor files for display. Handles
most options--including underline, boldface, margins, centering--on all
terminal types.
Name: binprint
Version: 1.2
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP:
Prints a hex dump of files or standard in
Name: bison
Version: 1.03
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
A port of the FSF's yacc replacement. bison is part of the GNU project. yacc
is a parser generator (also known as "compiler compiler").
Name: booz
Version: 2.0
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
Unpacks files that were packed with Zoo 2.1 or earlier.
Name: cal
Version: x
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP:
Prints a calendar for the current month or any month.
Name: calls
Version: 2.0
Author: Devin Reade
Contact: glyn@cs.ualberta.ca, glyn@ersys.edm.ab.ca
Where: ??
FTP: cco.caltech.edu and grind.isca.uiowa.edu.
A call chart generator, to show the sequence and calling dependancies of
functions within a program. It's more flexible than Orca shell version.
Requires cpp.
Name: cc
Version: 1.06
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
Unixish front-end for ORCA/C. Particularly useful in combination with dmake.
Name: ccprep
Version: 1.01
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
For use with cc. Allows the use of a kludge file for specifying #pragma
statements from the command line.
Name: chat
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Sends strings and waits for strings. Used to send modem commands and wait
for replies, etc..
Name: chmod
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /bin
FTP: ...
chmod allows the user to modify file permissions on a particular file;
including the read, write, destroy, backup, and invisible bits.
Name: copycat
Version: 1.4.1
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin
FTP: ...
copycat copies data bidirectionally between the two named ttys. It
can be used as a simple dumb terminal program.
Name: cron
Version: x
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/sbin
FTP: ...
Runs certain processes at certain times. cron is started by init.
Name: date
Version: 1.2
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Shows the date and time (optionally, continuously).
Name: descc
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/local/bin
FTP: ...
Compile a source file into a 'describe' database file.
Name: describe
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/local/bin
FTP: ...
Print a multi-line description obtained from the compiled 'describe'
database; giving utility name, version, author, author's contact, where the
utility is, as well as where the utility can be FTPd from on the InterNet.
Name: dial
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Uses your modem to dial telephone numbers stored in a database by name,
or looks up the numbers and reports without dialing.
Name: dialup
Version: 1.1
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/sbin
FTP: ...
Run from inittab to handle modems on dialup lines.
Name: dmake
Version: 0.4.3b (17 Jan 94)
Author: Devin Reade.
Contact: <glyn@cs.ualberta.ca>,<glyn@ersys.edm.ab.ca>
Where: /usr/bin
FTP: cco.caltech.edu,grind.isca.uiowa.edu.
A Unix-style make utility for automated compilation.
Name: eps
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin
FTP: ...
Display extensive process status information.
Name: expr
Version: 1.1
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP:
Evaluates matehmatical expressions; prints result in normal and
scientific notation. Uses C like syntax.
Name: flex
Version: 2.38
Author: Soenke Behrens
Contact: berenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
A port of the FSF's lex replacement. flex is part of the GNU project. lex
is a tokenizer generator, to be used in conjunction with yacc. Note that due
to the way the FSF writes their code (yuck), flex has some problems with ints
being 16-bit instead of 32-bit on the GS. A version that fixes these problems
will be released as soon as the more annoying bugs are out of ORCA/C 2.0.1.
Name: fmake
Version: 1.0
Author: Felix Blank
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
fmake is Unixish make utility. It only understands a small subset of make
commands, though, barely enough to maintain small projects. Written originally
by Felix Blank, now "maintained" by Soenke Behrens. The need for this utility
will vanish with the advent of dmake.
Name: getvers
Version: 1.2
Author: Ian Schmidt
Contact: irsman@iastate.edu
Where: /usr/bin
FTP: pindarus.cs.uiuc.edu
Gets the rVersion information on a EXE, including name, version, and any
other information the author wishes to include, printing it to standard out.
Name: init
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Sends commands to the init daemon.
Name: initd
Version: 1.4
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/sbin
FTP: ...
Starts and kills processes, maintains the system run level, and runs
syslogd (log daemon)
Name: joinpara
Version: 1.0
Author: Devin Reade
Contact: glyn@cs.ualberta.ca, glyn@ersys.edm.ab.ca
Where: /usr/bin
FTP: cco.caltech.edu, grind.isca.uiowa.edu.
A filter to strip newlines from the middle of paragraphs, but not
elsewhere. Written to ease the importing of text files into word
processor documents.
Name: last
Version: 1.0
Author: Steve Reeves
Contact: reevess@cse.fau.edu
Where: /usr/bin
FTP: grind.isca.uiowa.edu
last indicates last logins by user or terminal. It searches
through the login accounting file "/etc/wtmp" for this information.
It is only useful with GNO's Multi-User package.
Name: machtype
Version: 1.4
Author: Ian Schmidt
Contact: irsman@iastate.edu
Where: /usr/bin
FTP: pindarus.cs.uiuc.edu
Gets and prints a wide variety of information on your IIgs system, including
memory, versions of GNO, GS/OS, and the ROM, accelerator type if any, and more.
Name: makedmake
Version: 1.1.1
Author: Devin Reade
Contact: <glyn@cs.ualberta.ca>,<glyn@ersys.edm.ab.ca>
Where: /usr/bin
FTP: cco.caltech.edu,grind.isca.uiowa.edu,pindarus.cs.uiuc.edu
Calculates program dependencies and generates makefiles for dmake.
This is a particularily brain-dead port that will likely be superceded.
(By mkmf?) Suitable for simple dependancies.
Name: martian
Version: ??
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin or /usr/local/games
FTP: ...
Creates martian poetry in nroff format. The source is, alas, lost, it seems.
Name: mem
Version: 1.2
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Shows memory usage statistics in different formats.
Name: mkfs
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Formats or erases physical devices and creates file systems on them.
Name: mkdir
Version: 1.2
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /bin
FTP: ...
Make a directory.
Name: mugs
Version: 3.0
Author: Brian Tao
Contact: taob@io.org
Where: /usr/bin
FTP: ionews.io.org:/pub/apple/16bit/GNO
MuGS is a full-screen offline Internet e-mail and Usenet news
processor. Utilities for creating message packets on the UNIX system
and delivering replies are included. MicroEMACS 3.11c is required.
Name: newuser
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin
FTP: ...
Create a home directory with basic gshrc for a new user, and add user
into /etc/passwd file for immediate access.
Name: newuserv
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin
FTP: ...
Create a home directory with basic gshrc for new user, and add user
to /var/adm/newuser/newusers file for validation by the system operator.
Name: parent
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Shows the current process or a specified process and climbs up to the top
level process.
Name: phone
Version: 1.0.1
Author: Robert Hill
Contact: rhill@eecs.ukans.edu
Where: /usr/bin
FTP: ...
Based on talk, phone allows two users to interactively chat in a
split-screen format.
Name: rndname
Version: 4.0
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin or /usr/local/games
FTP: ...
Creates random names by a set of certain rules. Great if you have to come
up with names for your next RPG session and hate having to think up 20+
silly-sounding names all by yourself :)
Name: rtf2text
Version: 1.0.6
Author: Robert Hill
Contact: rhill@eecs.ukans.edu
Where: /usr/bin
FTP: ...
Converts RTF (Rich Text Format) files to text.
Name: sendmail
Version: 1.1
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/lib/
FTP: ...
Sends mail from one local user to another, or spools mail for foreign
destinations.
Name: setvers
Version: 1.0.2
Author: Ian Schmidt
Contact: irsman@iastate.edu
Where: /usr/bin
FTP: pindarus.cs.uiuc.edu
Sets the rVersion information on a EXE, including name, version, and any
other information the author wishes to include.
Name: su
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /bin
FTP: ...
Launch a new shell as another user.
Name: sync
Version: x
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Causes GS/OS to commit all pending data to disk.
Name: timelimit
Version: 1.1
Author: Devin Reade
Contact: glyn@cs.ualberta.ca, glyn@ersys.edm.ab.ca
Where: /usr/bin
FTP: cco.caltech.edu, grind.isca.uiowa.edu.
Limits the run time of a process; when the time is up, it sends the
specified process a series of SIGINTs.
Name: udl
Version: 1.03
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
Converts text between the CR, LF and CR/LF forms. Somewhat on the slow side,
so don't use it.
Name: unarj
Version: 2.41
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
Unpacks files that were packed with ARJ 2.41 or earlier.
Name: unpp
Version: 1.1
Author: Soenke Behrens
Contact: behrenss@informatik.tu-muenchen.de
Where: /usr/local/bin
FTP: ...
Uncompresses PowerPacker(tm) documents, which are created by them Amigoids.
Name: uptime
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin
FTP: ...
Reports the time, amount of time the system has been up, number of
users, and system load averages for the last 1, 5, and 15 minutes.
Name: uptimed
Version: 1.0
Author: Robert Hill
Contact: rhill@eecs.ukans.edu
Where: /usr/sbin
FTP: ...
Keeps track of system load averages for the uptime utility over the last
1, 5 and 15 minutes.
Name: wrap
Version: 1.1
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Word wraps text to a certain length (79 default). Also filters binary
data and is very fast.
Name: xbiff
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: */system/desk.accs/
FTP: ...
XBiff is an NDA which gives the user a colorful mailbox announcing both
aurally and visibly when the user has mail. OA-clicking on the window's
content region causes a title bar to appear, allowing the window to be moved.
Name: xclock
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: */system/desk.accs/
FTP: ...
XClock is an NDA analog clock, similar to xclock -analog under XWindows.
OA-clicking on the window's content region causes a title bar to appear,
allowing the window to be moved and/or resized.

View File

@ -0,0 +1,31 @@
About Describe
~~~~~~~~~~~~~~
First off: make sure the directory /usr/local/lib exists!!!
This is yet another project I've been sitting on for a while, but have
finally decided to release. The basic idea of the 'describe' package
(the descc "compiler" and describe itself) is to provide a quick, easy
way of accessing information related to the utilities which so many
different people are releasing these days. The reason it sat around on
my harddrive so long is I was having qualms about its designated role in
life. I wasn't sure exactly what I wanted it to do. Well, I've decided
to KISS for now: descc simply compiles the utility list, which I maintain,
into a (very) simple "database" located in /usr/local/lib/. The companion
utility 'describe' is used to fetch information about a particular utility
from this "database".
descc is fairly limited, as is the "database" format itself. Part of the
KISS (or it wouldn't be out now) design philosophy ;). Usage is simple:
when you get a new listing (I'll provide monthly updates), simply "descc
<filename>" where <filename> is the name of the newly released update.
descc will simply write over the old database and replace it with the
new (note: no appendages allowed).
As always, coments are appreciated. And, moreso than on other projects,
I'd appreciate some comments about the direction I'm going in, suggestions
as to where to take this, etc. I have a feeling that some fields in the
format (eg, FTP:) are rather useless, and I'd like to know what you guys
out there think.
James Brookes
jamesb@ecst.csuchico.edu