What is Mental Modeler?
Mental Modeler is modeling software that helps individuals and communities capture their knowledge in a standardized format that can be used for scenario analysis.
Based in Fuzzy-logic Cognitive Mapping (FCM), users can easily develop semi-quantitative models of environmental issues, social concerns or social-ecological systems in Mental Modeler by:
- Defining the important components of a system
- Defining the relationships between these components
- Running "what if" scenarios to determine how the system might react under a range of possible changes.
Why was it developed?
Mental Modeler was developed to support group decision-making, allowing users to collaboratively represent and test their assumptions about a system in "real time". Additionally, it has also been applied as a social science research tool to measure the individual or shared 'mental models' that often underlie human decision-making.
How do I get started?
Mental Modeler can be accessed as an online tool, with which you can create, upload, and revise models, assign and assess preferred state, view component and model metrics, and run scenarios on models.
What is Fuzzy-Logic Cognitive Mapping?
Fuzzy-Logic Cognitive Mapping (FCM) is a parameterized form of concept mapping where you can develop qualitative static models that are translated into semi-quantitative dynamic models. Bart Kosko originally developed FCM in 1986 as a way to structure expert knowledge using a soft systems programming approach that is "fuzzy", thought to be similar to the way that the human mind makes decisions.
FCM represents knowledge by defining three characteristics of a system:
- The components of the system
- The positive or negative relationships between the components
- The degree of influence that one component can have on another, defined using qualitative weightings (e.g. high, medium, or low influence)
The analytical mechanics of FCM are based on examining the structure and function of concept maps, using graph theory-based analyses of pairwise structural relationships between the concepts included in a model. These models can be used to examine perceptions of an environmental or social problem or to model a complex system where uncertainty is high and there is little empirical data available.
Mental Modeler allows you to build Fuzzy-logic Cognitive Maps easily and intuitively. Once models are built, increasing or decreasing the components included in the model allows you to examine different scenarios of change. Because of their flexibility, FCM have been used in a range of scientific disciplines, from political science to economics to ecology.
FCM and Mental Modeler based research articles
-
Henly-Shepard, S., S Gray, and L Cox. 2015. The use of participatory modeling to promote social learning and facilitate community disaster planning. Environmental Science & Policy 45, 109-122
Download Article -
Nayaki, A., Gray, S., Lepczyk, J. Skibins, D. Rentsch. 2014. Local-scale dynamics and local drivers of bushmeat trade. Conservation Biology xx-xx. doi: 10.1111/cobi.12316
Download Article - Halbrendt, J., S. Gray, S., Radovich, T., Crow, S., Kimura, A.. 2014. Differences in farmer and expert beliefs and the perceived impacts of conservation agriculture. Global Environmental Change. 28: 50-62.
Download Article - Gray, S., D. Mellor, D, RC Jordan, and G. Newman. 2014. Modeling with citizen scientists. Proceedings of the International Environmental Modelling and Software Society (iEMSs) 7th Intl. Congress on Env. Modelling and Software, San Diego, CA, USA, Daniel P. Ames, Nigel W.T. Quinn and Andrea E. Rizzoli (Eds.)
Download Article -
Gray, S., Gagnon, A.,Gray, S., Mahony, C., Muir, D., Falaleeva, M. 2014. Are local coastal managers detecting the problem? Assessing stakeholder perception of climate vulnerability using Fuzzy Cognitive Mapping. Ocean and Coastal Management. 94:74-89.
Download Article -
Gray, S., Chan, A., Clark, D. and R.C. Jordan. 2012. Modeling the integration of stakeholder knowledge in social-ecological system decision-making: Benefits and limitations to knowledge diversity. Ecological Modeling 229, 88-96.
Download Article - Gray, S. Gray, S., Cox, L., and Henly-Shepard, S. 2013 Mental modeler: A fuzzy-logic cognitive mapping modeling tool for adaptive environmental management. Proceedings of the 46th International Conference on Complex Systems. 963-973.
Download Article - Gray, S., Zanre, E., and Gray S. 2013. Fuzzy Cognitive Maps as representations of mentalmodels and group beliefs: theoretical and technical issues. In Fuzzy Cognitive maps for Applied Sciences and Engineering - From fundamentals to extensions and learning algorithms Ed: Elpiniki I. Papageorgiou. Springer Publishing
Download Article
Education Materials
Download the Mental Modeler ManualCase Studies and Applications
-
Modeling bushmeat trade dynamics in villages near the Serengeti National Park
This study investigated the relationships between illegal hunting, zebra and wildebeest populations, bushmeat consumption and local communities based on the knowledge held by community members currently or formally engaged in the bushmeat trade (e.g. hunters, consumers, sellers). A series of nine workshops in four villages that border the Serengeti National Park used FCM and Mental Modeler to model the bushmeat trade system. Assumptions that underlie common bushmeat management policies were then compared to local community assumptions about bushmeat trade dynamics to identify consistencies and disconnects for policy development.
Support: Frankfurt Zoological Society -
Facilitating community disaster planning in Hawaii through participatory modeling and scenario analysis
Coastal communities face risks associated with climate change that will increase the intensity and frequency of disasters. Participatory modeling has been identified as an approach to increase a community's resilience to these events. This research implemented a three-phase planning process built around Mental Modeler, to provide a group of diverse stakeholders on the North Shore community of Oahu with an opportunity to share individual perspectives, beliefs and expertise about the dynamics of climate change through iterative model development. Through a process that allowed communities to define and collectively examine the structural relationships between their community and hazards, and by evaluating how these models change over time, this study used the software to promote double and triple loop learning through in community-based planning process.
Support: USDA and NOAA -
Adaptation to coastal climate change in Ireland
The impacts of climate change on the coast of Ireland will result in unacceptable levels of risk to coastal communities, property, critical infrastructure, and coastal habitats unless adaptive measures are taken in the near to medium term. This study uses an FCM approach to modeling the cross-sector dynamics of Bantry Bay using knowledge collected from different coastal managers and experts. Through collaborative construction of an FCM of the bay and scenario analyses, competing management plans were evaluated to better understand the trade-offs and the relative impacts of different proposed policies.
Support: EPA Climate Change Research Programme (Ireland) -
Community-based conservation through the development of online modeling tools
This project enables citizens to play a role in locally-based environmental management by allowing stakeholders and local environmental managers to collaboratively define and model land management problems of mutual concern. The project features collaboration among cognitive scientists, ecologists, and computer/information scientists, and merges citizen science with cyberlearning and social networking. The cyberlearning environment in which these interactions takes place is built on an existing cyberinfrastructure, the International Biological Information System, and relies on Mental Modeler as a tool to support collaborative ecosystem modeling and communication among stakeholders of local social-ecological land dynamics.
Support: National Science Foundation -
Making environmental change relevant to local communities through 'social-downscaling': Integrating model-based forecasts and trends with stakeholder mental models
Making environmental predictions relevant to stakeholders is often difficult since the terms, language and outputs used by science-based models are rarely aligned with the terms and language used by local stakeholders. The term 'social-downscaling' is used to refer to a process by which the information generated through common environmental modeling and monitoring efforts (e.g. scientific knowledge) can be integrated with local expert "mental model" representations collected through participatory modeling to make the implications of environmental change more meaningful to local communities. Using a hypothetical case study of climate change in a Hawaiian watershed, FCMs developed using Mental Modeler were coupled with physical watershed models to understand the social-ecological impacts of environmental change in terms defined by local decision-makers.
Support: US Geological Survey
How did Mental Modeler begin?
Mental Modeler was developed by Dr. Steven Gray with funding from the USDA and NSF. Working with a range of other researchers from different disciplines and institutions, the software is now being implemented in several community-based planning and research projects. Some of our collaborators who have supported the development include:
- Payam Aminpor (Michigan State University)
- Dr. Rebecca Jordan (Rutgers University)
- Stefan Gray (Coastal and Marine Research Centre, Ireland)
- Jonathan Elbom (UX and Software Development)


Daniel Hepper
PyCologne, January 2018
- Package: a directory with a __init__.py file and a bunch of submodules
- Distribution: intended to be shared, has a setup.py, downloaded from PyPI
- Library: not useful on its own
- Project: might be distributed
compatibility > maintainability > reprocability
reproducability > maintainability> compatiblity
Libraries must define their dependencies in setup.py, setup.py is not sufficient for Projects
setup(
...
install_requires=[
'chardet>=3.0.2,<3.1.0',
'idna>=2.5,<2.7',
'urllib3>=1.21.1,<1.23',
'certifi>=2017.4.17'
],
)
$ virtualenv myproject
$ source myproject/bin/activate
(myproject) $ pip install requests
(myproject) $ pip freeze > requirements.txt
(myproject) $ cat requirements.txt
certifi==2017.11.5
chardet==3.0.4
idna==2.6
requests==2.18.4
urllib3==1.22
Aims to bring the best from other language's package handling to Python
See talk by Chris Arndt: https://github.com/SpotlightKid/talk-requirements-revisited
https://pypi.python.org/pypi/pipenv
| Table of contents | t |
|---|---|
| Exposé | ESC |
| Autoscale | e |
| Full screen slides | f |
| Presenter view | p |
| Source files | s |
| Slide numbers | n |
| Blank screen | b |
| Notes | 2 |
| Help | h |


[ht::head {Entry Tags} ]
<%nochildlist%>
:navtop
[ug::wikiheading {Basic Wiki Tags} basic]
The first set of tags show some information for the entry. Note: the attributes are all optional.
[ug::wikiheading {Collections} entries]
The following tags display a collection of entries.
By default the entries are the children entries of the current entry but you can specify
other groups of entries with the entries attribute:
[wiki::text {{{tag entry="some other entry"
entries="entryid1,entryid2,entryid3.."
exclude="entryid1,entryid2,entryid3.."
first="entryid1,entryid2,entryid3.."
last="entryid1,entryid2,entryid3.."
sort="name|date" sortorder="up|down"
max="number of entries to use" }}}]
The entries attribute is a comma separated list of entry identifiers.
They can be specific entry ids or they can be one of a set of relative descriptors as
described in the entry selection section.
:p
You can also:
- If first is defined then these entry ids are put at the front of the list.
- If last is defined then these entry ids are put at the end of the list.
- Exclude any entries in the exclude comma separated list of entry ids.
- Sort entries by name or date with sort
- If images is set to true then only entries that are image files are included
The relative descriptors are applied to the base entry specified with the entry attribute. You can specify an alternative
base entry for each descriptor with the syntax:
[wiki::text {
descriptor:baseEntryId
}]
So, for example, if you had 2 different Folder entries - folder1 and folder2 and you wanted to list all of the children of each folder you could do:
[wiki::text {
{{tree entries="children:folder1_id,children:folder2_id"}}
}]
You can combine different relative descriptors, e.g.:
[wiki::text {
{{tree entries="children:folder1_id,grandchildren:folder2_id"}}
}]
[ug::wikiheading {Collection Tags} collection_tags]
- [wiki::tagdef tree]
The tree tag is used to display the children entries of a folder.
It can take the form:
[wiki::text {{{tree title="Links" showtoggle="false" open="true" }}}]
The title attribute is used in place of "Children".
If showtoggle="false" then the show/hide toggle link is not shown.
- [wiki::tagdef grid] Show the children in a grid.
A common display is showing the children entries in a grid where each entry shows its thumbnail
image attachment,
e.g., RAMADDA Examples
[ht::screenshot images/grid.png]
To do this use:
[ht::pre {
{{grid
tag="card"
sort="name"
inner-height="200"
width="200"
showIcon="false"
showLink="false"
showSnippetHover="true"
}}
}]
The attributes:
- tag: what to display in each grid box
- sort: sort by name
- inner-height, width: grid box dimensions
- showIcon: should the entry icon be shown
- showLink: should a link to the entry be shown
- showSnippet: should the entry snippet be shown
- [wiki::tagdef recent {days="number of days to show"}]
Show the most recent N days in a list organized by day.
- [wiki::tagdef imageplayer {width="image width" loopdelay="delay in milliseconds" loopstart="true|false" useAttachment="true|false"}]
Show images in an image player, e.g.
[wiki::text {{{imageplayer loopdelay="500" loopstart="true"}}}]
If useAttachment is true then, if the entry's file is not an image but it has
an attachment that is an image then use the attachment image.
- [wiki::tagdef gallery {width="image width" columns="number of columns" showdescription="true"}]
Show a 3 column gallery:
[wiki::text {{{gallery columns="3"}}}]
Show a vertical listing of the children entry images:
[wiki::text {{{gallery columns="1"}}}]
Set the image width and only show up to 5 images:
[wiki::text {{{gallery width="300" max="5"}}}]
- [wiki::tagdef tabs] Show the children as tabs:
[wiki::text {{{tabs}}}]
Show only the 3 specified entries in tabs:
[wiki::text {{{tabs entries="0af4d166-5723-4775-88fc-b83b72ab47a4,
83539d5c-e9d9-408e-b0af-35f480000ae6,
49684d25-6af1-4188-a0ae-4d5302d22f2a" }}}]
Show only the children of type wikipage in tabs:
[wiki::text {{{tabs entries="type:wikipage"}}}]
Additional arguments:
- tag="some tag name" - The wiki tag to use to show the children. e.g., tag="simple" tag="html"
- includeicon="true|false" - if true, include the appropriate icon in the tab
- showlink="true|false" - show a link to the entry (default: true)
- linklabel="label" - if showlink is true, use label in place of the entry
name
- imagewidth="width" - width of images
- maximageheight="max height" - maximum height of images
- linkresource="true|false" - if true, link to the entry resource
- [wiki::tagdef slideshow] Show the children in a slideshow:
[wiki::text {{{slideshow}}}]
Uses the same arguments as tabs, plus:
- autoplay="true|false" - if true, start the slideshow (default: false)
- speed="secs" - number of seconds to pause on each entry in slideshow
- border="pixs" - border size in pixels
- bordercolor="color" - border color (name or hexadecimal value)
- width="width" - width of the display
- height="height" - height of the display
- [wiki::tagdef links {separator="separator text to use"
style="inline css style for the link"
class="css class for the link"
tagopen="html to prepend to the link - default is li"
tagclose="close html"
linkresource="true|false if true link to the entry's file or URL; If false link to the entry"}] Layout links to the entries.
This produces a set of links to the entries.
A bulleted list:
[wiki::text {

{{links}}

}]
A bulleted list with the links to the entry's file:
[wiki::text {

{{links linkresource="true"}}

}]
If you wanted to make a vertical list do:
[wiki::text {
{{links tagopen="
" tagclose="
"}}
}]
You can create a header with wiki text like:
[wiki::text {

{{links separator=" | " tagopen=""}}

}]
- [wiki::tagdef search {
type="entry type"
search.showform="true|false"
search.showheader="true|false"}]
The "search" tag performs an entry type specific search and embed it into the wiki. This is the same as the top-level type specific search. You can use any of the "search." attributes defined above, e.g., search.text.
The default is to not show the form.
- [wiki::tagdef apply]
The apply tag allows you to apply some tag (e.g., links, map) to a set of entries in turn. You can then layout
the results in a variety of ways (e.g., table, tabs);
The apply tag is of the form:
[wiki::text {
{{apply
apply.entry="the entry to find the children of"
apply.tag="some tag to apply to the entries"
apply.layout="table, accordion or tabs"
apply.columns="number of columns in table"
apply.header="text to go before can contain macros ${name} ${url}"
apply.footer="text to go after"
apply.border="border width - defaults to 0"
apply.bordercolor="border color"
apply.includeicon="true|false"
...
<arguments for the apply tag>
}}
}]
All of the arguments, including the entry argument are the same as described above but have the prefix "apply.". This way you can
mix the arguments that control the apply function with the arguments that you are using for each entry.
Say you have the following entries:
[wiki::text {
parent
entry1
sub-entry1
sub-entry2
entry2
sub-entry3
sub-entry4
}]
If you used the apply tag:
[wiki::text {
{{apply
apply.entry="parent"
apply.layout="tabs"
apply.tag="links"
linkresource="true"
}}
}]
This applies the tag "links" to each main entry. It puts each result in a tab.
This tag would make a 2 column table of maps with links to the entries show in the header.
[wiki::text {
{{apply
apply.layout="table"
apply.columns="2"
apply.tag="map"
apply.border="1"
apply.header="${url}"
<any map arguments*gt;
}}
}]
[ug::wikiheading {Importing}]
You can also import any of the views of an entry, e.g., the map view,
the calendar view, etc., with the
[wiki::tag import] tag:
[wiki::tagdef import {showTitle="false" output=""}]
If you wanted to import the default content of an entry but don't show it's title do:
[wiki::text [wiki::tag import {entry=<some entry id> showTitle=false}]]
So, if you wanted to show the calendar view of an entry you would do:
[wiki::text [wiki::tag import {output="calendar.calendar"}]]
To find the correct output identifier just navigate to the page you
want to include and look at the url for the output=... url argument
and use that.
[ug::wikiheading {Snippet} snippet]
A number of the layouts below (e.g,, table layout) will include a snippet of descriptive text from the entry that is being displayed. The snippet text is defined in the description of the entry with:
[wiki::text {
Some description here.
<snippet>This is the snippet</snippet>
More description
}]
[ht::foot]


CIS-255: Client Side Web Development
Link to my Git Hub account.
HTML Page.
CSS Example.
SVSU Page.
Begin W3 Schools Examples:
W3Schools CSS.
W3Schools JavScript.
WordPress Blogs:
My WordPress Blog
Contribution to Michael Fuller
Contribution to Brandon Gage
Bootstrap Examples.
Gilmore's Glorious Goods (Editorial Template Website)


Because it is not possible to attack that protocol, here comes a short description why. Afterwards both parties can be sure with whom they communicate by means of mutual authentication, an attacker can eavesdrop the communication, but he will not get one of the private keys. Thus the two parties can establish a secure channel, by the use of asymmetrically encrypted messages.


A quick and simple workshop on how people can contribute to Open Source projects on GitHub and learn the basics of how the Git VCS works. This was in collaboration with Hacktoberfest, a month-long
celebration of the Open Web culture with challenging events and exciting prizes for participants.


Gaming Club an Initiative Sathyabama Institue of Technology
The GamiCon
19th March and 20th March
registration Fee - Rs.250/-
Gaming Club Aims to Create a serious environment for those whose beleive.Those who aims to make their passion into carrier.
The Peers of The Gaming Club Sathyabama Institue of Science and Technology.


The Project Gutenberg EBook of The Hunting of the Snark, by Lewis Carroll This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org Title: The Hunting of the Snark An Agony in Eight Fits Author: Lewis Carroll Release Date: June 25, 2008 [EBook #13] Last Updated: October 6, 2016 Language: English Character set encoding: UTF-8 *** START OF THIS PROJECT GUTENBERG EBOOK THE HUNTING OF THE SNARK *** Produced by David Widger
If—and the thing is wildly possible—the charge of writing nonsense were ever brought against the author of this brief but instructive poem, it would be based, I feel convinced, on the line (in p.4)
“Then the bowsprit got mixed with the rudder sometimes.”
In view of this painful possibility, I will not (as I might) appeal indignantly to my other writings as a proof that I am incapable of such a deed: I will not (as I might) point to the strong moral purpose of this poem itself, to the arithmetical principles so cautiously inculcated in it, or to its noble teachings in Natural History—I will take the more prosaic course of simply explaining how it happened.
The Bellman, who was almost morbidly sensitive about appearances, used to have the bowsprit unshipped once or twice a week to be revarnished, and it more than once happened, when the time came for replacing it, that no one on board could remember which end of the ship it belonged to. They knew it was not of the slightest use to appeal to the Bellman about it—he would only refer to his Naval Code, and read out in pathetic tones Admiralty Instructions which none of them had ever been able to understand—so it generally ended in its being fastened on, anyhow, across the rudder. The helmsman used to stand by with tears in his eyes; he knew it was all wrong, but alas! Rule 42 of the Code, “No one shall speak to the Man at the Helm,” had been completed by the Bellman himself with the words “and the Man at the Helm shall speak to no one.” So remonstrance was impossible, and no steering could be done till the next varnishing day. During these bewildering intervals the ship usually sailed backwards.
As this poem is to some extent connected with the lay of the Jabberwock, let me take this opportunity of answering a question that has often been asked me, how to pronounce “slithy toves.” The “i” in “slithy” is long, as in “writhe”; and “toves” is pronounced so as to rhyme with “groves.” Again, the first “o” in “borogoves” is pronounced like the “o” in “borrow.” I have heard people try to give it the sound of the “o” in “worry”. Such is Human Perversity.
This also seems a fitting occasion to notice the other hard words in that poem. Humpty-Dumpty’s theory, of two meanings packed into one word like a portmanteau, seems to me the right explanation for all.
For instance, take the two words “fuming” and “furious.” Make up your mind that you will say both words, but leave it unsettled which you will first.  If your thoughts incline ever so little towards “fuming,” you will say “fuming-furious;” if they turn, by even a hair’s breadth, towards “furious,” you will say “furious-fuming;” but if you have the rarest of gifts, a perfectly balanced mind, you will say “frumious.”
Supposing that, when Pistol uttered the well-known words—
“Under which king, Bezonian? Speak or die!”
Justice Shallow had felt certain that it was either William or Richard, but had not been able to settle which, so that he could not possibly say either name before the other, can it be doubted that, rather than die, he would have gasped out “Rilchiam!”
Fit the First THE LANDING
“Just the place for a Snark!” the Bellman cried, As he landed his crew with care; Supporting each man on the top of the tide By a finger entwined in his hair. “Just the place for a Snark! I have said it twice: That alone should encourage the crew. Just the place for a Snark! I have said it thrice: What I tell you three times is true.” The crew was complete: it included a Boots— A maker of Bonnets and Hoods— A Barrister, brought to arrange their disputes— And a Broker, to value their goods. A Billiard-marker, whose skill was immense, Might perhaps have won more than his share— But a Banker, engaged at enormous expense, Had the whole of their cash in his care. There was also a Beaver, that paced on the deck, Or would sit making lace in the bow: And had often (the Bellman said) saved them from wreck, Though none of the sailors knew how. There was one who was famed for the number of things He forgot when he entered the ship: His umbrella, his watch, all his jewels and rings, And the clothes he had bought for the trip. He had forty-two boxes, all carefully packed, With his name painted clearly on each: But, since he omitted to mention the fact, They were all left behind on the beach. The loss of his clothes hardly mattered, because He had seven coats on when he came, With three pairs of boots—but the worst of it was, He had wholly forgotten his name. He would answer to “Hi!” or to any loud cry, Such as “Fry me!” or “Fritter my wig!” To “What-you-may-call-um!” or “What-was-his-name!” But especially “Thing-um-a-jig!” While, for those who preferred a more forcible word, He had different names from these: His intimate friends called him “Candle-ends,” And his enemies “Toasted-cheese.” “His form is ungainly—his intellect small—” (So the Bellman would often remark) “But his courage is perfect! And that, after all, Is the thing that one needs with a Snark.” He would joke with hyenas, returning their stare With an impudent wag of the head: And he once went a walk, paw-in-paw, with a bear, “Just to keep up its spirits,” he said. He came as a Baker: but owned, when too late— And it drove the poor Bellman half-mad— He could only bake Bridecake—for which, I may state, No materials were to be had. The last of the crew needs especial remark, Though he looked an incredible dunce: He had just one idea—but, that one being “Snark,” The good Bellman engaged him at once. He came as a Butcher: but gravely declared, When the ship had been sailing a week, He could only kill Beavers. The Bellman looked scared, And was almost too frightened to speak: But at length he explained, in a tremulous tone, There was only one Beaver on board; And that was a tame one he had of his own, Whose death would be deeply deplored. The Beaver, who happened to hear the remark, Protested, with tears in its eyes, That not even the rapture of hunting the Snark Could atone for that dismal surprise! It strongly advised that the Butcher should be Conveyed in a separate ship: But the Bellman declared that would never agree With the plans he had made for the trip: Navigation was always a difficult art, Though with only one ship and one bell: And he feared he must really decline, for his part, Undertaking another as well. The Beaver’s best course was, no doubt, to procure A second-hand dagger-proof coat— So the Baker advised it—and next, to insure Its life in some Office of note: This the Banker suggested, and offered for hire (On moderate terms), or for sale, Two excellent Policies, one Against Fire, And one Against Damage From Hail. Yet still, ever after that sorrowful day, Whenever the Butcher was by, The Beaver kept looking the opposite way, And appeared unaccountably shy.
Fit the Second THE BELLMAN’S SPEECH
The Bellman himself they all praised to the skies— Such a carriage, such ease and such grace! Such solemnity, too! One could see he was wise, The moment one looked in his face! He had bought a large map representing the sea, Without the least vestige of land: And the crew were much pleased when they found it to be A map they could all understand. “What’s the good of Mercator’s North Poles and Equators, Tropics, Zones, and Meridian Lines?” So the Bellman would cry: and the crew would reply “They are merely conventional signs! “Other maps are such shapes, with their islands and capes! But we’ve got our brave Captain to thank:” (So the crew would protest) “that he’s bought us the best— A perfect and absolute blank!” This was charming, no doubt; but they shortly found out That the Captain they trusted so well Had only one notion for crossing the ocean, And that was to tingle his bell. He was thoughtful and grave—but the orders he gave Were enough to bewilder a crew. When he cried “Steer to starboard, but keep her head larboard!” What on earth was the helmsman to do? Then the bowsprit got mixed with the rudder sometimes: A thing, as the Bellman remarked, That frequently happens in tropical climes, When a vessel is, so to speak, “snarked.” But the principal failing occurred in the sailing, And the Bellman, perplexed and distressed, Said he had hoped, at least, when the wind blew due East, That the ship would not travel due West! But the danger was past—they had landed at last, With their boxes, portmanteaus, and bags: Yet at first sight the crew were not pleased with the view, Which consisted of chasms and crags. The Bellman perceived that their spirits were low, And repeated in musical tone Some jokes he had kept for a season of woe— But the crew would do nothing but groan. He served out some grog with a liberal hand, And bade them sit down on the beach: And they could not but own that their Captain looked grand, As he stood and delivered his speech. “Friends, Romans, and countrymen, lend me your ears!” (They were all of them fond of quotations: So they drank to his health, and they gave him three cheers, While he served out additional rations). “We have sailed many months, we have sailed many weeks, (Four weeks to the month you may mark), But never as yet (‘tis your Captain who speaks) Have we caught the least glimpse of a Snark! “We have sailed many weeks, we have sailed many days, (Seven days to the week I allow), But a Snark, on the which we might lovingly gaze, We have never beheld till now!  “Let us take them in order. The first is the taste, Which is meagre and hollow, but crisp: Like a coat that is rather too tight in the waist, With a flavour of Will-o’-the-wisp. “Its habit of getting up late you’ll agree That it carries too far, when I say That it frequently breakfasts at five-o’clock tea, And dines on the following day. “The third is its slowness in taking a jest. Should you happen to venture on one, It will sigh like a thing that is deeply distressed: And it always looks grave at a pun. “The fourth is its fondness for bathing-machines, Which is constantly carries about, And believes that they add to the beauty of scenes— A sentiment open to doubt. “The fifth is ambition. It next will be right To describe each particular batch: Distinguishing those that have feathers, and bite, And those that have whiskers, and scratch. “For, although common Snarks do no manner of harm, Yet, I feel it my duty to say, Some are Boojums—” The Bellman broke off in alarm, For the Baker had fainted away.
 When at length he sat up and was able to speak, His sad story he offered to tell; And the Bellman cried “Silence! Not even a shriek!” And excitedly tingled his bell. There was silence supreme! Not a shriek, not a scream, Scarcely even a howl or a groan, As the man they called “Ho!” told his story of woe In an antediluvian tone. “My father and mother were honest, though poor—” “Skip all that!” cried the Bellman in haste. “If it once becomes dark, there’s no chance of a Snark— We have hardly a minute to waste!” “I skip forty years,” said the Baker, in tears, “And proceed without further remark To the day when you took me aboard of your ship To help you in hunting the Snark. “A dear uncle of mine (after whom I was named) Remarked, when I bade him farewell—” “Oh, skip your dear uncle!” the Bellman exclaimed, As he angrily tingled his bell. “He remarked to me then,” said that mildest of men, “‘If your Snark be a Snark, that is right: Fetch it home by all means—you may serve it with greens, And it’s handy for striking a light. “‘You may seek it with thimbles—and seek it with care; You may hunt it with forks and hope; You may threaten its life with a railway-share; You may charm it with smiles and soap—‘” (“That’s exactly the method,” the Bellman bold In a hasty parenthesis cried, “That’s exactly the way I have always been told That the capture of Snarks should be tried!”) “‘But oh, beamish nephew, beware of the day, If your Snark be a Boojum! For then You will softly and suddenly vanish away, And never be met with again!’ “It is this, it is this that oppresses my soul, When I think of my uncle’s last words: And my heart is like nothing so much as a bowl Brimming over with quivering curds! “It is this, it is this—” “We have had that before!” The Bellman indignantly said. And the Baker replied “Let me say it once more. It is this, it is this that I dread! “I engage with the Snark—every night after dark— In a dreamy delirious fight: I serve it with greens in those shadowy scenes, And I use it for striking a light: “But if ever I meet with a Boojum, that day, In a moment (of this I am sure), I shall softly and suddenly vanish away— And the notion I cannot endure!”
Fit the fourth THE HUNTING
The Bellman looked huffish, and wrinkled his brow. “If only you’d spoken before! It’s excessively awkward to mention it now, With the Snark, so to speak, at the door! “We should all of us grieve, as you well may believe, If you never were met with again— But surely, my man, when the voyage began, You might have suggested it then? “It’s excessively awkward to mention it now— As I think I’ve already remarked.” And the man they called “Hi!” replied, with a sigh, “I informed you the day we embarked. “You may charge me with murder—or want of sense— (We are all of us weak at times): But the slightest approach to a false pretence Was never among my crimes! “I said it in Hebrew—I said it in Dutch— I said it in German and Greek: But I wholly forgot (and it vexes me much) That English is what you speak!” “‘Tis a pitiful tale,” said the Bellman, whose face Had grown longer at every word: “But, now that you’ve stated the whole of your case, More debate would be simply absurd. “The rest of my speech” (he explained to his men) “You shall hear when I’ve leisure to speak it. But the Snark is at hand, let me tell you again! ‘Tis your glorious duty to seek it! “To seek it with thimbles, to seek it with care; To pursue it with forks and hope; To threaten its life with a railway-share; To charm it with smiles and soap! “For the Snark’s a peculiar creature, that won’t Be caught in a commonplace way. Do all that you know, and try all that you don’t: Not a chance must be wasted to-day! “For England expects—I forbear to proceed: ‘Tis a maxim tremendous, but trite: And you’d best be unpacking the things that you need To rig yourselves out for the fight.” Then the Banker endorsed a blank cheque (which he crossed), And changed his loose silver for notes. The Baker with care combed his whiskers and hair, And shook the dust out of his coats. The Boots and the Broker were sharpening a spade— Each working the grindstone in turn: But the Beaver went on making lace, and displayed No interest in the concern: Though the Barrister tried to appeal to its pride, And vainly proceeded to cite A number of cases, in which making laces Had been proved an infringement of right. The maker of Bonnets ferociously planned A novel arrangement of bows: While the Billiard-marker with quivering hand Was chalking the tip of his nose. But the Butcher turned nervous, and dressed himself fine, With yellow kid gloves and a ruff— Said he felt it exactly like going to dine, Which the Bellman declared was all “stuff.” “Introduce me, now there’s a good fellow,” he said, “If we happen to meet it together!” And the Bellman, sagaciously nodding his head, Said “That must depend on the weather.”  “Be a man!” said the Bellman in wrath, as he heard The Butcher beginning to sob. “Should we meet with a Jubjub, that desperate bird, We shall need all our strength for the job!”
Fit the Fifth THE BEAVER’S LESSON
They sought it with thimbles, they sought it with care; They pursued it with forks and hope; They threatened its life with a railway-share; They charmed it with smiles and soap. Then the Butcher contrived an ingenious plan For making a separate sally; And had fixed on a spot unfrequented by man, A dismal and desolate valley. But the very same plan to the Beaver occurred: It had chosen the very same place: Yet neither betrayed, by a sign or a word, The disgust that appeared in his face. Each thought he was thinking of nothing but “Snark” And the glorious work of the day; And each tried to pretend that he did not remark That the other was going that way. But the valley grew narrow and narrower still, And the evening got darker and colder, Till (merely from nervousness, not from goodwill) They marched along shoulder to shoulder. Then a scream, shrill and high, rent the shuddering sky, And they knew that some danger was near: The Beaver turned pale to the tip of its tail, And even the Butcher felt queer. He thought of his childhood, left far far behind— That blissful and innocent state— The sound so exactly recalled to his mind A pencil that squeaks on a slate! “‘Tis the voice of the Jubjub!” he suddenly cried. (This man, that they used to call “Dunce.”) “As the Bellman would tell you,” he added with pride, “I have uttered that sentiment once. “‘Tis the note of the Jubjub! Keep count, I entreat; You will find I have told it you twice. ‘Tis the song of the Jubjub! The proof is complete, If only I’ve stated it thrice.” The Beaver had counted with scrupulous care, Attending to every word: But it fairly lost heart, and outgrabe in despair, When the third repetition occurred. It felt that, in spite of all possible pains, It had somehow contrived to lose count, And the only thing now was to rack its poor brains By reckoning up the amount. “Two added to one—if that could but be done,” It said, “with one’s fingers and thumbs!” Recollecting with tears how, in earlier years, It had taken no pains with its sums. “The thing can be done,” said the Butcher, “I think. The thing must be done, I am sure. The thing shall be done! Bring me paper and ink, The best there is time to procure.” The Beaver brought paper, portfolio, pens, And ink in unfailing supplies: While strange creepy creatures came out of their dens, And watched them with wondering eyes. So engrossed was the Butcher, he heeded them not, As he wrote with a pen in each hand, And explained all the while in a popular style Which the Beaver could well understand. “Taking Three as the subject to reason about— A convenient number to state— We add Seven, and Ten, and then multiply out By One Thousand diminished by Eight. “The result we proceed to divide, as you see, By Nine Hundred and Ninety Two: Then subtract Seventeen, and the answer must be Exactly and perfectly true. “The method employed I would gladly explain, While I have it so clear in my head, If I had but the time and you had but the brain— But much yet remains to be said. “In one moment I’ve seen what has hitherto been Enveloped in absolute mystery, And without extra charge I will give you at large A Lesson in Natural History.” In his genial way he proceeded to say (Forgetting all laws of propriety, And that giving instruction, without introduction, Would have caused quite a thrill in Society), “As to temper the Jubjub’s a desperate bird, Since it lives in perpetual passion: Its taste in costume is entirely absurd— It is ages ahead of the fashion: “But it knows any friend it has met once before: It never will look at a bribe: And in charity-meetings it stands at the door, And collects—though it does not subscribe. “Its’ flavour when cooked is more exquisite far Than mutton, or oysters, or eggs: (Some think it keeps best in an ivory jar, And some, in mahogany kegs:) “You boil it in sawdust: you salt it in glue: You condense it with locusts and tape: Still keeping one principal object in view— To preserve its symmetrical shape.” The Butcher would gladly have talked till next day, But he felt that the lesson must end, And he wept with delight in attempting to say He considered the Beaver his friend. While the Beaver confessed, with affectionate looks More eloquent even than tears, It had learned in ten minutes far more than all books Would have taught it in seventy years. They returned hand-in-hand, and the Bellman, unmanned (For a moment) with noble emotion, Said “This amply repays all the wearisome days We have spent on the billowy ocean!” Such friends, as the Beaver and Butcher became, Have seldom if ever been known; In winter or summer, ‘twas always the same— You could never meet either alone. And when quarrels arose—as one frequently finds Quarrels will, spite of every endeavour— The song of the Jubjub recurred to their minds, And cemented their friendship for ever!
Fit the Sixth THE BARRISTER’S DREAM
They sought it with thimbles, they sought it with care; They pursued it with forks and hope; They threatened its life with a railway-share; They charmed it with smiles and soap. But the Barrister, weary of proving in vain That the Beaver’s lace-making was wrong, Fell asleep, and in dreams saw the creature quite plain That his fancy had dwelt on so long. He dreamed that he stood in a shadowy Court, Where the Snark, with a glass in its eye, Dressed in gown, bands, and wig, was defending a pig On the charge of deserting its sty. The Witnesses proved, without error or flaw, That the sty was deserted when found: And the Judge kept explaining the state of the law In a soft under-current of sound. The indictment had never been clearly expressed, And it seemed that the Snark had begun, And had spoken three hours, before any one guessed What the pig was supposed to have done. The Jury had each formed a different view (Long before the indictment was read), And they all spoke at once, so that none of them knew One word that the others had said. “You must know—” said the Judge: but the Snark exclaimed “Fudge!” That statute is obsolete quite! Let me tell you, my friends, the whole question depends On an ancient manorial right. “In the matter of Treason the pig would appear To have aided, but scarcely abetted: While the charge of Insolvency fails, it is clear, If you grant the plea ‘never indebted.’ “The fact of Desertion I will not dispute; But its guilt, as I trust, is removed (So far as related to the costs of this suit) By the Alibi which has been proved. “My poor client’s fate now depends on your votes.” Here the speaker sat down in his place, And directed the Judge to refer to his notes And briefly to sum up the case. But the Judge said he never had summed up before; So the Snark undertook it instead, And summed it so well that it came to far more Than the Witnesses ever had said! When the verdict was called for, the Jury declined, As the word was so puzzling to spell; But they ventured to hope that the Snark wouldn’t mind Undertaking that duty as well. So the Snark found the verdict, although, as it owned, It was spent with the toils of the day: When it said the word “GUILTY!” the Jury all groaned, And some of them fainted away. Then the Snark pronounced sentence, the Judge being quite Too nervous to utter a word: When it rose to its feet, there was silence like night, And the fall of a pin might be heard. “Transportation for life” was the sentence it gave, “And then to be fined forty pound.” The Jury all cheered, though the Judge said he feared That the phrase was not legally sound. But their wild exultation was suddenly checked When the jailer informed them, with tears, Such a sentence would have not the slightest effect, As the pig had been dead for some years. The Judge left the Court, looking deeply disgusted: But the Snark, though a little aghast, As the lawyer to whom the defense was entrusted, Went bellowing on to the last. Thus the Barrister dreamed, while the bellowing seemed To grow every moment more clear: Till he woke to the knell of a furious bell, Which the Bellman rang close at his ear.
Fit the Seventh THE BANKER’S FATE
They sought it with thimbles, they sought it with care; They pursued it with forks and hope; They threatened its life with a railway-share; They charmed it with smiles and soap. And the Banker, inspired with a courage so new It was matter for general remark, Rushed madly ahead and was lost to their view In his zeal to discover the Snark But while he was seeking with thimbles and care, A Bandersnatch swiftly drew nigh And grabbed at the Banker, who shrieked in despair, For he knew it was useless to fly. He offered large discount—he offered a cheque (Drawn “to bearer”) for seven-pounds-ten: But the Bandersnatch merely extended its neck And grabbed at the Banker again. Without rest or pause—while those frumious jaws Went savagely snapping around— He skipped and he hopped, and he floundered and flopped, Till fainting he fell to the ground. The Bandersnatch fled as the others appeared Led on by that fear-stricken yell: And the Bellman remarked “It is just as I feared!” And solemnly tolled on his bell. He was black in the face, and they scarcely could trace The least likeness to what he had been: While so great was his fright that his waistcoat turned white— A wonderful thing to be seen! To the horror of all who were present that day. He uprose in full evening dress, And with senseless grimaces endeavoured to say What his tongue could no longer express. Down he sank in a chair—ran his hands through his hair— And chanted in mimsiest tones Words whose utter inanity proved his insanity, While he rattled a couple of bones. “Leave him here to his fate—it is getting so late!” The Bellman exclaimed in a fright. “We have lost half the day. Any further delay, And we sha’nt catch a Snark before night!”
Fit the Eighth THE VANISHING
They sought it with thimbles, they sought it with care; They pursued it with forks and hope; They threatened its life with a railway-share; They charmed it with smiles and soap. They shuddered to think that the chase might fail, And the Beaver, excited at last, Went bounding along on the tip of its tail, For the daylight was nearly past. “There is Thingumbob shouting!” the Bellman said, “He is shouting like mad, only hark! He is waving his hands, he is wagging his head, He has certainly found a Snark!” They gazed in delight, while the Butcher exclaimed “He was always a desperate wag!” They beheld him—their Baker—their hero unnamed— On the top of a neighboring crag. Erect and sublime, for one moment of time. In the next, that wild figure they saw (As if stung by a spasm) plunge into a chasm, While they waited and listened in awe. “It’s a Snark!” was the sound that first came to their ears, And seemed almost too good to be true. Then followed a torrent of laughter and cheers: Then the ominous words “It’s a Boo-” Then, silence. Some fancied they heard in the air A weary and wandering sigh Then sounded like “-jum!” but the others declare It was only a breeze that went by. They hunted till darkness came on, but they found Not a button, or feather, or mark, By which they could tell that they stood on the ground Where the Baker had met with the Snark. In the midst of the word he was trying to say, In the midst of his laughter and glee, He had softly and suddenly vanished away—- For the Snark was a Boojum, you see.
THE END
End of Project Gutenberg’s The Hunting of the Snark, by Lewis Carroll *** END OF THIS PROJECT GUTENBERG EBOOK THE HUNTING OF THE SNARK *** ***** This file should be named 13-h.htm or 13-h.zip ***** This and all associated files of various formats will be found in: http://www.gutenberg.org/1/13/ Produced by David Widger Updated editions will replace the previous one--the old editions will be renamed. Creating the works from public domain print editions means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg-tm electronic works to protect the PROJECT GUTENBERG-tm concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for the eBooks, unless you receive specific permission. If you do not charge anything for copies of this eBook, complying with the rules is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. They may be modified and printed and given away--you may do practically ANYTHING with public domain eBooks. Redistribution is subject to the trademark license, especially commercial redistribution. *** START: FULL LICENSE *** THE FULL PROJECT GUTENBERG LICENSE PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg-tm mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg-tm License (available with this file or online at http://gutenberg.org/license). Section 1. General Terms of Use and Redistributing Project Gutenberg-tm electronic works 1.A. By reading or using any part of this Project Gutenberg-tm electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg-tm electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg-tm electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg-tm electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg-tm electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg-tm electronic works. See paragraph 1.E below. 1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg-tm electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is in the public domain in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg-tm mission of promoting free access to electronic works by freely sharing Project Gutenberg-tm works in compliance with the terms of this agreement for keeping the Project Gutenberg-tm name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg-tm License when you share it without charge with others. 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-tm work. The Foundation makes no representations concerning the copyright status of any work in any country outside the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg-tm License must appear prominently whenever any copy of a Project Gutenberg-tm work (any work on which the phrase “Project Gutenberg” appears, or with which the phrase “Project Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed: This eBook is for the use of anyone anywhere at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org 1.E.2. If an individual Project Gutenberg-tm electronic work is derived from the public domain (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg-tm electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg-tm License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg-tm. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg-tm License. 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-tm work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg-tm web site (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-tm License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg-tm works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg-tm electronic works provided that - You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg-tm works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg-tm 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 provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg-tm License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg-tm works. - You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. - You comply with all other terms of this agreement for free distribution of Project Gutenberg-tm works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from both the Project Gutenberg Literary Archive Foundation and Michael Hart, the owner of the Project Gutenberg-tm trademark. Contact the Foundation as set forth in Section 3 below. 1.F. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread public domain works in creating the Project Gutenberg-tm collection. Despite these efforts, Project Gutenberg-tm electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right of Replacement or Refund” described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg-tm trademark, and any other party distributing a Project Gutenberg-tm electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees.   LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. 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 MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. 1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg-tm electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg-tm electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg-tm work, (b) alteration, modification, or additions or deletions to any Project Gutenberg-tm work, and (c) any Defect you cause. Section 2. Information about the Mission of Project Gutenberg-tm Project Gutenberg-tm is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. Volunteers and financial support to provide volunteers with the assistance they need, is critical to reaching Project Gutenberg-tm’s goals and ensuring that the Project Gutenberg-tm collection will remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg-tm and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation web page at http://www.pglaf.org. Section 3. Information about the Project Gutenberg Literary Archive Foundation The Project Gutenberg Literary Archive Foundation is a non profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Its 501(c)(3) letter is posted at http://pglaf.org/fundraising. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. The Foundation’s principal office is located at 4557 Melan Dr. S. Fairbanks, AK, 99712., but its volunteers and employees are scattered throughout numerous locations. Its business office is located at 809 North 1500 West, Salt Lake City, UT 84116,<PHONE_NUMBER>, email<EMAIL_ADDRESS>Email contact links and up to date contact information can be found at the Foundation’s web site and official page at http://pglaf.org For additional contact information: Dr. Gregory B. Newby Chief Executive and Director<EMAIL_ADDRESS>Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation Project Gutenberg-tm depends upon and cannot survive without wide spread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine readable form accessible by the widest array of equipment including outdated equipment. Many small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit http://pglaf.org While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. 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: http://pglaf.org/donate Section 5. General Information About Project Gutenberg-tm electronic works. Professor Michael S. Hart is the originator of the Project Gutenberg-tm concept of a library of electronic works that could be freely shared with anyone. For thirty years, he produced and distributed Project Gutenberg-tm eBooks with only a loose network of volunteer support. Project Gutenberg-tm eBooks are often created from several printed editions, all of which are confirmed as Public Domain in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. Most people start at our Web site which has the main PG search facility: http://www.gutenberg.org This Web site includes information about Project Gutenberg-tm, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks.


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
N
N1_
- Static variable in class element.
Element1D
Internal forces in local directions.
N22_
- Static variable in class element.
Element2D
Internal forces in local directions.
n_
- Variable in class analysis.
LinearTransient
Number of time steps for integration scheme.
n_
- Variable in class dialogs.model.
DivideLine1
The number of divisions.
n_
- Variable in class dialogs.model.
MeshArea1
The number of divisions.
n_
- Variable in class dialogs.model.
MeshSolid1
The number of divisions.
n_
- Variable in class matrix.
USB1Mat
The dimension and the half-bandwidth.
n_
- Variable in class matrix.
USB2Mat
The dimension and the half-bandwidth.
n_
- Variable in class section.
PolygonCS
n_
- Variable in class section.
TrapezoidCS
The dimensions of section.
name_
- Variable in class analysis.
Analysis
The name of analysis.
name_
- Variable in class boundary.
BoundaryCase
The name of the boundary case object.
name_
- Variable in class boundary.
Constraint
The name of constraint.
name_
- Variable in class boundary.
DispLoad
The name of displacement load.
name_
- Variable in class boundary.
ElementMechLoad
The name of element mechanical load.
name_
- Variable in class boundary.
ElementTemp
The name of element temperature load.
name_
- Variable in class boundary.
InitialDisp
The name of initial displacement.
name_
- Variable in class boundary.
InitialVelo
The name of initial velocity.
name_
- Variable in class boundary.
NodalMechLoad
The name of nodal mechanical load.
name_
- Variable in class data.
Group
The name of group.
name_
- Variable in class element.
ElementLibrary
The name of library.
name_
- Variable in class element.
ElementMass
The name of element mass.
name_
- Variable in class element.
ElementSpring
The name of element spring.
name_
- Variable in class material.
Material
name_
- Variable in class math.
Function
The name of function.
name_
- Variable in class node.
LocalAxis
The name of local axis.
name_
- Variable in class node.
NodalMass
The name of nodal mass.
name_
- Variable in class node.
NodalSpring
The name of nodal spring.
name_
- Variable in class section.
Section
The name of section.
name_
- Variable in class solver.
Solver
The name of solver.
newline_
- Static variable in class dialogs.analysis.
CheckModel1
Static variable for new lines in the text area.
newmark(SMat, SMat, SMat, DVec, DVec, DVec, double[][])
- Method in class analysis.
LinearTransient
Solves semi-discrete equation of motion by Newmark direct integration method.
newmark_
- Static variable in class analysis.
LinearTransient
Static variable for the direct integration method.
newmarkPar_
- Variable in class analysis.
LinearTransient
Newmark parameters.
nitem_
- Variable in class solver.
Solver3
Maximum number of subspace iterations permitted (usually set to 16).
nodalDisp_
- Static variable in class visualize.
PostVisualizer
Static variable for the result option of drawing.
NodalDispInfo
- Class in
write
Class for writing joint displacements information to output file.
NodalDispInfo(int)
- Constructor for class write.
NodalDispInfo
Creates DisplacementInfo object.
NodalLocalAxisInfo
- Class in
write
Class for writing nodal local axis information to output file.
NodalLocalAxisInfo()
- Constructor for class write.
NodalLocalAxisInfo
nodalLocalAxisInfo_
- Static variable in class write.
WriteManager
Static variable for the writing option.
NodalMass
- Class in
node
Class for nodal mass.
NodalMass(String, int, DMat)
- Constructor for class node.
NodalMass
Creates nodal mass.
NodalMass1
- Class in
dialogs.library
Class for Nodal Mass Library menu.
NodalMass1(SolidMAT)
- Constructor for class dialogs.library.

NodalMass2
- Class in
dialogs.library
Class for Add/Modify Nodal Masses menu.
NodalMass2(NodalMass1, boolean)
- Constructor for class dialogs.library.
NodalMass2
Builds dialog, builds components, calls addComponent, sets layout and sets up listeners.
nodalMass_
- Variable in class data.
InputData
Vector for storing nodal mass input objects.
NodalMassInfo
- Class in
write
Class for writing nodal mass information to output file.
NodalMassInfo()
- Constructor for class write.
NodalMassInfo
nodalMassInfo_
- Static variable in class write.
WriteManager
Static variable for the writing option.
NodalMechLoad
- Class in
boundary
Class for load (Neumann boundaries).
NodalMechLoad(String, BoundaryCase, DVec)
- Constructor for class boundary.
NodalMechLoad
Creates load.
NodalMechLoad1
- Class in
dialogs.library
Class for Nodal Mechanical Load Library menu.
NodalMechLoad1(SolidMAT)
- Constructor for class dialogs.library.

NodalMechLoad2
- Class in
dialogs.library
Class for Add/Modify Nodal Mechanical Loads menu.
NodalMechLoad2(NodalMechLoad1, boolean)
- Constructor for class dialogs.library.
NodalMechLoad2
Builds dialog, builds components, calls addComponent, sets layout and sets up listeners.
nodalMechLoad_
- Variable in class data.
InputData
Vector for storing nodal mechanical load input objects.
nodalMechLoad_
- Variable in class dialogs.library.
BoundaryCase1
Used for renewing nodal mechanical loads objects vector.
NodalMechLoadInfo
- Class in
write
Class for writing nodal mechanical load information to output file.
NodalMechLoadInfo()
- Constructor for class write.
NodalMechLoadInfo
nodalMechLoadInfo_
- Static variable in class write.
WriteManager
Static variable for the writing option.
NodalPosInfo
- Class in
write
Class for writing nodal positions to output file.
NodalPosInfo()
- Constructor for class write.
NodalPosInfo
nodalPosInfo_
- Static variable in class write.
WriteManager
Static variable for the writing option.
NodalSpring
- Class in
node
Class for nodal spring.
NodalSpring(String, int, DMat)
- Constructor for class node.
NodalSpring
Creates nodal spring.
NodalSpring1
- Class in
dialogs.library
Class for Nodal Spring Library menu.
NodalSpring1(SolidMAT)
- Constructor for class dialogs.library.

NodalSpring2
- Class in
dialogs.library
Class for Add/Modify Nodal Springs menu.
NodalSpring2(NodalSpring1, boolean)
- Constructor for class dialogs.library.
NodalSpring2
Builds dialog, builds components, calls addComponent, sets layout and sets up listeners.
NodalSpring3
- Class in
dialogs.library
Class for Coupled Springs menu.
NodalSpring3(NodalSpring2)
- Constructor for class dialogs.library.
NodalSpring3
Builds dialog, builds components, calls addComponent, sets layout and sets up listeners.
nodalSpring_
- Variable in class data.
InputData
Vector for storing nodal spring input objects.
NodalSpringInfo
- Class in
write
Class for writing spring information to output file.
NodalSpringInfo()
- Constructor for class write.
NodalSpringInfo
nodalSpringInfo_
- Static variable in class write.
WriteManager
Static variable for the writing option.
node
- package node
Node
- Class in
node
Class for Node.
Node(double, double, double)
- Constructor for class node.
Node
Creates Node.
node_
- Variable in class dialogs.display.
DisplayOptions2
Used for determining if node or element button clicked from mother dialog.
node_
- Variable in class dialogs.model.
EditNode1
The node to be edited.
nodeDisplay_
- Variable in class visualize.
PostVisualizer
Node and node related results drawer of visualizer.
nodeDisplay_
- Variable in class visualize.
PreVisualizer
Node and node related objects drawer of visualizer.
nodeIds_
- Variable in class dialogs.assign.
AConstraint1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
AInitialDisp1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
AInitialVelo1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodalDispLoad1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodalLocalAxis1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodalMass1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodalMechLoad1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodalSpring1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.assign.
ANodeInfo1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.model.
MirrorNode1
Vector for storing node ids to be .
nodeIds_
- Variable in class dialogs.model.
MoveNode1
Vector for storing node ids to be moved.
nodeIds_
- Variable in class dialogs.model.
ReplicateNode1
Vector for storing node ids to be moved.
nodeOptions_
- Variable in class visualize.
PreVisualizer
Boolean array for storing node display options.
nodes1_
- Variable in class dialogs.analysis.
CheckModel1
Vector for storing nodes to be moved.
nodes1_
- Variable in class dialogs.model.
MirrorNode1
Vector for storing nodes to be mirrored.
nodes1_
- Variable in class dialogs.model.
MoveNode1
Vector for storing nodes to be moved.
nodes1_
- Variable in class dialogs.model.
ReplicateNode1
Vector for storing nodes to be moved.
nodes1_
- Variable in class dialogs.model.
Sweep1
Vector for storing nodes to be moved.
nodes_
- Variable in class analysis.
Structure
Vector for storing nodes.
nodes_
- Variable in class data.
Group
Vector for storing nodes of group.
nodes_
- Variable in class dialogs.model.
AddElement1
Vector for storing the nodes of element.
nodes_
- Variable in class dialogs.model.
EditElement1
Vector for storing the nodes of element.
nodes_
- Variable in class dialogs.model.
Group2
Vector for storing nodes of group.
nodes_
- Variable in class element.
Element0
The nodes of element.
nodes_
- Variable in class element.
Element1
The nodes of element.
nodes_
- Variable in class element.
Element10
The nodes of element.
nodes_
- Variable in class element.
Element11
The nodes of element.
nodes_
- Variable in class element.
Element12
The nodes of element.
nodes_
- Variable in class element.
Element13
The nodes of element.
nodes_
- Variable in class element.
Element14
The nodes of element.
nodes_
- Variable in class element.
Element15
The nodes of element.
nodes_
- Variable in class element.
Element16
The nodes of element.
nodes_
- Variable in class element.
Element17
The nodes of element.
nodes_
- Variable in class element.
Element18
The nodes of element.
nodes_
- Variable in class element.
Element19
The nodes of element.
nodes_
- Variable in class element.
Element2
The nodes of element.
nodes_
- Variable in class element.
Element20
The nodes of element.
nodes_
- Variable in class element.
Element21
The nodes of element.
nodes_
- Variable in class element.
Element22
The nodes of element.
nodes_
- Variable in class element.
Element23
The nodes of element.
nodes_
- Variable in class element.
Element24
The nodes of element.
nodes_
- Variable in class element.
Element25
The nodes of element.
nodes_
- Variable in class element.
Element26
The nodes of element.
nodes_
- Variable in class element.
Element27
The nodes of element.
nodes_
- Variable in class element.
Element28
The nodes of element.
nodes_
- Variable in class element.
Element29
The nodes of element.
nodes_
- Variable in class element.
Element3
The nodes of element.
nodes_
- Variable in class element.
Element30
The nodes of element.
nodes_
- Variable in class element.
Element31
The nodes of element.
nodes_
- Variable in class element.
Element32
The nodes of element.
nodes_
- Variable in class element.
Element33
The nodes of element.
nodes_
- Variable in class element.
Element34
The nodes of element.
nodes_
- Variable in class element.
Element35
The nodes of element.
nodes_
- Variable in class element.
Element36
The nodes of element.
nodes_
- Variable in class element.
Element37
The nodes of element.
nodes_
- Variable in class element.
Element38
The nodes of element.
nodes_
- Variable in class element.
Element4
The nodes of element.
nodes_
- Variable in class element.
Element5
The nodes of element.
nodes_
- Variable in class element.
Element6
The nodes of element.
nodes_
- Variable in class element.
Element7
The nodes of element.
nodes_
- Variable in class element.
Element8
The nodes of element.
nodes_
- Variable in class element.
Element9
The nodes of element.
nodeVizOptions_
- Variable in class dialogs.display.
DisplayOptions1
Arrays storing the nodal and element visualization options.
nodeVizOptions_
- Variable in class visualize.
PreVisualizer
Double array for storing the visualization option of nodes.
nOGP_
- Variable in class math.
GaussQuadrature
Number of Gauss points.
noOption_
- Static variable in class visualize.
PostVisualizer
Static variable for the result option of drawing.
nRoot_
- Variable in class solver.
Solver3
Number of required eigenvalues and eigenvectors.
nRoot_
- Variable in class solver.
Solver4
Number of required eigenvalues and eigenvectors.
nu_
- Variable in class material.
Isotropic
Poisson's ratio of material.
nu_
- Variable in class material.
Orthotropic
Poisson's ratio of material.
numberOfArrows_
- Static variable in class visualize.
PreElement1DDisplay
Static variable for the number of arrows of distributed loads.
numberOfStations_
- Static variable in class visualize.
PostElement1DDisplay
Static variable for the number of stationary points.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z


Endangered whales react to environmental changes
New study documents altered right whale movements in Massachusetts Bay
| Source: | Cornell University |
| Summary: | Some 'canaries' are 50 feet long, weigh 70 tons, and are nowhere near a coal mine. But the highly endangered North Atlantic right whale is sending the same kind of message about disruptive change in the environment by rapidly altering its use of important habitat areas off the New England coast. |
Some "canaries" are 50 feet long, weigh 70 tons, and are nowhere near a coal mine. But the highly endangered North Atlantic right whale is sending the same kind of message about disruptive change in the environment by rapidly altering its use of important habitat areas off the New England coast. These findings are contained in a new study published in Global Change Biology by scientists at the Center for Conservation Bioacoustics (formerly the Bioacoustics Research Program) at the Cornell Lab of Ornithology and at Syracuse University. It's the longest running published study to continuously monitor the presence of any whale species at one location using sound."
"The change in right whale presence in Massachusetts Bay over the six years of the study is striking," says lead author Russ Charif, senior bioacoustician at the Center for Conservation Bioacoustics (CCB) at Cornell. "It's likely linked to rapid changes in conditions along the Atlantic Coast, especially in the Gulf of Maine which is warming faster than 99% of the rest of the world's ocean surface."
Charif points out that, starting in 2011, other studies began documenting dramatic changes in habitat use by right whales in other parts of the Gulf of Maine, which includes Massachusetts Bay and Cape Cod Bay. Massachusetts Bay is the gateway to Cape Cod Bay, one of the most important feeding areas for North Atlantic right whales, who congregate there in large numbers in late winter to early spring.
Nineteen marine autonomous recording units (MARUs) were deployed by CCB in Massachusetts Bay from July 2007 to April 2013, recording around-the-clock to detect the characteristic "up-call" of the North Atlantic right whale. Analysis of 47,000 hours of recordings by computer detection systems and human analysts found that in all but one of the study years detection of right whale calls kept increasing.
"During the six years of the study, our detection rates doubled during the winter-spring months," says study co-author Aaron Rice, principal ecologist with CCB. "During the summer-fall months the rate of detection for right whales had increased six-fold by the end of the study period, rising from 2% to 13% of recorded hours."
The scientists found right whales were present to varying degrees all year round in Massachusetts Bay, with implications for conservation efforts.
"There are seasonal conservation measures that kick in based on our historical understanding of where and when right whales are most often congregating, including Massachusetts Bay," Rice explains. "But the old patterns have changed and whales are showing up in areas where there are no protections in place to reduce the likelihood of ship strikes or fishing gear entanglements."
Entanglements and ship strikes remain the biggest threats to right whales with unknown cumulative effects from changing water temperatures, rising ocean noise pollution, and other stressors. The increasing use of Massachusetts Bay occurred even as the overall right whale population declined. Latest estimates peg the population at about 400 animals with only 95 of them females of reproductive age.
"Our study data end in 2013 and conditions may have changed even more since then," says Charif. "We need to do more of these long-term studies if we're to have any hope of understanding how right whale habitat is changing because of human activities and before it's too late for the species to survive."
make a difference: sponsored opportunity
Story Source:
Materials provided by Cornell University.
Note: Content may be edited for style and length.
Journal Reference:
- Russell A. Charif, Yu Shiu, Charles A. Muirhead, Christopher W. Clark, Susan E. Parks, Aaron N. Rice. Phenological changes in North Atlantic right whale habitat use in Massachusetts Bay. Global Change Biology, 2019; DOI: 10.1111/gcb.14867
Cite This Page:
| MLA | Cornell University. "Endangered whales react to environmental changes: New study documents altered right whale movements in Massachusetts Bay." ScienceDaily. ScienceDaily, 19 November 2019. <www.sciencedaily.com/releases/2019/11/191119143948.htm>. |
| APA | Cornell University. (2019, November 19). Endangered whales react to environmental changes: New study documents altered right whale movements in Massachusetts Bay. ScienceDaily. Retrieved November 20, 2019 from www.sciencedaily.com/releases/2019/11/191119143948.htm |
| Chicago | Cornell University. "Endangered whales react to environmental changes: New study documents altered right whale movements in Massachusetts Bay." ScienceDaily. www.sciencedaily.com/releases/2019/11/191119143948.htm (accessed November 20, 2019). |


{% extends "single/single.html" %} {% block title %} {% endblock %} {% block article %}
| Donation | Donor | Type | Received | Reported | Accepted | Nature |
|---|---|---|---|---|---|---|
| {{ donation.amount }} | {{ donation.donor["name"] }} | {{ donation.donor["donor_type"] }} | {{ donation.received }} | {{ donation.reported }} | {{ donation.accepted }} | {{ donation.nature }} |


PPAutomationBridge Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | PPAutomationBridge.h PPAutomationBridge.m |
Overview
The PPAutomationBridge class provides a singleton instance representing a bridge that comunicates with UIAutomation through socket interface.
How To Use:
- Add PPAutomationBridge class to your project
- Make an object that conforms to PPAutomationBridgeDelegate protocol
- Implement automationBridge:receivedAction: method (if you want default implementation type @see PPAutomationBridgeDelegate example
- Start your bridge with startAutomationBridgeWithDelegate:
For more information look at sample app implementation
Other Methods
closeAfterResponse
Determines if we want to close socket after response. In UIAutomation bridge case we want to leave this to default YES but there are use cases when you are not using bridge as UIAutomation bridge and you might want to keep socket open
@property (nonatomic) BOOL closeAfterResponse
Discussion
Determines if we want to close socket after response. In UIAutomation bridge case we want to leave this to default YES but there are use cases when you are not using bridge as UIAutomation bridge and you might want to keep socket open
Declared In
PPAutomationBridge.h
+ bridge
Returns an object representing bridge.
+ (instancetype)bridge
Return Value
A singleton object that represents the bridge.
Discussion
Returns an object representing bridge.
Declared In
PPAutomationBridge.h
– startAutomationBridgeWithPrefix:onPort:WithDelegate:
Start the server with a specific port and Bonjour prefix Use when you dont need bridge for UIAutomation purposes
- (void)startAutomationBridgeWithPrefix:(NSString *)bonjourPrefix onPort:(int)port WithDelegate:(id<PPAutomationBridgeDelegate>)delegate
Parameters
bonjourPrefix |
bonjour prefix |
|---|---|
port |
port to run server on |
delegate |
Object conforming to PPAutomationBridgeDelegate that will recive messages when bridge is called from UIAutomation |
Discussion
Start the server with a specific port and Bonjour prefix Use when you dont need bridge for UIAutomation purposes
Declared In
PPAutomationBridge.h
– startAutomationBridgeWithDelegate:
Starts automation bridge advertising and registers delegate object to recive automation bridge messages Does not retain delegate, you have to do it yourself Bonjour prefix will default to UIAutomation and port will default to 4200
- (void)startAutomationBridgeWithDelegate:(id<PPAutomationBridgeDelegate>)delegate
Parameters
delegate |
Object conforming to PPAutomationBridgeDelegate that will recive messages when bridge is called from UIAutomation |
|---|
Discussion
Starts automation bridge advertising and registers delegate object to recive automation bridge messages Does not retain delegate, you have to do it yourself Bonjour prefix will default to UIAutomation and port will default to 4200
Declared In
PPAutomationBridge.h
– sendToConnectedClient:
Send values to a connected client. Returns YES if there was a connected client, NO if there was not (and no queuing is done, so your message is not sent in that case).
- (BOOL)sendToConnectedClient:(NSDictionary *)args
Parameters
args |
The value that will be JSON encoded and sent. |
|---|
Discussion
Send values to a connected client. Returns YES if there was a connected client, NO if there was not (and no queuing is done, so your message is not sent in that case).
Declared In
PPAutomationBridge.h
isActivated
Perform a check if autoamtion bridge was started or not. Bridge is considered activated after it receives first message.
@property (nonatomic, assign) BOOL isActivated
Discussion
Perform a check if autoamtion bridge was started or not. Bridge is considered activated after it receives first message.
Declared In
PPAutomationBridge.h
Other Methods
– findJsonMessageFromData:
Figure out if we have a fully formed JSON message in our buffer. Bad JSON will confuse this, and this is not intended to be a true parser. It just finds out if we have a complete message assuming well formed-ness.
- (NSInteger)findJsonMessageFromData:(NSData *)data
Discussion
Figure out if we have a fully formed JSON message in our buffer. Bad JSON will confuse this, and this is not intended to be a true parser. It just finds out if we have a complete message assuming well formed-ness.
Declared In
PPAutomationBridge.m


I find marijuana to be as strong as 6' very good san pedro. And I find that lecithin potentiates it (lecithin potentiation could be placebo, but it's been my experience). I was very stressed out about work before the trip. I spent half an hour meditating to calm down. Still stressed after that- but i've never been afraid of salvia. Trusting it and flowing with the experience always works for me. So I chose to trip anyway. I was hungry for more intensity from my salvia experiences, hence the combo. Beforehand I prayed to salvia to show me its light several times.
T-4 took 4g lecithin on empty stomach
The thc had been extracted a week before with an internet tek. Basically used 151 to extract- not a pure extraction at all. Prepped blue lotus+thc extract+wild dagga infusion. Prepped these things by steeping them in approx 3 shots of 151 proof grain alcohol and placing the bottle in a sink with running hot water for a few hours. Then strained.
T=0 drank this infusion and started chewing a teaspoon of salvia. Turned on milkdrop.
T+20 effects not intense, head feels quite different, light, warm, womblike feeling. Dont feel drunk or stoned like I would expect. Quid is hardly working.
T+30 decided I would SMOKE the salvia. Loaded a water bong... Started falling into familiar salvia space. Smoked more and more to see how far I could get...
T+40 I was looking into the mind of god.
Overall a very rewarding experience. Given my a lot to think about.
I'm still looking for something more with salvia. It's called me for something. I don't know what. It wanted to show me this but I know it has something special in mind. Every trip is like it's showing me more and more. This one I feel like opening up a little more, 'by the way you know us plants are the voice/s of god' Eventually it will open up and really get intimate with me. I view this experience is part of my initiation.
At the peak of my trip I was looking into the mind of god and seeing far away realities. God has an alien mind. God has infinite intelligence. Do you think he's thinking about what he's going to do at 3 o'clock? The thoughts in his mind are so strange and bizarre and alien that we can't imagine... Basically, god does not care about us. He is this super intelligence. And he has a voice, and his voice is these plants. His plants speak in vision. The visions are fractallated hallucinations: what is seen through plants. ...I was impressed by how incredibly alien god's intelligence was.
Background: I never thought that god cared about us. I always thought 'god is the universe.' If you had asked me, what does god think? I would have said nothing, he has no mind, he's just the universe. Pressed I would have said, his mind is the human groupmind.  Humanity is such a tiny speck in the consciousness of the universe... What about alien races for example? The universe is pretty vast; the odds may be good that there's other races.
I was reading a discussion on some entheogen site of how cartesian thinking plagues us...  Yet I always assumed that I had consciousness and an inanimate object didn't. But that's cartesian dualism too, if you think about it. It's like, all matter has a quality of consciousness to it, even if the value of that quality is zero (for example zero happens when you die- when you return to the void from whence you came).
But God's mind is all this consciousness. All the zero, and all the plus, all of it. The human race, the alien races, the plants. God speaks to us through the plants. The visions we see are his language; when people say 'you can't describe what tripping is like'- it's because you're coming face to face with the thoughts of god. And it's totally bizarre and alien and when we come back, we bring little glimpses of it and take it into our reality- but it doesn't really have anything to do with our reality. It's the mind of god, and god doesn't care about us. It's stepping into a different thoughtstream. The thoughtstream we're in is bizarre too- it just doesnt seem that way to us since we're born into it and we've forgotten how alien it was in the beginning.
Ps.  That's because our home is the void.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


random is 2 ez
Start rolling
Pick from your own pool or make a custom one with your favorite champions :D
The picks in our database are created based on the champion.gg stats, which gives you only the best builds for each champ.
For real, that's all the features!


Plugin Information |
|---|
No information for the plugin 'pxe' is available. It may have been removed from distribution. |
This plugin enhances Jenkins to support network-booting PCs for rapid, hands-free installations of various OSes, thereby making new slave installations easier.
More specifically, this plugin adds the TFTP service and proxy DHCP service to Jenkins. These two combinations enable PCs on the same network to network boot (also known as PXE boot) and install OSes such as Linux, Solaris, and Windows.
This plugin assumes that your network already has a functioning DHCP server, running on a computer different from Jenkins master.
Set up
Download the *.iso
files for OSes that you want to install. Currently, the following OSes are supported. See the respective page for what ISO file you need.
Place those ISO files on the Jenkins master, and tell Jenkins where they are. Go to "Manage Jenkins" > "Network Slave Installation Management" > "Configure":
Configure Jenkins about the additional configuration information. This is necessary because TFTP and DHCP services require the root privilege on Unix.
Installing PCs
Put a PC on the same network as the Jenkins master (IOW, topology-wise close enough so that broadcast UDP packets from PCs get to Jenkins), and boot from network (on most PCs, this is done by pressing F12 during the BIOS POST screen.)
If pressing F12 doesn't help
Some BIOS has a separate configuration entry to enable/disable PXE boot. Some BIOS requires you to tweak boot priority list to boot from network. If your PC can't seem to boot from network, go into BIOS set up, and look for keywords like 'PXE', 'LAN', 'boot priority', 'boot device', etc.
Installing PCs on the remote network
If your PCs to be network booted are located in a different network, run "java -jar
hudson-proxy-service-jar-with-dependencies.jar
UrlOfJenkins
" on a computer in the same network as the new PC to have it relay the request.
Once the network boot menu appears. Choose the OS that you want to install.
Depending on the OSes, you can choose to install interactively or automatically. The interactive installation option can be convenient for installing PCs for use outside Jenkins.
If you choose automatic installation, PCs will install itself and reboot by itself.
Future Work
- Documenting Windows auto installation
- Advanced mode that lets people specify the full kickstart/preseed/ai-manifest files
- Automatically register newly installed PCs as Jenkins slaves
- OS support is extensible. Contributions of new OS types are welcome.
Changelog
Version 1.5 (Feb 2 2010)
- Supported booting OracleVM Server.
- Supported booting VMWare ESXi.
Version 1.4 (Jan 9 2010)
- Allow override of root URL with
hudson.plugins.pxe.PXE.rootURL
system property.
Version 1.3 (Sep 3 2009)
- Ubuntu installer exposes more configuration options now.
- DHCP proxy service can now selectively respond to requests, allowing multiple network boot services to co-exist.
Version 1.2 (May 15 2009)
- Added Parted Magic support for disk re-partitioning
- Updated Ubuntu preseeding file to work with 9.04.
Version 1.1 (May 10 2009)
- Corrected typo
Version 1.0 (May 3 2009)
- Initial version
Attachments:
pxe-config.png (image/png)
pxe-bootmenu.png (image/png)
pxe-ubuntu-menu.png (image/png)