<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="Text File" newcontext="true">
<p>
Received: with ECARTIS (v1.0.0; list gopher);
 Thu, 04 Apr 2002 19:50:55 -0500 (EST)
Return-Path: &lt;jgoerzen@complete.org&gt;
Delivered-To: gopher@complete.org
Received: from christoph.complete.org (pcp947166pcs.cstltn01.in.comcast.net
 [68.58.145.248])
	by pi.glockenspiel.complete.org (Postfix) with ESMTP id F298B3B80B
	for &lt;gopher@complete.org&gt;; Thu,  4 Apr 2002 19:50:44 -0500 (EST)
Received: from localhost (localhost [127.0.0.1])
	by christoph.complete.org (Postfix) with ESMTP id 8649D5A313
	for &lt;gopher@complete.org&gt;; Thu,  4 Apr 2002 19:50:45 -0500 (EST)
Date: Thu, 4 Apr 2002 19:50:45 -0500
Subject: [gopher] Re: Pygopherd in background
Content-type: text/plain; charset=US-ASCII
Mime-Version: 1.0 (Apple Message framework v481)
From: John Goerzen &lt;jgoerzen@complete.org&gt;
To: gopher@complete.org
Content-Transfer-Encoding: 8bit
In-Reply-To: &lt;4196825B-4829-11D6-B899-0030654C9DF2@mac.com&gt;
Message-Id: &lt;298043CE-482F-11D6-857D-0003930BF072@complete.org&gt;
X-Mailer: Apple Mail (2.481)
X-archive-position: 558
X-ecartis-version: Ecartis v1.0.0
Sender: gopher-bounce@complete.org
Errors-to: gopher-bounce@complete.org
X-original-sender: jgoerzen@complete.org
Precedence: bulk
Reply-to: gopher@complete.org
List-help: &lt;mailto:ecartis@complete.org?Subject=help&gt;
List-unsubscribe: &lt;mailto:gopher-request@complete.org?Subject=unsubscribe&gt;
List-software: Ecartis version 1.0.0
List-ID: Gopher &lt;gopher.complete.org&gt;
X-List-ID: Gopher &lt;gopher.complete.org&gt;
List-subscribe: &lt;mailto:gopher-request@complete.org?Subject=subscribe&gt;
List-owner: &lt;mailto:jgoerzen@complete.org&gt;
List-post: &lt;mailto:gopher@complete.org&gt;
List-archive: &lt;http://www.complete.org/mailinglists/archives/&gt;
X-list: gopher
</p>
<p></p>
<p>On Thursday, April 4, 2002, at 07:08  PM, Clint Paden wrote:
</p>
<p>&gt; pygopherd is working great for me so far, I enjoy the improvements.
&gt; However, I do not know all that much about Python. What I would like to
</p>
<p>Take a look at www.python.org.
</p>
<p>&gt; know is is there any way to run pygopherd in the background or as a
&gt; daemon of some sort? If so how? If not, can it in the future? Also, what
</p>
<p>That capability is not natively present in pygopherd at this time, but
it will be.  In the meantime, you can just run:
</p>
<p>./pygopherd &amp;
</p>
<p>The &amp; will put it in the background.
</p>
<p>&gt; was the rationale for writing it in python as opposed to C or something
&gt; more commonplace (relatively)? Thanks!
</p>
<p>Several things.  For one, Python provided a lot of useful libraries and
utilites.  It comes with a nice library for figuring out MIME types, for
instance.  Python also is not vulnerable to buffer overflow attacks, one
of the most common security problems in C code.  Python also has a very
nice OO system, meaning that a modular architecture is quite easily
possible.  Several pygopherd classes inherit from each other, and the
HandlerMultiplexer and ProtocolMultiplexer classes have a lot of power,
not all of which is being used yet.  I&#x27;m planning to implement virtual
folders, which will essentially nest a HandlerMultiplexer with its own
root and/or config inside an existing system.  Will be great for mirrors
with their own .Links files referring to / on the system or for ones
where you&#x27;d rather just turn off standard MIME type checking and make
everything a text file even if it ends in .gif...
</p>
<p>-- John
</p>
<p></p>
</card>
</wml>
