Ruby for Rails Ruby techniques for Rails developers David Black instant download
Ruby for Rails Ruby techniques for Rails developers David Black instant download
https://ebookname.com/product/ruby-for-rails-ruby-techniques-for-
rails-developers-david-black/
https://ebookname.com/product/ruby-on-rails-tutorial-learn-web-
development-with-rails-2nd-edition-michael-hartl/
https://ebookname.com/product/beginning-ruby-on-rails-1st-
edition-steve-holzner/
https://ebookname.com/product/ruby-on-rails-up-and-running-1st-
edition-bruce-tate/
https://ebookname.com/product/down-by-the-bay-san-francisco-s-
history-between-the-tides-2013-matthew-booker/
The Gluten Proteins Special Publication 1st Edition D.
Lafiandra
https://ebookname.com/product/the-gluten-proteins-special-
publication-1st-edition-d-lafiandra/
https://ebookname.com/product/fluid-mechanics-and-thermodynamics-
of-turbomachinery-6ed-edition-dixon-s-l/
https://ebookname.com/product/digital-signal-processing-using-
matlab-for-students-and-researchers-1st-edition-john-w-leis/
https://ebookname.com/product/buffer-states-in-world-politics-
john-chay-editor/
https://ebookname.com/product/nonverbal-behavior-in-clinical-
settings-1st-edition-feldman/
The Adventures of Huckleberry Finn Webster s Chinese
Traditional Thesaurus Edition Mark Twain
https://ebookname.com/product/the-adventures-of-huckleberry-finn-
webster-s-chinese-traditional-thesaurus-edition-mark-twain/
Ruby for Rails
Ruby for Rails
RUBY TECHNIQUES FOR RAILS DEVELOPERS
DAVID A. BLACK
MANNING
Greenwich
(74° w. long.)
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in
quantity. For more information, please contact:
Special Sales Department
Manning Publications Co.
209 Bruce Park Avenue Fax:(203) 661-9018
Greenwich, CT 06830 email: manning@manning.com
©2006 Manning Publications. All rights reserved.
Many of the designations used by manufacturers and sellers to distinguish their products
are claimed as trademarks. Where those designations appear in the book, and Manning
Publications was aware of a trademark claim, the designations have been printed in initial
caps or all caps.
Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books they publish printed on acid-free paper, and we exert our best efforts to that end.
ISBN 1932394699
Printed in the United States of America
1 2 3 4 5 6 7 8 9 10 – VHG – 10 09 08 07 06
for n in nephews + nieces
vii
viii BRIEF CONTENTS
multiple files 14
1.2 Techniques of interpreter invocation 15
Command-line switches 16 A closer look at
■
ix
x CONTENTS
and applications 27
1.5 Summary 31
method more than once 166 Going up the method search path
■
as objects 357
13.4 Callbacks and hooks 359
Intercepting unrecognized messages with method_missing 360
Trapping include operations with Module#included 361
Intercepting inheritance with Class#inherited 363
Module#const_missing 365
13.5 Overriding and adding to core functionality 365
A cautionary tale 366
13.6 Summary 367
xvi CONTENTS
xix
xx FOREWORD
David clearly has an encyclopedic knowledge of Ruby. Not only does he under-
stand how to use it, but he can also explain why things are the way they are. He
connects the dots and allows you to see the bigger picture, providing the missing
piece that turns puzzle into picture. I couldn’t imagine a better person to write
Ruby for Rails. It’s a great honor to have the man who taught me so much about
Ruby now help others understand the language for use with my framework.
This is the book that everyone coming from another language to Rails should
have. To fully realize the potential of Rails, it’s crucial that you take the time to
fully understand Ruby—and with Ruby for Rails David has provided just what you
need to help you achieve that goal.
xxi
xxii PREFACE
First, there was clearly room for education about the basics: that Rails is written
in Ruby, and Rails applications are written in Ruby, so if you’re writing Rails appli-
cations, you’ve already decided to use Ruby. Second, I could see the beginnings of an
inadvertent, self-imposed quarantine on the part of these Rails developers (who
were perfectly well-intentioned, but not in possession of the full picture) and I saw
that something could and should be done about it. People were talking themselves
into living under a glass ceiling, where they could get Rails applications to run and
do some reasonably adroit things with Rails techniques and idioms, but where they
were denying themselves the chance to deploy the full power of Ruby—the lan-
guage which they were in fact already using. That needed to be addressed.
I also noticed a large number of questions in various forums (and various
forms) along the lines of “I know I’m supposed to write belongs_to :customer,
but what is that?” A number of Rails users told me that they were able to get appli-
cations up and running by imitating and adapting lines of code from other appli-
cations, but they were finding it unsatisfying because they didn’t feel they knew
what was going on. The fact that people were having trouble understanding Rails
code in Ruby terms meant that they were not in a position to go to the next level:
using the full power of Ruby to enhance and extend the functionality of their
Rails applications.
It occurred to me that a Rails-centric Ruby language tutorial could serve the
dual roles of, first, explaining to Rails developers who didn’t yet see that Ruby and
Rails don’t reside in separate silos but, rather, enjoy a parent/child technology rela-
tionship with extremely open lines of communication; and, second, smashing the
glass ceiling that separated Rails people from using Ruby more effectively.
As the book project got under way, my goal became to explain that the learn-
ing of Ruby by a “Rails person” is an entirely additive, win-win proposition. It
doesn’t mean Rails has some deficiency that has to be compensated for by know-
ing a foreign technology. Rather, Rails has a tremendous strength—the strength
of having been written in an elegant, concise, very approachable programming
language—the implications of which for day-to-day Rails programming are impor-
tant and are a pleasure to explore.
Thus Ruby for Rails: a reaffirmation and explanation of the way things stand,
and have always stood, between the language and the framework, and an invita-
tion to shatter that glass ceiling.
acknowledgments
This book has benefited from support of many kinds from many quarters.
At Manning Publications, assistant acquisitions editor Megan Yockey and pub-
lisher’s assistant Blaise Bace saw me ably and enthusiastically through the proposal
and contract phases of the project. I worked initially, and productively, with devel-
opment editor Doug Bennett; subsequently, for reasons of scheduling and logis-
tics, my project was reassigned to development editor Lianna Wlasiuk, who
worked with me in an intense, sustained way through the writing of the book, cou-
pling a marvelous collegiality with a gentle but firm refusal to settle for anything
other than a strong, polished product.
Review editor Karen Tegtmeyer sought, and found, specialists from both the
Ruby and Rails spheres to review the manuscript at the various prescribed phases
of partial completion—a process I like to think I became less surly about, the
more evidence I saw of how materially helpful it could be. Book designer Dottie
Marsico worked with me on the illustrations; I have Dottie to thank for my new-
found OpenOffice Draw skills as well as for her encouragement and quick respon-
siveness to questions and concerns.
As the book moved through the latter stages of preparation and into the pro-
duction stages, I had the indispensable support and help of production director
Mary Piergies, who coordinated the geographically far-flung process in a way that
brought it unity and momentum. To copy editor Tiffany Taylor I can pay no
greater tribute than to say that I quickly got into the habit of telling OpenOffice
to hide the history of changes in the document and only show me the text as it
xxiii
xxiv ACKNOWLEDGMENTS
appeared after Tiffany had worked on it. I have no doubt, moreover, that several
trees owe their lives to Tiffany’s ability to trim away excess verbiage.
Technical proofreader Bruce Williams made numerous suggestions and cor-
rections which, I can assure readers, have measurably improved the readability of
the code samples as well as the text. There’s nothing like a keen second set of
eyes, and a second tester, to convince one, once and for all, that one really must
not make little changes to code after cutting-and-pasting it in….
I worked with three proofreaders. Elizabeth R. Martin, who kindly stepped in to
tide the project over during a scheduling gap, brought a sharp eye to bear on the
book’s first chapters. The balance of the manuscript was proofread by Elizabeth
Welch, on whom I have relied not only for error-catching but for constant consul-
tation in discretionary matters of typographical consistency and style. Barbara
Mirecki gave the manuscript a close, skillful final read. Katie Tennant brought a
professional’s skill and care to bear on my well-intentioned, but inevitably imper-
fect, indexing efforts. Typesetter Gordan Salinovic has worked diligently and
responsively with us to ensure a consistent, reader-friendly look.
Manning webmaster Iain Shigeoka worked behind the scenes to keep the infor-
mation flow going among the various members of the production team and me,
and quickly stepped up to help on the few occasions when glitches cropped up.
On the marketing side, Manning’s sales and marketing chief Ron Tomich and
marketing director Helen Trimes have kept the book before the Ruby/Rails pub-
lic eye and have sought my input and collaboration throughout the process. As
much as the popularity of Ruby and Rails can help, there’s no such thing as a
book that promotes itself, and Helen and Ron have been anything but compla-
cent in getting the word out.
Last but by no means least among the members of the Manning team to whom
I offer my thanks is publisher Marjan Bace, who saw the viability of this project
quickly, supported it unreservedly, and piloted it skillfully through many ups and
a sprinkling of downs. Both the book and I benefited from Marjan’s availability,
attentiveness, and mastery of the contours of the publication landscape.
I’d like to thank the reviewers of the original book proposal and all of the out-
side readers who participated in the various partial-manuscript review cycles. Many
of the comments and criticisms of the latter group had more of an impact on the
book than they themselves might have anticipated. Thanks go to Anjan Bacchu,
Christopher Bailey, Jamis Buck, Stuart Caborn, Tom Copeland, Ryan Cox, Jeff
Cunningham, Pat Dennis, Mark Eagle, Sasa Ebach, Shaun Fanning, Hal Fulton,
Benjamin Gorlick, Erik Hatcher, David Heinemeier Hansson, Jack Herrington,
Bob Hutchison, Duane Johnson, Albert Koscielny, Robert McGovern, Andrew
Random documents with unrelated
content Scribd suggests to you:
principium individuationis, like a kaleidoscope, shows us in ever-
shifting evanescent forms, there is an underlying unity, not only truly
existing, but actually accessible to us; for lo! in tangible, objective
form, it stands before our sight.
Of these two mental attitudes, according as the one or the other is
adopted, so the ϕιλία (Love) or the νεῑκος (Hatred) of Empedocles
appears between man and man. If any one, who is animated by
νεῑκος, could forcibly break in upon his most detested foe, and
compel him to lay bare the inmost recesses of his heart; to his
surprise, he would find again in the latter his very self. For just as in
dreams, all the persons that appear to us are but the masked
images of ourselves; so in the dream of our waking life, it is our own
being which looks on us from out our neighbours' eyes,—though this
is not equally easy to discern. Nevertheless, tat tvam asi.
The preponderance of either mode of viewing life not only
determines single acts; it shapes a man's whole nature and
temperament. Hence the radical difference of mental habit between
the good character and the bad. The latter feels everywhere that a
thick wall of partition hedges him off from all others. For him the
world is an absolute non-ego, and his relation to it an essentially
hostile one; consequently, the key-note of his disposition is hatred,
suspicion, envy, and pleasure in seeing distress. The good character,
on the other hand, lives in an external world homogeneous with his
own being; the rest of mankind is not in his eyes a non-ego; he
thinks of it rather as "myself once more." He therefore stands on an
essentially amicable footing with every one: he is conscious of being,
in his inmost nature, akin to the whole human race,[9] takes direct
interest in their weal and woe, and confidently assumes in their case
the same interest in him. This is the source of his deep inward
peace, and of that happy, calm, contented manner, which goes out
on those around him, and is as the "presence of a good diffused."
Whereas the bad character in time of trouble has no trust in the help
of his fellow-creatures. If he invokes aid, he does so without
confidence: obtained, he feels no real gratitude for it; because he
can hardly discern therein anything but the effect of others' folly. For
he is simply incapable of recognising his own self in some one else;
and this, even after it has furnished the most incontestible signs of
existence in that other person: on which fact the repulsive nature of
all unthankfulness in reality depends. The moral isolation, which thus
naturally and inevitably encompasses the bad man, is often the
cause of his becoming the victim of despair. The good man, on the
contrary, will appeal to his neighbours for assistance, with an
assurance equal to the consciousness he has of being ready himself
to help them. As I have said: to the one type, humanity is a non-
ego; to the other, "myself once more." The magnanimous character,
who forgives his enemy, and returns good for evil, rises to the
sublime, and receives the highest meed of praise; because he
recognises his real self even there where it is most conspicuously
disowned.
Every purely beneficent act all help entirely and genuinely unselfish,
being, as such, exclusively inspired by another's distress, is, in fact,
if we probe the matter to the bottom, a dark enigma, a piece of
mysticism put into practice; inasmuch as it springs out of, and finds
its only true explanation in, the same higher knowledge that
constitutes the essence of whatever is mystical.
For how, otherwise than metaphysically, are we to account for even
the smallest offering of alms made with absolutely no other object
than that of lessening the want which afflicts a fellow-creature? Such
an act is only conceivable, only possible, in so far as the giver
knows that it is his very self which stands before him, clad in the
garments of suffering; in other words, so far as he recognises the
essential part of his own being, under a form not his own.[10] It now
becomes apparent, why in the foregoing part I have called
Compassion the great mystery of Ethics.
He, who goes to meet death for his fatherland, has freed himself
from the illusion which limits a man's existence to his own person.
Such a one has broken the fetters of the principium individuationis.
In his widened, enlightened nature he embraces all his countrymen,
and in them lives on and on. Nay, he reaches forward to, and
merges himself in the generations yet unborn, for whom he works;
and he regards death as a wink of the eyelids, so momentary that it
does not interrupt the sight.
We may here sum up the characteristics of the two human types
above indicated. To the Egoist all other people are uniformly and
intrinsically strangers. In point of fact, he considers nothing to be
truly real, except his own person, and regards the rest of mankind
practically as troops of phantoms, to whom he assigns merely a
relative existence, so far as they may be instruments to serve, or
barriers to obstruct, his purposes; the result being an immeasurable
difference, a vast gulf between his ego on the one side, and the
non-ego on the other. In a word, he lives exclusively centred in his
own individuality, and on his death-day he sees all reality, indeed the
whole world, coming to an end along with himself.[11] Whereas the
Altruist discerns in all other persons, nay, in every living thing, his
own entity, and feels therefore that his being is commingled, is
identical with the being of whatever is alive. By death he loses only a
small part of himself. Patting off the narrow limitations of the
individual, he passes into the larger life of all mankind, in whom he
always recognised, and, recognising, loved, his very self; and the
illusion of Time and Space, which separated his consciousness from
that of others, vanishes. These two opposite modes of viewing the
world are probably the chief, though not indeed the sole cause of
the difference we find between very good and exceptionally bad
men, as to the manner in which they meet their last hour.
In all ages Truth, poor thing, has been put to shame for being
paradoxical; and yet it is not her fault. She cannot assume the form
of Error seated on his throne of world-wide sovereignty. So then,
with a sigh, she looks up to her tutelary god, Time, who nods
assurance to her of future victory and glory, but whose wings beat
the air so slowly with their mighty strokes, that the individual
perishes or ever the day of triumph be come. Hence I, too, am
perfectly aware of the paradox which this metaphysical explanation
of the ultimate ethical phaenomenon must present to Western
minds, accustomed, as they are, to very different methods of
providing Morals with a basis. Nevertheless, I cannot offer violence
to the truth. All that is possible for me to do, out of consideration for
European blindness, is to assert once more, and demonstrate by
actual quotation, that the Metaphysics of Ethics, which I have here
suggested, was thousands of years ago the fundamental principle of
Indian wisdom. And to this wisdom I point back, as Copernicus did
to the Pythagorean cosmic system, which was suppressed by
Aristotle and Ptolemaeus. In the Bhagavadgîtâ (Lectio XIII.; 27, 28),
according to A. W. von Schlegel's translation, we find the following
passage: Eundem in omnibus animantibus consistentem summum
dominum, istis pereuntibus kaud pereuntem qui cernit, is vere cernit.
Eundem vero cernens ubique praesentem dominum, non violat
semet ipsum sua ipsius culpa: exinde pergit ad summum iter.[12]
With these hints towards the elaboration of a metaphysical basis for
Ethics I must close, although an important step still remains to be
taken. The latter would presuppose a further advance in Moral
Science itself; and this can hardly be made, because in the West the
highest aim of Ethics is reached in the theory of justice and virtue.
What lies beyond is unknown, or at any rate ignored. The omission,
therefore, is unavoidable; and the reader need feel no surprise, if
the above slight outline of the Metaphysics of Ethics does not bring
into view—even remotely—the corner-stone of the whole
metaphysical edifice, nor reveal the connection of all the parts
composing the Divina Commedia. Such a presentment, moreover, is
involved neither in the question set, nor in my own plan. A man
cannot say everything in one day, and should not answer more than
he is asked.
He who tries to promote human knowledge and insight is destined to
always encounter the opposition of his age, which is like the dead
weight of some mass that has to be dragged along: there on the
ground it lies, a huge inert deformity, defying all efforts to quicken
its shape with new life. But such a one must take comfort from the
certainty that, although prejudices beset his path, yet the truth is
with him. And Truth does but wait for her ally, Time, to join her;
once he is at her side, she is perfectly sure of victory, which, if to-
day delayed, will be won to-morrow.
[1] The conception of the Good, in its purity, is an ultimate one, "an absolute Idea,
whose substance loses itself in infinity."—(Bouterweek: Praktische Aphorismen, p.
54.)
It is obvious that this writer would like to transform the familiar, nay, trivial
conception "Good" into a sort of Διἴπετής, to be set up as an idol in his temple.
Διἴπετής lit., "fallen from Zeus"; and so "heaven-sent," "a thing of divine origin."
Cf. Horn., Il.. XVI, 174; Od.. IV. 477. Eur., Bacch., 1268.—(Translator.)
[2]The genuineness of the O u p n e k ' h a t has been disputed on the ground of
certain marginal glosses which were added by Mohammedan copyists, and then
interpolated in the text, it has, however, been fully established by the Sanskrit
scholar, F.H.H. Windischmann (junior) in his Sancara, sive de Theologumenis
Vedanticorum, 1833, p. xix; and also by Bochinger in his book De la Vie
Contemplative chez les Indous, 1831, p. 12. The reader though ignorant of
Sanskrit, may yet convince himself that Anquetil Duperron's word for word Latin
translation of the Persian version of the U p a n i s h a d s made by the martyr of
this creed, the Sultan D â r â - S h u k o h, is based on a thorough and exact
knowledge of the language. He has only to compare it with recent translations of
some of the U p a n i s h a d s by Rammohun Boy, by Poley, and especially with that
of Colebrooke, as also with Röer's, (the latest). These writers are obviously
groping in obscurity, and driven to make shift with hazy conjectures, so that
without doubt their work is much less accurate. More will be found on this subject
in Vol. II. of the Parerga, chap. 16, § 184. [V. The Upanishads, translated by Max
Müller, in The Sacred Books of the East, Vols. I. and XV. Cf. also Max Müller, The
Science of Language, Vol. I., p. 171. Now that an adequate translation of the
original exists, the O u p n e k ' h a t has only an historical interest. The value which
Schopenhauer attached to the U p a n i s h a d s is very clearly expressed also in the
Welt als Wille und Vorstellung, Preface to the first Edition; and in the Parerga, II.,
chap, xvi., § 184.—(Translator.)]
[3] For the S û f i, more correctly *Sūfīy a sect which appeared already in the first
century of the H i j r a h, the reader is referred to: Tholuck's Blüthensammlung aus
der Morgenländischen Mystik (Berlin, 1825); Tholuck's Sûfismus, sive Theosophia
Persarum Pantheistica (Berlin, 1821); Kremer's Geschichte der Herrschenden
Ideen des Islâms (Leipzig, 1868); Palmer's Oriental Mysticism (London, 1867);
Gobineau's Les Religions et les Philosophies dans l'Asie Centrale (2nd edit. Paris,
1866); A Dictionary of Islâm, by T. P. Hughes (London, 1885), p. 608 sqq.—
(Translator.)
[4] This is too well-known to need verification by references. The Cantico del Sole
by St. Francis of Assisi sounds almost like a passage from the U p a n i s h a d s or
the B h a g a v a d g î t â.—(Translator.)
[5]
On peut assez longtemps, chez notre espèce,
Fermer la porte à la Raison.
Mais, dès qu'elle entre avec adresse,
Elle reste dans la maison,
Et bientôt elle en est maîtresse.
—(Voltaire.)
(We men may, doubtless, all our lives
To Reason bar the door.
But if to enter she contrives,
The house she leaves no more,
And soon as mistress there presides.)
[6] Τὸ ἔν= the eternal Reality outside Time and Space Tὸ πᾱν = the phaenomenal
universe.—(Translator.)
[7] Mâyâ is "the delusive reflection of the true eternal Entity."—(Translator.)
[8] This expression is used in the Brahmanical philosophy to denote the relation
between the world-fiction as a whole and its individualised parts. V. A. E. Gough,
Philosophy of the Upanishads, 1882.—(Translator.)
[9] Homo sum: humani nil a me alienum puto. Terence, Heaut., I. 1, 25.—
(Translator.)
[10] It is probable that many, perhaps, most cases of truly disinterested
Compassion—when they really occur—are due not to any conscious knowledge of
this sort, but to an unconscious impulse springing from the ultimate unity of all
living things, and acting, so to say, automatically.—(Translator.)
[11] Cf. Richard Wagner: Jesus von Nazareth; pp. 79-90.—(Translator.)
[12] That man is endowed with true insight who sees that the same ruling power
is inherent in all things, and that when these perish, it perishes not. For if he
discerns the same ruling power everywhere present, he does not degrade himself
by his own fault: thence he passes to the highest path.—For the Bhagavadgîtâ the
reader is referred to Vol. VIII. of The Sacred Books of the East (Oxford: Clarendon
Press), where (p. 105) this passage is translated as follows:—"He sees (truly) who
sees the supreme lord abiding alike in all entities, and not destroyed though they
are destroyed. For he who sees the lord abiding everywhere alike, does not
destroy himself[*] by himself, and then reaches the highest goal."
[*]"Not to have true knowledge, is equivalent to self-destruction."
Cf. Fauche: Le Mahā-bhārata: Paris, 1867; Vol. VII., p. 128:—
"Celui-là possède une vue nette des choses, qui voit ce principe souverain en tous
les êtres d'une manière égale, et leur survivre, quand ils périssent. Il ne se fait
aucun tort à soi-même par cette vue d'un principe qui subsiste également partout:
puis, après cette vie, il entre dans la voie supérieure."
The obscurity of Schlegel's Latin in the second sentence is sufficiently removed by
these more recent translations.—(Translator.)
JUDICIUM
In 1837 the following question was set as subject for a Prize Essay:
"Is the fountain and basis of Morals to be sought for in an idea of
morality which lies directly in the consciousness (or conscience), and
in the analysis of the other leading ethical conceptions which arise
from it? Or is it to be found in some other source of knowledge?"
There was only one competitor; but his dissertation, written in
German, and bearing the motto: "To preach Morality is easy, to
found it is difficult"[1] we cannot adjudge worthy of the Prize. He has
omitted to deal with the essential part of the question, apparently
thinking that he was asked to establish some fundamental principle
of Ethics. Consequently, that part of the treatise, which explains how
the moral basis he proposes is related to his system of metaphysics,
we find relegated to an appendix, as an "opus supererogationis,"
although it was precisely the connection between Metaphysics and
Ethics that our question required to be put in the first and foremost
place. The writer attempts to show that compassion is the ultimate
source of morality; but neither does his mode of discussion appear
satisfactory to us, nor has he, in point of fact, succeeded in proving
that such a foundation is adequate. Indeed he himself is obliged to
admit that it is not.[2] Lastly, the Society cannot pass over in silence
the fact that he mentions several recent philosophers of the highest
standing in an unseemly manner, such as to justly occasion serions
offence.
[1] The Academy has been good enough to insert the second "is" on its own
account, by way of proving the truth of Longinus' theory (V. De Sublimitate: chap.
39, ad fin.), that the addition or subtraction of a single syllable is sufficient to
destroy the whole force of a sentence. (P. Longinus: De Sublimitate Libellus; edit.
Joannes Vablen, Bonnae, 1887.)—(Translator)
[2] I suppose this is the meaning of contra esse confiteri.— (Translator.)
*** END OF THE PROJECT GUTENBERG EBOOK THE BASIS OF
MORALITY ***
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
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.
ebookname.com