100% found this document useful (3 votes)
19 views

Immediate download Building Modern Business Applications: Reactive Cloud Architecture for Java, Spring, and PostgreSQL 1st Edition Peter Royal ebooks 2024

Reactive

Uploaded by

polumkrekesv
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
19 views

Immediate download Building Modern Business Applications: Reactive Cloud Architecture for Java, Spring, and PostgreSQL 1st Edition Peter Royal ebooks 2024

Reactive

Uploaded by

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

Download the Full Version of ebook for Fast Typing at ebookmass.

com

Building Modern Business Applications: Reactive


Cloud Architecture for Java, Spring, and
PostgreSQL 1st Edition Peter Royal

https://ebookmass.com/product/building-modern-business-
applications-reactive-cloud-architecture-for-java-spring-
and-postgresql-1st-edition-peter-royal/

OR CLICK BUTTON

DOWNLOAD NOW

Download More ebook Instantly Today - Get Yours Now at ebookmass.com


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

Building Modern Business Applications: Reactive Cloud


Architecture for Java, Spring, and PostgreSQL 1st Edition
Peter Royal
https://ebookmass.com/product/building-modern-business-applications-
reactive-cloud-architecture-for-java-spring-and-postgresql-1st-
edition-peter-royal/
ebookmass.com

Beginning Spring Boot 3: Build Dynamic Cloud-Native Java


Applications and Microservices - Second Edition K. Siva
Prasad Reddy
https://ebookmass.com/product/beginning-spring-boot-3-build-dynamic-
cloud-native-java-applications-and-microservices-second-edition-k-
siva-prasad-reddy/
ebookmass.com

Beginning Cloud Native Development with MicroProfile,


Jakarta EE, and Kubernetes: Java DevOps for Building and
Deploying Microservices-based Applications 1st Edition
Tarun Telang
https://ebookmass.com/product/beginning-cloud-native-development-with-
microprofile-jakarta-ee-and-kubernetes-java-devops-for-building-and-
deploying-microservices-based-applications-1st-edition-tarun-telang/
ebookmass.com

Hacking with Spring Boot 2.3: Reactive Edition

https://ebookmass.com/product/hacking-with-spring-boot-2-3-reactive-
edition/

ebookmass.com
AWS for Public and Private Sectors: Cloud Computing
Architecture for Government and Business 1st Edition
Bradley Fowler
https://ebookmass.com/product/aws-for-public-and-private-sectors-
cloud-computing-architecture-for-government-and-business-1st-edition-
bradley-fowler/
ebookmass.com

Designing Applications for Google Cloud Platform: Create


and Deploy Applications Using Java Ashutosh Shashi

https://ebookmass.com/product/designing-applications-for-google-cloud-
platform-create-and-deploy-applications-using-java-ashutosh-shashi/

ebookmass.com

Practical Spring Cloud Function: Developing Cloud-Native


Functions for Multi-Cloud and Hybrid-Cloud Environments
1st Edition Banu Parasuraman
https://ebookmass.com/product/practical-spring-cloud-function-
developing-cloud-native-functions-for-multi-cloud-and-hybrid-cloud-
environments-1st-edition-banu-parasuraman-2/
ebookmass.com

Practical Spring Cloud Function: Developing Cloud-Native


Functions for Multi-Cloud and Hybrid-Cloud Environments
1st Edition Banu Parasuraman
https://ebookmass.com/product/practical-spring-cloud-function-
developing-cloud-native-functions-for-multi-cloud-and-hybrid-cloud-
environments-1st-edition-banu-parasuraman/
ebookmass.com

Pro Spring Security: Securing Spring Framework 6 and Boot


3–based Java Applications, Third Edition Massimo Nardone

https://ebookmass.com/product/pro-spring-security-securing-spring-
framework-6-and-boot-3-based-java-applications-third-edition-massimo-
nardone/
ebookmass.com
Building
Modern Business
Applications
Reactive Cloud Architecture for Java,
Spring, and PostgreSQL

Peter Royal
Building Modern Business
Applications
Reactive Cloud Architecture for Java,
Spring, and PostgreSQL

Peter Royal
Building Modern Business Applications: Reactive Cloud Architecture for Java,
Spring, and PostgreSQL
Peter Royal
Sherman Oaks, CA, USA

ISBN-13 (pbk): 978-1-4842-8991-4 ISBN-13 (electronic): 978-1-4842-8992-1


https://doi.org/10.1007/978-1-4842-8992-1
Copyright © 2023 by Peter Royal
This work is subject to copyright. All rights are reserved 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.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with
every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Jonathan Gennick
Development Editor: Laura Berendson
Coordinating Editor: Jill Balzano
Cover Photo by Jorge Salvador on Unsplash
Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza, Suite
4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.
com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner)
is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware
corporation.
For information on translations, please e-mail booktranslations@springernature.com; for reprint,
paperback, or audio rights, please e-mail bookpermissions@springernature.com.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and
licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales
web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available to
readers on GitHub (https://github.com/Apress). For more detailed information, please visit http://www.
apress.com/source-code.
Printed on acid-free paper
To Tricia, without whose support over the years I wouldn’t have
arrived at a place where this book could happen.
Table of Contents
About the Author��������������������������������������������������������������������������������������������������� xiii

About the Technical Reviewer���������������������������������������������������������������������������������xv

Acknowledgments�������������������������������������������������������������������������������������������������xvii
Introduction������������������������������������������������������������������������������������������������������������xix

Part I: Business Applications.................................................................. 1


Chapter 1: What Is a Business Application?������������������������������������������������������������� 3
Business Software������������������������������������������������������������������������������������������������������������������������ 3
Domain Specific���������������������������������������������������������������������������������������������������������������������������� 4
How It Is Used������������������������������������������������������������������������������������������������������������������������������� 5
Measuring Importance������������������������������������������������������������������������������������������������������������������ 6
“Modern”�������������������������������������������������������������������������������������������������������������������������������������� 7
Summary�������������������������������������������������������������������������������������������������������������������������������������� 7

Chapter 2: The Status Quo (and How It Came to Be)������������������������������������������������ 9


Business Application Architectures����������������������������������������������������������������������������������������������� 9
The Status Quo������������������������������������������������������������������������������������������������������������������������ 9
Green Screen������������������������������������������������������������������������������������������������������������������������� 11
Rich Client����������������������������������������������������������������������������������������������������������������������������� 11
Web Applications������������������������������������������������������������������������������������������������������������������� 12
The Rise of Consumer Applications��������������������������������������������������������������������������������������� 14
Concurrent Practices������������������������������������������������������������������������������������������������������������������ 16
Agile�������������������������������������������������������������������������������������������������������������������������������������� 16
Test-Driven Development������������������������������������������������������������������������������������������������������ 17

v
Table of Contents

Continuous Integration and Delivery������������������������������������������������������������������������������������� 17


Observability�������������������������������������������������������������������������������������������������������������������������� 18
Summary������������������������������������������������������������������������������������������������������������������������������������ 19

Part II: Design Prerequisites................................................................. 21


Chapter 3: What Is a Reactive System?������������������������������������������������������������������ 23
What Is Reactive?����������������������������������������������������������������������������������������������������������������������� 23
Reactive Manifesto��������������������������������������������������������������������������������������������������������������������� 24
Responsive���������������������������������������������������������������������������������������������������������������������������� 25
Resilient��������������������������������������������������������������������������������������������������������������������������������� 26
Elastic������������������������������������������������������������������������������������������������������������������������������������ 26
Message Driven��������������������������������������������������������������������������������������������������������������������� 27
Composing a Reactive System���������������������������������������������������������������������������������������������������� 28
Summary������������������������������������������������������������������������������������������������������������������������������������ 29

Chapter 4: Why Build Business Applications As Reactive Systems?��������������������� 31


Business Expectations���������������������������������������������������������������������������������������������������������������� 31
Developer Expectations�������������������������������������������������������������������������������������������������������������� 32
Property Alignment��������������������������������������������������������������������������������������������������������������������� 33
Responsive���������������������������������������������������������������������������������������������������������������������������� 34
Resilient��������������������������������������������������������������������������������������������������������������������������������� 34
Elastic������������������������������������������������������������������������������������������������������������������������������������ 35
Message Driven��������������������������������������������������������������������������������������������������������������������� 36
Summary������������������������������������������������������������������������������������������������������������������������������������ 37

Chapter 5: What Is a Business Rule?���������������������������������������������������������������������� 39


Thinking About Business Rules��������������������������������������������������������������������������������������������������� 39
Categorizations��������������������������������������������������������������������������������������������������������������������������� 40
Data at Rest��������������������������������������������������������������������������������������������������������������������������� 40
Side Effects��������������������������������������������������������������������������������������������������������������������������� 42
Derivable Data����������������������������������������������������������������������������������������������������������������������� 44
Summary������������������������������������������������������������������������������������������������������������������������������������ 46

vi
Table of Contents

Chapter 6: Managing Time�������������������������������������������������������������������������������������� 47


Answering “What Happened?”��������������������������������������������������������������������������������������������������� 47
Tracking Changes������������������������������������������������������������������������������������������������������������������������ 48
Why Did That Happen?���������������������������������������������������������������������������������������������������������������� 49
Events����������������������������������������������������������������������������������������������������������������������������������������� 50
Commands���������������������������������������������������������������������������������������������������������������������������������� 51
Understanding Time�������������������������������������������������������������������������������������������������������������������� 51
Serialization of Time������������������������������������������������������������������������������������������������������������������� 52
Eventual Consistency������������������������������������������������������������������������������������������������������������������ 53
Bitemporality������������������������������������������������������������������������������������������������������������������������������� 53
Business Rule Changes��������������������������������������������������������������������������������������������������������������� 54
Summary������������������������������������������������������������������������������������������������������������������������������������ 55

Part III: Design...................................................................................... 57


Chapter 7: Constraints and Principles�������������������������������������������������������������������� 59
Constraints���������������������������������������������������������������������������������������������������������������������������������� 59
From REST to a Graph����������������������������������������������������������������������������������������������������������� 59
Falcor������������������������������������������������������������������������������������������������������������������������������������� 60
GraphQL��������������������������������������������������������������������������������������������������������������������������������� 60
Why GraphQL������������������������������������������������������������������������������������������������������������������������� 61
Being Real-Time�������������������������������������������������������������������������������������������������������������������� 62
Principles������������������������������������������������������������������������������������������������������������������������������������ 62
Never Forget�������������������������������������������������������������������������������������������������������������������������� 63
Message Driven��������������������������������������������������������������������������������������������������������������������� 63
Read/Write Separation���������������������������������������������������������������������������������������������������������� 64
Partial Availability������������������������������������������������������������������������������������������������������������������ 65
Design Flexibility������������������������������������������������������������������������������������������������������������������� 66
Modularity����������������������������������������������������������������������������������������������������������������������������� 66
Testability������������������������������������������������������������������������������������������������������������������������������ 67
Amenability to Change���������������������������������������������������������������������������������������������������������� 68
Summary������������������������������������������������������������������������������������������������������������������������������������ 68

vii
Table of Contents

Chapter 8: High-Level Data Flow���������������������������������������������������������������������������� 71


Event Sourcing and CQRS����������������������������������������������������������������������������������������������������������� 71
Thinking in GraphQL Schemas���������������������������������������������������������������������������������������������������� 72
Scalars and Enums���������������������������������������������������������������������������������������������������������������� 73
Objects���������������������������������������������������������������������������������������������������������������������������������� 73
Lists��������������������������������������������������������������������������������������������������������������������������������������� 74
Input Objects������������������������������������������������������������������������������������������������������������������������� 74
Interfaces and Unions������������������������������������������������������������������������������������������������������������ 75
Queries and Subscriptions���������������������������������������������������������������������������������������������������� 75
Mutations������������������������������������������������������������������������������������������������������������������������������� 76
Combining GraphQL + ES + CQRS���������������������������������������������������������������������������������������������� 78
Summary������������������������������������������������������������������������������������������������������������������������������������ 79

Chapter 9: Command Processor����������������������������������������������������������������������������� 81


What It Is, and Is Not������������������������������������������������������������������������������������������������������������������� 81
Requirements������������������������������������������������������������������������������������������������������������������������������ 82
Composing the Core Loop����������������������������������������������������������������������������������������������������������� 83
Handling Failures������������������������������������������������������������������������������������������������������������������������ 85
Infrastructure������������������������������������������������������������������������������������������������������������������������� 85
Application����������������������������������������������������������������������������������������������������������������������������� 86
Enforcing Business Rules������������������������������������������������������������������������������������������������������ 88
How to Test��������������������������������������������������������������������������������������������������������������������������������� 89
Testing the Command Processor������������������������������������������������������������������������������������������� 89
Testing Your Code������������������������������������������������������������������������������������������������������������������ 89
Summary������������������������������������������������������������������������������������������������������������������������������������ 90

Chapter 10: Command Generator��������������������������������������������������������������������������� 91


Interaction with GraphQL������������������������������������������������������������������������������������������������������������ 91
From Input Arguments into a Command�������������������������������������������������������������������������������� 91
Appending to the Command Log������������������������������������������������������������������������������������������� 94
Returning the Mutation Result����������������������������������������������������������������������������������������������� 95
Commands and Other Required Data������������������������������������������������������������������������������������������ 99

viii
Table of Contents

Handling Failures������������������������������������������������������������������������������������������������������������������������ 99
Optimistic Locking��������������������������������������������������������������������������������������������������������������� 100
Timeouts������������������������������������������������������������������������������������������������������������������������������ 101
Testing the Command Generator���������������������������������������������������������������������������������������������� 102
Command Submission��������������������������������������������������������������������������������������������������������� 102
Command Creation�������������������������������������������������������������������������������������������������������������� 103
Summary���������������������������������������������������������������������������������������������������������������������������������� 104

Chapter 11: Event Materializer����������������������������������������������������������������������������� 105


Defining the View Model����������������������������������������������������������������������������������������������������������� 105
Event Materializer Behavior������������������������������������������������������������������������������������������������������ 106
Transactions������������������������������������������������������������������������������������������������������������������������ 106
Consistency������������������������������������������������������������������������������������������������������������������������� 107
Multiple Sources������������������������������������������������������������������������������������������������������������������ 108
Evolving the View Model����������������������������������������������������������������������������������������������������������� 109
Communicating Changes to Others������������������������������������������������������������������������������������������ 110
GraphQL Subscriptions�������������������������������������������������������������������������������������������������������� 111
Other Side Effects���������������������������������������������������������������������������������������������������������������� 113
Managing Failure���������������������������������������������������������������������������������������������������������������������� 114
Testing�������������������������������������������������������������������������������������������������������������������������������������� 115
Summary���������������������������������������������������������������������������������������������������������������������������������� 116

Chapter 12: Testing, Monitoring, and Observability��������������������������������������������� 117


Key Components����������������������������������������������������������������������������������������������������������������������� 117
Command Processor����������������������������������������������������������������������������������������������������������� 117
Command Generator����������������������������������������������������������������������������������������������������������� 118
Event Materializer���������������������������������������������������������������������������������������������������������������� 118
Composed Data Flow����������������������������������������������������������������������������������������������������������� 119
Testing the Composed System�������������������������������������������������������������������������������������������������� 119
Introducing Property-Based Testing������������������������������������������������������������������������������������������ 121
Using Property-Based Testing��������������������������������������������������������������������������������������������������� 123
Using Example Tests����������������������������������������������������������������������������������������������������������������� 125

ix
Table of Contents

Observability����������������������������������������������������������������������������������������������������������������������������� 126
Monitoring Production Systems������������������������������������������������������������������������������������������������ 128
Practice Using Tools������������������������������������������������������������������������������������������������������������������ 130
Summary���������������������������������������������������������������������������������������������������������������������������������� 131

Chapter 13: Required Technologies���������������������������������������������������������������������� 133


Design Review�������������������������������������������������������������������������������������������������������������������������� 133
Constraints and Principles Recap��������������������������������������������������������������������������������������������� 135
GraphQL������������������������������������������������������������������������������������������������������������������������������� 135
Real-Time Updates�������������������������������������������������������������������������������������������������������������� 136
Never Forget������������������������������������������������������������������������������������������������������������������������ 136
Message Driven������������������������������������������������������������������������������������������������������������������� 137
Read/Write Separation�������������������������������������������������������������������������������������������������������� 137
Partial Availability���������������������������������������������������������������������������������������������������������������� 138
Design Flexibility����������������������������������������������������������������������������������������������������������������� 138
Modularity��������������������������������������������������������������������������������������������������������������������������� 138
Testability���������������������������������������������������������������������������������������������������������������������������� 139
Amenability to Change�������������������������������������������������������������������������������������������������������� 139
Required Technologies�������������������������������������������������������������������������������������������������������������� 140
Append-Only Log����������������������������������������������������������������������������������������������������������������� 140
Pub/Sub Messaging������������������������������������������������������������������������������������������������������������� 141
Distributed Locking������������������������������������������������������������������������������������������������������������� 142
Database����������������������������������������������������������������������������������������������������������������������������� 142
Summary���������������������������������������������������������������������������������������������������������������������������������� 143

Part IV: Implementation...................................................................... 145


Chapter 14: Building with Modern Spring, Java, and PostgreSQL������������������������ 147
Required Technologies via PostgreSQL������������������������������������������������������������������������������������� 147
Advisory Locks�������������������������������������������������������������������������������������������������������������������� 148
LISTEN and NOTIFY�������������������������������������������������������������������������������������������������������������� 150
Schemas������������������������������������������������������������������������������������������������������������������������������ 152
Append-Only Log����������������������������������������������������������������������������������������������������������������� 153

x
Table of Contents

Java and the JVM���������������������������������������������������������������������������������������������������������������������� 153


GraphQL-Java��������������������������������������������������������������������������������������������������������������������������� 154
Spring Boot������������������������������������������������������������������������������������������������������������������������������� 155
Project Reactor������������������������������������������������������������������������������������������������������������������������� 156
R2DBC��������������������������������������������������������������������������������������������������������������������������������������� 157
jqwik����������������������������������������������������������������������������������������������������������������������������������������� 158
Putting It All Together���������������������������������������������������������������������������������������������������������������� 159
Summary���������������������������������������������������������������������������������������������������������������������������������� 162

Chapter 15: Expansion Points and Beyond����������������������������������������������������������� 163


Design Flexibility and Amenability to Change��������������������������������������������������������������������������� 163
Multiple Command Processors������������������������������������������������������������������������������������������������� 165
Command Processor State Caching������������������������������������������������������������������������������������������ 166
Parallel Event Materialization��������������������������������������������������������������������������������������������������� 168
Command and Event Logs As GraphQL Subscriptions�������������������������������������������������������������� 170
Using GraphQL for Inter-Process Communication��������������������������������������������������������������������� 172
Federated GraphQL������������������������������������������������������������������������������������������������������������������� 173
Outsourcing Distributed System Problems������������������������������������������������������������������������������� 175
Bitemporal Materialized Views������������������������������������������������������������������������������������������������� 177
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 178

Index��������������������������������������������������������������������������������������������������������������������� 181

xi
About the Author
Peter Royal is a practicing software developer with over 20
years of experience. A common thread has been working
on business applications, whether they are tracking legal
casework, domain-specific ERP suites, or financial trading
and risk management. He enjoys building tools for his
colleagues, working with them to meet their needs, and
providing solutions that bring joy rather than frustration.
He has come to appreciate pragmatic architectures and
development practices that enable systems to thrive for the
long term. He currently resides in Los Angeles, CA, with his
wife, daughter, and cat.

xiii
About the Technical Reviewer
Alexandru Jecan is a software engineer and author. He is working at Deutsche Bank as
Assistant Vice President in the area of investment banking. Alexandru also speaks at
programming conferences across Europe and the United States.
Alexandru is the author of the book Java 9 Modularity Revealed (Apress) and the
technical reviewer of the books Java Program Design (Apress) and Jakarta EE Recipes
(Apress).
His book Java 9 Modularity Revealed was featured during the keynote speech by
Mark Reinhold at the JavaOne Conference 2018 in San Francisco.
Alexandru lives with his wife Diana and his daughters Melissa and Mia in Berlin and
is currently studying for the Project Management Certification.
You can reach Alexandru at alexandrujecan@gmail.com.

xv
Acknowledgments
The ideas in this book are an amalgamation of concepts I have encountered over my
career, many of whose attribution is lost to time. I value everyone that takes the time to
write and share knowledge with others, knowing that they will never fully understand
the reach that they have.
To John Caruso and Gary Foster, for without your support and trust early on in my
career trajectory I would not have been here. To Paul Hammant, for being a source of
ideas, inspiration, and encouragement. To all my friends from the Apache Software
Foundation, especially the early Avalon and Cocoon communities, for being unknowing
mentors and shaping how to think about problems. To Snehal Chenneru and Michael
Li, for without your help and support we never would have built the system this book
is about.
Practicing the art of Brazilian jiu-jitsu has shaped my perspectives on continuous
learning, humility, and problem solving. To my teachers, Andre, Sandro, and Chris, your
methods for sharing knowledge have shaped mine.
This book would not exist if it were not for Jonathan Gennick reaching out to me and
asking me if I had ever thought about writing a book. You had the vision that there was
something worth sharing in a more durable form than a conference talk. You and your
team at Apress helped bring this book to fruition.
Trish, Poppy, and Pickles, thank you for your support while I spent nights and
weekends writing. You are the best.

xvii
Introduction
One of the first jobs I had was at a consulting firm where we were assisting a client
in how to modernize their software. The client had a successful business selling and
supporting a domain-specific ERP (Enterprise Resource Planning) system. It dated back
to the 1970s with code written in BASIC-2C targeting the Wang minicomputer. When
I entered the picture in the late 1990s the software was running on Windows via an
emulator, its text-based interface trapped in a window. The owner of the firm did not
want to get locked into a proprietary platform again. In a very forward-thinking move, we
were explicitly asked to create a web-based user interface and a Java-based backend.
As we incrementally migrated modules from the old system to the new one, we
received user feedback around the usability of the new interface. The text-based
interface of the old system allowed power users to quickly navigate around. The new
graphical interface did not initially have the same capabilities. We added extensive
keyboard shortcuts to make navigation easier, but the nature of the interface prevented
us from matching the experience of the old system. Existing users valued the system as it
was, while new customers were enticed by the new web-based interface.
This was an enlightening experience for me, how deeply the nature of my work
affected the work of others, and how attached people can be to the familiar. I was
attached to the familiar. While the new system we created used technologies and
techniques that were more modern than what the old system used, the paradigms were
fundamentally the same. In the two decades since I worked on that system, again the
technologies and techniques have changed, but the same paradigms live on. As I made
this observation and introspected the work I had done, I came to realize that there are
other ways to build systems. That’s what this book is about.
I start this book by defining and scoping business applications, and then my
perspectives on the status quo. The next part discusses architectural precepts that I
believe are appropriate for forward-looking systems and why business applications
should be built with them in mind. Business applications encode business rules, and
business rules can change over time. Understanding each of these is important, and
I dedicate a chapter to each. The third part of this book is my proposal for a modern
business application architecture. I describe my self-imposed constraints and the

xix
Discovering Diverse Content Through
Random Scribd Documents
By and by he said: “Hū; I am thirsty. I will go after some water for
myself.” “Don’t do it, chief; those that destroyed my village live
there. Go over to the corner and drink there like me, your mighty
grandfather, who am doing without anything else.”

Then he went thither. It was a swampy place, full of skunk cabbage.


And he turned around and defecated into it. And, after he had
defecated into it, he said to him: “Manure is floating about here in
it.” Then he said: “Alas! I wonder what I shall do.”

Then he said to him: “Hū; I am thirsty.” And he said to him: “Don’t


go, chief; the things that destroyed my village are there.” But,
without heeding him, he took the bucket and went for some. And,
after the water had flowed down four times, he took some.

He did not know what happened to him. To his astonishment he


came to himself sitting in its belly. Then he stretched himself in its
belly. He burst it, and bones burst out of its belly. He put the bones
together. If one leg was lost he repaired it with salmon-berry
bushes. He spit medicine upon them. At once they got up. He
revived the right side of the town.

Immediately after that the water flowed down continuously. Then he


got some in the bucket, went in, and said: “Grandfather, drink.” Then
he stretched his hand toward it. After he had looked at it for a while,
he turned away from it. He did not drink.

After [Supernatural-being-who-went-naked] had sat there for a


while, he said: “Hū, everywhere people eat things found at low tide.
I want some devilfish. I am going to get some devilfish.” “Do not do
it, chief; the thing that destroyed my village lives there.” But, without
listening to what was said, he started off.
In the corner of the house on the side toward the door were two
sticks for hunting devilfish. Then he took both. And he gave him the
following directions: “After he has shot water from his mouth four
times, punch in at him. That is the way to endeavor to kill him.”

Then he went. Something wonderful lived there. The supernatural


devilfish shot water at him, and it went right to the sky. After it had
shot out water four times, he punched it with a stick. But he
[218]found himself in its belly. Then he spit medicine upon himself
and stretched out in its belly. He burst it. The mother of outbursts of
human bones took place. Then he put the bones together, and part
were missing. And he repaired them with any common material.
Then he repaired their eyes in the same way and spit medicine upon
them. At once all went away. And he said: “When you get home,
walk about there.”

Then he dragged [the devilfish] along with the devilfish stick and
threw it inside the door. When he came in and sat down, Nᴀñkî′lsʟas
looked at him. As he was looking at him, Supernatural-being-who-
went-naked said: “Now, grandfather, look about upon your town.”

Now he took his cane and went out with it. He looked to the right.
To his great surprise something wonderful had happened. People
decorated with feathers and having their faces painted walked about
in rows. Then he also looked to the left. There things were in the
same condition. Then he entered.

When he came in he brought out a urinal. And he threw some white,


hard rock from a box on which his head rested into the fire. After he
had looked at it a while, and it had become red-hot, he put it into
the urinal. Then he put the end of a sharp-pointed thing, half blue,
half red, 15 into this and held part of the clothing he wore over his
nose.
Then he called for him. “This way, my son; come and sit near me.”
Then he went to him, and he pressed on his nose with the stick and
pressed it down. Now he took off the sea-bass, bullhead, and
tomcod spines from him. After he had finished doing it he fixed him
up. Then he brought out a comb and combed him from the top of
his head. And he looked down. Lo! land-otter fur was piled up below.
He did the same thing on the other side of him. Nᴀñkî′lsʟas pressed
something upon his nose with his fingers because Supernatural-
being-who-went-naked had the gā′gix̣ īt smell.

Then he combed his hair. He made it long, and he made two knots
of hair at his neck. He fastened them with a ribbon. He fixed him up
with the blue part [of his stick]. After he had been at it for a while
he poured water into a wash basin he owned and said to
Supernatural-being-who-went-naked: “Now, grandson, look at
yourself.” 23

Then he looked at himself. He had put on [a painting of] red mottled


[clouds] spotted with black, such as lie out on the sea. 24 He looked
at it and said “This is bad.” Then he wiped it off and put it into his
armpit. And, after he had put paint upon him for a while, he looked
at himself again. He had put on his face a red, striped [cloud], such
as lie toward the north. 24 And he did not like that. Now he put more
paint on him. He put broad stripes upon his face, like those on the
breast of a mallard. But he said that was good. He fixed him up,
because he had restored his town to life. And he gave him two sky
blankets. [219]

Then Nᴀñkî′lsʟas said to Supernatural-being-who-went-naked: “Now


you better go. The one your mind is troubled about lives near by.
When the servants come for water throw yourself into the water and
make yourself appear like one through whom worthless things come.
The ones coming first will not want to touch you; the last one will
take good care of you.”

Then he started and sat down by a water hole near Kaisun, 25 on the
west coast. After he had sat there a while they came after water.
Then they landed. They picked up the bucket. They came near him.
And, when they got near him, he made himself like those into whom
worthless things come and threw himself into the water. And he lay
floating about in it.

Then the one who came first threw herself backward. “Yuwai′yᴀ,
something is floating about in her water (i.e., the chief-woman’s).”
Then the middle one said: “Throw him out with a stick.” Now the last
one, who was lame, said: “Handle him carefully. After he has drunk
whale soup he will become stronger.”

Then they broke off the stalk of a salmon-berry bush and took him
out carefully. Now they got the water, and, after they had taken it
down to the canoe, they remembered him. The lame one brought
him in with a stick and put him in the bailing hole.

And after they had landed they carried up the water. They steamed
the whale. Again they forgot about him. Then she who was lame
thought of him and said: “We have forgotten about a crooked thing
which floated about in the chief-woman’s drinking water.”

Then the daughter of The-one-in-the-sea said: “Hurry and get him.”


And the lame one went and got him. She brought him up with a
stick. He was bent across the salmon-berry stalk. Then they had him
sit on the side toward the door. He warmed his hands at the fire.
Then they handed him whale soup, but, while he was reaching for it
and was moving it toward his mouth, he spilled it all. Then they all
laughed at him and gave him some more. The same thing happened
to that.
The chief-woman lived at Tcꜝī′da. 26 And next day they went fishing
with a net. They pulled in a whale. And they cut it up.

While they were away he warmed himself on the side of the house
toward the door a while and said: “Chief-woman, you [let me get
something].” Then she said to him: “Go and get what you are talking
about.” But he crept over to her. He touched the chief-woman. Then
she seized him on each side of his head near his ears and knocked
him against the floor planks, holding him by the hair. And she said to
him: “Go and sit on the side toward the door, you common thing.”
And he crept over there. Again he sat near the door.

After he had sat there for a while the chief-woman said to him,
making the sound of throwing out saliva between her teeth:
“Gîtgît, 27 the slave they say I am without, go and get firewood.”
Then he crept [220]out and came out of his skin outside. Then he
seized with both hands a spruce, good for burning and covered with
dead limbs mingled with green ones, which stood upon a knoll, and
he pulled it up, roots and all. Then he threw it down from the knoll.
It was broken in pieces below. Then he collected the pieces. And he
carried up the bark, crept in, and put it into the fire. He piled [the
wood] there, end up [in the usual way].

The servants had pulled in a whale. They were happy. Then, after he
had tried to communicate with the lame one for a while, he told her
about himself. “I have firewood for you back here. Go and get it. I
am Supernatural-being-who-went-naked. Do not tell any one about
me.”

Then the slaves were told to get firewood, and they brought it in.
And [the chief-woman] again made a noise with her lips. “I guess it
must have been Gîtgît who chopped down this firewood,” she 28 said
to him.
One day he crept out. He got out of his skin. Then he stopped
making himself old. He determined to marry the chief-woman.

Then he put upon his face the painting that Nᴀñkî′lsʟas had placed
there first. He put on his two sky blankets. And, after he had stood
there for a while, one of the servants came out. As soon as she had
looked at him, although still at a distance, she came toward him with
her arms stretched out. “No, no, no,” he said to her, and she went in
from him crying.

Then she said: “Come! look at Supernatural-being-who-went-naked


who stands just outside.” And another went out to him. He also
refused her. He refused ten. Then she who was lame went to him.
But he put his arm around her, and they stood there together.

By and by he entered and married the chief-woman. He stayed with


her for some time. Every evening there was a star at the rear of the
house. He thought nothing about it. One day something passing
under his pillow said: “Supernatural-being-who-went-naked, does
the eating of black cod stick you here?” 29 After some time had
passed without his having thought anything about this, it said the
same thing again.

One morning, as he still lay in bed with his wife, he asked to set a
net. And his wife said to him: “Wait until I explain to you. You have
not strength enough to let it out farther. They never let out more
than one.” 30

Then he took the net which was hung in a corner and went to the
point. Whales swam about in the water. He let out two [meshes].
Two were in it. And he could not pull it in. The other [meshes] were
also pulled into the water. All five were pulled in. Then he went
away. And where he lay he breathed hard [from the exertion].
Then his wife asked him: “Were the meshes of the net pulled out?”
[221]“Yes,” said he. Instead [of being angry] his wife laughed at him.
“That is all right, for I will go to my father and get it.” 31

The day after she went to her father by canoe. All of the servants
went along with the chief-woman. Supernatural-being-who-went-
naked also went. They started. After they had gone along for a
while, they came in sight of the town. Then they landed, and her
father came down to meet her. And he asked his daughter: “Why do
you come, chief-woman, my daughter?” “Why, father, we came after
the net.” “It is there in the house, chief-woman, my daughter.”

And he was glad to see Supernatural-being-who-went-naked. Then


they went in, and four hard white stones were put into the fire.
When they became red hot, they brought a tray made of white rock
out from the corner. They put them into it and placed it in front of
him.

Then his wife cried, “Hᴀn! hᴀn! every time I try to be happy (i.e., to
be married) you use this sort of weapon.” Then he told his wife not
to say a word. And, after he had swallowed his medicine, he picked
up one with a spoon and swallowed it. It even went through the
floor planks. He did the same with all four.

Then they gave him a wash basin. After his wife had also washed
her hands, they brought out five black cod. And she told her
husband not to eat them. “It is something different,” she said to him.
Then they put these in front of him, and, after he had sat there for a
while, she said: “He says that is not what it is.” Then [the servant]
put it back and they threw them out.

Then they put some more in front of him. Those, too, he did not eat.
And she said: “He says that that is also something different, father.”
Then they threw away the steaming box and brought another out,
and they brought out five more black cod. Then she said to her
husband: “They are black cod.” They cut them crosswise and
steamed them. When they were cooked, they put them into a dish.
And before they had taken these, she picked one up. “Take care of
the head and bones of this.” And she gave him another. She gave
him those parts of all five black cod.

And she said to her husband: “Do not let them go. He will take them
out from inside your clothing so that you will not feel it.” And she
asked him many times: “Have you the heads still?” “Yes, here they
are.” Next day they started off. Again she asked her husband: “Have
you the heads?” “Yes, here they are.” “Have you the black-cod
heads?” “Yes, here they are.” “Have you the black-cod heads?” “No-
o-o I wonder why He-who-has-spines-for-earrings turned round
smiling.” 32

Hu hu hu hu hu, great quantities of black cod were put into the


canoe. Then they landed and unloaded the black cod. And it was
evening, and they went to bed.

After many nights had passed, the something which had spoken
[222]under his pillow before he again heard going along and saying:
“Supernatural-being-who-went-naked, does the black cod stick you
here? Because you made Nᴀñkî′lsʟas’ town alive, he restored your
younger brothers to life by letting himself be born from your mother.
He sat early in the morning between rocks with white and black
bands. 33 Being in love with part of you, he has also come to you.”
And he looked out. Lo! he saw the tail of a marten pass in through
the star. 34

Then he went thither. To his surprise there lay a woman asleep with
Nᴀñkî′lsʟas with the upper part of her blanket fallen away leaving
her uncovered. Then he pressed upon her with his hands and she
said to him: “I used to want you, but lo! you got around late.”
And after that he sat down near the fire feeling unhappy. Then his
wife asked him: “Why are you so sad?” “I am sad because I left my
mother not far from here,” he said, deceiving her. Then he started.
He put black cod into his canoe and started off. Then he came into
Skidegate channel and reached his [younger] brothers’ town. Lo! his
eight younger brothers came down to meet him.

Then they went in. And his younger brothers only cared to have
Nᴀñkî′lsʟas for an elder brother. They did not care about
Supernatural-being-who-went-naked. Before they even gave food,
Supernatural-being-who-went-naked began to give them something
to eat.

Nᴀñkî′lsʟas had a bedstead in the rear of the house. Clouds were


over his head. They could not see his face. She (the wife of
Supernatural-being-who-went-naked) cut the black cod crosswise
and steamed them. Then they told Nᴀñkî′lsʟas to sit near the fire
and put down a wash basin for him. And the cloud upon his face
crossed [the room]. He sat there washing his hands. Then they set
black cod before him. They saw only his hands.

His younger brothers ate with him, but Supernatural-being-who-


went-naked sat with his wife on the side of the house toward the
door. Nᴀñkî′lsʟas did not walk down. The clouds rose. He was
fastened to them. Then the clouds rested with him behind the place
where the wash basin was.

Now, when they were through, the cloud rose with him, and his
body was again to be seen on the bedstead. Then he (Nᴀñkî′lsʟas)
called to his sister. After she had gone to him and he had talked with
her for a while, she went out. She brought in cranberries. The tray
had the figure of a gā′gix̣ īt upon it. After he had sat eating for a
while he stopped, and his younger brothers ate the rest.
Then she again put stones into the fire. Then they laid the wash
basin down again, and the clouds again rose with him. Again he
came down there and sat down, and they put black cod in front of
him. Then he ate with his younger brothers. At that time they did
not see his face. Then the wife of Supernatural-being-who-went-
naked was sad. [223]

They say that Nᴀñkî′lsʟas was in love with Gā′gix̣ īt woman in order
to restore the brothers of Supernatural-being-who-went-naked. In
order to restore the town of Supernatural-being-who-went-naked to
life he had let himself be born from the mother of Supernatural-
being-who-went-naked. Then the clouds rose. Again he sat up high.

Again [Nᴀñkî′lsʟas] called to his sister: “Sister, come to me,” and his
sister said: “Hū hū, always, when you send me after a thing, you are
going to give me something. By and by you take it away from me
again.”

Upon that he threw something down to her. It fell with a noise like
that of a drum. At once she went to get it. She covered it up with
her blanket. Then the wife of Supernatural-being-who-went-naked
recognized the thing she used to let her daughter have. 35

Then she cried: “Han-a han-a, I thought that I let only my daughter
have that.” Then her mother-in-law said to her: “Stop, chief-woman;
wherever the supernatural beings are settled they always wear it as
a crest. Chief-woman, it belonged to your husband’s sister and her
brother (Nᴀñkî′lsʟas). He is simply fooling her with the thing you are
talking about.” At once she stopped crying. She really saw it. But still
she believed what her mother-in-law said.

On the next day his brother’s wife again gave them black cod to eat.
When he sat up again he called to his sister. After he had talked to
her for a while she came down and sat near Supernatural-being-
who-went-naked, who sat with his wife. And she said: “He wants
something that he says your husband owns.” Then he did not know
what [Nᴀñkî′lsʟas] referred to.

By and by he thought of the skin of the wā′sg̣ o he had killed. Then


he ran toward the mouth of the inlet. And he pulled himself up to
the two cedar tops, between which he kept it, and pulled off the
wā′sg̣ o’s tail. Then he started back with it. He returned at once.

Then he said to his wife: “This must be the thing they speak about.”
Then she called her sister-in-law and gave the wā′sg̣ o tail to
Nᴀñkî′lsʟas. After he had looked at it for a while he put it on top of
his hat. It looked nice there. 36

At that time they again steamed black cod. And lo! the clouds again
arose. Then his younger brothers ate the black cod. Then his mind
was sick. Now she turned around and began weaving. After she had
done this for a while, lo! her brother-in-law had put himself around
her. He looked out at her from her clothing. She looked toward the
rear of the house for her brother-in-law. The form of Nᴀñkî′lsʟas still
sat up there. Then they lay there together. 37

But still she told her husband, Supernatural-being-who-went-naked,


not to be in love with anyone. “Do not go with anyone, or I will go
down to my father.”

Then her husband began getting water in a water-tight basket in


which floated a hawk feather. Every time he came back she pulled
[224]out the feather. Globular drops of water fell off, and she drank.
One time he lay with one he was in love with. And, when he came
home, his wife pulled out the feather. The water adhered to it.

Immediately she became angry. Her labret moved as if some one


had shaken it. Then she hunted in her box. At the same time her
tears fell as if something were poured out. Taking something out of
it she put it into her mouth. It was a white powder. She spit it upon
her hands and rubbed it on the soles of her feet. Then her husband,
who sat near her, took some that fell about. He at once rubbed it
upon the soles of his feet. She did this because she was going to
leave him.

Then she went down to the beach, and he followed her and went
away with her on the surface of the sea. She did not look at him.
Then she said to Supernatural-being-who-went-naked: “You better
go back from me before I look at you.” And he said: “What kind of
look is this dangerous look?” Then she looked toward him, and he
went right under water. There was not a sign of him. And she
entered her father’s house.

Then she said to her father: “Father, I made him fall in by looking. I
looked toward him. Come! try to fish him out.” Then her father
pulled apart the stone floor planks. He fished for him between them.
Then he pulled him out, with nothing but his joints holding together.
Then he spit medicine upon him, and he got up and went toward his
place.

And, after he arrived there, they sent for Master Carpenter. Then he
had a mountain placed upon ten canoes. And his younger brothers
were settled there one after the other. Then he put a sky blanket
upon his sister and seated her on the mainland. And he seated his
mother on the Haida country. 38

Now, he put on a dancing blanket and dancing leggings and started


along on land near his younger brothers [who were going along in
their canoe]. He bent over as he ran, and farther off he stood up
straight. In that way Supernatural-being-who-went-naked became
the Swamp-robin. 39 And his younger brothers lay still on the water
out at sea. People sometimes become shamans [by getting power]
out of that canoe.

Like the preceding this seems to be a strictly Haida story, although the gā′gix̣ īt
idea was also popular among the Tlingit of Alaska. This fact, together with its
length and complication and the insight it gives into the mythology of the Haida
people, render it one of the most interesting of all. One of the myths obtained by
me at Masset bore this same name, but resembled it only in the concluding
portion, the first part being like that of He-who-got-supernatural-power-from-his-
little-finger. [227]

1 That is, weak supernatural beings or powers acted through him, rendering him
also weak, unlike his elder brothers. ↑
2 The cry raised to summon opponents to a contest, especially to a trial of
strength or to a gambling contest. ↑
3 See preceding story, note 5. ↑
4 See preceding story, note 2. ↑
5 See preceding story, note 3. ↑
6 See preceding story, note 6. ↑
7 See preceding story, note 7. ↑
8 See preceding story, note 8. ↑
9 See preceding story of A-slender-one-who-was-given-away, note 3. ↑
10 The same inconsistency noted in the preceding story, note 9, is here
repeated. ↑ a b
11 Haida sqa′otcꜝîl, which is said to give the idea of a grouse with a red thing on
its back. This is a mountain between the abandoned coal mine, near the head
of Skidegate inlet, and the west coast. ↑
12 ʟꜝū means “wedge,” but I did not learn the meaning of the remainder of the
word. It is a mountain lying in the opposite direction farther down Skidegate
inlet. ↑
13 A low herb said to be found growing on dead trees, with leaves like clover, and
a bitter taste like that of pepper. ↑
14 The wrestling took place by a rock almost buried in the beach gravel at Gū′łg̣ a.
Presumably it was this rock into which the strange wrestler was transformed. ↑
15 Compare the preceding story, note 40. ↑ a b

16 Halibut hooks were usually made out of the stumps of limbs which had rotted
out of hemlock trees. Into these the monster was transformed. ↑
17 See the preceding story. ↑
18Supernatural beings hunt during the night and get home before ravens begin
calling. If they are detained in any way so that they hear the raven, they at
once fall dead. ↑
19 A man who just saved himself from drowning was supposed to be deprived of
his senses by land otters and become transformed into a creature called
gā′gix̣ īt. This being had land otter fur all over its body, an upturned nose, and a
face covered with fish spines. It traveled all over the Haida country with the
utmost ease. See my memoir in series of Jesup North Pacific Expedition, volume v,
part i, pages 26 and 27. It was owing to this transformation that he did not
recognize his own blankets when he felt of them. ↑ a b
20 This is the probable meaning of the word tcî′sgu. They are not found on the
Queen Charlotte islands. ↑
21 In reality this was Skidegate channel between Graham and Moresby islands, the
two largest of the Queen Charlotte group. ↑
22 This was Nᴀñkî′lsʟas, or Raven, the hero of the story of Raven Traveling. ↑
23 A bowl of water was the ancient Haida looking-glass. ↑
24 On the mornings of days that are going to be windy red streaks are seen in the
clouds which pass away quickly. This phenomenon is often referred to in the
stories, and one or both of the cloud designs here spoken of may represent it. ↑ a
b

25 One of the two west coast Haida towns, of which it was the older and the
greater favorite in the myths. Instead of a “water hole,” a creek named X̣ uadō′s
is sometimes mentioned. ↑
26 An island opposite Kaisun, prominent in story. ↑
27 Name given to a slave. “I am without,” because he was worthless. ↑
28 Said sarcastically. ↑
29 People who went to the west coast found the food supply so excellent, owing
especially to the presence of black cod, that they were loath to leave, and this
expression was applied to them. This is supposed to have been the first time it
was heard. ↑
30 I understand meshes to be here referred to. ↑
31 Everything that is thrown, or that falls, into the sea passes under the floor
planks of the house of The-one-in-the-sea, the greatest supernatural being in
the ocean. ↑
32 He-who-has-spines-for-earrings usually sits near the door of houses of the
supernatural beings, and can take away anything unbeknown to the owner.
Because he took away this black cod there are now none of these fish on the east
coast of the [226]Queen Charlotte islands. He is supposed to have stolen the black
cod heads from Supernatural-being-who-went-naked, and the latter, aware of this
fact, refers to it in the usual indirect way. ↑
33 Perhaps some magic is referred to. Otherwise the sentence is obscure. ↑
34This star was in reality the door of another room in which lived his present
wife’s daughter. Nᴀñkî′lsʟas was in love with her and the marten tail which
passed in there belonged to his marten cloak. ↑
35 This is probably the same as the round object obtained by Raven from Cape
Ball’s wife, and appears to have been the thunder or to have had power to
produce it. ↑
36 Apparently Raven adopted this as a crest, but among men the wā′sg̣ o belonged
to the Eagle side. ↑
37Raven was able to make it appear that he was in one place, when he had
actually moved. His form was seen upon the bedstead while he himself had
gone down to the woman. ↑
38Perhaps this is another story of the origin of the canoe people referred to in the
story of “Canoe people who wear head dresses.” The mother and daughter
became mountains. ↑
39 Or varied Thrush. Haida, sqꜝax̣ ia′o. ↑

[Contents]
He-who-was-born-from-his-mother’s-side

[Told by John Sky of Those-born-at-Skedans]

She was a chief’s child. She was a woman. 1 When she went out,
they braced the hanging door open for her, and she went out
frequently. 2 One day, when she came in, the stick slipped off, and
the edge of the door touched her upon the side and made her sore
there. By and by a hole appeared there, and, when the town people
came to know that, her father gave orders to abandon her. Next day
they left her.

Then she went down to the saltwater and washed her [sore]. There
she put medicine upon it. One day, when she was washing, some
bloody looking matter stuck out. And she was unable to pull it out.
Then she again put medicine upon it and crept up to the house.

Next day she crept down to the water again, and, while she was
washing it, she again pulled at it with her finger nails. Lo, she pulled
it out. Then she laid it upon a stone, and, after she had put medicine
on herself, picked it up and moved toward the house. Then she bent
pieces of cedar bark, placed it in them, and put it side of the house
outside.

Now she went to bed. While her back was turned to the fire a child
cried. Then she rose quickly and, without standing up, ran out. And
something inside the thing she had bent together was crying. She
looked. A child lay in it. And, after she had taken it out, she washed
it. Then she reared it. She had it as a companion.

And very soon he began to creep. Before he had eaten anything he


began to walk. One day he started to cry. He said: “Ha ʟ̣ ” 3 Then she
made a bow for him. She used a young hemlock limb. When it was
finished, she gave it to him. After he had looked at it he put it into
the fire. She made them for him out of all kinds of wood. Each time
he did the same thing.

By and by she made one for him out of real yew. Wā-ā-ā-ā-ā′, it
looked red. It was pretty. After he had looked at that, too, for a
while he threw it into the fire, and the blunt-pointed arrows along
with it.

Then she pounded out copper for him. She hammered a string on so
that it could not be removed. She also hammered out two arrows.
One had the figure of a weasel. The other had the figure of a mouse
on it. When she handed these to him he did not look at them. He at
once went off.

After he had been gone for some time, he brought in some wrens 4
[228]and said to his mother: “Pick and eat them.” Then his mother
picked them and steamed them. When they were cooked she ate
them. His mother tried to have him eat some. But he shook his
head. He absolutely refused.

Then he again went off. He came back. He brought many song


sparrows, 5 and his mother steamed them and ate. But he did not
eat. Next day he went off again. He brought in a number of
mallard, 6 and his mother plucked and singed them. She pulled them
apart and ate one.

And next day he started off again. He brought in a number of


geese. 7 He went off the next day. He brought a white porpoise, 8 and
he brought a hair seal. 9 The day after he brought a whale. 10 He had
stopped hunting birds.
Then he started off again. He stayed away longer than usual and
brought in many flickers. 11 Then he said to his mother: “After you
have skinned these, lay the sinews on one side.” Then his mother
skinned them and laid the sinews on one side. And, after she had
finished, she placed them together. She made five rows, and she
sewed them together with their own sinews. After she had finished
he shook it. The flickers upon it went flying back and forth.

Then he stretched his mother’s house. He set up two planks in the


rear of the house. Between them he hung the blanket.

Next day he went out and brought home woodpeckers. 12 Then she
treated those in the same way in order to make a blanket. After she
had finished he went to it and shook it. Upon that, too, the birds
flew about in a flock. Then he went to bed. He ate nothing all that
time. All that time he fasted.

Then he again set out. After he had stayed away longer than before
he brought in a bunch of tanagers. 13 Those, too, his mother made
[into a blanket]. When it was finished, he also went to that. He
shook it. Those also flew about upon it. He laid that, too, on top of
[the planks] in the rear of the house.

Next day he started off again and brought home a bunch of


sixᴀsʟdᴀ′lgaña. 14 Those his mother also sewed into a blanket. And,
when it was finished, he shook it. They flew about upon it. He laid
that upon [the planks] also.

The next day he went out again. [He got] blue jays, 15 and his
mother sewed those together.

After that he again started off. After he had been absent for some
time he returned with the daughter of He-who-travels-behind-us, 16
whom he had married.
After he had lived with her a while, one morning he continued to lie
abed. While he was still in bed, something went along under his
pillow talking. “He-who-was-born-from-his-mother’s-side, are you
[229]awake? Do you not feel that the supernatural beings, whom
people are afraid even to think of, are gathering together against
you?”

Then he ran out. He saw nothing. And he went out again. He pulled
along an old man and made him sit at the end of the town. That was
Heron, 17 they say.

One day he was again lying in bed. Then something passed under
his pillow saying the same words as before. Then he seized his bow
and went out. After he had looked about on the surface of the salt
water he glanced upward. A thunderbird flew about above the town.
It carried [his grandfather’s] town in its claws.

Then he went to the old man and said to him: “Grandfather, they are
coming after me.” “What is the bow of the canoe like?” “A
thunderbird is flying about above the town. He carries a town in his
talons.” And the old man said to him: “Now, brave man, shoot it with
arrows.”

Now he shot it with the one that had the figure of a mouse upon it,
and it dropped the town. Lo and behold! he (the thunderbird)
burst. 18 He put together their bones. If any of them was wanting, he
repaired it with salmon-berry bushes. Then he went home. He had
restored his grandfather’s town.

Again he lay in bed in the morning. Again something, passing


beneath his pillow, said: “He-who-was-born-from-his-mother’s-side,
are you awake? Do you not feel that the supernatural beings, whom
people are afraid even to think of, are coming together against you?”
Then he seized his bow quickly and ran out. And around a point at
one end of the town came ten canoes with red bows.

Then he went over to his grandfather. “Grandfather, they are coming


to fight with me by sea.” And his grandfather asked him what the
bows of the canoes looked like. He told him that the bows of the
canoes were red. “Now, brave man, have the town people pull
î′nłîñ 19 out of the ground and spread it before them.” And he did as
he had said. In a short time they rolled their eyes upward. Those
were the silver salmon, 20 they say.

Still another time, while he was lying down, something passing


under his pillow spoke the same words as before. Then he picked up
his bow and ran out. And he looked at those who were coming. The
bows of their canoes had vertical stripes.

Then he again went to his grandfather. “They are coming by sea to


fight with me.” And he said: “Stop! brave man, what are the bows of
their canoes like?” “The bows of their canoes have vertical stripes on
them.” “Now, brave man, have the town pull up î′nłîñ and throw it
about before them.” And so he had it done. At once their eyes were
rolled upward. They were the dog salmon, 21 they say. He-who-was-
born-from-his-mother’s-side made them cowards by putting î′nłîñ-
teeth 19 into their mouths. [230]

After another space of time had elapsed, something again said as it


had said before: “He-who-was-born-from-his-mother’s-side, are you
awake? Do you not feel that the supernatural beings, whom people
are afraid even to think of, are coming together against you?” Then
he picked up his bow and ran out. Again there were ten canoes with
red paintings on their bows.

Then he went to his grandfather. “They are coming after me by sea,


grandfather.” “Stop! brave man, what are the bows of their canoes
like?” “They have red paintings upon them.” Then he said to him:
“Have the urine in this town gathered together and hot stones put
into it. Then have it spilled about in front of them.” And so he did.
Those were the sand fleas, 22 they say.

By and by, something went along under his pillow, saying the same
thing it had said before, and he again laid hold of his bow. Again ten
canoes with their bows painted red were coming along.

Then he started off to his grandfather. “They are coming against me


by sea.” “What, brave man, what do the bows of their canoes look
like?” “The canoe bows have red paintings on them.” “Do the same
way you did when you destroyed the others.” Then he again spilled
urine around in front of them. Again their dead bodies lay around
thickly. These were the fleas, 22 they say.

And he again lay in bed. Something passed hurriedly under his


pillow. “He-who-was-born-from-his-mother’s-side, are you awake?
Do you not feel that the supernatural beings, whom people do not
even like to think of, are assembled against you?” He quickly took his
bow. He looked in the direction from whence they had always come.
Nothing was to be seen. Then he also looked upward. There was
nothing in sight. Then he looked toward the edges of the sky. Lo! a
great fire came toward him upon the surface of the ocean. 23

Then he went to the old man. “Grandfather, they are coming to me


by sea.” “What do the canoe bows look like?” “The edges of the sky
come burning.” “Alas! Alas! I wonder what will happen. Now, brave
man, scatter the bones of the town people about in front of the
town and stand the sides and ends of the grave boxes on their
edges in front of the houses. People always endeavor to stop it that
way, brave man.”
And, after it had come along burning for a while, it came to the
human bones. After some time had passed it burned through. It
burned through in another place. By and by it came landward faster,
without having been stopped. When it reached the sides and ends of
the grave boxes it stopped there also.

He put on his five blankets and put his mother in his armpit. His wife
he put in the knot in his hair. Then he walked about behind [the
boxes]. After some time those were also thrown down by the fire.
Immediately he started off. [231]

After he had gone toward the middle of this island for a while,
something said to him: “This way, grandson; my house is strong.” At
once he turned thither. He entered the house and sat down. While
he sat there the noise of burning sounded on top of his house. After
a while a red hole was burned through the roof of his house. Then
they pulled him up. They struck him from behind with their fists.
When he bent over to go out one of his blankets was burned off.
That was Fallen-tree-lying-with-one-end-in-the-water whose house
he was in.

After he had gone on for a while [something said]: “This way,


grandson; my house is strong.” Then he entered and sat down. The
roof of that was also burned through. Then they pushed him out.
When he was burned another blanket was burned off. That was
Yellow-cedar’s house, they say.

After he had run for some time longer something else called to him,
“This way, grandson; my house is strong.” He entered and sat down.
After it had burned on the roof of the house for a while there was
again a red hole there. Then they pushed him out. Another one was
lost. That was Yew’s house, they say.
After he had run about something else called him in. “Come in,
grandson; my house is strong.” And he went in and sat down. After
he had sat there a while there was again a red hole in the house.
Then they pushed him out. Another blanket was burned off. This
was Spruce’s 24 house, they say.

And, after he had gone some time longer, something called him in.
“This way, grandson; my house is strong.” He entered and sat down.
After he had sat there for a while there was another red hole in the
roof of the house. Then they drove him out with their fists. When he
bent down to go out, a blanket was burned off. His mother was also
burned away. That was Rock’s house, they say.

And, after he had gone on a while longer, something else called him
in, “This way, grandson; my house is very strong.” Then he went in
and sat down. The noise of fire was heard on the roof for a while,
and, when it stopped, he went out. That was Swamp’s house, they
say.

After he had wandered about upon this island for a while he heard
the sound of a hammer. He went thither. Lo! an old man was
repairing a canoe with cedar limbs. Where it had not had a crack he
split it with his wedge. He made holes about this with his gimlet and
sewed the place together again.

After he had looked at him a while, he stole his gimlet and went
under a clump of ferns with it. Then the old man hunted for his
gimlet. Then he put his finger nails into his mouth. Presently he said:
“Grandson, if it is you, come to me. News has come about you that
Burning-sky pursued you for your five blankets.”

Then he went to him. He gave him his gimlet. It was old and
[232]rotten, they say. Then he made one for him. He also gave him a
whetstone. Then he picked up two creeks near the town and told
him to look on attentively. “Now, grandfather, act as you are going to
when common surface birds 25 get food for themselves.” Then he
made him a beak out of the creeks. He also gave him some feather
clothing. And he said to him: “Now, grandfather, practice.” 26

So [Heron] flew away. He sat on a kelp floating about in front of the


burned town. After he had sat watching for a while he speared
something with his beak. An eel was moving in his mouth. He
swallowed it. Then he flew away again and sat near the canoe.

Then he said to him: “Now, grandson, come with me. Go out and
look for your blankets again. Those on the other side are not chiefs.
Now, grandson, go and get the canoe. You are going to see your
blankets.” The old man got into the stern also, and they went
oceanward.

They went, went, went a while and came to his town, to Burning-
sky’s town. Then they came down to meet him. Part of them also
filled the house as if something had poured into it. And they said to
one another: “They say he has brought his nephew, Sandhill-crane, 27
to dance.”

And he gave him these directions: “When I go in look toward the


rear of the house. After your poor nephew has danced go over and
get your blankets. And you will also get your mother neatly.”

Then he landed. He went up. And he had a little box in his hand. He
had a baton. When he got inside, he stretched himself. Lo! his
blankets were hung in the rear of the house. His mother also sat in
front of them. He sat down in the middle of the side of the house.
The house had ten rows of retaining timbers.

Then he hunted in his small box. He took his nephew out of it, wā-ā-
ā-ā-ā. And he stood him up. He began dancing. He took the end of
his wing in his mouth. After he had moved backward a while, the
people in the house [said] “S-s-s-s-s-s” [with pleasure]. Those on
the top step went to sleep at the sight.

After he had danced a while, he stuck his baton up, took [his
nephew] and threw him at it. At once he was a weasel 28 climbing up
on it. Again they said “S-s-s-s-s-s.” The next row went to sleep.

And he again picked him up and threw him at the baton. He became
a woodpecker 12 and climbed up it. Again those in the house said, “S-
s-s-s-s-s.” The next row below went to sleep.

By and by he picked him up again. He threw him at it. He climbed


up as a California creeper. 29 Again [they said], “S-s-s-s-s-s.” Again [a
row] went to sleep.

Then he took his baton and put it back into the box. “Enough. I
think he has danced a long time.” He put him away. Then He-who-
was-born-from-his-mother’s-side went to the rear of the house, put
on [233]his blankets, and took his mother. Then the old man went out
quickly. They got into the canoe and went off.

When they were halfway home it came burning after them again.
When it got near, he breathed toward it, and it stopped. Then they
came home, and he went up.

Again his five blankets were burned off, and his mother as well. He
reached for his wife. She, too, was gone. They took her away from
him to marry her, they say.

Then he wandered on aimlessly. After he had gone along a while he


let himself fall to the ground and wept. He looked toward the forest.
All the trees wept with him. Then he looked seaward. All the fishes
beneath its surface wept with him. Now he had his fill of crying and
went on again.

After he had wandered on for a while [he heard] some people


laughing and talking. And he went thither. They were trying to shoot
leaves off of a big tree. As soon as they had shot one down they ate
it. When he got there they moved back from it. “He-who-was-born-
from-his-mother’s-side is going to shoot,” they said.

Then he shot at it. He shot it near the base. It began to fall. He


made the supernatural beings rejoice by his shot. And he said, “Take
care of its eggs (seeds). I will let my cousin, Cloud-woman, take off
the head [of seeds].” 30 That was tobacco, they say.

Then they sent for her, and she came by canoe. She took all of its
eggs. These she began to plant. They were spread all over this
island.

This short story is given as if it were a purely Haida myth, but from an abstract of
another version obtained in 1878 by Dr. G. M. Dawson it would seem possible that
it came originally from the mainland. The abstract referred to runs as follows:

“Long ago the Indians (first people or ancient people—thlin-thloo-hait) had no


tobacco, and one plant only existed, growing somewhere far inland in the interior
of the Stickeen country. This plant was caused to grow by the deity, and was like a
tree, very large and tall. With a bow and arrows a man shot at its summit, where
the seed was, and at last brought down one or two seeds, which he carried away,
carefully preserved, and sowed in the following spring. From the plants thus
procured all the tobacco afterward cultivated sprung.” (Dawson’s Report on the
Queen Charlotte Islands, Montreal, 1880.) [235]

1 These two sentences, which sound ridiculous in English, are rendered


necessary here by the fact that Haida has only one personal pronoun for the
third person singular. ↑
2 The ancient doorway through the foot of the house pole was closed by a plank
hinged at the top. ↑
3 Ḷ indicates the shape of a bow. When a supernatural being was born he grew
up quickly, and soon cried for a bow, but would only be satisfied with one made
of copper. ↑
4 The Western Winter Wren (Troglodytes hiemalis pacificus, Baird). ↑
5 The Rusty Song Sparrow (Melospiza fasciata guttata, Nutt.). ↑
6 Anas boschas, Linn. ↑
7 The Canada Goose (Branta canadensis, Linn.). ↑
8 See the story of Sacred-one-standing-and-moving, note 2. ↑
9 Or Harbor Seal (Phoca largha, Pallas). ↑
10 Balænoptera retifera, Cope. ↑
11 The Northwestern Flicker (Colaptes cafer saturatior, Ridgw.). ↑
12 The name for all woodpeckers is the same. ↑ a b

13 Louisiana Tanager (Piranga ludoviciana, Wils.). ↑


14 I have not identified this bird. It is said to be small. ↑
15The word for blue jay here is rather unusual and is so nearly like that applied to
the kinglet (łtᴀ′ndjîget) that my interpreter may have made a mistake.
Generally the blue jay is called ʟꜝai′ʟꜝai. One of my native informants applied this
name to Steller’s Jay (Cyanocitta stelleri, Gmel.). ↑
16 His story comes next. ↑
17 A variety of the Great Blue Heron (Ardea herodias, Linn.). ↑
18 Letting out the bones of the inhabitants of this town whom he had swallowed.
Perhaps the story of how this town was destroyed should have preceded. ↑
19 A low plant with white seed vessels. There are said to be sharp points around
the bottom of its stalk, referred to as Î′nłîñ-tcꜝîñ or Î′nłîñ-teeth. ↑ a b
20 Or Cohoe (Onchorynchus kisutch, Walbaum). ↑
21 Onchorynchus keta, Walbaum. ↑
22 I do not know just what insects are referred to under the names of ku′ndax̣ uñ
and sqā′-i. ↑ a b
23 Compare the story of Łᴀguadjî′na. ↑
24 This is the commonest Haida tree, the word for spruce and that for tree being,
indeed, identical. ↑
25 That is, “human beings.” ↑
26 That is, he instructs Heron how he is to act in future times, or how men are to
see him. ↑
27 Grus mexicana, Mull. ↑
28 Haida, ʟga. ↑
29 Certhia familiaris occidentalis, Ridgw. This identification of the Haida name is a
little uncertain. ↑
30 The word for cousin indicates a woman of the other clan, which in this case
must have been the Eagle clan, the hero being himself a Raven. It would thus
seem that tobacco was supposed to have belonged originally to the Eagle clan. ↑

[Contents]
He-who-travels-behind-us (or Qonā′ts)

[Told by the Chief of Kloo of Those-born-at-Skedans]

There lay Pebble-town. 1 At times the town people fished for herring
with nets. Sometimes they got a porpoise in their nets. And, when
they reached home, the town chief sent a slave into the house of
him who had killed it and had him say: “The chief says you are not
to spill the blood of the porpoise upon the ground.” 2 In this way the
porpoises were often taken away. The chief treated the town people
as if they were his slaves.

And his nephew was a child. He saw that his uncles were treated like
slaves. He saw that, although they had been nearly starved for some
time, the chief took away the porpoises in the town from them. One
day he and his grandmother went away. After they had gone on for
some time they arrived at Telel. 3

Then they built a house there. And there he began to bathe for
strength. After he had bathed for some time he became strong.
Then he made a bow for himself. And he shot a goose with his
arrows. Then he skinned it and cut a hole on its under surface. He
put it on his head, and it fitted well. Then he dried it.

The geese being plentiful on the water, he put his head into [the
skin] and swam to them. From beneath he pulled them under water.
At once he twisted off their necks. He did the same thing to their
wings. Then he carried them to his grandmother, and his
grandmother plucked them. He at once dried them.

And one time he punched his nose with broken pieces of basket
work and let [the blood] run upon these. He used them to bait his
halibut hooks, and he took along wooden floats, laid his halibut
hooks upon them, and pushed them out into the sea. When they
were some distance out to sea, he jerked, the halibut hooks fell into
the water, and he pulled in halibut. He kept giving them to his
grandmother. 4

And one day he went down the inlet in search of something. After he
had gone on for a while some creature wearing a broad, blue hat
came to him. Then he asked him: “Where did you come from?” He
paid no attention to him. And again he asked him: “Where did you
come from?” Then he said to him: “[I came] From Qꜝᴀ′kun.” 5

And he had two duck skins 6 on his back, one of which had the top of
its head spotted with white. He seized one of them. He did not know
what happened to him. Lo! he came to himself lying upon the edges
of the retaining timbers in some house.

Then some one in the house said concerning him: “Throw him out.
[236]Throw the thing he wants out along with him.” Then he again
lost consciousness. When he came to himself he was lying near the
ocean. A whale lay near him.

Then he cut it open, twisted a young tree, and fastened it to it. And
he dragged it along and brought it before his grandmother’s house,
and his grandmother cut it up. After she had cut it all up she
steamed it. After she had got through hanging it up he had his
grandmother make a big basket. She finished it.

Then she put the food into it. She put in all kinds of berries, salmon,
roots, 7 and kinnikinic berries. And it was finished. Then he and his
grandmother went up the inlet. And he hid the basket near the
town. Then he entered his uncles’ house.
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!

ebookmass.com

You might also like