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

Engineering Software As A Service An Agile Approach Using Cloud Computing First Edition, 1.2.1 Edition Fox

The document promotes the ebook collection available at textbookfull.com, featuring titles related to software engineering, cloud computing, and Agile methodologies. It highlights the book 'Engineering Software as a Service: An Agile Approach Using Cloud Computing' and includes endorsements from notable professionals in the field. The authors, Armando Fox and David Patterson, are recognized experts in computer science, and the book aims to provide practical knowledge and skills for developing SaaS applications.

Uploaded by

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

Engineering Software As A Service An Agile Approach Using Cloud Computing First Edition, 1.2.1 Edition Fox

The document promotes the ebook collection available at textbookfull.com, featuring titles related to software engineering, cloud computing, and Agile methodologies. It highlights the book 'Engineering Software as a Service: An Agile Approach Using Cloud Computing' and includes endorsements from notable professionals in the field. The authors, Armando Fox and David Patterson, are recognized experts in computer science, and the book aims to provide practical knowledge and skills for developing SaaS applications.

Uploaded by

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

Explore the full ebook collection and download it now at textbookfull.

com

Engineering Software as a Service An Agile


Approach Using Cloud Computing First Edition,
1.2.1 Edition Fox

https://textbookfull.com/product/engineering-software-as-a-
service-an-agile-approach-using-cloud-computing-first-
edition-1-2-1-edition-fox/

OR CLICK HERE

DOWLOAD EBOOK

Browse and Get More Ebook Downloads Instantly at https://textbookfull.com


Click here to visit textbookfull.com and download textbook now
Your digital treasures (PDF, ePub, MOBI) await
Download instantly and pick your perfect format...

Read anywhere, anytime, on any device!

Requirements Engineering for Service and Cloud Computing


1st Edition Muthu Ramachandran

https://textbookfull.com/product/requirements-engineering-for-service-
and-cloud-computing-1st-edition-muthu-ramachandran/

textbookfull.com

Cloud as a Service Understanding the Service Innovation


Ecosystem 1st Edition Enrique Castro-Leon

https://textbookfull.com/product/cloud-as-a-service-understanding-the-
service-innovation-ecosystem-1st-edition-enrique-castro-leon/

textbookfull.com

Beginning PostgreSQL on the Cloud: Simplifying Database as


a Service on Cloud Platforms Baji Shaik

https://textbookfull.com/product/beginning-postgresql-on-the-cloud-
simplifying-database-as-a-service-on-cloud-platforms-baji-shaik/

textbookfull.com

Internet Infrastructure: Networking, Web Services, and


Cloud Computing 1st Edition Richard Fox

https://textbookfull.com/product/internet-infrastructure-networking-
web-services-and-cloud-computing-1st-edition-richard-fox/

textbookfull.com
Federal Cloud Computing The Definitive Guide for Cloud
Service Providers 2nd Edition Matthew Metheny

https://textbookfull.com/product/federal-cloud-computing-the-
definitive-guide-for-cloud-service-providers-2nd-edition-matthew-
metheny/
textbookfull.com

Assured cloud computing First Edition Campbell

https://textbookfull.com/product/assured-cloud-computing-first-
edition-campbell/

textbookfull.com

Agile Processes in Software Engineering and Extreme


Programming Juan Garbajosa

https://textbookfull.com/product/agile-processes-in-software-
engineering-and-extreme-programming-juan-garbajosa/

textbookfull.com

Software Engineering: A Practitioner's Approach 9th


Edition Roger S. Pressman

https://textbookfull.com/product/software-engineering-a-practitioners-
approach-9th-edition-roger-s-pressman/

textbookfull.com

Service Engineering for Gastronomic Sciences: An


Interdisciplinary Approach for Food Study Takeshi Shimmura

https://textbookfull.com/product/service-engineering-for-gastronomic-
sciences-an-interdisciplinary-approach-for-food-study-takeshi-
shimmura/
textbookfull.com
In Praise of Engineering Software as a Service

It is a pleasure to see a student text that emphasizes the production of real useful software. I also
applaud the emphasis on getting results early in the process. Nothing stimulates student morale
and activity more.
—Prof. Frederick P. Brooks, Jr., Turing Award winner and author of The Mythical Man-
Month

I’d be far more likely to prefer graduates of this program than any other I’ve seen.
—Brad Green, Engineering Manager, Google Inc.

A number of software engineers at C3 Energy consistently report that this book and its companion
online course enabled them to rapidly attain proficiency in SaaS development. I recommend this
unique book and course to anyone who wants to develop or improve their SaaS programming
skills.
—Thomas M. Siebel, CEO, C3 Energy, and founder and former CEO, Siebel Systems (the
leading Customer Relationship Management software company)

We have gone from teaching about 60 graduate students per year in traditional software
engineering to 160 per year using ESaaS. We have similarly seen a large increase in
undergraduate students. The local community of non-profits has come to depend on us for
software development.
—Prof. Hank Walker, Texas A&M University

I love this course so much. It’s such an amazing advancement in [Software Engineering]
education, and I’ve been so proud to offer it for the past 2 years. It is a big learning curve to new
instructors and students, but I truly believe it’s worth it. My students seem to agree.
—Prof. Kristen Walcott-Justice, University of Colorado—Colorado Springs

A wide and deep coverage of all you need to get started in the SaaS business.
—Vicente Cuellar, Chief Executive Officer, Wave Crafters, Inc.

The book filled a gap in my knowledge about cloud computing and the lectures were easy to
follow. Perhaps the most exciting part was to write a cloud application, upload, and deploy it to
Heroku.
—Peter Englmaier, University of Zürich, Switzerland

An excellent kickstart into Ruby, Rails and test driven approaches. The fundamentals have been
covered with great depth and experience, it’s the perfect introduction to modern web
development. It should be a requisite for new engineers.
—Stuart Corbishley, Clue Technologies/CloudSeed, South Africa.

An excellent book that will have you up and running building SaaS apps progressively in a few
short days. The screencasts and the GitHub Gists are invaluable. A very practical approach to Agile
software development.
—Prof. Rakhi Saxena, Assistant Professor, Delhi University, India

The authors have accomplished a very welcome juxtaposition of theory and practice for any
modern beginning to advanced Software Engineering course ...I have used the Beta Edition of this
book very successfully in my advanced undergraduate software engineering course, where it
beautifully complements both my lectures and the team project.
—Prof. Ingolf Krueger, Professor, University of California at San Diego

A really good introduction book to practical Agile development. All you need is gathered in one
book with lots of practical examples.
—Dmitrij Savicev, Sungard Front Arena, Sweden
Engineering Software as a Service: An Agile
Approach Using Cloud Computing
First Edition, 1.2.1
Armando Fox and David Patterson

Edited by Samuel Joseph

May 9, 2016

Copyright 2014–2016 Strawberry Canyon LLC. All rights reserved.

No part of this book or its related materials may be reproduced in any form without the written
consent of the copyright holder.

Book version: 1.2.1

The cover background is a photo of the Aqueduct of Segovia, Spain. We chose it as an example
of a beautiful, long-lasting design. The full aqueduct is about 20 miles (32 km) long and was built
by the Romans in the 1st or 2nd century A.D. This photo is from the half-mile (0.8 km) long, 92
feet (28 m) high above ground segment built using unmortared granite blocks. The Roman
designers followed the architectural principles in the ten-volume series De Architectura (“On
Architecture”), written in 15 B.C. by Marcus Vitruvius Pollio. It was untouched until the 1500s,
when King Ferdinand and Queen Isabella performed the first reconstruction of these arches. The
aqueduct was in use and delivering water until recently.

Both the print book and ebook were prepared with LaTeX, tex4ht, and Ruby scripts that use
Nokogiri (based on libxml2) to massage the XHTML output and HTTParty to automatically keep
the GitHub Gists and screencast URIs up-to-date in the text. The necessary Makefiles, style files
and most of the scripts are available under the BSD License at
http://github.com/armandofox/latex2ebook.

Arthur Klepchukov designed the covers and graphics for all versions.
About the Authors

Armando Fox is a Professor of Computer Science at UC Berkeley and the Faculty Advisor to the
UC Berkeley MOOCLab He received the ACM Karl V. Karlstrom Outstanding Educator Award for
2015, and during his previous time at Stanford, he received teaching and mentoring awards from
the Associated Students of Stanford University, the Society of Women Engineers, and Tau Beta Pi
Engineering Honor Society. He was named one of the “Scientific American 50” in 2003 and is the
recipient of an NSF CAREER award and the Gilbreth Lectureship of the National Academy of
Engineering. In previous lives he helped design the Intel Pentium Pro microprocessor and founded
a successful startup to commercialize his UC Berkeley dissertation research on mobile computing,
which included the world’s first graphical web browser running on a mobile device (Top Gun
Wingman on the Palm Pilot). He received his other degrees in electrical engineering and computer
science from MIT and the University of Illinois and is an ACM Distinguished Scientist. He is also a
classically-trained musician and freelance Music Director, and a bilingual/bicultural (Cuban-
American) New Yorker transplanted to San Francisco.

David Patterson is the Pardee Professor of Computer Science at UC Berkeley. In the past, he
served as Chair of Berkeley’s Computer Science Division, Chair of the Computing Research
Association, and President of the Association for Computing Machinery. His best-known research
projects are Reduced Instruction Set Computers (RISC), Redundant Arrays of Inexpensive Disks
(RAID), and Networks of Workstations (NOW). This research led to many papers, 6 books, and
more than 35 honors, including election to the National Academy of Engineering, the National
Academy of Sciences, and the Silicon Valley Engineering Hall of Fame as well as being named a
Fellow of the Computer History Museum, ACM, IEEE, and both AAAS organizations. His teaching
awards include the Distinguished Teaching Award (UC Berkeley), the Karlstrom Outstanding
Educator Award (ACM), the Mulligan Education Medal (IEEE), and the Undergraduate Teaching
Award (IEEE). He also won Textbook Excellence Awards (“Texty”) from the Text and Academic
Authors Association for this book and one in computer architecture. He received all his degrees
from UCLA, which awarded him an Outstanding Engineering Academic Alumni Award. He grew up
in California, and for fun he enters sporting events with his two adult sons, including weekly soccer
games and charity bike rides.

About the Editor

Samuel Joseph is an Associate Professor of Computer Science at Hawaii Pacific University (HPU)
and Co-Founder and Trustee Chair of the UK-based charity Agile Ventures, which coordinates
learning developers contributing to open source projects for non-profit organizations. He has
previously been the Head of Education and Engineering at the London Coding Bootcamp “Makers
Academy” and an Associate Researcher at the University of Hawaii at Manoa (UHM). He is a
recipient of the Raymond Hide Prize for Astrophysics and a Toshiba Fellowship. He teaches courses
on game and mobile programming and design, software engineering, and scientific research
methods, from London, UK. His main research interests are in software to support online
collaborative learning, especially remote pair programming. His degrees in Astrophysics, Cognitive
Science and Computer Science are from the University of Leicester, the University of Edinburgh,
and UHM. Sam grew up in the UK and lived in Japan and Hawaii before returning to the UK with
his Japanese wife and three Hawaiian-born sons. His spare time is taken up biking, jogging and
trying to keep up with his guitar, drum and soccer playing sons.
Dedication
Armando Fox dedicates this book to his wife and best friend Tonia, whose support while writing it
made all the difference, and to Pogo, under whose careful supervision much of it was written and
whose feisty spirit will always inhabit our home and our hearts.

David Patterson dedicates this book to his parents and all their descendants:
—To my father David, from whom I inherited inventiveness, athleticism, and the courage to fight
for what is right;
—To my mother Lucie, from whom I inherited intelligence, optimism, and my temperament;
—To our sons David and Michael, who are friends, athletic companions, and inspirations for me to
be a good man;
—To our daughters-in-law Heather and Zackary, who are smart, funny, and caring mothers to our
grandchildren;
—To our grandchildren Andrew, Grace, and Owyn, who give us our chance at immortality (and who
helped with marketing for this book);
—To my younger siblings Linda, Don, and Sue, who gave me my first chance to teach;
—To their descendants, who make the Patterson clan both large and fun to be with;
—And to my beautiful and understanding wife Linda, who is my best friend and the love of my life.
Contents

♦ Preface

♦ 1 Introduction to SaaS and Agile Development

1.1 Introduction
1.2 Software Development Processes: Plan and Document
1.3 Software Development Processes: The Agile Manifesto
1.4 Service Oriented Architecture
1.5 Software as a Service
1.6 Cloud Computing
1.7 Beautiful vs. Legacy Code
1.8 Software Quality Assurance: Testing
1.9 Productivity: Conciseness, Synthesis, Reuse, and Tools
1.10 Guided Tour of the Book
1.11 How NOT to Read this Book
1.12 Fallacies and Pitfalls
1.13 Engineering Software is More Than Programming
1.14 To Learn More
1.15 Suggested Projects
Software as a Service

♦ 2 The Architecture of SaaS Applications

2.1 100,000 Feet: Client-Server Architecture


2.2 50,000 Feet: Communication—HTTP and URIs
2.3 10,000 Feet: Representation—HTML and CSS
2.4 5,000 Feet: 3-Tier Architecture & Horizontal Scaling
2.5 1,000 Feet: Model-View-Controller Architecture
2.6 500 Feet: Active Record for Models
2.7 500 Feet: Routes, Controllers, and REST
2.8 500 Feet: Template Views
2.9 Fallacies and Pitfalls
2.10 Concluding Remarks: Patterns, Architecture, and Long-Lived APIs
2.11 To Learn More
2.12 Suggested Projects

♦ 3 SaaS Framework: Introduction to Ruby


3.1 Overview and Three Pillars of Ruby
3.2 Everything is an Object
3.3 Every Operation is a Method Call
3.4 Classes, Methods, and Inheritance
3.5 All Programming is Metaprogramming
3.6 Blocks: Iterators, Functional Idioms, and Closures
3.7 Mix-ins and Duck Typing
3.8 Make Your Own Iterators Using Yield
3.9 Fallacies and Pitfalls
3.10 Concluding Remarks: Idiomatic Language Use
3.11 To Learn More
3.12 Suggested Projects

♦ 4 SaaS Framework: Introduction to Rails

4.1 Rails Basics: From Zero to CRUD


4.2 Databases and Migrations
4.3 Models: Active Record Basics
4.4 Controllers and Views
4.5 Debugging: When Things Go Wrong
4.6 Form Submission: New and Create
4.7 Redirection and the Flash
4.8 Finishing CRUD: Edit/Update and Destroy
4.9 Fallacies and Pitfalls
4.10 Concluding Remarks: Designing for SOA
4.11 To Learn More
4.12 Suggested Projects

♦ 5 SaaS Framework: Advanced Rails

5.1 DRYing Out MVC: Partials, Validations and Filters


5.2 Single Sign-On and Third-Party Authentication
5.3 Associations and Foreign Keys
5.4 Through-Associations
5.5 RESTful Routes for Associations
5.6 Composing Queries With Reusable Scopes
5.7 Fallacies and Pitfalls
5.8 Concluding Remarks: Languages, Productivity, and Beauty
5.9 To Learn More
5.10 Suggested Projects

♦ 6 SaaS Client Framework: JavaScript Introduction


6.1 JavaScript: The Big Picture
6.2 Client-Side JavaScript for Ruby Programmers
6.3 Functions and Constructors
6.4 The Document Object Model and jQuery
6.5 Events and Callbacks
6.6 AJAX: Asynchronous JavaScript And XML
6.7 Testing JavaScript and AJAX
6.8 Single-Page Apps and JSON APIs
6.9 Fallacies and Pitfalls
6.10 Concluding Remarks: JavaScript Past, Present and Future
6.11 To Learn More
6.12 Suggested Projects
Software Development: Agile vs. Plan-and-Document

♦ 7 Requirements: BDD and User Stories

7.1 Introduction to Behavior-Driven Design and User Stories


7.2 Points, Velocity, and Pivotal Tracker
7.3 SMART User Stories
7.4 Lo-Fi User Interface Sketches and Storyboards
7.5 Agile Cost Estimation
7.6 Introducing Cucumber and Capybara
7.7 Running Cucumber and Capybara
7.8 Enhancing RottenPotatoes
7.9 Explicit vs. Implicit and Imperative vs. Declarative Scenarios
7.10 The Plan-And-Document Perspective
7.11 Fallacies and Pitfalls
7.12 Concluding Remarks: Pros and Cons of BDD
7.13 To Learn More
7.14 Suggested Projects

♦ 8 Testing: Test-Driven Development

8.1 Background: A RESTful API and a Ruby Gem


8.2 FIRST, TDD, and Red–Green–Refactor
8.3 Seams and Doubles
8.4 Expectations, Mocks, Stubs, Setup
8.5 Fixtures and Factories
8.6 Implicit Requirements and Stubbing the Internet
8.7 Coverage Concepts and Unit vs. Integration Tests
8.8 Other Testing Approaches and Terminology
8.9 The Plan-And-Document Perspective
8.10 Fallacies and Pitfalls
8.11 Concluding Remarks: TDD vs. Conventional Debugging
8.12 To Learn More
8.13 Suggested Projects

♦ 9 Maintenance: Legacy, Refactoring, and Agile

9.1 What Makes Code “Legacy” and How Can Agile Help?
9.2 Exploring a Legacy Codebase
9.3 Establishing Ground Truth With Characterization Tests
9.4 Comments
9.5 Metrics, Code Smells, and SOFA
9.6 Method-Level Refactoring
9.7 The Plan-And-Document Perspective
9.8 Fallacies and Pitfalls
9.9 Concluding Remarks: Continuous Refactoring
9.10 To Learn More
9.11 Suggested Projects

♦ 10 Project Management: Scrum, Pairs, and VCS

10.1 It Takes a Team: Two-Pizza and Scrum


10.2 Pair Programming
10.3 Agile Design and Code Reviews?
10.4 Version Control for the Two-Pizza Team: Merge Conflicts
10.5 Using Branches Effectively
10.6 Reporting and Fixing Bugs: The Five R’s
10.7 The Plan-And-Document Perspective
10.8 Fallacies and Pitfalls
10.9 Concluding Remarks: Teams, Collaboration, and Four Decades of Version Control
10.10 To Learn More
10.11 Suggested Projects

♦ 11 Design Patterns for SaaS Classes

11.1 Patterns, Antipatterns, and SOLID Class Architecture


11.2 Just Enough UML
11.3 Single Responsibility Principle
11.4 Open/Closed Principle
11.5 Liskov Substitution Principle
11.6 Dependency Injection Principle
11.7 Demeter Principle
11.8 The Plan-And-Document Perspective
11.9 Fallacies and Pitfalls
11.10 Concluding Remarks: Frameworks Capture Design Patterns
11.11 To Learn More
11.12 Suggested Projects

♦ 12 Performance, Releases, Reliability, and Security

12.1 From Development to Deployment


12.2 Quantifying Responsiveness
12.3 Continuous Integration and Continuous Deployment
12.4 Releases and Feature Flags
12.5 Quantifying Availability
12.6 Monitoring and Finding Bottlenecks
12.7 Improving Rendering and Database Performance With Caching
12.8 Avoiding Abusive Database Queries
12.9 Security: Defending Customer Data in Your App
12.10 The Plan-And-Document Perspective
12.11 Fallacies and Pitfalls
12.12 Concluding Remarks: Performance, Reliability, Security, and Leaky Abstractions
12.13 To Learn More
12.14 Suggested Projects

♦ 13 Afterword

13.1 Perspectives on SaaS and SOA


13.2 Looking Backwards
13.3 Looking Forwards
13.4 Last Words
13.5 To Learn More

♦Appendix A Using the Bookware

A.1 General Guidance: Read, Ask, Search, Post!


A.2 Overview of the Bookware
A.3 Development Using the Cloud9 IDE
A.4 Working With Code: Editors
A.5 Getting Started With Secure Shell (ssh)
A.6 Getting Started With Git for Version Control
A.7 Getting Started With GitHub
A.8 Deploying to the Cloud Using Heroku
A.9 Checklist: Starting a New Rails App
A.10 Fallacies and Pitfalls
A.11 To Learn More
Preface

Why so many quotes? We think quotes make the book more fun to read, but they are also an efficient mechanism to pass
along wisdom from elders to novices, and to help set cultural standards for good software engineering. We also want readers to
pick up a bit of history of the field, which is why we feature quotes from Turing Award winners to open each chapter and
throughout the text.

If you want to build a ship, don’t drum up the men to gather wood, divide the work and give
orders. Instead, teach them to yearn for the vast and endless sea.
—Antoine de Saint-Exupéry, Citadelle, 1948

Welcome!
There have been two dramatic software advances in the last decade that an an up-to-date
textbook must include. These twin advances constitute the two halves of this book.

The first half explains Software as a Service (wSaaS), which is revolutionizing the software
industry. Having a single copy of the program in the cloud with potentially millions of customers
places different requirements and offers new opportunities versus conventional shrink-wrap
software, in which customers install millions of copies of the program on their own computers.

The enthusiasm for SaaS by developers and customers has led to new highly-productive
frameworks for SaaS development. We use Ruby on Rails in this book because it is widely
believed to have the best tools for SaaS, but there are many other good examples of languages
and frameworks for SaaS: for example, Python/Django, JavaScript/Sails, and Java/Enterprise Java
Beans.

The question then is which software development methodology is best for SaaS. As there is only
one copy of the program and it is deployed in a controlled environment, it is easy to deploy new
features quickly and incrementally, and so SaaS evolves much more rapidly than shrink-wrap
software. Thus, we needed a software methodology in which change is the norm rather than the
exception.

Since industry often complains about weaknesses in software education, we also spoke to
representatives from many leading software companies including Amazon, eBay, Facebook, Google,
and Microsoft. We were struck by the unanimity of the number one request from each company:
that students learn how to enhance sparsely-documented legacy code. In priority order, other
requests were making testing a first-class citizen, working with non-technical customers, and
working in teams. The social skills needed to work effectively with nontechnical customers and
work well in teams surely are helpful for the developers’ whole careers; the question is how to fit
them into one book. Similarly, no one questions the emphasis on testing; the question is how to
get novices to embrace it. Thus, we needed an up-to-date software methodology that also works
well with legacy code, emphasizes testing, integrates non-technical customers, and embraces
working in teams rather than as lone wolves.

Coincidentally, about the same time that SaaS appeared on the scene, a group of developers
proposed the The Agile Manifesto, which was a radical change from prior methods. One of the
founding tenets of Agile is “responding to change over following a plan,” so it is a much better
match to the quickly evolving nature of SaaS than traditional “Plan-and-Document” methodologies
like Waterfall, Spiral, or RUP. Another Agile tenet is “customer collaboration over contract
negotiation,” which leads to weekly meetings with non-technical customers. Two critical Agile
foundations are behavior-driven design and test-driven development, which means tests
are written before the code, so testing really is a first class citizen in Agile. Agile ideas like pair
programming and scrum emphasize working with others. Agile techniques are even a good
match to evolving legacy code, as well shall see.

Therefore, the second half of the book explains Agile in the context of building and deploying a
SaaS application implemented using Ruby on Rails. In addition, each chapter gives the perspective
of the Plan-and-Document methodologies on topics like requirements, testing, management, and
maintenance. This contrast allows readers to decide for themselves when each methodology is
appropriate for SaaS and non-SaaS applications.

Fulfilling the Most Recent Curriculum Standard

The Instructors’ Manual, downloadable from http://esa.as, treats the instructor-facing topics of this chapter in depth.

From an instructor’s perspective, these dual views of software development allow the book to be
used for software engineering courses. For example, we’ve made sure that the material fulfills all
the requirements of the 2013 ACM/IEEE curriculum standard for Software Engineering; in fact,
roughly 45 of the end-of-chapter exercises come directly from the learning outcomes in the
standard. (We label them with a special margin icon, at right.) Stated alternatively, about 40% of
the learning outcomes of the standard are specific exercises and another 40% map directly onto
book chapters or sections, which in combination far exceed the 45% minimum that a course needs
to conform to the standard.

Massive Open Online Course (MOOC) to Aid Teachability


We had already decided to write a textbook when we were recruited in October 2011 to offer the
first part of the UC Berkeley course as a free Massive Online Open Course (MOOC). We ultimately
developed two MOOCs through BerkeleyX (the UC Berkeley partnership with the nonprofit edX)
covering the introductory and advanced material: CS169.1x and CS169.2x, available at saas-
class.org. As a result of the co-development of the book and the MOOCs, they are complementary:
the video segments of MOOCs map nearly one-to-one with sections of the book, and like the
MOOC segments, each book section ends with one or two short “Self-Check” questions. Enrollment
is free; to date, over 300,000 learners have experienced the MOOCs and over 20,000 have gained
certificates of completion, giving the book and materials a much bigger Beta test than we could
ever have envisioned!

The MOOCs are also a valuable instructor aid. Some instructors have had their students co-enroll
in the MOOC to take advantage of its automatically-graded programming assignments. Some
instructors have “flipped their classrooms,” having students watch the MOOC videos and devoting
class time to problem solving and other activities, while other instructors have used the videos to
prepare their own material. The autograders are constantly being enhanced and new assignments
created that take advantage of them.

In fact, interested instructors can even get a private version of the MOOC—a SPOC, or Small
Private Online Course—which they can customize to their needs and still take advantage of
autograded programming assignments and other MOOC features. The Instructor Resources page
on the book’s website has information on how to request a SPOC, as well as a report describing
other instructors’ experience with SPOCs in their own classrooms. SPOC instructors can even
participate in a biweekly conference call to discuss problems and ideas with colleagues using the
same material, such as creating new assignments that take advantage of the autograders.

Organization
The book is organized into two main parts: the first covers the big ideas and essential technologies
of Agile+SaaS, while the second focuses on the tools and techniques for practicing the Agile
lifecycle and effectively managing SaaS design, construction, and deployment.

These parts correspond to two main units of material, with an optional but recommended student
project providing a third unit. Unit 1, which corresponds roughly to the content of the CS169.1x
MOOC, covers the basics of building a simple SaaS app using Rails and the Agile lifecycle. Unit 2
introduces more advanced software engineering concepts such as design patterns, working with
legacy code, and basics of SaaS performance and security (“DevOps”), corresponding roughly to
the content of BerkeleyX CS169.2x. Each of these units includes autogradable assignments,
supplementary online materials for instructors such as question banks and exams, and so on. In
Unit 3, students use the skills acquired in the first and/or second parts to develop an open-ended
team project. At present there is no corresponding MOOC (though we are exploring ideas) but the
Instructors’ Manual distills the lessons we’ve learned facilitating successful (and less-successful)
student projects.

At Berkeley, we cover all three components in a single, aggressive 14-week course (3 hours of
lecture, 1 hour of seminar/recitation, and 8 non-classroom hours of work per week), in which four
Agile iterations of the group project partially overlap unit 2. The Instructors’ Manual describes our
syllabus as well as many other possible options, for example:

A two-course sequence, covering Units 1 and 2 in the first course and devoting the
second course to a semester-long or quarter-long project
A single course covering only Units 1 and 3, limiting the project’s complexity to the skills
learned in Unit 1
A single course covering all the units but omitting specific elements to meet a length
constraint, such as omitting JavaScript (Chapter 6) or DevOps (Chapter 12).

However the course is factored, the nearly one-to-one correspondence between book sections and
MOOC/SPOC lecture videos makes it easy to recombine course modules in whatever way works
best for your classroom.

Student Projects and Learning By Doing


The ACM/IEEE software engineering curriculum guidelines emphasize the value of an iterative
approach in which students assess and revise their work continuously. We have found that
students are much more likely to actually follow the Agile methodology because the Ruby on Rails
tools, which we introduce in this book, make it easy and because the advice is genuinely helpful
for their projects. We believe Agile offers learning skills that transfer to non-agile projects, should
need arise. We even show how to use Agile techniques on legacy code that wasn’t developed that
way to begin with; that is, Agile is good for more than just writing new code from scratch. To
facilitate such learning by doing, the book’s website provides a one-line setup script to configure
the Cloud9 cloud-based development environment, which can be accessed from any web browser.
The free screencasts may be useful to both instructors and students as demonstrations of how to
use these tools.

The ACM/IEEE curriculum guidelines also highlight team projects as a critical learning mechanism
for software engineering students. The experience of many instructors (including ourselves) is that
students enjoy learning and using Agile in projects. Its iteration-based, short-planning-cycle
approach is a great fit for the reality of crowded undergraduate schedules and fast-paced courses.
Busy students will by nature procrastinate and then pull several all-nighters to get a demo cobbled
together and working by the project deadline; Agile not only thwarts this tactic (since students are
evaluated on progress being made each iteration) but in our experience actually leads to real
progress using responsible practices on a more regular basis.

To help you run successful projects, the Instructors’ Manual contains detailed suggestions for
organizing and scheduling project milestones in a classroom course, and gives example rubrics for
grading the projects based on both the artifacts produced and the processes used to produce
them, taking full advantage of being able to do multiple iterations in a single course. We also
survey each generation of students to determine what they learned from the projects and where
they had difficulty; the Instructors’ Manual distills these “habits of highly effective projects” based
on several offerings of the course at UC Berkeley and elsewhere.

Why Write a New Book?


Prospective authors wouldn’t write a new book if they thought the old ones were up-to-date and
easy to teach from. Our dissatisfaction differs depending on the part of the book.
Figure 1: These 12 books contain more than 5000 pages. Your authors read more than 50 books to prepare this text.
Most of these books are listed in the To Learn More sections at the end of the appropriate chapters.
Figure 2: Another 12 books your authors read also contain more than 5000 pages. Most of these books are listed in
the To Learn More sections at the end of the appropriate chapters.

For Part 1, the problem isn’t that there are too few good books on the SaaS topics, but that there
are too many! Our first step in writing was to read them. Figures 1 and 2 show just 24 of the 50+
books we consulted, and just these 24 represent more than 10,000 pages! The sheer mass of
these books can intimidate beginners. Therefore, one reason we wrote a new book is simply to
offer a coherent introduction and up-to-date overview of all SaaS topics within a single relatively
slim, inexpensive volume. As one reviewer of the Alpha edition complained, there is nothing new in
Part 1, as long as you have the budget and time to buy and read dozens of books. We can live
with that critique!

Regarding Part 2, there are a few choices of textbooks on software engineering, but none that you
would call up-to-date, slim, or inexpensive. While the reviews of the SaaS books we consulted are
often excellent—4 out of 5 stars or higher on Amazon.com—that is not the case for these software
engineering textbooks. The two most widely-used textbooks get ratings between 2 and 3 stars,
and the reviewer comments are unkind.

One reason may be that these books are primarily long, qualitative surveys of the literature—listing
many options on each topic based published research papers and books—but offer few concrete
clues or methods on how to pick from among them. Another reason may be that the first editions
were written long before SaaS and Agile appeared on the scene, and it is difficult to gracefully
integrate up-to-date perspectives into older material.

This is déjà vu, as one of your authors had the same feelings about computer architecture
textbooks 25 years ago; they were just long, qualitative surveys of related products and research
papers with no framework for readers to pick between the implementation options. Moreover,
there had been a dramatic and (at the time) controversial change in computer architecture that
was not reflected in these books. This dissatisfaction led one of your authors and a friend to write
a book that was very different from conventional computer architecture textbooks.

Repeating history, then, Part 2 is very different from conventional software engineering textbooks.
It treats Agile as a first class citizen and gives concrete, hands on examples of code and tools to
follow the Agile process that can really lead to products that match customers’ needs. As
mentioned above, each chapter in Part 2 also presents the Plan-and-Document perspective to help
readers appreciate Agile and to see where it should and should not be used.

Our goal for each part is to bring a diverse set of topics together into a single narrative, to help
you understand the most important ideas by giving concrete examples. We can then imagine
someone already familiar with Agile in Part 2 to read the book just to learn about SaaS in Part 1, or
vice versa. If you’re new to the topic—or if your education precedes the development of SaaS and
Agile—then you get a double-barreled, synergistic introduction to this new and exciting software
era. This sharp focus led to a book that covers both of the recent advances of SaaS and Agile
software development in approximately half of the chapters and half of the pages at a quarter of
the price of conventional software engineering textbooks.

Errata and Supplementary Content


From an author’s perspective, one delightful feature of electronic textbooks is that we can update
all electronic copies of an edition when readers find mistakes in the book. We have been collecting
the Errata together and released updates a few times a year. The book’s website shows the latest
version of the book and a brief description of the changes since the previous version. Previous
errata can be reviewed, and new ones reported, on the book’s website. We apologize in advance
for the problems you find in this edition, and look forward to your feedback on how to improve this
material.

One inherent downside of reading an electronic book on an electric book reader like the Kindle is
that the there are many widths of displays, that people read with many different font sizes, and
that some people prefer to read in landscape mode and that some prefer portrait mode, so there is
no way to guarantee that the book will be formatted in a way that authors expect. This problem is
particularly acute for figures and tables.

To examine a figure or table that is hard to read, please try:

1. Rotating from portrait mode to landscape mode, or vice versa, depending on the
orientation of the figure, which should automatically expand the figure.
2. Tapping or double-tapping on figure in the text to isolate the figure on the screen, which
may allow zooming in.

History of this Book


The material in this book started as a byproduct of a Berkeley research project that was
developing technology to make it easy to build the next great Internet service. We decided that
young people were more likely to come up with such a service, so we started teaching Berkeley
undergraduates about Software as a Service using Agile techniques in 2007. Each year the course
improved in scope, ambition, and popularity, embracing the rapid improvements in the Rails tools
along the way. Between 2007 and 2013, our enrollments followed Moore’s Law: 35, 50, 75, 115,
165, and 240.

A colleague suggested that this would be excellent material for the software engineering course
that has long been taught at Berkeley, so one of us (Fox) taught that course with this new content.
The results were so impressive that the other of us (Patterson) suggested that writing a textbook
would let others benefit from this powerful curriculum.

These ideas crystallized with the emerging viability of electronic textbooks and the possibility of
avoiding the costs and delays of a traditional publisher. In March 2011, we made a pact to write
the book together. We were equally excited by making the material more widely available and
about rethinking what an electronic textbook should be, since up until then they were essentially
just the PDFs of print books.

We talked to others about the content. We attended conferences such as SIGCSE (Special Interest
Group in Computer Science Education), the Conference on Software Engineering Education and
Training, and the Federated Computing Research Conference both to talk with colleagues and to
send them a survey to get their feedback.

Given the perspective of educators and industrial colleagues, we proposed an outline that we
thought addressed all these concerns, and started writing in June 2011. Given Fox’s much greater
expertise on the subject, the plan was for him to write roughly two-thirds of the chapters and
Patterson the rest. Both of us collaborated on the organization and were first reviewers for each
other’s chapters. We’ve ended up writing some sections each other’s chapters, so it’s a little more
mixed than we expected. Fox authored Chapters 2, 3, 4, 5, 6, 8, 9, 11, 12, Appendix A, and
Sections 10.4 to 10.6, while Patterson wrote Chapters 1,7, 10, the Preface, the Afterword, the
Instructors’ Manual, and the Plan-and-Document Perspectives in Sections 7.10, 8.9, 9.7, 10.7, 11.8,
and 12.10. Fox also created the LaTeX pipeline that let us produce the many formats of the book
for the various electronic and print targets.

We offered an Alpha edition of the textbook for 115 UC Berkeley students and thousands of MOOC
students in the Spring semester 2012. Based on their feedback, the Beta edition was ready by Fall
2012, when it was used at Berkeley and several other schools. A Second Beta edition in May 2013,
with new material based on careful study of the 2013 ACM/IEEE Computer Society curriculum
standard, was tested again by Berkeley and MOOC students in Fall of 2013, leading to this (very
well tested!) first edition.

Specific SaaS Companies and Products


Where possible, we focus on free and/or open-source software and services so that students can
get hands-on experience with the examples without incurring additional out-of-pocket costs. A
number of companies in the SaaS ecosystem have agreed to provide special trial offers of useful
tools and services; the book’s website lists the constantly-evolving set of special offers available to
instructors and students using this book. None of this affected the book’s content, which was
frozen long before these arrangements were made.

Therefore, when we use specific Web sites, tools, products, or trade names to ground the book’s
examples in reality, unless specifically noted we have no formal connection to any of these sites,
tools, or products, and the examples are for informational purposes only and not meant as
commercial endorsements. Any trademarked names mentioned are the property of their respective
owners and mentioned here for informational purposes only.

The authors’ opinions are their own and not necessarily those of their employer.

Acknowledgments
We thank our industrial colleagues who gave us feedback on our ideas about the course and the
book, especially these awesome individuals, listed alphabetically by company: Peter Vosshall,
Amazon Web Services; Tony Ng, eBay; Tracy Bialik, Brad Green, and Russ Rufer, Google Inc.; Peter
Van Hardenberg, Heroku; Jim Larus, Microsoft Research; Brian Cunnie, Edward Hieatt, Matthew
Kocher, Jacob Maine, Ken Mayer, and Rob Mee, Pivotal Labs; Jason Huggins, SauceLabs; and Raffi
Krikorian, Twitter.

We thank our academic colleagues for their feedback on our approach and ideas, especially Fred
Brooks, University of North Carolina at Chapel Hill; Marti Hearst and Paul Hilfinger, UC Berkeley;
Timothy Lethbridge, University of Ottawa; John Ousterhout, Stanford University; and Mary Shaw,
Carnegie-Mellon University.

We deeply thank the content experts who reviewed specific chapters: Danny Burkes, Pivotal Labs;
Timothy Chou, Stanford; Daniel Jackson, MIT ; Jacob Maine, Pivotal Labs; John Ousterhout,
Stanford University; and Ellen Spertus, Mills College.

Thanks to Alan Fekete, University of Sydney, for pointing us to the 2013 ACM/IEEE Computer
Society Curriculum on Software Engineering in time for us to consider it.

We’re especially grateful to the Beta testers who used early versions of our book in their own
classrooms, starting with Samuel Joseph, Hawaii Pacific University, who also serves as Lead
Facilitator for the CS169.1x and CS169.2x MOOCs and whose extensive contributions to the
development and improvement of both the course materials and the textbook material made it
clear that we should ask him to assume the official mantle of Editor. Other early adopters who
continue to give valuable feedback and contribute to the course materials include Daniel Jackson,
MIT; Richard Ilson, University of North Carolina at Charlotte; Ingolf Krueger, University of
California, San Diego; Kristen Walcott-Justice, University of Colorado–Colorado Springs; Rose
Williams, Binghamton University; and Wei Xu, Tsinghua University, who was the first to test this
material in a classroom outside the United States and who facilitated our relationship with
Tsinghua University Press to produce the Chinese language edition of the book.

Part of the “bookware” is the collection of excellent third-party sites supporting SaaS development.
For their help in connecting us with the right products and services that could be offered free of
charge to students in the class, and valuable discussion on how to use them in an educational
setting, we thank Ann Merrihew, Kurt Messersmith, Marvin Theimer, Jinesh Varia, and Matt Wood,
Amazon Web Services; Kami Lott and Chris Wanstrath, GitHub; Maggie Johnson and Arjun
Satyapal, Google Inc.; James Lindenbaum, Heroku; Juan Vargas and Jennifer Perret, Microsoft;
Rob Mee, Pivotal Labs; Dana Le, Salesforce; and John Dunham, SauceLabs.

We thank our graduate student instructors Kristal Curtis and Shoaib Kamil for helping us reinvent
the on-campus class that led to this effort, and graduate student instructors Michael Driscoll and
Richard Xia for helping us make scalable automatic grading a reality for the thousands of students
that enrolled in the online course. Last but far from least, we thank our dedicated undergraduate
lab staff over various iterations of the class since 2008: Alex Bain, Aaron Beitch, Allen Chen, James
Eady, David Eliahu, Max Feldman, Amber Feng, Karl He, Arthur Klepchukov, Jonathan Ko, Brandon
Liu, Robert Marks, Jimmy Nguyen, Sunil Pedapudi, Omer Spillinger, Hubert Wong, Tim Yung, and
Richard Zhao.

We’d also like to thank Andrew Patterson, Grace Patterson, and Owyn Patterson for their help in
marketing the book, as well as to their managers Heather Patterson, Michael Patterson, David
Patterson, and Zackary Patterson.

Finally, we thank the hundreds of UC Berkeley students and the hundreds of thousands of MOOC
students for their debugging help and their continuing interest in this material!

Armando Fox and David Patterson


May, 2016
Berkeley, California
1. Introduction to Software as a Service and Agile
Software Development
Sir Maurice Wilkes (1913–2010) received the 1967 Turing Award for
designing and building EDSAC in 1949, one of the first stored program
computers. The Turing Award is the highest award in computing, which
the Association for Computing Machinery (ACM) has bestowed annually
since 1966. Named after computing pioneer Alan Turing, it is known
informally as the “Nobel Prize of Computer Science.”

(This book uses sidebars to include what your authors think are
interesting asides or short biographies of computing pioneers that
supplement the primary text. We hope readers will enjoy them.)

It was on one of my journeys between the EDSAC room and the punching equipment that
“hesitating at the angles of stairs” the realization came over me with full force that a good part of
the remainder of my life was going to be spent finding errors in my own programs.
—Maurice Wilkes, Memoirs of a Computer Pioneer, 1985
Another Random Document on
Scribd Without Any Related Topics
The Project Gutenberg eBook of
Erzgebirgische Geschichten. Erster Band
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Erzgebirgische Geschichten. Erster Band

Author: August Peters

Release date: November 25, 2017 [eBook #56045]


Most recently updated: October 23, 2024

Language: German

Credits: Produced by The Online Distributed Proofreading Team at


http://www.pgdp.net (This transcription was produced from
images generously made available by Bayerische
Staatsbibliothek / Bavarian State Library.)

*** START OF THE PROJECT GUTENBERG EBOOK ERZGEBIRGISCHE


GESCHICHTEN. ERSTER BAND ***
Anmerkungen zur Transkription
Das Original ist in Fraktur gesetzt. Im Original gesperrter Text ist so ausgezeichnet. Im
Original in Antiqua gesetzter Text ist so markiert.
Weitere Anmerkungen zur Transkription befinden sich am Ende des Buches.
Erzgebirgische Geschichten
von

Elfried von Taura,


Verfasser von: »Die stille Mühle« etc. etc.

Erster Band.

Hannover.
Carl Rümpler.
1858.
Druck von August Grimpe in Hannover.
Inhalt.
Bretschneiderfritz.
Die Fundgrube Vater Abraham.
Der Gimpelkönig.
I.
Bretschneiderfritz.
1.
Hoch auf dem Plateau des Erzgebirges, in der nordöstlichen
Nachbarschaft des Keilberges, erhebt sich, weit nach Mitternacht
und Morgen sichtbar, die rautenförmige Basaltkegelgruppe des
Bärenstein, Scheibenberg, Pöhlberg und Haßberg. Es ist ein Raum
von wenig Geviertstunden, den sie umschließt, aber ein Raum voll
landschaftlicher und menschlicher Contraste. Die üppigsten
Wiesengründe wechseln mit kahlen Bergkuppen und
hochgethürmten Felsen, die herrlichsten Tannenwälder mit den
traurigsten Torfmooren, die belebtesten, von bienenfleißigen
Menschen wimmelnden Gegenden mit menschenleeren Wüstungen
und die abgeschliffensten, auf der Höhe der Civilisation stehenden
Stadtbewohner mit Gemeinden, die noch um Jahrzehente hinter
jenen zurück sind. Tiefer als die Kluft, welche die Gegensätze der
Bildung scheidet, kann das tiefe Thal nicht sein, welches die ganze
Fläche in zwei Hälften scheidet, eine östliche und westliche. Aber
von welchen Gegensätzen wüßte der Bach zu erzählen, der das Thal
bald sanft, bald wild durchströmt, wenn wir ihn fragen wollten! Es
genügt hier zu wissen, daß er in seinem obern Lauf die Grenze
zweier Staaten und zweier Kirchengebiete bildet, daß er anfangs
durch ein flaches Wiesenthal, dann durch ein enges, tiefes, felsiges
Waldthal und endlich durch das tiefe und weite Thal von Königswald
fließt. Da wo der schöne Bach die Grenze eines der augenfälligsten
landwirthschaftlichen Contraste überschreitet, an der untern
Oeffnung des erwähnten Waldthales, bespült er den Garten einer
Försterei und treibt unterhalb derselben eine Mahl- und Sägmühle,
oder, wie man hierzuland sagt, Bretmühle.
Es wird mir weh ums Herz, so oft ich an diese Bretmühle denke.
Denn immer muß ich da auch an den armen Bretschneiderfritz
denken, der einst dort lebte und, wiewohl er fast nie aus dem Thal
gekommen, mehr erlebte als manches Menschenkind, das die halbe
Welt am Wanderstabe durchmessen.
Wenn ich so um zwanzig Jahre in meiner Erinnerung zurückgehe,
was war da der Bretschneiderfritz von Königswald für ein Mann! Alt
und Jung hatte ihn gern und ehrte ihn als Einen, der sein Fach
verstand und auch noch etwas mehr, der dabei ein rechtschaffen
Stück Geld verdiente und »lebte und leben ließ.« Zwar der Förster
drüben über dem Bach war nicht ganz gleicher Meinung mit den
Königswaldern, denn er hatte den Fritz im Verdacht, daß er um die
schönen Stämme und Klötze wisse, die von Zeit zu Zeit aus dem
Theile des Reviers verschwanden, welcher mit dem Pöhlwasser
zunächst der Bretmühle »raint«. Er konnte jedoch nichts auf ihn
bringen, und so blieb Fritzens Ansehen bei den Königswaldern
ungeschmälert. Er war kein Jüngling mehr, denn er hatte bereits in
den Zwanzigern nichts mehr zu suchen, doch war er noch immer ein
Junggeselle. Nicht als ob es ihm an Gelegenheit zum »Freien«
gefehlt hätte! In Königswald mangelt es so wenig als anderwärts an
heirathslustigen Jungfern, und da der Fritz ein »feiner Bursch« war,
so hätte mehr als eine und nicht die schlechteste mit beiden Händen
zugegriffen, wenn er gesagt hätte: »Nimm mich!« Aber unser Fritz
war ein wenig wählerisch und zuletzt gab es nur Eine in Königswald,
der er Herz und Hand schenken mochte, das war Kordel, die Mündel
seines Brodherrn, des Müllers.
Da hatte es nun so seinen besondern Haken, daß Fritz mit seinem
Werben nicht recht vom Flecke kam. Nicht als ob er dem Mädchen
nicht angestanden hätte, im Gegentheil, sie hatte deß vor ihren
Freundinnen gar keinen Hehl, daß sie den Fritz gern habe; aber
dieser war so bis über die Ohren in sie verliebt, daß er nicht wußte,
wie er an sie kommen sollte. Das Mädchen hatte so sein eigenes
Köpfchen, was sie von allen schönen Königswalderinnen unterschied:
wie sie immer etwas Apartes vor diesen haben mußte, sei es nun an
ihren Kleidern oder in der Art, wie sie das üppige kastanienbraune
Haar scheitelte und aufsteckte, so wollte sie auch von den Männern
anders genommen sein, wie jene, namentlich wollte sie dem Mann
ihrer Wahl keinen Schritt entgegengehen, woran es die andern
jungen Königswalderinnen keineswegs fehlen ließen. Dem
Bretschneiderfritz machte Kordel's zurückhaltendes Wesen viel
Herzensnoth, und in dieser verfiel er auf einen Weg, auf den er am
allerwenigsten hätte verfallen sollen: er entdeckte sich dem Müller
und bat ihn um seine Fürsprache. Der Müller sagte ihm ihre Hand
ohne Weiteres zu, gerade als ob er als Vormund nur so mir nichts dir
nichts über ein freies Menschenwesen hätte verfügen dürfen. Es war
ihm indeß mit seiner Zusage gar nicht so ernst, wie er that,
wenigstens schob er ihre Erfüllung auf die lange Bank, und das war
Fritzens Unglück.
In Königswald hieß es schon lange, daß Fritz und Kordel auf dem
Punkte ständen, ein Paar zu werden; da fehlte es denn wie
gewöhnlich nicht an spitziger Neckerei, noch an neidischer Afterrede.
Wäre das Gerücht wahr gewesen, so hätte sich Kordel aus Beidem
nichts gemacht, aber da die Sache noch im weiten Felde stand, Fritz
noch kein Sterbenswörtchen von Liebe und Heirath zu ihr gesagt
hatte, so verdroß es sie, so »in der Leute Mäuler herumzugehen«,
und sie wurde dem Fritz fast böse, daß er das Gerücht vom
Brautstand veranlaßt und doch nicht wahr machte. Als es ihr gar zu
bunt ward, meinte sie, sie wolle dem Gerede bald ein Ende machen;
es müsse ja der Fritz nicht sein; es gäbe der Bursche noch genug in
der Welt, und der erste Beste, der sie haben wolle, und der ihr
gefalle, solle sie heimholen. – »Ja« – mußte sie aber dann lächelnd
einwenden – »wenn nur erst Einer käme, so »fein wie der Fritz«
oder »noch a Bissel feiner.« – »Je nun« – raisonnirte der Trotzkopf,
sich stolz in die Höhe werfend, weiter – »wer weiß, es kann morgen
Einer kommen.«
Es war eines Sonntags, als sie aus der Kirche kam, wo sie dieses
Selbstgespräch hielt, und sie war dazu durch die Neckerei ihrer
Freundinnen auf dem Kirchhof veranlaßt worden. Ihr Weg führte sie
an ihrem von den Eltern ererbten Häuschen vorüber, welches jetzt
eine alte Muhme bewohnte, die als Sibylle von Königswald bei allen
jungen Mädchen, verliebten Burschen, wie lottospielenden Weibern
und Männern des Ortes in hohem Ansehen stand. Kordel fand sich
bei den letzten Worten ihres Selbstgesprächs gerade vor ihrem
Besitzthum; was war bei der Richtung ihrer Gedanken natürlicher, als
daß sie hineinging, die »Muhme Beate« zu fragen, was für ein Mann
ihr beschieden wäre. Die Alte empfing ihre jugendliche Hauswirthin
mit zuvorkommender Dienstwilligkeit – ihr sibyllinisches Buch aus
zweiunddreißig Blättern lag auf dem Tisch, eh' Kordel ihren Wunsch
noch ausgesprochen hatte. Richtig! da war es ja ganz offenbar: ihr
war »ein junger, schöner Herr in einem grünen Rock« beschieden,
nicht aus Königswald, sondern weit, weit her – aus Leipzig oder
Dresden, wo nicht gar aus Bautzen;« er war bereits unterwegs und
eh' drei Tage vergingen, konnte sie ihn schon gesehen haben.
Es soll mich wundern, wenn Kordel an diesem Abend so
geschwind eingeschlafen ist, wie sonst, und wenn sie nicht von dem
Grünrock geträumt hat. Der Montag verging, ohne daß er ihr den
Verheißenen vor die Augen brachte, so oft sie auch zum Fenster
hinaussah oder sich im Hofe, im Garten und auf der Wiese zu thun
machte. Aber sonderbar – Abends beim Essen erzählte der Müller,
daß beim Förster drüben ein neuer Gehülfe angekommen sei, ein
»kreuzfideler Kauz«, mit dem er auf dem Weiperter Blechhammer
einen so vergnügten Nachmittag zugebracht habe, wie lange keinen.
Kordel wurde roth bis in den Nacken, und diese Nacht träumte sie
wirklich von einem Grünrock.
Am andern Morgen litt es sie nicht im Hause; kaum hatte sie ihren
Kaffee getrunken, so nahm sie Sense und »Wetzkitze« und eilte auf
die Wiese, die der Pöhlbach vom Garten des Försters trennte, dort
zu mähen. Denn der Müller hielt sie nicht zum Staat in seinem
Hause, sondern ließ sie ihr Brod ordentlich verdienen. Sie hatte
kaum zwei Schwaden nieder, da horch! – so etwas hatte sie noch nie
gehört, – aus dem offenen Giebelfenster des Forsthauses sang eine
Tenorstimme, gegen welche die des Kantors nur heiseres Gekrächze
war, das schöne Lied: »Es blies ein Jäger wohl in sein Horn – trarah
– trarah – trarah etc.« Das Mädchen vergaß gar das Mähen über den
wunderholden Tönen, und die Empfindungen, welche Text und
Melodie athmen, strömten in solchen Schauern durch ihre Brust, daß
diese das fesselnde Mieder zu zersprengen drohte.
Auch den Bretschneider lockte der ungewohnte Sang an sein
Fensterlein, das nach dieser Seite herausgeht, und wie ihm wurde,
als er sein Lieb nur fünfzig Schritte von dem Forsthause auf ihre
Sense gelehnt in Zuhören versunken sah, das will ich Niemand
sagen. Aber es sollt' ihm noch schlimmer werden. Denn das Lied war
kaum zu Ende und Kordel hatte kaum die Sense wieder in Bewegung
gesetzt, da kommt ein schlanker grünrockiger Gesell mit fliegenden
schwarzen Locken zum Forsthause heraus, setzt wie ein Hirsch über
den Bach und ist wie der Blitz an Kordel's Seite.
»Guten Morgen, Jungfer Nachbarin!« grüßte der Wildfang. – »So
schöne Gelegenheit, Unterricht in der Landwirthschaft zu erhalten,
finde ich im Leben nicht wieder; da muß ich gleich Stunde nehmen.
Ich bitte!« Und damit nimmt er die Sense aus der Hand des
erglühenden und bebenden Mädchens.
»Ach, verzeihen Sie!« fährt er zu sprechen fort. – »Ich habe Sie
erschreckt – dictiren Sie mir welche Strafe Sie wollen, und zürnen
Sie mir nicht!«
»Geben Sie mir meine Sense!« stammelte das verlegene Kind.
»Warten Sie nur einen Augenblick!« versetzte der kecke Mensch. –
»Wenn Sie mir böse sind, so muß ich Ihren Vater, das fidele Haus,
rufen, daß er meinen Advocaten bei Ihnen mache.«
»Der Müller ist nicht mein Vater«, versetzte sie, »sondern nur
mein Vormund.«
»So vertritt mein alter Freund von gestern also doch Vaterstelle
bei Ihnen. Wie ist es, muß ich mir seinen Beistand erbitten, oder
verzeihen Sie mir so?«
»Ich habe ja nichts zu verzeihen.«
»Wohlan, Ihre Hand! O welche allerliebste kleine Hand! Man sollte
nicht meinen, daß sie solche Arbeit verrichten könnte.«
»O Sie sollen gleich sehen, ob sie's kann; geben Sie mir nur die
Sense!«
Er behielt sie jedoch und schickte sich an, eine Schwade zu hauen.
»Um Gotteswillen!« schrie das Mädchen, ihm in den Arm fallend,
»so hauen Sie sich ja die Zehen weg.« Und nun nahm sie die Sense
und zeigte ihm, wie man sie führen müsse.
Dem Allen mußte der gute Bretschneider von seiner Bretmühle aus
zusehen, und ihm war, als ob die kreischende Säge hinter ihm mitten
durch sein Herz schnitt. Jetzt – das sah er ein – war es die höchste
Zeit, sein Schäfchen ins Trockene zu bringen, sonst war es für ihn
verloren. Er eilte stracks hinüber in die Mühle, um mit seinem Herrn
ein ernstes Wort über die Heirathsangelegenheit zu reden. Leider
war der Müller ausgegangen und Fritz mußte sich gedulden bis
Mittag. Als er wieder über den Hof ging, begegnete ihm die von der
Wiese zurückkommende Kordel. Er sah sie mit einem traurigen und
doch so innigen Blick an, daß er ihr durch die Seele drang. Jetzt
hätte er dreist sein und sein ganzes Herz vor ihr bloß legen sollen;
gewiß, sie hätte ihm nicht widerstanden, und wenn sie einmal Ja
gesagt, da wäre sie ihm auch treu geblieben, und es wäre ganz
anders geworden mit dem armen Fritz – aber auch mit ihr. Allein er
seufzte blos, und ging zu seiner Säge – mit der konnte er um die
Wette seufzen.
2.
Am Mittag, gleich nach dem Essen, als Kordel bereits wieder
draußen herumwirthschaftete, zog Fritz den Müller mit sich auf die
Bretmühle. Wie bekannt hat jede Schneidemühle ein Souterrain, in
welchem sich die Radstube befindet. Dort häufen sich auch die von
oben herabfallenden Sägespäne auf. Es mußte sich gerade treffen,
daß Kordel, um dergleichen Späne einzufassen, sich in der Radstube
befand, als Fritz und der Müller oben ankamen und sich auf den vor
der Säge liegenden Klotz setzend, ein Gespräch begannen, in
welchem das Mädchen fast das erste Wort war. Kordel war bestimmt
nicht die Neugierigste ihres Geschlechtes, aber in diesem Falle
konnte es ihr Niemand verargen, wenn sie sich nahe herbeischlich
und sich hütete, ihre Anwesenheit zu verrathen. Der Bretschneider
machte dem Müller Vorwürfe, daß er sein Versprechen bis heute
nicht erfüllt hatte. Der Müller entschuldigte sich damit, daß es noch
immer nicht habe passen wollen, fügte aber hinzu, daß er dem Fritz
diesen wichtigen Dienst nur um einen Gegendienst leisten könnte.
Auf Fritzens Befragen, was für Einer das wäre, antwortete der
Müller:
»Das kann Er sich schon denken, Fritz! Er soll mir zu meinem
Eigenthum verhelfen, den achtzehn Fichten oben an der Waldecke
hinter der Mühle.«
Fritz kratzte sich hinter den Ohren und sagte kein Wort.
»Er meint doch nicht, es wäre ein Unrecht,« fuhr der Müller fort,
»wenn wir die Fichten holen? Sie gehören mir von Rechtswegen; der
Boden, worauf sie stehen, gehört zu meiner Mühle; der frühere
Förster hat bei Lebzeiten meines Schwiegervaters die Grenzsteine
verrückt und so die schönen Fichten, wie er keine auf seinem Revier
hatte, an den Staatswald gebracht.«
»Warum suchen Sie denn Ihr Recht nicht?« fragte Fritz.
»Red' Er mir nicht von Rechtsuchen dem Fiskus gegenüber!«
versetzte der Müller. »Soll ich mich um die Mühle prozessiren? Er
weiß doch, wie es den Grumbachern geht, die nun seit funfzig
Jahren wegen des Streitwaldes mit dem Fiskus im Proceß liegen.
Fritz – sei Er nicht wunderlich! Es ist ja keine Gefahr bei der Sache.
Der neue Forstgehülfe ist auf dem Revier noch unbekannt, auch bin
ich bereits gut Freund mit ihm und will ihn schon lenken.«
Fritz schüttelte den Kopf und sagte: »Mit dieser Sache möcht' ich
nicht gern zu schaffen haben.«
»So hab' ich auch nichts mit Seinen Absichten auf die Kordel zu
schaffen und ich gebe sie, wen sie sonst will.« Damit erhob sich der
Müller und ließ den armen Fritz in der traurigsten Stimmung sitzen.
Kordel hatte von dieser Unterredung nicht ein Wort verloren. Sie
vergaß die Sägspäne vor Zorn über den Vormund, daß er sie um
achtzehn Fichten verkuppeln wollte und auch über den Fritz, daß er
sich mit seiner Werbung an den Vormund statt an sie selber
gewendet hatte.
Ihr Groll gegen den Vormund milderte sich indeß schon am Abend;
denn da brachte er den Forstgehülfen mit nach Hause. Dieser hatte
jetzt seinen grünen Anzug durch einen Tirolerhut vervollständigt, der
ihm verwegen auf dem rechten Ohre saß. Statt Büchse und
Waidtasche trug er ein weit friedlicheres Instrument am Arme: eine
Guitarre, auf der er im Schreiten über die Hausflur bis in die Mitte
der Stube einen Marsch spielte, zum Ergötzen der Müllerin und des
gesammten Hausgesindes, nur nicht des Bretschneiders. Der ärgerte
sich über die Musik dermaßen, daß er mit einer verteufelten
Unmusik gegen sie ins Feld rückte: er nahm die Feile zur Hand und
fing an, die Säge in einer Weise zu schärfen, daß es über eine halbe
Stunde weit schrillte. Da konnte der Jäger allerdings nicht spielen
und singen, weshalb die Müllerin hinausrannte und dem Fritz das
Schärfen untersagte.
Der Forstgehülfe war in der That ein Sänger, wie ihrer nicht viele
in grünen Pikeschen umherlaufen. Hätt' er nur einen bessern
Gebrauch von seiner schönen Gottesgabe gemacht. Die gute Kordel
hatte gar keine Ahnung, was für ein Springinsfeld der dunkellockige
Sänger war, sonst hätte sie seinen schmeichelnden Tönen nicht so
freien Eingang in ihr Herz gestattet, wie es schon am Morgen der
Fall gewesen war und noch weit mehr diesen Abend geschah. Und
diesem Abend folgten noch andere, ja, einen wie den andern stellte
sich der Jäger ein, und eh' die Woche um war, fand er sich in der
Mühle wie zu Hause, und Kordel's Herz hing wehrlos in seinem aus
Gluthblicken und Tönen gewobenen Liebesnetz.
Um den Bretschneiderfritz war es geschehen. Am Sonntage mußte
er sehen, wie Kordel in Begleitung des Müllers und des Grünrocks in
»das Gericht« zu Tanze ging. Da fuhr die Hölle in sein Herz, und wie
er ihnen nachsah, ballte er seine Faust und sprach: »Warte, du
Tagedieb, dich will ich bald aus meinem Gehege vertreiben.« Darauf
zog er sich an und ging ebenfalls in das Gericht.
Der Bretschneiderfritz war kein Säufer, und Niemand in ganz
Königswald konnte auftreten und sagen, er habe ihn ein einziges Mal
betrunken gesehen; heute betrank er sich, und das Bißchen
Verstand, welches der Teufel der Eifersucht ihm noch gelassen, das
trieb der Schnapsgeist vollends aus. Zwar war er nicht so voll, daß er
taumelte, als er sich vom Müller bereden ließ, aus der Schänkstube
hinauf in den Tanzsaal zu gehen, aber wer ihn kannte, sah, daß das
Thier in ihm jetzt die Oberhand hatte. Die Kordel sah es ihm gleich
an, als er auf sie zukam, und obschon sie nicht wagte, ihm den Tanz
abzuschlagen, so riß sie sich doch gleich von ihm los, als er sie fest
an sich riß, daß es ihr den Athem versetzte. Er wollte sich ihrer
wieder bemächtigen, aber sie stieß ihn mit solcher Heftigkeit von
sich, daß er zu Boden taumelte. Der Müller hob ihn auf und führte
ihn fort, während Kordel sich unter den Schutz des Forstgehülfen
flüchtete.
»Herr!« sprach Fritz zum Müller, als sie wieder nach der
Schänkstube gingen, »wollen Sie die Fichten noch haben?«
»Er holt sie mir doch nicht,« erwiederte der Müller kühl.
»Ich hole sie – heute Nacht noch fang' ich an. Geben Sie auf die
Kordel Acht und halten Sie den Försterburschen auf!«
»Verlaß Er sich auf mich!« sagte der Müller, worauf Fritz, ohne
noch ein Wort zu sagen, davon eilte.
Der Forstgehülfe ließ sich nur zu gern halten, weniger durch das
Zureden des Müllers, als durch den Zauber, den Kordel auf ihn übte.
Es graute schon der Tag, als die drei Nachtschwärmer in die Mühle
zurückkehrten. Der Forstgehülfe hängte sein Gewehr über, das er
hier eingelegt hatte, nahm mit einem Kusse von Kordel Abschied und
eilte dem Walde zu, um da nachträglich seine Pflicht zu erfüllen. Als
er aber an ein wunderheimliches Plätzchen kam, wo ein von jungen
Tannen beschatteter schwellender Mooshang zum Ruhen einlud,
meinte er, es sei Eins besser als das Andere, legte sich und schlief
ein. Erst als die Mittagssonne durch eine Oeffnung des dichten
Gezweiges ihm ins Gesicht schien, erwachte er, und da mußte es
sich noch schicken, daß ihm zwei Weiber mit schwergeladenen
Holzkörben in den Weg kamen, gegen die er das Interesse des
Staates durch Pfänden und Aufschreiben der Namen wahren konnte.
Glücklich, zwei schneidende Beweise seines Diensteifers – eine
Handsäge und ein Beil – dem Prinzipal überliefern zu können, betrat
er das Forsthaus – aber mit einem »Hol' Sie der Henker mit Ihrem
Bettel da!« wurden ihm die Pfänder von dem erzürnten Förster vor
die Füße geworfen.
»Bei Ihnen heißt es wohl auch: Die kleinen Diebe hängt man, die
großen läßt man laufen?« fuhr der Förster fort; »hätten Sie lieber
aufgepaßt, daß man nicht die drei schönsten Fichten im Walde
gestohlen hätte, als daß Sie auf ein paar alte Weiber mit Kaffeeholz
fahndeten. Wenn Sie sich noch eine solche Nachlässigkeit zu
Schulden kommen lassen, so sind wir auf der Stelle geschiedene
Leute. Von heute an inspiciren Sie lediglich den Kriegwald, und da
haben Sie Acht auf die Bretmühle, denn irre ich nicht, so haust dort
unser Dieb, obgleich eine genaue Haussuchung in allen Ställen und
Schuppen der Mühle nicht das Geringste ergeben hat.«
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like