discuss: Thread: Home Networking HOWTO


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Home Networking HOWTO
From: Richard Schetnan ####@####.####
Date: 24 Aug 2005 03:04:21 -0000
Message-Id: <20050824030355.88233.qmail@web53008.mail.yahoo.com>

Hello All,

I've been looking for a way to contribute to TLDP
(beyond purchasing a t-shirt, which I've already
done), and I think I've found something. As I was
setting up a home network last week, I grabbed the
Home Network mini HOWTO and found that it was very out
of date (over five years old), which really limited
its usefulness. I wrote to the author, Paul Ramsey,
who said that I could take ownership of the document
if I wanted to update it (see the attached message).
So that's what I would like to do.

I've read the LDP Author Guide, which provides a good
path forward. However, there are some issues I've been
thinking about that maybe someone out there could
weigh in on and clarify for me.

For example, though I don't want to change the scope
of the howto, I do want to make it less
distribution-specific and I also want to discuss
alternate ways of doing things that make more sense in
the context of home networking. For example, setting
up DNS and DHCP is great for a corporate LAN, but for
a home network with three or four computers, it is
much quicker and easier to use the /etc/hosts file to
define the network. Simply put, DNS and DHCP are
completely unnecessary for home networking. This is
more than just simply updating the document to reflect
changes to software and software versions.In this
case, would it be best to propose a new outline for
the how-to, as though I were proposing an entirely new
howto? Or do I, as the new author, simply forge ahead
and replace the discussion of DNS/DHCP with a
discussion of setting up /etc/hosts? Are such changes
to existing howtos discouraged or disallowed?

Is there anything else I should consider or know
before I embark on this project?

Thanks,

Richard Schetnan

Note: forwarded message attached.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Richard,
Hello. No, I am no longer maintaining that Howto. If you'd like to  
make a new and appropriate one for the modern era, I think that's a  
great idea!
Yours,
P>

On 22-Aug-05, at 10:34 PM, Richard Schetnan wrote:

> Hi Paul,
>
> I'm wondering whether you're still interested in
> maintaining your Home Networking Mini How-To on the
> Linux Documentation Project. If not, I'd like to
> rewrite the document and bring it up to date. The
> how-to has a lot of good information in it, but the
> world has changed a lot in the past five years, as you
> know. I think I can build on the good work that you've
> done and make it a more valuable resource.
>
> Let me know what you think . . .
>
> Thanks,
>
> Richard Schetnan
> ####@####.####
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>

Subject: Re: [discuss] Home Networking HOWTO
From: Charles Curley ####@####.####
Date: 24 Aug 2005 04:19:50 -0000
Message-Id: <20050824041744.GB13042@charlescurley.com>

On Tue, Aug 23, 2005 at 08:03:55PM -0700, Richard Schetnan wrote:
> Hello All,
> 
> I've been looking for a way to contribute to TLDP
> (beyond purchasing a t-shirt, which I've already
> done), and I think I've found something.

> 
> For example, though I don't want to change the scope
> of the howto, I do want to make it less
> distribution-specific and I also want to discuss
> alternate ways of doing things that make more sense in
> the context of home networking. For example, setting
> up DNS and DHCP is great for a corporate LAN, but for
> a home network with three or four computers, it is
> much quicker and easier to use the /etc/hosts file to
> define the network. Simply put, DNS and DHCP are
> completely unnecessary for home networking. This is
> more than just simply updating the document to reflect
> changes to software and software versions.In this
> case, would it be best to propose a new outline for
> the how-to, as though I were proposing an entirely new
> howto? Or do I, as the new author, simply forge ahead
> and replace the discussion of DNS/DHCP with a
> discussion of setting up /etc/hosts? Are such changes
> to existing howtos discouraged or disallowed?

The Powers That Be will probably weigh in on this (especially if I am
wrong :-), but I think if you own the thing, you do what seems best
after due consideration of any advice.

I think your point on simplification is a good one. Perhaps you should
say how to do it with /etc/hosts and static IP addresses, then simply
mention that this DHCP and bind stuff also is available, here's what
they do, and see these resources... And maybe refer the reader to
other possibilities. My idea of a home network is five computers, two
wireless access points (with their own host names and IP addresses),
and a few guest machines that wander in and out. I use DHCP and bind
and glue them together with Machine Inventory Database. So if I were
reading your document for my own use, I'd appreciate such a referral.

> 
> Is there anything else I should consider or know
> before I embark on this project?

You've already checked out the writers' guide, I trust.

-- 

Charles Curley                  /"\    ASCII Ribbon Campaign
Looking for fine software       \ /    Respect for open standards
and/or writing?                  X     No HTML/RTF in email
http://www.charlescurley.com    / \    No M$ Word docs in email

Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Fri Jul 5 19:15:11 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x8b54c6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showthread' from '/opt/ezmlm-browse-0.20/commands/showthread.pyc'>, module.do = <function do at 0x8b692cc>, global ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showthread.py in do(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
    9         ctxt.update(ezmlm.thread(ctxt[THREADID]))
   10         header(ctxt, 'Thread: ' + ctxt[SUBJECT], 'showthread')
   11         do_list(ctxt, 'msgs', ctxt[MSGSPERPAGE], ctxt[MESSAGES],
   12                         lambda:sub_showmsg(ctxt, ctxt[MSGNUM]))
   13         footer(ctxt)
global sub_showmsg = <function sub_showmsg at 0x8b541ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in do_list(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, name='msgs', perpage=10, values=[{'author': u'Richard Schetnan', 'authorid': 'kffnjmnicmebpihagbio', 'date': '24 Aug 2005 03:04:21 -0000', 'month': 200508, 'msgnum': 9583, 'subject': u'Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124852661.0}, {'author': u'Charles Curley', 'authorid': 'fbacfjfdkmpbdhgmbbhp', 'date': '24 Aug 2005 04:19:50 -0000', 'month': 200508, 'msgnum': 9584, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124857190.0}, {'author': u'Machtelt Garrels', 'authorid': 'ekigohadccfepdpebdjg', 'date': '24 Aug 2005 09:11:18 -0000', 'month': 200508, 'msgnum': 9585, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124874678.0}, {'author': u'jdd', 'authorid': 'kmhebagfemoedpejdpbn', 'date': '24 Aug 2005 09:48:47 -0000', 'month': 200508, 'msgnum': 9587, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124876927.0}, {'author': u'Martin Wheeler', 'authorid': 'kbpdbbmeddmahbikkfbi', 'date': '24 Aug 2005 13:02:52 -0000', 'month': 200508, 'msgnum': 9593, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124888572.0}, {'author': u'Randy Kramer', 'authorid': 'poadlponoakpmcghbdhm', 'date': '24 Aug 2005 15:44:34 -0000', 'month': 200508, 'msgnum': 9597, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124898274.0}, {'author': u'Stein Gjoen', 'authorid': 'jbdbakjaacfndkmflfhi', 'date': '24 Aug 2005 21:23:57 -0000', 'month': 200508, 'msgnum': 9606, 'subject': u'Re: Home Networking HOWTO', 'threadid': 'indccpnohgghklbedcng', 'timestamp': 1124918637.0}], peritem=<function <lambda> at 0x8b69454>)
  128                 write(template % ctxt)
  129                 if peritem:
  130                         peritem()
  131                 ctxt[ROW] += 1
  132 
peritem = <function <lambda> at 0x8b69454>
 /opt/ezmlm-browse-0.20/commands/showthread.py in ()
    9         ctxt.update(ezmlm.thread(ctxt[THREADID]))
   10         header(ctxt, 'Thread: ' + ctxt[SUBJECT], 'showthread')
   11         do_list(ctxt, 'msgs', ctxt[MSGSPERPAGE], ctxt[MESSAGES],
   12                         lambda:sub_showmsg(ctxt, ctxt[MSGNUM]))
   13         footer(ctxt)
global sub_showmsg = <function sub_showmsg at 0x8b541ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=9584)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x8b541b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x8bc656c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8bc656c>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x8b541b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x8bc6cac>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8bc6cac>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x8b54144>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x8bc6cac>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8bc6cac>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x8b4ce9c>, global html = <function html at 0x8b4ced4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x8bcb870>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x8b4ce9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x8ae5a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x8b5876c>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x8b5876c>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'