All those who wander are not lost.

Category: work Page 19 of 24

ReST Primer


A ReStructuredText Primer
=========================

:Author: Richard Jones
:Version: $Revision: 4350 $
:Copyright: This document has been placed in the public domain.

.. contents::

The text below contains links that look like "(quickref__)".  These
are relative links that point to the `Quick reStructuredText`_ user
reference.  If these links don't work, please refer to the `master
quick reference`_ document.

__
.. _Quick reStructuredText: quickref.html
.. _master quick reference:
   http://docutils.sourceforge.net/docs/user/rst/quickref.html

Structure
---------

From the outset, let me say that "Structured Text" is probably a bit
of a misnomer.  It's more like "Relaxed Text" that uses certain
consistent patterns.  These patterns are interpreted by a HTML
converter to produce "Very Structured Text" that can be used by a web
browser.

The most basic pattern recognised is a **paragraph** (quickref__).
That's a chunk of text that is separated by blank lines (one is
enough).  Paragraphs must have the same indentation -- that is, line
up at their left edge.  Paragraphs that start indented will result in
indented quote paragraphs. For example::

  This is a paragraph.  It's quite
  short.

     This paragraph will result in an indented block of
     text, typically used for quoting other text.

  This is another one.

Results in:

  This is a paragraph.  It's quite
  short.

     This paragraph will result in an indented block of
     text, typically used for quoting other text.

  This is another one.

__ quickref.html#paragraphs

Text styles
-----------

(quickref__)

__ quickref.html#inline-markup

Inside paragraphs and other bodies of text, you may additionally mark
text for *italics* with "``*italics*``" or **bold** with
"``**bold**``".

If you want something to appear as a fixed-space literal, use
"````double back-quotes````".  Note that no further fiddling is done
inside the double back-quotes -- so asterisks "``*``" etc. are left
alone.

If you find that you want to use one of the "special" characters in
text, it will generally be OK -- reStructuredText is pretty smart.
For example, this * asterisk is handled just fine.  If you actually
want text \*surrounded by asterisks* to **not** be italicised, then
you need to indicate that the asterisk is not special.  You do this by
placing a backslash just before it, like so "``\*``" (quickref__), or
by enclosing it in double back-quotes (inline literals), like this::

    ``\*``

__ quickref.html#escaping

Lists
-----

Lists of items come in three main flavours: **enumerated**,
**bulleted** and **definitions**.  In all list cases, you may have as
many paragraphs, sublists, etc. as you want, as long as the left-hand
side of the paragraph or whatever aligns with the first line of text
in the list item.

Lists must always start a new paragraph -- that is, they must appear
after a blank line.

**enumerated** lists (numbers, letters or roman numerals; quickref__)
  __ quickref.html#enumerated-lists

  Start a line off with a number or letter followed by a period ".",
  right bracket ")" or surrounded by brackets "( )" -- whatever you're
  comfortable with.  All of the following forms are recognised::

    1. numbers

    A. upper-case letters
       and it goes over many lines

       with two paragraphs and all!

    a. lower-case letters

       3. with a sub-list starting at a different number
       4. make sure the numbers are in the correct sequence though!

    I. upper-case roman numerals

    i. lower-case roman numerals

    (1) numbers again

    1) and again

  Results in (note: the different enumerated list styles are not
  always supported by every web browser, so you may not get the full
  effect here):

  1. numbers

  A. upper-case letters
     and it goes over many lines

     with two paragraphs and all!

  a. lower-case letters

     3. with a sub-list starting at a different number
     4. make sure the numbers are in the correct sequence though!

  I. upper-case roman numerals

  i. lower-case roman numerals

  (1) numbers again

  1) and again

**bulleted** lists (quickref__)
  __ quickref.html#bullet-lists

  Just like enumerated lists, start the line off with a bullet point
  character - either "-", "+" or "*"::

    * a bullet point using "*"

      - a sub-list using "-"

        + yet another sub-list

      - another item

  Results in:

  * a bullet point using "*"

    - a sub-list using "-"

      + yet another sub-list

    - another item

**definition** lists (quickref__)
  __ quickref.html#definition-lists

  Unlike the other two, the definition lists consist of a term, and
  the definition of that term.  The format of a definition list is::

    what
      Definition lists associate a term with a definition.

    *how*
      The term is a one-line phrase, and the definition is one or more
      paragraphs or body elements, indented relative to the term.
      Blank lines are not allowed between term and definition.

  Results in:

  what
    Definition lists associate a term with a definition.

  *how*
    The term is a one-line phrase, and the definition is one or more
    paragraphs or body elements, indented relative to the term.
    Blank lines are not allowed between term and definition.

Preformatting (code samples)
----------------------------
(quickref__)

__ quickref.html#literal-blocks

To just include a chunk of preformatted, never-to-be-fiddled-with
text, finish the prior paragraph with "``::``".  The preformatted
block is finished when the text falls back to the same indentation
level as a paragraph prior to the preformatted block.  For example::

  An example::

      Whitespace, newlines, blank lines, and all kinds of markup
        (like *this* or \this) is preserved by literal blocks.
    Lookie here, I've dropped an indentation level
    (but not far enough)

  no more example

Results in:

  An example::

      Whitespace, newlines, blank lines, and all kinds of markup
        (like *this* or \this) is preserved by literal blocks.
    Lookie here, I've dropped an indentation level
    (but not far enough)

  no more example

Note that if a paragraph consists only of "``::``", then it's removed
from the output::

  ::

      This is preformatted text, and the
      last "::" paragraph is removed

Results in:

::

    This is preformatted text, and the
    last "::" paragraph is removed

Sections
--------

(quickref__)

__ quickref.html#section-structure

To break longer text up into sections, you use **section headers**.
These are a single line of text (one or more words) with adornment: an
underline alone, or an underline and an overline together, in dashes
"``-----``", equals "``======``", tildes "``~~~~~~``" or any of the
non-alphanumeric characters ``= - ` : ' " ~ ^ _ * + # `` that you
feel comfortable with.  An underline-only adornment is distinct from
an overline-and-underline adornment using the same character.  The
underline/overline must be at least as long as the title text.  Be
consistent, since all sections marked with the same adornment style
are deemed to be at the same level::

  Chapter 1 Title
  ===============

  Section 1.1 Title
  -----------------

  Subsection 1.1.1 Title
  ~~~~~~~~~~~~~~~~~~~~~~

  Section 1.2 Title
  -----------------

  Chapter 2 Title
  ===============

This results in the following structure, illustrated by simplified
pseudo-XML::

Chapter 1 Title <section> <title> Section 1.1 Title <section> <title> Subsection 1.1.1 Title <section> <title> Section 1.2 Title <section> <title> Chapter 2 Title (Pseudo-XML uses indentation for nesting and has no end-tags. It's not possible to show actual processed output, as in the other examples, because sections cannot exist inside block quotes. For a concrete example, compare the section structure of this document's source text and processed output.) Note that section headers are available as link targets, just using their name. To link to the Lists_ heading, I write "``Lists_``". If the heading has a space in it like `text styles`_, we need to quote the heading "```text styles`_``". Document Title / Subtitle ````````````````````````` The title of the whole document is distinct from section titles and may be formatted somewhat differently (e.g. the HTML writer by default shows it as a centered heading). To indicate the document title in reStructuredText, use a unique adornment style at the beginning of the document. To indicate the document subtitle, use another unique adornment style immediately after the document title. For example:: ================ Document Title ================ ---------- Subtitle ---------- Section Title ============= ... Note that "Document Title" and "Section Title" above both use equals signs, but are distict and unrelated styles. The text of overline-and-underlined titles (but not underlined-only) may be inset for aesthetics. Images ------ (quickref__) __ quickref.html#directives To include an image in your document, you use the the ``image`` directive__. For example:: .. image:: images/biohazard.png results in: .. image:: images/biohazard.png The ``images/biohazard.png`` part indicates the filename of the image you wish to appear in the document. There's no restriction placed on the image (format, size etc). If the image is to appear in HTML and you wish to supply additional information, you may:: .. image:: images/biohazard.png :height: 100 :width: 200 :scale: 50 :alt: alternate text See the full `image directive documentation`__ for more info. __ ../../ref/rst/directives.html __ ../../ref/rst/directives.html#images What Next? ---------- This primer introduces the most common features of reStructuredText, but there are a lot more to explore. The `Quick reStructuredText`_ user reference is a good place to go next. For complete details, the `reStructuredText Markup Specification`_ is the place to go [#]_. Users who have questions or need assistance with Docutils or reStructuredText should post a message to the Docutils-users_ mailing list. .. [#] If that relative link doesn't work, try the master document: http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html. .. _reStructuredText Markup Specification: ../../ref/rst/restructuredtext.html .. _Docutils-users: ../mailing-lists.html#docutils-users .. _Docutils project web site: http://docutils.sourceforge.net/

A New Language

Tonight, while Yung is down with pink eye that has turned into a sty, I settled into the chair to give Lily her bottle. As she climbed into my lap, she was rhyming nonsense words, just having fun saying words and having me repeat them.

We decided that mickle luh bà was “Please give me the bottle” and I then thought that Tick uh hà might be “Here it is, if you please.” As she drank, I wondered if the à sound in Lilian — with à sounding somewhere between the a in bath and hah — could possibly be a phoneme added to a sentence to indicate that one was being polite.

Word-wrap (filling) in Emacs

Quite frankly, this is emacs’ greatest disappointment as a text editor – something so fundamentally important to so many people and something so many other editors do well. Without modification, emacs does not soft wrap the way you’d like it to. Will that change? Perhaps – open source software’s greatest strength is that clever people with programming skills can modify projects to suit their own needs. But if this is something you can’t overlook, emacs will drive you crazy and you’re better off with another application. Word wrap comes in two forms: soft wrap and hard wrap. Hard wrap means that at the end of every line a “newline” character is inserted. Most plain text email is sent this way. If you have 80 character wide paragraphs and want them to be 120 characters wide, you have to reformat. In other text editors that’s a real pain, but in emacs it’s easy, and that’s one reason few programmers feel compelled to do anything about the word wrap problem. Soft wrap means the program recognizes the width of the window on your screen and reformats the words to fit the window, without inserting any newline characters. If you resize the window, the words adjust automatically. Emacs does not do this. Emacs presents three options:

No wrap: Lines do not wrap around the screen at all, but continue on and on to the right until you finally hit “return,” which for text, would be at the end of the paragraph. This is acceptable for people writing code, but not acceptable for text.

  • Wrap: Lines wrap around the screen, but emacs doesn’t pay attention to words, and will wrap right in the middle of the word, showing a little symbol, probably a backslash, at the right edge of the screen to show the line is being continued below. If you can deal with this, it’s the best way to go for writers. But it’s not ideal. Fill: Emacs calls it “filling” a paragraph, and it means inserting a newline at a certain distance from the beginning of the line, for example 120 characters, paying attention not to split a word. This gives you nicely formatted paragraphs that look nice, but can get distorted if you add words in the middle of the paragraph afterward, for example. Then you have to reformat the paragraph (which is a simple keystroke). If you’re writing using LATEX (more about that later), this is the best option. But if you eventually want to hand the text to a publisher, they’ll be very unhappy about all the newlines and the hard formatting, so you’ll be forced to find an alternative.

Let’s look at filling first. The command M-x auto-fill-mode toggles filling on or off. It will insert a newline at a certain position, taking care to pass a word onto the next line if it would be otherwise split. At what character will it do so? Probably around 72 unless you tell it otherwise. Here’s how to choose: C-u 80 C-x f sets the width (80 characters, in this example) of your paragraph but does not reformat the paragraph. M-q reformats the paragraph.

So let’s say you are typing at the console, which is 120 characters wide, and you are starting a new document. Before you start, hit C-u 120 C-x f to set the margin, and type M-x auto-fill-mode to toggle auto-fill mode on (check the status bar at the bottom of the screen to see if it’s on: look for the word “fill” in the mode line). Now start typing. Your paragraphs will be hard wrapped at 120 characters, the width of your screen. Now if you go back to edit your work, the paragraph will be out of whack. Hit M-q to reformat the paragraph. If you later decide you want the paragraph to be 72 characters wide again, you can hit C-u 72 C-x f to set the new margin and M-q to reformat it. There are two other useful commands available to you if you’ve selected a region you’d like to format. The command fill-individual paragraphs (remember, as explained in section 6.1 you would access this by typing M-x fill-individual-paragraphs) reformats each paragraph in the region. This is probably what you want if you want to globally change all the paragraphs in your document from 72 to 85 characters wide, for example. The command fill-region-as-paragraph will take all the fragments of text in your region and make them into a single paragraph, removing extraneous blank lines and double spaces, etc. Very handy way to reformat hacked-up text. ## Word Wrap in EMACS Add the following commands to emacs.rc in each user’s root directory to make Emacs use the cursorpad and do word wrap. You may wish to use 65 as a wrap value or even 78 (not 40). bind-to-key quick-exit ^Z bind-to-key previous-line FNA bind-to-key next-line FNB bind-to-key forward-character FNC bind-to-key backward-character FND 40 set-fill-column add-global-mode “wrap”

Word-wrap in Emacs is called filling.

The Emacs Manual tells you this about it: M-q Fill current paragraph (fill-paragraph). C-x f Set the fill column (set-fill-column). M-x fill-region Fill each paragraph in the region (fill-region). M-x fill-region-as-paragraph Fill the region, considering it as one paragraph. M-s Center a line. But of course it doesn’t tell you how to actually use C-x f. If you just type C-x f you get this error: set-fill-column requires an explicit argument To set the line wrap to 80 for example, type C-u 80 <RET> C-x f <RET>

Continuation Lines

If you add too many characters to one line without breaking it with RET, the line grows to occupy two (or more) lines on the screen. On graphical displays, Emacs indicates line wrapping with small bent arrows in the fringes to the left and right of the window. On text-only terminals, Emacs displays a \ character at the right margin of a screen line if it is not the last in its text line. This \ character says that the following screen line is not really a distinct line in the text, just a continuation of a line too long to fit the screen. Continuation is also called line wrapping. When line wrapping occurs before a character that is wider than one column, some columns at the end of the previous screen line may be “empty.” In this case, Emacs displays additional \ characters in the “empty” columns, just before the \ character that indicates continuation. Sometimes it is nice to have Emacs insert newlines automatically when a line gets too long. Continuation on the screen does not do that. Use Auto Fill mode (see section T.5 Filling Text) if that’s what you want. As an alternative to continuation, Emacs can display long lines by truncation. This means that all the characters that do not fit in the width of the screen or window do not appear at all. They remain in the buffer, temporarily invisible. On terminals, $ in the last column informs you that the line has been truncated on the display. On window systems, a small straight arrow in the fringe to the right of the window indicates a truncated line. Truncation instead of continuation happens whenever horizontal scrolling is in use, and optionally in all side-by-side windows (see section O. Multiple Windows). You can enable or disable truncation for a particular buffer with the command M-x toggle-truncate-lines.

See section J.12 Customization of Display, for additional variables that affect how text is displayed.

Word Wrapping in emacs

To enter word wrap mode from within emacs, enter the following command: Meta-x auto-fill-mode To word wrap a pre-existing paragraph, enter: Meta-q To word wrap and full-justify a pre-existing paragraph, enter: Ctrl-u Meta-q

Word Wrap in Emacs

Quite frankly, this is emacs’ greatest disappointment as a text editor – something so fundamentally important to so many people and something so many other editors do well. Without modification, emacs does not soft wrap the way you’d like it to. Will that change? Perhaps – open source software’s greatest strength is that clever people with programming skills can modify projects to suit their own needs. But if this is something you can’t overlook, emacs will drive you crazy and you’re better off with another application.

Word wrap comes in two forms: soft wrap and hard wrap. Hard wrap means that at the end of every line a “newline” character is inserted. Most plain text email is sent this way. If you have 80 character wide paragraphs and want them to be 120 characters wide, you have to reformat. In other text editors that’s a real pain, but in emacs it’s easy, and that’s one reason few programmers feel compelled to do anything about the word wrap problem. Soft wrap means the program recognizes the width of the window on your screen and reformats the words to fit the window, without inserting any newline characters. If you resize the window, the words adjust automatically. Emacs does not do this.

Emacs presents three options:

  • No wrap: Lines do not wrap around the screen at all, but continue on and on to the right until you finally hit “return,” which for text, would be at the end of the paragraph. This is acceptable for people writing code, but not acceptable for text.
  • Wrap: Lines wrap around the screen, but emacs doesn’t pay attention to words, and will wrap right in the middle of the word, showing a little symbol, probably a backslash, at the right edge of the screen to show the line is being continued below. If you can deal with this, it’s the best way to go for writers. But it’s not ideal.
  • Fill: Emacs calls it “filling” a paragraph, and it means inserting a newline at a certain distance from the beginning of the line, for example 120 characters, paying attention not to split a word. This gives you nicely formatted paragraphs that look nice, but can get distorted if you add words in the middle of the paragraph afterward, for example. Then you have to reformat the paragraph (which is a simple keystroke). If you’re writing using LATEX (more about that later), this is the best option. But if you eventually want to hand the text to a publisher, they’ll be very unhappy about all the newlines and the hard formatting, so you’ll be forced to find an alternative.

Let’s look at filling first. The command M-x auto-fill-mode toggles filling on or off. It will insert a newline at a certain position, taking care to pass a word onto the next line if it would be otherwise split. At what character will it do so? Probably around 72 unless you tell it otherwise. Here’s how to choose: C-u 80 C-x f sets the width (80 characters, in this example) of your paragraph but does not reformat the paragraph. M-q reformats the paragraph.

So let’s say you are typing at the console, which is 120 characters wide, and you are starting a new document. Before you start, hit C-u 120 C-x f to set the margin, and type M-x auto-fill-mode to toggle auto-fill mode on (check the status bar at the bottom of the screen to see if it’s on: look for the word “fill” in the mode line). Now start typing. Your paragraphs will be hard wrapped at 120 characters, the width of your screen. Now if you go back to edit your work, the paragraph will be out of whack. Hit M-q to reformat the paragraph. If you later decide you want the paragraph to be 72 characters wide again, you can hit C-u 72 C-x f to set the new margin and M-q to reformat it.

There are two other useful commands available to you if you’ve selected a region you’d like to format. The command fill-individual paragraphs (remember, as explained in section 6.1 you would access this by typing M-x fill-individual-paragraphs) reformats each paragraph in the region. This is probably what you want if you want to globally change all the paragraphs in your document from 72 to 85 characters wide, for example. The command fill-region-as-paragraph will take all the fragments of text in your region and make them into a single paragraph, removing extraneous blank lines and double spaces, etc. Very handy way to reformat hacked-up text.

Word Wrap in EMACS

Add the following commands to emacs.rc in each user’s root directory to make Emacs use the cursorpad and do word wrap. You may wish to use 65 as a wrap value or even 78 (not 40).

bind-to-key quick-exit ^Z

bind-to-key previous-line FNA

bind-to-key next-line FNB

bind-to-key forward-character FNC

bind-to-key backward-character FND

40 set-fill-column

add-global-mode “wrap”

Word-wrap in Emacs is called filling.

The Emacs Manual tells you this about it:

M-q Fill current paragraph (fill-paragraph). C-x f Set the fill column (set-fill-column). M-x fill-region Fill each paragraph in the region (fill-region). M-x fill-region-as-paragraph Fill the region, considering it as one paragraph. M-s Center a line. But of course it doesn’t tell you how to actually use “C-x f”. If you just type “C-x f” you get this error:

set-fill-column requires an explicit argument To set the line wrap to 80 for example, type ‘C-u 80

C-x f ‘ ## Continuation Lines If you add too many characters to one line without breaking it with RET, the line grows to occupy two (or more) lines on the screen. On graphical displays, Emacs indicates line wrapping with small bent arrows in the fringes to the left and right of the window. On text-only terminals, Emacs displays a `\’ character at the right margin of a screen line if it is not the last in its text line. This `\’ character says that the following screen line is not really a distinct line in the text, just a continuation of a line too long to fit the screen. Continuation is also called line wrapping. When line wrapping occurs before a character that is wider than one column, some columns at the end of the previous screen line may be “empty.” In this case, Emacs displays additional `\’ characters in the “empty” columns, just before the `\’ character that indicates continuation. Sometimes it is nice to have Emacs insert newlines automatically when a line gets too long. Continuation on the screen does not do that. Use Auto Fill mode (see section T.5 Filling Text) if that’s what you want. As an alternative to continuation, Emacs can display long lines by truncation. This means that all the characters that do not fit in the width of the screen or window do not appear at all. They remain in the buffer, temporarily invisible. On terminals, `$’ in the last column informs you that the line has been truncated on the display. On window systems, a small straight arrow in the fringe to the right of the window indicates a truncated line. Truncation instead of continuation happens whenever horizontal scrolling is in use, and optionally in all side-by-side windows (see section O. Multiple Windows). You can enable or disable truncation for a particular buffer with the command M-x toggle-truncate-lines. See section J.12 Customization of Display, for additional variables that affect how text is displayed. Word Wrapping in emacs To enter word wrap mode from within emacs, enter the following command: Meta-x auto-fill-mode To word wrap a pre-existing paragraph, enter: Meta-q To word wrap and full-justify a pre-existing paragraph, enter: Ctrl-u Meta-q

Printing Problems

Here’s what I have done so far:

  1. CTRL-Clicked in the “Click to Add Printer” Pane of Print & Fax in System Preferences and RESET the printing system.
  2. Deleted the /Library/Printers/Canon/BJPrinter directory.
  3. Deleted the /CFMSupport/BJExtDDI.cfm file.
  4. Restarted my computer.
  5. Downloaded the latest Canon install package, mp600osxpd583ej7.dmg, with a creation date of 2007-11-08.
  6. Installed the Canon MP600 583.pkg package.
  7. Restarted my computer.
  8. Reconnected the MP600 to the Airport Extreme.
  9. Returned to Print & Fax, clicked on Add Printer. The MP 600 turns up in the dialogue window that comes up and is listed as a Bonjour Device.
  10. I clicked ADD.
  11. The process hangs until I get an error sheet:

An error occurred while trying to add the selected printer. Error:-9672

Console messages:

3/17/08 19:07:02 [0x0-0x14014].com.apple.print.add[216] Error -9672, badly formatted ticket XML - Bad XMLStart:   
3/17/08 19:07:02 [0x0-0x14014].com.apple.print.add[216] Bad XMLEnd 

Every 8 seconds one of these is getting posted to the console:

3/17/08 19:18:36 mDNSResponder[22] Error getting external address 3 

Every 40 seconds CUPS Access_log is getting one of these:

localhost - - [17/Mar/2008:19:14:24 -0500] "POST / HTTP/1.1" 200 1941 CUPS-Get-Devices -

Edit in Textmate

Remove old version:

rm ~/Library/InputManagers/Edit\ in\ TextMate

Create InputManagers folder:

sudo mkdir /Library/InputManagers

Copy the input manager to /Library:

sudo cp -pR /Applications/TextMate.app/Contents/Resources/Edit\ in\ TextMate/
Library/InputManagers

Ensure everything is owned by root:

sudo chown -R root:admin /Library/InputManagers

A Country for Old Men

In some American speech communities, being “good with words” is valued as a skill. Certainly this is the case in a number of studies of African American speech communities, and I have found that to be the case among Cajun communities as well. Within the broader stream of American folk culture, however, there is a healthy skepticism of individuals who are “good with words.” Salespeople and politicians are considered to be “smooth talkers,” a descriptor which rarely carries with it approbation. Instead, they are types of talkers whose talk we are encouraged to “take with a grain of salt” because in all likelihood any promises made were only in the moment and will not be kept.

All that noted, my own observations and a few recent conversations here with colleagues from diverse parts of the U.S.A. have interested me in a phenomena that may or may not be more broadly part of American culture. The anecdotes I have heard, and begun to collect only very loosely, have to do with the speech of older folks, mostly older men in my own work, who it seems feel freed of the constraints of the general opprobrium applied to talking without seeming purpose. Reflexivity in the stories and comments is high and often touches on topics that are usually considered of fairly sensitive nature in American common culture.

A small interchange reported to me recently is indicative of at least some of the things I am interested in teasing out:

A man is complaining about various aches and pains and comments: “It sure is hell getting old.”

His companion responds, “That’s not you getting old. That’s you dying.” And goes on to note that every ache is actually something dying within his friend. Both are laughing by the end of it.

Teach Yourself to Program in/with Scheme

The good folks at MIT and MIT Press have made the influential computer-science text Structure and Interpretation of Computer Programs available on-line with sample code and the instructor’s manual. It’s all here.

AT 301A as Told by Ray Hicks

This one is about Jack and Tom and Will—of old Fire Dragon that spit balls of fire. And Jack’s dad had a great bug track of land, owned it. So, he give it to Jack and Tom and Will to clear; give ‘em the land and made ‘em a deed for it, to clear and start clearing it theirselves. And so, they got up a wagon-load of vittles and went where it was at and built ‘em a …notched ‘em up a shanty to stay in. And so, they knowed that the next…that, when they got ready to clear it, that they’d have to leave, uh, leave one till twelve (and he could help, then, after twelve) to cook dinner. So they left Will the first time.

And Jack and Tom cleared, and Will got dinner and rung the dinner…blowed the dinner horn. And, just when he blowed it, up out of a holler come old Fire Dragon, up with his pipe in his mouth, and come in at the door. And just come on in. And Will had the dinner set on the table, and he come in and never said a word to Will. And Will was so scared he hid behind the door. And Fire Dragon eat every bite, sopped the dish, and went back through in by the fireplace and got the biggest chunk of fire that he could find and stuffed down in his pipe and went off.

And Jack and Tom got to the house, come in, and says, (Will shot out from behind the door), says, “Where is the dinner, Will?” Says, “Hain’t you cooked no dinner?” He says, “Gosh,” says, “if you’d a seed what I seed,” said, “you wouldn’t want no dinner!” And they ‘gin to laugh, and Will says, “All right, laughing’s catching,” he says. “Tom,” says, “tomorrow’ll be your turn.” And so they fixed up a little, right quick, extra, then, and eat it, and went back and cleared that evening. And the next day they left Tom to get dinner, clean up, till twelve. And Will and Jack was a-clearing till twelve.

And so Tom got dinner and blowed the horn, and up come old Fire Dragon. And just come in and never said a word—and Tom hid—and eat every bite and sopped the pot. And went through by the fireplace and got the biggest coal of fire he could find and put it in his pipe. And Jack and Will come in, and Tom shot out. And says, “Where’s the dinner, Tom?” He says, “Gosh,” he says, “Tom’s (here, Ray means Will, of course) right;” says, “Jack, don’t laugh!” Says, “Tomorrow’ll be your turn.” Says, “Great…” says, “you won’t want no dinner when you see that.” And he says, “He went in by the fireplace, after he eat up all the eating, and got the biggest coal of fire he could get,” Tom said. And he said, “When he put it in the pipe and puffed it a few puffs,” said, “it looked like a steam engine took off with the blowers on.” Well, they fixed up a little, right quick, and eat ‘em a little bite extra, and all went back that evening and cleared. And said, “Jack, now tomorrow’ll be your turn.”

Well, so, they left Jack the next day and jack fixed dinner and cleaned up and went to setting it on the table, and he blowed the horn. And, while he was scooping out of a kettle a mess of beans, he looked and there come old Fire Dragon, with his arms crossed behind him.

And just as he come to the door, he (Jack) said, “Hello there, Dad!” Says, “Is you hungry?” Said, “Nope.” Said, “Don’t want a bite.” ‘Cause Jack offered it to him, he didn’t want none. Said, “Yeah, Dad,” says, “just get you a seat in there in the fireplace.” And says, “I’m a-setting it on the table now.” Says, “Will and Tom will be in just in a few minutes.” Said, “I blowed the dinner horn.”

Said, “Nope,” said, “I don’t want a bite.” Said, “I just stopped by to light my pipe.” He said he went in and got the biggest chunk, a great big stick of wood, too, Jack said, and stuffed it way down in his pipe. And said that beat any cloud of smoke, when he give that a few puffs, he ever seed in his life. And said he just struck out behind him then; follered him by the smoke down through a wilderness, way down in a holler.

And while he had gone, Jack had…While Jack was gone, Will and Tom come in and said, “Good gracious!” Says, “The dinner’s on the table.” Said, “He’s eat Jack this time.” Said, “Boy, we’ve lost Jack;” said, “he’s eat him.” Said, “The dinner’s on the table.”

Well, so Jack come in, directly. They said, “Where you been?” Says, “We thought he’d eat you up, account of dinner on the table.”

He said, “No.” Says, “I called him ‘Dad’,” and said, “tried to get him to stay and make a seat and get him a chair in the fire-setting room and wait, and was setting it on the table.” And said, “Just got it set on the table when I left.” And he says, “I found out where he went.” Says, “He went down there, way down in the wilderness of that holler.” And said, “He went in a hole in the ground.”

And so they eat then and ‘gin to rig up to find out what was in there. And they eat and fixed ‘em a basket out of splits and took and made ‘em a rope out of hickory bark and went down to the hole. And they let Will down first. And they fixed it…Will…if that Will hit any trouble, he was to shake the rope of the hickory bark. And so, just hadn’t went down but just a few feet till Will shook it and they snaked him back out just as fast as they could and they says, “What did you see, Will?” He said, “I seed a house under there.” And so they put Tom in it then, and let him down, and he was gone down just a little longer and he shook it and they jerked him out and says, “Tom, what did you see?” He said, “I seed a house and barn.” And so they put Jack in then and let him down, and Jack let ‘em let on down till he hit on the top of the roof. And he let it ease on down and he slid of the eaves. And he let it ease on down in the yard.

And so he got out of the basket and went and pecked on the door. And a girl come; the oldest girl, which he didn’t know it, when he pecked. And he says, “Howdy.” And she was so pretty till he just started in talking courting right when he seed her. And she says, “Oh,” says, “don’t do that!” Said, “The second room you come to,” said, “has got one in it prettier than I am.” And so Jack went on in and seed her and she was so much prettier till the first word he spoke was courting, wanting to court. And she says, “Oh, don’t do that!” She said, “The third one, in the third room,” she said, “is a beauty.” Said, “She’s the prettiest one of the bunch.” So Jack went on in and seed her, and he just got to talking about getting married, she was so pretty.

And so, she ‘posed to him and tied a ribbon in her hair, and she put a wishing ring on his finger. And so told him that the Fire Dragon was a-coming back any minute. And said, “Here’s some ointment;” said, “If he hits you with any if them fire-balls,” says, “they burn a streak!” And says, “Here’s a sword,” said, “is all that’ll hurt him is a silver sword.”

Well, so Jack took the ointment and, in just a few minutes, the Fire Dragon come in and seed him and ‘gin to make at him and spit them fire-balls. Said it was a sight to see them sparkle over the floor. And he dodged him around and some would glance him and burn him, and he’d rub that ointment right quick, and try to get a lick with that sword. And said, directly, he got a lick and just swiped his head slick off.

Well, he then fixed up to get the girls out of there. And he put the first one in the basket, that he met when he knocked on the door, and sent her up—or shook the hickory rope and they pulled it up. And Will and Tom got to jarring off of it; said, “This one’s mine!” Directly she says, “Don’t do that.” Says, “The next one is a-coming is prettier yet than I am.” And so they shoved the basket back down in quick as they could, and Jack put the second one in it and shook the hickory rope and they flounced her out, and he heard ‘em a raring over her. And said Will said, “Good gosh, don’t you put your hands on her; that one’s mine.” Tom said, “Don’t you touch her; that one’s mine.” She says, “Oh,” says, “don’t do that.” Says, “The third one, the last one that’s down there, is a beauty.” Said, “She’s the top.”

And so they shoved the basket down as quick as they could, and that was Jack’s—they’d done ‘posed to be married and had the ribbon in her hair. And so Jack out her in the basket. And Will and Tom, she was so much prettier, they got to fighting around over her. And she says, “Don’t fight.” Says, “I’m done supposed to be married to Jack.” They said, “Well,” – just pitched the hickory rope and the basket right down in the hole—and said, “let the rascal stay down in there.” And said, “He’ll not get you.”

And so they took ‘em and went back to the new ground shanty. And Jack stayed in there and eat all the rations up that the Fire Dragon had, he thought. And he stayed a week or two. And, directly, he got to getting weak, and he hunted around and he found a few more bites to eat, a little more. And he got to feeling so weak, till he looked down and…looking at his fingers to see how much he’d fell off, what time he’d been down in there. And he looked, and his fingers was fell off, and the made him notice the ring. Hit was so loose it would fall off his fingers, from the time he’d been in there. And that made him think about the ring, and he said, “I wish I was home with my mother, a-setting in the chimley corner, a-smoking my old ‘kachuckety’ (?) pipe.” And said, just as the words got out of his mouth, there he was a-setting, and his mother a-talking to him. She said, “Jack,” she said, “looks like you ought to be to the new ground a-helping Tom and Will clear.” He says, “Bedad, that’s where I’m started.”

And so he got on up there and they had the three girls and was still a-fighting over them. And so, him and the youngest one, the prettiest one, married—that had put the ring on his finger—and the ribbon was in her hair yet. And her and Jack married, and Tom married the next one to her, and Jack…ah, Will had to take the oldest. And the last time that I was around there, they’d built more shanties and they was a-doing well.

This version of the story is a transcription from the Folkways Records LP that contains four stories narrated by Ray Hicks. I believe this story, and thus this transcription, to be in the public domain.

Leonides

Our old truck’s radio crackled the Blue Danube
Waltz as the blacktop dissolved and gravel rushed to
replace it. The susurrus of the truck’s tires matched
the station’s stutter and as we stared through the glass
of the windshield, we wondered if the streaks of our
hoped-for meteors weren’t a form of interstellar
static, white flickers on the night sky’s screen.

The draft of this poem is from before Lily’s birth.

Page 19 of 24

© John Laudun