Instant download Getting Started with Meteor js JavaScript Framework 2nd Edition Learn to develop powerful web applications in minutes with Meteor Isaac Strack pdf all chapter
Instant download Getting Started with Meteor js JavaScript Framework 2nd Edition Learn to develop powerful web applications in minutes with Meteor Isaac Strack pdf all chapter
https://ebookultra.com
https://ebookultra.com/download/getting-started-with-grunt-the-
javascript-task-runner-1st-edition-jaime-pillora/
ebookultra.com
https://ebookultra.com/download/getting-started-with-kubernetes-2nd-
edition-jonathan-baier/
ebookultra.com
https://ebookultra.com/download/getting-started-with-openshift-1st-
edition-steven-pousty/
ebookultra.com
https://ebookultra.com/download/getting-started-with-arduino-1st-
edition-massimo-banzi/
ebookultra.com
Getting Started with SAPUI5 1st Edition Miroslav Antolovic
https://ebookultra.com/download/getting-started-with-sapui5-1st-
edition-miroslav-antolovic/
ebookultra.com
https://ebookultra.com/download/getting-started-with-electronic-
projects-1st-edition-pretty/
ebookultra.com
https://ebookultra.com/download/getting-started-with-processing-1st-
edition-casey-reas/
ebookultra.com
https://ebookultra.com/download/getting-started-with-dwarf-fortress-
learn-to-play-the-most-complex-video-game-ever-made-1st-edition-peter-
tyson/
ebookultra.com
Isaac Strack
BIRMINGHAM - MUMBAI
www.it-ebooks.info
Getting Started with Meteor.js JavaScript Framework
Second Edition
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
ISBN 978-1-78528-554-7
www.packtpub.com
www.it-ebooks.info
Credits
Commissioning Editor
Veena Pagare Indexer
Tejal Daruwale Soni
Acquisition Editors
Subho Gupta Graphics
Jason Monteiro
James Jones
Production Coordinator
Content Development Editor
Manu Joseph
Anish Sukumaran
Cover Work
Technical Editor
Manu Joseph
Menza Mathew
www.it-ebooks.info
About the Author
www.it-ebooks.info
About the Reviewers
Arthur Pham has been working for Thomson Reuters as a lead quantitative
engineer since 2006. He has spent many years designing and implementing
derivative pricing models and still loves to learn new programming languages
such as F#, C++, Python, Flex/ActionScript, C#, Ruby, and JavaScript.
He currently lives in New York, USA, and can be contacted on twitter at @arthurpham.
www.it-ebooks.info
www.PacktPub.com
Did you know that Packt offers eBook versions of every book published, with PDF
and ePub files available? You can upgrade to the eBook version at www.PacktPub.
com and as a print book customer, you are entitled to a discount on the eBook copy.
Get in touch with us at service@packtpub.com for more details.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print, and bookmark content
• On demand and accessible via a web browser
www.it-ebooks.info
Table of Contents
Preface v
Chapter 1: Setup and Installation 1
Installing using curl 2
Loading an example application 3
Selecting your file's location 4
Loading the example application 4
Starting the example application 4
Previewing the application 5
Help! I made too many changes! 6
Making code changes 6
Changing from Leaderboard to Yay Science! 7
Summary 10
Chapter 2: Reactive Programming…It's Alive! 11
Creating the Lending Library 11
Creating the base application 12
Creating a Collection 14
Having fun with the browser console 15
Adding some data 17
Displaying collections in HTML 18
Cleaning up 22
Creating a reaction 25
Multiple clients 27
Summary 28
[i]
www.it-ebooks.info
Table of Contents
[ ii ]
www.it-ebooks.info
Table of Contents
[ iii ]
www.it-ebooks.info
www.it-ebooks.info
Preface
We live in amazing times. Advances in medicine, communication, physics, and
all other scientific fields provide us with opportunities to create things that were
literally impossible to create only a short while ago.
Yet, we aren't easily amazed. Moore's law has not only affected how fast our
computers are, it has significantly increased our expectations as well. We've
come to expect wondrous advances, and therefore, what was once amazing has
become…well…expected. It's a rare thing, indeed, to find something that takes
us by surprise—something that renews that childhood sense of wonder we all
secretly want back because it was stolen from us.
Well, get ready to regain some of that wonder. A dedicated group of computer
scientists, who were determined to make something wondrous, have created a
new JavaScript framework called Meteor. You may be thinking, "A new JavaScript
framework? That's nothing special." And, if that's all Meteor is, you'd be correct.
However, fortunately for you, that's not the end of the story.
[v]
www.it-ebooks.info
Preface
And the best part is, it's simple to learn, amazingly simple! You will see an
application come to life right before your eyes, and when you look back at the
number of lines of code it took to create and compare it to the traditional methods
of development, you may actually find yourself saying "wow" or "how did they
do that?"
This book will walk you through the major features of Meteor and show you
how to create an application from scratch. By the end of the book, you will have
created a working, useful application, and you will have a solid understanding of
what makes Meteor different. This may sound like hyperbole, but if you're open
to the idea that something innovative and unexpected can qualify as amazing,
then prepare to be amazed!
Chapter 3, Why Meteor Rocks!, helps you to gain an understanding of the design
patterns that Meteor uses and see examples of these powerful patterns in action.
Chapter 4, Templates, teaches you about Meteor Templates in depth and uses
templates to lay the groundwork for your Lending Library application.
Chapter 5, Data – Meteor Style!, helps you to discover how Meteor handles data,
making an enterprise-level application incredibly simple and robust. Implement
Meteor's data handling quickly and effectively in your application.
Chapter 6, Application Structure – Client, Server, and Public (oh my!), shows you what
changes you can make to the default configuration to make your application more
secure, extensible, and user-friendly.
[ vi ]
www.it-ebooks.info
Preface
• Operating systems:
°° Mac OS X 10.7 (Lion) and above versions
°° Linux x86 or x86_64 architectures
°° Windows 7 and above versions
• Meteor:
°° Meteor version 1.1 or above
The following table will guide you to sites that contain more information:
If you are looking for a step-by-step approach to understand how and when to
use one of the most popular and innovative application development frameworks,
this book is for you.
Conventions
In this book, you will find a number of styles of text that distinguish between
different kinds of information. Here are some examples of these styles, and an
explanation of their meaning.
Code words in text are shown as follows: "The WebElement class also supports
find methods to find child elements."
[ vii ]
www.it-ebooks.info
Preface
When we wish to draw your attention to a particular part of a code block, the
relevant lines or items are set in bold:
//Locate all the Checkbox which are checked by calling jQuery
find() method.
//find() method returns elements in array
List<WebElement> elements = (List<WebElement>)
js.executeScript("return jQuery.find(':checked')");
New terms and important words are shown in bold. Words that you see on
the screen, in menus or dialog boxes for example, appear in the text like this:
"Right-click to open the pop-up menu and select the Inspect element option."
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book—what you liked or may have disliked. Reader feedback is important for
us to develop titles that you really get the most out of.
If there is a topic that you have expertise in and you are interested in either writing
or contributing to a book, see our author guide on www.packtpub.com/authors.
[ viii ]
www.it-ebooks.info
Preface
Customer support
Now that you are the proud owner of a Packt book, we have a number of things
to help you to get the most from your purchase.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books—maybe a mistake in the text or
the code—we would be grateful if you would report this to us. By doing so, you can
save other readers from frustration and help us improve subsequent versions of this
book. If you find any errata, please report them by visiting http://www.packtpub.
com/support, selecting your book, clicking on the errata submission form link, and
entering the details of your errata. Once your errata are verified, your submission
will be accepted and the errata will be uploaded to our website, or added to any list
of existing errata, under the Errata section of that title.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media.
At Packt, we take the protection of our copyright and licenses very seriously. If you
come across any illegal copies of our works, in any form, on the Internet, please
provide us with the location address or website name immediately so that we can
pursue a remedy.
We appreciate your help in protecting our authors, and our ability to bring you
valuable content.
Questions
You can contact us at questions@packtpub.com if you are having a problem with
any aspect of the book, and we will do our best to address it.
[ ix ]
www.it-ebooks.info
www.it-ebooks.info
Setup and Installation
Under the hood, Meteor is really just a bunch of files and scripts, which are designed
to make the building of a web application easier. That's a terrible way to describe
something so elegant, but it helps us to better understand what we're using.
After all, Mila Kunis is really just a bunch of tissue wrapped around bone, with
some vital organs inside. I know you hate me now for that description, but you
get the point. She's beautiful. So is Meteor. But it doesn't do us any good to just
leave it at that. If we want to reproduce that type of beauty on our own, we have
to understand what's really going on.
So, files and scripts… We're going to walk you through how to get the Meteor package
properly installed on your Linux or Mac OS X system, and then see the package of files
and scripts in action.
[1]
www.it-ebooks.info
Setup and Installation
curl (or cURL if you want to get fancy) is a command-line tool used to transfer
files and run scripts using standard URL locations. You probably already knew that,
or you probably don't care. Either way, we've described it and we're now moving on
to using it.
Open a terminal window or the command line, and enter the following command:
curl https://install.meteor.com/ | sh
This will install Meteor on your system. curl is the command to go and fetch the
script. https://install.meteor.com is the URL/location of the script, and sh is,
of course, the location of the script interpreter "Shell", which will run the script.
Once you've run this script, assuming you have an Internet connection and the
proper permissions, you will see the Meteor package downloaded and installed:
[2]
www.it-ebooks.info
Chapter 1
The key thing that we're looking for in the preceding installation text is the launcher
script location:
Writing a launcher script to /usr/local/bin/meteor
This location could vary depending on whether you're running this script in Linux
or Mac OS X, but it puts Meteor into a location where you can then access the Meteor
script from anywhere else. This will become important in a minute. For now, let's see
what kind of friendly message we get when the Meteor installation is finished:
To get started fast:
docs.meteor.com
Great! You've successfully installed Meteor, and you're on your way to create your
first Meteor web application!
We want to use the simplest possible example, just to get an idea of how Meteor
works, so we will be creating the leaderboard example. We'll be using the command
line again. This is awesome news if you still have it open! If not, open a terminal
window and follow these steps.
[3]
www.it-ebooks.info
Setup and Installation
As with the Meteor installation itself, the create command script has a friendly
success message:
leaderboard: created.
To run your new app:
cd leaderboard
meteor
There are even instructions on what to do next. How handy! Let's go ahead and do
what our good command-line friend is telling us.
[4]
www.it-ebooks.info
Chapter 1
Yes, that's it. Meteor takes care of everything for us; it reads all the files and scripts,
and sets up the HTTP listener:
[[[[[ ~/Documents/Meteor/leaderboard ]]]]]
We can now take the URL we've been given (http://localhost:3000/) and check
out the example application in a web browser.
You should see a screen with a list containing the names of scientists, similar to the
following screenshot:
[5]
www.it-ebooks.info
Setup and Installation
You can go ahead and poke around the application a bit, if you want to. Click on
Nikola Tesla's name and add 5 points to his score about 20 bajillion times, because
he deserves it. Give some love to Marie Curie because she was so radioactive that
she actually made up the word. Go nuts, friend!
3. Restart your app, and you're good to go. Just type the following command:
$ meteor
Note that the initial scores are random, so it won't look exactly like it did before.
The meteor reset command resets all the data collections and whatnot; so in a
non-random app, the command will indeed reset the app cleanly.
One of the best features of Meteor is reactive programming. The following extract is
taken from http://docs.meteor.com/#/full/reactivity:
Meteor embraces the concept of reactive programming. This means that you can
write your code in a simple imperative style, and the result will be automatically
recalculated whenever data changes that your code depends on.
This principle applies to code changes too, which means that any changes
that you make to the HTML, JavaScript, or database are automatically picked
up and propagated.
You don't have to restart the application or even refresh your browser. All changes
are incorporated in real time, and the application reactively accepts the changes.
[6]
www.it-ebooks.info
Chapter 1
To see what we mean, let's change the title of this application from Leaderboard to
Yay Science! because, well, yay science!
First, make sure that the application is up and running. You can do this by having
an open browser window that is pointing to http://localhost:3000/. If the
app is running, you'll see your leaderboard application. If your application isn't
running, make sure to follow the steps previously given in the Starting the example
application section.
Now, we need to open and edit the leaderboard.html file. With your favorite text/
code editor, open the leaderboard.html file under the location, ~/Documents/
Meteor/leaderboard/client/, and change title in the head section using the
following lines of code:
<head>
<title>Yay Science!</title>
</head>
Go ahead and save the file, and then look at your web browser. The page will
automatically update, and you'll see the title change. Earlier, it displayed the
word Leaderboard:
However, now, after the execution of the preceding code, the title will display our
spiffy new Yay Science! page:
[7]
www.it-ebooks.info
Setup and Installation
This is Meteor in action! It monitors any changes to files, and when it sees that a file
has changed, it tells your browser that a change has been made and that it should
refresh itself to get the latest version.
Moving forward, we're going to build an application from scratch, so we don't want
to make too many changes to this example application. However, we still want to
stay with our new theme rather than that generic old leaderboard stuff. So, to do so,
perform the following steps:
1. Back in your text editor, on about the tenth line or so, we have the title
label for our leaderboard. Make the following change to the <h1> tag:
<h1 class="title">Yay Science!</h1>
Save this change, and you'll see the change reflected in your browser.
The title in our page will now look like this:
We also need to change the button text from the word points to the word
props. Towards the bottom half of the file, you'll find a <button> tag.
Change the text in that tag to the following:
<button class="inc">Give props</button>
[8]
www.it-ebooks.info
Chapter 1
Save your changes, and you will see the application update
almost immediately:
Save this change, and this time, refresh your browser. Not because we need
the change to take effect, but because we want to make sure no scientist is
highlighted so that we can verify our message text:
[9]
www.it-ebooks.info
Setup and Installation
Summary
Great success! In this chapter, you've successfully installed the Meteor framework,
loaded an example application, and made changes to that application by becoming
familiar with file changes and the reactive nature of Meteor.
You are now ready to start building your very own Meteor application, and learn
more about the elegant features and advantages that come from developing with
Meteor in the coming chapters.
[ 10 ]
www.it-ebooks.info
Chapter 2
Reactive Programming…
It's Alive!
As we learned in Chapter 1, Setup and Installation, Meteor operates on a reactive
programming model. This means that your templates aren't only concerned with
displaying data, but they are also listening for changes to that data so that they can
"react" to those changes. These areas of data where the templates look for changes
are called reactive contexts.
We will now start developing a Lending Library application, lay the framework for
future chapters, and use Meteor's built-in reactive model to track and propagate
changes to our application to all clients that are listening.
Using Meteor, we're going to build a Lending Library. We'll keep track of all our
stuff and who we lent it to, so that the next time we can't remember where we put
our linear compression wrench, we can simply look up who we lent it to last and
get it back from them.
[ 11 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
And when that same friend says, "Are you sure you lent it to me?", you can say,
"Yeah, STEVE, I'm sure I lent it to you! I see you're enjoying your digital cable,
thanks to my generous lending of said linear compression wrench. Why don't you
go find it so that I too can enjoy the benefits of digital cable in my own home!"
Okay, okay, maybe STEVE forgot too. Maybe he's a dirty liar, and he sold your
wrench to pay for his deep-fried Oreo® habit. Either way, you'll have your very
own custom Meteor app that gives you proof that you're not going crazy. And, if
he did sell it for deep-fried carnival food, at least you can make him share his stash
with you while you watch the game at his house.
2. Now, we create our base folder structure for our Lending Library
application:
$ meteor create LendLib
[ 12 ]
www.it-ebooks.info
Chapter 2
5. Welcome to Meteor! is nice and all, but we are going to change this to
Lending Library. Open the LendLib.html file under ~/Documents/Meteor/
LendLib/ in your favorite editor. Towards the top (the sixth line or so), you'll
see the HTML code snippet that's responsible for our greeting. Go ahead and
change Welcome to Meteor! to Lending Library:
<body>
<h1>Lending Library</h1>
6. Save the change. The page will refresh and will look like the following
screenshot:
You may have noticed a reference to a template called hello, just below the
title:
{{> hello}}
[ 13 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
7. Let's make a change in this template as well. Edit LendLib.html and modify
the title of the hello template:
<template name="hello">
<h2>my list</h2>
<button>Click Me</button>
<p>You've pressed the button {{counter}} times.</p>
</template>
Creating a Collection
Okay, so you've just made a few small changes to static files, but what we really
want to see is some dynamic, reactive programming, and some live HTML code!
We need to attach a data source—something that will keep track of our items.
Normally, this would be quite a process indeed, but Meteor makes it easy by
supporting MongoDB, and its own client-side version called Minimongo, out
of the box.
[ 14 ]
www.it-ebooks.info
Chapter 2
• http://en.wikipedia.org/wiki/NoSQL
• http://www.mongodb.org/
• http://www.packtpub.com/books/all?keys=mongodb
Let's create our collection. Inside the LendLib.js file under ~/Documents/Meteor/
LendLib/, we want to add the following highlighted line of code as the first line, and
then save the change:
lists = new Mongo.Collection("lists");
if (Meteor.isClient) {
...
This creates a new collection in MongoDB. Since it comes before anything else in the
LendLib.js file, the collection is available for both the client and server to see. It is
persistent, as we'll see in a moment, and once values are entered into it, they can be
retrieved by any client accessing the page.
To see this persisted object, we'll need to use the console of our web page.
[ 15 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
Since we're using Chrome, the console is available by default. Let's start by
performing the following steps:
This will open our debugging tools. We now want to get into the console.
2. Click on the Console icon found at the extreme right of the debugging
menu bar:
[ 16 ]
www.it-ebooks.info
Chapter 2
You will now have a blinking cursor, and you're ready to check out our
newly minted collection!
2. Being the natural skeptics that we are, we're going to check. To do so, enter
the following command:
> lists.findOne({Category: "DVDs"});
You should then get an Object with an expandable icon next to it.
[ 17 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
3. Click on this icon to expand it, and you should see something similar to the
following screenshot:
We could similarly check for our tools collection by entering the lists.
findOne({Category:"Tools"}) command, but we don't need to. This time we'll
trust that Meteor entered it correctly. We do, however, want to check to see whether
the objects are persistent. To do so, perform the following steps:
1. Refresh the web page. Your console will clear, but the Categories that we
entered have been saved in the persistent Meteor Collection, so we can check
again to see if they're hanging around.
2. Enter the following command in the console:
> lists.find({}).count();
This command finds all records in the lists collection and gives us a total
count. If everything went according to plan, you should have got back a
count of 2.
We're on our way! We've created two categories, and we have one item in each
category. We've also verified that the lists collection is being saved after each
session. Now, let's see about displaying this in our page.
[ 18 ]
www.it-ebooks.info
Chapter 2
This creates a new div element with the contents being filled by a template
partial named categories.
2. Now, at the very bottom of the page, add the skeleton for the categories:
<template name="categories">
</template>
This won't change the appearance of the page, but we now have a template
partial where we can list our categories.
3. Let's put in our section title within the preceding lines of code:
<template name="categories">
<div class="title">categories</div>
</template>
</div>
</template>
This creates the div categories which we can then go through and list all of
our categories. If we only had one record to deal with, the code would look
like this:
<div class="category">
{{Category}}
</div>
[ 19 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
5. But, we need to wrap this into a loop (in this case, an #each statement) so
that we get all the categories:
<template name="categories">
<div class="title">categories</div>
<div id="categories">
{{#each lists}}
<div class="category">
{{Category}}
</div>
{{/each}}
</div>
Notice that we are telling the template "for each record in the lists collection"
with our {{#each lists}} command, and then, "display the Category" with
{{Category}}.
6. If you save these changes and look at the web page, you will see something
like the following screenshot:
This doesn't look much different. Yes, we have our header (categories), but where
are the categories for which we just created our template?
[ 20 ]
www.it-ebooks.info
Chapter 2
There's one more step we need to complete for the categories to show up. Currently,
the template that we just created isn't pointing towards anything. In other words, we
have a lists collection, and we have a template, but we don't have the underlying
JavaScript function that hooks them together. Let's take care of this by performing
the following steps:
...
Template.hello.events({ ...
These code chunks hook up JavaScript functions and objects to the HTML
hello template. Meteor's built-in Template object makes this possible, and
we're going to follow the same pattern, that is, to hook up our categories
template.
3. We've now declared the lists collection for all the templates to use, and we
can have the function return the results from a Meteor.Collection query.
We can do that using the find() command:
lists : function(){
return lists.find({}, { sort: { Category : 1 }});
}
[ 21 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
This code will find every record in the lists collection and will sort the results
by the Category (name). Save these changes, and you will now see a populated
list of categories:
Cleaning up
We're fast approaching a working application, and we want it to look super-shiny
and clean. Let's do a bit of clean up in our code and add some CSS to make things
more readable. To do this, perform the following steps:
1. We don't need the greeting anymore. So, let's get rid of it. To do this,
remove the following lines from LendLib.html and save the page:
<body>
<h1>Lending Library</h1>
{{> hello}}
<div id="categories-container" class="container">
{{> categories}}
</div>
</body>
<template name="hello">
<h2>My Library</h2>
<button>Click Me</button>
<p>You've pressed the button {{counter}} times.</p>
</template>
[ 22 ]
www.it-ebooks.info
Chapter 2
});
Template.hello.events({
...
}); */
3. Now, let's add the Twitter Bootstrap framework, which gives us a lot of style
without much effort. Using a terminal window, create a client folder in /
LendLib/:
$ mkdir ~/Documents/Meteor/LendLib/client
Since Meteor will read and use every file put into the application folder, we want to
eliminate the redundant files. We don't have to worry too much about efficiency, but
some things are just shameful and leaving that much extraneous code lying around
is right up there with enjoying deep-fried carnival food.
1. Navigate to the Bootstrap folder (the name will vary) using the following
command:
$ cd ~/Documents/Meteor/LendLib/client/[bootstrap]/
If you know what you're doing with Bootstrap, you can just copy
the fonts, min.js, and min.css files instead of performing the
preceding instructions.
[ 23 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
After all these changes, your UI should be really clean and simple:
Let's quickly make the UI more distinct and readable. To do this, we must perform
the following set of steps:
1. In LendLib.html, let's change our header from a <div> tag to an <h2> tag,
and change the text from categories to my stuff:
<template name="categories">
<h2 class="title">my stuff</h2>
[ 24 ]
www.it-ebooks.info
Chapter 2
Creating a reaction
Following the creation of our basic template and collection, and with Meteor putting
our lists collection into the reactive context, we can now proceed to watch the
reactive programming model in action.
You will instantly see the page update. Note that, this time, the full page didn't
refresh! This is because, under the hood, Meteor is tracking changes to our reactive
context (in this case, the lists collection) and the template is being updated
immediately after a change is made.
Let's make a few more changes. To do this, enter the same Fraggles command
again:
> lists.insert({Category:"Fraggles"});
But we have too many Fraggles categories now. There are a lot of Fraggles, but
unless you're some weirdo collector, you don't need two categories. So, let's remove
them. However, we can't just erase whatever we want on the client side. This is
a basic safety feature, and if we just let it happen, things could get quite chaotic.
For instance, if we tried to just remove the records using the following command:
> lists.remove({Category:"Fraggles"});
[ 25 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
...then that's quite a no-no. Meteor detects stuff like this and will give us a 403 error
as follows:
There are three ways in which we can manually delete or modify records.
• The first is on the client side, by finding the ID of the record. In your browser
console, run the following command:
> lists.findOne({Category:"Fraggles"});
This will return a single record, including an _id property, similar to the
following screenshot:
• The second way is to use meteor shell. In a new terminal window (keep
your app running!), navigate to ~/Documents/Meteor/LendLib/ and enter
the following command:
$ meteor shell
This will open a console that is directly connected to the server so that we can
run commands as if they were server code; for example:
> lists.remove({Category:"Fraggles"});
This will remove all categories that are named Fraggles. The meteor shell
command comes in handy when we need to run tests or debug, so keep this
command in your pocket to use when you need it.
• The final way to delete records is how we did it in the previous chapter, with
meteor reset. In fact, let's do that right now. Stop your application from
running (Ctrl + C) and execute the following command in the terminal:
$ meteor reset
[ 26 ]
www.it-ebooks.info
Chapter 2
Start Meteor again with the meteor command, and your application screen should be
nice and clean:
It would probably be good to have a couple of categories, so let's create them really
quickly. In the browser console, enter the following commands:
> lists.insert({Category:"Collectibles"});
> lists.insert({Category:"DVDs"});
> lists.insert({Category:"Tools"});
As you can see, the changes are made instantly, with no page refresh.
Multiple clients
Good things should be shared. Meteor gets this, and as we're about to see for
ourselves, the reactive programming model allows us to share updates in real time
across multiple clients.
With your Chrome web page still open to http://localhost:3000/, open a new
browser tab and navigate to the same page.
If you really want to get fancy, you can conduct this same
experiment with multiple browsers (Firefox, Opera, or Safari).
Each session will be live and reactive!
You now have two clients open, which is simulating the application being open by
different people, at different locations, with different computers. Meteor's reactive
model allows you to treat all clients in the same manner, and a change made by one
will be propagated to all the others.
With your eyes on the new second browser, type the following command into the
console of browser #1:
> lists.insert({Category:"Vinyl Records"})
[ 27 ]
www.it-ebooks.info
Reactive Programming…It's Alive!
You will notice that the change propagates to both browsers, without a page refresh:
Feel free to make any extra collections, to remove or rename them, and so on.
Experiment a little and notice how these changes can be instantly made to every
listening client. Meteor operates under a very powerful paradigm, and in the next
chapter, you'll be able to see exactly why this is such an important and disruptive
change to web application development.
Summary
In this chapter, you successfully created the framework for your new Meteor
application. You saw firsthand how quickly a new project can be created, and you
created database and template functionality with just a few lines of code. You saw
live HTML and reactive programming in action, and you are now ready to go even
deeper into the Meteor engine. You've conquered the tip of the iceberg, my friend.
Take a break, have a cold one, and get ready for even more Meteor awesomeness!
[ 28 ]
www.it-ebooks.info
Exploring the Variety of Random
Documents with Different Content
Ser português
AS POBRES MÃES
As pobres mães
orventura evocará este titulo míseras mulheres desgrenhadas, arrepanhando-se
de dôr, ante a morte que lhes arranca dos braços os filhos estremecidos...
Ou a visão dolorosa das que os vêm partir, na força da vida, frementes de
esperanças e ambições, chamados pela lei para a guerra odiosa...
Ou, ainda, pobres mulheres vagabundas, arrastando os seus farrapos pelas ruas e
caminhos, mendigando baixinho, numa vergonha ou num pavôr, para os sêres informes
que levam nos braços e pendurados ás saias, culturas para a dôr e para a doença, crimes
e loucuras em fermentação...
E, entanto, não são essas as que merecem a epigrafe que encima estas palavras.
É mais dôce o seu viver, mais calma a sua existencia...
É ao recolhimento da vida burguêsa que iremos buscar essas pobres mães, que a
sociedade moderna, no impulso avassalador e tiranico de necessidades e exigencias
novas, vai fazendo martires pelo sentimento e pelo coração.
São essas mulheres naturalmente inteligentes, mas fundamentalmente ignorantes, que
sofrem pelo afastamento progressivo dos filhos do seu amôr e do seu encanto, a par e
passo que os vêm crescer em inteligencia e saber.
É á classe média, a mais numerosa e nacionalisada, a mais apegada a preconceitos e
tradições, que vamos buscar o nosso exemplo, porque:—o povo operario, caminhando
revoltósa e tumultuariamente para o futuro; o dos campos, muito perto ainda do
primitivismo animal; a alta burguesia e os restos desmantelados das velhas aristocracias,
despaízadas pela educação e pela existencia só de luxo e egoismo—não podem fornecer
os elementos comprovativos para a nossa these.
Um dos muitos axiomas fabricados para satisfação da nossa vaidade, e que transmitimos
gostosos pelo prazer de nos iludirmos e pela preguiça em nos emendarmos, é a
conhecida frase—que faz comover sentimentalmente os mais áridos corações—a mulher
portuguêsa é uma bôa mãe.
Ora se olharmos a maternidade apenas como a funcção animal de conceber, ter o filho,
amamentá-lo e cuidá-lo materialmente, nos primeiros três ou quatro mêses da sua
existencia, a mulher portuguêsa é, realmente, uma bôa mãe.
Tudo a predispõe para isso. A bondade natural da nossa raça, essa bondade passiva feita
da indolencia atavica de sangue oriental que nos anda nas veias; a belleza efemera,
quasi toda feita da frescura dos poucos annos e da delicadeza das linhas que a
maternidade ainda não engrossou; o esmagamento duma longa série de gerações em
que viveu no recolhimento freiratico da antiga vida portuguêsa, e ainda hôje sem os
cuidados rudes de procurar a subsistencia, encargo exclusivo do homem...
Tudo predispõe a mulher, na doçura amolecedôra do nosso clima, para ser uma
cuidadosa mãe: cheia de mimos para os seus pequenos; temendo vê-los chorar, como
quem teme uma trovoada; muito ciosa das suas prerogativas, quando se trata do enxoval
de bébé, da moda dos vestidos, dos chapéos e das bótas; sacrificando-se, em caso de
doenças; tendo, emfim, todos os carinhos e todos os merecimentos duma bôa aia.
Mais tarde, procurará dar ás filhas uma educação primorosa, segundo o seu ponto de
vista, não se poupando ainda a sacrificios para que toquem no seu piano, saibam
prendas de mãos, e um bocadinho de francês para não se envergonharem numa sala...
Emquanto aos rapazes, cedo entregues aos professores que os levam a exame, ficam—
graças a Deus—livres de toda a responsabilidade de educadora.
Para com as filhas é mais longa a sua missão, que não é desagradavel a espiritos que
ficaram ignorantes das mais singelas regras de alta moral.
Quando as raparigas chegam á idade de procurar marido, ahi dos dezeseis para os
dezoito, começa para a mulher o desempenho do papel, annos atrás a cargo da sua
propria mãe, quando a acompanhou a todos os divertimentos, aguentou calôres e frios
nos passeios da móda, cabeceou pelas reuniões dançantes, fez sacrificios para lhe
comprar vestidos vistosos, despojou-se dos seus adornos para enfeitar as filhas, porque
—e esta frase é bem caracteristicamente portuguêsa e lança toda a luz no módo de ser e
nas aspirações da nossa pobre mulher—já agradou a quem tinha de agradar.
Agora é a vez da filha ir para a amostra, até encontrar senhor. Sujeitam-se a tudo:
trabalham, quando não têm criadas, nos mesteres mais humildes, para que as filhas
desempenhem o seu papel de princesinhas de contos á espera do principe encantado
que as fará soberanas de deslumbrantes reinos imaginarios...
A rapariga, assim preparada, casa emfim, realisa a sua ambição, está finalmente
arrumada—como é vulgarissimo dizer-se quando uma noiva passa, sorridente e confiada,
dos mimos da casa paterna para os braços de um homem que na maior parte das vezes
é quasi um desconhecido.
Pobres dellas!... O que julgam o fim é apenas o principio—da sua árdua missão de mãe
de familia.
Deixou de ser uma criatura sem deveres nem responsabilidades, a quem tudo se perdôa
e desculpa, para ser a pedra basilar desse sagrado templo que se chama o lar.
Vai sêr a mãe! Vai pertencer-lhe, só a ella, por longos e dolorosos mêses, viver da sua
vida, alimentar-se com o seu sangue, sentir pelos seus nervos, um pequenino ser informe
que é o seu filho, que será para o futuro um homem ou uma mulher, que poderão ser
uns criminosos ou uns santos, doentes ou sãos, devido, em muito, aos cuidados,
preocupações e higiene moral e material da mãe.
Nascido para a vida, é ainda o objecto dos seus cuidados e amôr. Treme pela sua fragil
existencia, alimenta-o com o seu leite, acalenta-o no seu regaço,—continúa a viver da
sua existencia, póde assim dizer-se.
A mãe sente-se satisfeita com esses cuidados que dispensa aos pequeninos seres, que
lhe enchem de ternura e de encanto o coração; e, cuida, justamente, que ninguem será
capaz de os tratar e amar como ella...
Mas esta mulher tão cuidadosa e carinhosa não é, não pode ser, uma bôa mãe! Só o
instincto a guia, e o homem de hôje é por tal fórma o producto de costumes e
civilisações sobrepostas, que deixou ha muito de ser o animal de instinctos, segundo a
natureza, para ser um producto de arte e de trabalho e de paciente cultura.
Educar uma criança de hôje, não é manda-la para a escola para que saiba lêr e escrever;
é muito mais do que isso!
Ainda antes de nascer, já a criança deverá ser respeitada e amada, cohibindo-se a mãe
de muita coisa que a póde prejudicar, cuidando do seu proprio somno, da sua
alimentação, e da sua higiene, para que a delicada planta humana desabroche vigorosa e
possa resistir e desenvolver-se propiciamente.
Conhecem, por acaso, a maior parte das mães, a responsabilidade duma gravidez?
Sabe a mulher que casou com a educação que descrevemos, que do conhecimento e da
prática de simples noções de hygiene póde evitar aos seus filhos terriveis males, quasi
todo o estendal das doenças infantis, que levam para a terra centenares de corpinhos
inermes: desde a enterite, que faz das mais lindas creanças pequenos cadaveres
ambulantes, até á atrepsía que, sob as côres rosadas da saude, disforma o esqueleto,
dobrando as pernas em arco, dando ás criancitas o andar grotesco de marrequinhos fóra
da agua?
A propria tisica, a escrofulose, a anemia, como as inúmeras nevróses que desvairam a
raça humana, são quasi sempre evitaveis se uma vida infantil regular e higienica tonificar
o organismo e o preparar com a resistencia precisa para o triumfo dos principios vitaes.
Partindo do cuidado, quasi só material, dos primeiros dois ou três annos, a missão da
mãe redobra a cada passo de dificuldades e requer toda a inteligencia e a tenacidade
duma grande obra.
É então que todos os desvelos serão poucos para vigiar a consciencia que vai
despertando, e que é necessario começar cedo a ser educada e dirigida para o bem.
Não faltará quem se ria ouvindo falar em educação duma criança de três ou quatro
annos; e, no entanto, nada mais sério e nada mais util do que saber aproveitar a
franquêsa dessa idade, que ainda não sabe mentir, para conhecer na criança o homem
ou a mulher que será no futuro. É a ocasião de poder aproveitar todas as qualidades de
um caracter e até os seus defeitos, e convertê-los em virtudes, sem torcer a vontade
nem o temperamento individual.
E a mãe, a pobre mãe, que é a mulher da qual descrevemos o casamento, começa então
a sentir que o seu filho se lhe escapa dos braços, arredando-se-lhe do coração, alheando-
se-lhe do espirito.
Dahi em diante, a criança, pela vida e pela alegria da qual ella sacrificaria gostosamente
a sua propria vida, dá cada dia um passo que a tornará uma estranha para aquella que
lhe devia ser a mais certa e mais respeitada guia.
É quando, cheia de curiosidade, começa a abrir os olhos do espirito, que se não fartam
de luz, e pergunta tudo quanto existe, tudo quanto lhe fere a atenção, sempre desperta e
voluvel.
As coisas mais simples, como as coisas mais complexas, tudo procura saber e tudo é
preciso que se lhe explique duma maneira comprehensivel. É o momento unico de lhe
dar noções que nunca mais esquecem e que pela fórma estejam ao alcance dos seus
poucos annos e rudimentar inteligencia, mas pela substancia resumem os conhecimentos
e verdades que lhe serão uteis pela existencia fóra.
Se a mãe não responde, a criança desinteressa-se de coisas sérias e torna-se futil, ou vae
fazer as suas perguntas ao pai, quasi sempre mais culto, e que por esse motivo passará a
ser considerado superior á mãe ignorante. Se a mãe, não querendo passar aos olhos da
criança por inferior, diz uma coisa ao acaso, que não é precisamente a verdade, o mal é
ainda peor porque não tardará que a criança saiba, por estranhos, o contrario do que lhe
disseram.
E não imaginem que ella esquecerá, não! Na primeira ocasião saberá mostrar a sua
estranhesa.
Cresce: da escola para sujeição, onde a mãe a meteu por ser impossivel tê-la em casa
desde os três annos, passa a frequentar as aulas públicas. Tem os seus compendios, que
lhe falam de coisas de que não tinha a menor noção; cada passo é uma dificuldade, cada
palavra um barranco, cada materia uma novidade, que o professor, entre tantos
discipulos a reclamar-lhe a atenção, não tem tempo de aclarar-lhe o sentido. De lagrimas
nos olhos, o livro na mão, a criança irá procurar aquella que mais estima, e que mais tem
tido chegada ao coração desde que existe, para que lhe explique o que não
comprehende. E a pobre mãe não saberá auxilia-la, terá de confessar a sua impotencia, a
sua ignorancia, diante do filho que se desespera!
Quantas vezes, indo encontrá-lo a cabecear sobre o livro que não comprehende, a mãe
não teria desejo de tirar-lh'o das mãos e, numa clara leitura e uma inteligente explicação,
fazê-lo aprehender o sentido que lhe foge?!... mas... a pobre mãe não o poderá fazer,
porque não sabe tambem! E quantas vezes a sua revolta de ignorante não se torna uma
defesa para a criança mandriona, que repetirá o que lhe ouve:—Para que serve saber isto
ou aquillo? Sem estudar tambem se come e bebe!...
Se a criança é estudiosa e inteligente, em vez de pensar com leviandade sobre o
assumpto, com a aprovação da mãe, concentrará todo o seu espirito no estudo e irá
perguntar aos estranhos o que em casa não poude saber.
A pobre mãe será, aos olhos de seu proprio filho, uma ignorante, uma inferior.
De dia para dia esta convicção se irá radicando no ânimo da criança, á medida que fôr
adquirindo conhecimentos, desenvolvendo a inteligencia.
O trabalho que se faz no seu espirito é lento, mas é seguro. Homens e mulheres feitos,
não deixarão de amar as mães—quem o duvída?—Mas com esse amôr protector que se
tem a uma bôa e dedicada ama que nos acalentou e amimalhou na infancia, o amôr
deprimente que se tem pelos inferiores; não o sagrado afecto do filho, que o é,
triplicemente, pelo sangue, pela amamentação e pela inteligencia desabrochada ao calôr
do ensinamento materno.
O convencionalismo, a mentira social, encobre com falsos sentimentos verdades que
julga crimes, mas que a natureza, na sua rudesa primitiva, não considera tais. Assim,
quando a uma criatura em evidencia, pela sua nova posição social, se descobre uma
quasi vergonha que as faz esconder a inferioridade dos pais, todos se indignam e lh'o
lançam em cara como sangrento insulto.
Parece-nos um crime contra a natureza, mas na realidade é um sentimento bem humano
e desculpavel nessas criaturas roídas de ambições, na ânsia de fruir gosos inéditos para
os nados e criados na pobresa.
Quanta superioridade de ânimo lhes seria precisa para fugir ao mesquinho ponto de vista
duma sociedade, que, se por um lado exproba esses sentimentos como um crime, por
outro lado ri impiedosa dos ridiculos familiares de que o individuo não é culpado. Quanta
vaidade, quanto orgulho amachucado, curtirão esses que querem aparentar grandesa e
se vêem acorrentados á ironia dos seus inimigos por uma longa série de criaturas
inferiores que irremediavelmente os prendem á mediocridade!... É das mais tragicas e ao
mesmo tempo das mais comicas situações que a civilisação democratica dos nossos dias
trouxe á babugem das suas ondas, de envolta com os parvenus, tão invejados por uns
como despresados por outros...
Podemos considerar uma inferioridade de espirito esse sentimento de vergonha pelos
seus? Certamente.
Mas não é nobre e alto do coração quem o quer ser. Nós todos, com os nossos assomos
de independencia, não somos mais do que o producto do meio em que vivemos e nos
criámos, os productos duma bem ou mal orientada educação, um conjuncto de
convenções e mentiras numa sociedade construida sobre aparencias e falsidades.
Não condemnemos pois o filho que no seu intimo despresa intelectualmente a mãe, que
no entanto estima e até julga respeitar.
A mulher tem bastante intuição, mesmo quando é ignorante, para comprehender o
sentimento que inspira aos filhos. Embora se resigne dôcemente, no seu apático papel de
tutelada, essa convicção deve-lhe ser amargurosa.
Para seu bem, e, mais ainda, para bem da sociedade que não póde já dispensar-lhe o
concurso, preciso se torna que a mulher sáia desta situação que a inferiorisa, e a inutilisa
como factor importante da civilisação.
Comprehendendo a vida pelo estudo da grande mestra Natureza, é preciso que a mulher
se convença de que se não é bôa mãe só porque se deu vida a uma criança, que no seu
seio se gerou e completou e com o proprio leite se nutriu, rodeada de mimos e cuidados
durante a infancia.
É preciso que a essa maternidade puramente material se alie a nobre maternidade do
espirito e da educação—unica que lhe dará a garantia de possuir o respeito e o afecto
confiado dos filhos, que sempre encontrarão nella avisado conselho.
Procurando nos animais o exemplo que nos oriente, vemos que todos elles desconhecem
a mãe (porque o pai lhe é quasi sempre um estranho) desde que a criança se tornou
forte e dispensou o ensinamento e a guia que nos primeiros passos lhe eram
indispensaveis.
O mesmo succede ao homem, que se vai distanciando intelectualmente da mãe desde
que deixa de lhe ser conselho e auxilio dos tenros annos.
Todo o falado amôr poetico pela mãe, é apenas o producto duma convenção sentimental
adquirido pelo homem á medida que se foi civilisando.
Talvez até uma simples questão de moda trazida pelo romantismo, como os nefelibatas e
simbolistas nos déram ultimamente nos seus lirismos as velhas criadas e as boas amas...
Durante o naturalismo forte da Renascença, a mãe é completamente esquecida pelos
poetas e prosadores. Nas proprias telas a mãe glorificada pelo pincel dos mestres é a
Virgem, a mãe fóra da humanidade!
Como reação ao culto da mulher amante, soberba da sua belleza e da sua força, veio o
culto, bem mais postiço, da mulher, só porque o acaso a fez mãe.
A mulher póde e deve obstar, pelo esforço da sua energica vontade, á grande amargura
que a espera quando a alminha radiosa do seu filho vai fugindo ao convivio do seu pobre
espirito inculto para se lhe tornar quasi um estranho.
A mulher, na classe a que me tenho referido nestas paginas, pode educar-se a si mesma,
que não lhe faltam meios para o fazer.
Se o não fizer abdica dos seus direitos, exactamente quando mais alegrias
compensadoras lhe trariam.
Agora que o homem começa a olhá-la como sua igual e companheira, toda a
responsabilidade lhe cabe no despreso intimo, embora inconfessado, que a sua
ignorancia lhe merece.
A MISERIA DO POVO
A miseria do Povo
incontestavel que um certo movimento altruista se propaga pelo paiz—
secundando, ainda que frouxamente, o que nos outros se faz—em favôr dos
pobres, principalmente da mulher e da criança.
Uma grande revolução se está preparando, e, como todas as grandes
revoluções que têm transformado as sociedades, começa por revolucionar almas,
formando um núcleo de espiritos que pelo bem dos outros se sacrificam sem esperar
pagas nem incentivos de grosseiros interesses.
O mundo antigo, cheio de preconceitos e de injustiças, sente-se derruir, sem bases
seguras onde se apoiar—esfacela-se lentamente até uma derrocada ingloria e completa.
A pouco e pouco, aqui e ali, algumas bôas obras de solidariedade humana têm surgido
da iniciativa particular, sem que os governos tenham sequer suspeitado da sua existencia.
E bom é que assim seja, porque só a iniciativa particular, persistente, honesta nos seus
processos, sem charlatanismos oficiaes nem interesses politicos a desprestigiá-la, póde
fazer mais em poucos mezes do que cincoenta annos dos embaraçantes processos de
todos os governos.
É della que tudo ha a esperar, é da acção especial dos governados que confiâmos, pois
que dos governantes pouco ou nada póde vir neste sentido, nem é justo, verdade seja,
que delles se espere tudo, como se um povo não fosse mais do que ingenuo e eterno
bébé sugando a mamadeira que lhe apresenta a criadora.
Tudo esperar do poder central é mostrar que nada podemos individualmente, ou que
estamos satisfeitos com o pouco que nos concedem.
Ora a verdade é que ninguem está satisfeito, porque nunca se viu situação mais
desoladora, vida mais atropelada e miseravel.
É o nosso paiz aquelle em que mais caro se come, se veste, se viaja, e se tem morada; e
aquelle em que menos se ganha, salvo pequenas excepções, que é facil apontar. De dia
para dia os generos de primeira necessidade duplicam e triplicam de custo.
Não ha nada, desde o pão até á luz, que se não compre por alto preço; nada que não
custe ao pobre incomportaveis amarguras e suores.
É por isso que não ha paiz nenhum em que a tisica, a anemia e a escrofulose tenham
mais lauto banquete.
Fez-se, é certo, uma liga contra a tuberculose, patrocinada pelos governos, auxiliada por
contribuições obrigatorias na capital, reclamada pelas mil tubas sonoras do jornalismo
palaciano.
Não houve penna de escriptor, consagrado pelas gazetas, que se não puzesse ao serviço
da bôa causa; não houve paladino que não quizesse descer á liça a romper lanças pelo
triumfo da ideia que, partindo modesta e util de baixo, serviu depois muito interesse, deu
aso a muita turiferação.
E no fim de tanto afan, tanto barulho, tanto elogio, o que ganhou de positivo e imediato
o povo português, na sua grande massa?!
—Come porventura mais barato?
—Tem casas higienicas, onde se abrigue por módicos preços?
—Tem hospitais para todos os seus doentes?
—Asilos para todos os seus velhos?
—Sanatorios para todos os seus escrofulosos e tisicos?
—Escolas para todos os seus filhos?
Nada disso tem, nada disso lhe deram ainda, apesar de tanto que se tem apregoado os
beneficios duma liga, que póde ser simpatica como esmola particular e arbitraria duma
ou mais pessoas, fazendo pouco porque mesquinhos são os seus recursos, mas que se
não deve querer fazer passar por medida de salvação publica...
Todos reconhecem ser pouco o que se tem feito, tão pouco que se torna inutil, para
debelar um mal que vem da ruina dum povo e duma sociedade sem orientação; dum mal
que está no sangue e no espirito e que ameaça assoberbar tudo e todos.
São incontaveis os escrofulosos, tisicos, anémicos e depauperados na classe pobre. As
mulheres definham e morrem como flôres criadas em terra magra, sem ar nem luz; as
crianças arqueiam os pobres arcaboiços, onde mal se desenvolvem pulmões predispostos
á receptividade do microbio hostil; os homens avelhentam-se e enlividecem, numa
aparente senilidade aos vinte ou trinta annos. E tudo porquê?!
Porque a vida é terrivelmente cara em Portugal, e a maior parte da gente não come o
que necessita, vive em verdadeiras possilgas, não é preservada devidamente do contagio
das molestias que a rodeia, não é iniciada nas mais rudimentares regras de higiene, não
é educada de modo a preferir a alimentação e o conforto das casas ao luxo do trajar e
demais exteriorisações vistosas.
O caminho a seguir por quem quizesse e pudesse remediar tanto mal, não se limitaria a
fundar sanatorios onde se gastam muitos contos de reis e se abrigam, por empenhos,
umas desenas de crianças—umas predispostas apenas.
Para essas, mesmo, o bem não é grande e, principalmente, não é duradoiro. Melhoradas
pela higiene, pela alimentação e pelos simples remedios reconstituintes, voltam desse
conforto e abundancia para a antiga e triste miseria das suas casas, tendo por destino a
fatal renovação da doença, logo que deixe de ser combatida, e será agravada com o
desespero de se vêrem privadas do bem a que já se haviam gostosamente e
metodicamente habituado.
O primeiro passo a dar, para melhorar esta situação angustiosa, seria:—fazer baratear os
generos alimenticios de primeira necessidade; estabelecer e auxiliar cooperativas; reduzir
os impostos de consumo, que incidem principalmente sobre o pobre que compra a
retalho, de modo a que todos pudessem comer quanto é necessario para alimentar uma
vida saudavel.
Seria iniciar o sistema de cooperativas edificadoras, tão usado lá fóra; auxiliar grandes
companhias que se propozessem dar casas higienicas e espaçosas por módico preço, aos
pobres que não podem continuar a viver como hôje vivem em antros infectos e caros.
É mais do que tudo urgente acabar com a exploração dos senhorios que exigem por
casas pessimas, loucas exorbitancias extorquidas asperamente á economia da familia
pobre.
Ter o seu lar, a sua casa, onde cada prego representa um esforço de vontade e uma
consolação de posse; a casa para onde entram os noivos com a alma florida de
esperanças, onde nascem os filhos e se podem abrigar os velhos pais doentes; a casa
onde põe todo o seu amôr o operario laborioso, que nas horas vagas cultiva no jardim os
cravos e as rosas singelas, planta as hortaliças e levanta a parreira amiga que lhe dá a
sombra e o vinho; a casa que a mulher limpa e adorna com esmero, porque é a sua, a
companheira e amiga de todas as horas; a casa familiar, que deixa de ser uma coisa
inanimada e indiferente para se tornar no grande sonho abençoado dos que vão para
longe, e dos que ficam abrigados á sua dôce sombra; é para o trabalhador português
uma ambição tão desmedida, que poucos a chegam a realisar.
É desta indiferença do povo que não vive comsigo nem se sabe recolher ao interior da
sua habitação, ao seu lar, tornado o seu pequeno e querido universo, que não se
identifica com as suas coisas e não lhes toma amôr, é deste viver disperso de povo
meridional, que vive do ar e do sol, e num dia de passeata alegre pelos campos encontra
compensação para todas as suas miserias; que o senhorio tem abusado elevando
disfarçadamente, cada semestre um pouco, as rendas—que são hôje um verdadeiro
crime social.
Se fossem precisos exemplos para afirmar uma coisa que toda a gente sabe, Setubal
seria, para tudo quanto dizemos, um dos mais flagrantes.
Dotada com um luxuoso sanatorio, nem por isso a doença e a miseria a poupam mais.
A grande miseria da população (de vinte e três mil habitantes) é composta por operarios,
dum e doutro sexo, que trabalham nas fabricas de conservas de peixe, de pescadores, e
de gente de medianos recursos.
Com a afluencia de trabalhadores de fóra, as moradias têm subido a tal preço que uma
só familia não tem recursos para as pagar, acumulando-se duas e três em antigos predios
insalubres, dentro de ruas estreitas e nauseabundas, onde mal entram o ar e o sol—os
grandes purificadores. Ha casas, se tal nome merecem, onde se não póde andar de
cabeça erguida, sob pena de a partir no tecto, e onde a escuridão é quasi absoluta.
Casinhotos terreos, ahi pelos suburbios, em que as divisorias são feitas com cortinas de
chita, e pelos quais um mísero cavador paga por mês, dois mil réis, isto ganhando—
quando ganha—quatrocentos réis diarios.
Ha miseraveis velhinhas pedindo pelas portas para pagarem dez tostões mensais pelo
abrigo duma barraca forrada de folha de flandres ferrugenta, despresada pelo fabrico de
conservas.
Não ha muitos invernos que numa barraca alugada pelo mesmo preço exorbitante a uma
familia de pescadores, choveu tanto, em noite de temporal, que o marido e a mulher
tiveram de abrigar-se sob um chapéo de chuva, metendo os filhos debaixo da cama para
não ficarem completamente encharcados.
Chega a dar vontade de rir, mas do riso que é de lagrimas e de amarguradas censuras
tecido; o mesmo riso que se nos esboça numa lástima vendo uma criança deslocar-se em
acrobatices de circo.
Quantas gerações de miseria e servidão produziram a indiferença resignada com que se
sofre uma existencia de tais alegrias entrétecida?!
Depois, se numa destas habitações se dá um caso de doença contagiosa, vem a policia, a
pretexto de desinfeção, rouba aos pobres a sua unica cobertura, queima-lhe a unica
enxerga, despedaça-lhe a pouca loiça, borrifando paredes, sobrados e moveis com
sublimado corrosivo!...
Urgente seria organisar a fiscalisação sanitaria, de modo que a desinfeção fosse uma
coisa séria e prática e não um vexame ou um ridiculo como é,—méra providencia policial
quando se tóca a rebate numa ameaça de epidemia.
O que faz então o pobre, victima destas providencias policiaes? Para não ficar mais
desnudado do que dantes, arrecada, esconde tudo quanto serviu aos doentes, não
sabendo—na sua extrema ignorancia e desoladora miseria—que arrecada sôfregamente a
morte, que não pára nem descança de trabalhar nesse fertil campo.
Não seria prático, simples, justo, e até quasi nada dispendioso, que nos proprios
hospitaes se montassem estufas de desinfeção para as roupas de todos os doentes e de
todos os que morrem de molestias contagiosas; e que a policia se encarregaria de fazer
conduzir ali, para essas roupas serem reentregues quando já não constituissem um
perigo para os seus possuidores?!
E se ainda os males fossem só estes! Mas a juntar a tantas desgraças que podemos
chamar materiaes, ha outras e outras que se prendem de perto com as obrigações
moraes dos dirigentes e dos educadores.
Ha, por exemplo, quem fiscalise as condições em que se realisa o trabalho das mulheres
e dos menores? A lei que o regularisa é letra morta, e uns e outros trabalham nas peores
condições higienicas e em todos os tempos e horas, inferiorisando-se fisicamente,
deformando e afeando cada vez mais a nossa raça, que foi bella e fórte.
A mulher não tem quem a eduque e oriente, quem a ensine a respeitar-se e a respeitar
em si mesma o futuro dos filhos; e ou não trabalha nada, porque o homem a sustenta e
veste, ou se sujeita a tudo, desempenha os mais penosos serviços, quer livre quer em
vesperas de ser mãe.
Filhos nascidos, quem pensou em lhes abrir as créches, as escolas-infantis ou maternaes,
os asilos-oficinas?... Quem pensou em juntar essas mulheres, irmãs na desgraça, para
lhes ensinar como, agremiadas, se poderiam socorrer e fugir á extrema miseria, á doença
sem conforto, á fóme dos dias sem-trabalho?
Quem fez sentir aos operarios, a muitos que ganham bastante, mais do que qualquer
empregado publico, que a sua grande força estaria na modestia do viver, no cuidado que
puzessem em criar higienicamente e em educar os seus filhos?
Quem lhes faz sentir, sem azedume, o ridiculo do luxo que ostentam, nas mulheres e nos
filhos, imitando as burguêsas que dizem despresar? Quem lhes incutiu, com as
preocupações mais altas do espirito, o horror a essas festas em que a saúde e o dinheiro
por igual sofrem um forte abalo?
Como quasi todos os portuguêses, não pensam quanto melhor seria possuirem a casa
onde habitam e nasceram os filhos, que os viu sorrir e crescer, que lhes conhece as
lagrimas e as alegrias. Quanto seria preferivel, á taverna que os envenena e fére toda a
sua geração, o theatro que educa e diverte, criando uma atmosfera mais pura para o
espirito. Quanto mais proveitoso lhes seria fundar e frequentar bibliothecas, serem emfim
os iguais ou superiores aos que hôje imitam, não pelo trajar que é vaidade de pouca
monta, mas pela educação e pela consciencia dos seus direitos e deveres!?
Cigarras imprevidentes e tagarelas, nos dias quentes de bôa féria, quem entre nós os
póde criticar?
Defeito de educação, defeito endemico na nossa terra, que vem descendo do alto, num
turbilhão de vaidades insatisfeitas, numa aspiração desenfreada de ser mais do que
efectivamente se póde ser, pelas exteriorisações da vida faustosa, com vestidos ricos,
numa inveja que faz imitar sempre os que julgam acima, na escala social...
Mais do que uma liga contra a tuberculose, tal como se tem manifestado, seria proveitosa
á nossa raça devastada pela doença, uma liga contra a fóme e contra a ignorancia que
tudo obscurece e preverte.
A IGNORANCIA DO POVO