83% found this document useful (6 votes)
512 views

Learn to Program with Kotlin: From the Basics to Projects with Text and Image Processing 1st Edition Tim Lavers download pdf

Learn

Uploaded by

kerlerepror
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
83% found this document useful (6 votes)
512 views

Learn to Program with Kotlin: From the Basics to Projects with Text and Image Processing 1st Edition Tim Lavers download pdf

Learn

Uploaded by

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

Download the Full Version of textbook for Fast Typing at textbookfull.

com

Learn to Program with Kotlin: From the Basics to


Projects with Text and Image Processing 1st
Edition Tim Lavers

https://textbookfull.com/product/learn-to-program-with-
kotlin-from-the-basics-to-projects-with-text-and-image-
processing-1st-edition-tim-lavers-2/

OR CLICK BUTTON

DOWNLOAD NOW

Download More textbook Instantly Today - Get Yours Now at textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Learn to Program with Kotlin: From the Basics to Projects


with Text and Image Processing 1st Edition Tim Lavers

https://textbookfull.com/product/learn-to-program-with-kotlin-from-
the-basics-to-projects-with-text-and-image-processing-1st-edition-tim-
lavers-2/
textboxfull.com

Learn to program with Small Basic an introduction to


programming with games art science and math Early Access
1st Edition Marji
https://textbookfull.com/product/learn-to-program-with-small-basic-an-
introduction-to-programming-with-games-art-science-and-math-early-
access-1st-edition-marji/
textboxfull.com

Sensor Projects with Raspberry Pi: Internet of Things and


Digital Image Processing 1st Edition Guillermo Guillen

https://textbookfull.com/product/sensor-projects-with-raspberry-pi-
internet-of-things-and-digital-image-processing-1st-edition-guillermo-
guillen/
textboxfull.com

Learn Raspberry Pi Programming with Python: Learn to


Program on the World's Most Popular Tiny Computer Donat

https://textbookfull.com/product/learn-raspberry-pi-programming-with-
python-learn-to-program-on-the-worlds-most-popular-tiny-computer-
donat/
textboxfull.com
Learn to Program with Python 3: A Step-by-Step Guide to
Programming Irv Kalb

https://textbookfull.com/product/learn-to-program-with-
python-3-a-step-by-step-guide-to-programming-irv-kalb/

textboxfull.com

Reactive Programming with Kotlin First Edition Learn Rx


with RxJava RxKotlin and RXAndroid Alex Sullivan

https://textbookfull.com/product/reactive-programming-with-kotlin-
first-edition-learn-rx-with-rxjava-rxkotlin-and-rxandroid-alex-
sullivan/
textboxfull.com

Learn to Program with Python 3: A Step-by-Step Guide to


Programming, 2nd Edition Irv Kalb

https://textbookfull.com/product/learn-to-program-with-
python-3-a-step-by-step-guide-to-programming-2nd-edition-irv-kalb/

textboxfull.com

Learn Raspberry Pi Programming with Python: Learn to


Program on the World’s Most Popular Tiny Computer, 2nd
Edition Wolfram Donat
https://textbookfull.com/product/learn-raspberry-pi-programming-with-
python-learn-to-program-on-the-worlds-most-popular-tiny-computer-2nd-
edition-wolfram-donat/
textboxfull.com

Natural Language Processing with Spark NLP Learning to


Understand Text at Scale 1st Edition Alex Thomas

https://textbookfull.com/product/natural-language-processing-with-
spark-nlp-learning-to-understand-text-at-scale-1st-edition-alex-
thomas/
textboxfull.com
Tim Lavers

Learn to Program with Kotlin


From the Basics to Projects with Text and Image
Processing
1st ed.
Tim Lavers
Woonona, NSW, Australia

Any source code or other supplementary material referenced by the


author in this book is available to readers on GitHub via the book’s
product page, located at www.apress.com/9781484268148. For more
detailed information, please visit http://www.apress.com/source-code.

ISBN 978-1-4842-6814-8 e-ISBN 978-1-4842-6815-5


https://doi.org/10.1007/978-1-4842-6815-5

© Tim Lavers 2021

This work is subject to copyright. All rights are solely and exclusively
licensed by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in
any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.

This Apress imprint is published by the registered company APress


Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
Preface
This book is for anyone who wants to learn computer programming.
Whether you are an absolute beginner, or you have experience with
JavaScript, R, Python, or another programming language, this is your
path to developing a clear understanding of important fundamental
concepts used by software engineering professionals and gaining the
skills to implement those concepts in interesting and realistic projects.
I learned programming in my mid-20s, more than 25 years ago, and
have worked as a software engineer since then. My opinion, based on
this experience, is that the very best way to learn coding is by doing lots
of it.
This book gives you the opportunity to get that essential practice. At
the same time, you will be working on fascinating programs such as text
analysis, image manipulation, and computer vision. These programs
progress in a series of small steps that you, the reader, implement. Each
step is a simple change to a working program, so that you are never
outside your comfort zone and learning becomes a pleasure. Fully
worked solutions are provided for each step.
The book is organized into four parts, as follows: In Part I, you will
set up the tools needed, get a first program running, and then learn just
enough syntax that you can start working on the projects. Part II
concentrates on software for text analysis and word games. This
introduces the concepts of Object-Oriented Programming and Unit
Testing, which are two cornerstones of modern software engineering.
Part III is about image processing and concludes with a CGI (computer-
generated imagery) program. By doing this project, you will learn
Functional Programming, which is an extremely important feature of
modern computer languages. Finally, in Part IV, you will consolidate
your skills by developing a computer vision system that reads speed
signs.
Throughout the book, you will use the same language and tools that
are used by professional software engineers worldwide. The language,
Kotlin, is very modern and has a simpler syntax than almost any other
language used today. Not only is Kotlin a beautiful and powerful
language, but it is employed in a wide variety of situations, from hugely
complex business software to web programming, to data science, to
Android apps. The skills that you learn here will be applicable in any of
these areas.
Kotlin programs are written with an editor that highlights errors
and offers genuinely useful corrections in most cases. By using
professional-grade tools, you should feel the excitement of knowing
that the programs that you are working on are of industry standard. If
you get stuck, the large and active community of Kotlin users can help
you out.
When you finish the projects in this book and move on to your own
programs, you will have all the skills required for success and will have
a working knowledge of one of the best programming languages that I
have used in my 25 years of professional software engineering. Happy
coding!

January 2021

Tim Lavers
Table of Contents
Part I: Basics
Chapter 1:​Getting Started
1.​1 What Is Programming?​
1.​2 Installing Java
1.​3 Installing Git
1.​4 Installing IntelliJ
1.​5 Our First Program
1.​6 Changing the Appearance of IntelliJ
1.​7 Troubleshooting
1.​8 Running Our First Program
1.​9 Source Code for Our Program
Chapter 2:​Simple Patterns
2.​1 Shades of Gray
2.​2 Changing the Pattern
2.​3 Solutions to Challenges
Chapter 3:​Arrays and Loops
3.​1 Array Indexes
3.​2 Loops
3.​3 Nested Loops
3.​4 Summary and Solutions to Challenges
Chapter 4:​Binary Choices
4.​1 If-Else Statements
4.​2 The Or Operator
4.​3 The And Operator
4.​4 If-Else-If Statements
4.​5 Summary and Solutions to Challenges
Chapter 5:​Integers
5.​1 Addition, Subtraction, and Multiplication
5.​2 Division
5.​3 Making Patterns Using Arithmetic
5.​4 Summary and Solutions to Challenges
Chapter 6:​Values and Variables
6.1 Using vars
6.2 Using vals
6.​3 Scope
6.​4 Summary and Solutions to Challenges
Chapter 7:​Strings
7.​1 Strings as Objects
7.2 String Iteration
7.3 Building New Strings
7.4 More on String Iteration
7.​5 Summary and Solutions to Challenges
Chapter 8:​Data Structures
8.​1 Lists
8.​2 Sets
8.​3 Maps
8.4 null Objects
8.​5 Summary and Solutions to Challenges
Chapter 9:​The File System
9.​1 Reading
9.​2 Writing
9.​3 Summary and Solutions to Challenges
Part II: Text
Chapter 10:​Project Austen
10.​1 Object-Oriented Programming
10.​2 Unit Tests
10.​3 Project Structure and Setup
10.​4 LineTest and Line
10.5 Further Tests of Line
10.​6 HistogramTest and Histogram
10.​7 BookTest and Book
10.8 Back to LineTest and Line
10.​9 Testing with Real Data
10.​10 Almost Finished
10.​11 Counting the Words
10.​12 Putting Things in Order
10.​13 Taking Things Further
10.​14 Summary
Chapter 11:​Anagrams
11.​1 Main Classes
11.2 The Dictionary Class
11.3 The Term Class
11.​4 Permutations
11.5 The permutations Function
11.6 Generating the Permutations of a Term
11.​7 Putting It All Together
11.​8 Summary
Chapter 12:​Palindromes
12.1 Reversing a Term
12.​2 Detecting Palindromes
12.​3 Putting It All Together
12.​4 Summary
Chapter 13:​Word Switch
13.​1 The Algorithm
13.​1.​1 Generation 1
13.​1.​2 Generation 2
13.​1.​3 Generation 3
13.​1.​4 Generation 4
13.​1.​5 Algorithm Termination with Success
13.​1.​6 Algorithm Termination with Failure
13.​2 Main Classes and Project Setup
13.3 The WordChecker Class
13.4 The WordNode Class
13.5 Refactoring WordNodeTest
13.6 Further Tests of WordNode
13.7 Implementing WordNode
13.8 The WordSwitch Class
13.9 The Implementation of lookForTarget
13.​10 Finding the Path
13.​11 Putting It All Together
13.​12 Summary and Step Details
13.​12.​1 Details of Project Step 13.​1
13.​12.​2 Details of Project Step 13.​2
13.​12.​3 Details of Project Step 13.​3
13.​12.​4 Details of Project Step 13.​4
13.​12.​5 Details of Project Step 13.​5
13.​12.​6 Details of Project Step 13.​6
13.​12.​7 Details of Project Step 13.​9
13.​12.​8 Details of Project Step 13.​10
13.​12.​9 Details of Project Step 13.​12
13.​12.​10 Details of Project Step 13.​13
13.​12.​11 Details of Project Step 13.​16
13.​12.​12 Details of Project Step 13.​21
Part III: Images
Chapter 14:​Color Pictures
14.​1 Modeling Color
14.​2 Modeling Pictures
14.​3 Photographs
14.​4 Flipping an Image
14.​5 Summary and Solutions to Challenges
Chapter 15:​Pixel Transformations
15.​1 Blood Sunset
15.​2 A Unit Test
15.​3 Conditional Transformations
15.​4 Position-Based Transformations
15.​5 Summary and Solutions to Challenges
Chapter 16:​Cropping and Resizing Images
16.​1 Cropping
16.​2 Improving the Unit Tests
16.​3 Shrinking an Image
16.​4 Storing Images
16.​5 Summary and Solutions to Challenges
Chapter 17:​Project Dino
17.​1 Producing the Screen
17.​2 Photographing the Dinosaur
17.​3 First Attempt at Superposition
17.​4 Letting the Background Through
17.​5 Hiding the Feet
17.​6 Summary
Part IV: Vision
Chapter 18:​Overview
18.​1 A Bit More Kotlin
18.​2 Project Structure
18.​3 Image Slicing
18.​4 Summary and Step Details
18.​1.​1 Details of Project Step 18.​1
18.​2.​2 Details of Project Step 18.​2
18.​3.​3 Details of Project Step 18.​3
Chapter 19:​Finding Digits
19.​1 DigitFinder
19.​2 Thresholding the Sign Images
19.​3 Slicing the Thresholded Image
19.​4 A More General Slicing Function
19.​5 Filtering the Slices
19.​6 Summary and Step Details
19.​1.​1 Details of Project Step 19.​1
19.​2.​2 Details of Project Step 19.​2
19.​3.​3 Details of Project Step 19.​3
Chapter 20:​Parsing the Images
20.​1 Terminology
20.​2 Project Structure
20.​3 Identifying the Digit “1”
20.​4 Identifying the Digit “2”
20.​5 Identifying “5” and “7”
20.​6 Identifying “0”
20.​7 Summary and Step Details
20.​1.​1 Details of Project Step 20.​1
20.​2.​2 Details of Project Step 20.​2
20.​3.​3 Details of Project Step 20.​3
20.​4.​4 Details of Project Step 20.​4
20.​5.​5 Details of Project Step 20.​5
20.​6.​6 Details of Project Step 20.​6
Chapter 21:​Reading Speed Signs
21.​1 SpeedReader
21.​2 Base 10 Numbers
21.​3 Putting It All Together
21.​4 Summary
21.​5 Project Steps
21.​5.​1 Details of Project Step 21.​1
21.​5.​2 Details of Project Step 21.​3
21.​5.​3 Details of Project Step 21.​4
Index
About the Author
Tim Lavers
has 25 years’ experience in commercial
software engineering. He has worked on
a variety of applications using many
different programming languages. He
loves learning new programming
technologies and passing that knowledge
on to his colleagues. He also taught
mathematics for several years, and from
that knows how to help people learn
difficult things. Apart from
programming, Tim enjoys running,
bushwalking, and playing the piano.
About the Technical Reviewer
Ted Hagos
is a software developer by trade; at the moment, he’s Chief Technology
Officer and Data Protection Officer of RenditionDigital International, a
software development company based out of Dublin. He wore many
hats in his 20+ years in software development, for example, team lead,
project manager, architect, and director for development. He also spent
time as a trainer for IBM Advanced Career Education, Ateneo ITI, and
Asia Pacific College. He has written Learn Android Studio 4 (2020) and
Beginning Android Games Development (2020) for Apress.
Part I
Basics
Basics
In Part I, we set up Kotlin and learn the most important features of the
language.
© The Author(s), under exclusive license to APress Media, LLC, part of Springer
Nature 2021
T. Lavers, Learn to Program with Kotlin
https://doi.org/10.1007/978-1-4842-6815-5_1

1. Getting Started
Tim Lavers1
(1) Woonona, NSW, Australia

In this chapter, we set up our programming environment and get our


first program running.

1.1 What Is Programming?


A computer program is a set of instructions that tell a computer to
perform an action such as showing an image or printing out some text.
These instructions are written using special sets of words and
symbols, called programming languages. In this book, we are going to
use a language called Kotlin. Kotlin is quite new and is closely related to
another language, called Java, which is extremely popular in industry
and in universities around the world. While Java is an excellent
language, it is over 20 years old, which is ancient in computing terms.
Additionally, since Java was first developed, there have been many
improvements in programming that Kotlin takes advantage of. These
improvements mean that Kotlin programs tend to be simpler than their
Java equivalents, and many sources of mistakes are avoided outright.
Unlike human beings, computers do not understand vague
instructions and are not able to move beyond the simple typographical
errors that we easily make. This can make programming a very
frustrating task, as even tiny mistakes, such as a missing comma, can
stop an otherwise perfect program from working. To avoid these
problems, some introductory programming books use very simple
languages or even Lego-style visual programming tools in which syntax
errors are not possible.
We’ve decided to stick with Kotlin in this book because by learning
it you will be gaining skills in a language that is the first choice for
thousands of other programmers and can be used to program lots of
different kinds of devices, such as personal computers (obviously),
Android devices, microcomputers, and so on. Also, there are lots of code
samples that can be found for solving particular problems.
To handle the problems brought about by the complexity of a full-
powered language, we will work by modifying existing programs using
a code editor that highlights errors and offers sensible corrections.

1.2 Installing Java


As mentioned before, Kotlin is related to an older language called Java.
In fact, in order to write and run Kotlin programs, we will need to
install the programming tools for Java. These are bundled as what is
called the Java Development Kit or Java Platform, or JDK, which is a free
download from Oracle at the site
www.oracle.com/java/technologies/javase-
downloads.html.On this page, shown in Figure 1-1, click the “JDK
Download” link. This will take you to a page that provides download
links for a variety of operating systems. Choose the one that suits your
system and download and install the software.
Figure 1-1 The Java download site. Click the “JDK Download” link

1.3 Installing Git


Git is a program that is used to share source code between
programmers. All of the code in this book can be obtained using Git.
This is extremely convenient, but the downside is that we need to
install another piece of software. To begin, visit https://git-
scm.com/. From this site, download the version for your operating
system. Running the installer is a pretty lengthy process, as there are
lots of screens that present different setup options. Just accept the
default options at each screen.

1.4 Installing IntelliJ


A good code editor is extremely helpful in avoiding and correcting
errors in programs. IntelliJ is the best code editor for Kotlin and is very
popular with professional programmers. We will be using the
“Community Edition” of the tool, which is free for noncommercial use.
IntelliJ can be downloaded from the JetBrains website,
www.jetbrains.com/idea/, and the installation process is simple
and well documented.
1.5 Our First Program
Our first program is available from a Git repository that can be opened
with IntelliJ. The IntelliJ tool for opening a Git repository is available
from the “Welcome to IntelliJ IDEA” screen shown in Figure 1-2.

Figure 1-2 The IntelliJ welcome screen

To get the first program:


1. Click the Get from VCS button.

2. Wait for the “Get from Version Control” dialog, shown in Figure 1-3,
to show.

3. Copy this address: https://github.com/Apress/learn-


to-program-w-kotlin-basics.git into the URL field.

4. Create a new directory, also known as a “folder” in Windows, and


copy the location into the Directory field.
5. Press the Clone button.

Figure 1-3 The IntelliJ dialog for getting a Git repository


After some time, which depends on your Internet connection and
computer speed, IntelliJ will present the downloaded project, as in
Figure 1-4. In the bottom right-hand corner, there might be a pop-up
(not shown here) asking about adding files to Git. Just click the Don’t
ask again option.

Figure 1-4 The project in IntelliJ. This part of the IntelliJ user interface is called the
project tree. It contains the source files for our programs

The upper left-hand side of this screen has what is called the project
tree. We will use this later to locate our first program and run it. The
project tree can be shown or hidden by pressing the Alt and 1 keys at
the same time. If, for whatever reason, the project tree is not showing,
use this key combination to reveal it. If that does not work, use the
menu Windows ➤ Restore Default Layout to put things right.

1.6 Changing the Appearance of IntelliJ


As with many programs, the appearance of IntelliJ is configurable. This
is done by selecting a visual “theme.” The default theme uses the dark
colors that can be seen in the preceding screenshots—in fact, the theme
is called “Darcula.” To change the theme, use the menu File ➤
Settings to display the Settings dialog. Then select Appearance in
the tree on the left of the settings screen. The Theme drop-down has a
number of built-in themes from which you can select one you like, as
shown in Figure 1-5. In the interests of producing clearer screenshots, I
will be using the “IntelliJ Light” theme from now on, as shown.

Figure 1-5 Setting the visual theme

1.7 Troubleshooting
If IntelliJ was installed before Git, you may get an error message about
the path to the Git executable not being found. This can generally be
fixed by setting the path within IntelliJ. To do this, choose File ➤
Settings and then select Git under the Version Control
heading, as in Figure 1-6. The Test button in the top right-hand corner
can be used to check that IntelliJ knows where Git is installed. If this
test fails, you may need to adjust the setup in IntelliJ by changing the
Path to Git executable value.

Figure 1-6 Configuring Git in IntelliJ

Figure 1-7 The program is run by clicking the green triangle

1.8 Running Our First Program


By clicking the folder icons (they look like > signs) in the project tree,
you should be able to navigate to the file FirstProgram.kt. Double-
click this to open it in the main editor pane. To run the program, click
the little green triangle at line 7 of the program text. A pop-up will
show, with the option Run ‘FirstProgramKt’. Select this option.
After a half-minute or so of background activity, you should see an
application frame with a pattern of black and white squares.
Congratulations! You’ve got the first program running! If you click the
small cross at the upper right-hand corner, the display will close and
the program will terminate.
Figure 1-8 Our first program shows a simple pattern of black and white tiles

1.9 Source Code for Our Program


As a wrap-up for this chapter, let’s have a quick look at the code for our
program, just to get a bit more familiar with what Kotlin code looks like.
The aim here is just to understand a little of the broad outline of a
program. The details will come later.

1 package lpk.basics
2
3 import javax.swing.ImageIcon
4 import javax.swing.JFrame
5 import javax.swing.SwingUtilities
6
7 fun main() {
8 SwingUtilities.invokeLater {
FirstProgram().doLaunch() }
9 }
10 class FirstProgram {
11
12 fun tileColors() : Array<Array<Int>> {
13 return arrayOf(
14 arrayOf(0, 255),
15 arrayOf(255, 0)
16 )
17 }
18
19 fun doLaunch() {
20 val frame = JFrame("Basics")
21 frame.defaultCloseOperation =
JFrame.EXIT_ON_CLOSE
22 frame.iconImage =
ImageIcon("./src/lpk/basics/icon.png").image
23 frame.add(TilePanel(tileColors()))
24 frame.pack()
25 frame.isVisible = true
26 }
27 }
Note that some of the import statements (lines 3 to 5) might not
be showing. Instead, they might appear as a collapsed code block that
can be expanded by clicking the + sign.

Figure 1-9 The import statements might be hidden as a collapsed code block

Even this short program contains a lot of detail that will be totally
incomprehensible to a first-time programmer. Don’t worry! You don’t
need to understand everything at once. The main parts of the program
can be understood in the following terms:
1. The first line tells the system what package our program belongs
in. The complete name of a program includes its package, just as the
combination of street name plus other details makes a postal
address unique.

2. The import statements let the system know what other programs
are needed in our code. All software that does anything remotely
complex, such as showing a user interface, makes use of prebuilt
components. The import statements are used to make them
available to our code.

3. The block containing tileColors() sets up a grid of color values.


We’ll look at this in detail in the next few chapters.

4. Lines 19 to 26 tell the system how to turn the block of colors into a
user interface element that can be drawn on the screen.

5. The function called main on line 7 is the starting point for the
system to launch the program.

In the next chapter, we will begin modifying this code to produce


new patterns.
© The Author(s), under exclusive license to APress Media, LLC, part of Springer
Nature 2021
T. Lavers, Learn to Program with Kotlin
https://doi.org/10.1007/978-1-4842-6815-5_2

2. Simple Patterns
Tim Lavers1
(1) Woonona, NSW, Australia

In this chapter, we will see how black, white, and other shades of gray
can be represented in Kotlin. This will allow us to modify our program
from the previous chapter to show different tile patterns. In making
these changes, we will be getting familiar with basic Kotlin syntax and
with the programming environment.

2.1 Shades of Gray


Software engineering is about modeling aspects of the real world, such
as colors, shapes, sounds, and so on, using simple mathematical
constructs such as numbers. For now, we are working with shades of
gray, and there are many ways that these can be represented in a
computer program, for example:
1. Giving specific shades names such as black, white, light
gray, dark gray, and so on

2. Representing black by 0, white by 1, and intermediate shades by


numbers between these values

3. Representing black as 0 and white as 255, with each intermediate


shade given by a whole number between these values
Exploring the Variety of Random
Documents with Different Content
In the pause that followed, Emmons turned to the lawyer.
“Now, you are a clever man, Mr. Overton,” he said easily. “Perhaps
you can explain to me, why it is that a fellow who is known to be a
thief and a liar should be in such a hurry to write himself down a
murderer as well?”
The tone and manner of the interruption, coming at a moment of
high emotion, were too much for Vickers’s temper. He turned on
Emmons white with rage.
“I’ve stood about as much as I mean to stand from you,” he said.
“Overton and Nellie are welcome to believe me or not as they like,
but you will either believe me or leave this house.”
His tone was so menacing that Overton stood up, expecting
trouble, but it was Nellie who spoke.
“James will do nothing of the kind,” she said. “If you are not Bob
Lee you have no right to say who shall stay in this house and who
shall not. The house is mine, and I won’t have any one in it who can’t
be civil to James.”
“Then you certainly can’t have me,” said Vickers.
“It seems not,” answered Nellie.
They exchanged such a steel-like glance as only those who love
each other can inflict, and then Vickers flung out of the house.
When, a few minutes later, Overton caught up with him, his anger
had not cooled.
“Hush, hush, my dear fellow,” said the lawyer. “Hilltop is not
accustomed to such language. Let a spirited lady have her heroics if
she wants.”
Chapter XI
Left alone with her fiancé, perhaps Nellie expected a word of
praise for her gallant public demonstration in his favor. If so, she was
disappointed.
“Upon my word!” he exclaimed, as the door shut after Vickers. “I
never in all my life heard such an audacious impostor. Imagine his
daring to pass himself off as Mr. Lee’s son throughout an entire
month!”
“He told me within twenty-four hours of his arrival that he was not
Bob Lee, and I think he told you, too, James; only you would not
believe him.”
Emmons took no notice of this reply, but continued his own train of
thought. “When I think that for four weeks you have been practically
alone in the house with an escaped murderer—for I don’t believe a
word of all this story about false testimony—my blood runs cold. And
it is only by the merest chance that we have succeeded in rescuing
all your uncle’s property from his hands.”
“I think you are wrong, James. Mr. Vickers never intended to
accept my uncle’s property.”
“My dear Nellie! Women are so extraordinarily innocent in financial
matters. That was the object of his whole plot.”
“I don’t think it was a plot. It seems to me, indeed, that we both
owe an apology to Mr. Vickers.”
“An apology!” said Emmons, and his color deepened. “I think you
must be mad, Nellie. I think I owe an apology to the community for
having left him at large so long. I ought to have telegraphed to the
sheriff of Vickers’s Crossing at once, and I mean to do so without
delay.”
Nellie rose to her feet. “If you do that, James—” she began, and
then, perhaps remembering that she had been accused of being
over-fond of threats in the past, she changed her tone. “You will not
do that, I am sure, James, when you stop to consider that you heard
Mr. Vickers’s story only because I insisted on having you present. It
would be a breach of confidence to me as well as to him.”
Emmons laughed. “The law, my dear girl,” he said, “does not take
cognizance of these fine points. It is my duty when I have my hand
on an escaped murderer to close it, and I intend to do so. He
probably means to leave Hilltop to-night, and I shall not be able to
get a warrant from Vickers’s Crossing until to-morrow, but I can
arrange with the local authorities to arrest him on some trumped-up
charge that will hold him, until we get the papers.”
He moved toward the door; to his surprise Nellie was there before
him.
“One moment,” she said. “I don’t think you understand how I feel
about this matter. I know Mr. Vickers better than you do. Whatever
he may have done in the past, I feel myself under obligations to him.
He has done more than you can even imagine, James, to make my
uncle’s last days happy. He has been more considerate of me,” she
hesitated, and then went on,—“more considerate of me, in some
ways, than any one I have ever met, though I have been uniformly
insolent and high-handed with him. I admire Mr. Vickers in many
respects.”
“It is not ten minutes, however, since you turned him out of your
house.”
Nellie was silent, and then she made a decisive gesture. “I will not
have you telegraph for that warrant, James. I let you stay under the
impression that you were an honorable man, and I will not have Mr.
Vickers betrayed through my mistake.”
“Honor! betrayed!” cried Emmons. “Aren’t we using pretty big
words about the arrest of a common criminal? I am very sorry if you
disapprove, Nellie, but I have never yet allowed man or woman to
interfere with what I consider my duty, and I don’t mean to now. Let
me pass, please.”
She did not at once move. “Oh, I’ll let you pass, James,” she
answered deliberately, “only I want you to understand what it means.
I won’t marry you, if you do this. I don’t know that I could bring myself
to marry you anyhow, now.”
She had the art of irritating her opponent, and Emmons exclaimed,
“I dare say you prefer this jailbird to me.”
She did not reply in words, but she moved away from the door,
and Emmons went out of it. The instant he had gone she rang the
bell, and when Plimpton appeared she said: “Tell the coachman that
I want a trap and the fastest horse of the pair just as quickly as he
can get it. Tell him to hurry, Plimpton.”
Plimpton bowed, though he did not approve of servants being
hurried. He liked orders to be given in time. Nevertheless, he gave
her message, and within half an hour she was in Mr. Overton’s
drawing-room. The great man greeted her warmly.
“Do you know, my dear Nellie,” he said, almost as he entered, “I
was just thinking that I ought to have made an appointment to see
you again. Of course you are in a hurry to get a complete schedule
of your new possessions, and to know what you may count on in the
future. Shall we say to-morrow—that is Saturday, isn’t it?—about
three?”
“Oh, there is not the least hurry about that,” returned Nellie, and
her manner was unusually agitated, “any time you like. I did not
come about that. I came to ask you if you knew where Bob is—Mr.
Vickers, I mean?”
“Yes,” said Overton, “I do!”
“Something dreadful has happened,” Nellie went on with less and
less composure. “I have only just found it out. As soon as our
interview was over, James Emmons told me he meant to telegraph
to Vickers’s Crossing, or whatever the name of the place is, for a
warrant. He expects to be able to arrest Mr. Vickers at once.”
“He does, does he—the hound!” cried Overton, for the first time
losing his temper. He rang a bell, and when a servant answered it he
ordered a trap to be ready at once. Returning to Nellie, he found that
she had buried her face in her handkerchief, and he repented his
violence.
“There, there, forgive me, Miss Nellie,” he said. “I did not mean to
call him a hound. I forgot that you were going to marry him.”
“Oh, don’t apologize to me,” replied Nellie, with some animation; “I
wish I had said it myself. I am not going to marry him.”
The news startled Overton. “Why, is that wise, my dear child?” he
said. “Perhaps neither of us does him justice. He is a good, steady,
reliable man, and if I were you, I would not go back on him in a
hurry.”
“He is not any one of those things,” said Nellie, drying her eyes,
and looking as dignified as the process allowed. “He is base. He took
advantage of what he heard in confidence—of what he only heard at
all because I made a point of his being there. Is that reliable, or
steady? I call it dishonorable and I would rather die than marry such
a creature, and so I told him.”
“You know your own business best,” answered Overton, “but the
world is a sad place for lonely women.”
“It would be a very sad place for both James and me, if I married
him feeling as I do,” said Nellie, and judging by her expression
Overton was inclined to agree with her. “It was all very well while I
could respect James, but now——”
“Still, ordinary prudence—” the lawyer began, but she interrupted.
“Don’t talk to me about ordinary prudence. That is what led me into
the awful mistake of being engaged to him at all. I thought it would
be wise. I used to get thinking about the future, and whether I should
have anything to live on——”
“And you don’t think of these things now?”
“I don’t care sixpence about the future,” returned Nellie, “and I’m
sure I don’t know why I’ve been crying, except that I am tired, and I
think I’ll go home. You’ll warn Mr. Vickers, won’t you?”
“I will,” said Overton.
Nellie still hesitated. “He is here, I suppose.”
“Yes. He was thinking of staying to dine with me, and taking a late
train to town. He has a steamer to catch to-morrow; but after what
you say”—Overton looked at his watch—“I rather think that he had
better go at once. There’s a train within half an hour.”
“Oh, he had much better go at once, before James has time to
make trouble,” she answered; and then added gravely, “Mr. Overton,
do you believe that the murder happened just as Mr. Vickers said?”
“Do you?”
“Yes.”
“So do I,” Overton answered, “but then I have some reason, for I
remember something of the case, which was a very celebrated one
up the State. And now, Nellie, I’ll tell you a secret which I wouldn’t
trust to any one else. I have an impression—a vague one, but still I
trust it—that that case was set straight, somehow or other. If it
should be——”
“Telegraph and find out.”
“I wrote some days ago—the night before your uncle was taken ill;
but I have had no answer. But mind, don’t tell him. It would be too
cruel, if I should turn out to be wrong.”
“I?” said Nellie. “I don’t ever expect to see the man again.”
“I suppose not,” he returned, “and yet I wish it were not too much
to ask you to take him to the station in your trap. He won’t have more
than time, and mine has not come to the door yet.”
Nellie looked as if she were going to refuse, but when she spoke
she spoke quite definitely: “I’ll take him,” she said.
“Thank you,” said Overton, and left the room.
In his library he found Vickers standing on the hearthrug, though
there was no fire in the chimney-place. His head was bent and he
was vaguely chinking some coins in his pocket.
“Well, Vickers,” said his host coolly, “I have a disagreeable piece of
news for you. Emmons, it seems, has telegraphed for a warrant, and
does not intend to let you go until he gets it, but possibly he won’t be
prepared for your slipping away at once. There’s a train at five-ten.
Do you care to try it?”
Vickers looked up, as if the whole matter were of very small
interest to him. “There does not seem to be anything else to do, does
there?” he said.
“Of course, my offer of a position is still open to you.”
“I can’t stay in this country with Emmons on my heels. They’d lock
me up in a minute.”
“You have never heard anything further about your case, have
you?”
“Not a word. There wasn’t much to hear, I expect. I suppose I had
better be going.”
“Your bags are at the Lees’ still, aren’t they?”
“And can stay there, for all I care. I’ll not put foot in that house
again.”
“I hope you don’t feel too resentfully towards Miss Lee,” Overton
began, “for in the first place it was she who brought me word of this
move of Emmons, and in the second——”
“I don’t feel resentful at all,” interrupted Vickers. “But I don’t feel as
if I wanted to go out of my way to see her again.”
“And in the second,” Overton went on, “the only way you can
possibly catch your train now is to let her drive you down. She has a
trap outside, and she seemed to be——”
He paused, for the door had slammed behind Vickers, and when
he followed, the two were already in the trap. Overton smiled.
“That’s right,” he said, “make haste; but you might at least say
good-by to a man you may never see again. Good-by, my dear
fellow; good luck.”
Vickers, a little ashamed, shook hands with the older man in
silence, and Overton went on: “Whatever happens, Vickers, do not
resist arrest. I have ordered a trap and I’ll follow you as soon as it
comes. Not that I anticipate any trouble.”
They drove away, and Overton as he entered the house murmured
to himself, “Not that they listened to a word I said.”
Yet if they had not listened, it did not seem to be from any desire
to talk themselves. They drove out of the gates in silence, and had
gone some distance before Nellie asked,
“Where shall you go to-night, Mr. Vickers?”
“Thank you for your interest,” returned Vickers bitterly, “but it
seems that my plans have been quite sufficiently spread about
Hilltop. Perhaps it would be as well for me not to answer your
question. I am going away.”
Not unnaturally this speech angered Nellie. “You do not seem to
understand,” she said, “that I came to warn you that you must go.”
“I was going anyhow,” he retorted, “but of course I am very much
obliged to you for any trouble you may have taken.”
“I thought it my duty,” she began, but he interrupted her with a
laugh.
“Your duty, of course. You never do anything from any other
motive. That is exactly why I do not tell you my plans. You might feel
it your duty to repeat them to Emmons. I think I remember your
saying that you always tell him everything.”
“You are making it,” said Nellie, in a voice as cool as his own,
“rather difficult for me to say what I think is due to you—and that is
that I owe you an apology for having insisted yesterday——”
“You owe me so many apologies,” returned Vickers, “that you will
hardly have time to make them between here and the station, so
perhaps it is hardly worth while to begin.”
“You have a right to take this tone with me,” said Nellie, acutely
aware how often she had taken it with him. “But you shall not keep
me from saying, Mr. Vickers, that I am very conscious of how ill I
have treated you, and that your patience has given me a respect for
you—” She stopped, for Vickers laughed contemptuously; but as he
said nothing in answer, she presently went on again: “I do not know
what it is that strikes you as ludicrous in what I am saying. I was
going to add that I should like to hear, now and then, how you are
getting on, if it is not too much to ask.”
He turned on her. “You mean you want me to write to you?”
She nodded.
“I am afraid your future husband would not approve of the
correspondence, and as you tell him everything—no, I had far better
risk it now, and tell you my plans at once. I am going to South
America, where I am going to be a real live general over a small but
excellent little army. I know, for I made some of it myself.”
“And will you be safe there?”
“Yes, if you mean from Emmons and the process of the law. On
the other hand, some people do not consider soldiering the very
safest of professions—especially in those countries, where they
sometimes really fight, and, contrary to the popular notion, when
they do fight, it is very much the real thing. Fancy your feelings,
Nellie, when some day you read in the papers: ‘The one irreparable
loss to the Liberal party was the death of General Don Luis Vickers,
who died at the head of his column....’ Ah, I should die happy, if only
I could die with sufficient glory to induce Emmons to refer to me in
public as ‘an odd sort of fellow, a cousin of my wife’s.’ I can hear him.
My spirit would return to gloat.”
“He will never say that,” said Nellie, with a meaning which Vickers,
unhappily, lost.
“Ah, you can’t tell, Nellie. ‘General Luis Vickers’ sounds so much
better than ‘Vickers, the man the police want.’ And Emmons’s
standards, I notice, depend almost entirely on what people say.
Nellie,” he went on suddenly, “I have something to say to you. You
and I are never going to see each other again, and Heaven knows I
don’t want to write to you or hear from you again. This is all there will
ever be, and I am going to offer you a piece of advice as if I were
going to die to-morrow. Don’t marry Emmons! He is not the right sort.
Perhaps you think I have no right to criticise a man who has always
kept a good deal straighter than I, but it is just because I have
knocked about that I know. He won’t do. You are independent now.
Your farm will bring you in something. Keep the fellow I put in there,
and sell a few of the upland lots. You won’t be rich, but you’ll be
comfortable. Don’t marry Emmons.”
“Why do you say this to me?”
“Because I know it’s the right thing to say. I can say anything to
you. As far as a woman like you is concerned, I realize a man like
myself—without a cent, without even a decent name—doesn’t exist
at all; not even Emmons himself could suppose that in advising you
not to marry him, I have any hope for myself.”
“And yet that is just what he does think.” She forced herself to look
at him, and her look had the anxious temerity of a child who has just
defied its elders.
“Nellie, what do you mean?”
“I am not going to marry Mr. Emmons.”
“You are not! You are not!! Oh, my darling! What a place the world
is! Have I really lost you?”
Nellie smiled at him, without turning her head. “I thought you had
no hope.”
He had no sense of decency, for he kissed her twice on the public
highway. “I haven’t,” he answered. “I can’t stay, and you can’t go with
me. Imagine you in the tropics.”
“I certainly can’t go if I’m not asked.”
“Think what you are saying to me, woman,” he answered. “In
another moment I shall ask you if you love me, and then——”
She turned to him, and put her hand in his. “Suppose you do ask
me,” she said.
Vickers held it, and bent his head over it, and laid it against his
mouth, but he shook his head. “No,” he said, “I won’t. I have just one
or two remnants of decency left, and I won’t do that.”
He stopped: for Nellie had turned the horse down an unexpected
road. “Where are you going?” he said.
“Back to the house. You can’t sail without your things.”
“My dear girl, I’ve spent half my life traveling without my things.”
“Well, you aren’t going to do it any more,” she answered, and her
tone had so domestic a flavor that he kissed her again.
Plimpton met them in the hall, and Nellie lost no time.
“Pack Mr. Vickers’s things at once, please,” she said, and would
have passed on, but she was arrested by Plimpton’s voice.
“Whose, Madam?” he asked; like many men of parts, he believed
that to be puzzled and to be insulted are much the same thing.
“Mine, Plimpton, mine,” said Vickers. “And just for once leave out
as much of the tissue paper and cotton wool as possible. I’ve a train
to catch.”
“And tell my maid to pack something for me—as much as she can
get into a valise; and tea at once, Plimpton.”
Plimpton did not say that he totally disapproved of the whole plan,
but his tone was very cold, as he said that tea was already served in
the drawing-room.
“Goodness only knows when we shall see food again,” Nellie
remarked as she sat down behind the tea-kettle.
“I can hardly catch my train, Nellie.”
“No matter. We can drive over to the other line—nine or ten miles.”
“It will be rather a long lonely journey back, won’t it?”
“For the horse, you mean?” said Nellie. “Well, to tell the truth I
don’t exactly know how the horse is going to get back and I don’t
much care.”
“Nellie,” said Vickers, and he laid his hand on her shoulder with a
gesture that was almost paternal. “I can’t let you do this. You have no
idea what a life it would be,—what it would mean to be the wife of a
man who——”
“I shall know very soon,” returned she irrepressibly. “But I have
some idea what a life it would be to be left behind, and so I am afraid
you must put this newly-found prudence of yours in your pocket, and
make up your mind——”
But she did not finish a sentence whose end was fairly obvious, for
the door was thrown open in Plimpton’s best manner, and Emmons
entered. He stopped on seeing Vickers, and stared at him with round
eyes.
“You!” he cried. “This is the last place I should have thought of
looking for you.”
“But does not a meeting like this make amends—” Vickers began
lightly, but Nellie struck a better note with her cool: “I should think
this would have been the most natural place to look. Tea, James?”
“No, thank you,” replied Emmons sternly. “I’ve no time for tea just
now. I parted from the sheriff not ten minutes ago, and I must go and
find him at once.”
“Sorry you won’t stay and have a chat,” said Vickers. “But
doubtless you know best.”
“You’ll find out what I know within half an hour,” said Emmons, and
left the room, slamming the door behind him.
“James is developing quite a taste for repartee,” observed Vickers.
Nellie rose, put out the light under the kettle, and began to draw on
her gloves. “We must start now,” she said.
“Now, or never,” said Vickers.
They were half-way down the drive before Nellie asked in the most
matter-of-fact tone, “Are the bags in?”
He nodded.
“Mine, too?”
“Yours, too, Nellie. Weak-kneed that I am, when I felt it in my hand,
I said a brave man would leave this one behind, but—I put it in.”
Catching his eye, she smiled. “That was very kind of you,” she
said, “for I, you know, have not spent half my life traveling without my
things.”
A NEW NOVEL OF UNUSUAL MERIT
H. H. BASHFORD’S
THE PILGRIMS’ MARCH
3rd printing. $1.50
A happily written English story with a theme of wide appeal. A
likable youth with artistic tendencies is converted, for a time at least,
to the ways, and works, and daughter of a puritan family. The
situation is worked out with humor and in an atmosphere of good
breeding.
“A really charming narrative. They’re all very real, these
good people, even the most lightly sketched among them,
while Broggers, and lisping Chris, the good old Lomax, and
sweet, human Margaret, and brave, brave Betty, these are
altogether too nice and wholesomely lovable to shut away
with the memory of their story’s single reading. There’s too
much to be learned and enjoyed to think of perusing but
once.”—Chicago Record-Herald.
“Those critics who have asserted that all possible plots
have been used will be compelled to retreat. More than one
noteworthy figure, carefully finished and consistent and
adding to the general merit of a remarkable first novel.”—The
Living Age.
“Extremely clever and charming. It reminds one here and
there of the manner of De Morgan, which is praise enough for
anybody.”—Wm. Lyon Phelps, Professor of English Literature
at Yale.
“Somewhat of the temperament of Miss Sinclair’s ‘The
Divine Fire.’ ... One of those unusual novels which gather
force as they advance. Will be one of the notable books of the
season.”—Washington (D. C.) Star.
“A rarely interesting novel.”—Hartford Courant.
⁂ If the reader will send his name and address, the
publishers will send, from time to time, information about their
new books.

WILLIAM DE MORGAN’S SOMEHOW GOOD


The dramatic story of some modern English people in a strange
situation. $1.75.
“A book as sound, as sweet, as wholesome, as wise, as
any in the range of fiction,”—The Nation.
“Dear familiar friends, companions, playmates of his are
these men and women and children, and he tells you about
them so vividly and tenderly that they must be your friends
and familiars, too—for their mere charm and their humanness’
sake—in their jests and idle pastimes, not less than in their
tragedies and joys.... If you love your Thackeray, you may
chance it safely enough—and have your reward.”—New York
Times Review.
“Our older novelists (Dickens and Thackeray) will have to
look to their laurels, for the new one is fast proving himself
their equal. A higher quality of enjoyment than is derivable
from the work of any other novelist now living and active in
either England or America. Absolutely masterly. The plot is
extremely ingenious and complicated.”—The Dial.

WILLIAM DE MORGAN’S ALICE-FOR-SHORT


The story of a London waif, a friendly artist, his friends and family.
Seventh printing. $1.75.
“Really worth reading and praising ... will be hailed as a
masterpiece. If any writer of the present era is read a half
century hence, a quarter century, or even a decade, that
writer is William De Morgan.”—Boston Transcript.
“It is the Victorian age itself that speaks in those rich,
interesting, overcrowded books.... Page by page the new
book is as rich, piquant, and interesting as its predecessor....
Everywhere are wit, learning, and scholarship ... the true
creative imagination.... Will be remembered as Dickens’s
novels are remembered.”—Springfield Republican.

WILLIAM DE MORGAN’S JOSEPH VANCE


A novel of life near London in the 50’s. Eighth printing. $1.75.
“The book of the last decade; the best thing in fiction since
Mr. Meredith and Mr. Hardy; must take its place as the first
great English novel that has appeared in the twentieth
century.”—Lewis Melville in New York Times Saturday
Review.
“If the reader likes both ‘David Copperfield’ and ‘Peter
Ibbetson,’ he can find the two books in this one.”—The
Independent.
⁂ If the reader will send his name and address, the
publishers will send, from time to time, information regarding
their new books.

A LORD OF LANDS
By Ramsey Benson.
326 pp., 12mo. $1.50.
The unusual and convincing narrative of the experiences of a man
of good sense, with wages of $50 a month and five children,
following his determination to leave the city and farm it in the
Northwest.
“A book of real adventure—an adventure in living. More
thrilling than an African jungle story, and not lacking in humor
and pathos. Nothing is more wonderful than the way the
commonest details contribute to the homely interest, just as
long ago we were fascinated by the ‘Swiss Family
Robinson.’”—The Independent.
“Does for the humble workingman what ‘The Fat of the
Land’ did for the well-to-do. Will appeal instantly and
throughout its entire length to the lover of the outdoor life.”—
Boston Transcript.
“Unique in literature ... holds many fascinations ... told with
the utmost art.”—San Francisco Chronicle.

OVER AGAINST GREEN PEAK


By Zephine Humphrey.
276 pp., 12mo. $1.25 net, by mail $1.33.
The homely experiences of a bright young woman and her Aunt
Susan, not to mention the “hired girl,” in making a New England
home.
“Verily it is a delicious piece of work and that last chapter is
a genuine poem. Best of all is the charming sincerity of the
book.”—George Cary Eggleston.
“A record of country life far above the average of its class in
the qualities which go to make such a book enjoyable.... The
author sees the things that are worth seeing, and she has a
rather unusual command of simple, dignified and effective
English.”—The Nation.
“Characters who are individualized and humor that is gentle
and cheery ... the unmistakable air of literary grace and
refinement.”—The Outlook.
AS THE HAGUE ORDAINS
By Eliza R. Scidmore.
Journal of a Russian Prisoner’s Wife in Japan.
Illustrated from photographs. 359 pp., 12mo. $1.50 net, by mail
$1.62.
“In a class by itself. For sheer graphic force it has a kinship
with Kipling’s ‘Soldiers Three.’ A brave love story, bravely told.
Epic not only in subject, but in treatment.”—Philip Tillinghast
in The Forum.
“A remarkable book, and one that places the author in the
very front rank of living writers of fiction.”—London Academy.
“First worthy romance with scenes laid in our Eastern
islands. The love story is the real thing.”—New York Times
Review.
⁂ If the reader will send his name and address, the
publishers will send, from time to time, information regarding
their new books.

MRS. E. L. VOYNICH’S THE GADFLY


An intense romance of the Italian rising against the Austrians early in
the nineteenth century. Twenty-first printing. $1.25
“One of the most powerful novels of the decade.”—New
York Tribune.

ANTHONY HOPE’S THE PRISONER OF ZENDA


Being the history of three months in the life of an English gentleman.
Illustrated by C. D. Gibson. Fifty-first printing. $1.50.
ANTHONY HOPE’S RUPERT OF HENTZAU
A sequel to “The Prisoner of Zenda.” Illustrated by C. D. Gibson.
Twenty-first printing. $1.50.
These stirring romances established a new vogue in fiction and
are among the most widely-read novels. Each has been successfully
dramatized.

C. N. AND A. M. WILLIAMSON’S THE LIGHTNING


CONDUCTOR
New illustrated edition. Twenty-first printing. $1.50.
A humorous love story of a beautiful American and a gallant
Englishman who stoops to conquer. Two almost human automobiles
play prominent parts. There are picturesque scenes in Provence,
Spain and Italy.
“Altogether the best automobile story of which we have
knowledge, and might serve almost as a guide-book for
highway travel from Paris to Sicily.”—Atlantic Monthly.

C. N. AND A. M. WILLIAMSON’S THE PRINCESS


PASSES
Illustrated by Edward Penfield. Eighth printing. $1.50.
“The authors have duplicated their success with ‘The
Lightning Conductor.’ ... Unusually absorbing.”—Boston
Transcript.

D. D. WELLS’ HER LADYSHIP’S ELEPHANT


This humorous Anglo-American tale made an instantaneous hit.
Eighteenth printing. $1.25.
“He is probably funny because he cannot help it.... Must
consent to be regarded as a benefactor of his kind without
responsibility.”—The Nation.

⁂ If the reader will send his name and address, the


publishers will send, from time to time, information regarding
their new books.
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!

textbookfull.com

You might also like