Mail File: 590i


Date: Tue, 18 Jan 1994 14:08:32 -0800
From: mikew@cutthroat
To: 590i@cutthroat
Subject: Hotlist to HTML

I have a shell script that allegedly converts a Mosaic hotlist into an
HTML document.  I haven't tried it yet -- I just grabbed it from
Usenet earlier today -- but if anyone wants to give it a try, it's in:

	/homes/gws/mikew/www/hotlist2html

I wish I'd had it a few days ago when I was manually converting my
hotlist into an HTML document...

-Mike


To: mikew@cutthroat
Subject: Re: Hotlist to HTML 
Date: Tue, 18 Jan 94 14:11:15 -0800
From: Paul Barton-Davis 

In a similar vein, I have a tool I wrote called, appallingly,
mlist2html, that converts a mailing list (that is, a file
with a userid-per line, no blank lines, etc) into an HTML
file complete with pointers to people's home pages. I've
been using it a lot. /homes/gws/pauld/www/mlist2html.

At some point soon, I'll be setting up a more global
area for WWW utilities. Promise.

-- paul


Date: Tue, 18 Jan 1994 14:16:44 -0800 (PST)
From: Aaron Kaleva Pulkka 
Subject: Re: Hotlist to HTML
To: mikew@cutthroat

On Tue, 18 Jan 1994 mikew@cutthroat wrote:
> I wish I'd had it a few days ago when I was manually converting my
> hotlist into an HTML document...

Oddly enough, mailing your hotlist to yourself (from within Mosaic, call 
up the hotlist and hit the Mail button) will do this.  You will need to 
tack on the , <head>, <body>, though it does add the <h1> 
automatically and turns all the items into links 
(see /homes/pulkka/hotlist.html for an example of the result).

I'd bet the shell script does something prettier, but...

-- - -  -  -   -   -    -    -     -     -     -    -    -   -   -  -  - - --
  Aaron Kaleva Pulkka <pulkka@cs.washington.edu>      CSE graduate student
     MUD aliases: teklon@kobra, kaleva@others       HITLab research assistant
 sci.virtual-worlds & rec.arts.cinema co-moderator    ACM chapter treasurer

</pre></a>

<p><hr>
<a name="4">
<pre>
Date: Wed, 19 Jan 1994 16:07:36 -0800
From: kepart@mako
To: bershad@cs.washington.edu
Subject: Re: Yesterday's 590I

Brian Bershad writes:
> Did anybody take any notes from yesterday's 590I?  I asked levy what
> happened and he said "so much I can't even remember."

Some of it's online in the ``brainstorming page'' which is accessible from
the 590I master page (http://www/research/projects/ai/590i).

If other people could add/elaborate/improve upon what's in there (I know
it's really incomplete & the organization isn't the greatest), that would
be very welcome.

</pre></a>

<p><hr>
<a name="5">
<pre>
Date: Wed, 19 Jan 1994 16:52:57 -0800
From: mef@willow (Marc Fiuczynski)
To: 590i@cs
Subject: something to consider for WWW.

I don't have the data to back this up, but my guess is that there are
a reasonable number of WWW servers that all of us look at.  If the
data on these servers changes slowly a simple caching scheme might buy
us alot in throughput and reduce latency.

Here is a blurb regarding WWFS that I found on comp.sources.misc.
------------------------------------------------------------------------
We are pleased to announce the availability of WWFS (WorldWide File
System, or Waku-Waku File System), a massively distributed file system
built upon existing anonymous ftp services.

The key component of WWFS is a daemon called "csd": a multi-protocol
hub for distributed filesystem, an NFS-FTP gateway software,
the Internet file cache, or the substrate for next-generation digital
media.

This research project has been funded and supported in part by NAIST
and WIDE Project.

Major features of WWFS:
   - Save your time and network bandwidth -- shared, persistent file cache.
   - Patch to add direct WWFS support in NCSA Mosaic for X (2.0 and 1.2).
   - Server selection by geographical / topological region.
   - World gets closer to you -- NFS-FTP gateway.
   - High portability -- DEC Ultrix, OSF/1, SunOS 4, NeXT, BSD/386,
     OMRON Luna2, Sony NEWS-OS 4, and MIPS RISC/os.
   - No kernel modification.
   - Migration tools from HTTP and Internet Gopher Protocol.
   - Location-independent, uniform name space.
   - Server can be restarted anytime.
   - Server switch upon network failure.
   - Freely re-distributable.
   
WWFS has been deployed campus-wide, 24-hour, and non-stop, at Nara
Institute of Science and Technology; OMRON Corporation has been
serving multi-level caching FTP server with WWFS.
------------------------------------------------------------------------


Marc

</pre></a>

<p><hr>
<a name="6">
<pre>
Date: Sun, 23 Jan 1994 15:51:13 -0800
From: voelker@edgar
To: 590i@cs
Subject: server side include files


I sent out a message (that I should have sent to 590i) asking how to
get executables invoked when html links are traversed, and Terri sent
a good response that I've included below.  I'm still having trouble
getting the server include mechanism to work with the current web
server, though, and I'm guessing that this server option has been
turned off on the department's server.  (Another reason why I'm
guessing this is the question at the end of the
/cse/lab/projects/www/issues file, which asks "How do we let people
get access to the server's ability to run their own gateway scripts?")

Does anyone know if the option has been turned off?

-geoff

From: Terri Watson <watson@parc.xerox.com>
Sender: Terri Watson <watson@parc.xerox.com>
To: voelker@cs.washington.edu
cc: bershad@cs.washington.edu, savage@cs.washington.edu,         zahorjan@cs.washington.edu, levy@cs.washington.edu,         lazowska@cs.washington.edu, gaetano@cs.washington.edu,         mef@cs.washington.edu, forman@cs.washington.edu
Subject: Re: invoking scripts through html links 
Date: 	Sun, 23 Jan 1994 15:28:39 PST

In message <199401232315.PAA22276@edgar.cs.washington.edu> you write:
>
>Do any of you know how to have a script/executable invoked when an
>html link is traversed (when a user clicks on a link)?

Sorry, meant to post this sooner:

Command in html file is:
<inc srv "|command">

An example from my personal page is:

<h3> Location </h3>
 
<inc srv "|/project/ubi/bin/birddog -ot | grep 'Terri Watson'"> <p>
 
-------

Another example, where the URL is a script:

<h3> <a href="/cgi-bin/zsend"> Send a message </a> to Terri </h3>
 
calls the script zsend which currently looks like:

#!/bin/sh
 
echo Content-type: text/html
echo
 
cat << EOM
 
<title>Send a zephyr message to Terri

Send a zephyr message to Terri


EOM echo '

Your Name:

' echo '

Your Host: ('$REMOTE_ADDR')

' cat << EOM

Instance : (optional)

Please enter the zephyr message text below.


ElfHome EOM ----------- The arguments to the script are sent as part of the URL once the form is filled in and you submit it. (The example script doesn't use the args because zephyr doesn't work outside the firewall.) For more info, consult: http://hoohoo.ncsa.uiuc.edu/docs/setup/admin/Includes.html .Terri


Date: Sun, 23 Jan 1994 16:35:25 -0800
From: pauld@stowe (Paul Barton-Davis)
To: voelker@stowe
Subject: server side includes 

You are right to suppose that this option has been turned off.

There are, as I mentioned last week in 590i, a number of rather
difficult issues associated with the use of URL's that refer to the
output of some executable file. The HTTP protocol makes it possible to
supply not only arguments but standard input to these executables, and
thus opens up the potential for all kinds of security issues that I
would love to find solutions for. 

I don't want to make any great claims about my programming ability,
but it seems reasonable to assume that its indicative of many people
within the department. My second attempt at writing a server-side
script contained an unbelievably stupid and extremely large security
hole. There isn't much a precedent for this kind of system, in which
random, unidentified remote clients cause a potentially large set of
local executables to be run, with arguments and input. Thats why for
now, nobody except me has the ability to install this kind of script,
and I'm being rather slow (read: cautious) about using it.

I sincerely would like to resolve these issues, both because I don't
want to stifle people's creativity, and because I don't want to create
a motivation for multiple HTTP servers within the cs.washington.edu
domain. So, if anyone has any good ideas, please pass them around.

-- paul


Date: Wed, 2 Feb 1994 15:54:18 -0800
From: pauld@stowe (Paul Barton-Davis)
To: 590i@stowe
Subject: SEW: the dumb approach to handling the web 

Don't ask me why its called SEW, because I don't know. You can,
however, read about how to use it:

	http://www.cs.washington.edu/homes/pauld/sew.html

The software is all in the 590i area, so you are welcome to use it.
The current implementation is not particularly speedy, not totally
suprising given its existence as a suitably complex awk script, but if
anyone wants to write a C version ... be my guest.

Remember, SEW relies on your social skills as much as my finess with
awk: if you don't know anyone who sends you URL references, then SEW
isn't going to help you at all. With that in mind, I invite you all to
send me URL references - just make sure the body of the messages looks
like this:

URL: the-url-of-the-document
Title: the-title-of-the-document
descriptive text
possibly lasting
several
lines

It would nice if the subject said "URL reference" too.

In the next few days, /usr/local/bin will contain a mosaic that will
make this latter step easy.

PLEASE, PLEASE send me bug reports. Also, if you figure out cool
optimizations for the awk script, let me hear about them as well.

-- paul


Date: Thu, 27 Jan 1994 12:01:41 -0800
From: pauld@stowe (Paul Barton-Davis)
To: 590i@stowe, www-folk@stowe
Subject: server-side executables 

The HTTP server on www.cs.washington.edu is now configured to allow
people to try their hand at providing server-side executables
(i.e. when someone using a HTTP client follows a link, it causes a
program to be executed, and the output of that program to be sent back
to the client).

Your programs must reside in /projects/ai/590i/post-bin. See the 590i
page for a pointer to a document describing how to do this. Please pay
attention to the security issues and guidelines described there.
Access to these programs is restricted to CS department machines only.

-- paul


Date: Wed, 2 Feb 1994 16:14:56 -0800
From: pauld@stowe (Paul Barton-Davis)
To: 590i@stowe
Subject: while on the subject of SEWing ...

... I should mention 

	/projects/ai/590i/pauld/murl.

This is for use from your favorite rn-like newsreader, wherein you
type (from the article selection level):

	| murl pauld excellent article on throbbing gristle

and it will promptly send a SEW-compatible message to "pauld", that
looks like:

	To: pauld
	Subject: URL reference

	URL: news:message-id-of-news-article
	Title: news article from newsgroup-article-was-posted-to

	excellent article on throbbing gristle

-- paul "no apologies for unix names" barton-davis


Date: Tue, 8 Feb 1994 14:13:56 -0800 (PST)
From: Mike Perkowitz 
Subject: 590i mail now HTMLed (more or less)
To: 590i@june.cs.washington.edu


i wrote a little perl script to take a mailbox file and turn it into to 
html files: an index and a body. i've applied this to my 590i folder and 
put it in the 590i directory. right now i am not updating it 
automatically, so it may be sporadic.

my idea, for my own use, was to set up my mail archives so that i could 
read them (no, they are not publically readable! ;) so the script 
automatically places the index and body files in a WWWMAIL directory 
(defined with an environment variable) and maintains a file of indices 
into the various folders. 

i'll send out the script in my next message. it's not entirely flawless. 
for example, converting 590i mail that contains html examples results in 
some bizarre-looking documents, since it interprets the html code in the 
message (even though it's enclosed in a 
 tag). 

also.. is there any way i can add a link to my private stuff to my home 
page that i can traverse that others cant? if i just set the permissions 
so that only i can see it, i cant even access it unless i use the "open" 
dialog..

m

------------------------------------------------------------------------

	Inigo: I admit it, you are better than I am.
	Dread Pirate Roberts: Then why are you smiling?
	Inigo: Because I know something you don't know.
	Dread Pirate Roberts: And what is that?
	Inigo: I am not left-handed.
	Dread Pirate Roberts: You're amazing!
	Inigo: I ought to be after twenty years.
	Dread Pirate Roberts: There is something I ought to tell you.
	Inigo: Tell me.
	Dread Pirate Roberts: I am not left-handed either.
                     
					(from "The Princess Bride")

------------------------------------------------------------------------
     t   i   n   t   i   n   n   a   b   u   l   a   t   i   o   n    
------------------------------------------------------------------------


Date: Tue, 8 Feb 1994 14:14:30 -0800 (PST)
From: Mike Perkowitz 
Subject: mail2html perl script
To: 590i@june.cs.washington.edu


#!/usr/local/bin/perl

($mailfile,$htmlfile) = @ARGV;

$HOME = $ENV{"HOME"};
$WWWMAILDIR = $ENV{"WWWMAILDIR"};

if ($htmlfile eq "") {
  $htmlfile = $mailfile;
}

$frm = `frm -n $mailfile`;
@frms = split(/\n/,$frm);

open(INDEX,">$WWWMAILDIR/$htmlfile-index.html");
print(INDEX "Mail File: $htmlfile\n\n");
print(INDEX "

Mail File: $htmlfile

\n\n"); print(INDEX "


\n\n"); open(BODY,">$WWWMAILDIR/$htmlfile-body.html"); print(BODY "Mail File: $htmlfile\n\n"); print(BODY "

Mail File: $htmlfile

\n\n"); foreach $frm(@frms) { if ($frm =~ /([0-9]+):(.*)/) { print(INDEX "
"); print(INDEX "
$2
\n"); $body = `readmsg -f $mailfile $1`; print(BODY "


\n\n
\n$body\n
\n\n"); } } print(INDEX "\n


\n\n"); print(INDEX "
A Dumbot-Compiled Page "); print(INDEX "(dumbot@u.washington.edu)
\n"); close(INDEX); print(BODY "\n


\n\n"); print(BODY "
A Dumbot-Compiled Page "); print(BODY "(dumbot@u.washington.edu)
\n"); close(BODY); open(MAIL,">$WWWMAILDIR/mail.html"); print(MAIL "Mail\n\n"); print(MAIL "

Mail

\n\n"); print(MAIL "


\n\n"); $mailfiles = `ls $WWWMAILDIR`; @files = split(/\n/,$mailfiles); foreach $file(@files) { if ($file =~ /index/) { print(MAIL ""); print(MAIL "$file\n"); } } close(MAIL); system("chmod 600 $WWWMAILDIR/mail.html"); system("chmod 600 $WWWMAILDIR/$htmlfile-index.html"); system("chmod 600 $WWWMAILDIR/$htmlfile-body.html");


Date: Tue, 8 Feb 1994 14:17:52 -0800 (PST)
From: Mike Perkowitz 
Subject: mail2html whoops
To: 590i@june.cs.washington.edu


there should be an 
  • placed before each link in the last foreach foreach $file(@files) { if ($file =~ /index/) { print(MAIL "
  • "); print(MAIL "$file\n"); } } ------------------------------------------------------------------------ So, you say, there are too many car accidents on the roads? Not to worry! Here's what they did in Israel to confront the problem: It is a well known fact that Israeli drivers are crazy. In particular the Israeli male driver is considered to be extremely competitive and aggressive. [This last statement wouldn't have been made if they had seen my one and only mother, who is an Israeli non-male driver, operate her motor vehicle, but what the hell...] Recently, a new series of highway billboards appeared on the roads which read something like: "Research has shown that aggressive drivers usually have smaller than average penises". While I haven't yet seen any statistics, I'm pretty sure that this could have a major effect on reducing the fatalities on the roads. ------------------------------------------------------------------------ t i n t i n n a b u l a t i o n ------------------------------------------------------------------------

  • Date: Mon, 14 Feb 1994 11:50:56 -0800 (PST)
    From: Mike Perkowitz 
    Subject: sew-make-index
    To: 590i@june.cs.washington.edu
    
    
    i just wrote a script that looks at your ~/www/incoming directory and 
    creates a file ~/www/sew.html that contains links to what you have there. 
    the index page will display, for each file, the number of links there 
    (greps for "href") and the last modification date, so you can see at a 
    glance if there's anything new.
    
    it is designed around the way my sew is set up -- sew generates files 
    like default.html, and i have a file called default-index.html that 
    includes it and wraps a header and footer around it. my script, 
    therefore, ignores files that contain "index" in their names and, for 
    every file named .html, creates a link to -index.html
    
    if that doesnt work for you, copy it and modify it -- it's easy. :)
    
    m
    
    SEND ME URLs :)
    
    ------------------------------------------------------------------------
         t   i   n   t   i   n   n   a   b   u   l   a   t   i   o   n    
    ------------------------------------------------------------------------
    
    


    Date: Mon, 14 Feb 1994 14:39:20 -0800
    From: pauld@stowe (Paul Barton-Davis)
    To: 590i@stowe
    Subject: Mike's sew index, part II 
    
    So, I really liked this idea, but not the details. Now, I just do
    this:
    
    Incoming Suggestions
    
    to create a link to a script that will create the index for me on the
    fly. Why keep it around in a file if it takes 2-3 seconds to create it ?
    
    I kept Mike's file layout (~/www/incoming/*[-index].html), and tried
    to show my novicehood when it comes to perl. Details in
    590i/post-bin/sewindex. Obviously, for your own personal use, change
    the query string from ?pauld to ?yourname, whatever yourname is.
    
    -- paul
    
    


    Date: Mon, 14 Feb 1994 15:02:57 -0800 (PST)
    From: Mike Perkowitz 
    Subject: hotlister (the paul way)
    To: 590i@june.cs.washington.edu
    
    
    i just wrote a script similar to paul's version of my sewindexer that 
    converts your hotlist into a page. i just use:
    
    hotlist
    
    it's in the post-bin directory
    
    (thanks paul for the simple example)
    
    m
    
    ------------------------------------------------------------------------
    
             "Nobody beats Vitas Gerulaitis seventeen times in a row!"
                      --Vitas Gerulaitis, on beating Jimmy Conners
                        after losing to him for 16 straight matches
    
    ------------------------------------------------------------------------
         t   i   n   t   i   n   n   a   b   u   l   a   t   i   o   n    
    ------------------------------------------------------------------------
    
    


    A Dumbot-Compiled Page (dumbot@u.washington.edu)