style: Thread: Some ideas on General Style


[<<] [<] Page 1 of 1 [>] [>>]
Subject: Some ideas on General Style
From: "Tabatha Persad" ####@####.####
Date: 10 Apr 2002 00:19:24 -0000
Message-Id: <061c01c1e025$c1bfaa60$0928a8c0@voodoochild>

While I've been reading through documentation on writing style, I wanted to comment on some of the things that I've observed so far, which could be considered for inclusion in the guide.

With respect to technical style, Alexander Bartolich brought up an interesting point at ####@####.#### He states how it can be frustrating to read through the majority of a document only to find out the author was only talking about specific versions of applications or kernels etc.  This might be something that needs to be addressed, no?  I don't know the right terminology for it, but basically stating a "requirements" or a basis that the author started with upfront on the versions used, as well as where to find the versions applicable to the documentation.

I have been thinking more about general style though and came up with some ideas.  I'll just put these out there for consideration in whatever format is most appropriate, but some basics:

Document Structure:

To expand a little on Greg Turner's description of document structure, in addition to a logical, smooth transition from one topic to the next, I have noticed an overall similarity in the structure of most documents.  Online documents differ from printed documents in the order some things are displayed, such as copyright, credits etc.  These are just the common items I have encountered; the order may vary:

1. Credits/Copyrights/Contributors/Acknowledgements (terminology varies)
2. Table of Contentes
3. Introduction/Forward/Scope/Audience
4. Main body of document, the HOWTO part (here is where I see Greg's structure)
5. Resources/Links/FAQ/Bibliographies
6. Appendices/Glossaries/Indices

Style Don'ts:

- Humor and emoticon symbols that cannot be accurately translated
- Contractions which cannot always be accurately translated
- Undefined acronyms and abbreviations
- Personal opinions
- Sexist or gender specific language
- Culture specific slang (words that other countries might not understand)
- Maybe if's (maybe if so-and-so develops such-and-such then we can do this one day)
- A condescending tone

Style Do's

- Omit unnecessary words
- Use short sentences
- Use short paragraphs, new paragraph for new thought or concept
- Use concrete/explicit examples
- Use consistent vocabulary/terminology
- Spell check using a common resource


Do you think these ideas are too rigid or hard to work with?  Would they be discouraging to editors and authors?  Discussion welcome!

Thanks,
Tabatha
Subject: Some ideas on General Style
From: "Tabatha Persad" ####@####.####
Date: 10 Apr 2002 21:30:29 -0000
Message-Id: <008401c1e0d7$521c6e70$0928a8c0@voodoochild>



From: "David Lawyer" ####@####.####
> > 1. Credits/Copyrights/Contributors/Acknowledgements (terminology varies)
> > 2. Table of Contents
> > 3. Introduction/Forward/Scope/Audience
> > 4. Main body of document, the HOWTO part (here is where I see Greg's
structure)
> > 5. Resources/Links/FAQ/Bibliographies
> > 6. Appendices/Glossaries/Indices
>
> Why not put 1. into 3.  Then one can check the table of contents for
> this info (Credits, Copyrights, Contributors, etc.).  Also included should
> be "what's new in this version" (or recent versions) so that people who
> have read old versions don't need to read over the same stuff.  Also,
> there should be a request for feedback where readers are invited to make
> suggestions for improvement and point out typos, lack of clarity, etc.

I agree.  As mentioned, it really does seem to vary.  In the howto I wrote
for The Linux Counter, I put Revisions before the TOC, and my
feedback/translation info was in my final section, titled "Conclusion",
where I put Copyright, Credits, Contributors.

> For "Links", etc. it's best to put them right where the topic is being
> discussed.  They can also go in a separate section such as suggested
> above.

I would agree with that as well.  In my case, I just used cross references
to take the user to the Resources section of my howto, but if it's something
they really need to see before proceeding I would definitely want to put the
link where the topic is being discussed.

> > Style Don'ts:
> >
> > - Humor and emotion symbols that cannot be accurately translated
> If the humor can be translated, then it's OK but it shouldn't be
> overdone.
>
> > - Contractions which cannot always be accurately translated
> Simple contractions in common use can be accurately translated.
>
> > - Undefined acronyms and abbreviations
> If the acronym is well known like PC, MS (M$ ??), or IBM, then it should
> be OK not to define it.
>
> > - Personal opinions
> If the opinion is well founded, then I think it's OK.  When there are
> different methods of doing something, the reader would like some advise
> as to which one to choose in which situation and that's in part a matter
> of opinion.
>
> > - Sexist or gender specific language
> I think it's up to the author what s/he should do.  Some say that there
> is no such word as "s/he".  For many years it was understood that "he"
> included "she", today some people alternate between "she" and "he" or
> even use all "she".  I don't think this is sexist.
>
> > - Culture specific slang (words that other countries might not
understand)
> Agreed
>
> > - Maybe if's (maybe if so-and-so develops such-and-such then we can do
> > this one day)
> Documents can propose what developers need to develop to improve things.
> So something like the above is sometimes desirable.
>
> > - A condescending tone
> Agreed

Yes, all of these things are subject to interpretation and variation.  As
previously mentioned, the style guide doesn't want to be so rigid that the
author is second guessing himself so much that he can no longer write.  The
"don'ts" I will leave up to the powers that be... I have a tendency to
follow these basic guidelines and do not find them hampering my writing, so
thought I'd pass it on.

Thanks!
Tabatha

Subject: Re: Some ideas on General Style
From: Martin WHEELER ####@####.####
Date: 13 Apr 2002 14:29:12 -0000
Message-Id: <Pine.LNX.4.33.0204131314230.6083-100000@caxton.startext.demon.co.uk>

On Tue, 9 Apr 2002, Tabatha Persad wrote:

> Style Don'ts:
 ...
> - Sexist or gender specific language

This is a culturally-dependent concept, affecting mainly N. Americans.
Personally I'm proud of my (British) linguistic heritage; have an
excellent reading background in a variety of texts written in English
over the past six centuries, and don't suffer from any sort of semantic
constipation in the language.
My personal attitude is to stick to historic usage (known and
recognised), and eschew late 20th C. fads, experimentation and
uproarious attempts at social engineering.  (see Australian Government
Manual of Style recommendations on lexical items such as 'manhole
cover'.)

> - A condescending tone

Again, this is culture-dependent.  (See paragraph above.)
British public school education does not necessarily equip one to
communicate effectively with the average Australian outback ocker.
What is considered condescending for one is not for the other.
Etc.

> - Spell check using a common resource

Problematic.  No way am I ever going to change my British editing
workstation defaults to accept N. American spelling and punctuation
habits (or default American page print sizes); any more than others
are going to accept British or European norms in the same areas.


All in all, I would suggest that until one flavour of English becomes
acceptable as a global 'lingua anglica', we all continue to use our own
idiolectal versions; and learn to interpret the other varieties we
encounter.

And of course, whatever its origins, good writing will always be read
and reproduced.  Bad writing will sink without trace.

Martin
-- 
Martin Wheeler ####@####.#### gpg key 01269BEB @ the.earth.li

Subject: Re: Some ideas on General Style
From: Charles Curley ####@####.####
Date: 13 Apr 2002 14:42:27 -0000
Message-Id: <20020413084151.B4277@trib.com>

On Sat, Apr 13, 2002 at 02:28:43PM +0000, Martin WHEELER wrote:
> On Tue, 9 Apr 2002, Tabatha Persad wrote:
> 
> > Style Don'ts:
>  ...


> 
> All in all, I would suggest that until one flavour of English becomes
> acceptable as a global 'lingua anglica', we all continue to use our own
                                 ^^^^^^^
Anglian chauvinist.


:-)


-- 

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

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Fri Apr 26 09:56:05 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 0x9b4ac6c>
 /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 0x9b4c48c>, global ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}
 /opt/ezmlm-browse-0.20/commands/showthread.py in do(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'})
    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 0x9b4a1ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in do_list(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, name='msgs', perpage=10, values=[{'author': u'Tabatha Persad', 'authorid': 'jhadjgbdgbffiagflpai', 'date': '10 Apr 2002 00:19:24 -0000', 'month': 200204, 'msgnum': 8, 'subject': u'Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1018397964.0}, {'author': u'Tabatha Persad', 'authorid': 'jhadjgbdgbffiagflpai', 'date': '10 Apr 2002 21:30:29 -0000', 'month': 200204, 'msgnum': 13, 'subject': u'Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1018474229.0}, {'author': u'Martin WHEELER', 'authorid': 'kbpdbbmeddmahbikkfbi', 'date': '13 Apr 2002 14:29:12 -0000', 'month': 200204, 'msgnum': 16, 'subject': u'Re: Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1018708152.0}, {'author': u'Charles Curley', 'authorid': 'blnflnoieggjgfeejfli', 'date': '13 Apr 2002 14:42:27 -0000', 'month': 200204, 'msgnum': 17, 'subject': u'Re: Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1018708947.0}, {'author': u'Tabatha Persad', 'authorid': 'jhadjgbdgbffiagflpai', 'date': '13 Apr 2002 15:47:35 -0000', 'month': 200204, 'msgnum': 18, 'subject': u'Re: Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1018712855.0}, {'author': u'Tabatha Persad', 'authorid': 'jhadjgbdgbffiagflpai', 'date': '6 May 2002 19:26:40 -0000', 'month': 200205, 'msgnum': 20, 'subject': u'Re: Some ideas on General Style', 'threadid': 'neppkaenmchmocjfcgfb', 'timestamp': 1020713200.0}], peritem=<function <lambda> at 0x9b4c684>)
  128                 write(template % ctxt)
  129                 if peritem:
  130                         peritem()
  131                 ctxt[ROW] += 1
  132 
peritem = <function <lambda> at 0x9b4c684>
 /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 0x9b4a1ec>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, msgnum=17)
  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 0x9b4a1b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, msg = <email.message.Message instance at 0x9b67eac>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x9b67eac>, 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 0x9b4a1b4>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, p = <email.message.Message instance at 0x9ba0dec>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x9ba0dec>, 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 0x9b4a144>, ctxt = {'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part = <email.message.Message instance at 0x9ba0dec>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'HTTP_X_FORWARDED_SERVER': 'glitch', 'HTTP_REFE... 'monthbythread', 'HTTP_ACCEPT_ENCODING': 'gzip'}, part=<email.message.Message instance at 0x9ba0dec>)
  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 0x9b42e9c>, global html = <function html at 0x9b42ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x9b9fb80>
 /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 0x9b42e9c>, 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 0x9adba4c>, 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 0x9b67e6c>, 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 0x9b67e6c>, 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'