100% found this document useful (1 vote)
29 views

Node js Web Development 3rd revised Edition David Herron instant download

The document provides information about the 'Node.js Web Development 3rd Revised Edition' by David Herron, including download links and details about the book's content and authorship. It covers various aspects of Node.js, including server-side applications, setting up Node.js, modules, HTTP servers, and building web applications with Express. The book is designed to guide readers through creating real-time applications using Node.js and includes practical examples and best practices.

Uploaded by

eycaginga
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
29 views

Node js Web Development 3rd revised Edition David Herron instant download

The document provides information about the 'Node.js Web Development 3rd Revised Edition' by David Herron, including download links and details about the book's content and authorship. It covers various aspects of Node.js, including server-side applications, setting up Node.js, modules, HTTP servers, and building web applications with Express. The book is designed to guide readers through creating real-time applications using Node.js and includes practical examples and best practices.

Uploaded by

eycaginga
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Node js Web Development 3rd revised Edition

David Herron pdf download

https://ebookfinal.com/download/node-js-web-development-3rd-
revised-edition-david-herron/

Explore and download more ebooks or textbooks


at ebookfinal.com
We have selected some products that you may be interested in
Click the link to download now or visit ebookfinal.com
for more options!.

Node Web Development 2nd New edition Edition Herron

https://ebookfinal.com/download/node-web-development-2nd-new-edition-
edition-herron/

RESTful Web API Design with Node js Second Edition Bojinov

https://ebookfinal.com/download/restful-web-api-design-with-node-js-
second-edition-bojinov/

Web Development with MongoDB and Node 3rd Edition D’Mello

https://ebookfinal.com/download/web-development-with-mongodb-and-
node-3rd-edition-dmello/

Node js for PHP Developers Porting PHP to Node js 1st


Edition Daniel Howard

https://ebookfinal.com/download/node-js-for-php-developers-porting-
php-to-node-js-1st-edition-daniel-howard/
Web Development with MongoDB and NodeJS 2nd Edition Build
an interactive and full featured web application from
scratch using Node js and MongoDB Mithun Satheesh
https://ebookfinal.com/download/web-development-with-mongodb-and-
nodejs-2nd-edition-build-an-interactive-and-full-featured-web-
application-from-scratch-using-node-js-and-mongodb-mithun-satheesh/

Node js Novice to Ninja Craig Buckler

https://ebookfinal.com/download/node-js-novice-to-ninja-craig-buckler/

Using Node js for UI Testing 1st Edition Teixeira

https://ebookfinal.com/download/using-node-js-for-ui-testing-1st-
edition-teixeira/

Web Development with MongoDB and Node Third Edition Bruno


D'Mello Joseph Mithun Satheesh

https://ebookfinal.com/download/web-development-with-mongodb-and-node-
third-edition-bruno-dmello-joseph-mithun-satheesh/

CoffeeScript Programming with jQuery Rails and Node js 1st


Edition Michael Erasmus

https://ebookfinal.com/download/coffeescript-programming-with-jquery-
rails-and-node-js-1st-edition-michael-erasmus/
Node js Web Development 3rd revised Edition David
Herron Digital Instant Download
Author(s): David Herron
ISBN(s): 9781785881503, 1785881507
Edition: 3rd revised
File Details: PDF, 22.24 MB
Year: 2016
Language: english
Node.js Web Development
Third Edition

Create real-time server-side applications with this


practical, step-by-step guide

David Herron

BIRMINGHAM - MUMBAI
Node.js Web Development
Third Edition

Copyright © 2016 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.

First published: August 2011


Second published: July 2013
Third edition: June 2016

Production reference: 1220616

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham B3 2PB, UK.

ISBN 978-1-78588-150-3

www.packtpub.com

[ FM-2 ]
Credits

Author Project Coordinator


David Herron Sanchita Mandal

Reviewer Proofreader
Nicholas Duffy Safis Editing

Commissioning Editor Indexer


Amarabha Banerjee Mariammal Chettiyar

Acquisition Editor Graphics


Larissa Pinto Disha Haria

Content Development Editor Production Coordinator


Samantha Gonsalves Manu Joseph

Technical Editor Cover Work


Vivek Pala Manu Joseph

Copy Editor
Pranjali Chury

[ FM-3 ]
About the Author

David Herron has worked as a software engineer in Silicon Valley for over
20 years. This includes companies both tiny and large. He has worked on a wide
variety of projects, from an X.400 e-mail server and client application to assisting
with the launch of the OpenJDK project (open source Java rocks), to Yahoo's Node.js
application-hosting platform (Mojito and Manhattan), and applications to monitor
solar power array performance.

While a staff engineer at Sun Microsystems, David worked as the architect of


the Java SE Quality Engineering team where he focused on test automation tools,
including co-developing the AWT Robot class. He was involved in open source
activities related to Java, including the OpenJDK project.

Before Sun, he worked for VXtreme on software which eventually became Windows
Media Player when Microsoft bought the company. At Mainsoft, David worked on
a library that allowed developers to recompile Windows applications on Unix, and
then participated in porting Internet Explorer to Unix. At The Wollongong Group,
he worked on both e-mail client and server software and was part of several IETF
working groups improving e-mail-related protocols.

[ FM-4 ]
David is interested in electric vehicles, world energy supplies, climate change,
and environmental issues, and he is a co-founder of Transition Silicon Valley. As
an online journalist, he writes about electric cars and other green technology on
LongTailPipe.com after having written for PlugInCars.com. He runs a large electric
vehicle discussion website on VisForVoltage.org, and he blogs about other topics,
including Node.js, Drupal, and Doctor Who on DavidHerron.com. Using Node.js,
he developed a Content Management System that produces static HTML websites
or EPUB3 eBooks, AkashaCMS (akashacms.com).

There are many people I am grateful to.

I wish to thank my mother, Evelyn, for, well everything; my father,


Jim; my sister, Patti; and my brother, Ken. What would life be
without all of you?

I wish to thank my girlfriend, Maggie, for being there and


encouraging me, her belief in me, her wisdom, and humor.
May we have many more years of this.

I wish to thank Dr. Ken Kubota of the University of Kentucky for


believing in me and giving me my first job in computing. It was six
years of learning not just the art of computer system maintenance,
but so much more.

I wish to thank my former employers, University of Kentucky


Mathematical Sciences Department, The Wollongong Group,
MainSoft, VXtreme, Sun Microsystems, Yahoo!, Recargo, Laplace
Systems, and all the people I worked with in each company.

I am grateful to Ryan Dahl, the creator of Node.js, and the current


Node.js core team members. They have the rare combination of
wisdom and vision needed to create such a joy-filled fluid software
development platform. Some platforms are just plain hard to work
with, but not this one.

[ FM-5 ]
About the Reviewer

Nicholas Duffy has had a wide-ranging career, holding positions from analyst
to business intelligence architect, to software engineer, and even golf professional.
He has a passion for all things data and software engineering, specializing in data
warehouse architecture, Python, and Node.js. He is a frequent contributor to open
source projects and is, unfortunately, also a lifelong New York Mets fan.

You can read more about Nicholas' interests on this blog at


https://medium.com/@duffn or contact him via GitHub at @duffn.

I'd like to thank my wife, Anne, and boys, Jack and Chuck, for their
never ending support in whatever endeavor.

[ FM-6 ]
www.PacktPub.com

eBooks, discount offers, and more


Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.com
and as a print book customer, you are entitled to a discount on the eBook copy. Get in
touch with us at customercare@packtpub.com for more details.

At www.PacktPub.com, you can also read a collection of free technical articles,


sign up for a range of free newsletters and receive exclusive discounts and offers
on Packt books and eBooks.
TM

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can search, access, and read Packt's entire library of books.

Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print, and bookmark content
• On demand and accessible via a web browser

[ FM-7 ]
Table of Contents
Preface vii
Chapter 1: About Node.js 1
The capabilities of Node.js 3
Server-side JavaScript 3
Why should you use Node.js? 4
Popularity 4
JavaScript at all levels of the stack 4
Leveraging Google's investment in V8 5
Leaner asynchronous event-driven model 5
Microservice architecture 5
The Node.js is stronger for having survived a major schism and
hostile fork 5
Performance and utilization 8
Is Node.js a cancerous scalability disaster? 9
Server utilization, the bottom line, and green web hosting 11
Node.js, the microservice architecture, and easily testable systems 12
Node.js and the Twelve-Factor app model 13
Summary 13
Chapter 2: Setting up Node.js 15
System requirements 15
Installing Node.js using package managers 16
Installing on Mac OS X with MacPorts 16
Installing on Mac OS X with Homebrew 17
Installing on Linux, *BSD, or Windows from package
management systems 17
Installing the Node.js distribution from nodejs.org 18
Table of Contents

Installing from source on POSIX-like systems 19


Installing prerequisites 19
Native code modules and node-gyp 20
Installing developer tools on Mac OS X 21
Installing from source for all POSIX-like systems 22
Installing development instances with nvm 23
Node.js versions policy and what to use 25
Running and testing commands 26
Node.js's command-line tools 26
Running a simple script with Node.js 28
Launching a server with Node.js 29
NPM – the Node.js package manager 30
Node.js and ECMAScript 6 (ES-2015, ES-2016, and so on) 31
Using Babel to use experimental JavaScript features 33
Summary 35
Chapter 3: Node.js Modules 37
Defining a module 37
Node.js module format 39
File modules 39
Demonstrating module-level encapsulation 40
Directories as modules 41
Node.js's algorithm for require (module) 42
Module identifiers and path names 42
An example application directory structure 44
npm – the Node.js package management system 45
The npm package format 45
Finding npm packages 47
Other npm commands 49
Installing an npm package 49
Initializing a new npm package 50
Maintaining package dependencies with npm 51
Fixing bugs by updating package dependencies 52
Declaring Node.js version compatibility 53
Updating outdated packages you've installed 53
Installing packages from outside the npm repository 54
Publishing an npm package 54
Package version numbers 55
A quick note about CommonJS 57
Summary 57

[ ii ]
Table of Contents

Chapter 4: HTTP Servers and Clients – A Web Application's


First Steps 59
Sending and receiving events with EventEmitters 60
The EventEmitter theory 61
HTTP server applications 62
ES-2015 multiline and template strings 65
HTTP Sniffer – listening to the HTTP conversation 67
Web application frameworks 69
Getting started with Express 70
Walking through the default Express application 74
The Express middleware 76
Middleware and request paths 77
Error handling 79
Calculating the Fibonacci sequence with an Express application 79
Computationally intensive code and the Node.js event loop 84
Algorithmic refactoring 86
Making HTTP Client requests 88
Calling a REST backend service from an Express application 91
Implementing a simple REST server with Express 91
Refactoring the Fibonacci application for REST 95
Some RESTful modules and frameworks 97
Summary 97
Chapter 5: Your First Express Application 99
ES-2015 Promises and Express router functions 99
Promises and error handling 101
Flattening our asynchronous code 102
Additional tools 103
Express and the MVC paradigm 104
Creating the Notes application 104
Your first Notes model 106
The Notes home page 108
Adding a new note – create 112
Viewing notes – read 116
Editing an existing note – update 117
Deleting notes – destroy 119
Theming your Express application 121
Scaling up – running multiple Notes instances 123
Summary 125

[ iii ]
Table of Contents

Chapter 6: Implementing the Mobile-First Paradigm 127


Problem – the Notes app isn't mobile friendly 128
Mobile-first paradigm 129
Using Twitter Bootstrap on the Notes application 131
Setting it up 132
Adding Bootstrap to application templates 134
Mobile-first design for the Notes application 136
Laying the Bootstrap grid foundation 136
Improving the notes list on the front page 140
Breadcrumbs for the page header 141
Cleaning up the add/edit note form 144
Building a customized Bootstrap 146
Bootstrap customizers 148
Summary 149
Chapter 7: Data Storage and Retrieval 151
Data storage and asynchronous code 152
Logging 152
Request logging with Morgan 153
Debugging messages 155
Capturing stdout and stderr 155
Uncaught exceptions 156
Storing notes in the filesystem 157
Storing notes with the LevelUP data store 163
Storing notes in SQL with SQLite3 167
SQLite3 database scheme 167
SQLite3 model code 169
Running Notes with SQLite3 173
Storing notes the ORM way with Sequelize 174
Sequelize model for the Notes application 175
Configuring a Sequelize database connection 179
Running the Notes application with Sequelize 180
Storing notes in MongoDB 182
MongoDB model for the Notes application 183
Running the Notes application with MongoDB 187
Summary 188
Chapter 8: Multiuser Authentication the Microservice Way 189
Creating a user information microservice 190
User information model 192
A REST server for user information 197
Scripts to test and administer the User Authentication server 204

[ iv ]
Table of Contents

Login support for the Notes application 207


Accessing the user authentication REST API 207
Login and logout routing functions 211
Login/logout changes to app.js 214
Login/logout changes in routes/index.js 216
Login/logout changes required in routes/notes.js 216
View template changes supporting login/logout 218
Running the Notes application with user authentication 221
Twitter login support for the Notes application 224
Registering an application with Twitter 224
Implementing TwitterStrategy 225
The Notes application stack 230
Summary 231
Chapter 9: Dynamic Interaction between Client and Server
with Socket.IO 233
Introducing Socket.IO 235
Initializing Socket.IO with Express 235
Real time updates on the Notes home page 239
The Notes model as an EventEmitter class 239
Real-time changes in the Notes home page 242
Changing the home page template 244
Running Notes with real-time home page updates 245
Real-time action while viewing notes 245
Changing the note view template for real-time action 247
Running Notes with real-time updates while viewing a note 249
Inter-user chat and commenting for Notes 249
Data model for storing messages 249
Adding messages to the Notes router 252
Changing the note view template for messages 254
Using a Modal window to compose messages 254
Sending, displaying, and deleting messages 256
Running Notes and passing messages 260
Other applications of Modal windows 261
Summary 262
Chapter 10: Deploying Node.js Applications 263
Notes application architecture 264
Traditional Linux Node.js service deployment 265
Prerequisite – provisioning the databases 266
Installing Node.js on Ubuntu 268
Setting up Notes and User Authentication on the server 268
Setting up PM2 to manage Node.js processes 272
Twitter support for the hosted Notes app 275

[v]
Table of Contents

Node.js microservice deployment with Docker 276


Installing Docker on your laptop 278
Starting Docker using Docker Toolbox and Docker Machine 279
Starting Docker with Docker for Windows/Mac 280
Kicking the tires of Docker 281
Creating the AuthNet for the User Authentication service 282
MySQL for the Authentication service 282
Dockerizing the Authentication service 286
Putting Authnet together 288
Creating FrontNet for the Notes application 291
MySQL for the Notes application 291
Dockerizing the Notes application 292
Putting FrontNet together 294
Configuring remote access on Docker for Windows or Mac 296
Configuring remote access in VirtualBox on Docker toolbox 297
Exploring the Docker Toolbox VirtualBoxMachine 298
Controlling the location of MySQL data volumes 299
Deploying to the cloud with Docker compose 302
Docker compose files 302
Running the Notes application with Docker Compose 306
Deploying to cloud hosting with Docker Compose 307
Summary 312
Chapter 11: Unit Testing 313
Testing asynchronous code 313
Assert – the simplest testing methodology 315
Testing a model 316
Mocha and Chai­the chosen test tools 316
Notes model test suite 317
Configuring and running tests 320
More tests for the Notes model 321
Testing database models 323
Using Docker to manage test database servers 327
Docker Compose to orchestrate test infrastructure 327
Package.json scripts for Dockerized test infrastructure 331
Executing tests under Docker Compose 332
Testing REST backend services 334
Frontend headless browser testing with CasperJS 337
Setup 338
Improving testability in Notes UI 339
CasperJS test script for Notes 340
Running the UI test with CasperJS 343
Summary 344
Index 347

[ vi ]
Preface
Welcome to the world of software development on the Node.js platform. This is an
up-and-coming software platform that liberates JavaScript from the web browser,
allowing us to reuse our JavaScript skills for general software development on a
large range of systems. It runs atop the ultra-fast JavaScript engine at the heart of
Google's Chrome browser, V8, and adds a fast and robust library of asynchronous
network I/O modules. The Node.js community have developed a dizzyingly large
body of third-party modules for nearly every conceivable purpose. While the
primary focus of Node.js is high performance highly-scalable web applications,
it is seeing widespread use in Internet of Things (IoT) applications, microservice
development, asset build workflow for frontend engineers, and even in desktop
applications like the Atom editor.

Microservices are one of the brightest ideas in computing today, and Node.js is right
there as one of the best platforms for microservice development. This is doubly true
when combined with Docker.

In just a few years, Node.js has gone from being a brand new "will anyone adopt
it" technology to a major force in software development. It is now widely used in
companies big and small, and the MEAN Stack (MongoDB, Express, AngularJS,
and Node.js) has become a leading application model.

The Node.js platform was developed by Ryan Dahl in 2009 after a couple years
of experimenting with web server component development in Ruby and other
languages. His goal was to create an event-oriented system with a low-overhead
architecture. This led Dahl toward an asynchronous single-thread system, as
opposed to a more traditional thread-based architecture.

[ vii ]
Preface

This model was chosen for simplicity, under the theory that threaded systems are
notoriously difficult to develop and debug for lower overhead and for speed. Node.
js's goal is to provide "an easy way to build scalable network servers." The design is
similar to, and influenced by, other systems, such as Event Machine (Ruby) and the
Twisted framework (Python).

JavaScript was chosen as the language because anonymous functions and other
language elements provide an excellent base to implement asynchronous computation.
Event handler functions are often coded in-line as anonymous functions. The Node.js
runtime is ingeniously designed to support asynchronous I/O operations.

Now that ECMA Script 2016 is on the scene, new features, such as arrow functions
and Promises, are coming to JavaScript engines, including Node.js. These powerful
new capabilities will change JavaScript programming for the better. We now have a
path toward taming some of the difficulties with asynchronous coding. The Promise
object gives us a way to organize asynchronously-executed procedures in a semi-
linear sequence, rather than the pyramid-shaped structures of callback functions.

The result is a platform that allows developers to not only succinctly write code of
great power but to have a lot of fun while doing so.

Having JavaScript on both the server and the client (browser) lets us implement a
vision dating back to the earliest days of the World Wide Web. Java's proponents
first showed us dynamic stuff, powered by Java, running inside a web page. With
Java on both client and server side, developers were supposed to reach nirvana. Java
did not achieve success promoted by Sun Microsystems. Instead, it is JavaScript that
is quickly advancing to implement that vision in a big way.

With Node.js, we have JavaScript on both the client and the server. While this
probably won't help developers reach nirvana, our work is made much easier. We
can use common code, common data structures, and more team members speak the
same code language.

This book, Node.js Web Development, Third Edition, focuses on building web applications
using Node.js. We assume that you have some knowledge of JavaScript and maybe
even have server-side development experience. We will take a tour through the
important concepts in order to understand Node.js programming.

To do so, we'll develop several applications, including a Note-taking application that


will take several chapters to implement data storage with several database engines,
user authentication, including OAuth2 against Twitter, real-time communications
between users, and server deployment, including Docker. Along the way, we'll explore
leading application development best practices, distributing heavy workloads to
backend servers, and implementing REST microservices for multitiered architectures.

[ viii ]
Preface

What this book covers


Chapter 1, About Node.js, introduces you to the Node.js platform. It covers its uses, the
technological architecture choices in Node.js, its history, the history of server-side
JavaScript, and why JavaScript should be liberated from the browser.

Chapter 2, Setting up Node.js, goes over setting up a Node.js developer environment.


This includes installing Node.js on Windows, Mac OS X, and Linux, the command-line
tools using ECMA Script 2015 features in Node.js, and the npm package management
system.

Chapter 3, Node.js Modules, explores the module as the unit of modularity of Node.js
applications. We dive deep into understanding and developing Node.js modules and
using npm to maintain our dependency list.

Chapter 4, HTTP Servers and Clients – A Web Applications First Steps, starts exploring web
development with Node.js. We develop several small webserver and client applications
in Node.js. We use the Fibonacci algorithm to explore the effects of heavy-weight long-
running computations on a Node.js application, as well as several mitigation strategies.
This gives us our first exposure to REST-based service development.

Chapter 5, Your First Express Application, begins several chapters of developing a


note-taking application. The first step is getting a basic application running.

Chapter 6, Implementing the Mobile-First Paradigm, uses the Bootstrap framework to


implement responsive web design. Supporting mobile devices from the outset is
a driving paradigm in modern software development.

Chapter 7, Data Storage and Retrieval, ensures that we don't lose our notes when
restarting the application. We explore several database engines, and a method to
make it easy to switch between them at will.

Chapter 8, Multiuser Authentication the Microservice Way, adds user authentication to


the note-taking application. It can be used by both logged in and anonymous users
with different capabilities for each. Authentication is supported against both a local
user registry and using OAuth2 against Twitter.

Chapter 9, Dynamic Interaction between Client and Server with Socket.IO, lets our users
talk to each other in real time. JavaScript code will be written in both browser and
server, with Socket.IO providing the plumbing needed for real-time event exchange.
Users will see notes change as they're edited by other users, or they will read and
write notes that others can see.

[ ix ]
Preface

Chapter 10, Deploying Node.js Applications, helps us understand Node.js application


deployment. We look at both traditional Linux service deployment using an /etc/
init script and using Docker to easily deploy an infrastructure of two databases
and two Node.js services.

Chapter 11, Unit Testing, takes a look at three test development models: Unit Testing,
REST testing, and functional testing. In addition to the Mocha and Chai frameworks,
we use CasperJS to run automated tests in a headless browser component. Docker is
used to facilitate test infrastructure deployment.

What you need for this book


The basic requirement is to install Node.js and to have a programmer-oriented text
editor. We will show you how to install everything that you need, all of which is
open source software, easily downloaded from the web. The most important tool
is the one between your ears.

The examples here were tested using Node.js v5.x and ECMA Script 2015 features
are widely used.

Some chapters require the database engines, MySQL and MongoDB.

While Node.js supports cross-platform software development, some of the third-party


modules require compilation from source code. This means that one must have C/C++
compiler tools and Python installed. The details are covered in Chapter 2, Setting up
Node.js.

While this book is about developing web applications, it does not require you to
have a web server. Node.js provides its own web server stack.

Who this book is for


This book is written for any software engineer who wants the adventure that comes
with a new software platform embodying a new programming paradigm.

Server-side engineers may find the concepts behind Node.js refreshing, giving you
a different perspective on web application development. JavaScript is a powerful
language, and Node.js's asynchronous nature plays to its strengths.

Developers experienced with JavaScript in the browser may find it fun to bring that
knowledge to new territory.

We assume that you already know how to write software and have an understanding
of modern programming languages such as JavaScript.

[x]
Preface

Conventions
In this book, you will find a number of text styles that distinguish between different
kinds of information. Here are some examples of these styles and an explanation of
their meaning.

Code words in text, database table names, folder names, filenames, file extensions,
pathnames, dummy URLs, user input, and Twitter handles are shown as follows:
"The implementation of this is in views/pageHeader.ejs."

A block of code is set as follows:


router.get('/auth/twitter/callback',
passport.authenticate('twitter', { successRedirect: '/',
failureRedirect: '/users/login' }));

When we wish to draw your attention to a particular part of a code block, the
relevant lines or items are set in bold:
<a class="btn btn-primary" href="/users/login">Log in</a>
<a class="btn btn-primary" href="/users/auth/twitter"><img
width="15px" src="/images/twitter-brand-logos/TwitterLogo_white.
png"/>Log in with Twitter</a>
<% } %>

Any command-line input or output is written as follows:


$ npm start

New terms and important words are shown in bold. Words that you see on
the screen, for example, in menus or dialog boxes, appear in the text like this:
"You now have both Log Out and ADD Note buttons."

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.

[ xi ]
Discovering Diverse Content Through
Random Scribd Documents
"What's tailin's?"

"It's the chaff and small wheat the fannin' mill blows out from the good
grain. Pa lets me have it fer my wild birds. I've got some partridge up on the
hickory knoll, too. They're shyer than the quail, but I've got 'em so tame I
kin call 'em and make 'em come to me."

"You kin?" Jim exclaimed. "Well, I'll be razzle-dazzled!"

"So, I don't shoot partridge neither," said Billy. "I don't blame anybody
else fer shootin' 'em, remember, but somehow, I'd rather leave 'em alive."

"I see," said Scroggie. Of course he didn't, but he wanted to make Billy
feel that he did.

"Well you do more than most people, then," said Billy. "The folks 'round
here think I'm crazy, I guess, an' Joe Scraff—he's got an English setter dog
an' shoots a lot; he told me that if he happened onto my quail an' partridge
he'd bag as many of 'em as he could. I told him that if he shot my birds, he'd
better watch out fer his white Leghorn chickens but he laughed at me."

"And did he shoot your quail?" asked Scroggie.

Billy nodded. "Once. Flushed 'em at the top of the knoll and winged one
bird. The rest of the covey flew into our barn-yard an' 'course he couldn't
foller 'em in there."

"Gillies! Did you see him?"

"No, me an' Pa an' Anse was down at the back end of the place. Ma saw
him, though, an' she told me all about it. Say, maybe I wasn't mad, but I got
even, all right."

"Did you? How?"

Billy looked searchingly at his new friend. "I never told a soul how I did
it, 'cept my chum, Maurice Keeler," he said. "But I'll tell you. That same
evenin' I was prowlin' through the slashin' lookin' fer white grubs fer bass-
bait. I found a big rotten stump, so I pushed it over, an' right down under the
roots I found an old weasel an' six half-grown kittens. Afore she could get
over her surprise, I had her an' her family in the tin pail I had with me, an'
the cover on. By rights I should'a killed the whole caboodle of 'em, I s'pose,
'cause they're mighty hard on the birds; but I had work fer 'em to do.

"That night I took them weasels over to Scraff's an' turned 'em loose
under his barn. I knowed mighty well ma weasel would stay where it was
dark an' safe and the chicken smell was so strong. Couple of days after that
Scraff come over to our place to borrow some rat traps. His face was so
long he was fair steppin' on his lower lip. He said weasels had been
slaughterin' his Leghorns, right an' left; six first night an' nine the next.

"'I hope they won't get among my quail,' I says, an' Scraff he turned
round an' looked at me mighty hard, but he didn't say nuthin'. He went
away, grumblin', an' carryin' six of Dad's traps. Course I knowed he couldn't
catch a weasel in a trap in twenty years an' he didn't catch any either. Ma
weasel killed some more of his Leghorns, an' then Scraff he comes to me.
'Billy,' he says, 'is there any way to get rid of weasels?' 'Sure there's a way,' I
says, 'but not everybody knows it.'

"'I'll give you five dollars if you'll catch them weasels that are killin' my
chickens,' he says.

"'If you'll promise me you'll stay away from my quail an' partridge I'll
catch 'em fer nuthin,' I told him. 'Only,' I says, 'remember, I do what I please
with 'em, after I get 'em.' He looked at me as though he'd like to choke me,
but he said all right, he'd leave my birds alone.

"That night Maurice Keeler an' me went over to Gamble's an' borrowed
his old ferret. He's a big ferret an' he'll tackle anythin', even a skunk. With
some keg-hoops an' a canvas sack we had made what we needed to catch
the weasels in. Then we put a muzzle on the ferret, so he couldn't fang-cut
the weasels, an' we went over to Scraff's. As soon as Joe Scraff saw the
ferret he began to see light an' turned into the house to get his shotgun. I
told him to remember his promise to let me get the weasels alive, so he set
on the fence an' watched while we got busy.
"First off we plugged every hole under that barn but two, an' at each of
these two we set a hoop-net. Then we turned ol' Lucifer, the ferret, loose
under the barn. Holy Smoke! afore we knowed it there was high jinks goin'
on tinder there. Maurice had hold of one hoop an' me the other. It took ma
weasel an' her boys an' girls 'bout half a minute to make up their minds that
ol' Lucifer wasn't payin' 'em a friendly visit. When the big scramble was
over, I had a bagful of weasels an' so did Maurice. We let Lucifer prowl
round a little longer to make sure we had all of 'em, then I called him out. I
made Scraff give us one of his hens to feed the ferret on. Then Maurice an'
me started off.

"'You think you got all of 'em, Bill?" Scraff called.

"'All this time,' I says, an' to save my life I couldn't help laughin' at the
look on his face. He knowed right then that I had put up a job on him but he
couldn't figure out how."

"Oh Hully Gee!" yelled Jim Scroggie, "Wasn't that corkin'—Oh


Mommer! An' what did you an' Maurice do with the weasels?"

Billy grinned sheepishly. "We should'a killed 'em, I s'pose," he said, "but
we took 'em down to the marsh an' turned 'em loose there. Maurice said that
anythin' that had done the good work them weasels had, deserved life, an' I
thought so too."

The twilight shadows were beginning to steal across the glade; the
golden-rod of the uplands massed into indistinguishable clumps. The
silence of eventide fell soft and sweet and songless—that breathless space
between the forest day and darkness.

Billy stood up. "You'll like it here," he said to the other boy who was
watching him, a strange wonder in his eyes. "After you know it better," he
added.

"I'm afraid I don't fit very well yet," Scroggie answered. "Maybe you'll
let me trail along with you sometimes, Bill, and learn things?"
"We'll see," said Billy and without another word turned to the dim
pathway among the trees.
CHAPTER XII

OLD HARRY MAKES A FIND


Through the dusky twilight, soft with woodland dews and sweet with
odor of ferns and wild flowers, Billy walked slowly. For the first time in
long days his heart felt at peace. The canker of loneliness that had gnawed
at his spirit was there no longer. It was a pretty good old world after all.

A whip-poor-will lilted its low call from a hazel copse and Billy
answered it. A feeling that he wanted to visit his wild things in the upland
shanty and explain to them his seeming neglect of them during his time of
stress took possession of him. So, although he knew supper would be ready
and waiting at home, he branched off where the path forked and hurried
forward toward the oak ridge.

It was almost dark when he reached the little log sugar-shanty which
housed his pets. He had hidden a lantern in a hollow log against such night
visits as this and he paused to draw it out and light it before proceeding to
the menagerie. As he rounded the shanty, whistling softly, and anticipating
how glad Spotba, Moper, the owl, and all the other wild inmates would be
to see him, he paused suddenly, and the whistle died on his lips. Somebody
had been snooping about his menagerie! The prop had been taken from the
door.

His mind traveled at once to Anse. So that meddler had been here and
tried to let his pets free, had he? Apparently the chump didn't know they
each had a separate cage, or if he did he hadn't the nerve to open it. Well, it
meant that Anse had that much more to settle for with him, that was all!

Billy put his hand on the latch of the door, then stood, frozen into
inaction. From the interior of the shanty had come a groan—a human
groan! Billy almost dropped the lantern. A cold shiver ran down his spine.
His mind flashed to Old Scroggie's ghost. The hand that groped into his
pocket in search of the rabbit-foot charm trembled so it could scarcely clasp
that cherished object.
What would Trigger Finger do if placed in his position? Billy asked
himself. There was only one answer to that. He took a long breath and,
picking up a heavy club, swung the door open. The feeble rays of the
lantern probed the gloom and something animate, between the cages, stirred
and sat up.

"Harry!" gasped Billy, "Harry O'Dule!"

"Ha," cried a quavering voice, "and is ut the Prince av Darkness,


himself, as spakes t' me? Thin it's no fit av the delirium tremens I've had at
all, at all, but dead I am and in purgatory! Oh weary me, oh weary me! Such
shnakes and evil eyed burruds have I never seen before. Och! could I be
given wan taste av God's blissid air and sunshine ag'in, and never more
would whiskey pass me lips."

Spotba, the big mottled marsh snake, sensing Billy's presence, uncoiled
himself and raised his head along the screen of his cage; the brown owl
hooted a low welcome that died in a hiss as Harry groaned again.

"Merciful hivin! look at the eyes av that awful burrud," he wailed. "And
that big shnake hissin' his poison in me very face. Take me along, Divil,
take me along," he screamed. "It's no more av this I kin stand at all, at all."

Billy hung the lantern on the door and bent above the grovelling Harry.
"Hey you," he said, giving the old man's shoulder a shake, "get up an' come
out'a here; I'm not the devil, I'm Billy."

"Billy," Harry held his breath and blinked his red-rimmed eyes in
unbelief. "Billy, ye say?" He got up with Billy's help and stood swaying
unsteadily.

"You're drunk again!" said the boy, in deep disgust.

Harry wiped his lips on his sleeve and stood gazing fearfully about him.
"Do you see the shnakes and the evil-eyed burruds, Billy Bye?" he
shuddered. "It's see 'em ye shurely can and hear their divil hisses." His
fingers gripped the boy's arm.
Billy shook him off. "Look here, Harry," he said, "You're seein' things.
There ain't no snakes in here—no birds neither. You come along outside
with me." He grasped the Irishman by the arm and started toward the door.

"Me jug," whispered Harry. "Where is that divil's halter av a jug, Billy?"

"There's your jug on its side," Billy touched the jug with his foot. "You
must've drunk it empty, Harry."

"Faith, an' I did not. But ut's all the same, impty or full. Niver ag'in will
ut lead me into delirium tremens, I promise ye that, although it's meself that
knows where there's a plinty of whisky, so I do."

Billy led him outside and turned the light of the lantern full on his face.
"Harry," he said, sternly, "where are you gettin' all this whisky?"

The old man started. "That's me own business," he answered shortly.

"Oh." Billy took hold of his arm, "Then them snakes an' man-eatin' birds
you've been seein' are your own business, too; an' since you've been ninny
enough to stray into this shanty, I'm goin' to put you back in it an' see that
you stay in it."

"And fer God's sake, why?" gasped the frightened O'Dule.

"That's my business," said Billy.

Harry glanced behind him with a shudder. "God love you fer a good lad,
Billy," he cried; "but this is no way to trate an ould frind, is ut now?"

"Then you best tell me where you're gettin' the whisky," said Billy.

"But that's shure the ould man's secret, Billy," pleaded Harry. "It's not a
foine chap as ye are would be wheedlin' it out av me, now?"

Billy frowned. "I know that Spencer won't give you any more whisky,"
he said, "an' I know the deacon won't give you any more cider. I know that
you've gettin' liquor some place—an' without payin' fer it. Now you kin tell
me where, er you kin stay in that shanty an' see snakes an' things all night."
Harry wavered. "And if I be tellin' ye," he compromised, "ye'll be givin'
a promise not to pass it along, thin? Wull ye now?"

"Yes I promise not to tell anybody but Maurice?"

"Then I'll be tellin' ye where I do be gettin' the whisky, Billy; where else
but in the ha'nted house."

"What?" Billy could scarcely believe his ears.

"May I niver glimpse the blissid blue av Ireland's skies ag'in, if I spake a
lie," said Harry, earnestly. "In the ha'nted house I found ut, Billy. Wait now,
and I tell ye how ut so happened. Ye'll be rememberin' that night we tried to
wait fer ould Scroggie's ghost an' the terrible storm come on and split us
asunder wid a flash av blue lightnin'? I was crossin' meself in thankfulness
that ut found the big elm instead av me, I was, whin I dropped me fairy
charm, d'ye moind? Stay and seek fer ut I would not, wid all the powers av
darkness conspirin' wid ould Scroggie ag'in me. Ut's fly I did on the wings
av terror to me own cabin, an' covered up me head wid the bed-quilt, I did."

"Well, go on. What's all this got to do with whisky?"

"Jest you wait a bit and you'll find that out. Nixt day I go down there
ag'in to look fer me charm, but find ut I did not. Then wid me little jug in
me hand and me whistle in me bosom, did I strike across woods to the Twin
Oaks store, there to learn av the robbery. A little bit av drink did I get from
Spencer, an' takin' ut home was I when an accident I had, an' spilled ut.
Well, ut was afther several days av hard toil, wid not so much as a drop left
in me little jug, that one mornin' as I was cuttin' through the lower valley fer
Thompson's tater-patch, that come to me ut did I'd search a bit fer me lost
charm ag'in.

"Ut was while pokin' about I was among the twigs on the ground,
whisperin' a bit av witch-talk that belongs to me charm, that I discovered
human foot-prints in the earth av the hollow. This I would not have thought
strange a'tall a'tall, but the foot prints led right into the ha'nted grove.
'Begobs,' thinks I, 'no ghost iver wore boots the size av them now!' On me
hands and knees I crawled forrard an' right in the edge av the grove I
glimpsed somethin', I did, beneath the ferns, somethin' that sparkled in the
mornin' light like a bit av star-dust on the edge av a cloud. Thinkin' only av
me blessid charm, I crawled further in, and phwat do you suppose I picked
up, Billy Bye? A bottle ut was, an' almost full av prime liquor.

"Sit I there, wid God's sunlight caressin' me bare head and his burruds
trillin' their joy at me good luck—and dhrink I did. It's a mercy ut was but a
small bottle, else I might have taken it back to me cabin to be finished at
leisure. Instead, whin ut was all dhrunk up, I found widin me the courage to
proceed further into the ha'nted grove. So I goes, an' afore I knew ut, right
up to the ha'nted house I was, and inside ut."

Harry paused and sat looking away, a reminiscent smile on his face.

"What did you find there?" Billy's tone of impatience brought the old
man out of his musing.

"Whisky," he answered solemnly, "two great jugs full avut, Billy Bye."

"And what else?"

"Nothin' else," returned Harry. "Nuthin' else that mattered, Bye. A square
box there was that I had no time to open a'tall; but whisky! Oh, Billy Bye—
there ut was afore me, enough av ut to coax all the blood-suckin' bats and
snakes in hades up to mock the consumer av ut."

Billy reached down and gripped the old man's arm. "You found that stuff
and didn't so much as tell Spencer?" he cried indignantly.

"And fer why should I tell Spencer, thin?" Harry asked, his blood-shot
eyes wide in wonder. "Nobuddy told me where to find ut, did they?"

"But Harry, don't you see, that stuff belongs to Caleb Spencer. The
thieves must have hid it there, in the ha'nted house."

"Course they did," Harry agreed. "Ut's no fool you take me fer, shurely?"

"Then why didn't you tell Spencer? Don't you know them thieves will
find out you've been there an' they'll hide that stuff in a new place, Harry?"
The old man laughed softly. "Wull they now? Well I guess they won't
neither. It's hide ut in a new place I did, meself. They'll have a lot av trouble
afindin' ut, too."

"Then," cried Billy, hotly, "you're as big a thief as they are."

"Hould on now!" Harry swayed up from the log, the grin gone from his
face. "Ut's little did I think that Billy Wilson would be misunderstandin'
me," he said, reproachfully. "Not wan article that the box contained has
been teched by me. A small bit av the whisky have I took, because it was no
more than sufficient reward fer me findin' the stuff, but the box is safe and
safe ut wull be returned to Spencer whin the proper time comes."

"An' when'll that be, Harry?"

"Listen thin." Harry touched Billy's arm. "Ivery day since I made me
discovery an' hid box and jugs in a new spot have I visited that sour-faced
ould Spencer, and I've said: 'Supposin' one should discover your stolen
goods, Caleb Spencer, would ye be willin' t' let what little whisky there was
left go to the finder?"

"An' phwat has he said? 'Some av ut,' said he, when first I broached the
question. And the nixt time I axed him he said. 'Half av ut.' Nixt time—only
yesterday ut was—he said, 'Harry, I'd be givin' two-thirds av ut to the
finder.'"

Harry laughed and again touched Billy's arm. "To-night ut's go back to
him I wull an' the question put to him once more, an' this night, plase God,
he wull likely say, 'All av ut, Harry, all av ut.'"

Billy, who was thinking hard, looked up at this. "But," he said sternly,
"you said, only a few minutes ago, that you were done forever with
whisky."

"And begobs I meant ut too," cried Harry. "When Caleb Spencer says,
'All av ut' to me, ut's laugh at him I wull, and tell him it's meself wants none
av ut."
Billy's frown vanished. "Fine, Harry, fine," he commended, "an' I'll go
down to the store with you. Come up to the house, now, and I'll manage to
sneak you out some supper."

"Plase God," murmured Harry, "but ut's meself 'll be glad to lave this
awful spot; lead on, Billy."

"Foller me then, an' remember to keep quiet," cautioned Billy.

"But fer why should I keep quiet? Haven't I thrown off the curse av rum!
Why should I not shout the cry av victory, Billy?

"Shout nuthin'; you keep still."

"But a small bit av a chune, Billy. A bit av a lilt on me whistle, now."

"No. After I've got hold of our supper you kin lilt all you care to. Look
here, Harry, you know jest how much use Ma has fer you; if she finds out
you're on our place, she'll sick the dog on you. Now you do as I say."

He took the path through the trees, Harry stumbling close behind,
grumbling and protesting against the unkind fate that would not allow of his
celebrating victory in a manner befitting a true son of Ireland. When, at
length, they reached the edge of the wood, Billy stopped and pointed to a
stump.

"Set down there an' keep still as a mouse till I get back," he admonished.
"I won't be long."

"But, Billy Bye, supposin' the cold-eyed burruds an' the hissin' serpents
should be returnin' to threaten me wance ag'in?"

Billy's hand went down into his trouser's pocket. "Look," he comforted,
"I've got my rabbit-foot charm, an' I'm goin' to draw a magic circle 'round
the stump you're settin' on. No snakes, owl, ner even old Scroggie's ghost
kin get inside that circle."

Harry held his breath and watched him, fascinated, as he proceeded to


trace the ring.
"Fer the love av hivin, be sure ye make both inds av the circle jine," he
shivered. "Ut's a small crack a ghost kin squeeze through, I'm tellin' ye."

"There you are, Harry." Billy, having completed the magic circle, stood
up and put the charm back in his pocket. "Not a chink in it," he assured the
old man.

"Faith," sighed Harry, "ut's meself is willin' to be riskin' a little in return


fer a bite to eat, fer it's fastin' long I've been an' as impty as a church, I am."

"We'll fix that," Billy promised, as he slipped away through the darkness
toward the light which glimmered through the trees.

CHAPTER XIII

ERIE OF THE LIGHT-HOUSE

Through the summer night, Hinter, astride a rangy roan, rode the ten
mile trail that lay between the foot of Rond Eau and the light-house. On his
left the giant pines stood with sharp points clearly defined against the
starlight like the bayonet-fixed guns of a sleeping army; to his right swept
dwarf cedars and stunted oaks and beyond them the bay marshes, with
weaving fire-flies shimmering like star-dust close above them.

It was a lonely trail but Hinter had ridden it often. He knew that in the
shadows lurked wild things which resented his intrusion of their retreat; that
later, when the night grew old, timber-wolves would voice their protest, and
fierce-eyed lynx, tufted ears flat and fangs bared in hatred, would look
down upon him from overhanging branch of tree. But behind him stalked
protection in the form of two great dogs against which no wolf or cat had
ever waged successful warfare. Besides, there was the heavy "40-40"
revolver in his belt.
"Two Great Danes and a 'bull-dog' should be protection enough for any
man," he would laugh to Landon, the light-house keeper, when the latter
shook his head doubtfully over Hinter's foolhardiness in riding this lone
night trail. And Landon, whose asthma made talking difficult for him,
would say no more, realizing that it was useless.

The light-house keeper, who lived with his daughter in a comfortable


house on the extreme end of the Point, had always been glad to welcome
Hinter to his isolated loneliness. With an invalid's self-centeredness, he
believed that it was to relieve the monotony of his existence that this man
paid him periodical visits. He did not dream that his daughter, Erie, named
after the lake, whose blue lay deep in her eyes and whose moods were of
herself a part, was the real attraction which drew Hinter to their home.
Indeed it would have taken a much more astute observer than the man who
had been keeper of the light for more than thirty years to have observed
this. Never by look, word or sign had Hinter shown that in this slender,
golden-haired girl, whose laughter was the sweetest note in the world—this
girl who could trim a sail in biting gale and swim the wide, deep channel
when tempest angered it to clutching under-currents—was more to him than
just a glad, natural product of her world. Always his manner towards her
had been one of kindly respect. In time she grew ashamed of the distrust she
had on first acquaintance intuitively felt for him. He was good to her father
and considerate of her. He talked interestingly of the big outside world and
described the cities he had visited. Her father liked him and always looked
forward to his visits, and with a sick man's petulance grumbled if Hinter
failed to come on his regular nights.

"He's a fine man, Erie," he would say to is daughter, "and well off, too.
I'd like to see you married to a man like Hinter before I go. Ever since your
Ma died, I've been worried about leavin' you behind."

"But I am going to marry Frank, Daddy," the girl would say softly.

"Hey? Oh, all right, all right. Stanhope's a fine youngster, but poor,
poor."

He would lapse into silence, sucking his pipe, and watching Erie putting
away the supper-dishes.
"He'll never find the Scroggie will," he would speak again. "He'll always
be poor."

"But, Daddy," the girl would laugh, "we love each other. We are happy
and real happiness is worth more than money, isn't it, dear?"

"Aye," he would answer. "Your mother and I were happy in that way. But
she was taken away and all I had in her place was heart loneliness—but for
you." Then she would kiss him softly and, stealing about her household
tasks, sing him to fitful sleep as she moved quietly about the room.

Tonight as Hinter rode through the pine-scented gloom the light-house


keeper sat in his big chair beside the window that looked upon the lake.
Spent from a trying fit of coughing, his nerves crying for the rest which was
denied him, the sick man had gazed across to where the shuttle of sunset
was weaving its fabric of changing colors upon sky and water. But he had
not seen those glad lights; had not heard the cries of the haven-seeking gulls
or the soft plaintive notes of the night birds from the Point forest. The lights
had flashed and departed unseen, the wild calls had been voiced and sunk to
silence unheard, because a tenderer light, which had belonged to this, his
own hour, had vanished; a sweeter song than even night birds could voice
had been stilled—the light in his Erie's eyes and the low notes from her glad
heart.

He knew why. She had told him. God, Destiny, Fate, had come between
her and the man she loved. The man had lost more than life in playing the
part of a man. He was blind! Behind him were only memories that could not
be buried. Before him only darkness, bleakness, despair. And he had done
an heroic thing in giving her up. Helpless, powerless to support her, what
else was there for him to do? So, in his love for her, he had dug a grave and
in it buried Hope and all that God in His wise ordinance had allowed him to
live and feel. And they had kissed and parted, kneeling beside this grave,
cold lips to cold lips, broken heart to broken heart. It was the kiss on the
cross which each must carry.

So much had she told him, and the light had gone from her eyes, the
song from her lips.
The sick man sank lower in his chair, his face working, his heart crying
the same pleading cry as cried the heart of Rachel of old for her children—a
cry understood only by the heart in which it was born—and God.

And so Hinter found him there before the window in the gloom, his thin
hands clutching the arms of his chair, his white face sunk on his breast.
"Landon, old friend, asleep?" he asked softly. No answer. Hinter struck a
match and lit the lamp on the table. Then he touched the sleeper's arm; still
he did not stir.

Alarmed, Hinter drew the big chair about so that the light would fall on
the sick man's face. Slowly Landon opened his eyes. He struggled erect and
attempted to speak, but a fit of coughing assailed him and robbed him of
breath.

From his pocket Hinter drew a flat bottle and poured a portion of its
contents into a glass. Gently raising the emaciated form to a more
comfortable position, he held the glass to the blue lips. Under the stimulant
of the brandy Landon rallied.

"Thanks," he whispered. Then, hospitality his first thought, he motioned


towards a chair. Hinter sat down.

"Worse than usual tonight, isn't it?" he asked in kindly tones.

"Yes, asthma's that way—eases off—then comes back—hits you


sudden." He glanced at the bottle. Hinter, understanding, poured him out
another portion.

"It seems to be the only thing that helps," gasped Landon as he


swallowed the draught.

Hinter nodded. "Not a bad medicine if rightly used," he said. He filled


his pipe, lit it, and passed the tobacco-pouch to Landon. He was watching
the door leading to the inner room.

"Erie out in her boat?" he asked, casually. "I don't hear her voice, or her
whistle."
"She's out on the bay," answered the father and lapsed again into
brooding silence.

Hinter waited. At length Landon roused from his musings. "My heart's
heavy for her," he said, "and heavy for the young man who loves her.
You've heard, of course. News of the like spreads quickly."

"Yes, I've heard." Hinter rose abruptly and strode to the window
overlooking the bay. A full moon was lifting above the pines. In its silvery
track a tiny sail was beating harborward.

After a time he turned and walked back slowly to where the sick man
sat. "Mr. Landon," he said, gravely, "I love your daughter. With your
permission I would make her my wife. Wait," as the older man attempted to
speak. "Hear what I have to say. I have endeavored to be honorable. Never
by word or look have I given her to understand what my feelings are toward
her. For Stanhope, the man who was brave and strong enough to give her
up, I have always had the deepest respect; and now, knowing the price he
has paid, I honor him. He was far more worthy of your daughter than I am.
But now, as all is over between them, I would do my best to make her
happy."

"That I know well," spoke the father eagerly. "Ever since my clutch on
life has been weakenin' I've worried at the thought that perhaps I may leave
her unprovided for. You have lifted the load, my friend. I will speak to Erie
and place your proposal of marriage before her. She's a good girl; she'll be
guided by her father in the matter."

Hinter gravely thanked him. "I would advise that you say nothing for a
time," he said. "She is high-spirited, loyal to the core. She is suffering. Time
will assist us; we will wait. I shall visit you oftener than heretofore, but
until I think the moment expedient say nothing to her."

A light step sounded on the gravel; the door opened and Erie entered.
She was dressed in white. The damp bay-breeze had kissed the golden hair
to shimmering life but there were shadows beneath the violet eyes, a dreary
pathos about the unsmiling mouth.
She placed a cold little hand in the eager one which Hinter extended to
her and her fleeting glance left him to fasten on the sick man in the arm
chair.

"Daddy," she cried, running over to kneel beside him. "It was selfish of
me to leave you alone."

"I've had our good friend Hinter for company, girlie," said her father,
stroking the damp curls.

Erie flashed their visitor a look of gratitude. "It is good of you to come to
him," she said. "He always looks forward to your visits, and grows quite
fretful if you are late." She smiled and patted the father's hand. "The east
wind's bad for the cough but tomorrow you'll be as good as ever, won't you,
Daddy?"

Landon did not reply. He simply pressed the girl's cold hand. Hinter
caught the look of suffering in her eyes as she arose and passed into the
outer room. When she returned she carried a heavy, wicker-bound can.

"My lamps need filling," she explained. "No, please don't come," as
Hinter made to take the can from her, "I would rather you stayed with him."

He bowed, and his eyes followed her from the room. "What a wonderful
creature she is," he thought.

"Hinton," Landon's weak voice broke in on his thoughts, "you haven't


given me the neighborhood news. Have they found out who robbed the
store yet?"

"No," answered Hinter, resuming his seat, "I believe not. Some were
disposed to think that the shoremen had a hand in the robbery but I don't
think so."

"Why don't you? The Sand-sharkers aren't above doin' it, are they?"

"Well, I don't say that they are. That job was not done by any amateurs,
though. The men who broke into Spencer's store were old hands at the
game. I was at the store and had a look over it. I've seen the work of
professional burglars before. These fellows made a clean sweep and left not
a single clew. Still, I made my own deductions. I can't tell you more until I
have proved my suspicions correct. Hush!" he warned, "she's coming. I
must be hitting the trail for the Settlement."

As Hinter picked up his hat Erie entered and the light words he was
about to speak died on his lips at sight of the girl's stricken face. "You are
tired," he said, in deep concern. "The work of tending the lights alone is too
much for you. Why not let me send someone from the Settlement to help
you, at least until your father is strong enough to take up his end of the
work again?"

She shook her head. "The work is not hard and I love it," she answered.
"After the lights are lit I have nothing to do. Daddy's asthma will not let him
sleep, so he sits in his big chair all night and keeps his eye on the light
while I sleep. Then when the sun sucks up the mists from bay and lake he is
able to get his sleep. So, you see," smiling bravely, "we get along
splendidly."

Hinter held out his hand. "Well, good night, Miss Erie," he said. "I'll be
up again soon, with some books for you."

"But you mustn't go without having a cup of tea and a bite to eat," she
protested. "Please sit down and I'll have it ready in a minute."

He shook his head. "Not tonight, thanks. You're tired, and I've a long ride
before me. Next time I come we'll have tea," he promised as he turned to
shake hands with Landon.

"Your guardians are with you I suppose?" said Erie, as he turned to go.

He laughed, "Sphinx and Dexter, you mean? Yes, they are out in the
stable with my horse. By the way, they didn't see you last time we were
here, and they seemed to feel pretty badly about it. Would you mind
stepping outside and speaking a word to them?" he asked. "They are very
fond of you, you know."
She shivered. "And I'm very fond of them, only," she added as she
followed him to the door, "I never know whether they want to eat me up or
caress me."

"You won't forget to come back again soon, Hinter?" called the sick man.
"It does me a sight of good to see you and get the news from the
Settlement."

"I'll return soon," Hinter promised. "Don't worry about anything. A


speedy recovery—and good night."

A full moon was veiling lake and bay in sheen of silvery whiteness as
Hinter and Erie went out into the August night. Eastward the long pine
covered Point swept a dark line against the grey, shadowy rush-lands.
Somewhere among the hidden ponds mallards and grey ducks were
quacking contentedly as they fed. A swamp coon raised his almost human
cry as he crept the sandy shores in search of the frogs whose tanging notes
boomed from the boglands.

Man and girl paused for a little time on the strip of white sand to drink in
the beauty of the night and the sounds of its wild life. Then Hinter stepped
to the stable and opened the door. "Come boys," he commanded and the two
great dogs came bounding out to leap upon him with whines of welcome,
then on to where the girl stood, waiting, half eagerly, half frightened.

"Gently now," Hinter cautioned, and they threw themselves at her feet,
massive heads on outstretched paws, deep-set eyes raised to her face. She
bent and placed a hand on the head of each.

"Surely," she said, "they are not as ferocious as they are said to be?"

Hinter knit his brows. "I'm afraid they are," he answered. "But my
friends are their friends, you see. There is only one other person besides
yourself and myself who can do what you are doing now, though."

She looked up quickly. "And may I ask who that is?"


"Certainly; it's young Billy Wilson. You know—the lad who is always
roaming the woods."

"Yes," she said softly. "I know him perhaps better than most folks do. I
am not surprised that he can handle these dogs, Mr. Hinter."

He glanced at her closely, struck by the odd note in her voice. "He seems
a manly little chap," he said. "I must get to know him better."

"You may succeed," she replied, "but I'm afraid you would have to know
Billy a long time to know him well."

She bent and gave the dogs a farewell pat; then moved like the spirit of
the moonlight to the house. "Good night," she called softly from the
doorway.

"Good night," he echoed.

Five minutes later he was riding the two-mile strip of sand between the
light-house and the pines, the Great Danes close behind. When he reached
the timber he reined in to look back over his shoulder at the tall white tower
with its ever-sweeping, glowing eye. Then, with a sigh, he rode forward and
passed into the darkness of the trees. Half way down the trail he dismounted
and, after hitching his horse to a tree and commanding his dogs to stand
guard, plunged into the thickly-growing pines on the right of the path.

Half an hour later he came out upon the lake shore. Quickly he scraped
together a pile of drift wood. He applied a match to it and as fire leaped up
stood frowning across the water. Then, as an answering light flashed from
some distance out in the lake, he sighed in relief and seating himself on the
sand lit his pipe. After a time the sound of oars fell on his ears. A boat
scraped on the beach. Two men stepped from it and approached the fire.
CHAPTER XIV

OLD HARRY TURNS A TRICK

Maurice Keeler, wan, hollow-eyed, and miserable, was seated on a stool


just outside the door in the early morning sunlight. Near him sat his mother,
peeling potatoes, her portly form obscured by a trailing wistaria vine. What
Maurice had endured during his two weeks with the measles nobody knew
but himself. His days had been lonely, filled with remorse that he had ever
been born to give people trouble and care; his nights longer even than the
days. Hideous nightmares had robbed him of slumber. Old Scroggie's ghost
had visited him almost nightly. The Twin Oaks robbers, ugly, hairy giants
armed with red-hot pitch-forks, had bound him to a tree and applied fire to
his feet. What use to struggle or cry aloud for help? Even Billy, his dearest
chum, had sat and laughed with all the mouths of his eight heads at his pain.
Of course he had awakened to learn these were but dreams; but to a boy
dreams are closely akin to reality.

And now, after days of loneliness and nights of terror, Maurice was up
again and outside where he could catch the wood-breeze and smell the
sweet odor of plants and clearing fires. He wondered how many years he
had been away from it all. How old was he now? Why didn't his mother
answer his questions? He did not realize that his voice was weak; he had
forgotten that his mother was deaf. All he knew was that nobody cared a
hang for him any more, not even his own mother. His weak hands clutched
at the bandage at his throat, as though to tear it off and hurl it from him. His
head sank weakly back against the wall, and the tears came to his eyes.

Suddenly those eyes opened wide. Was he dreaming again or did he hear
the low croak of a crow? He twisted his head. There at his feet sat Croaker.
The crow's beady eyes were fastened on him. Suspended from its neck was
a cord and attached to the cord was a piece of yellow wrapping paper.

Maurice's white face slowly expanded in a grin. He glanced in the


direction of his mother, then held out his hand to the crow with a
lowspoken, "Come Croaker, ol' feller."
But Croaker shook his head and backed away, emitting a string of
unintelligible utterances.

"Come Croaker," pleaded Maurice again. But the crow was obdurate. It
is barely possible that he failed to recognize Maurice owing to the sick
boy's altered looks or perhaps he expected a glimpse of the reward which
was always his for the performing of a service. With one backward look
from his bright eyes, he spread his short wings and sailed across to Mrs.
Keeler, settling on her shoulder with a harsh croak, whereat that greatly-
startled lady sat down on the gravel, her lap full of dirty water and potatoes.

What Mrs. Keeler might have done is not known, for just at this juncture
a high-pitched voice came to her from the garden gate. "Get hold of him,
Missus Keeler an' wring his black neck."

Mrs. Keeler, who heard the voice without catching Mrs. Wilson's words,
struggled up. Croaker promptly sailed over to Maurice for protection. The
boy broke the string attached to the note from Billy and reaching behind
him secured from a plate a scrap of the dinner he had left uneaten. "Here
Croaker," he whispered, "grab it quick. Now, back you go where things are
safe," and he tossed the bird into the air. Croaker flew to a tree-top and
proceeded to enjoy the reward of service well rendered.

Maurice glanced at the message, then his face fell. "Oh blame it all!" he
muttered, "another of Bill's sign letters; looks like a fence that's been struck
by lightnin'."

The several long perpendicular lines were possibly intended to represent


the forest, but what was meant by the two vertical lines and the crosses
directly beneath them Maurice did not know. Also there was a crudely
drawn circle and, inside it, a small square. Maybe this was supposed to
represent a hollow stump with a squirrel-trap in it, thought the perplexed
Maurice. With a sigh of disgust he turned the paper over. Then his eyes
brightened. Written there in Billy's cramped hand were these words and
characters:
Maurice stared. So that was it! Billy and old Harry had found the goods
stolen from the Twin Oaks store. There were doin's—big doin's, and Billy
wanted him in on 'em. He leaned over to secure a view of his mother and
Mrs. Wilson. Mrs. Keeler had removed her wet apron and was now seated
on the bench beside her neighbor, listening to the latest gossip.

"That Jim Scroggie, the heir, has come back, an' he's rented the Stanley
house," Mrs. Wilson was saying. "They say he's goin' to cut down the big
woods an' sell the timber. I guess he intends stayin' right on, 'cause he
brought his housekeeper an' his two children, a boy and a girl, with him."

"Is he tol'able well-to-do?" Mrs. Keeler asked.

"Why yes. I understand he's rich as porcupine stew," said Mrs. Wilson.
"What he wants to come here fer, stirrin' up trouble, is beyond all knowin'.
Him an' that man Hinter—they've been trampin' all over the country
examinin' the land, cricks an' everythin'. They met up with my man, Tom,
on the road yesterday an' they stopped him. Scroggie told him any time he
wanted to bore fer water he'd put in a rig an' Tom needn't pay a cent if he
didn't get him a well."
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.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookfinal.com

You might also like