Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (2 votes)
13 views

Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor Pages, Angular, and Best Practices in .NET 6 1st Edition Anthony Giretti download

The document is a promotional description for the book 'Beginning gRPC with ASP.NET Core 6' by Anthony Giretti, which focuses on building applications using ASP.NET Core Razor Pages and Angular. It includes links to download the book and other related titles, as well as information about the author's background and the book's content structure. The book covers various aspects of .NET 6, gRPC fundamentals, and practical implementation in ASP.NET Core.

Uploaded by

thojetorku81
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 (2 votes)
13 views

Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor Pages, Angular, and Best Practices in .NET 6 1st Edition Anthony Giretti download

The document is a promotional description for the book 'Beginning gRPC with ASP.NET Core 6' by Anthony Giretti, which focuses on building applications using ASP.NET Core Razor Pages and Angular. It includes links to download the book and other related titles, as well as information about the author's background and the book's content structure. The book covers various aspects of .NET 6, gRPC fundamentals, and practical implementation in ASP.NET Core.

Uploaded by

thojetorku81
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/ 53

Beginning gRPC with ASP.

NET Core 6: Build


Applications using ASP.NET Core Razor Pages,
Angular, and Best Practices in .NET 6 1st
Edition Anthony Giretti pdf download
https://ebookmeta.com/product/beginning-grpc-with-asp-net-
core-6-build-applications-using-asp-net-core-razor-pages-angular-
and-best-practices-in-net-6-1st-edition-anthony-giretti/

Download more ebook from https://ebookmeta.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookmeta.com
to discover even more!

Pro ASP.NET Core 6: Develop Cloud-Ready Web


Applications Using MVC, Blazor, and Razor Pages 9th
Edition Adam Freeman

https://ebookmeta.com/product/pro-asp-net-core-6-develop-cloud-
ready-web-applications-using-mvc-blazor-and-razor-pages-9th-
edition-adam-freeman/

ASP.NET Core Razor Pages in Action 1st Edition Mike


Brind

https://ebookmeta.com/product/asp-net-core-razor-pages-in-
action-1st-edition-mike-brind/

Beginning Database Programming Using ASP.NET Core 3:


With MVC, Razor Pages, Web API, jQuery, Angular, SQL
Server, and NoSQL 1st Edition Bipin Joshi

https://ebookmeta.com/product/beginning-database-programming-
using-asp-net-core-3-with-mvc-razor-pages-web-api-jquery-angular-
sql-server-and-nosql-1st-edition-bipin-joshi/

Annual Review of Gerontology and Geriatrics Volume 39


2019 154th Edition Roland J Thorpe Jr Phd

https://ebookmeta.com/product/annual-review-of-gerontology-and-
geriatrics-volume-39-2019-154th-edition-roland-j-thorpe-jr-phd/
The Material Culture of Basketry Practice Skill and
Embodied Knowledge 1st Edition Stephanie Bunn

https://ebookmeta.com/product/the-material-culture-of-basketry-
practice-skill-and-embodied-knowledge-1st-edition-stephanie-bunn/

Mermaid Origin of Species Heather Renee

https://ebookmeta.com/product/mermaid-origin-of-species-heather-
renee/

A Dead Cousin Jessica Huntinton Desert Cities Cozy


Mystery 05 Anna Celeste Burke Et El

https://ebookmeta.com/product/a-dead-cousin-jessica-huntinton-
desert-cities-cozy-mystery-05-anna-celeste-burke-et-el/

Spice of Life A Cuckolding Story 1st Edition Casey


Brooks

https://ebookmeta.com/product/spice-of-life-a-cuckolding-
story-1st-edition-casey-brooks/

The Perfect Crimes of Marian Hayes - London Highwaymen


02 Cat Sebastian Et El

https://ebookmeta.com/product/the-perfect-crimes-of-marian-hayes-
london-highwaymen-02-cat-sebastian-et-el/
Adorn Where it ALL started Gone with The Rift 1 1st
Edition Jeanette Lynn

https://ebookmeta.com/product/adorn-where-it-all-started-gone-
with-the-rift-1-1st-edition-jeanette-lynn/
Beginning gRPC
with ASP.NET Core 6
Build Applications using ASP.NET
Core Razor Pages, Angular,
and Best Practices in .NET 6

Anthony Giretti
Beginning gRPC with
ASP.NET Core 6
Build Applications using ASP.NET
Core Razor Pages, Angular, and Best
Practices in .NET 6

Anthony Giretti
Beginning gRPC with ASP.NET Core 6: Build Applications using ASP.NET Core Razor
Pages, Angular, and Best Practices in .NET 6
Anthony Giretti
La Salle, QC, Canada

ISBN-13 (pbk): 978-1-4842-8007-2 ISBN-13 (electronic): 978-1-4842-8008-9


https://doi.org/10.1007/978-1-4842-8008-9

Copyright © 2022 by Anthony Giretti


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: Joan Murray
Development Editor: Laura Berendson
Coordinating Editor: Jill Balzano
Copyeditor: Bill McManus
Cover image designed by Freepik (www.freepik.com)
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, email 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 https://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 via the book’s product page at https://github.com/Apress/beg-grpc-w-asp.net-core-6.
Printed on acid-free paper
Table of Contents
About the Author����������������������������������������������������������������������������������������������������� ix

About the Technical Reviewer��������������������������������������������������������������������������������� xi


Acknowledgments������������������������������������������������������������������������������������������������� xiii
Introduction�������������������������������������������������������������������������������������������������������������xv

Part I: Getting Started with .NET 6������������������������������������������������������������������ 1


Chapter 1: Welcome to Modern .NET������������������������������������������������������������������������ 3
A Brief History of .NET������������������������������������������������������������������������������������������������������������������ 3
.NET Framework���������������������������������������������������������������������������������������������������������������������� 4
.NET Core��������������������������������������������������������������������������������������������������������������������������������� 5
.NET Standard�������������������������������������������������������������������������������������������������������������������������� 6
Modern .NET: A Unified Platform��������������������������������������������������������������������������������������������������� 7
Mono and CoreCLR������������������������������������������������������������������������������������������������������������������ 8
.NET Schedule and What It Means������������������������������������������������������������������������������������������������ 9
How to Explore .NET 6������������������������������������������������������������������������������������������������������������������� 9
.NET 5 and 6 Improvements�������������������������������������������������������������������������������������������������� 10
Get Started with .NET 6��������������������������������������������������������������������������������������������������������� 11
Recap of C# 9 and Introduction to C# 10������������������������������������������������������������������������������������ 17
Recap of C# 9������������������������������������������������������������������������������������������������������������������������ 17
Introduction to C# 10������������������������������������������������������������������������������������������������������������� 29
Summary������������������������������������������������������������������������������������������������������������������������������������ 31

Chapter 2: Introducing ASP.NET Core 6������������������������������������������������������������������� 33


ASP.NET Core Fundamentals������������������������������������������������������������������������������������������������������� 34
ASP.NET Core Web API����������������������������������������������������������������������������������������������������������������� 42
ASP.NET Core MVC���������������������������������������������������������������������������������������������������������������������� 53

iii
Table of Contents

ASP.NET Core Razor Pages���������������������������������������������������������������������������������������������������������� 59


ASP.NET Core Blazor������������������������������������������������������������������������������������������������������������������� 64
ASP.NET Core SignalR����������������������������������������������������������������������������������������������������������������� 72
ASP.NET Core gRPC��������������������������������������������������������������������������������������������������������������������� 76
ASP.NET Core Minimal APIs��������������������������������������������������������������������������������������������������������� 77
Summary������������������������������������������������������������������������������������������������������������������������������������ 81

Part II: gRPC Fundamentals�������������������������������������������������������������������������� 83


Chapter 3: Understanding the gRPC Specification������������������������������������������������� 85
Introduction to Remote Procedure Calls������������������������������������������������������������������������������������� 85
gRPC Concepts���������������������������������������������������������������������������������������������������������������������������� 87
Protocol Buffers��������������������������������������������������������������������������������������������������������������������� 87
gRPC Channel������������������������������������������������������������������������������������������������������������������������ 88
Types of gRPC Services��������������������������������������������������������������������������������������������������������� 91
Trailers����������������������������������������������������������������������������������������������������������������������������������� 93
gRPC Status��������������������������������������������������������������������������������������������������������������������������� 94
Deadline and Cancellation����������������������������������������������������������������������������������������������������� 95
gRPC Requests and Responses over HTTP/2������������������������������������������������������������������������ 95
Introduction to the HTTP/2 Protocol�������������������������������������������������������������������������������������������� 97
Multiplexing��������������������������������������������������������������������������������������������������������������������������� 98
Compression and Binary Data Transport������������������������������������������������������������������������������� 99
Flow Control�������������������������������������������������������������������������������������������������������������������������� 99
Server Push��������������������������������������������������������������������������������������������������������������������������� 99
Benefits, Drawbacks, and Use Cases������������������������������������������������������������������������������������������ 99
Benefits������������������������������������������������������������������������������������������������������������������������������� 100
Drawbacks��������������������������������������������������������������������������������������������������������������������������� 100
Use Cases���������������������������������������������������������������������������������������������������������������������������� 101
Summary���������������������������������������������������������������������������������������������������������������������������������� 102

Chapter 4: Protobufs��������������������������������������������������������������������������������������������� 103


About Protocol Buffers�������������������������������������������������������������������������������������������������������������� 103
Individual Declarations�������������������������������������������������������������������������������������������������������������� 104

iv
Table of Contents

Services Declaration����������������������������������������������������������������������������������������������������������������� 108


Messages Declaration��������������������������������������������������������������������������������������������������������������� 111
Scalar Type Values��������������������������������������������������������������������������������������������������������������� 113
Collections��������������������������������������������������������������������������������������������������������������������������� 113
Enumerations���������������������������������������������������������������������������������������������������������������������� 119
Nested Types����������������������������������������������������������������������������������������������������������������������� 122
Import Types������������������������������������������������������������������������������������������������������������������������ 122
Any, Value, Struct, Wrappers, Dates, and Times (Well-Known Types)����������������������������������� 123
Bytes������������������������������������������������������������������������������������������������������������������������������������ 137
One of���������������������������������������������������������������������������������������������������������������������������������� 141
Empty Messages����������������������������������������������������������������������������������������������������������������� 147
Comments��������������������������������������������������������������������������������������������������������������������������� 149
Summary���������������������������������������������������������������������������������������������������������������������������������� 151

Part III: gRPC and ASP.NET Core����������������������������������������������������������������� 153


Chapter 5: Creating an ASP.NET Core gRPC Application��������������������������������������� 155
Create an ASP.NET Core gRPC Application�������������������������������������������������������������������������������� 155
Create and Compile Protobuf Files�������������������������������������������������������������������������������������������� 160
Write, Configure, and Expose gRPC Services���������������������������������������������������������������������������� 165
Test Using gRPCurl and gRPCui Tools��������������������������������������������������������������������������������������� 180
gRPCurl�������������������������������������������������������������������������������������������������������������������������������� 180
gRPCui��������������������������������������������������������������������������������������������������������������������������������� 189
TLS Certificates������������������������������������������������������������������������������������������������������������������� 195
Manage Errors, Handle Responses, and Perform Logging�������������������������������������������������������� 196
Perform Message Validation����������������������������������������������������������������������������������������������������� 214
Support of ASP.NET Core gRPC on Microsoft Azure������������������������������������������������������������������� 219
Summary���������������������������������������������������������������������������������������������������������������������������������� 221

Chapter 6: API Versioning������������������������������������������������������������������������������������� 223


Version gRPC Services�������������������������������������������������������������������������������������������������������������� 223
Expose the Versions of Your Protobuf with ASP.NET Core Minimal APIs������������������������������������ 232
Summary���������������������������������������������������������������������������������������������������������������������������������� 237

v
Table of Contents

Chapter 7: Create a gRPC Client��������������������������������������������������������������������������� 239


Create a Console Application���������������������������������������������������������������������������������������������������� 240
Compile Protobuf Files and Generate gRPC Clients������������������������������������������������������������������ 244
Consume gRPC Services with .NET 6���������������������������������������������������������������������������������������� 252
Optimize Performance�������������������������������������������������������������������������������������������������������������� 268
Take Advantage of Compression����������������������������������������������������������������������������������������� 268
Define a Limit to Message Size������������������������������������������������������������������������������������������� 272
Keep HTTP/2 Connections Open������������������������������������������������������������������������������������������ 273
Increase HTTP/2 Maximum Connections����������������������������������������������������������������������������� 277
Get Message Validation Errors from the Server������������������������������������������������������������������������ 278
Summary���������������������������������������������������������������������������������������������������������������������������������� 281

Chapter 8: From WCF to gRPC������������������������������������������������������������������������������ 283


Differences and Similarities Between WCF and gRPC�������������������������������������������������������������� 283
What and What Not to Migrate from WCF to gRPC�������������������������������������������������������������������� 286
Summary���������������������������������������������������������������������������������������������������������������������������������� 298

Chapter 9: Import and Display Data with ASP.NET Core Razor Pages, Hosted
Services, and gRPC����������������������������������������������������������������������������� 299
Scenario Explanation���������������������������������������������������������������������������������������������������������������� 300
Create and Layer the ASP.NET Core gRPC Application�������������������������������������������������������������� 301
Set Up a SQL Server Database and Use Entity Framework Core to Access Data���������������������� 310
Set Up a SQL Server Database�������������������������������������������������������������������������������������������� 310
Using Entity Framework Core to Access Data��������������������������������������������������������������������� 311
Write the Business Logic and Expose the Country gRPC Microservice������������������������������������ 330
Write the Business Logic into the CountryService.BLL Layer���������������������������������������������� 330
Write the Country gRPC Service������������������������������������������������������������������������������������������ 332
Create and Layer the ASP.NET Core Razor Application�������������������������������������������������������������� 341
Create the Application Skeleton������������������������������������������������������������������������������������������ 342
Define Contracts and Domain Objects��������������������������������������������������������������������������������� 343
Implement the Data Access Layer with the gRPC Client����������������������������������������������������� 348

vi
Table of Contents

Implement the Business Logic Layer����������������������������������������������������������������������������������� 353


Configure the ASP.NET Core Razor Pages Application��������������������������������������������������������� 358
Upload a Data File with a Form, Display and Manage Data on Razor Pages���������������������������� 367
Summary���������������������������������������������������������������������������������������������������������������������������������� 385

Part IV: gRPC-web and ASP.NET Core��������������������������������������������������������� 387


Chapter 10: The gRPC-web Specification������������������������������������������������������������� 389
History and Specification of gRPC-web������������������������������������������������������������������������������������ 389
History of gRPC-web����������������������������������������������������������������������������������������������������������� 389
The gRPC-web Specification����������������������������������������������������������������������������������������������� 391
The gRPC-web JavaScript Libraries������������������������������������������������������������������������������������������ 392
gRPC-web vs. REST APIs���������������������������������������������������������������������������������������������������������� 393
Summary���������������������������������������������������������������������������������������������������������������������������������� 394

Chapter 11: Create a gRPC-web service from a gRPC-service with


ASP.NET Core������������������������������������������������������������������������������������� 395
Working with gRPC-web and the .NET Ecosystem������������������������������������������������������������������� 396
gRPC-web and ASP.NET Core 6������������������������������������������������������������������������������������������� 396
gRPC-web and All .NET Clients�������������������������������������������������������������������������������������������� 399
gRPC-web and ASP.NET Core 3+ Clients����������������������������������������������������������������������������� 402
Reworking the CountryService gRPC service for Browser Apps����������������������������������������������� 404
Support of ASP.NET Core gRPC-web on Microsoft Azure���������������������������������������������������������� 416
Summary���������������������������������������������������������������������������������������������������������������������������������� 417

Chapter 12: Import and Display Data with Angular 12 and gRPC-web���������������� 419
Introduction to SPAs������������������������������������������������������������������������������������������������������������������ 419
Generate TypeScript Stubs with Protoc������������������������������������������������������������������������������������� 421
Download the Correct Version of Protoc and Protobuf Well-Known Types�������������������������� 422
Download the ts-protoc-gen Plug-in����������������������������������������������������������������������������������� 426
Download Improbable’s gRPC-web Library and Google Protobufs Library�������������������������� 426
Executing the Protoc Command������������������������������������������������������������������������������������������ 426

vii
Table of Contents

Write Data Access with Improbable’s gRPC-web Client������������������������������������������������������������ 430


Upload a Data File and Display Data with TypeScript, a Web Worker, and gRPC-web�������������� 440
Manage Data with TypeScript and gRPC-web��������������������������������������������������������������������������� 450
Summary���������������������������������������������������������������������������������������������������������������������������������� 456

Part V: Security������������������������������������������������������������������������������������������� 457


Chapter 13: Secure Your Application with OpenId Connect���������������������������������� 459
Introduction to OpenId Connect������������������������������������������������������������������������������������������������ 459
Configure ASP.NET Core������������������������������������������������������������������������������������������������������������ 462
Use gRPCurl and gRPCui with a JWT���������������������������������������������������������������������������������������� 469
gRPCurl�������������������������������������������������������������������������������������������������������������������������������� 469
gRPCui��������������������������������������������������������������������������������������������������������������������������������� 471
Use a C# Client with a JWT������������������������������������������������������������������������������������������������������� 473
Use a gRPC-web Client with a JWT������������������������������������������������������������������������������������������ 476
Get User Identity Server Side���������������������������������������������������������������������������������������������������� 478
Summary���������������������������������������������������������������������������������������������������������������������������������� 478

Index��������������������������������������������������������������������������������������������������������������������� 481

viii
About the Author
Anthony Giretti is a senior lead software developer at OneOcean in Montreal, Canada.
He is a technical leader and four-time Microsoft MVP award recipient. Anthony
specializes in web technologies (17 years’ experience) and .NET. His expertise in
technology and IT, and a heartfelt desire to share his knowledge, motivates him to dive
into and embrace any web project, complex or otherwise, in order to help developers
achieve their project goals. He invites challenges such as performance constraints, high
availability, and optimization with open arms. He is a certified MCSD who is passionate
about his craft and always game for learning new technologies.

ix
About the Technical Reviewer
Fiodar Sazanavets is an experienced full-stack lead software
engineer who mainly works with the Microsoft software
development stack. The main areas of his expertise include
ASP.NET (Framework and Core), SQL Server, Azure, Docker,
Internet of Things (IoT), microservices architecture, and
various front-end technologies.
Fiodar has built his software engineering experience
while working in a variety of industries, including water
engineering, financial, retail, railway, and defense. He has
played a leading role in various projects and, as well as
building software, his duties have included performing architectural and design tasks.
He has also performed a variety of technical duties on clients’ sites, such as in-house
software development and deployment of both software and IoT hardware.
Fiodar is passionate about teaching other people programming skills. He has
published a number of programming courses on various online platforms.
Fiodar regularly writes about software development on his personal website,
https://scientificprogrammer.net. He has also published a number of articles on
other websites.

xi
Acknowledgments
The completion of this book could not have been possible without the participation and
assistance of many people and I would like to express my special thanks to them.
First, thanks to Camille Viot, my boss, for accommodating me so that I could
overcome this immense challenge.
Next, I would like to thank my friend Dave Brock (Madison, Wisconsin) for both
his moral but technical support; he was a great help when I felt overwhelmed by the
magnitude of the task. I also thank him for reviewing my chapters one by one—many
thanks for his contribution! Thanks also to Damien Vande Kerckhove for his technical
support, which allowed me to adjust the shot when I was not going in the right direction.
He was also an essential asset for ensuring this book was able to see the light of day.
I also thank all my family for their unwavering support. Finally, I would like to thank
a special member of my family that I unfortunately lost recently; he was there every night
next to me when I was writing my lines. Thank you, Ulysse, you helped me so much and
kept me company.

xiii
Introduction
Take a new technological turn with gRPC and ASP.NET Core while discovering .NET 6,
the latest release of the Microsoft .NET platform, and C# 10.
gRPC has become more and more famous because of its performance compared to
JSON/XML APIs. In this book, you’ll discover how to develop ASP.NET Core APIs with
the gRPC specification, and gRPC will no longer be mysterious to you.
After you discover how gRPC works, you’ll learn how to use it to build high-­
performance web applications with the best development standards. You’ll use gRPC
with various ASP.NET Core 6 project types such as Razor Pages and minimal APIs. You’ll
also discover gRPC-web and the great mix it does with Angular 12.
For Windows Communication Foundation (WCF) developers, you will learn how to
migrate from WCF to gRPC by comparing the similarities and differences between the
two frameworks.
We’ll also explore using gRPC and gRPC-web with OpenId Connect authentication
and authorization to secure your applications.
Let’s go!

xv
PART I

Getting Started with .NET 6


CHAPTER 1

Welcome to Modern .NET


.NET is 20 years old, having been introduced in 2002 with the release of the .NET
Framework, .NET 1. Since then, it has evolved with the needs of the computing industry
to become even faster, lightweight, and cross-platform. As I write this book, we are
at a crossroads, if you will, of the original .NET Framework and the newer .NET Core
framework coming together under one new .NET. Microsoft has recently released .NET 5
and .NET 6 in November 2021, and with it, you can build powerful web applications with
ASP.NET Core 6.
For those of you who are already .NET developers, feel free to skip this chapter. For
the rest of you, this chapter is designed to give you just enough history and background
to provide some foundation for your learning moving forward. We’ll cover the
following topics:

• A brief history of .NET

• Modern .NET, a unified platform

• .NET schedule and what it means

• How to explore .NET 6


• Recap of C# 9 and introduction to C# 10

A Brief History of .NET


A .NET application is developed for and runs in one or more implementations of .NET.
Implementations include the .NET Framework, .NET Core, Mono, .NET 5 and now
.NET 6. There is an API specification common to several implementations of .NET,
called .NET Standard. This section introduces these concepts.

3
© Anthony Giretti 2022
A. Giretti, Beginning gRPC with ASP.NET Core 6, https://doi.org/10.1007/978-1-4842-8008-9_1
Discovering Diverse Content Through
Random Scribd Documents
koriste. Karle heilautti silloin kirveensä sitä kohti ja iski poikki
niskasta nauhan, johon koriste oli kiinnitetty. Isku oli niin voimakas,
että Jomalen pää putosi alas;, siitä syntyi niin suuri rysähdys, että se
oli kaikkien mielestä merkillistä. Karle otti koristeen; sitten he lähtivät
pois. Mutta samalla hetkellä, kun rysähdys oli tapahtunut, tulivat
vartijat aukeamaan ja puhalsivat heti torviinsa. Sitten kuului
torventoitotusta joka taholta. He riensivät metsän rantaan ja
metsään, mutta kuulivat takaa aukeamalta päin huutoa ja melua;
permalaiset olivat tulleet sinne. Tore Hund kulki miehistään
viimeisenä. Kaksi miestä kulki hänen edellään säkkiä kantaen; siinä
oli jotain tuhkan tapaista. Tore otti sitä käteensä ja kylvi sitä
jälkeensä; joskus heitti hän sitä miesten päälle. Niin he tulivat
metsästä niittymaille. He kuulivat permalaisten sotajoukon rientävän
heidän jälkeensä huutaen ja ilkeästi ulvoen. He syöksivät heidän
jälkeensä metsästä ja samoin molemmin puolin heitä; mutta eivät
missään permalaiset tai heidän aseensa tulleet heitä niin lähelle, että
siitä olisi ollut haittaa, ja siitä he päättivät, ett'eivät permalaiset heitä
nähneet. Mutta kun he tulivat laivoille, astuivat Karle ja Gunstein
ensiksi laivaan, sillä he olivat matkalla olleet ensimäisinä, mutta Tore
jäi maihin kauas jälelle. Niinpiankun Karle ja hänen miehensä tulivat
laivaansa, purkivat he teltat, ja irroittivat köydet, joilla laiva, oli
kiinnitetty maihin; sitten nostivat he purjeensa ja laiva eteni nopeasti
merelle.

Mutta Toren ja hänen miestensä lähtö tapahtui myöhemmin;


heidän laivansa ei ollut niin helposti hoidettavissa. Mutta kun he
pääsivät purjehtimaan, oli Karlen laiva jo tullut kauvas maista. Niin
he molemmat purjehtivat Gandvikin [Valkea meri] poikki; yö oli vielä
valoisa. He purjehtivat siis yötä päivää, kunnes Karle eräänä iltana
laski maihin muutamien saarien luona; he laskivat purjeen,
ankkuroivat ja odottivat veden laskeutumista, sillä heidän edessään
oli suuri akanvirta [Svjatoi Nosin (pyhän niemen) luona]. Silloin tuli
siihen Toren laiva; hekin ankkuroivat. Sitten työnsivät he venheen
vesille; siihen astui Tore ja hänen kanssaan muutamia miehiä, ja he
soutivat Karlen laivaan. Tore nousi laivaan. Veljekset tervehtivät
häntä ystävällisesti. Tore pyysi Karlea antamaan hänelle koristeen:
"Minusta näyttää kohtuulliselta, että minä saan ne kalleudet, jotka
siellä otettiin, sillä minun ansioni oli, että pääsimme pakoon ilman
mieshukkaa; mutta sinä, Karle, olisit saattanut meidät pahimpaan
onnettomuuteen." Silloin sanoo Karle: "Kuningas Olavi omistaa
puolet saaliista, minkä minä voitan tällä retkellä; aion luovuttaa
koristeen hänelle. Mene hänen luoksensa, jos mielesi tekee;
mahdollisesti antaa hän sinulle koristeen, joll'ei itse tahdo sitä pitää,
sillä minä otin sen Jomalelta." Silloin vastaa Tore ja sanoo
tahtovansa, että on noustava maihin saareen saalista jakamaan.
Gunstein sanoo, että nyt on veden vaihtumisen aika ja että on
lähdettävä purjehtimaan. Sitten vetävät he ylös peräköytensä. Mutta
kun Tore näki sen, astui hän venheeseensä; he soutivat laivaansa.
Karlen miehet olivat nostaneet purjeensa ja olivat jo tulleet kauas,
ennenkun Toren miehet olivat saaneet purjeensa ylös.

Nyt kuljettiin niin, että Karlen laiva purjehti aina edellä, ja


molemmin puolin purjehdittiin mikä suinkin voitiin. Sillä tavalla tehtiin
matkaa, kunnes tultiin Geirsväriin [nykyinen Gjesvär, kalastuskylä
luoteeseen päin Mageröstä, lähellä Nordkapia]; se on ensimäinen
valkama pohjoisesta päin tultaessa. Sinne saapuivat molemmat laivat
eräänä iltana ja asettuivat satamaan. Toren laiva oli sisäsatamassa,
mutta Karlen oli sataman ulkopuolisessa osassa. Mutta kun Toren
miehet olivat laittaneet telttansa, lähti hän maihin yhdessä useiden
miestensä kanssa, ja he menivät Karlen laivaan; he olivat
laittautuneet valmiiksi. Tore huusi laivaan ja pyysi johtajia tulemaan
maihin. Veljekset lähtivät maihin, mukanaan muutamia miehiä.
Silloin rupesi Tore puhumaan samaa kuin ennen, pyytäen heitä
tulemaan maihin ja kantamaan jaettavaksi sen mitä sotaretkellä oli
saatu. Veljekset sanoivat, ett'ei se ollut tarpeellista, ennenkun oli
saavuttu kotiin. Tore sanoo, ett'ei ole tapana jättää jakamatta,
kunnes on tultu kotiin, ja niin panna koetukselle ihmisten
rehellisyyttä. He vaihtoivat siitä muutamia sanoja, ja kumpainenkin
puoli pysyy kannassaan. Silloin lähti Tore pois, mutta kun oli tullut
jonkun matkan päähän, käännähti hän ja käski väkensä odottamaan
siinä. Hän huutaa Karlelle: "Tahdon puhutella sinua kahden kesken",
sanoo hän. Karle meni häntä vastaan. Mutta kun he kohtasivat
toisensa, iski Tore keihään hänen ruumiiseensa niin, että se meni sen
läpi. Karle kuoli kohta, mutta Tore miehineen palasi laivaansa.
Gunstein ja hänen miehensä näkivät Karlen kaatuvan; he juoksivat
heti luo ja ottivat ruumiin ja kantoivat sen laivaansa. He ottivat heti
teltat alas ja vetivät pois lautaportaan ja työnsivät laivan maista;
sitten he nostivat purjeen ja menivät menojaan. Tore ja hänen
miehensä näkivät sen, he purkivat telttansa ja laittautuivat pian
valmiiksi. Mutta purjetta nostettaessa meni taaki rikki ja purje putosi
alas poikkiteloin laivaan; se viivytti kauan Toren miehiä, ennenkun he
toisen kerran saivat purjeen ylös.

Gunsteinin laiva oli ehtinyt pitkälle, ennenkun Toren laiva pääsi


liikkeelle. Toren miehet sekä purjehtivat että soutivat, ja samoin
tekivät Gunsteinin. He kulkivat molemmat niin kiihkeästi kuin suinkin,
yötä päivää. Kesti kauan, ennenkun he yhtyivät, sillä niinpiankun
tultiin saarien salmiin, oli Gunsteinin laivan helpompi päästä tieltä,
mutta kuitenkin pysyttelihe Toren laiva perässä, niin että kun
Gunsteinin miehet tulivat Lengjuvikiin [nykyinen Lenvik], pujahtivat
he siellä maihin ja juoksivat pois laivastaan; mutta vähää
myöhemmin tulivat Toren miehet sinne ja juoksivat heidän jälkeensä
ja ajoivat heitä takaa. Muuan nainen sai autetuksi Gunsteinia ja
piilotetuksi hänet, ja niin on sanottu, että hän oli hyvin taitava
tekemään taikoja. Toren miehet menivät takaisin laivaan ja ottivat
kaiken tavaran, joka oli Gunsteinin laivassa, ja panivat kiviä sijaan;
he siirsivät laivan lahden ulapalle, hakkasivat reikiä siihen ja
upottivat sen. Sitten purjehti Tore miehineen kotiinsa Björköhön.
Gunstein ja hänen miehensä kulkivat ensin hyvin salaisesti, siirtyivät
eteenpäin pikku venheissä ja olivat liikkeellä öiseen aikaan, mutta
pysyivät paikoillaan päivällä; sillä tavalla he kulkivat, kunnes tulivat
Björköhön ja pääsivät pois Toren alueelta. Gunstein meni ensin
kotiinsa Langöhön, mutta viipyi siellä vain vähän aikaa. Sitten lähti
hän etelään päin eikä pysähtynyt, ennenkun tuli Trondhjemiin, ja
tapasi siellä Olavi kuninkaan ja kertoi hänelle, mitä oli tapahtunut
Perman retkellä. Kuningas oli pahoillaan heidän matkastaan, mutta
pyysi Gunsteinia jäämään luokseen ja sanoi, että hän tulee
antamaan tuomionsa hänen asiassaan, niinpiankun saa siihen
tilaisuuden. Gunstein suostui siihen ja jäi nyt Olavi kuninkaan luo.

*****

Eräänä päivänä kutsuu Olavi kuningas puheilleen Finn Arnenpojan


ja vielä useita muitakin miehiä, joita hänellä oli tapana pitää läsnä
neuvotteluissaan. Silloin ryhtyi Olavi kuningas puhumaan ja sanoi:
"Se päätös on nyt vakaantunut mielessäni, että minä keväällä aion
vaatia sekä väkeä että laivoja ja sitten koko saamallani sotajoukolla
lähteä Knut mahtavata vastaan. Nyt sanon sinulle, Finn Arnenpoika,
että sinun on mentävä lähettiläänäni pohjoiseen päin,
Haalogalandiin."

Finnin matkalta on mainittava, että hänellä oli pursi ja siinä noin


30 miestä. Finn lähetti miehiä Björköhön Tore Hundin luo vaatimaan
sotaväkeä sieltä niinkuin muualtakin. Mutta kun kuninkaan lähettiläs
tuli Toren luo, valmistautui tämä matkalle ja otti talonsa väestä
miehistön samaan laivaan, joka hänellä edellisenä kesänä oli ollut
Perman retkellä; sen varusti hän omalla kustannuksellaan. Finn
kutsui Vaaganiin kaikki ne haalogalantilaiset, jotka olivat pohjoisesta
päin; niin kokoontui sinne keväällä suuri joukko ja ne odottivat kaikki
siellä Finnin saapumista; myöskin Tore Hund oli tullut. Mutta kun
Finn saapui, soitatti hän koolle kaiken sotaväen käräjiin ja niissä
käräjissä näyttivät miehet aseensa. Mutta kun se oli toimitettu, sanoi
Finn: "Sinulta kysyn, Tore Hund, minkä tarjouksen aiot tehdä
kuningas Olaville siitä, että tapoit Karlen, hänen miehensä, ja siitä,
että ryöstit kuninkaan tavaran Lengjuvikissä? Minulla on kuninkaan
valtuus siinä asiassa; mutta nyt tahdon kuulla sinun vastauksesi."
Tore katsahti ympärilleen ja huomasi, että molemmin puolin seisoi
monta täysin asestettua miestä; hän tunsi Gunsteinin ja monta
muuta Karlen sukulaista. Silloin sanoi Tore: "Tarjoukseni on pian
tehty, Finn, minä jätän asiani kuninkaan tuomittavaksi, mitä hän
minulta vaatii." Finn vastaa: "Näyttää eniten luultavalta, että sinulle
ei suoda niin suurta kunniaa, sillä nyt on sinun jätettävä asiasi minun
tuomittavakseni, jos tahdot saada sen sovituksi." Tore sanoo:
"Silloinpa olen sitä mieltä, että asia on joutunut hyviin käsiin enkä
minä aio vetäytyä pois."

Sitten luettelee Finn sovinnon ehdot, että Toren oli suoritettava


kuninkaalle kymmenen naulaa kultaa, ja Gunsteinille ja hänen
sukulaisilleen toiset kymmenen naulaa, ja ryöväyksestä ja tavaran
menettämisestä kolmannet kymmenen naulaa. "Mutta sinun on
maksettava nyt heti", sanoo hän. Tore sanoo: "Tämä on suuri
rahasakko." — "On toinenkin ehto, se, että muutoin on kaikki sovinto
lopussa", sanoi Finn. Tore sanoo, että Finnin oli annettava hänelle
sen verran aikaa, että hän ehtii lainata seuralaisiltaan. Finn vaati
häneltä suoritusta heti paikalla ja mainitsi sitä paitsi, että Toren olisi
luovutettava se suuri kaulakoriste, jonka hän oli ottanut kuolleelta
Karlelta. Tore sanoi, ett'ei hän ollut ottanut mitään kaulakoristetta.
Silloin astui Gunstein esiin ja sanoi, että Karlella heidän erotessaan
oli ollut koriste kaulassaan, "mutta kun me otimme hänen ruumiinsa,
oli se poissa." Tore sanoi, ett'ei hän ollut huomannut koristetta,
mutta jos meillä on jotain koristetta, niin kai se on kotona Björkössä.
Silloin laski Finn keihään kären Toren rintaan ja vaati koristetta esille;
Tore otti silloin koristeen kaulastaan ja antoi sen Finnille.

Sitten meni Finn laivaansa ja purjehti pois. Tore lähti myöhemmin


satamasta; mutta kun hän sai purjeensa pystyyn, ohjasi hän ulos
merelle ja purjehti Englannin merelle ja tuli Englantiin, jossa Knut
kuningas otti hänet ystävällisesti vastaan. Silloin kävi selville, että
Torella siellä oli paljon irtainta; hänellä oli siellä kaikki ne tavarat,
jotka hän ja Karle olivat ottaneet Permanmaalta. Finn Arnenpoika
saapui joukkoineen Olavi kuninkaan luo ja kertoi matkastaan ja sanoi
vielä luulevansa, että Tore oli lähtenyt pois maasta ja mennyt
Englantiin, "ja minä luulen, että hän tuottaa meille vielä paljon
vahinkoa." Kuningas sanoi: "Minäkin luulen, että Toresta on tuleva
meille vihamies, mutta minä luulen aina paremmaksi, että hän on
meistä kaukana kuin meitä lähellä."

(Snorrc Sturlason: Olavi pyhän taru.)


TYTTÄREN KOSTO.

Oli suuri sotilas nimeltä Agne, kuuluisa ja mahtava kuningas ja kaikin


puolin tarmokas mies. Eräänä kesänä purjehti hän sotajoukkoineen
Suomeen, nousi maihin ja hävitti maata. Suomalaiset kokosivat
suuren joukon ja lähtivät taisteluun; heidän päällikkönsä nimi oli
Froste. Syntyi suuri taistelu, mutta Agne kuningas sai voiton; Froste
kaatui ja paljon muita hänen kerallaan. Agne kuningas kiersi Suomen
maata, valloitti sen ja otti suuren sotasaaliin; hän otti mukaansa
Frosten tyttären Skjaalvin ja tämän veljen Logen.

Mutta kun hän tuli kotiinsa länsimaille, laski hän maihin


Stoksundissa [Stoksund on nykyinen Tukholman Norrström Mälarin
ja meren välillä] ja pystytti telttansa metsäiselle rannalle.

Kuninkaalla oli kaulassaan kultainen koriste. Hän meni ottamaan


Skjaalvia omaksensa. Tämä pyysi kuningasta viettämään juhlaa
hänen isävainajansa muistoksi. Kuningas kutsui silloin luokseen
monta suurmiestä ja pani toimeen suuret pidot. Hänen maineensa oli
kasvanut paljon tästä retkestä. Pidettiin siis suuret juomingit.

Mutta kun kuningas oli juopunut, pyysi Skjaalv häntä varomaan


koristetta, joka hänellä oli kaulallaan. Kuningas otti koristeen ja kiersi
sen kaulaansa, ennenkun meni maata.

Makuuteltta oli metsän rinnassa suuren puun alla, joka suojasi sitä
auringolta. Kun Agne kuningas oli vaipunut uneen, otti Skjaalv
paksun nuoran ja kiinnitti sen koristeeseen. Hänen miehensä löivät
samalla teltan kannattimet alas ja nakkasivat nuoran puun oksaan ja
kiskasivat sitten niin, että kuningas jäi riippumaan melkein oksien
tasalle, ja se oli hänen loppunsa.

Skjaalv ja hänen miehensä juoksivat muutamaan laivaan ja


soutivat pois.
Agne kuningas poltettiin sitten siinä, länsipuolella Stoksundia.

(Ynglingataru.)

Gunhild ja lappalaiset.

Erik Haraldin poika purjehti pohjoista kohti Finnmarkeniin ja aina


Perman maahan saakka, taisteli siellä suuren taistelun ja sai voiton.
Kun hän tuli takaisin Finnmarkeniin, saivat hänen miehensä käsiinsä
eräässä kodassa naisen, jonka vertaista kauneudessa he eivät olleet
nähneet. Hänen nimensä oli Gunhild ja hän sanoi, että hänen isänsä
asui Haalogalandissa ja oli nimeltään Assur Tote.

"Olen ollut täällä", sanoi Gunhild, "oppimassa taikatietoja niiltä


kahdelta lappalaiselta, jotka ovat taitavimmat täällä Finnmarkenissa.
He tahtovat molemmat naida minut. He ovat niin taitavia, että
seuraavat jälkiä myöten kuin koirat, sekä leudolla säällä että
hankiaisella, ja he hiihtävät niin hyvin, ettei mikään voi päästä heitä
pakoon, ei ihminen eikä eläin, ja he osuvat kaikkeen, mihin ampuvat.
Niinpä he ovat tappaneet jokaisen, joka on lähestynyt tätä paikkaa,
ja jos he vihastuvat, niin pyörii maa heidän silmäinsä edessä, ja jos
mikä elävä olento tulee heidän katseensa piiriin, niin se kaatuu
kuolleena maahan. Elkää nyt millään muotoa joutuko heidän tielleen,
minä piilotan teidät tähän kotaan. Koettakaamme, saammeko heidät
hengiltä."

He suostuivat siihen, että hän piilottaisi heidät. Hän otti säkin, ja


miehistä näytti kuin siinä olisi ollut tuhkaa. Gunhild pisti kätensä sen
sisään ja kylvi sitä sekä kodan ulkopuolelle että sen sisään.

Hetken kuluttua tulivat lappalaiset kotiin; he kysyivät, ketä tänne


on tullut, mutta hän vastaa, ettei tänne ole tullut ketään. Se oli
lappalaisista merkillistä, kun he olivat seuranneet jälkiä kodalle
saakka eivätkä sitten löydäkään mitään.

Sitten tekevät he tulen ja laittavat ruokaa, mutta kun he ovat


syöneet kyllänsä, valmistaa Gunhild vuoteensa. Ja niin oli tapahtunut
tätä ennen kolmena yönä peräkkäin, että Gunhild oli nukkunut,
mutta miehet olivat valvoneet ja vartioineet toisiansa
mustasukkaisuudesta.

Nyt sanoo Gunhild: "Tulkaahan tänne ja paneutukaa toinen toiselle


puolelle minua." He ilostuivat siitä ja tekivät niin. Hän kietoi käden
kummankin kaulaan. He nukkuvat heti, mutta hän herättää heidät, ja
taas he nukkuvat heti ja niin sikeästi, että hän tuskin saa heidät
herätetyksi; ja taas he nukkuvat ja silloin hän ei saa heitä ollenkaan
hereille. Hän nostaa heitä ylös, mutta he nukkuvat yhä.

Silloin ottaa hän kaksi suurta hylkeen nahkaa ja vetää ne heidän


korviinsa ja sitoo ne lujasti kainalojen alta. Sitten hän antaa merkin
kuninkaan miehille, he hyökkäävät esiin ja iskevät lappalaiset
kuoliaaksi ja vetävät heidät ulos kodasta.

Seuraavana yönä oli niin ankara ukkonen, etteivät he voineet


purjehtia pois, mutta aamulla menivät he laivalle, otettuaan
Gunhildin mukaansa, ja veivät hänet Eerikin luo. Eerik purjehti hänen
kanssaan Haalogalandiin; hän meni Assur Toten luo ja sanoi
tahtovansa hänen tyttärensä omakseen. Assur suostui siihen ja niin
sai Eerik Gunhildin ja vei hänet mukanaan etelään.

(Harald Haarfagerin tavu.)


RUOTSILL' OLI VASTUS SUUR'.

Ruotsill' oli vastus suur' karjalaisista vaiva juur'; he meren yli


tulit Mälariin, tyynell' ja myrskyll' liikuit siin'; he Ruotsin
saaristoon pujahdit sotajoukoll' uljaall' useinkin. Kerran johtui
heille mielehen, ett' he Sigtunan kaupungin polttaisit. Ja he
poltit sen niin täydellisest' ei nouse se koskaan totisest.
Juhana arkkipiispa tapettiin siellä, siitä moni pakana on
hyvällä miellä, kristittyin vahingost' iloita mahtaa nyt Karjalan
kansa ja Venäjän valta.

(Ruotsin vanha riimihronihka.)


VIIKINGIT SUOMENSUKUISTEN
KIMPUSSA.

Sinä kevännä hankkivat Torolf ja Egil itselleen miehiä ja varustivat


suuren pitkälaidan. Kesän tultua he lähtivät sotaretkelle itäänpäin ja
hävittivät maita, olivat monessa taistelussa ja saivat paljon saalista.
He suuntasivat kulkunsa Kuurinmaahan ja solmivat puolen
kuukauden välirauhan asukkaiden kanssa. Heillä oli kauppakokous
heidän kanssaan. Kun se oli päättynyt, alkoivat he hävittää ja
nousivat maihin eri paikoissa. Eräänä päivänä laskivat he maihin
suuren kymin suuhun. Rannikko kasvoi suurta metsää. He päättivät
tässä tunkeutua sisämaahan. Väki jaettiin kaksitoistamiehisiin
joukkueihin. He kulkivat metsän läpi eikä siitä sitten enää ollut pitkä
matka, ennenkun asuttu seutu alkoi. Siellä he ryöstivät ja tappoivat,
ja kansa pakeni, kunnes heille ei enää tehty mitään vastarintaa.

Illan tultua Torolf puhallutti paluumerkin. Kaikki palasivat siitä,


missä sattuivat olemaan, takaisin metsään.

Kun Torolf tarkasti miehiään, eivät Egil eikä hänen miehensä olleet
mukana. Pimeni pimenemistään eikä häntä enää luultu voitavan
löytää.
Egil oli, seuranaan kaksitoista miestä, mennyt toisen metsän läpi.
Pian näkivät he edessään laakeita tasankoja ja asuttuja seutuja.
Vähän matkan päässä oli talo. He riensivät sinne.

Perille tultuaan hyökkäsivät he erääseen taloon. Väki ei ollut


kotona. He ottivat kaiken irtaimen tavaran, minkä saivat käsiinsä.
Talossa oli monta huonetta, niin että heiltä kului aikaa siihen.

Tultuaan taas ulos ja vähän matkaa talosta, oli heidän ja metsän


välillä väkeä koolla. Kiireellä lähestyivät he heitä.

Korkea pystyaita kulki talosta metsän rantaan.

Egil käski, että muiden oli tultava hänen jälestään niin, ett'ei
heidän päälleen voitaisi tunkea kaikilta tahoilta. He tekivät niin.
Etumaisena kulki Egil ja sitten muut toinen toistaan niin lähellä, ett'ei
riviä voitu murtaa.

Kuurilaiset ahdistivat heitä kovasti, heittäen keihäitä ja ampuen


jousilla, mutta eivät antautuneet käsikähmään.

Kulkiessaan aitovartta näkivät Egil ja hänen miehensä yhtäkkiä


toisen aidan, joka tuli toisaalta ja yhtyi ensimäiseen. Siinä
säkeytyivät he molempain kulmaukseen eivätkä päässeet eteenpäin.

Kuurilaiset kävivät tässä heidän kimppuunsa, toiset pistellen


keihäillä ja miekoilla aidan läpi, toiset heitellen vaatteita heidän
aseidensa päälle.

Egil ja hänen miehensä haavoittuivat. Heidät vangittiin ja sidottiin.


Sitten vietiin heidät taloon.
Se oli mahtavan ja varakkaan miehen talo. Hänellä oli
aikamiespoika.

He neuvottelivat siitä, mitä vangeille oli tehtävä. Talonpojan


mielestä olisivat he jokikinen olleet tapettavat. Hänen poikansa arveli
kuitenkin, että nyt oli jo niin pimeä, ett'ei olisi mitään iloa heidän
kiduttamisestaan. Hän pyysi, että odotettaisiin aamuun.

Sitten sysättiin heidät muutamaan huoneeseen ja kytkettiin


kovaan. Egil sidottiin käsistään ja jaloistaan paaluun. Huone lukittiin
lujaan, ja kuurilaiset menivät tupaan, söivät, olivat hyvin hyvillään ja
joivat.

Egil ponnisti kaikki voimansa ja nytkytteli paalua, kunnes se


irtautui lattiasta. Sitten se kaatui.

Hän kiersihe siitä pois, päästeli hampaillaan irti kätensä ja longisti


sitten jalkansa auki. Sen tehtyään vapautti hän toverinsa.

Kun kaikki olivat päässeet irti, alkoivat he tarkastella, mistä olisi


paras päästä ulos. Huoneen sivuseinät olivat suurista hirsistä, mutta
pääty oli laudoista. He syöksivät niitä kohti ja murskasivat ne. Niin
olivat he tulleet toiseen huoneeseen. Senkin seinät olivat hirsistä.

Silloin kuulivat he syvällä jalkainsa alla miehenääniä. He


haparoivat ympärilleen ja löysivät lattiasta luukun, jonka avasivat.
Sen alla oli syvä hauta. Siitä kuului ääniä. Egil kysyi, mitä he olivat
miehiään. Se, joka vastasi, sanoi olevansa nimeltään Åke. Egil kysyi,
tahtoiko hän päästä pois haudasta. Åke sanoi hyvin mielellään
tahtovansa. He laskivat aukkoon ne nuorat, joilla olivat olleet sidotut
ja vetivät ylös kolme miestä.
Åke sanoi, että ne kaksi muuta olivat hänen poikiaan. He olivat
tanskalaisia miehiä ja olivat joutuneet vangeiksi sotaretkellä
edellisenä kesänä.

"Talvella oli minun hyvä olla", sanoi hän. "Minulla oli melkein koko
ajan tehtävänä talonpojan karjan hoitaminen, mutta poikani olivat
kovassa orjuudessa ja tyytymättömiä oloonsa. Keväällä teimme
tiukan päätöksen ja juoksimme tiehemme. Meidät saatiin kiinni ja
sitten meidät pantiin tähän hautaan."

"Sinä kai tunnet tarkoin tämän talon?" kysyi Egil. "Mitä tietä me
parhaiten voimme päästä ulos?" Åke sanoi, että siinä vielä oli yksi
lautaseinä.

"Murtakaa se, niin tulette eloaittaan, ja siitä pääsee estämättä


ulos."

He mursivat lautaseinän ja olivat niin aitassa. Sitten menivät he


ulos.

Oli pilkkosen pimeä. Egilin miehet olivat sitä mieltä, että olisi
riennettävä metsään.

"Koska tuntenet talon, niin näytä meille, missä täällä olisi jotain
ottamista", sanoi Egil Åkelie.

Tämä vastasi, että täällä kyllä oli irtainta tavaraa kuinka paljon
tahansa.

"Täällä on suuri ullakkohuone, jossa talonpoika nukkuu. Siellä on


aseita kuinka paljon tahansa."
Egil pyysi miehiään seuraamaan häntä sinne. Tultuaan portaille he
näkivät, että ovi oli auki. Siellä näkyi tulta ja palvelijat laittoivat
vuoteita. Egil käski muutamain miestensä pysähtyä alhaalle ja pitää
huolta siitä, ett'ei kukaan pääse ulos. Itse juoksi hän huoneeseen.
Siellä oli aseita suuret määrät. Ne hän antoi miehilleen. Sitten
tappoivat he kaikki, jotka olivat sisällä. Nyt saivat hänen
seuralaisensa täydet tamineet.

Åke meni paikkaan, jossa oli irtonainen lattiapalkki ja nosti sen


ylös ja kehoitti menemään allaolevaan huoneeseen. He ottivat tulta
ja menivät sinne. Sinne oli talonpoika kätkenyt kaikki aarteensa.
Siellä oli iso määrä kalleuksia ja paljon hopeaa. Miehet sälyttivät niitä
selkäänsä ja kantoivat ulos. Egil otti aika suuren simakannun ja
kantoi sen kainalossaan ulos. Kun he olivat tulleet metsään, pysähtyi
Egil ja sanoi:

"Tämä on kurjaa, sankareille arvotonta menoa. Me olemme


varastaneet talonpojan tavaran, hänen siitä mitään tietämättä.
Semmoista häpeää ei saa meille tapahtua. Palatkaamme takaisin
taloon ja antakaamme hänelle tieto siitä, mitä siellä on tapahtunut."

Kaikki panivat vastaan, he tahtoivat takaisin laivaan. Egil asetti


simakannunsa maahan. Sitten lähti hän juoksemaan taloa kohti.

Perille tultuaan näki hän palvelijain tulevan keittohuoneesta ja


kantavan ruoka-astioita tupaan. Keittohuoneessa näki hän kattiloita
kiehumassa suurella tulella. Hän meni sinne.

Suuria halkohirsiä oli vedetty sinne ja tuli oli tehty niinkuin maan
tapa oli: hirren toinen pää sytytettiin ja jätettiin palamaan.
Egil tarttui hirteen, meni tuvan luo ja nosti hirren palavan pään
räystään tuoheen. Se syttyi heti palamaan.

Vähän matkaa siitä oli halkopino. Hän pinosi halot tuvan oven
eteen.
Tuli syöpyi pian kattolautoihin.

Miehet, jotka istuivat tuvassa ja joivat, eivät tienneet mitään,


ennenkun katto oli ilmitulessa. He hyökkäsivät ovelle. Siitä ei ollut
mukava päästä ulos sekä halkojen tähden että sentähden, että Egil
vartioi ovea ja tappoi kynnyksellä ja ulkona kaikki, jotka pyrkivät
ulos.

Talonpoika kysyi, kuka siellä tulta sillä tavalla hoiti.

"Juuri se hoitaa täällä tällä tavalla tulta, jonka eilen illalla olisit
voinut luulla sitä vähimmin tekevän", vastasi Egil. "Eikä sinun tarvitse
pyytää minulta kuumempaa kylyä kuin mitä nyt lämmitän. Saaos
hyvä löyly palkkioksi siitä pehmeästä vuoteesta, jonka tarjosit
minulle ja miehilleni. Olen se sama Egil, jonka kahlehdit ja sidotit
paaluun siinä huoneessa, jonka niin huolellisesti lukitsitte. Minä
palkitsen vastaanottosi niin hyvin kuin olet ansainnut."

Samassa aikoi talonpoika pujahtaa ulos pimeään Egilin ohitse.


Silloin iski Egil hänet hengiltä ja monelle muullekin hän antoi
kuoliniskun.

Se tapahtui vain muutama silmänräpäys ennen kuin tupa palaen


romahti kokoon.

Useimmat, jotka olivat siellä sisällä, menettivät henkensä.


Egil palasi takaisin metsään. Hän tapasi siellä seuralaisensa ja he
menivät kaikki laivaan. Egil sanoi, että hän tahtoi pitää
erikoissaaliinaan simakannun, joka hänellä oli kainalossaan. Se oli
täynnä hopeaa.

Torolf ja kaikki muut olivat kovin iloissaan, kun Egil tuli.

Heti aamun koitteessa lähtivät he maista. Åke ja hänen poikansa


olivat
Egilin seurassa.

Syyskesällä he purjehtivat Tanskanmaahan, asettuivat sielläkin


väijymään kauppalaivoja ja ryöstivät mitä saivat.

(Egil Skalle-Grimssonin taru.)


MUUAN MERITAISTELU.

Valdemar Suuri lähetti v:na 1170 laivastonsa ahdistamaan Tanskan


rannikoita ryöstäviä merirosvoja. Hän käski sotamiehensä lähestyä
näitä vihollisia varovaisesti, sillä heillä oli tapana taistellessa käyttää
enemmän viekkautta kuin urhoollisuutta.

"Vihollisen laivaston lähestyessä, sanoi kuningas, he laskevat


laivansa maalle, piiloutuvat lymypaikkoihin ja antavat vihollistensa
muka mieltä myöten itseänsä ahdistaa, mutta kun he huomaavat,
että heidän ahdistajansa ovat hajonneet eri tahoille pitkin rannikkoa,
he yht'äkkiä hyökkäävät piilopaikoistansa esille, tarttuvat käsin
vihollistensa laivoihin, vetävät ne rannalle, surmaavat laivamiehet
kiviä ja nuolia heittämällä, lävistävät laivat keihäillä ja tekevät ne
kelpaamattomiksi lukuisia reikiä niihin iskemällä. Vaikka nämä
viholliset siis näyttävätkin pakenevan, ei heitä pidä ajaa takaa, sillä
heidän pakonsa on yhtä vaarallinen kuin hyökkäyksensä."

Kuningas neuvoi senvuoksi lähtijöitä pitämään laivastoa


rantautuessa koossa ja taas ryhtymään tappeluun järjestetyissä
riveissä. Siten tulisivat he saamaan varman voiton vihollisista, jotka
taistelivat aseettomina ja melkein alastomina. —
Laivasto purjehti nyt Ölannin saarelle. Saatuansa saaren asukkailta
kuulla, että Virolaiset ja Kuurilaiset ryöstivät läheistä satamaa,
lähtivät Tanskalaiset kilvan purjehtimaan sinne muistamatta
kuninkaan neuvoa. Virolaiset olivat yhdellä laivalla sataman suussa
pitämässä vahtia ja alkoivat heti soutaa ulapalle, antamatta
tovereillensa minkäänlaista tietoa vihollisen lähestymisestä.
Merirosvot huomasivat kuitenkin uhkaavan vaaran, vetivät laivansa
maalle ja kätkeytyivät läheiseen metsään. Kaksi Tanskalaista souti
aluksensa kaikin voimin rannalle, ja he saavuttivat kaikkine
laivamiehinensä pitkällisen puolustuksen jälkeen surmansa
raakalaisten iskuista. Kaksi Absalon-piispan urhoollista ritaria riensi
toveriensa avuksi, mutta hekin joutuivat surman omiksi. Eräs kolmas
ritari, suuttuneena kumppaniensa kuolemasta, nousi maalle toisessa
paikassa ja saavutti samanlaisen kuoleman. Kuurilaiset hakkasivat
kirveillänsä reikiä vihollisten laivoihin ja upottivat ne mereen.
Kristoffer, kuninkaan poika, nähtyänsä edellisten kohtalon, lakkautti
soutamisen ja koetti estää alustansa maalle menemästä. Mutta laiva
kulkeutui kuitenkin sivuttaisin rannalle ja viholliset ottivat sen
vastaan sellaisella kivisateella, että laivamiehillä oli täysi työ itsensä
puolustamisessa. Vihollisen ahdistamiseen ei jäänyt mitään aikaa.
Tanskalainen sankari Esbern Snare, peläten että Kristoffer joutuisi
tuhon omaksi, kuljetti laivansa keskelle kivisadetta ja pelasti siten
nuorukaisen, asettuen hänen ja Kuurilaisten väliin.

Viholliset tarttuivat nyt kaikin voimin Esbernin laivaan, haavoittivat


keulassa olevat miehet ja vetivät laivan matalalle. Esbern ollen laivan
perässä, laukaisi kolme kertaa heittokoneensa vihollisiin osaamatta,
särki sitten koko koneen, hyökkäsi aseilla varustettuna laivan perästä
keulaan ja taisteli yksinänsä ihmeteltävän urhoollisesti melkoisen
ajan vihollisten kanssa. Vihdoin oli hän kivien ja nuolien satutuksesta
ja iskuista niin väsynyt, että hän töintuskin jaksoi kävellä laivan
perään, johon hän asettui istumaan. Tovereistaan oli hänellä vain
yksi ainoa jälellä, sillä kaikki muut olivat pelosta heittäytyneet
mereen. Kuurilaiset puhkoivat rautakärkisillä lyömäaseillaan jo reikiä
laivan kylkiin ja tunkeusivat itse laivaan. Silloin Esbern kokosi
viimeiset voimansa, ajoi heidät kolme kertaa pakoon ja käytti
vihollisten heittämiä keihäitä aseina heitä itseänsä vastaan. Vähissä
voimin täytyi hänen taas peräytyä, mutta silloin heitettiin hänen
päähänsä kivi niin lujasti, että hän kaatui pyörtyneenä laivansa
perään. Viholliset nousivat nyt laivaan ja aikoivat iskeä hänen päänsä
poikki, mutta ainoa laivalle jäänyt toveri nosti hänet taas pystyyn,
jonka jälkeen Kuurilaiset, peläten uutta taistelua, peräytyivät.
Toinnuttuansa näki hän vihollisia kaikkialla laivassa, ryhtyi taas
taisteluun, karkoitti heidät vielä kerran, mutta vaipui sitten
tajuttomana maston viereen.

Siinä olisi hänet ehkä surma saavuttanut, jolleivät Kristofferin


soutajat olisi häntä pelastaneet. Muut Tanskalaiset tulivat tästä
varovaisemmiksi ja pysyttelivät etäämmällä rannasta, ahdistellen
sieltä vastustajiansa lingoilla ja heittokeihäillä.

Yön tullen keskeytyi taistelu ja Tanskalaiset asettivat laivoja


sataman edustalle estääksensä merirosvoja yön aikana
pakenemasta. Kuurilaiset tekivät osaksi omista, osaksi vihollisilta
ottamistansa laivoista sekä isoista puunrungoista kaupungintapaisen
varustuksen, jossa oli kaksi hyvin ahdasta ja matalaa
sisäänkäytävää. Sen sivut verhosivat he ulkopuolelta useampiin
kerroksiin sovitetuilla purjeilla. Toiset heistä teroittivat puita, toiset
kokoilivat rannalta kiviä seuraavan päivän taistelua varten.
Rohkeuttansa he ylläpitivät laululla ja tanssilla.
Alakuloisina viettivät Tanskalaiset yönsä, kunnes Kristofferin kirjuri,
eräs englantilainen mies, rohkaisi heitä kertomalla muinaisaikain
sankaritöitä ja kehoittamalla heitä miehuullisesti kostamaan
toveriensa kuoleman. Seuraavana aamuna Tanskalaiset nousivat
maalle ja sotarinta järjestettiin niin, että aatelismiehet tulivat ensi
riviin, sitten muu väki. Kuurilaiset hyökkäsivät leiristänsä heitä
vastaan kovasti huutaen, ei järjestetyissä riveissä, vaan mikä
missäkin. Heidän huutonsa ja melunsa oli niin kova, että
Tanskalaisten jälkirivin miehet säikähtyneinä lähtivät pakoon. Eturivin
miehet ryhtyivät ankaraan vastarintaan, ja Kuurilaisten täytyi
vetäytyä leiriinsä, Useat heistä surmattiin, Tanskalaisista haavottui
yksi. Ensimäinen leiriin ryntäävä Tanskalainen sai puulla niin kovan
iskun, että hän kuoli. Muut Tanskalaiset kuitenkin väkirynnäköllä
hyökkäsivät leiriin, kiipeilivät pitkin mastoja ylös ja tunkeutuivat
varustukseen vihollisten keskelle. Viholliset surmattiin niin tyystin,
ett'ei edes onnettomuuden sanansaattajaa jäänyt henkiin.

(Saxo: A.H. Snellmannin suomennos.)


KARSIKOSSA.

Korkean kuusen kupeella, joka äskettäin oli karsittu oksattomaksi


aivan latvatupsua myöten, seisoi äänetönnä miesjoukko metsäisellä
mäelle. Mäen alla oli tiheä, heleänvehreä vesakko, joka ulottui
jokeen asti, mikä ikäänkuin metsään auennut, valkealta välkähtävä
valorako etäämmältä halkasi tuon muuten melkein rajattoman, yhtä
lakean ja yhtä tasaisen, tummanruskean korven. Tuon leveän,
sydänkesällä korkea-äyräisen joen rannalla oli juuri mäen kohdalla
pieni kylä, puolenkymmentä matalaa, harmajaa taloa yhdessä
rypäleessä, jotka ikäänkuin puolittain painautuivat viereisen metsän
kätköön.

Tuonne joelle ja kylään päin miehet vakavina katselivat. Joki oli


Kemijoki ja se heidän kylänsä oli Sihtuunan (Liedakkalan) kylä. He
olivat sieltä nyt päivällä kantaneet notkon läpi tänne mäelle,
kalmistoon, kylänsä vanhimman, jota miehistä useat isoäidikseen
sanoivat. He olivat peittäneet vainajan soramäkeen, luoneet siihen
pienen kummun ja karsineet sen vierestä kuusen — nuo ennemmin
karsitut puut, jotka kuivina törröttivät mäellä, ne merkitsivät
useimmat sen polven miesten ja naisten leposijoja, joista nyt
haudattu muorivanhus oli viimeinen.
Miehet olivat jo valmiit palaamaan kylään, he odottivat vain naisia,
jotka vielä kyyhöttivät eri hautojen ympärillä. Silloin yksi
nuoremmista kysäsi vanhimmalta, joka siinä kirves olalla
lähtövalmiina seisoi:

— Nytkö ei ole, isä, enää yhtään hengissä niistä, jotka tämän


suvannon rannalle kylän rakensivat?

— Ei, äiti oli niistä viimeinen. Täällä karsikossa ovat ne nyt kaikki
hyvinä naapureina, mitä lienevät eläissään olleetkin.

— Mutta olivathan he hyviä naapureita eläissäänkin, huomautti


nuorukainen.

— Aluksi huonoja, kovin huonoja… lopuksi hyviä. Mutta parasta


onkin, että he ovat vieneet ne tarinansa mukaansa, silloinpa eivät
enää toisten kyläinkään eläjät meiltä kysele, mistä me olemme
tulleet, eivätkä meitä vieraina karso.

Isän ja pojan näin jutellessa oli siihen heidän ympärilleen koko


miesjoukko ryhmittynyt kuuntelemaan. Tuo keskustelu oli hipaissut
useimmille tunnettuja, mutta vain vaillinaisesti ja hämärästi
tunnettuja tarinoita, sukumuistoja, joihin vanhemmat aina vain hyvin
arkaillen olivat koskeneet ja joista nyt enää ei vuosikausiin,
nuorimman polven kasvaessa, oltu puhuttu. Uteliaina senvuoksi
kaikki korvansa terästivät. He olivat kaikki pitkänsolakoita, rotevia
miehiä, lujatekoisia vaaleakatseisia — muodoltaankin he
naapurikyläläisistään erosivat —, ja omituisen luja
yhteenkuuluvaisuuden henki sitoi heitä toisiinsa. Kun keskustelijat
vaikenivat, kysäsi taas eräs nuoremman polven vesa:

— Miksi vierovat sitten toisten kyläin väet meitä?


— Ei ne sinua enää viero, ole huoletta, naurahti vanhus. —
Muorivainajaa ja niitä, jotka hänen kanssaan tänne tulivat, niitä he
vieroivat siksi, että nämä olivat omilta teiltään tänne tulleet ja
laittaneet metsään omat polut ja jokeen omat padot.

— Mistä olivat sitten meidän väet tulleet?

— Mereltä, pitkien, pitkien matkain takaa. Mutta se on pitkä


tarina, poikaseni.

— Kertokaa se meille! pyysi poika. Ja lukuisat äänet yhtyivät siihen


hartaaseen anomukseen. — Kertokaa meille isävainajain tarina!

Harmajakulmainen, jakopartainen vanhus istahti uhrikiven reunalle


ja laski kirveensä maahan. — Kertoisinko, virkahti hän puolittain kuin
itsekseen. Korkeallahan vielä kierii päivän kehä, kaunis on levätä
tässä karsikon laidassa, — jospa sen kertoisin noiden kuopattujen
muistoksi. Ja tämän viimeisen varsinkin. Sillä tietäkää, lapset, että
äitini oli ryöstetty sotavoitto ja isäni oli hänen ryöstäjänsä, kokonaan
toista heimoa; mutta tällä jokivarrella joutuivat he elämään yhdessä
ja onnellisina kaukana kumpaisenkin syntymäsijoilta. Ja toisten
turpeenalaisten laita oli sama.

Uteliaina painautuivat ympärillä seisovat, joiden joukkoon jo


vaimojakin ehti, kuuntelemaan kertojan sukutarinoita, ja tiheänä
rypäleenä he siten istuivat tai seisoivat karsikkomäen suvisella
rinteellä. Vaan kookasvartinen vanhus täytti lupauksensa ja alkoi:

— Tuo kotikylämme on tavallaan pitkäin ja katkerain vainoretkien


tulos, ja me olemme jälkeläisiä kahden toisilleen vihamielisen
kansan, jotka miespolvia ovat toisiaan suurten merien poikki sotineet
ja sortaneet. Ne meret, joiden partaalla nuo kansat asuivat ja
vieläkin asuvat, ne ovat kaukana täältä, kukaan meistä ei ole siellä
asti koskaan käynyt. Ja loitolla olivat toisistaankin noiden kansojen
asumarannat — karjalaisten ranta oli päivännousun puolella,
ruotsalaisten eli svealaisten maa siitä kauas länteen. Mutta suurilla
venekunnilla, monisataisilla miesjoukoilla, olivat he silti jo
vanhastaan tottuneet tekemään ryöstö- ja hävitysretkiä toistensa
asunnoille.

Niin tekivät Karjalan nuoret miehet taas eräänä kesänä


satamastaan, jota Vehkalahdeksi mainitaan, suuren ryöstöretken
svealaisten rannoille. Heidän venheissään oli kahdet teljot
päällekkäin ja kumpaisessakin kerroksessa souti aseellisia miehiä
kahdessakymmenessä hangassa, ja näitä venheitä oli heillä paljo. He
soutivat syyspimeillä vihollisrannikkoon uurtuviin lahtiin, joiden
pohjasta he asutusta etsivät, he soutivat ja sauvoivat vielä virtojakin
ylöspäin ja saapuivat suurelle järvelle, jonka rannoilla oli vankka,
vauras asutus ja komea kauppakylä — näin etäälle eivät karjalaiset
eivätkä hämäläisetkään ennen koskaan olleet retkeilleet ruotsalaisten
maahan. Äkkiarvaamatta yllättivät he siellä nyt rauhalliset viljelijät,
ryöstivät saalista laajalti koko rannikolta ja hävittivät kylät, senkin
suuren kauppalan, joka oli Sihtuuna nimeltään.

— Niinkuin meidän kylämme! huudahtivat nuorimmista


kuuntelijoista monet. Vaan toiset tiesivät toki jo oikaista: — Siitähän
se kuuluu meidän kylälle nimi annetunkin.

Mutta kertoja ei kuunnellut tuota sivullisten väittelyä, vaan jatkoi:

— Kova kuuluu olleen ottelu sen kylän tienoilla karjalaisten


merisissien ja svealaisten miesten välillä, mikäli viimemainittuja ehti
kertyä kokoon. Mutta harvempina joutuivat svealaiset alakynteen;
voittaja ryösti tavaran, tappoi karjan, talot poltti ja eläjiä, ketä
hengissä kouriinsa sai, vei se venheilleen, orjiksi omalle maalleen
kuljettaakseen. Siksipä souti erästäkin Karjalan venhettä pois
Mälarjärven vesiltä se nainen, jolle äsken kuusen karsimme, mutta
nuorena impenä silloin — siksi souti hän, sekä moni muu teljoon
kytketty Ruotsin mies ja nainen.

— Hän oli siis todella Ruotsin heimoa, kuiskaili joku nuorukainen.


Ja toinen kuului vastaavan:

— Sen maan kieltähän hän vielä tautivuoteellaan toisinaan puhui.

Mutta kolmas nuori mies kysyi ääneensä, kertojan puoleen


kääntyen:

— Orjiksiko nuo Ruotsin vangit tänne kaikki joutuivat?

— Eivät orjiksi — eivätkä kaikki tänne joutuneetkaan. Vaan


malttakaahan, kun kerron.

Hetkisen oli kivellä istuja muistellut niitä tarinoita, joita hän


lapsena ollessaan enin oli kuullut, ja jatkoi sitten:

— Hurjaa oli ollut karjalaisten voitonhuumaus, kun he taas pitkänä


jonona soutivat salmivesiä ulos meren aukeille. Mutta kun merelle
ehdittiin, niin jopa loppui remu ja riemu. Syysmyrsky siellä
laivakunnan tapasi ja toisen venheen toisestaan erotti, aalto ja tuuli
ajeli aluksia valloillaan, siinä säässä eivät enää airot paljoja pidelleet.
Miten lie muiden sotavenheiden käynyt, pääsivätkö saarien suojaan
vai hukkuivatko soutajineen, saaliineen, siitä eivät ne esi-isämme,
jotka tänne pelastuivat, koskaan mitään tietoja saaneet. Vaan sen
venheen, jota he soutamalla pystyssä pitelivät, sen kiidätti
kaakkoismyrsky kauas oudoille, pohjoisille vesille, ja he antoivat sen
kulkea myötäiseen, ponnistellen vain, ett'ei aalto laitoja särkisi eikä
alusta täyttäisi.

Sitä myrskyä kesti päivän ja toisen ja kappaleen kolmatta päivää


yhtä painoa. Kovaa työtä saivat miehet tehdä, säilyttääkseen
aluksensa uppoamasta, ja heidän ruotsalaiset vankinsa ponnistelivat
yhtä sitkeästi — henkihän siinä oli kysymyksessä kaikilla. Ja
pelastumaan he lopulta pääsivät. Myrsky taukosi vihdoinkin. Vaan
kun silloin sotavenhe, laitarikkona ja peräsimettä, vihdoin saatiin
lasketuksi kallioisen meriluodon kupeelle tuulen suojaan, niin olipa
koko miehistö ahdistuksesta ja valvonnasta niin väsynyt, että miehet
hervottomina retkahtivat lepäämään ja nukkuivat heti, mikä kivien
koloon, mikä satalaudan pohjalle. Siitä unesta eivät useimmat heistä
heränneetkään.

— Siihenkö kuolivat, viluko tappoi? utelivat kuuntelijat.

— Ei, vaan viha, viha ja kosto, vastaili kertoja harvakseen. —


Myrskyssä henkensä puolesta tapellessaan olivat karjalaiset
laskeneet vankinsa irti auttajikseen, sama surmahan heitä kaikkia
uhkasi. Uupuneina nämäkin nyt suojaan päästyä heittäytyivät
lepäämään — vaan he eivät nukkuneet. He ajattelivat poltettuja
kotejaan ja orjankohtaloaan. Mies nousi sieltä, toinen täältä, he
nykäsivät toisiaan, hakivat aluksesta aseita…

— Ja surmasivat Karjalan miehet, niinkö?

— Niin, ryöstäjänsä, vainolaisensa — vapauttaan ajattelivat,


pelastustaan… Surmasivat makaajia monta, ennenkun näistä toiset
meluun heräsivät ja tarttuivat aseihinsa hekin.

— Ja tappelu syntyi?
— Raateleva, verinen tappelu, katkerampi kuin koskaan
kauppakylän rannassa, se riehui nyt aution meriluodon sateenmärillä
kallioilla. Karjalaisista oli monta nukkuessa nujerrettu,
molemmankieliset olivat nyt melkein tasaväkiset ja epätoivon vimma
heitä kannusti. Kumman heimon perujen oli päästävä luodolta
poistumaan? — siitä oli kysymys. Nuo merihädästä pelastuneet,
jotka äsken olivat yhdestä airosta kiskoneet, säilyttääkseen
venheensä ja henkensä ärjyvässä myrskyssä, he nyt iskivät toisiaan
armottomammin kuin koskaan myrsky, ja kun mies kaatui toiselta
puolen, niin jo kellahti toiseltakin. Niin tuhoisasti he hävittivät
toisiaan, että pian oli ainoastaan kolme, neljä miestä kummallakin
puolella pystyssä. Silloin vasta he oivalsivat, että he eivät voita
kumpaisetkaan, vaan hävittävät toisensa niin tyyten, ett'ei kukaan
pääse luodolta hengissä pois, — silloin vasta he väsyivät ja laskivat
alas aseensa ja katselivat kauhulla niitostaan. Silloin tehtiin rauha —
ja kerrottiinpa sen silloinkin tapahtuneen vasta sen naisen ansiosta,
joka Ruotsista ryöstettynä oli karjalaisten venhettä soutanut.

— Isoäiti-vainajan! Hänkö eriheimoiset sovitti? kyselivät henkeään


pidellen kuuntelevat naiset.

— Hänestä tuli sitten karjalaisten sotavenheen päällikön puoliso —


se mies oli isäni, ja hänkin oli taistelussa mukana…

Kertoja huoahti hetkisen, hymähti ja virkkoi:

— Eipä se sovinto sentään aluksi kuulu niin aivan eheätä olleen —


pakko siihen ajoi, ei sydänten halu. Ja pakko ajoi taistelijat takaisin
laitarikkoon sotavenheeseen, taas yksissä voimin ponnistelemaan,
päästäkseen kuolemanpeittoiselta meriluodolta johonkin elämisen
ilmoille. Mutta katkeruus ja epäilys asui miesten mielissä, kun he nyt
harvoilla airopareilla kiskoivat raskasta alusta uudelleen aallokon
halki. Miehet eivät tienneet, missä olivat, minne soutivat. Sen he
aavistivat, että jossakin päivännousun puolella oli karjalaisten maa ja
päinvastaisella taholla ruotsalainen ranta. Mutta itään eivät
ruotsalaiset taipuneet soutamaan, koska heitä siellä odotti orjuus,
eikä karjalaiset taas länteen, koska heitä sieltä odotti kosto, eikä
kumpainenkaan puolue kyennyt toistaan pakottamaan. Suunnattiin
senvuoksi kulku yhä vain pohjoiseen, edelleen myötätuuleen,
toivottiin siten vihdoin jouduttavan jollekin puolueettomalle
mantereelle.

Tätä retkeä kesti kauan. Vaan tämän jatkuvan sounnin varrella


tapahtui se ihme, että nuo raatelevain vihollisjoukkojen tähteet,
jotka vielä äsken meriluodolla olivat koettaneet tyyten lopettaa
toisensa, nyt vähitellen sulivat todella sovinnollisemmiksi ja
ystävällisemmiksi toisilleen. Kuta useampi päivä laski heidän näiltä
oudoilta vesiltä mihinkään saapumattaan, sitä selvemmäksi heille
kävi, että kaikki ajatus palaamisesta vanhoihin, kotoisiin
asumapaikkoihin oli turha ja mahdoton, ja sitä ilmeisempää heille oli,
että heidän oli pakko koettaa pelastua elämään yhdessä. Joka hetki
he tarvitsivat toisiaan, siinä edelleen syysmerellä kamppaillessaan, ja
he oppivat nyt vähitellen yhä enemmän luottamaan toistensa
kuntoon ja tahtoonkin. Mutta ehkä sovinnon syntymiseen sittenkin
tehokkaimmin vaikutti lemmen liitto. — Karjalaisten johtajan ja
ruotsalaisen immen väliset kihlajaiset isäni ja äitini aviojuhlat — oli jo
laivan kannella Sihtuunan simana juotu. Nämä nuorikot eivät tietysti
enää toisilleen turmiota tahtoneet ja he juuri tasoittelivat, sitä
myöten kuin toistensa kieltä oppivat ymmärtämään,
seuralaistensakin mielien särmäkkyyttä.

Kertoja vaikeni, ikäänkuin merkiksi, että siinä se suvun tarina nyt


olikin. Mutta nuoret kuulijat utelivat vielä:
— Tänne Kemijoelleko sitten vihdoin päätyi venekunnan matka?

— Tänne — autiolle rannalle, jota ei kumpainenkaan heimo


omakseen tuntenut, tänne saapuivat soutajat vihdoin eräänä
syyspäivänä. Ja kun he eivät tienneet, missä päinkään siitä olivat
heidän kotoiset maansa, päättivät he ainakin ensi talveksi jäädä
tähän asumaan. Vaan meren rannalle, jonka levottomuuden ja
epäturvallisuuden he kokemuksesta tunsivat, eivät he jääneet, vaan
soutivat ja sauvoivat venheensä leveää virtaa ylöspäin niin pitkälle
kuin koskilta pääsivät, ja kantoivat myrskyltä säilyneet
ryöstösaaliinsa siitäkin vielä kappaleen ylöspäin. Vasta kun tapasivat
tämän mielestään rauhaisan suvannon asumattoman salon keskeltä,
kävivät he kiireesti ensimäiset pirttinsä talven varaksi kyhäämään —
yhdessä he metsässä ryskivät, yhdessä salvokset pystyttivät,
yhdessä myös veden ja metsän viljaa ravinnokseen pyytivät. Ja
siihen he jäivät toiseksikin talveksi ja kolmanneksi, jäivät, vaikka
kyllä pian havaitsivat, että siellä, täällä joen partaalla jo muidenkin
saunoja savusi. Ne eivät toki olleet niin lähellä, että pyyntimaat
olisivat sotkeutuneet, mutta sen nämä tulokkaat toki oivalsivat, että
heidän oli pysyttävä sovinnossa koossa, jos mieli kyetä uutta
asumustaan puolustamaan.

Siten syntyi kotikylämme — nimi sille pantiin hävitetyn


kauppakylän mukaan, jonka tytär oli ensimäisen perhekunnan
emäntä uudella rannalla. Mutta pian perustivat toisetkin tänne
perheitä, hakivat tyttöjä naapurikylistä tai ryöstivät niitä
etäämpääkin, ja uusia pirttejä kohosi jokiahteelle. Ja lujasti he
koossa pysyivät, aina valmiina taistelemaan ympäröiviä
uudisasukkaita vastaan, jotka heitä aluksi ja kauankin vieroivat,
yhdessä he kävivät tuntureilla kierteleviä lappalaisia verottamassa,
yhdessä he uhrinsa tällä mäellä toimittivat, jossa nuo entiset
taisteluveikot nyt hyvässä sovussa rinnakkain lepäävät. Syntyi kuin
yhteinen, hiljainen sopimus siitä, ettei tässä kylässä enää
muistellakaan, miten viha ja vaino oli alkujaan vallinnut sen ensi
eläjäin joukossa ja miten hätä ja pakko oli lopulta ajanut heidät
yhteen. Siksi siitä ei ole täällä puhuttukaan vuosikymmeniin — nyt
sen kotikylänne tarinan tunnette tekin, mutta teidänkin on tarpeeton
siitä joka päivä puhua.

Kertoja nousi kiveltä, ja kun nuoret miehet vielä hänelle


kysymyksiä heittelivät, katkaisi hän ne kokonaan, vastaten
leikkisästi:

— Elkää kyselkö, en ollut itse mukana, olen täällä syntynyt,


niinkuin tekin. Ne, jotka olivat mukana merihädässä ja tappeluissa,
ne lepäävät nyt kaikki kalmistossa ja jääkööt tänne rauhassa
nukkumaan. Meidän on aika laskeutua kylään — kas, päivän kehä
sivelee jo läheisen metsän latvoja, ilta on käsissä.

Ensimäisenä laskeusi kookas, leveäharteinen vanhus alaspäin


kanervaista rinnettä notkoon päin, jonka keskeltä ilta-auringon
hohteessa joen vetinen vyö nyt punertavalta välkähti, ja
äänettömissä, vakavissa mietteissä seurasivat toiset, miehet ja
naiset, häntä polkua pitkin jokiahteelle, Sihtuunan kotoiseen kylään.
Hiljaiseksi jäi kalmisto, ainoastaan hieno iltatuuli humahteli siellä
yksin vainajille karsittujen kuusten latvatupsuissa.

(Santeri Ivalo: Kansanv. seur. kal. 1911.)


ERÄS KOSTORETKI.

Vanhat ja katkerat lienevät olleet hämäläisen ja karjalaisen heimon


keskenäiset perintövihat jo silloin, kun nämä heimot joutuivat
rinnakkain elämään Suomessa, jonne edelliset olivat tulleet
merenlahden poikki Virosta ja jälkimmäiset maitse Laatokan
ympärille. Ja uusilla asuinpaikoilla jatkui vihoja vuosisatain halki yhtä
katkerasti. Laaja oli kyllä erämaa noiden sukulaisheimojen välillä, se
ulottui Kymijoelta Vuokselle, vaan eipä se estänyt heimojen nuoria,
sotaisia hiihtäjiä tekemästä partioretkiä toistensa asuma-aloille, jossa
ryöstivät, polttivat, hävittivät, surmasivat. Ja kun sitten asutukset
molemmilta puolin vuosisatain vieriessä lähenivät toisiaan, sitä
myöten kuin kalastajat ja pyyntimiehet rakensivat saloon saunojaan,
ja välissä oleva erämaa siten kapeni ja suli, niin eipä se lähestyminen
suinkaan heimovihojen särmiä tylsemmiksi hionut. Päinvastoin,
toistensa kuuluville joutuneet pyyntimaat ja kalavedet aiheuttivat
alinomaa uusia riitoja eränkävijäin ja uudisasukasten kesken ja uusia
rettelöitä rintamaiden laitojen vakinaisenkin asutuksen välillä.
Eräkorvessa syntyi vuosittain pienempiä tai suurempia kahakoita
apajoista ja ne pitivät aina vireillä heimojen sotaista mieltä. Sillä kun

Unto verkkonsa viritti


Kalervoisen kalavesille

You might also like