App Development Using iOS Icloud: Incorporating CloudKit With Swift in Xcode 1st Edition Shantanu Baruah All Chapter Instant Download
App Development Using iOS Icloud: Incorporating CloudKit With Swift in Xcode 1st Edition Shantanu Baruah All Chapter Instant Download
com
https://ebookmass.com/product/app-development-using-ios-
icloud-incorporating-cloudkit-with-swift-in-xcode-1st-
edition-shantanu-baruah-2/
OR CLICK HERE
DOWLOAD NOW
https://ebookmass.com/product/app-development-using-ios-icloud-
incorporating-cloudkit-with-swift-in-xcode-1st-edition-shantanu-
baruah-2/
ebookmass.com
https://ebookmass.com/product/ios-architecture-patterns-mvc-mvp-mvvm-
viper-and-vip-in-swift-1st-edition-raul-ferrer-garcia/
ebookmass.com
https://ebookmass.com/product/modern-concurrency-on-apple-platforms-
using-async-await-with-swift-1st-edition-andres-ibanez-kautsch/
ebookmass.com
https://ebookmass.com/product/earl-on-the-run-jane-ashford/
ebookmass.com
DSM-5? Made Easy: The Clinician’s Guide to Diagnosis 1st
Edition – Ebook PDF Version
https://ebookmass.com/product/dsm-5-made-easy-the-clinicians-guide-to-
diagnosis-1st-edition-ebook-pdf-version/
ebookmass.com
https://ebookmass.com/product/philosophical-fallacies-ways-of-erring-
in-philosophical-exposition-1st-ed-2022-edition-nicholas-rescher/
ebookmass.com
https://ebookmass.com/product/wildlife-management-and-conservation-
contemporary-principles-practices/
ebookmass.com
https://ebookmass.com/product/calling-on-quinn-blue-saffire-3/
ebookmass.com
https://ebookmass.com/product/management-of-labor-and-delivery-an-
issue-of-obstetrics-and-gynecology-clinics-1st-edition-aaron-b-
caughey/
ebookmass.com
Hot for a Cowboy Redford Kim
https://ebookmass.com/product/hot-for-a-cowboy-redford-kim/
ebookmass.com
Shantanu Baruah and Shaurya Baruah
Enhancing the Book Tracker App – Robust functionality, enhanced UI, and
better usability
Multiuser Mode – iCloud Database concepts for sharing data across users
with the right security setup
Integration to iPhone native features – Siri, Notification Center
Introduction to Test Flight – How to make a beta release before posting
the App for review to the App Store, and subsequently, how to submit
the App to the App Store
Our Goal and Final Words
The goal of this book is to spread new ideas and to share our knowledge with
the world. Before writing this book, we worked together on creating an iPhone
App called Tracking Genie (it is available in the Apple Store). While working on
this project, we faced multiple issues with CloudKit, as there is lack of
documentation available on this topic. This book will share everything we
learned along the way while making this App from scratch. It will teach you
everything you need to know in building iPhone App CloudKit. If you are
planning to create a native iOS application, this book should help make that
journey enriching and enjoyable.
The code is compatible with the latest iOS 15.0 version and is built using
Swift language in Xcode 13.3.1.
Any source code or other supplementary material referenced by the author in
this book is available to readers on the Github repository:
https://github.com/Apress/App-Development-Using-iOS-iCloud. For more
detailed information, please visit http://www.apress.com/source-code.
Acknowledgments
Writing a book on technology is quite a time-consuming task, for it is not about
writing your thoughts on paper but also writing code and validating its
completeness. I would like to thank my wife Kapila Sood and my daughter Nitara
Baruah for their undeterred support and patience as I put together endless
hours to bring this book to life. Their feedback on the aesthetics of the App,
which is an integral part of the book, and the outline of the book content is
invaluable.
I would also like to thank my mother Meenu Baruah who discovered the
writing itch in me quite early in my life and has always encouraged me to pursue
writing. While at times I remained uncertain, she never doubted that one day I
will be a published author. She is also the first published author in our family,
and I am certain I got my writing genes from her. I would also like to thank my
father, Late Sailender Nath Baruah, who introduced me to the world of software
back in the day when computers were not ubiquitously available.
I cannot thank enough my Apress team for all their help in making this book
a reality. Aaron Black, who I pitched the book to, loved the idea instantly and
introduced me to the world of publishing. Susan McDermott, for all the coaching
and help in navigating through the publishing process; Shonmirin, in helping
with all coordination; Vishwesh Ravi Shrimali and James Markham, for reviewing
my code and making sure it works as expected and for providing valuable
comments in reorganizing the chapters and content.
—Shantanu Baruah
I am extremely thankful to my father, Shantanu Baruah, for introducing me
to the world of programming. He was always enthusiastic about teaching me
programming, ever since my early days. At first, I questioned why he would
push me to work hard when I was only an early middle schooler, but now, as I
look back, I realize how much his help supported me in excelling in not only
learning this subject but also having the great fortune to author a book along
with him.
I would also like to thank my mother, Kapila Sood, for all her help in assisting
me on this project.
I am also thankful to Ms. Joy Wolfe, who taught me computer science in
high school for the last two years. She has helped me expand my knowledge to
a variety of computer science languages, which has helped me immensely in
writing this book.
Finally, I want to thank the Apress team for their help and support in making
this book a reality.
—Shaurya Baruah
Table of Contents
Part I: Basic App Development Using Swift Core Concepts
Chapter 1:Xcode Introduction
About Xcode
Installation and System Requirements
Interface Introduction
Chapter Summary
Chapter 2:CloudKit Overview
CloudKit at a Glance
Setting Up CloudKit
Exploring CloudKit Dashboard
Accessing the iCloud Dashboard
Understanding the Dashboard
Creating Book Tracker Table (Table, type, Indexes)
Summary
Chapter 3:Core Swift Concepts
Variables
Let and Var
Basic Types
Classes, Structures, and Objects
Array
Scope
Functions
Beautifying Strings Using NSAttributedString
Life Cycle Methods
Type Casting
Loop Controls
UI Color
Overview
Guidelines for UI Color
System Colors
Dynamic System Colors
Getting System Colors
Syntax
UIImage and UIImageView
UITextField
UIAlertController
UITableView
Summary
Chapter 4:Book Tracker Basic App Building
Setting Up the Tab View Controller
Creating a Tab Application
Summary
Chapter 5:Adding Book Screen
Designing the Add Screen
Assigning the Add View Controller File in Main.storyboard
Running the Code
Defining the UI Objects for the Add Screen
Running the Program
Saving the Book Record in iCloud
Data Validation Is an Important Step
Create a Database Function File
Preparation Before Saving the Book
Function to Save Book Record
Setting Value Before Calling saveBook
Post Save
Reset Field
Summary
Chapter 6:Displaying the Book Records
Setting Up Display View Controller
Assigning the Display View Controller File in Main.storyboard
Query the Book Table
Call the Query Book
Create a Table View
Step 1:Define the Table Object
Step 2:Extending the Table Delegate and Table Data
Source
Step 3:Setting the Table Delegate and Table Cell
Step 4:Drawing the Table
Step 5:Implementing numberOfRowsInSection
Step 6:Implementing the cellForRowAt
Step 6:Run the program
Detailed Text Label
Setting a Table Header
Summary
Chapter 7:Deleting a Table Record
Trailing Swipe Function
Deleting book from CloudKit Database
Summary
Chapter 8:Searching Data Screen
Create the Search View Controller
Draw the Search Screen
Query for All Records to Enable Search
Text Field Events, Operations, and Display
Remove Constraints
Table Functions
Summary
Chapter 9:App Development Part 2 Overview
What Lies Ahead ...
iCloud Setup
Summary
Part II: Overview
Chapter 10:Redesigning the Display Screen
Redesigning the UI of the Display Book Screen
Initial Setup
Defining UI Objects for the Top Views
Lifecycle Method and Initial Setup
Drawing the Screen
Table Setup
Top View Blocks
Custom Delegation
Define the Delegate Protocol
Implementing the Delegate
Calling the Delegate
Summary
Chapter 11:Adding a Book
Creation of View Controller and Linking It to the Tab Bar
Inheriting Delegates
Declaring Variables
Declaring Screen Objects
Screen Load Event and Initial Functions
Displaying the Genre and Status Table
Input Text Field Events
Save the Book
Saving Book Record to iCloud
Reset Fields
Summary
Chapter 12:Book Details View Controller
Initial Setup
Create the View Controller
Class Inheritance
Class Variables
Initial Load Functions
Setup
Set Book Details
Drawing the Screen
Screen Objects
UI Object Code Snippets
UI Object Code Snippets
UI Object Code Snippets
UI Object Code Snippets
Drawing Screen
Displaying the Book Details
Number of Sections
Number of Rows
Display the Table
Row Height
Header View
Header Height
Defining the Custom Cell
Tab Bar Function
Summary
Chapter 13:Sharing Book with Other Users
Import CloudKit
Share Button Click Event
Share Record Functions
Cloud Sharing Call Back Function
Summary
Chapter 14:Edit Book
Calling the Edit View Controller
Edit View Controller
Class Level Variable
Navigation Bar
Setup
Save Book
Update Book Database Functions
Summary
Chapter 15:Book Delete
Delete Block Button Action
Custom Delete Book Function
Delete Book Database Function
Summary
Chapter 16:Book Notes
Marking Book as FavoriteBook Notes Touch Up Inside Event
Book Notes View Controller
Class Level Variables
Book Notes Variable
Class Level UI Objects
Initial Loading
Custom Table View Cell for Book Notes
Draw the Notes Screen
Table View Function
Table View Trailing Swipe Control
Delete Notes
Adding Notes
Draw the Add Notes Popup
Add Notes Navigation Bar Function
Remove Constraints
Save Book Method
Database Save Book Method
Tab Bar Function
Summary
Chapter 17:Book Reminder
Reminder Action Button
Draw Reminder Screen
Save Reminder
Setup Reminder
Reset Reminder
Update Reminder
Update Database with Reminder Date
Remove Reminder Screen
Summary
Chapter 18:Mark Favorite
Frequency Button Action
Database Functions Update Favorite Status
Animation Function
Summary
Chapter 19:Shared Books Tab
Accept the Share Record:Scene Delegate
Share Record Function
Shared Book Database Function
Shared Task Zones
Query Functions
Summary
Chapter 20:Search Screen
Create the View Controller
Class Variables
Class UI Objects
Screen Setup
View Did Load
Book Query function
Database Function for Book Query
Setup
Draw Search Screen
Text Field Function
Editing Begin
Editing Changed
Editing End
Pressing the Return Key on Keyboard
Drawing the Table
Removing the Constraints
Table Function
Summary
Chapter 21:Packaging and Releasing
Setting Up the Application Logo
Build the Archive and Publish
Set Up Test Flight Account
Menu Option
Distribute App
Setting Up the App in App Store
Promote Development Database to Production Database
Invite Test Users in Test Flight
Test-Driven Development
Summary
Index
About the Authors
Shantanu Baruah
Shaurya Baruah
is a high school student of the class of 2024, who attends The Peddie School, an
elite boarding school located in New Jersey. He has a strong interest in Math,
Physics, & Computer Science. Some of his relevant coursework include AP
(college-level) Computer Science A, Calculus BC, Physics C, English Literature,
and Statistics. Shaurya is dedicated to giving back to his community, as he
founded a 501(c)(3) nonprofit, Academic Advancements, with the mission to
support the education of underprivileged students globally through means of
financial aid and tutoring. Shaurya also participates in a variety of extracurricular
activities, including Varsity Wrestling and Public Forum Debate.
About the Technical Reviewer
Vishwesh Ravi Shrimali
1. Xcode Introduction
In this chapter, you will learn about the platform we will use to write our code. If
you already have downloaded Xcode, and have a good understanding of the
system, feel free to skip this chapter and head to Chapter 3 to learn about
CloudKit.
Note The Bundle Identifier must be unique. This name allows others to
find you in the App Store.
This is the initial screen you will see when you first launch your application. On
the left-hand side, you will notice a list of different files which we will be using
throughout our App creation. The folder Test Run-Through is the name of the
main App folder, which has many other files within. The screen that is initially
shown is where you will enter basic settings. You can scroll through and
add/change any details that you desire. For now, we will stick to the default
values.
Figure 1-4 App Storyboard
Here is the Main Storyboard screen. We will spend a lot of time here during
the beginning stages of our application.
Chapter Summary
In this chapter, we learned about Xcode, the integrated development
environment (IDE) platform we will use to develop our iPhone App. The
chapter provided a step-by-step guide to install Xcode and provided the basic
understanding of the Xcode interface. It is highly recommended to explore the
interface and learn about the different screen layouts before you begin coding.
© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
S. Baruah, S. BaruahApp Development Using iOS iCloud
https://doi.org/10.1007/978-1-4842-8758-3_2
2. CloudKit Overview
Ever since Apple announced CloudKit, a new avenue for cloud-based App
development has emerged for developers. CloudKit offers a great avenue for
Apps that need interactions with other App users. Prior to CloudKit, developers
used to create homegrown solutions from authentication to data sync, which is
not an easy task to do besides being vulnerable to security breaches. CloudKit
wraps all such complexities and provides a scalable architecture to develop data-
persistent, cloud-based applications.
In this chapter, we will learn some basics, including setting up CloudKit the
dashboard, and managing CloudKit-based applications.
CloudKit at a Glance
CloudKit was first introduced in 2014 and, since then, has gone through many
revisions. It is a simple way to integrate your applications (iOS, WatchOS,
MacOS, and TVOS) to iCloud. Apple also uses CloudKit to natively integrate its
own family of products. For example, when you Share a Note with another user,
Apple is using CloudKit as Backend as a Service (BaaS) to make that share
happen. Following are some key offerings that we will learn in future chapters of
the book:
Share content among App users, you can natively share data with other
application users.
Securely share and manage data, the security is natively built in. You
can define the access and role other App users can have on your data
sets.
Data Privacy, the beauty of CloudKit is that the user's data is stored in
their own private databases (unless you explicitly define it to be a public
database or a shared database). Even the creator of the application
cannot access the data of another user.
Distributed Data set, your application user’s data are stored in their
own iCloud instance. You don’t have to invest in data scaling as your user
base grows.
Multi-environment API support, Apple has made the CloudKit API
ubiquitously available across platforms. You can have an Android version
of your App accessing data from CloudKit database using its open APIs.
Up to 2GB of data without any charge, you can make your application
production ready with very little investment
Dev and Prod environment, you get a staging environment, where
you can play around. When you make your application production ready,
you can easily upgrade it to Production.
A Dashboard to define and manage databases.
Setting Up CloudKit
Before you can explore the CloudKit functions, you need to configure the same
in the Xcode interface. After iCloud is enabled, an entitlement file is created
which is required to access any iCloud features. The setup of CloudKit is a five-
step process.
Step 1: Open the Xcode project for which you want to set up CloudKit and
click on the Project icon in the project Navigator. The project properties window
will appear as shown in Figure 2-1.
1. 1.
Container Permission: If you have more than one developer, you can set
the permission for each developer using this option.
2. 2.
API Access: Using API Token, any web front application can request an
access to the Container and its data and environment.
3. 3.
Data: Data is where all application data persists. There are three types of
databases, Private (only the user will have access to its own data), Public (All
users of the applications can see data), and Shared (Users can share data
among a select set of users). Data holds all application data, indexes, and its
permission as designed in an application schema structure.
4. 4.
Schema: This is where we can define the Record Types, set indexes and
subscriptions, and Security Roles.
5. 5.
Logs: Logs provide live and historical application logs.
6. 6.
Telemetry: Provides a graphical representation of important database
analysis over period, such as Requests, Server Latency, Error Count, Average
Request Size, and Push notifications.
7. 7.
Usage: Usage gives the application usage pattern across Storage (Database
and Asset), Users, Number of Requests per second by Database Type. We
can see the usage by daily or monthly view.
1. 1.
From the dashboard page, click the Schema Icon. Please note we are in a
development environment. Once we are done with our development, we will
promote it to the production environment. (Note: We created iCloud.Genie
from the Xcode interface.) Figure 2-9 shows the selected schema detail
dashboard.
Figure 2-9 iCloud Dashboard Home Screen
Content Types are Record Types storing the definition of a table. A Table
has both system- and user-defined attributes that define the character of
the table. From the screen, add a Content Type and name it as Book and
click the save button. Figure 2-10 is the record types definition and
editing screen.
1. 2.
We will add the fields listed in Table 2-1 to the Book Record Type. From the
screen, click the Add Field and add the following fields to the table. Make
sure you click the save button before exiting the screen. Please note, we will
create a few more tables in Part II of this book when we create the
advanced version of our Book Tracker App. Table 2-1 lists all the field details
of the schema type Book.
1. 3.
To make the fields queryable/sortable/searchable, we need to add the
relevant indexes. For now, we are only adding a queryable index. Click Edit
Indexes and add queryable index for all fields. Post addition of indexes, the
screen should look like Figure 2-11.
This chapter will provide all the core swift concepts you need to know to make
your Book Tracker App. Please note the list is not intended to be exhaustive, but
as a comprehensive reference guide to help you create your App.
Variables
Learning to define and use variables are basics of Swift programming. We are
going to focus on the following variable definition types. This is not an
exhaustive list, but the important ones that we will need to develop our App
using the Swift language.
Let and Var
Variables are containers which store values in transient state during the
execution of a program. To define a variable, we must either use “let” or “var” to
let Swift know, a) a variable is defined and, b) the type of the value the variable
must store. Use “let” when the variable value is not going to change in the
scope of the program, and “var” when it will change and will require
reassignment of a new value to the variable during the execution of the
program. It is a good practice to use “let” if the value is not going to change.
Examples
let name:String = ""
In this example, we define a variable called “name” of type String which has
an empty String
Basic Types
Types define what value a variable should store. The key types which we will be
mostly using in our Book Tracker Apps are
Int or Int32 or Int64: This stores Integer value
Random documents with unrelated
content Scribd suggests to you:
Well, a few years before the opening of this story, a Winckelmann,
though an anonymous one, actually did appear in Lud-in-the-Mist;
although the field of his enquiries was not limited to the plastic arts.
He published a book, entitled Traces of Fairy in the Inhabitants,
Customs, Art, Vegetation and Language of Dorimare.
His thesis was this: that there was an unmistakable fairy strain
running through the race of Dorimarites, which could only be
explained by the hypothesis that, in the olden days, there had been
frequent intermarriage between them and the Fairies. For instance,
the red hair, so frequent in Dorimare, pointed, he maintained, to such
a strain. It was also to be found, he asserted, in the cattle of
Dorimare. For this assertion he had some foundation, for it was
undeniable that from time to time a dun or dapple cow would bring
forth a calf of a bluish tinge, whose dung was of a ruddy gold. And
tradition taught that all the cattle of Fairyland were blue, and that
fairy gold turned into dung when it had crossed the border. Tradition
also taught that all the flowers of Fairyland were red, and it was
indisputable that the cornflowers of Dorimare sprang up from time to
time as red as poppies, and the lilies as red as damask roses.
Moreover, he discovered traces of the Fairies' language in the oaths
of the Dorimarites and in some of their names. And, to a stranger, it
certainly produced an odd impression to hear such high-flown oaths
as; by the Sun, Moon and Stars; by the Golden Apples of the West;
by the Harvest of Souls; by the White Ladies of the Fields; by the
Milky Way, come tumbling out in the same breath with such homely
expletives as Busty Bridget; Toasted Cheese; Suffering Cats; by my
Great-Aunt's Rump; or to find names like Dreamsweet, Ambrose,
Moonlove, wedded to such grotesque surnames as Baldbreech,
Fliperarde, or Pyepowders.
With regard to the designs of old tapestries and old bas-reliefs, he
maintained that they were illustrations of the flora, fauna, and history
of Fairyland, and scouted the orthodox theory which explained the
strange birds and flowers as being due either to the artists' unbridled
fancy or to their imperfect control of their medium, and considered
that the fantastic scenes were taken from the rituals of the old
religion. For, he insisted, all artistic types, all ritual acts, must be
modelled on realities; and Fairyland is the place where what we look
upon as symbols and figures actually exist and occur.
If the antiquary, then, was correct, the Dorimarite, like a Dutchman of
the seventeenth century, smoking his churchwarden among his
tulips, and eating his dinner off Delft plates, had trivialised to his own
taste the solemn spiritual art of a remote, forbidden land, which he
believed to be inhabited by grotesque and evil creatures given over
to strange vices and to dark cults ... nevertheless in the veins of the
Dutchman of Dorimare there flowed without his knowing it the blood
of these same evil creatures.
It is easy to imagine the fury caused in Lud-in-the-Mist by the
appearance of this book. The printer was, of course, heavily fined,
but he was unable to throw any light on its authorship. The
manuscript, he said, had been brought to him by a rough, red-haired
lad, whom he had never seen before. All the copies were burned by
the common hangman, and there the matter had to rest.
In spite of the law's maintaining that Fairyland and everything to do
with it was non-existent, it was an open secret that, though fairy fruit
was no longer brought into the country with all the pomp of
established ritual, anyone who wanted it could always procure it in
Lud-in-the-Mist. No great effort had ever been made to discover the
means and agents by which it was smuggled into the town; for to eat
fairy fruit was regarded as a loathsome and filthy vice, practised in
low taverns by disreputable and insignificant people, such as indigo
sailors and pigmy Norsemen. True, there had been cases known
from time to time, during the couple of centuries that had elapsed
since the expulsion of Duke Aubrey, of youths of good family taking
to this vice. But to be suspected of such a thing spelled complete
social ostracism, and this, combined with the innate horror felt for the
stuff by every Dorimarite, caused such cases to be very rare.
But some twenty years before the opening of this story, Dorimare
had been inflicted with a terrible drought. People were reduced to
making bread out of vetches and beans and fern-roots; and marsh
and tarn were rifled of their reeds to provide the cattle with food,
while the Dawl was diminished to the size of an ordinary rill, as were
the other rivers of Dorimare—with the exception of the Dapple. All
through the drought the waters of the Dapple remained unimpaired;
but this was not to be wondered at, as a river whose sources are in
Fairyland has probably mysterious sources of moisture. But, as the
drought burned relentlessly on, in the country districts an ever-
increasing number of people succumbed to the vice of fairy fruit-
eating ... with tragic results to themselves, for though the fruit was
very grateful to their parched throats, its spiritual effects were most
alarming, and every day fresh rumours reached Lud-in-the-Mist (it
was in the country districts that this epidemic, for so we must call it,
raged) of madness, suicide, orgiastic dances, and wild doings under
the moon. But the more they ate the more they wanted, and though
they admitted that the fruit produced an agony of mind, they
maintained that for one who had experienced this agony life would
cease to be life without it.
How the fruit got across the border remained a mystery, and all the
efforts of the magistrates to stop it were useless. In vain they
invented a legal fiction (as we have seen, the law took no
cognisance of fairy things) that turned fairy fruit into a form of woven
silk and, hence, contraband in Dorimare; in vain they fulminated in
the Senate against all smugglers and all men of depraved minds and
filthy habits—silently, surely, the supply of fairy fruit continued to
meet the demand. Then, with the first rain, both began to decrease.
But the inefficiency of the magistrates in this national crisis was
never forgotten, and "feckless as a magistrate in the great drought"
became a proverb in Dorimare.
As a matter of fact, the ruling class of Dorimare had become
incapable of handling any serious business. The wealthy merchants
of Lud-in-the-Mist, the descendants of the men of the revolution and
the hereditary rulers of Dorimare had, by this time, turned into a set
of indolent, self-indulgent, humorous gentlemen, with hearts as little
touched to tragic issues as those of their forefathers, but with none
of their forefathers' sterling qualities.
A class struggling to assert itself, to discover its true shape, which
lies hidden, as does the statue in the marble, in the hard, resisting
material of life itself, must, in the nature of things, be different from
that same class when chisel and mallet have been laid aside, and it
has actually become what it had so long been struggling to be. For
one thing, wealth had ceased to be a delicate, exotic blossom. It had
become naturalised in Dorimare, and was now a hardy perennial,
docilely renewing itself year after year, and needing no tending from
the gardeners.
Hence sprang leisure, that fissure in the solid masonry of works and
days in which take seed a myriad curious little flowers—good
cookery, and shining mahogany, and a fashion in dress, that, like a
baroque bust, is fantastic through sheer wittiness, and porcelain
shepherdesses, and the humours, and endless jokes—in fact, the
toys, material and spiritual, of civilisation. But they were as different
as possible from the toys of that older civilisation that littered the
attics of the Chanticleers. About these there had been something
tragic and a little sinister; while all the manifestations of the modern
civilisation were like fire-light—fantastic, but homely.
Such, then, were the men in whose hands lay the welfare of the
country. And, it must be confessed, they knew but little and cared still
less about the common people for whom they legislated.
For instance, they were unaware that in the country Duke Aubrey's
memory was still green. It was not only that natural children still went
by the name of "Duke Aubrey's brats"; that when they saw a falling
star old women would say, "Duke Aubrey has shot a roe"; and that
on the anniversary of his expulsion, maidens would fling into the
Dapple, for luck, garlands woven out of the two plants that had
formed the badge of the Dukes—ivy and squills. He was a living
reality to the country people; so much so that, when leakages were
found in the vats, or when a horse was discovered in the morning
with his coat stained and furrowed with sweat, some rogue of a farm-
hand could often escape punishment by swearing that Duke Aubrey
had been the culprit. And there was not a farm or village that had not
at least one inhabitant who swore that he had seen him, on some
midsummer's eve, or some night of the winter solstice, galloping past
at the head of his fairy hunt, with harlequin ribbands streaming in the
wind, to the sound of innumerable bells.
But of Fairyland and its inhabitants the country people knew no more
than did the merchants of Lud-in-the-Mist. Between the two countries
stood the barrier of the Debatable Hills, the foothills of which were
called the Elfin Marches, and were fraught, tradition said, with every
kind of danger, both physical and moral. No one in the memory of
man had crossed these hills, and to do so was considered
tantamount to death.
CHAPTER III
THE BEGINNING OF TROUBLE
The social life of Lud-in-the-Mist began in spring and ended in
autumn. In winter the citizens preferred their own fire-sides; they had
an unreasoning dislike of being out after nightfall, a dislike due not
so much to fear as to habit. Though the habit may have sprung from
some forgotten danger that, long ago, had made their ancestors
shun the dark.
So it was always with relief as well as with joy that they welcomed
the first appearance of spring—scarcely crediting at first that it was a
reality shared by all the world, and not merely an optical delusion
confined to their own eyes in their own garden. There, the lawn was
certainly green, the larches and thorns even startlingly so, and the
almonds had rose-coloured blossoms; but the fields and trees in the
hazy distance beyond their own walls were still grey and black. Yes,
the colours in their own garden must be due merely to some
gracious accident of light, and when that light shifted the colours
would vanish.
But everywhere, steadily, invisibly, the trees' winter foliage of white
sky or amethyst grey dusk was turning to green and gold.
All the world over we are very conscious of the trees in spring, and
watch with delight how the network of twigs on the wych-elms is
becoming spangled with tiny puce flowers, like little beetles caught in
a spider's web, and how little lemon-coloured buds are studding the
thorn. While as to the long red-gold buds of the horse-chestnuts—
they come bursting out with a sort of a visual bang. And now the
beech is hatching its tiny perfectly-formed leaves—and all the other
trees in turn.
And at first we delight in the diversity of the colours and shapes of
the various young leaves—noting how those of the birch are like a
swarm of green bees, and those of the lime so transparent that they
are stained black with the shadow of those above and beneath them,
and how those of the elm diaper the sky with the prettiest pattern,
and are the ones that grow the most slowly.
Then we cease to note their idiosyncrasies, and they merge, till
autumn, into one solid, unobtrusive green curtain for throwing into
relief brighter and sharper things. There is nothing so dumb as a tree
in full leaf.
It was in the spring of his fiftieth year that Master Nathaniel
Chanticleer had his first real anxiety. It concerned his only son
Ranulph, a little boy of twelve years old.
Master Nathaniel had been elected that year to the highest office in
the state—that of Mayor of Lud-in-the-Mist and High Seneschal of
Dorimare. Ex officio, he was president of the Senate and chief justice
on the Bench. According to the constitution, as drawn up by the men
of the revolution, he was responsible for the safety and defence of
the country in case of attack by sea or land; it was for him to see that
both justice and the country's revenues were properly administered;
and his time was held to be at the disposal of the most obscure
citizen with a grievance.
Actually—apart from presiding on the Bench—his duties had come
to consist of nothing more onerous than being a genial and dignified
chairman of a comfortable and select club, for that was what in
reality the Senate had now become. Nevertheless, though it was
open to question whether his official duties were of the slightest use
to anyone, they were numerous enough to occupy most of his time
and to cause him to be unconscious of the under-currents in his
home.
Ranulph had always been a dreamy, rather delicate child, and
backward for his years. Up to the age of seven, or thereabouts, he
had caused his mother much anxiety by his habit, when playing in
the garden, of shouting out remarks to an imaginary companion. And
he was fond of talking nonsense (according to the ideas of Lud-in-
the-Mist, slightly obscene nonsense) about golden cups, and snow-
white ladies milking azure cows, and the sound of tinkling bridles at
midnight. But children are apt, all the world over, to have nasty little
minds; and this type of talk was not uncommon among the children
of Lud-in-the-Mist, and, as they nearly always grew out of it, little
attention was paid to it.
Then, when he was a few years older, the sudden death of a young
scullery maid affected him so strongly that for two days he would not
touch food, but lay with frightened eyes tossing and trembling in bed,
like a newly-caught bird in a cage. When his shocked and alarmed
mother (his father was at the seaport town on business at the time)
tried to comfort him by reminding him that he had not been
particularly fond of the scullery-maid while she was alive, he had
cried out irritably, "No, no, it isn't her ... it's the thing that has
happened to her!"
But all that was when he was still quite a little boy, and, as he grew
older, he had seemed to become much more normal.
But that spring his tutor had come to Dame Marigold to complain of
his inattention at his studies, and sudden unreasonable outbreaks of
passion. "To tell the you truth, ma'am, I think the little fellow can't be
well," the tutor had said.
So Dame Marigold sent for the good old family doctor, who said
there was nothing the matter with him but a little overheating of the
blood, a thing very common in the spring; and prescribed sprigs of
borage in wine: "the best cordial for lazy scholars," and he winked
and pinched Ranulph's ear, adding that in June he might be given an
infusion of damask roses to complete the cure.
But the sprigs of borage did not make Ranulph any more attentive to
his lessons; while Dame Marigold had no longer need of the tutor's
hints to realise that the little boy was not himself. What alarmed her
most in his condition was the violent effort that he had evidently to
make in order to react in the least to his surroundings. For instance,
if she offered him a second helping at dinner, he would clench his
fists, and beads of perspiration would break out on his forehead, so
great an effort did it require to answer Yes or No.
There had never been any real sympathy between Ranulph and his
mother (she had always preferred her daughter, Prunella), and she
knew that if she were to ask him what ailed him he would not tell her;
so, instead, she asked Ranulph's great ally and confidant, Master
Nathaniel's old nurse, Mistress Hempen.
Hempie, as they called her, had served the family of Chanticleer for
nearly fifty years, in fact ever since the birth of Master Nathaniel. And
now she was called the housekeeper, though her duties were of the
lightest, and consisted mainly of keeping the store-room keys and
mending the linen.
She was a fine, hale old country-woman, with a wonderful gift for
amusing children. Not only did she know all the comic nursery
stories of Dorimare (Ranulph's favourite was about a pair of
spectacles whose ambition was to ride on the nose of the Man-in-
the-Moon, and who, in vain attempts to reach their goal, were always
leaping off the nose of their unfortunate possessor), but she was, as
well, an incomparable though sedentary playfellow, and from her
arm-chair would direct, with seemingly unflagging interest, the
manoeuvres of lead soldiers or the movements of marionettes.
Indeed, her cosy room at the top of the house seemed to Ranulph to
have the power of turning every object that crossed its threshold into
a toy: the ostrich egg hanging from the ceiling by a crimson cord, the
little painted wax effigies of his grandparents on the chimney-piece,
the old spinning-wheel, even the empty bobbins, which made
excellent wooden soldiers, and the pots of jam standing in rows to be
labelled—they all presented infinite possibilities of being played with;
while her fire seemed to purr more contentedly than other fires and
to carry prettier pictures in its red, glowing heart.
Well, rather timidly (for Hempie had a rough edge to her tongue, and
had never ceased to look upon her mistress as a young and foolish
interloper), Dame Marigold told her that she was beginning to be a
little anxious about Ranulph. Hempie shot her a sharp look over her
spectacles, and, pursing her lips, drily remarked, "Well, ma'am, it's
taken you a long time to see it."
But when Dame Marigold tried to find out what she thought was the
matter with him, she would only shake her head mysteriously, and
mutter that it was no use crying over spilt milk, and least said
soonest mended.
When finally the baffled Dame Marigold got up to go, the old woman
cried shrilly: "Now, ma'am, remember, not a word of this to the
master! He was never one that could stand being worried. He's like
his father in that. My old mistress used often to say to me, 'Now,
Polly, we won't tell the master. He can't stand worry.' Aye, all the
Chanticleers are wonderful sensitive." And the unexpressed
converse of the last statement was, "All the Vigils, on the other hand,
have the hides of buffaloes."
Dame Marigold, however, had no intention of mentioning the matter
as yet to Master Nathaniel. Whether or not it was due to the
Chanticleers' superior sensitiveness of soul, the slightest worry, as
she knew to her cost, made him unbearably irritable.
He had evidently, as yet, noticed nothing himself. Most of his day
was spent in the Senate and his counting-house; besides, his
interest in other people's lives was not extended to those of his own
household.
As to his feelings for Ranulph, it must be confessed that he looked
upon him more as an heirloom than as a son. In fact, unconsciously,
he placed him in the same category as the crystal goblet with which
Duke Aubrey's father had baptized the first ship owned by a
Chanticleer, or the sword with which his ancestor had helped to turn
Duke Aubrey off the throne—objects that he very rarely either looked
at or thought about, though the loss of them would have caused him
to go half mad with rage and chagrin.
However, one evening, early in April, the matter was forced upon his
attention in a very painful manner.
By this time spring had come to all the world, and the citizens of Lud-
in-the-Mist were beginning to organise their life for summer—copper
vessels were being cleaned and polished for the coming labours of
the still-room, arbours in the gardens swept out and cleaned, and
fishing-tackle overhauled; and people began to profit by the longer
days by giving supper-parties to their friends.
Nobody in Lud-in-the-Mist loved parties more than Master Nathaniel.
They were a temporary release. It was as if the tune of his life were
suddenly set to a different and gayer key; so that, while nothing was
substantially changed, and the same chairs stood in the same
places, with people sitting in them that he met every day, and there
was even the same small, dull ache in one of his teeth, nevertheless
the sting, or rather the staleness, was taken out of it all. So it was
very gleefully that he sent invitations to all his cronies to come "and
meet a Moongrass cheese"—as he had done every April for the last
twenty-five years.
Moongrass was a village of Dorimare famous for its cheeses—and
rightly so, for to look at they were as beautiful as Parian marble
veined with jade, and they had to perfection the flavour of all good
cheeses—that blending of the perfume of meadows with the cleanly
stench of the byre. It was the Moongrass cheeses that were the
subject of the comic advertisement described in a previous chapter.
By seven o'clock the Chanticleers' parlour was filled with a crowd of
stout, rosy, gaily-dressed guests, chattering and laughing like a flock
of paroquets. Only Ranulph was silent; but that was to be expected
from a little boy of twelve years old in the presence of his elders.
However, he need not have sulked in a corner, nor responded quite
so surlily to the jocular remarks addressed him by his father's
guests.
Master Nathaniel, of course, had a well-stored cellar, and the
evening began with glasses of delicious wild-thyme gin, a cordial for
which that cellar was famous. But, as well, he had a share in a
common cellar, owned jointly by all the families of the ruling class—a
cellar of old, mellow jokes that, unlike bottles of wine, never ran dry.
Whatever there was of ridiculous or lovable in each member of the
group was distilled into one of these jokes, so that at will one could
intoxicate oneself with one's friends' personalities—swallow, as it
were, the whole comic draught of them. And, seeing that in these old
jokes the accumulated irritation that inevitably results from intimacy
evaporated and turned to sweetness, like the juice of the grape they
promoted friendship and cordiality—between the members of the
group, that is to say. For each variety of humour is a sort of totem,
making at once for unity and separation. Its votaries it unites into a
closely-knit brotherhood, but it separates them sharply off from all
the rest of the world. Perhaps the chief reason for the lack of
sympathy between the rulers and the ruled in Dorimare was that, in
humour, they belonged to different totems.
Anyhow, everyone there tonight shared the same totem, and each
one of them was the hero of one of the old jokes. Master Nathaniel
was asked if his crimson velvet breeches were a blackish crimson
because, many years ago, he had forgotten to go into mourning for
his father-in-law; and when Dame Marigold had, finally, tentatively
pointed out to him his omission, he had replied angrily, "I am in
mourning!" Then, when with upraised eyebrows she had looked at
the canary-coloured stockings that he had just purchased, he had
said sheepishly, "Anyhow, it's a blackish canary."
Few wines have as strong a flavour of the grape as this old joke had
of Master Nathaniel. His absent-mindedness was in it, his power of
seeing things as he wanted them to be (he had genuinely believed
himself to be in mourning) and, finally, in the "blackish canary" there
was the tendency, which he had inherited, perhaps, from his legal
ancestors, to believe that one could play with reality and give it what
shape one chose.
Then, Master Ambrose Honeysuckle was asked whether the
Honeysuckles considered a Moongrass cheese to be a cheese; the
point being that Master Ambrose had an exaggerated sense of the
importance of his own family, and once in the law-courts, when the
question arose as to whether a dragon (there were still a few
harmless, effete dragons lurking in caves in out-of-the-way parts of
Dorimare) were a bird or a reptile, he had said, with an air of finality,
"The Honeysuckles have always considered them to be reptiles."
And his wife, Dame Jessamine, was asked if she wanted her supper
"on paper," owing to her habit of pinning her husband down to any
rash promise, such as that of a new barouche, by saying, "I'd like
that on paper, Ambrose."
And then there was Dame Marigold's brother, Master Polydore Vigil,
and his wife, Dame Dreamsweet, and old Mat Pyepowders and his
preposterous, chattering dame, and the Peregrine Laquers and the
Goceline Flacks and the Hyacinth Baldbreeches—in fact, all the
cream of the society of Lud-in-the-Mist, and each of them labelled
with his or her appropriate joke. And the old jokes went round and
round, like bottles of port, and with each round the company grew
more hilarious.
The anonymous antiquary could have found in the culinary language
of Dorimare another example to support his thesis; for the menu of
the supper provided by Dame Marigold for her guests sounded like a
series of tragic sonnets. The first dish was called "The Bitter-Sweet
Mystery"—it was a soup of herbs on the successful blending of
which the cooks of Lud-in-the-Mist based their reputation. This was
followed by "The Lottery of Dreams," which consisted of such
delicacies as quail, snails, chicken's liver, plovers' eggs, peacocks'
hearts, concealed under a mountain of boiled rice. Then came "True-
Love-in-Ashes," a special way of preparing pigeons; and last,
"Death's Violets," an extremely indigestible pudding decorated with
sugared violets.
"And now!" cried Master Nathaniel gleefully, "here comes the turn of
our old friend! Fill your glasses, and drink to the King of Moongrass
Cheeses!"
"To the King of Moongrass Cheeses!" echoed the guests, stamping
with their feet and banging on the table. Whereupon Master
Nathaniel seized a knife, and was about to plunge it into the
magnificent cheese, when suddenly Ranulph rushed round to his
side and, with tears in his eyes, implored him, in a shrill terrified
voice, not to cut the cheese. The guests, thinking it must be some
obscure joke, tittered encouragingly, and Master Nathaniel, after
staring at him in amazement for a few seconds, said testily, "What's
taken the boy? Hands off, Ranulph, I say! Have you gone mad?" But
Ranulph's eyes were now starting out of his head in fury, and,
hanging on to his father's arm, he screamed in his shrill, childish
voice, "No, you won't! you won't, you won't! I won't let you!"
"That's right, Ranulph!" laughed one of the guests. "You stand up to
your father!"
"By the Milky Way! Marigold," roared Master Nathaniel, beginning to
lose his temper, "what's taken the boy, I ask?"
Dame Marigold was looking nervous. "Ranulph! Ranulph!" she cried
reproachfully, "go back to your place, and don't tease your father."
"No! No! No!" shrieked Ranulph still more shrilly, "he shall not kill the
moon ... he shall not, I say. If he does, all the flowers will wither in
Fairyland."
How am I to convey to you the effect that these words produced on
the company? It would not be adequate to ask you to imagine your
own feelings were your host's small son suddenly, in a mixed
company, to pour forth a stream of obscene language; for Ranulph's
words were not merely a shock to good taste—they aroused, as well,
some of the superstitious terror caused by the violation of a taboo.
The ladies all blushed crimson, the gentlemen looked stern, while
Master Nathaniel, his face purple, yelled in a voice of thunder, "Go to
bed this instant, Ranulph ... and I'll come and deal with you later on";
and Ranulph, who suddenly seemed to have lost all interest in the
fate of the cheese, meekly left the room.
There were no more jokes that evening, and on most of the plates
the cheese lay neglected; and in spite of the efforts of some of the
guests, conversation flagged sadly, so that it was scarcely nine
o'clock when the party broke up.
When Master Nathaniel was left alone with Dame Marigold he
fiercely demanded an explanation of Ranulph's behaviour. But she
merely shrugged her shoulders wearily, and said she thought the boy
must have gone mad, and told him how for some weeks he had
seemed to her unlike himself.
"Then why wasn't I told? Why wasn't I told?" stormed Master
Nathaniel. Again Dame Marigold shrugged her shoulders, and, as
she looked at him, there was a gleam of delicate, humourous
contempt in her heavily-lidded eyes. Dame Marigold's eyes, by the
way, had a characteristic, which was to be found often enough
among the Ludites—you would have called them dreamy and
languorous, had it not been for the expression of the mouth, which
with its long satirical upper lip, like that of an old judge, and the
whimsical twist to its corners, reacted on the eyes, and made them
mocking and almost too humourous—never more so than when she
looked at Master Nathaniel. In her own way she was fond of him. But
her attitude was not unlike that of an indulgent mistress to a shaggy,
uncertain-tempered, performing dog.
Master Nathaniel began to pace up and down the room, his fists
clenched, muttering imprecations against inefficient women and the
overwhelming worries of a family man—in his need for a victim on
whom to vent his rage, actually feeling angry with Dame Marigold for
having married him and let him in for all this fuss and to-do. And his
shadowy fears were more than usually clamorous. Dame Marigold,
as she sat watching him, felt that he was rather like a cockchafer that
had just flounced in through the open window, and, with a small,
smacking sound, was bouncing itself backwards and forwards
against its own shadow on the ceiling—a shadow that looked like a
big, black velvety moth. But it was its clumsiness, and blundering
ineffectualness that reminded her of Master Nathaniel; not the fact
that it was banging itself against the shadow.
Up and down marched Master Nathaniel, backwards and forwards
bounced the cockchafer, hither and thither flitted its soft, dainty
shadow. Then, suddenly, straight as a die, the cockchafer came
tumbling down from the ceiling and, at the same time, Master
Nathaniel—calling over his shoulder, "I must go up and see that
boy"—dashed from the room.
He found Ranulph in bed, sobbing his heart out, and as he looked at
the piteous little figure he felt his anger evaporating. He laid his hand
on the boy's shoulder and said not unkindly: "Come, my son; crying
won't mend matters. You'll write an apology to Cousin Ambrose, and
Uncle Polydore, and all the rest of them, tomorrow; and then—well,
we'll try to forget about it. We're none of us quite responsible for
what we say when we're out of sorts ... and I gather from your
mother you've not been feeling quite the thing these past weeks."
"It was something made me say it!" sobbed Ranulph.
"Well, that's a nice, easy way of getting out of it," said Master
Nathaniel more sternly. "No, no, Ranulph, there's no excuse for
behaviour like that, none whatever. By the Harvest of Souls!" and his
voice became indignant, "Where did you pick up such ideas and
such expressions?"
"But they're true! They're true!" screamed Ranulph.
"I'm not going into the question of whether they're true or not. All I
know is that they're not the things talked about by ladies and
gentlemen. Such language has never before been heard under my
roof, and I trust it never will be again ... you understand?"
Ranulph groaned, and Master Nathaniel added in a kinder voice,
"Well, we'll say no more about it. And now what's all this I hear from
your mother about your being out of sorts, eh?"
But Ranulph's sobs redoubled. "I want to get away! to get away!" he
moaned.
"Away? Away from where?" and there was a touch of impatience in
Master Nathaniel's voice.
"From ... from things happening," sobbed Ranulph.
Master Nathaniel's heart suddenly contracted; but he tried not to
understand. "Things happening?" he said in a voice that he
endeavoured to make jocular. "I don't think anything very much
happens in Lud, does it?"
"All the things," moaned Ranulph, "summer and winter, and days and
nights. All the things!"
Master Nathaniel had a sudden vision of Lud and the surrounding
country, motionless and soundless, as it appeared from the Fields of
Grammary. Was it possible that Ranulph, too, was a real person, a
person inside whose mind things happened? He had thought that he
himself was the only real person in a field of human flowers. For
Master Nathaniel that was a moment of surprise, triumph,
tenderness, alarm.
Ranulph had now stopped sobbing, and was lying there quite still.
"The whole of me seems to have got inside my head, and to hurt ...
just like it all gets inside a tooth when one has toothache," he said
wearily.
Master Nathaniel looked at him. The fixed stare, the slightly-open
mouth, the rigid motionless body, fettered by a misery too profound
for restlessness—how well he knew the state of mind these things
expressed! But there must surely be relief in thus allowing the mood
to mould the body's attitude to its own shape.
He had no need now to ask his son for explanations. He knew so
well both that sense of emptiness, that drawing in of the senses (like
the antennae of some creature when danger is no longer imminent,
but there), so that the physical world vanishes, while you yourself at
once swell out to fill its place, and at the same time shrink to a
millionth part of your former bulk, turning into a mere organ of
suffering without thought and without emotions; he knew also that
other phase, when one seems to be flying from days and months,
like a stag from its hunters—like the fugitives, on the old tapestry,
from the moon.
But when it is another person who is suffering in this way, in spite of
one's pity, how trivial it all seems! How certain one is of being able to
expel the agony with reasoning and persuasion!
It was in a slightly husky voice that, laying his hand on Ranulph's, he
said, "Come, my son, this won't do." And then, with a twinkle, he
added, "Chivvy the black rooks away from the corn."
Ranulph gave a little shrill laugh. "There are no black rooks—all the
birds are golden," he cried.
Master Nathaniel frowned—with that sort of thing he had no
patience. But he determined to ignore it, and to keep to the aspect of
the case for which he had real sympathy. "Come, my son!" he said,
in a tenderly rallying voice. "Tell yourself that tomorrow it will all be
gone. Why, you don't think you're the only one, do you? We all feel
like that at times, but we don't let ourselves be beaten by it, and
mope and pine and hang our heads. We stick a smile on our faces
and go about our business."
Master Nathaniel, as he spoke, swelled with complacency. He had
never realised it before, but really it was rather fine the way he had
suffered in silence, all these years!
But Ranulph had sat up in bed, and was looking at him with a
strange little smile.
"I'm not the same as you, father," he said quietly. And then once
more he was shaken by great sobs, and screamed out in a voice of
anguish, "I have eaten fairy fruit!"
At these terrible words Master Nathaniel stood for a moment dizzy
with horror; then he lost his head. He rushed out on to the landing,
calling for Dame Marigold at the top of his voice.
"Marigold! Marigold! Marigold!"
Dame Marigold came hurrying up the stairs, calling out in a
frightened voice, "What is it, Nat? Oh, dear! What is it?"
"By the Harvest of Souls, hurry! Hurry! Here's the boy saying he's
been eating ... the stuff we don't mention. Suffering cats! I'll go mad!"
Dame Marigold fluttered down on Ranulph like a plump dove.
But her voice had none of the husky tenderness of a dove as she
cried, "Oh, Ranulph! You naughty boy! Oh, dear, this is frightful! Nat!
Nat! What are we to do?"
Ranulph shrank away from her, and cast an imploring look towards
his father. Whereupon Master Nathaniel took her roughly by the
shoulders and pushed her out of the room, saying, "If that is all you
can say, you'd better leave the boy to me."
And Dame Marigold, as she went down the stairs, terrified,
contemptuous, sick at heart, was feeling every inch a Vigil, and
muttering angrily to herself, "Oh, these Chanticleers!"
We are not yet civilised enough for exogamy; and, when anything
seriously goes wrong, married couples are apt to lay all the blame at
its door.
Well, it would seem that the worst disgrace that could befall a family
of Dorimare had come to the Chanticleers. But Master Nathaniel was
no longer angry with Ranulph. What would it serve to be angry?
Besides, there was this new tenderness flooding his heart, and he
could not but yield to it.
Bit by bit he got the whole story from the boy. It would seem that
some months ago a wild, mischievous lad called Willy Wisp who, for
a short time, had worked in Master Nathaniel's stables, had given
Ranulph one sherd of a fruit he had never seen before. When
Ranulph had eaten it, Willy Wisp had gone off into peal upon peal of
mocking laughter, crying out, "Ah, little master, what you've just
eaten is FAIRY FRUIT, and you'll never be the same again ... ho, ho,
hoh!"
At these words Ranulph had been overwhelmed with horror and
shame: "But now I nearly always forget to be ashamed," he said. "All
that seems to matter now is to get away ... where there are shadows
and quiet ... and where I can get ... more fruit."
Master Nathaniel sighed heavily. But he said nothing; he only
stroked the small, hot hand he was holding in his own.
"And once," went on Ranulph, sitting up in bed, his cheeks flushed,
his eyes bright and feverish, "in the garden in full daylight I saw them
dancing—the Silent People, I mean—and their leader was a man in
green, and he called out to me, 'Hail, young Chanticleer! Some day
I'll send my piper for you, and you will up and follow him!' And I often
see his shadow in the garden, but it's not like our shadows, it's a
bright light that flickers over the lawn. And I'll go, I'll go, I'll go, I'll go,
some day, I know I shall!" and his voice was frightened and, at the
same time, triumphant.
"Hush, hush, my son!" said Master Nathaniel soothingly, "I don't think
we'll let you go." But his heart felt like lead.
"And ever since ... since I ate ... the fruit," went on Ranulph,
"everything has frightened me ... at least, not only since then,
because it did before too, but it's much worse now. Like that cheese
tonight ... anything can suddenly seem queer or terrible. But since ...
since I ate that fruit I sometimes seem to see the reason why they're
terrible. Just as I did tonight over the cheese, and I was so frightened
that I simply couldn't keep quiet another minute."
Master Nathaniel groaned. He too had felt frightened of homely
things.
"Father," said Ranulph suddenly, "What does the cock say to you?"
Master Nathaniel gave a start. It was as if his own soul were
speaking to him.
"What does he say to me?"
He hesitated. Never before had he spoken to anyone about his inner
life. In a voice that trembled a little, for it was a great effort to him to
speak, he went on, "He says to me, Ranulph, he says ... that the
past will never come again, but that we must remember that the past
is made of the present, and that the present is always here. And he
says that the dead long to be back again on the earth, and that...."
"No! No!" cried Ranulph fretfully, "he doesn't say that to me. He tells
me to come away ... away from real things ... that bite one. That's
what he says to me."
"No, my son. No," said Master Nathaniel firmly. "He doesn't say that.
You have misunderstood."
Then Ranulph again began to sob. "Oh, father! father!" he moaned,
"they hunt me so—the days and nights. Hold me! Hold me!"
Master Nathaniel, with a passion of tenderness such as he had
never thought himself capable of, lay down beside him, and took the
little, trembling body into his arms, and murmured loving, reassuring
words.
Gradually Ranulph stopped sobbing, and before long he fell into a
peaceful sleep.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookmass.com