100% found this document useful (1 vote)
26 views56 pages

XDoclet in Action Craig Walls Instant Download

The document provides information about 'XDoclet in Action' by Craig Walls and Norman Richards, detailing its content structure and chapters on code generation, Enterprise Java integration, and various applications of XDoclet. It includes sections on using XDoclet with Enterprise JavaBeans, web frameworks, data persistence, web services, and more. Additionally, it offers insights into extending XDoclet and includes appendices for installation and quick references.

Uploaded by

gajiucasin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
26 views56 pages

XDoclet in Action Craig Walls Instant Download

The document provides information about 'XDoclet in Action' by Craig Walls and Norman Richards, detailing its content structure and chapters on code generation, Enterprise Java integration, and various applications of XDoclet. It includes sections on using XDoclet with Enterprise JavaBeans, web frameworks, data persistence, web services, and more. Additionally, it offers insights into extending XDoclet and includes appendices for installation and quick references.

Uploaded by

gajiucasin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

XDoclet in Action Craig Walls pdf download

https://ebookname.com/product/xdoclet-in-action-craig-walls/

Get Instant Ebook Downloads – Browse at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Estrogen Action Selective Estrogen Receptor Modulators


and Women s Health Progress and Promise 1st Edition V
Craig Jordan

https://ebookname.com/product/estrogen-action-selective-estrogen-
receptor-modulators-and-women-s-health-progress-and-promise-1st-
edition-v-craig-jordan/

Craig s Soil Mechanics 7th Edition R.F. Craig

https://ebookname.com/product/craig-s-soil-mechanics-7th-edition-
r-f-craig/

Rails 4 in Action Revised Edition of Rails 3 in Action


Ryan Bigg

https://ebookname.com/product/rails-4-in-action-revised-edition-
of-rails-3-in-action-ryan-bigg/

Voices Postgraduate Perspectives on Inter


disciplinarity 1st Edition Kathryn Vincent

https://ebookname.com/product/voices-postgraduate-perspectives-
on-inter-disciplinarity-1st-edition-kathryn-vincent/
Psychoanalytic Reflections on a Gender free Case Into
the Void 1st Edition Ellen Toronto Et Al. (Eds.)

https://ebookname.com/product/psychoanalytic-reflections-on-a-
gender-free-case-into-the-void-1st-edition-ellen-toronto-et-al-
eds/

The Seven Challenges Workbook A Guide to Co operative


Communication Skills for Success at Home and at Work
Third Edition, Revised Edition Dennis Rivers

https://ebookname.com/product/the-seven-challenges-workbook-a-
guide-to-co-operative-communication-skills-for-success-at-home-
and-at-work-third-edition-revised-edition-dennis-rivers/

Rethinking Freire Globalization and the Environmental


Crisis 1st Edition Frederique Apffel-Marglin

https://ebookname.com/product/rethinking-freire-globalization-
and-the-environmental-crisis-1st-edition-frederique-apffel-
marglin/

Master Your IBS An 8 Week Plan Proven to Control the


Symptoms of Irritable Bowel Syndrome 1st Edition Pamela
Barney

https://ebookname.com/product/master-your-ibs-an-8-week-plan-
proven-to-control-the-symptoms-of-irritable-bowel-syndrome-1st-
edition-pamela-barney/

Lab Manual to Accompany Modern Control Technology


Components and Systems 2nd Edition Gerald E. Williams

https://ebookname.com/product/lab-manual-to-accompany-modern-
control-technology-components-and-systems-2nd-edition-gerald-e-
williams/
Microfibres 1st Edition S. Mukhopadhyay (Editor)

https://ebookname.com/product/microfibres-1st-edition-s-
mukhopadhyay-editor/
Craig Walls
Norman Richards

XDoclet
IN ACTION

MANNING
XDoclet in Action
XDoclet in Action
CRAIG WALLS
NORMAN RICHARDS

MANNING
Greenwich
(74° w. long.)
For online information and ordering of this and other Manning books, go to
www.manning.com. The publisher offers discounts on this book when ordered in quantity.
For more information, please contact:
Special Sales Department
Manning Publications Co.
209 Bruce Park Avenue Fax: (203) 661-9018
Greenwich, CT 06830 email: orders@manning.com

©2004 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted,


in any form or by means electronic, mechanical, photocopying, or otherwise, without
prior written permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products
are claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial
caps or all caps.

Recognizing the importance of preserving what has been written, it is Manning’s policy to
have the books they publish printed on acid-free paper, and we exert our best efforts to that
end.

Manning Publications Co. Copyeditor: Tiffany Taylor


209 Bruce Park Avenue Typesetter: Denis Dalinnik
Greenwich, CT 06830 Cover designer: Leslie Haimes

ISBN 1-932394-05-2

Printed in the United States of America


1 2 3 4 5 6 7 8 9 10 – VHG – 07 06 05 04 03
For my wife, Raymie
C.W.

For Vincent
N.R.
brief contents
PART 1 THE BASICS .......................................................................... 1
1 ■ A gentle introduction to code generation 3
2 ■ Getting started with XDoclet 21

PART 2 USING XDOCLET WITH ENTERPRISE JAVA ...................43


3 ■ XDoclet and Enterprise JavaBeans 45
4 ■ XDoclet and the web-layer 83
5 ■ XDoclet and web frameworks 109
6 ■ XDoclet and application servers 135

PART 3 OTHER XDOCLET APPLICATIONS.................................161


7 ■ XDoclet and data persistence 163
8 ■ XDoclet and web services 210
9 ■ XDoclet and JMX 232
10 ■ XDoclet and mock objects 262
11 ■ XDoclet and portlets 275

vii
viii BRIEF CONTENTS

PART 4 EXTENDING XDOCLET................................................... 291


12 ■ Custom code generation with XDoclet 293
13 ■ XDoclet extensions and tools 335

APPENDIXES
A ■ Installing XDoclet 350
B ■ XDoclet task/subtask quick reference 354
C ■ XDoclet tag quick reference 382
D ■ XDt template language tags 491
E ■ The future of XDoclet 566
contents
foreword xvii
preface xxi
acknowledgments xxiii
about this book xxvi
about the title xxx
about the cover illustration xxxi

PART 1 THE BASICS .......................................................... 1

1 A gentle introduction to code generation 3


1.1 What is XDoclet? 4
1.2 Types of code generation 5
Passive style: one-time code generation 6 ■
Active style:
integrated code generation 6
1.3 Code generation input sources 7
Models as an input source 8 ■
Data files as input 9
Source files as input 10
1.4 How XDoclet fits in 10
1.5 Deciding when to use XDoclet 13
Should you generate code? 13 Should you use a tool or build

the generator yourself? 15 Should you choose XDoclet? 16


ix
x CONTENTS

1.6 Code generation wisdom 16


Don’t generate what you don’t understand 16 Test the ■

generated code 17 Don’t be afraid to change your design to


accommodate generation 17 Generate layer by layer,


piece by piece 18 Keep generated files out of the


code repository 19 Look for repetition 20


1.7 Summary 20

2 Getting started with XDoclet


2.1 XDoclet in action 22
A common issue 22 Adding an XDoclet tag 23

21

Integrating with Ant 23 Generating a ■

professional-looking todo list 24


2.2 Tasks and subtasks 25
XDoclet tasks 25 ■
XDoclet subtasks 26
2.3 Invoking tasks from Ant 28
Declaring tasks 28 ■
Using tasks 29
2.4 Tagging your code with attributes 30
The anatomy of an attribute 31
2.5 Code generation patterns 33
Template basics 34 ■
Template tags 36
2.6 Customizing through merging 37
2.7 The big picture 39
2.8 Summary 41

PART 2 USING XDOCLET WITH ENTERPRISE JAVA ............... 43

3 XDoclet and Enterprise JavaBeans


3.1 Building the web-log application 46
The web-log component model 47 ■
45

Creating the EJB code


generation build file 47
3.2 Defining the EJBs 50
3.3 Adding the subtasks for the EJB application 51
Letting XDoclet write deployment descriptors 52 Generating ■

home and local home interfaces 52 Generating remote and■

local interfaces 53 Generating utility objects 54



CONTENTS xi

Generating concrete EJB implementation classes 56


Including EJB references 58 Including container-managed

persistent fields 59 Declaring relationships 60


Generating value objects 61


3.4 Managing EJB security 66
Container-managed authorization 66 Bean-managed ■

authorization 66 Identity propagation 68


3.5 Using query methods with entity beans 68


Find methods 69 ■
Select methods 69
3.6 How you’ve benefitted from XDoclet so far 70
3.7 Managing transactions 71
Container-managed transactions 72 ■
Bean-managed
transactions 74
3.8 Working with Data Access Objects 75
Generating DAO interfaces 75 ■
Adding methods to
the DAO interface 77
3.9 Working with message-driven beans 78
Defining message selectors 78 Setting an■

acknowledge mode 79 Specifying destinations


■ 80
Setting subscription durability 81
3.10 Summary 81

4 XDoclet and the web-layer 83


4.1 Adding web-layer generation to the build file 84
4.2 Working with servlets 86
Configuring servlets in web.xml 88
4.3 Referencing EJBs 91
4.4 Configuring servlet security 94
Declaring security roles 96 Programming security

in servlets 97 Propagating security roles 98


4.5 Working with servlet filters 99


Configuring filters in web.xml 101
4.6 Applying XDoclet to listeners 104
4.7 Writing custom JSP tags 105
4.8 Summary 108
xii CONTENTS

5 XDoclet and web frameworks 109


5.1 Merging framework servlets into web.xml 110
Merging ActionServlet for Struts 112 ■ Merging
ServletDispatcher for WebWork 112
5.2 Using XDoclet with Jakarta Struts 113
Enabling Struts generation in the build files 114
Implementing an Action 117 Declaring the■

Struts Action 119 Defining ActionForms 121


5.3 Using XDoclet with WebWork 130


Configuring Actions in actions.xml 130 Configuring Actions

in views.properties 133 Documenting actions 133


5.4 Summary 133

6 XDoclet and application servers 135


6.1 Why we need vendor-specific tasks 136
J2EE development roles 136 J2EE application

deployment 137 Generating application server


deployment descriptors 138


6.2 Deploying on JBoss 139
Deploying an EJB JAR on JBoss 140 Specifying database

schema 140 Mapping foreign keys 142 Handling relation


■ ■

tables 143 Creating database tables 145 Specifying


■ ■

physical JNDI names 146


6.3 Deploying a WAR file on JBoss 149
Setting a default web context 149 Setting a security

domain 150 Setting a virtual host 150


6.4 Deploying on WebLogic 151


Deploying an EJB JAR on WebLogic 151 Specifying database ■

mapping 152 Managing tables 153 Using WebLogic-


■ ■

specific features 154 Deploying a WAR file on


WebLogic 155
6.5 Working with multiple application servers 156
6.6 Working with multiple deployments 158
6.7 Summary 159
CONTENTS xiii

PART 3 OTHER XDOCLET APPLICATIONS ......................... 161

7 XDoclet and data persistence 163


7.1 Hibernating data 164
Preparing the build for Hibernate 165 Tagging classes for

Hibernation 166 Using the Hibernated classes 175


7.2 Persisting data with JDO 176


Adding JDO generation to the build 177 Tagging classes for

JDO persistence 179 Using the JDO persistence-capable


classes 183 Working with vendor extensions 187


7.3 Persisting data with Castor 192


Adding Castor generation to the build 192 Persisting objects

using Castor JDO 193 Using objects persisted with Castor


JDO 199 Working with Castor XML 202


7.4 Summary 209

8 XDoclet and web services 210


8.1 Generating deployment descriptors for Apache
SOAP 211
Writing simple Java web services for Apache SOAP 212
Exposing EJBs as Apache SOAP web services 215 Mapping ■

custom types 217


8.2 Generating deployment descriptors for Axis 222
Writing simple Java web services for Axis 223 Exposing EJBs

as Axis web services 226 Mapping custom types 228


8.3 Summary 231

9 XDoclet and JMX 232


9.1 A quick JMX overview 233
9.2 Preparing the build for JMX generation 234
9.3 Generating MBean interfaces 235
9.4 Generating mlet files 239
Deploying the mlet using the mlet service 243
9.5 Working with MBean services in JBossMX 245
Creating JBossMX services 246 ■ Generating XML for
JBossMX model MBeans 249
xiv CONTENTS

9.6 Generating MBean description classes for MX4J 254


Preparing the build for MX4J 254 Tagging MBeans for

MX4J 255 Running the build 256 Deploying the


■ ■

MBean into MX4J 258


9.7 Summary 261

10 XDoclet and mock objects 262


10.1 What are mock objects? 263
Knowing when to mock 264 ■
Testing from the inside out 265
10.2 Generating mock objects with XDoclet 266
Adding mock-object generation to the build 266
Tagging interfaces to generate mock implementations 268
Testing FullServiceStation.java with mock objects 269
10.3 Summary 273

11 XDoclet and portlets 275


11.1 Introducing JSR-168 (the portlet API) 276
Writing a simple portlet 277 ■ Deploying a portlet 278
11.2 Adding portlet.xml generation to the build file 279
11.3 Writing a portlet 280
Defining portlet basics 282 Initializing portlets 283

Supporting multiple display options 284 Defining ■

preferences 285 Validating preferences 286


11.4 Running the build 288


11.5 Summary 290

PART 4 EXTENDING XDOCLET....................................... 291

12 Custom code generation with XDoclet 293


12.1 When should you bother with custom code
generation? 294
The risks of custom generation 295 The rewards of custom

generation 295 Making the leap 296


12.2 Using XDoclet templates 297


Using aggregate generation 297 ■
Using transformation
generation 299
CONTENTS xv

12.3 Exploring design alternatives 304


Registering commands 305 Generating the command

processor 306 Generating a configuration file 310


Choosing a generation method 312


12.4 Template tag concepts 313
Block and content tags 313 Tag namespaces 314

Types of tags 315 Using some basic template tags 318


12.5 Creating custom template tags 322


Creating a content tag 324 Creating a body tag 326

Refactoring common functionality into a tag 328


12.6 Creating custom tasks 329
Creating the Ant task 331 Creating the subtask 331

Distributing custom tasks 333 Registering custom


tasks in Ant 334


12.7 Summary 334

13 XDoclet extensions and tools 335


13.1 The role of tools in XDoclet 336
13.2 IntelliJ IDEA 337
Helping IDEA find your generated classes 337 Configuring

IDEA to accept XDoclet tags 338 Using IDEA’s live templates


to generate XDoclet tags 340


13.3 Eclipse 342
Using JBoss IDE 343 ■
Generating an XDoclet build file 344
13.4 AndroMDA 346
13.5 Middlegen 347
13.6 Summary 349

appendix A: Installing XDoclet 350


appendix B: XDoclet task/subtask quick reference 354
appendix C: XDoclet tag quick reference 382
appendix D: XDt template language tags 491
appendix E: The future of XDoclet 566

recommended reading 575


index 577
foreword
Let’s face it: We’re all lazy. At least, most of us are. Some of us have come up
with rationalizations for this laziness, such as, “I get more done if I do less,” or
“By reducing complexity, I can build more complex systems,” or the ever-pop-
ular “I just want to get the job done so I can go home.” No matter which ratio-
nalization you choose, the concept of code generation and using metadata is
probably appealing to you—if you’re a programmer.
The story of XDoclet began a couple of years ago when I was involved in
building the EJB container for the JBoss application server. Being the lazy pro-
grammer that I am, I found it a burden to write all those interfaces and XML
descriptors related to EJB components. The editing slowed me down and
made it difficult to manage a large application. But what really ticked me off
was how punishing the whole process became when I wanted to change some-
thing! A simple change to a method meant editing many source files, as well
as the XML descriptor containing the metadata for that method. There had to
be a better way!
And there was. JavaWorld, which at the time was the leading online Java
magazine, published an article about how to use the javadoc API to write cus-
tom doclets in order to create custom HTML documentation. I thought “Hey,
that’s a neat idea, but I’m not really interested in writing HTML: I want it to
generate code!” A little tinkering told me this was a great approach for solving
most of my problems. I could create custom javadoc tags and run the javadoc
tool on my sources, and the doclet I wrote generated both source code and

xvii
xviii FOREWORD

XML instead of HTML. Now all information about a component was centralized
in a single file: the EJB bean code, from which I could generate everything else.
Neat! I called the tool EJBDoclet and published it on my homepage using an
open-source license. I knew other lazy programmers would be interested.
It is now a couple of years later, and XDoclet has evolved from its initial spe-
cialized EJBDoclet incarnation to a highly customizable generic tool that can
help generate almost anything from your source code. It’s also used for, among
others, servlets, tag libraries, as well as WebWork and Struts actions, and it sup-
ports a number of server-specific XML descriptors for EJB. It has better docu-
mentation, a fairly large user base, and a thriving community built around it.
There are even tools whose purpose is to create source code that contains
XDoclet tags. In short, XDoclet has become a standard tool that can help most
programmers become more productive.
If we take a step back and look at the bigger picture, we see that XDoclet
combines two main points: code generation and code metadata. The last couple
of years have seen an explosion of new standards, each of which mandates that a
particular API be exposed by the components which implement it. Design pat-
terns have also become more popular. These two factors provide good reasons
for code generation because it is easy to create templates for both. If all you
have to do to expose a standard API or use a particular design pattern is create
source code that contains all the base information, and then use a code genera-
tion tool like XDoclet, which creates the artifacts required by those standards
and design patterns, then it becomes significantly easier to perform those tasks.
One of the main problems in software engineering is knowledge—actually, lack
of knowledge. Both design patterns and standard APIs require that program-
mers know them well in order to create code that implements them. By using
code generation based on templates, such as with XDoclet, it becomes easier to
capture and reuse such knowledge, making it available to programmers who
lack these skills.
XDoclet is great out of the box, but what’s even more interesting is the sup-
port for custom modules that you can add to it. This lets you capture your own
framework and design pattern standards, which is very helpful in a large com-
pany or team.
XDoclet is an open-source project with an active and responsive community of
users and developers. You should feel free to contribute your ideas and code to
it. As long as new standards, products, and best practices emerge, XDoclet will
need to keep evolving in order to help developers where it matters the most. Our
opportunity to be lazy depends on other developers’ willingness to be creative.
FOREWORD xix

The book you are now reading has been written by two developers who clearly
understand all of the above ideas and principles. Through their concise writing
they will show you how to apply XDoclet as efficiently as possible in your own
projects, and will help you understand everything from the basics of XDoclet to
how to expand it with your own plugins. No matter whether you choose to use
XDoclet as a lazy developer or as a creative plugin writer, this book is your essen-
tial guide.

—Rickard Öberg
Creator of XDoclet
preface
When I first heard of XDoclet (then it was called EJBDoclet), I thought the whole
idea was nonsense. The comment blocks in my Java code were for documenta-
tion, not for programming. Why would I ever put anything in a comment block
that impacted the functionality of my program? How absurd! Besides, at the
time I wasn’t doing much with EJBs, so what use did I have for XDoclet?
But XDoclet wouldn’t leave me alone. It kept crossing my path, with its
name mentioned in web-logs, presentations, and mailing lists. I was being
haunted by XDoclet.
Finally I gave in to those ghosts and gave XDoclet another look. And I’m
glad I did. I found out that XDoclet was for more than just EJBs and that it
addressed many of the code maintenance headaches I dealt with every day. It
freed me from Deployment Descriptor Hell.
I eventually got past my hang-up with putting code in comment blocks.
After all, javadoc comments aren’t the real documentation—they’re merely
metadata used to generate the real documentation. In that light, metadata
used to generate deployment descriptors and interfaces is just as appropriate
in comment blocks as javadoc documentation.
Newly enlightened, I dove in head first to learn as much as possible about
XDoclet. I sought out every book and every article I could find. But in my
quest for XDoclet knowledge, I came up short. Unfortunately, very little had
been written about XDoclet. Even XDoclet’s own documentation was sparse
(and, in some cases, inaccurate).

xxi
xxii PREFACE

I decided to remedy that problem by writing an article documenting every-


thing I learned about XDoclet. It wasn’t long before I was commissioned by a
prominent Java development magazine to write an article on XDoclet.
I shared my excitement over this new writing opportunity with my friend,
Norman Richards. Much to my surprise, he informed me that he had just been
commissioned to write an XDoclet article for the same magazine. Upon compar-
ing notes, we learned that our articles1 covered two sides of the same XDoclet
coin. Moreover, we discovered that between the two of us, we probably had
enough content to produce an entire book on XDoclet.
Several months and many sleepless nights later, the book you’re now reading
is the book we were looking for when we started learning XDoclet. We wrote this
book for ourselves. We’ll refer to it often as we get stuck working with XDoclet.
Even as we were writing it, we were wishing we had a book like this to guide us.
We also wrote this book for you. Perhaps you’ve heard of XDoclet and won-
dered what it’s all about and how you can apply it in your projects. Maybe you’re
a skeptic, and you’re looking for evidence that XDoclet is as useful as is claimed.
Or maybe your projects are already successfully employing XDoclet and you just
need a reference to this wonderful tool. Whatever the case, this book is for you.

—Craig Walls

1 Due to various reasons, including a huge book-writing project, neither of our articles were ever published.
acknowledgments
This book is more than a collection of words penned by two authors. In addi-
tion to those whose names are on the cover, there are many others who played
very important roles and deserve credit for this book’s existence.
First and foremost, we’d like to acknowledge the fine group of people we’ve
worked with at Manning Publications. The professionalism of each and every
one of you has made this project a true pleasure. Many thanks to Marjan Bace
for believing in this project and giving us this awesome opportunity. And to
everyone else we’ve worked with at Manning: Susan Capparelle, Denis Dalin-
nik, Lee Fitzpatrick, Leslie Haimes, Ted Kennedy (in memoriam), Mary Pier-
gies, David Roberson, Iain Shigeoka, Marilyn Smith, Tiffany Taylor, and
Helen Trimes.
We’d also like to acknowledge the reviewers who gave us the criticism we
needed to shape the book: Dan Bereczki, Ryan Breidenbach, Daniel Brooksh-
ier, Kevin Curley, Ryan Daigle, Jeff Duska, Nathan Egge, Erik Hatcher, Jack
Herrington, Ernest Hill, David Loeffler, Rickard Öberg, David Paine, Ben Sul-
lins, and Michael Yuan.
A huge high-five to everyone in the XDoclet community for continuing to
make XDoclet such a great tool. So many people have contributed in one way
or another that it would be difficult to list them all here. But, to everyone who
has written a module, addressed an issue in JIRA, or just answered a question
on the mailing lists, our appreciation for everything you do.

xxiii
xxiv ACKNOWLEDGMENTS

Finally, we’d like to give special thanks to Rickard Öberg for his vision, for
creating XDoclet in the first place, and for contributing to our book with his
feedback and foreword.

CRAIG WALLS I wish to especially thank my beautiful and loving wife, Raymie,
for her encouragement and patience during this very long project. I can’t believe
how fortunate I am to have you in my life. I love you more than you can possibly
know or than I can possibly express. Can you believe that I’m finally finished with
this thing?
I extend my gratitude to Norm for being such a great co-author. There’s no
way I could’ve written all of this myself.
Much appreciation to Erik Hatcher for convincing me early on that I could
do this and for answering tons of e-mails and questions along the way.
Many thanks to my team at Michaels: Ryan Breidenbach, Marianna Krupin,
Van Panyanouvong, and Tonji Zimmerman. I couldn’t imagine working with a
more talented bunch of developers. You continue to challenge me every day.
Head scratches and belly rubs are owed to the furry and feathered friends who
surrounded me during many of my writing sessions: Buster, Max, Frasier, Dodger,
Caesar, Hamlet, Echo, Squit, Scuttle, Faith, Cricket, Othello, and especially Juli-
ette, who watched over my shoulder while I banged away at the keyboard.
I wish to express my gratitude to my parents, who instilled in me a desire to
learn and who got me started tinkering with computers way back when they
bought me that Commodore VIC-20. (Fortunately, my programming activities
have advanced beyond BASIC!)
Finally, I’d like to acknowledge a mixed group of people who have inspired
me in one way or another throughout my life. Most of you probably don’t even
know it, but you’ve had a profound impact on my life: James Bell, Frank Caval-
lito, Bob Drummond, Jamie Duke, Robert Gleaton, Carolyn Gunn, Gary and Pat
Henderson, Brad Lartigue, Hue McCoy, and Hubert Smith.

NORMAN RICHARDS would like to thank…


Vincent, for not complaining too much when your dad’s idea of quality time
together for the last six months has been taking the laptop to Chuck E. Cheese’s
and working on the book while you played. I hope I can give you all the oppor-
tunities my parents gave me.
Michael Yuan, for showing me that writing a book wasn’t such a far-out
dream. I hope Enterprise J2ME does well.
Exploring the Variety of Random
Documents with Different Content
Nannie fairly gasped, and she clutched hold of her father's arm.
"Oh! daddy dear," she exclaimed, "do you really, really think I might
be able to get any thing like that for them?"
"Oh! yes, I think so," he answered, smiling at her earnestness.
"But, Nannie, why do you want this money so much? Have you set
your mind on a watch and chain?"
"Oh! no, dear daddy," she answered eagerly, "it's not for myself
at all; it's poor Rosalind I'm thinking of"--and forthwith she poured
into her father's surprised but sympathetic ear all the story of
Rosalind's artistic longings, her craving for better art-lessons, for all
the good things that may be had for the sum of twenty pounds.
Long before the story came to an end Mr. Mackenzie had drawn
his little daughter very closely to him, and I fancy he was thinking,
when she came to the end of it, more of the goodness of his
Nannie's heart than of the greatness of Rosalind's future.
"My Nannie," he said tenderly, "my generous, kind-hearted little
woman! Rosalind ought to love you dearly for----"
"Rosalind does love me dearly, daddy," Nannie explained; "only
she can't help wanting to be a painter--it's in her, you know, and it's
choking her. And Rosalind doesn't know a word about it. She
wouldn't want me to sell Yummy's pups for her. Only you know,
daddy, we can't keep three dogs besides Yummy; and we may just
as well sell them as give them away, and then Rosalind would be
able to have some of the lessons that she wants so badly."
Mr. Mackenzie smiled at Nannie's voluble information. "Well,
well, you shall sell the pups and make Rosalind happy," he said; then
after a moment added, "You know, Nannie, that I am not rich--in
fact, I am very poor, but I will make the sum up to ten pounds, and
Rosalind can go on thus far, at all events."
Well, a few weeks passed over, and the secret was rigidly kept
between Mr. Mackenzie and Nannie. More than once Mrs. Mackenzie
grumbled at the expense and the trouble Yummy's three babies
were in the kitchen, and one afternoon when she came in from
Town, she said--"Oh, Nannie, Lady Gray would like to have one of
Yummy's puppies. I told her I thought you would let her have first
choice."
"Then her ladyship must pay five guineas for it, my dear," said
Mr. Mackenzie promptly. "Nannie and I are going to sell the puppies
this time."
Mrs. Mackenzie rather lifted her eyebrows. "Oh! if that is so,"
she said, "of course Lady Gray must stand on one side. But what are
you going to do with the money, Nannie? Buy yourself a watch?"
"No, Mother, but----" and Nannie looked anxiously at her father,
who quickly came to the rescue, and evaded the question--which at
that moment was an awkward one, for Rosalind was present.
It is probable that Mr. Mackenzie gave his wife just a hint of
what was a-foot, for she asked no more questions about the
puppies, and made no further complaints of the extra food and milk
which Yummy required at this time.
And in due course, after a good deal of correspondence through
the columns of the Queen and the Exchange and Mart, one by one
the three little pugs went away from the house at Putney to homes
of their own, and Nannie in return became the proud possessor of
no fewer than eight golden sovereigns.
To these Mr. Mackenzie added the two which he had promised
to make up the sum of ten pounds, and then Nannie had the
supreme joy of going to Rosalind--who was hard at work in her
studio painting a sunset in tints so startling that her artist soul was
sick within her--and flinging her offering in a shower into her lap.
"Why, what is this, Nannie?" Rosalind cried, half frightened.
"It's your lessons, Rosie," Nannie cried, "or at least as much of
them as you can get for ten pounds; and I'm so glad, dear, dear
Rosie, to be able to help you, you don't know," and happy Nannie
flung her arms round her sister, almost crying for joy.
"But where did you get it? Oh, the pugs! I forgot them,"
Rosalind cried. "Oh! but Nannie, my dear, darling, unselfish sister, I
can't take your money in this way----"
"You must," Nannie answered promptly.
"But your watch--you've longed so for a watch, you know," said
the elder girl.
"Well, I have, but I can long a bit more," returned Nannie
philosophically. "I shall like it all the better when I do get it."
"I can't take it, darling," Rosalind urged.
"Oh! yes, you can, if you try," continued Nannie. "And as for my
watch, why, when you are a great swell painter you can buy me
one--a real beauty--and I shall like it ever so much better than any
other one in all the world."
Rosalind clasped Nannie close to her heart.
"My Nannie, my Nannie," she cried, "I shall never be as brave
and helpful as you are. While I have been grumbling, and growling,
and railing at fate, you have been putting your shoulder to the
wheel, and----. Oh! Nannie, Nannie, it is good of you! It is good! I
shall never forget it. The first penny I earn, dear, shall be yours; and
I will never forget what my dear little sister has done for me, never--
never, as long as I live."
A few days after this Rosalind was hard at work in the studio of
the artist for whose teaching she had longed for so many weary
months. And how she did work!
"I have one pupil who works," her maestro got into the habit of
saying. "Some of you have a natural gift; you have a correct eye,
and you have firm touch. Every one of you might make progress if
you tried. But there is only one of you all who works. That is Miss
Mackenzie."
But, all too soon, Rosalind's ten pounds melted away, until they
had all gone. And, as there was no more where they had come from,
Rosalind's lessons must also come to an end!
"Oh! Mother, can't you do anything to help Rosie?" Nannie cried
in piteously beseeching accents the night before Rosalind was to go
to the studio for the last time.
"Nannie," answered Mrs. Mackenzie reproachfully, "don't you
think I would if I could?"
"Daddy, can you do nothing?" Nannie implored.
"My little one, I am so poor just now," he answered.
So poor Nannie went to bed in bitter disappointment for her
sister's trial. She felt that it was very, very hard upon Rosalind, who
had worked almost day and night that she might profit by every
moment of the time she was at the studio. Yes, it was very, very
hard.
However, Rosalind was brave, and put a good face upon the
matter.
"Don't worry about it, my Nannie," she said just before she got
into bed. "After all, I've learnt a great deal while I have been able to
go to Mr. Raymond, and perhaps, after a time, daddy may be able to
help me to go again, and I may do some work that will sell, and
then I shall be able to go again. So don't worry yourself, my darling,
for you can't help me this time. You see, Yummy hasn't got any
more pups to sell."
But Nannie had got an idea, and all through the hours of that
long night it stayed with her with the pertinacity of a nightmare.
Still, whatever it was, she did not say a word about it to Rosalind,
and when Rosalind looked round for her when she was ready to start
for the studio in the morning, she was nowhere to be seen.
"Where is Nannie?" she asked.
"Oh! she's out in the garden," Mrs. Mackenzie answered.
"Well, I haven't time to go down; but don't let her worry about
me, will you, Mother?" said Rosalind anxiously.
"No, no; I will look after her," Mrs. Mackenzie answered vaguely.
So Rosalind went off fairly satisfied.
"I have come for my last lesson, Mr. Raymond," she said, with
rather an uncertain smile, as she bade the maestro good-morning.
"Oh! well, well; we must have a talk about that," he answered
good-naturedly.
Rosalind shook her head a little sadly, and took her place
without delay--to her every moment was precious.
But, though this was her last lesson, she was not destined to do
much work that day, for, as soon as she opened her little paint-box,
which she had taken home the previous day that she might do some
work in the early morning, she saw lying on the top of the paints a
little note, addressed in Nannie's round child's hand to "Rosalind."
The next moment maestro and pupils were alike startled by the
sight of Rosalind Mackenzie with her face hidden in her hands,
sobbing as if her heart would break.
"My dear child," cried the maestro, running to her side, "how
now! What is the matter? Pray tell me, my dear, tell me."
"'My dear child, what is the matter?'"

Then little by little Rosalind sobbed out the whole story--how


she had longed and pined for these lessons, how her little sister
Nannie had sacrificed herself to help her, and then at last she put
into the maestro's hand the little note which she had brought from
home in the paint-box.

"Darling Rosalind," the maestro read aloud, "I thought of a way to


help you last night, but I did not tell you about it, because I know
you would stop it. You know that Mrs. Clarke, who bought Yummy's
little son, said she would give ten guineas for her any day, so I'm
going to get Father to take her there this afternoon, and you shall
have the money. I don't think I shall mind parting with her much.--
NANNIE."

Mr. Raymond took off his glasses and wiped them.


"Upon my word," he muttered in an uncertain voice; "upon my
word!"
"The darling!" cried one pupil.
"Is she fond of the dog?" asked another.
"Fond of her!" Rosalind echoed; "why, Yummy is the very idol of
her heart. She has had her from a puppy; it would break the child's
heart to part with her. Why, I would die," she said passionately,
"before I would let her do it. I would go out as a charwoman, and
scrub floors for my living all the days of my life, rather than do such
a mean thing. Mr. Raymond," she went on, "I must go back at once,
or I may be too late. I must lose my lesson--I can't help that. But I
must go back--for, look at the poor little letter; all tears and----" and
there Rosalind broke down into tears and sobs again; but, all the
same, she gathered her brushes together, and began to pack up all
her belongings.
The maestro stood for a moment in deep thought, but, as
Rosalind put her hat on and resolutely dried her eyes, he spoke to
the others who were standing around.
"I should very much like to see this out," he said, "and, if you
will set me free this morning, I will give you each an extra lesson to
make up for the interrupted one to-day. What do you say?"
"Yes! yes!" they all cried.
So the old painter and Rosalind went back to the house at
Putney together, and at the door Rosalind put an eager question to
the maid who opened it for them.
"My mother?" she asked.
"Mrs. Mackenzie is dressing to go out, Miss Rosalind," the maid
answered.
"And Miss Nannie?"
"I believe Miss Nannie is in the garden," was the reply.
So Rosalind led the maestro out into the garden, where they
soon espied Nannie curled up in a big chair, with Yummy in her
arms. She did not notice their approach; indeed, she was almost
asleep, worn out by the violence of her grief at the coming parting
with Yummy, and was lying with her eyes closed, her cheek resting
against the dog's satin-smooth head.
Rosalind flung herself down upon her knees before the chair,
and took child and dog into her arms.
"My own precious little sister, my unselfish darling," she cried;
"as if I would let you part with the dear doggy for my sake! I
couldn't, Nannie, my dear, I couldn't--I couldn't part with Yummy
myself. But I shall never forget it, Nannie--my dear, unselfish
Nannie."
"My own precious little sister, my
unselfish darling," she cried.

Nannie looked past her sister towards the tall old painter
standing behind her.
"Your lessons," she faltered, with quivering lips.
"My little heroine," said the old painter tenderly, "your sister is
my favourite among all my pupils. I would rather," he went on,
laying his hand on Rosalind's shoulder--"I would rather teach one
real worker such as she is for love, than fifty of the usual kind who
come to me. She is just the real worker one might expect with such
a sister."
"You will go on teaching Rosalind," Nannie cried in a bewildered
way, "for nothing?"
"I will, gladly," the maestro answered; "and, in return, you shall
come one day, and bring the pug, and let me paint a picture of you
both."
And then the old man went away, leaving the sisters, in the
fulness of their joy, together.
For him this had been somewhat of a new experience--a
pleasant one. They were young, and he was old; but he went back
to his pictures with a heart fresh and young as it had not been for
years, asking of himself a question out of the pages of a favourite
poet: "Shall I thank God for the green summer, and the mild air, and
the flowers, and the stars, and all that makes the world so beautiful,
and not for the good and beautiful beings I have known in it?"

Our Ada Elizabeth


"The sublime mystery of Providence goes on in silence, and gives no explanation of itself,

no answer to our impatient questionings."--Hyperion.

CHAPTER I

The Dicki'sons lived in Blankhampton. Not in the fashionable suburb


of Greater Gate, for the Dicki'sons were not fashionable people--far
from it, indeed. Nor yet in that exclusive part which immediately
surrounds the cathedral, which Blankhampton folk familiarly call "the
Parish." No; they lived in neither of these, but away on the poorer
side of the town and in the narrowest of narrow lanes--so narrow,
indeed, that if a cart came along the passer-by was glad to get into
a doorway, and stand there trembling until the danger was past and
the road free again.
I must tell you that, although they were always called the
Dicki'sons, their name was spelt in the usual way, with an "n" in the
middle and without an apostrophe; but, as their neighbours made an
invariable rule of pronouncing the word, as they did themselves, in
the way in which I have written it, I will take the liberty of
continuing the custom in this story.
For their position, they were rather well-to-do. Mr. Dicki'son, the
father of the family, was a plumber and glazier--not in business for
himself, but the foreman of a business of some importance in the
town; and Mr. Dicki'son was a plain man of somewhat reserved
disposition. There were ill-natured and rude persons in that
neighbourhood who did not hesitate to describe Mr. Dicki'son as "a
sulky beast"; but then the opinion of such was scarcely worth
having, and even they had not a word to say against him beyond a
general complaint of his unsociable temper.
They were lively people who lived round about Gardener's Lane.
The fathers worked hard all the week, and mostly got frightfully
drunk on Saturday nights, when they went home and knocked their
dirty, slipshod wives about, just by way of letting them know their
duty to their lords and masters. And after this sort of thing had
subsided, the wives generally gave the children a good cuffing all
round, just by way of letting them know that they need not hope to
take any liberties with their mothers because of their fathers' little
ways; and then they all got quieted down for the night, and got up
late on Sunday morning with headaches. If the day was fine, the
men sat dull and sodden in the sunshine on the pavement in the
wide street out of which Gardener's Lane ran, propping their backs
against the wall and stretching their legs out, greatly to the danger
and annoyance of passers-by; and while the men thus smoked the
pipe of peace, the women stood in groups at their doorways,
scratching their elbows and comparing their bruises; and the
children, who had gone to sleep the previous night in tears and
tribulation, found keen enjoyment in watching for the parson and
the few people who went to the church round the corner, and called
names and uncomplimentary terms after them as they turned in at
the gates which led thereto.
Now, as Mr. Dicki'son was a person of a reserved and taciturn
disposition, who was distinctly respectable in all his doings, who
never got drunk, and openly despised any one else who did, it will
readily be believed that he was not popular in the neighbourhood of
Gardener's Lane. He was not anxious to be popular, and had it not
been that the house in which he lived was his own, and that it suited
his family as a home, Gardener's Lane would not have counted him
among its inhabitants.
Mrs. Dicki'son was a good deal younger than her husband--a
pretty, weak, sentimental woman, rather gushing in disposition, and
very injudicious. She was always overwhelmed with troubles and
babies; although, as a matter of fact, she had but six children
altogether, and one of them died while still an infant. Gerty was
twelve years old, and Ada Elizabeth just a year younger; then came
a gap of two years ere a boy, William Thomas, was born. William
Thomas, if he had lived, would, I fancy, have inherited his father's
reserved disposition, for, I must say, a more taciturn babe it has
never at any time been my lot to encounter. He was a dreadful
trouble to his dissatisfied mother, who felt, and said, that there was
something uncanny about a child who objected to nothing--who
seemed to know no difference between his own thumb and the
bottle which fed him, and would go on sucking as patiently at the
one as at the other; who would lie with as much apparent comfort
on his face as on his back, and seemed to find no distinction
between his mother's arms and a corner of the wide old sofa, which
earlier and later babies resented as a personal insult, and made
remarks accordingly. However, after six months of this monotonous
existence, William Thomas was removed from this lower sphere,
passing away with the same dignity as he had lived, after which he
served a good purpose still, which was to act as a model to all the
other babies who resented the corner of the sofa and declined to
accept the substitution of their thumbs, or any other makeshift, for
the bottle of their desires.
Two years later was a girl, called Polly, and two years later again
was Georgie; and then, for a time, Mrs. Dicki'son being free from the
cares of a baby, fretted and worried that "'ome isn't like 'ome
without a baby in it." But when Georgie was just turned three little
Miriam arrived, and Mrs. Dicki'son was able to change her complaint,
and tell all her acquaintance that she did think Georgie was going to
be the last, and she was sure she was "just wore out."
Most of the children took after their mother. True, as I have
already said, William Thomas had given signs of not doing so; but
William Thomas had not really lived long enough for any one to
speak definitely on the subject. All the rest thrived and grew apace,
and they all took after their mother, both in looks and character, with
the exception of the second girl, "our Ada Elizabeth."
"The very moral of her father," Mrs. Dicki'son was accustomed
to sigh, as she tried in vain to trim Ada Elizabeth's hat so that the
plain little face underneath it should look as bright and fresh as the
rosy faces of her sisters. But it was a hopeless task, and Mrs.
Dicki'son had to give it up in despair and with many a long speech
full of pity for herself that she, of all people in the world, should
have such a hard trial put upon her as a child who was undeniably
plain.
For the child was plain. She had been a plain, featureless baby,
of uncertain colour, inclining to drab--very much, indeed, what
William Thomas was after her. A baby who, even when newly
washed, never looked quite clean; a little girl whose pinafore never
hung right, and with tow-coloured hair which no amount of hair-oil
or curl-papers could make anything but lank and unornamental! A
child with a heavy, dull face, and a mouth that seldom relaxed into a
smile though there were people (not Mrs. Dicki'son among them,
though) who did not fail to notice that the rare smile was a very
sweet one, infinitely sweeter than ever was seen on the four pretty
rosy faces of the other children.
A child with a heavy, dull face.

Mrs. Dicki'son was eloquent about Ada Elizabeth's looks and


temper. "I'm sure," she cried one day to Gerty, who was pretty, and
quick of wit, and knew to a hair's-breadth how far she could go with
her mother, "it's 'ard upon me I should have such a plain-looking
child as our Ada Elizabeth. It's no use me trying to trim her hat so as
to make her look a credit to us. I'm sure it's aggravating, it is. I've
trimmed your two hats just alike, and she looks no better in hers
than she does in her old school hat, and I got two nice curly tips just
alike. 'Pon my word, it's quite thrown away on her."
"And I want another feather in mine to make it perfect, Mother,"
murmured Gerty, with insinuating suggestiveness.
Mrs. Dicki'son caught at the bait thus held out to her. "I've a
good mind to take the tip out," she said hesitatingly.
"Yes, do, Mother; our Ada Elizabeth won't care. Will you, Ada
Elizabeth?" appealingly to the child who had had the misfortune to
be born plain.
"No, I don't care," returned Ada Elizabeth, whose heart was
bursting, not with jealousy, but with a crushing sense of her own
shortcomings.
"Just like her father," remarked Mrs. Dicki'son, loosening the
feather from its place with one snip of her scissors. "He never cares
'ow he looks! ''Andsome is as 'andsome does,' is his motto; and
though he's been a good 'usband to me, and I'd be the last to go
again' him, yet I must say I do like a bit of smartness myself. But
Ada Elizabeth's the very moral of her father--as much in her ways as
she is in her looks."
So gradually it got to be an established custom that Ada
Elizabeth's attire should be shorn of those little decorations with
which Mrs. Dicki'son delighted to add effect to her eldest child's
prettiness; it was felt to be quite useless to spend money over curly
tips and artificial roses to put above such a plain little face, or
"waste" it, as her mother put it, in the not very delicate way in which
she tried to excuse herself to the child when some more obvious
difference than usual between her clothes and Gerty's was
contemplated.
Ada Elizabeth made no complaint. If asked her mind by the
officious Gerty, she said she did not care, and the answer was
accepted as literal truth by her mother and sister. But Ada Elizabeth
did care. She was not jealous, mind--alas! no, poor child--she was
only miserable, crushed with an ever-present consciousness of her
own deficiencies and shortcomings, with a sense that in having been
born plain and in having taken after her father she had done her
mother an irreparable injury, had offered her the deepest insult
possible! She honestly felt that it was a hard trial to her mother that
she should have such a plain and dull child. More than once she
made a desperate effort to chatter after Gerty's fashion, but
somehow the Dicki'son family did not appreciate the attempt. Gerty
stared at her and sniggered, and her mother told her with fretful
promptness that she did not know what she was talking about; and
poor Ada Elizabeth withdrew into herself, as it were, and became
more reserved--"more like her father"--than ever, cherishing no
resentment against those who had so mercilessly snubbed her, but
only feeling more intensely than ever that she was unlike the rest of
the world, and that her fate was to be seen as little as possible and
not heard at all.

CHAPTER II

The time had come round for the great annual examination of the
National Schools where the young Dicki'sons received their
education, and on the great day itself the children came in at tea-
time full to overflowing with the results of their efforts. And Ada
Elizabeth was full of it too, but not to overflowing; on the contrary,
she crept into the kitchen, where her father and mother and little
two-year-old Miriam--commonly called "Mirry"--were already seated
at the table, and put her school-bag away in its place with a
shamefaced air, as if she, being an ignominious failure, could have
no news to bring.
"Well," exclaimed Mrs. Dicki'son to Gerty, who threw her hat and
bag down and wriggled into her seat with her mouth already open to
tell her tale, "did you get a prize?"
"No, I didn't, Mother," returned Gerty glibly. "A nasty old
crosspatch Miss Simmonds is; she always did hate me, and I think
she hates me worse than ever now. Anyway, she didn't give me a
prize--just to show her spite, nasty thing!"
Mrs. Dicki'son always declared that her husband was a slow
man; and he looked up slowly then and fixed his dull eyes upon
Gerty's flushed face.
"H'm!" he remarked, in a dry tone, and then closed his lips tight
and helped himself to another slice of bread and butter.
Gerty's flushed face grew a fine scarlet. She knew only too well
what the "h'm" and the dry tone and the tightly-closed lips meant,
and made haste to change the subject, or, at least, to turn the
interest of the conversation from herself to her sister.
"But our Ada Elizabeth's got the first prize of all," she informed
them; and in her eagerness to divert her father's slow attention from
herself, she spoke with such an air of pride in the unlooked-for result
of the examination that Ada Elizabeth cast a glance of passionate
gratitude towards her, and then visibly shrank into herself, as if, in
having won so prominent a place, she had done something to make
her mother's trials harder to bear than ever. "And there's going to be
a grander treat than we've ever had this year," Gerty went on, in her
glibest tones. "And the dean's lady, Lady Margaret, is going to give
the prizes away, and all the company is going to be at the treat,
and--and----"
"Oh! what a pity!" exclaimed Mrs. Dicki'son, turning a hopeless
gaze upon poor Ada Elizabeth. "Our Ada Elizabeth 'll never show up
properly, as you would, Gerty."
"Our Ada Elizabeth's lesson-books 'll show up better than
Gerty's, may be," put in Mr. Dicki'son, in his quietest tone and with
his driest manner.
"Oh! Ada Elizabeth's not clever like Gerty," returned Mrs.
Dicki'son, utterly ignorant as she was indifferent to the fact that she
was rapidly taking all the savour out of the child's hour of triumph.
"And you were so sure of it too, Gerty."
"So was the hare of winning the race; but the tortoise won,
after all," remarked Mr. Dicki'son sententiously.
"What are you talking about, Father?" his wife demanded. "I'm
sure if tidy 'air has anything to do with it, Gerty ought to be at the
top of the tree, for, try as I will, I can't make Ada Elizabeth's 'air ever
look aught like, wash it and brush it and curl it as ever I will; and as
for 'air-oil----"
Mr. Dicki'son interrupted his wife by a short laugh. "I didn't
mean that at all"--he knew by long experience that it was useless to
try to make her understand what he did mean--"but, now you speak
of it, perhaps Ada Elizabeth's 'air don't make so much show as some
of the others; it's like mine, and mine never was up to much--not
but what there's scarcely enough left to tell what sort it is."
It was quite a long speech for the unsociable and quiet Mr.
Dicki'son to come out with, and his wife passed it by without
comment, only making a fretful reiteration of Ada Elizabeth's
plainness and a complaint of the sorry figure she would cut among
the great doings on the day of the school treat and distribution of
prizes.
"Is our Ada Elizabeth a plain one?" said Mr. Dicki'son, with an air
of astonishment which conveyed a genuine desire for information,
then turned and scanned the child's burning face, after which he
looked closely at the faces of the other children, so little like hers,
and so nearly like that of his pretty, mindless, complaining wife.
"Well, yes, little 'un, I suppose you're not exactly pretty," he
admitted unwillingly; "you're like me, and I never was a beauty to
look at. But, there, 'handsome is as handsome does,' and you've
brought home first prize to-day, which you wouldn't have done, may
be, if you'd always been on the grin, like Gerty there. Seems to me,"
he went on reflectively, "that that there first prize 'll stand by you
when folks has got tired of Gerty's grin, that's what seems to me. I
don't know," he went on, "that I set so much store by looks. I never
was aught but a plain man, but I've made you a good husband,
Em'ly, and you can't deny it. You'll mind that good-looking chap, Joe
Webster, that you kept company with before you took up with me?
He chucked you up for Eliza Moriarty. Well, I met her this morning,
poor soul! with two black eyes and her lips strapped up with plaster.
H'm!" with a sniff of self-approval, "seems to me I'd not care to
change my plain looks for his handsome ones. 'Handsome is as
handsome does' is my motto; and if I want aught doing for me, it's
our Ada Elizabeth I asks to do it, that's all I know."
The great day of the school treat came and went. The dean's
wife, Lady Margaret Adair, gave away the prizes, as she had
promised, and was so struck with "our Ada Elizabeth's" timid and
shrinking air that she kept her for a few minutes, while she told her
that she had heard a very good account of her, and that she hoped
she would go on and work harder than ever. "For I see," said Lady
Margaret, looking at a paper in her hand, "that you are the first in
your class for these subjects, and that you have carried off the
regular attendance and good-conduct prize as well. I am sure you
must be a very good little woman, and be a great favourite with your
schoolmistress."
Mrs. Dicki'son--who, as the mother of the show pupil of the day,
and as a person of much respectability in the neighbourhood, which
was not famous for that old-fashioned virtue, had been given a seat
as near as possible to the daïs on which Lady Margaret and the table
of prizes were accommodated--heard the pleasant words of praise,
which would have made most mothers' hearts throb with exultant
pride, with but little of such a feeling; on the contrary, her whole
mind was filled with regret that it was not Gerty standing on the
edge of the daïs, instead of the unfortunate Ada Elizabeth, who did
not show off well. If only it had been Gerty! Gerty would have
answered my lady with a pretty blush and smile, and would have
dropped her courtesy at the right moment, and would have been a
credit to her mother generally.
But, alas! Gerty's glib tongue and ready smiles had not won her
the prizes which had fallen to poor little plain Ada Elizabeth's share,
and Gerty was out in the cold, so to speak, among the other
scholars, while Ada Elizabeth, in an agony of shyness and confusion,
stood on the edge of the daïs, first on one foot and then on the
other, conscious that her mother's eyes were upon her and that their
expression was not an approving one, feeling, though she would
hardly have been able to put it into words, that in cutting so sorry a
figure she was making her poor mother's trials more hard to bear
than ever. Poor little plain child, she kept courtesying up and down
like a mechanical doll, and saying, "Yes, 'm," and "No, 'm," at the
wrong moments, and she altogether forgot that the fresh-coloured,
buxom lady in the neat black gown and with only a bit of blue
feather to relieve her black bonnet was not a "ma'am" at all, but a
"my lady," who ought to have been addressed as such. At last,
however, the ceremony, and the games and sports, and the big tea
were all over, and Ada Elizabeth went home with her prizes to be a
heroine no longer, for she soon, very soon, in the presence of
Gerty's prettiness and Gerty's glib tongue and ready smiles, sank
into the insignificance which had been her portion aforetime. She
had not much encouragement to go on trying to be a credit to the
family which she had so hardly tried by taking after her father, for
nobody seemed to remember that she had been at the top of the
tree at the great examination, or, if they did recall it, it was generally
as an example of the schoolmistress's "awkwardness" of disposition
in having passed over the hare for the tortoise. Yet sometimes, when
Gerty was extra hard upon Ada Elizabeth's dulness, or Mrs. Dicki'son
found the trial of her life more heavy to bear than usual, her father
would look up from his dinner or his tea, as it might happen to be,
and fix his slow gaze upon his eldest daughter's vivacious
countenance.
"H'm! Our Ada Elizabeth's too stupid to live, is she? Well, you're
like to know, Gerty; it was you won three first prizes last half, wasn't
it? A great credit to you, to say nought about the 'good conduct and
regular attendance.' Yes, you're like to know all about it, you are."
"Dear me, Gerty," Mrs. Dicki'son would as often as not chime in
fretfully, having just wit enough to keep on the blind side of "Father,"
"eat your tea, and let our Ada Elizabeth alone, do; it isn't pretty of
you to be always calling her for something. Our Ada Elizabeth's
plain-looking, there's no saying aught again' it, but stupid she isn't,
and never was; and, as Father says, ''andsome is as 'andsome does';
so don't let me hear any more of it."
And all the time the poor little subject of discussion would sit
writhing upon her chair, feeling that, after all, Gerty was quite right,
and that she was not only unfortunately plain to look at, but that, in
spite of the handsome prizes laid out in state on the top of the chest
of drawers, there was little doubt that she was just too stupid to live.

CHAPTER III

It was a very mild and damp autumn that year, and the autumn was
succeeded by an equally mild winter; therefore it is not surprising
that the truth of the old saying, "A green Christmas makes a fat
kirkyard," became sadly realized in the neighbourhood of Gardener's
Lane.
For about the middle of December a dangerous low fever, with
some leaning towards typhoid, broke out in the parish, and the men
being mostly hard-drinkers, and the majority of the women idle
drabs who did not use half-a-pound of soap in a month, it flew from
house to house until half the population was down with it; ay, and,
as nearly always happens, not only the hard-drinkers and the idle
drabs were those to suffer, but the steady, respectable workmen and
the good housewives came in for more than their just share of the
tribulation also. And, among others, the Dicki'son family paid dearly
for the sins and shortcomings of their fellow-creatures, for the first
to fall sick was the pretty, complaining mother, of whom not even
her detractors could say other than that she was cleanliness itself in
all her ways. And it was a very bad case. The good parson came
down with offers of help, and sent in a couple of nurses, whom he
paid out of his own pocket--though, if he had but known it, he would
have done much more wisely to have spent the same amount of
money on one with more knowledge of her business and less power
of speech--and the doctor and his partner came and went with grave
and anxious faces, which did not say too much for the sick woman's
chance of recovery.
Mr. Dicki'son stayed at home from his work for a whole week,
and spent his time about equally between anxiously watching his
wife's fever-flushed face and sitting with his children, trying to keep
them quiet--no easy task, let me tell you, in a house where every
movement could be heard in every corner; and, as the schools were
promptly closed, for fear of spreading the epidemic, the children
were on hand during the whole day, and, poor little things, were as
sorely tried by the silence they were compelled to keep as they tried
the quiet, dull man whose heart was full almost to bursting.
But he was very patient and good with them, and Ada Elizabeth
was his right hand in everything. For the first time in her life she
forgot her plain looks and her mother's trials, and felt that she had
been born to some purpose, and that purpose a good one. And then
there came an awful day, when the mother's illness was at the
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!

ebookname.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy