Sylvie and Bruno
by Lewis Carroll
Chapter 4: “A Cunning Conspiracy”
Additional Information
- Year Published: 1889
- Language: English
- Country of Origin: England
- Source: Carroll, L. (1889). Sylvie and Bruno. London: Macmillan and Co.
-
Readability:
- Flesch–Kincaid Level: 6.0
- Word Count: 2,212
- Genre: Fantasy
- Keywords: 19th century literature, british literature, lewis carroll
- ✎ Cite This
Downloads
The Warden entered at this moment: and close behind him came the Lord Chancellor, a little flushed and out of breath, and adjusting his wig, which appeared to have been dragged partly off his head.
“But where is my precious child?” my Lady enquired, as the four took their seats at the small side-table devoted to ledgers and bundles and bills.
“He left the room a few minutes ago with the Lord Chancellor,” the Sub-Warden briefly explained.
“Ah!” said my Lady, graciously smiling on that high official. “Your Lordship has a very taking way with children! I doubt if any one could gain the ear of my darling Uggug so quickly as you can!”
The Chancellor bowed, but with a very uneasy air. “I think the Warden was about to speak,” he remarked, evidently anxious to change the subject.
But my Lady would not be checked. “He is a clever boy,” she continued with enthusiasm, “but he needs a man like your Lordship to draw him out!”
The Chancellor bit his lip, and was silent.  He might have spared himself all anxiety: whatever accidental meaning her words might have, she herself never meant anything at all.
“It is all settled!” the Warden announced, wasting no time over preliminaries. “The Sub-Wardenship is abolished, and my brother is appointed to act as Vice-Warden whenever I am absent. So, as I am going abroad for a while, he will enter on his new duties at once.”
“And there will really be a Vice after all?” my Lady enquired.
“I hope so!” the Warden smilingly replied.
My Lady looked much pleased, and tried to clap her hands: but you might as well have knocked two feather-beds together, for any noise it made. “When my husband is Vice,” she said, “it will be the same as if we had a hundred Vices!”
“Hear, hear!” cried the Sub-Warden.
“You seem to think it very remarkable,” my Lady remarked with some severity, “that your wife should speak the truth!”
“No, not remarkable at all!” her husband anxiously explained. “Nothing is remarkable that you say, sweet one!”
My Lady smiled approval of the sentiment, and went on. “And am I Vice-Wardeness?”
“If you choose to use that title,” said the Warden: “but ‘Your Excellency’ will be the proper style of address. And I trust that both ‘His Excellency’ and ‘Her Excellency’ will observe the Agreement I have drawn up. The provision I am most anxious about is this.” He unrolled a large parchment scroll, and read aloud the words “‘item, that we will be kind to the poor.’ The Chancellor worded it for me,” he added, glancing at that great Functionary. “I suppose, now, that word ‘item’ has some deep legal meaning?”
“Undoubtedly!” replied the Chancellor, as articulately as he could with a pen between his lips. He was nervously rolling and unrolling several other scrolls, and making room among them for the one the Warden had just handed to him. “These are merely the rough copies,” he explained: “and, as soon as I have put in the final corrections—” making a great commotion among the different parchments, “—a semi-colon or two that I have accidentally omitted—” here he darted about, pen in hand, from one part of the scroll to another, spreading sheets of blotting-paper over his corrections, “all will be ready for signing.”
“Should it not be read out, first?” my Lady enquired.
“No need, no need!” the Sub-Warden and the Chancellor exclaimed at the same moment, with feverish eagerness.
“No need at all,” the Warden gently assented. “Your husband and I have gone through it together. It provides that he shall exercise the full authority of Warden, and shall have the disposal of the annual revenue attached to the office, until my return, or, failing that, until Bruno comes of age: and that he shall then hand over, to myself or to Bruno as the case may be, the Wardenship, the unspent revenue, and the contents of the Treasury, which are to be preserved, intact, under his guardianship.”
All this time the Sub-Warden was busy, with the Chancellor’s help, shifting the papers from side to side, and pointing out to the Warden the place where he was to sign. He then signed it himself, and my Lady and the Chancellor added their names as witnesses.
“Short partings are best,” said the Warden. “All is ready for my journey. My children are waiting below to see me off” He gravely kissed my Lady, shook hands with his brother and the Chancellor, and left the room.
The three waited in silence till the sound of wheels announced that the Warden was out of hearing: then, to my surprise, they broke into peals of uncontrollable laughter.
 And he and the Vice-Warden joined hands, and skipped wildly about the room. My Lady was too dignified to skip, but she laughed like the neighing of a horse, and waved her handkerchief above her head: it was clear to her very limited understanding that something very clever had been done, but what it was she had yet to learn.
“You said I should hear all about it when the Warden had gone,” she remarked, as soon as she could make herself heard.
“And so you shall, Tabby!” her husband graciously replied, as he removed the blotting-paper, and showed the two parchments lying side by side. “This is the one he read but didn’t sign: and this is the one he signed but didn’t read! You see it was all covered up, except the place for signing the names—”
“Yes, yes!” my Lady interrupted eagerly, and began comparing the two Agreements.
“‘Item, that he shall exercise the authority of Warden, in the Warden’s absence.’ Why, that’s been changed into ‘shall be absolute governor for life, with the title of Emperor, if elected to that office by the people.’ What! Are you Emperor, darling?”
“Not yet, dear,” the Vice-Warden replied. “It won’t do to let this paper be seen, just at present. All in good time.”
My Lady nodded, and read on. “‘Item, that we will be kind to the poor.’ Why, that’s omitted altogether!”
“Course it is!” said her husband. “We’re not going to bother about the wretches!”
“Good,” said my Lady, with emphasis, and read on again. “‘Item, that the contents of the Treasury be preserved intact.’ Why, that’s altered into ‘shall be at the absolute disposal of the Vice-Warden’! “Well, Sibby, that was a clever trick! All the Jewels, only think! May I go and put them on directly?”
“Well, not just yet, Lovey,” her husband uneasily replied. “You see the public mind isn’t quite ripe for it yet. We must feel our way. Of course we’ll have the coach-and-four out, at once. And I’ll take the title of Emperor, as soon as we can safely hold an Election. But they’ll hardly stand our using the Jewels, as long as they know the Warden’s alive. We must spread a report of his death.  “Of all things, I do like a Conspiracy! It’s so interesting!”
The Vice-Warden and the Chancellor interchanged a wink or two. “Let her conspire to her heart’s content!” the cunning Chancellor whispered. “It’ll do no harm!”
“And when will the Conspiracy—”
“Hist!”, her husband hastily interrupted her, as the door opened, and Sylvie and Bruno came in, with their arms twined lovingly round each other—Bruno sobbing convulsively, with his face hidden on his sister’s shoulder, and Sylvie more grave and quiet, but with tears streaming down her cheeks.
“Mustn’t cry like that!” the Vice-Warden said sharply, but without any effect on the weeping children. “Cheer ‘em up a bit!” he hinted to my Lady.
“Cake!” my Lady muttered to herself with great decision, crossing the room and opening a cupboard, from which she presently returned with two slices of plum-cake.
For the second time the door opened—or rather was burst open, this time, as Uggug rushed violently into the room, shouting “that old Beggars come again!”
“He’s not to have any food—” the Vice-warden was beginning, but the Chancellor interrupted him. “It’s all right,” he said, in a low voice: “the servants have their orders.”
“He’s just under here,” said Uggug, who had gone to the window, and was looking down into the court-yard.
“Where, my darling?” said his fond mother, flinging her arms round the neck of the little monster. All of us (except Sylvie and Bruno, who took no notice of what was going on) followed her to the window. The old Beggar looked up at us with hungry eyes. “Only a crust of bread, your Highness!” he pleaded.
He was a fine old man, but looked sadly ill and worn. “A crust of bread is what I crave!” he repeated.
Uggug bellowed, emptying a jug of water over his head.
“Well done, my boy!” cried the Vice-Warden.
“That’s the way to settle such folk!”
“Clever boy!”, the Wardeness chimed in. “Hasn’t he good spirits?”
“Take a stick to him!” shouted the Vice-Warden, as the old Beggar shook the water from his ragged cloak, and again gazed meekly upwards.
“Take a red-hot poker to him!” my Lady again chimed in.
Possibly there was no red-hot poker handy: but some sticks were forthcoming in a moment, and threatening faces surrounded the poor old wanderer, who waved them back with quiet dignity. “No need to break my old bones,” he said. “I am going.  Bruno was at the window, trying to throw out his slice of plum-cake, but Sylvie held him back.
“He shalt have my cake!” Bruno cried, passionately struggling out of Sylvie’s arms.
“Yes, yes, darling!” Sylvie gently pleaded.  He’s gone away, don’t you see? Let’s go after him.” And she led him out of the room, unnoticed by the rest of the party, who were wholly absorbed in watching the old Beggar.
The Conspirators returned to their seats, and continued their conversation in an undertone, so as not to be heard by Uggug, who was still standing at the window.
“By the way, there was something about Bruno succeeding to the Wardenship,” said my Lady. “How does that stand in the new Agreement?”
The Chancellor chuckled. “Just the same, word for word,” he said, “with one exception, my Lady. Instead of ‘Bruno,’ I’ve taken the liberty to put in—” he dropped his voice to a whisper, “to put in ‘Uggug,’ you know!”
“Uggug, indeed!” I exclaimed, in a burst of indignation I could no longer control. To bring out even that one word seemed a gigantic effort: but, the cry once uttered, all effort ceased at once: a sudden gust swept away the whole scene, and I found myself sitting up, staring at the young lady in the opposite corner of the carriage, who had now thrown back her veil, and was looking at me with an expression of amused surprise.


POS tags
| Open class words | Closed class words | Other |
|---|---|---|
| ADJ | ADP | PUNCT |
| ADV | AUX | SYM |
| INTJ | CCONJ | X |
| NOUN | DET | |
| PROPN | NUM | |
| VERB | ||
| PRON | ||
| SCONJ |
ADJ
: adjective
Adjectives are words that typically modify nouns and specify their properties or attributes.
UD Finnish annotation follows VISK in assigning pro-adjectives the
ADJ
tag (e.g. tämä/PRON “this” → tällainen/ADJ “like this”; see
e.g. VISK § 610; in
Finnish).
Examples
- [fi] suuri “big”, vanha “old”, vihreä “green”
- [fi] tällainen “like this”, tuollainen “like that”, semmoinen “like it”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=603 (in Finnish)
- http://scripta.kotus.fi/visk/sisallys.php?p=610 (in Finnish)
ADP
: adposition
Adposition is a cover term for prepositions and postpositions.
Examples
- [fi] alla “under”, päällä “over”
- [fi] ennen “before”, jälkeen “after”
- [fi] kanssa “with”, ilman “without”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=687 (in Finnish)
ADV
: adverb
Adverbs are words that typically modify adjectives, verbs or other adverbs for such categories as time, place, direction or manner.
Examples
- [fi] hyvin suuri “very large”
- [fi] erittäin vaikea “extremely difficult”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=646 (in Finnish)
AUX
: auxiliary verb
An auxiliary verb is a verb that accompanies the lexical verb of a verb phrase and expresses grammatical distinctions not carried by the lexical verb, such as person, number, tense, mood, aspect, and voice.
Finnish modal verbs are counted as auxiliaries. Finnish auxiliary and modal verbs are
- täytyä “must”
- pitää “have to”
- tarvita “need”
- joutua “have to”
- voida “be able to, can”
- saattaa “may”
- taitaa “be+probably, may”
- mahtaa “be+probably, may”
- olla “be”
- aikoa “be going to”
Examples
- [fi] täytyy tehdä “must do”
- [fi] olemme tehneet “we have done”
- [fi] olisi pitänyt tehdä “would have had to do”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=450 (in Finnish)
- http://scripta.kotus.fi/visk/sisallys.php?p=1562 (in Finnish)
CCONJ
: coordinating conjunction
A coordinating conjunction is a word that links words or larger constituents without syntactically subordinating one to the other and expresses a semantic relationship between them.
For subordinating conjunctions, see SCONJ.
In correlative (paired) coordinating conjuctions such as sekä - että
“both - and” and joko - tai “either - or”, both words are annotated
CCONJ
(see also cc:preconj).
Examples
- [fi] ja “and”, tai “or”, mutta “but”
- [fi] sekä koirat että kissat “both dogs and cats”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=817 (in Finnish)
- http://scripta.kotus.fi/visk/sisallys.php?p=815 (in Finnish)
DET
: determiner
Determiners are words that modify nouns or noun phrases and express the reference of the noun phrase in context.
Finnish has no true articles (see e.g. WALS) and many formalizations of Finnish morphology don’t involve a determiner (or related) tag. However, words such as yksi “one” and se “that” are used similarly to articles, especially in spoken language.
Examples
- [fi] yksi mies lähti “a/one man left”
- [fi] se mies lähti “the/that man left”
References
Diffs
Turku Dependency Treebank
No DET
tag (or related) is annotated in TDT, and DET
is
not used in the current version of the UD Finnish corpus.
INTJ
: interjection
An interjection is a word that is used most often as an exclamation or part of an exclamation.
Examples
- [fi] no, “well”, ai “oh”, hyi “yuck”
- [fi] psst
References
- http://scripta.kotus.fi/visk/sisallys.php?p=856 (in Finnish)
NOUN
: noun
Nouns inflect for case and number and denote things such as people, places, things, animals and ideas.
Proper nouns are not annotated as NOUN
but rather PROPN.
Examples
- [fi] tyttö “girl”
- [fi] kissa “cat”
- [fi] puu “tree”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=551 (in Finnish)
NUM
: numeral
A numeral is a word, functioning most typically as a determiner, adjective or pronoun, that expresses a number and a relation to the number, such as quantity, sequence, frequency or fraction.
Examples
- [fi] 0, 1, 2, 3, 4, 5, 2014, 1000000, 3.14159265359
- [fi] yksi, kaksi, kolme “one, two, three”
- [fi] I, II, III, IV, V, MMXIV
References
- http://scripta.kotus.fi/visk/sisallys.php?p=771 (in Finnish)
PART
: particle
The UD Finnish annotation does not use the u-pos/PART part of speech. See ADV, ADP, CCONJ, SCONJ, INTJ for tags applying to words that have been termed “particles” in some descriptions of Finnish.
References
- http://scripta.kotus.fi/visk/sisallys.php?p=792 (in Finnish)
- http://scripta.kotus.fi/visk/sisallys.php?p=793 (in Finnish)
Diffs
FinnTreeBank
The FI_FTB-corpus follows the general UD documentation in recognizing the particle as a part-of-speech category. The specification between PART, ADV and ADP has been carried out as in ISK § 792 (in Finnish).
PRON
: pronoun
Pronouns are words that substitute for nouns or noun phrases, whose meaning is recoverable from the linguistic or extralinguistic context.
See also PronType.
Examples
- [fi] minä, sinä, hän, me, te, he “I, you, he/she, we, you, they” (personal pronouns)
- [fi] itse “self” (reflexive pronoun)
- [fi] tämä, tuo, se, nämä, nuo, ne “this, that, it/that, these, those, they/those” (demonstrative pronouns)
- [fi] kuka, mikä, kumpi “who, what, which” (interrogative pronouns)
- [fi] joka, mikä “who, that” (relative pronouns)
- [fi] TODO (indefinite pronouns)
- [fi] TODO (totality pronouns)
- [fi] TODO (negative pronouns)
- [fi] muu “other”, sama “same”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=713 (in Finnish)
PROPN
: proper noun
A proper noun is a noun (or nominal content word) that is the name (or part of the name) of a specific individual, place, or object.
Acronyms of proper nouns, such as EU and YK, should be tagged PROPN.
Examples
- [fi] Aapo, Anna (male/female first name)
- Turku (city name)
- EU, YK “EU, UN”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=596 (in Finnish)
PUNCT
: punctuation
Punctuation marks are non-alphabetical characters and character groups used to delimit linguistic units in printed text.
Examples
- Period: .
- Comma: ,
- Parentheses: ()
SCONJ
: subordinating conjunction
A subordinating conjunction is a conjunction that links constructions by making one of them a constituent of the other.
Both the Finnish complementizer että and the comparative conjunction
kuin are tagged SCONJ
.
Examples
- [fi] koska “because”
- [fi] vaikka “although”
- [fi] parempi kuin “better than”
References
- http://scripta.kotus.fi/visk/sisallys.php?p=816 (in Finnish)
- http://scripta.kotus.fi/visk/sisallys.php?p=818 (in Finnish)
SYM
: symbol
A symbol is a word-like entity that differs from ordinary words by form, function, or both.
Examples
- $, %, §, ©
- +, −, ×, ÷, =, <, >
- :), ♥‿♥, 😝
-<EMAIL_ADDRESS>http://universaldependencies.org/, 1-800-COMPANY
VERB
: verb
Verbs typically inflect for tense, mood and person and signal events and actions. Verbs can constitute a minimal predicate in a clause, and govern the number and types of other constituents which may occur in the clause.
Auxiliary and modal verbs are not annotated as VERB
but rather
AUX.
Examples
- [fi] juosta, syödä “run, eat”
- [fi] ei “no” (negation verb)
References
- http://scripta.kotus.fi/visk/sisallys.php?p=444 (in Finnish)
X
: other
The tag X
is used for words that for some reason cannot be assigned
a real part-of-speech category.
Foreign words appearing inside native text are tagged X
(see also
Foreign).
Examples
- [fi] Uskoo ken tahtsssszzt brrrzzzt.
- [fi] Opimme fyysikoiden “Let’s assume a spherical cow” -lähestymistavan.


Overview¶
Welcome to Integrated Oberon¶
Glad you are here!
What is Integrated Oberon¶
Integrated Oberon is a self-contained operating system with a unique Textual User Interface adopting common features (starting with Unicode) and intended to be a personal workstation for general purpose computing.
It is also very different from Windows or the Mac or Unix, both in how you use it and in how it works.
IO is derrived from Oberon, an OS and also a programming language developed indepentently of Unix or Windows or C with an emphaisis on simplicity. Niklaus Wirth and Jürg Gutknecht implemented the first version of Oberon in 1986 on custom hardware. Oberon has since been ported to many general purpose computing platforms. Further developments of Oberon demonstrated multiprocessing, networking, 64-bit support, color, graphical widgets, etc. operating natively and/or in a host OS.
In 2013 Niklaus Wirth revisited the original Oberon OS and programming language, reducing the OS and language to their most primitive components and porting both to a simplified RISC target on an FPGA development board. IO is based on Project Oberon 2013.
The goal of Integrated Oberon is to introduce a number of mechanisms and capabilities to this refined base OS, including supporting multiple 32 and 64 bit architectures, multicore computation via CSP, internetworking, clustering, accellerated graphics, integration and interoperation with foreign systems, etc. The intention is not to recapitulate other existing systems but instead to adopt lessons learned from other systems at a fundamental level within Oberon to exert maximum leverage of the concept within the Integrated Oberon system.
Currently IO is little more than Project Oberon 2013 with support for Unicode code points (not even composed glyphs) and the beginnings of support for cross-compilation.
Perhaps with your help it could be more, sooner!
News¶
Events having to do with Integrated Oberon
Latest Release¶
Current: v5.1.20210224
Stable: v5.0.0
A Note on version numbers: Oberon v1, v2, v3, and v4 designate previous developments in the Oberon OS. Wirth returned to the essential elements of v1 for v5. Integrated Oberon as a system starts by applying some minor changes to v5 and so begins with v5.1.<date> which is an IO version number and not an Oberon version number as Wirth et. all very likely have entirely different ideas about what constitutes an incremental improvement to the Oberon language and OS!
Modules within IO may have other version numbers but those adopted from v5 Oberon will begin with v5.0.0 and go up appropriately.
Changelog¶
From v5.0.0 to v5.1.20210224:
Add Unicode fonts and glyph handling
Accept /n for newlines and use /n by default
Introduce batch processing
Introduce docstrings for automatic documentation
Gallery¶
Some images of Integrated Oberon should go here.


WITNESS LIST Health & Human Services Committee April 13, 2004 - 1:00P Charge #7 ON: Chapmond, Thomas Commissioner (Texas Department of Family and Protective Services), Austin, TX Holman, Nancy Executive Director (Texas Alliance of Child and Family Services), Austin, TX Landry, Todd President and CEO (Spaulding for Children), Houston, TX McCown, F. Scott Executive Director (Center for Public Policy Priorities), Austin, TX


The Paper
Chad'z rating: *** (out of 4 = good)
1994, R, 112 minutes [1 hour, 52 minutes]
[lighthearted drama/comedy]
starring: Michael Keaton (Henry Hackett), Robert Duvall (Bernie White), Glenn Close (Alicia Clark), Marisa Tomei (Martha Hackett), Randy Quaid (McDougal), produced by Brain Grazer, Frederick Zollo, written by David and Stephen Koepp, directed by Ron Howard.
We'd like to think that the "real" media has a much higher standard of quality and ethics than sensationalistic tabloids, but "The Paper" proves they really don't. The media is a business just like everything else, and they'll do whatever it takes to make more money and sell more papers.
The story revolves around Henry Hackett (Keaton), the Metro editor for "The Sun," a New York tabloid newspaper. It's not the most elite publication in the world, but it is respected and has good production values, yet Henry wants to move on to the "New York Sentinel."
We learn a lot about the paper through Henry, and we learn a lot about Henry through the paper. He is an important editor under a lot of stress, working long hours and making sure things get done.  But at the same time, his work is suffering from his marriage. It's a no-win situation and this goes to show just how stressful jobs in the media can be. I'm sure some of this is exaggerated for characterization, but Howard plays upon it in such a way as to make it believable without going over the top.
There are some other interesting characters here: Bernie (Duvall), the generic editor-in-chief, (has there ever been an editor-in-chief who wasn't divorced, balding, and a strict?); Alicia (Close), another editor who is constantly trying to one-up Henry; and McDougal (Quaid), the 30-something slacker who somehow has fantastic connections. The characters might not be anything special, and that's fine with me because it makes the story more sympathetic.
The sub-plot of the film involves a supposedly race-related murder of two white businessmen. All the other papers get the scoop on this story except for The Sun, and this becomes their driving force: to finally beat everyone else. We follow Henry and McDougal and learn how a paper operates in the process.
The underlying theme here is truth as "If it's wrong we'll print the exclusive that it was wrong tomorrow, but for now we go with this" can constantly be heard in the background. Henry seems to be one of the last people who has some kind of values and would rather have the truth be known even if it means selling fewer papers.
The last act involves Henry and Alicia fighting over what story should be the front page catch, will it be either a headline that is wrong but will not be known to the public, or will it be the truth? And if the truth should be published, it will take a lot of effort and production time to do it, which is more expensive. The fact this is even questioned is depressing in a way. Our news may depend upon two people's personal disputes?
Still, "The Paper" is a good film and it certainly is interesting to watch the production of a newspaper and see how a story is portrayed through the storyteller.
e-mail<EMAIL_ADDRESS>(C) 1997 Chad Polenz
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


I was 3D Artist but now I would like to become developer insted of that!
Be create new between 3D and Javascript


Masayuki Kudamatsu
14-15 June, 2016
Reason 1: GIS makes more research feasible
(Figure 2.3 of Dell 2009)
e.g. Ethnic homelands in Africa by Murdock (1959)
Digitized by Nunn (2008)
Used by Nunn & Wantchekon (2011), Michalopoulos & Papaioannou (2013, 2014, 2015), Alsan (2015), Alesina et al. (2016), etc.
(Figure 5A of Alsan (2015))
e.g. DMSP-OLS Nighttime Lights
Used by Henderson et al (2012), Pinkovskiy & Sala-i-Martin (2016), Hodler & Raschky (2014), Michalopoulos & Papaioannou (2013, 2014), Alesina et al (2016), etc.
Reason 2: GIS makes identification more credible
e.g. Peer effect estimation
(Figure 4 of Conley & Udry (2010))
e.g. Distance
(Figure 5 of Nunn 2008)
(Figure 2 of Dell (2010))
1. GIS basics
2. Create spatial datasets on your own
3. Merge spatial datasets
4. Elevation
5. Distance
6. Spatial regression discontinuity
7. Surface area
8. Map Algebra
Data type
Coordinate systems
GIS software
Spatial data comes in two different formats: Vector & Raster
How to edit data differs a lot between them
Comes in three formats:
File format: Shapefile (.shp)
Source: GAUL
Source: GAUL
Source: GREG
Source: Natural Earth
Source: gROADS
Source: Natural Earth
Source: Natural Earth
Source: ACLED
Each unit: called a feature
Comes w/ attribute table
Divides the earth surface into many "square" cells (or pixels)
Each cell contains one value
Resolution: 2.5 arc-minutes
Source: Gridded Population of the World
Resolution: 30 arc-seconds
Source: STRM30
Resolution: 30 arc-seconds
Source: DMSP-OLS
Earth is a sphere (approximately)
Various ways to two-dimensionally represent Earth
Each way corresponds to a coordinate system
To merge different spatial datasets accurately
cf. Apple Map did this wrong when it was launched in 2012
To calculate distance and surface area properly
Each location is coded by angle from earth center
e.g. Stockholm: 59.3293° N / 18.0686° E
Most popular: WGS 1984
Earth surface is projected by "light" from earth center on:
Cylinder
Earth surface is projected by "light" from earth center on:
Cone
Earth surface is projected by "light" from earth center on:
Plane
Each location: coded in meters from a certain origin
Examples (relevant for social scientists):
We will learn these projections later.
Map Projections: A Working Manual, by John P. Snyder (U.S. Geological Survey, 1987) (Downloadable for free)
ArcGIS
QGIS
$\Rightarrow$ ArcGIS recommended for the ease of use of Python (for replication), at least for now
R
Satellite images
Scanned old maps
Point locations
Grid cells
Images consist of pixels
Map each pixel's "color" into raster value
A lot of time (and money to hire experts) needed, though.
Some satellite images: freely available
Examples of constructing data from satellite images
# of districts w/i province $\uparrow$ $\Rightarrow$ Deforestation $\uparrow$
Theory:
Cannot rely on official stats of logging
$\Rightarrow$ Use satellite images
(Figure I of Burgess et al. 2012)
(Figure II of Burgess et al. 2012)
First, geo-reference the map
Then, create vector data by tracing lines w/ mouse
Also time-consuming but feasible with patience
Did Kenyan presidents build more roads for their co-ethnics?
Digitize Michelin maps for Kenya since 1961
Track road network expansion over time
(source: Remi Jedwab's presentation slide)
First, create a table in text format, where:
GPS receiver
Online gazetteer
geocode3
automates search
To convert the text file table into point vector data in ArcGIS, use:
These are the examples of geo-processing tools
import arcpy
input_table = "coordiates.txt"
output_shp = "points.shp"
varname_x = "longitude"
varname_y = "latitude"
coordinate_system = arcpy.SpatialReference(4326)
arcpy.MakeXYEventLayer_management(
input_table, varname_x, varname_y,
"Layer", coordinate_system)
arcpy.CopyFeatures_management("Layer", output_shp)
Any size of grid cell polygons can be created in ArcGIS
Useful for:
To create grid cell polygons in ArcGIS, use:
These are also the examples of geo-processing tools
import arcpy
output_shp = "gridcells25.shp"
cellsize = "2.5"
bottom_left = "-180 -65"
top_right = "180 85"
y_axis = "-180 -55"
coordinate_system = arcpy.SpatialReference(4326)
arcpy.CreateFishnet_management(
output_shp, bottom_left, y_axis,
cellsize, cellsize, "0", "0", top_right,
"NO_LABELS", "", "POLYGON")
arcpy.DefineProjection_management(
output_shp, coordinate_system)
Master ArcGIS = Know which geo-processing tools to use
Takes vector/raster data as inputs
Most will create new vector/raster data
Can be executed in Python
Introduce each geo-processing tool
Demonstrate how it's used by economists
Add new variables from a second vector data
Based on location
merge
One useful application: merge with weather data
Weather data: available at grid cell level
$\Rightarrow$ Spatial Join specifies which grid cells are relevant for each observation
import arcpy
target = "cities.shp"
join = "weather_data_cells.shp"
output = "cities_with_weather_data.shp"
arcpy.SpatialJoin_analysis(
target, join, output)
European colonization $\Rightarrow$ Economic development?
Sample: islands (geo-referenced)
IVs for duration of colonization:
Wind data: CERSAT (1° x 1°)
Tsetse flies $\Rightarrow$ Africa's underdevelopment?
Weather in 1871 at 2° x 2° resolution
Temperature & humidity fed into a model to predict Tsetse fly survival
Matched with Ethnographic Atlas
Intersect: Creates intersection features
Dissolve: Combines features by key variables
Can also create summary statistics
collapse
Can calculate # of polygons/polylines w/i zone polygon
import arcpy
inFeatures = ["counties.shp", "streams.shp"]
intersectOutput = "streams_by_country.shp"
dissolve_field = "county_id"
outFeatures = "counties_number_of_streams.shp"
arcpy.Intersect_analysis(
inFeatures, intersectOutput)
arcpy.Dissolve_management(
intersectOutput, outFeatures,
dissolve_field, "COUNT")
Competition $\Rightarrow$ School quality $\uparrow$?
IV: # of streams w/i city
In early 20c, Imperial China abolished 1300-year-old civil service exams
Prefectures w/ higher quota $\Rightarrow$ more uprisings during the 1911 Revolution
IV: # of streams w/i prefecture
Calculates sum stat of raster values w/i zone
Zone: defined by polygon or polyline
collapse
by zone, executed on raster data
For integer raster:
If unit of analysis is point, use either:
import arcpy
arcpy.CheckOutExtension("spatial")
# Inputs
elevation = "srtm30.dem"
districts = "district.shp"
# Intermediate
zonalstat = "zonalstat.dbf"
# Outputs
mean_elevation = "mean_elevation.xls"
arcpy.gp.ZonalStatisticsAsTable_sa(
districts, "dist_id", elevation,
zonalstat, "DATA", "MEAN")
arcpy.TableToExcel_conversion(
zonalstat, mean_slope)
| Pixel-level | District-level | |
| $\Rightarrow$ |
Obtain the mean cell value by:
Temperature $\uparrow$ $\Rightarrow$ Economic growth $\downarrow$?
Use population-weighted average temperature
(Figure 2.3 of Dell 2009)
Geographic diversity $\Rightarrow$ Ethnic diversity?
Empirical challenge:
$\Rightarrow$ 2.5°x2.5° grid cells as units of analysis
How to measure ethnic & geographic diversity, then?
ArcGIS helps:
Returns either $\theta$ or $\tan\theta$ in diagram below
$\tan\theta$ for cell $e$ is obtained by
\begin{align*} \Rightarrow \ \tan \theta = \sqrt{(dz/dx)^2+(dz/dy)^2} \end{align*}
where
\begin{align*} \frac{dz}{dx} = & \ \Big[\frac{c + 2f + i}{4} - \frac{a+2d+g}{4}\Big] / 2 \\ \frac{dz}{dy} = & \ \Big[\frac{a+2b+c}{4} - \frac{g + 2h + i}{4}\Big] / 2 \end{align*}
Electrification in South Africa (1996-2001)
$\Rightarrow$ Female labor supply $\uparrow$
IV: mean land slope
| Slope (lighter = flatter) | Electrification (red) |
Tea production $\uparrow$ in China due to liberalization in 1979
$\Rightarrow$ Male-to-female ratio $\downarrow$
IV: mean land slope
| Slope (darker = steeper) | Tea (darker = more) |
import arcpy
arcpy.CheckOutExtension("spatial")
# Inputs
elevation = "srtm30.dem"
districts = "district.shp"
# Intermediates
slope = "slope.tif"
zonalstat = "zonalstat.dbf"
arcpy.gp.Slope_sa(
elevation, slope, "PERCENT_RISE", "0,000009")
arcpy.gp.ZonalStatisticsAsTable_sa(
districts, "dist_id", slope,
zonalstat, "DATA", "MEAN")
Reclassify: Creates categorical raster data
Example: a dummy variable for slope 3-6%
import arcpy
arcpy.CheckOutExtension("spatial")
# Inputs
elevation = "srtm30.dem"
# Outputs
slope = "slope.tif"
slope_3_6 = "slope3to6.tif"
arcpy.gp.Slope_sa(
elevation, slope, "PERCENT_RISE", "0,000009")
arcpy.gp.Reclassify_sa(
slope, "Value",
"0 3 0;3 6 1;6 193,22999999999999 0",
slope_3_6, "DATA")
Irrigation dams $\Rightarrow$ Poverty $\downarrow$?
IV: Fraction of river areas in three slope ranges
$\Leftarrow$ Easy to build if river slope is:
| River slope (darker = steeper) | Dams (darker = more) |
Intersect + Dissolve $\Rightarrow$ River by districts
Slope + Reclassify $\Rightarrow$ Indicator for each slope range
Zonal Statistics as Table $\Rightarrow$ Fraction of river areas in each slope range by district
Measures % of areas with slope > 15% as unsuitability for urban development
Finds housing supply inelastic in such areas
Slope of over 15%: now often used as geographic constraints to housing supply / urban development
Used by radio/tv enginneers to predict signal reception
(Figure 2 of Olken (2009))
# of TV channels $\uparrow$ in Indonesia $\Rightarrow$ Social capital $\downarrow$
IV: TV signal strength
Anti-Hutu radio $\Rightarrow$ Rwandan genocide incidents $\uparrow$
IV: radio signal strength
Coordinate systems for distance
Buffer
Feature To Point + Near
Generate Near Table
Two approaches:
1. Geographic coordinate systems
2. UTM projections
1. Obtain geographic coordinates (How?)
2. Use the Great Circle Distance formula
\begin{align*} d_{ij} =& \ 111.12 \times \cos^{-1}\big[\sin(La_i)\sin(La_j) \\ & + \cos(La_i)\cos(La_j)\cos(Lo_i-Lo_j)\big] \end{align*}
globdist
Obtain their centroids by:
shp2dta
Then use globdist
Obtain nearest point on polyline by:
Near tool calculates distance as well
(UTM = Universal Transverse Mercator)
Project earth surface onto the cylinder that is tangent on standard meridian
Father away from standard meridian, more distortion
To minimize distortion:
1. Divide Earth into 60 zones (6° wide in longitude)
2. For each zone, set standard meridian in the middle
3. Scale down distance along standard meridian by 0.9996
Once projected, use Pythagoras' Theorem
Tools such as Buffer and Near calculate distance
GEODESIC option for geographic coordinates
PLANAR option for UTM projections
e.g. River lengths, road distances
Geographic coordinates cannot be used
$\Rightarrow$ Use UTM projections
If the study area is large, cut polylines by UTM zones
Project
Add Field + Calculate Field with expression:
float(!shape.length!)
Project (for polylines)
Project Raster (for elevation raster)
Add Surface Information, with SURFACE_LENGTH option
Duflo & Pande (2007): length of rivers by district as control
Dell (2010): length of roads by district as intermediate outcome
Use ArcGIS tools such as:
See Melissa Dell's lecture note (pp. 18-25) for detail
Creates neighborhood polygons
Size of neighborhood can be specified
For points: a circle of $x$-meter/feet radius
| For polylines: | |
| For polygons: |
One useful application:
Identify other features in the neighborhood
$\Leftarrow$ Use buffer polygons as target features in Spatial Join with JOIN_ONE_TO_MANY options
import arcpy
# Identify other villages within 20-mile radius
in_features = "villages.shp"
radius = "20 miles"
buffer = "village_buffer.shp"
out_feature_class = "village_neighbors.shp"
arcpy.Buffer_analysis(in_features, buffer, radius)
arcpy.SpatialJoin_analysis(
buffer, in_features,
out_feature_class, "JOIN_ONE_TO_MANY")
Deworming school children $\Rightarrow$ Infection in neighborhood $\downarrow$?
Farmer's use of new technology $\Rightarrow$ Learning by friends?
Control for average use in neighborhood (1km radius)
Shale gas $\Rightarrow$ House price $\downarrow$?
Treatment: # of drilled wells w/i 2km radius of each house
Sample restriction: 1km buffer along water service area boundary
(Figure 6 of Muelenbachs et al. 2015)
Feature To Point : Creates centroids of input features
Near: Finds nearest feature to each input feature
Also calculates distance to it
If nearest features are polyline / polygon
$\Rightarrow$ Can obtain coordinate of nearest point
Slave trade $\Rightarrow$ Africa's underdevelopment?
IV for slave trade: Distance to nearest slave trade centers
Feature To Point $\Rightarrow$ Country centroids
Near w/ coastline $\Rightarrow$ Coordinates of nearest coastal point
Make XY Event Layer + Copy Feature $\Rightarrow$ Nearest coastal point
Near w/ slave trade centers $\Rightarrow$ Distance to nearest center
Location of slave trade centers:
Distance to slave markets $\neq$ Distance to other economic opportunities
Maybe a smaller impact if countries voluntarily engaged in slave trades
But LATE may be of more interest in this context
In Rwandan genocide:
Presence of armed groups $\Rightarrow$ civilian participation $\uparrow$?
Instrument:
Distance to main road
x
Rainfall along the dirt track to main road during genocide
Distance to main road
Rainfall along the dirt track to main road during genocide
Calculates distance to many features, besides nearest one
Population concentration around capital
$\Rightarrow$ US state govt quality $\uparrow$
Measure population concentration around capital by:
Air pollution $\Rightarrow$ Infant mortality in California?
Data:
(taken from Neidell 2004)
How to construct pollution measure at zip-code level?
Feature To Point
$\Rightarrow$ Zip-code zone centroids
Generate Near Table
$\Rightarrow$ Distance from zip-code centroid to each monitor
Average pollution by weighting each monitor with inverse distance (within 20 miles)
Forcing variable: two-dimensional vector (i.e. coordinates)
Cutoff: boundary lines
$\Rightarrow$ How should we extend the standard RD design?
\begin{align*} y_{i} = \beta T_{i} + \gamma Dist_i + \delta T_{i} Dist_i + \mu_s + \varepsilon_{i} \end{align*}
Project coordinates into distance to boundary ($Dist_i$)
\begin{align*} y_{i} = \beta T_{i} + \gamma Dist_i + \delta T_{i} Dist_i + \mu_s + \varepsilon_{i} \end{align*}
Then use standard RD design w/ boundary segment FE ($\mu_s$)
w/o boundary segment FE, you compare point $i$ to $k$ in diagram below
(Figure 3 of Keele & Titiunik 2014)
\begin{align*} y_{i} = \beta T_{i} + \boldsymbol{x}'_i\boldsymbol{\gamma} + T_{i}\boldsymbol{x}'_i\boldsymbol{\delta} + \mu_n + \varepsilon_{i} \end{align*}
Use coordinates ($\boldsymbol{x}_i$) for RD polynomials
\begin{align*} y_{i} = \beta T_{i} + \boldsymbol{x}'_i\boldsymbol{\gamma} + T_{i}\boldsymbol{x}'_i\boldsymbol{\delta} + \mu_n + \varepsilon_{i} \end{align*}
Pick (equally-spaced) points on boundary (denoted by $n$)
Assign each observation to its nearest boundary point, to define $\mu_n$
\begin{align*} y_{i} = \beta T_{i} + \boldsymbol{x}'_i\boldsymbol{\gamma} + T_{i}\boldsymbol{x}'_i\boldsymbol{\delta} + \mu_n + \varepsilon_{i} \end{align*}
Treatment effect at boundary point $n$: given by
\begin{align*} \beta + \boldsymbol{x}'_n\boldsymbol{\delta} \end{align*}
See Chapter 2 of Zajonc (2012) (commonly cited as Imbens and Zajonc 2011) for more detail
1. Attach treatment indicator to zone polygons
2. Treatment boundary polylines
3. Boundary segment indicator & Distance to boundary
Create a text file table of:
Table To Table to convert it into dBASE format
Join Field to merge the data by polygon ID
merge
Select to create two polygon shapefiles
Intersect with output type LINE
First, split boundary polyline into segments of equal length
!shape!.positionAlongLine(0.5,True).firstPoint.X
Then, use Near
Does forced labor system during Spanish colonial rule affect todya's living standards in Peru? If so, why?
Ntnl govt quality $\Rightarrow$ development?
Look at ethnic homelands split by national boarders in Africa
Find no difference in nighttime light across border on average
Large heterogeneity across ethnic groups, though
Does higher TV license fees increase evasion in Austria?
Exploit differences in fees across states
Focus on state borders where covariates are balanced
Cellphone coverage $\Rightarrow$ Electoral fraud $\downarrow$ in Afghanistan
1000+ polling stations w/i 5km from coverage boundary
$\Rightarrow$ Boundary RD approach: feasible
Geographic coordinate systems: not suitable
$\Rightarrow$ Use either:
Shrink latitude to compensate shorter unit of longitude towards Poles
Standard map projection for USA
Shrink longitude by $\cos(latitude)$
All give the (approximately) correct surface area
Difference is in how the projected map looks
Project
Add Field + Calculate Field with expression:
float(!SHAPE.AREA!)
Assign # of slaves from each ethnic group into different countries by surface area
Figure II of Nunn (2008)
Cell-by-cell calculation across multiple raster datasets
1. Arithmetic operations
raster*2
)
ras1 + ras2
)
2. Functions
What caused the formation of the state?
Focus on crop type (cereals vs roots/tubers)
Cassava, yam, taro, bananas...
Perishable upon harvest
Harvesting is non-seasonal
$\Rightarrow$ No incentive to steal / confiscate
Wheat, rice, maize...
Storable
Harvest within a short period of time
$\Rightarrow$ Incentive to steal / confiscate
Building a state incurs a fixed cost
Bandits have no incentive to build a state with roots & tubers
Historical examples
Resolution: 5 x 5 arc-minutes (about 10 X 10 km)
Data: potential yields based on climate & soil
$\Rightarrow$ Exogeneous to human activities
$\Rightarrow$ Widely used by economists
1. Convert yields into calorie for 15 crops
# Setting up
import arcpy
arcpy.CheckOutExtension("spatial")
# Input raster
maize_yield = arcpy.sa.Raster("maize.tif")
# Map algebra
maize_calorie = maize_yield * 36.5
# Save output
maize_calorie.save("calorie_cereal_maize.tif")
2. Obtain maximum for each crop type
# Maximum calorie by cereal crops
input_cereals = arcpy.ListRasters(
"calorie_cereal_*", "TIF")
max_cereal = CellStatistics(
input_cereals, "MAXIMUM", "DATA")
# Maximum calorie by tuber/root crops
input_tubers = arcpy.ListRasters(
"calorie_tuber_*", "TIF")
max_tuber = CellStatistics(
input_tubers, "MAXIMUM", "DATA")
2. Obtain maximum for each crop type
# Maximum calorie by cereal crops
input_cereals = arcpy.ListRasters(
"calorie_cereal_*", "TIF")
max_cereal = CellStatistics(
input_cereals, "MAXIMUM", "DATA")
# Maximum calorie by tuber/root crops
input_tubers = arcpy.ListRasters(
"calorie_tuber_*", "TIF")
max_tuber = CellStatistics(
input_tubers, "MAXIMUM", "DATA")
3. Take difference
# Cereal's caloric advantage over tubers
caloric_diff = max_cereal - max_tuber
# Save the output
caloric_diff.save("caloric_diff.tif")
Terrain ruggedness $\Rightarrow$ income per capita
Negative impact outside Africa
Positive impact in Africa
Originally proposed by Riley et al. (1999)
Defined as: \begin{align*} TRI_{xy} =& \sqrt{\sum_{i=x-1}^{x+1} \sum_{j=y-1}^{y+1} (e_{ij}-e_{xy})^2} \end{align*}
| $e_{xy}$ | Elevation at longitude $x$ latitude $y$ |
Can be obtained by Focal Statistics + Map Algebra
Raster cell (30x30 arc-sec) level data is downloadable from Diego Puga's website
Calculates summary statistics in neighbouring raster cells
e.g. Sum of immediate neighbors
You can define the neighborhood very flexibly (more detail)
Rectangle
You can define the neighborhood very flexibly (more detail)
Circle
You can define the neighborhood very flexibly (more detail)
Annulus (ring)
You can define the neighborhood very flexibly (more detail)
Wedge
You can define the neighborhood very flexibly (more detail)
Irregular
You can define the neighborhood very flexibly (more detail)
Weight
Expand the expression inside the square root:
\begin{align*} TRI_{xy} =& \sqrt{\sum_i \sum_j (e_{ij}-e_{xy})^2} \\ =& \sqrt{\sum_i \sum_j (e_{ij})^2 - 2e_{xy}\sum_i\sum_j e_{ij} + 9 (e_{xy})^2} \end{align*}
\begin{align*} TRI_{xy} =& \sqrt{\sum_i \sum_j (e_{ij})^2 - 2e_{xy}\sum_i\sum_j e_{ij} + 9 (e_{xy})^2} \end{align*}
Map Algebra calculates $(e_{ij})^2$:
elev = Raster("srtm30.tif")
elev_sq = elev**2
Expand the expression inside the square root:
\begin{align*} TRI_{xy} =& \sqrt{\sum_i \sum_j (e_{ij})^2 - 2e_{xy}\sum_i\sum_j e_{ij} + 9 (e_{xy})^2} \end{align*}
Focal Statistics calculates $\sum_i \sum_j (e_{ij})^2$ and $\sum_i\sum_j e_{ij}$:
sum_elev_sq = FocalStatistics(elev_sq, "", "SUM", "")
sum_elev = FocalStatistics(elev, "", "SUM", "")
Expand the expression inside the square root:
\begin{align*} TRI_{xy} =& \sqrt{\sum_i \sum_j (e_{ij})^2 - 2e_{xy}\sum_i\sum_j e_{ij} + 9 (e_{xy})^2} \end{align*}
Map Algebra sums them up and takes square root:
TRI_square = sum_elev_sq - 2*elev*sum_elev + 9*elev_sq
TRI = SquareRoot(TRI_square)
TRI.save("ruggedness.tif")
State capacity in one municipality
$\Rightarrow$ State capacity & prosperity in neighboring municipalities
Divide surface by nearest point (aka Voronoi partition)
Alesina et al. (2016) use it as a robustness check to Murdock's ethnic homeland boundaries
Alsan (2015) (cf. Lec 2) uses it as an alternative to the 20-miles radius of Ethnographic Atlas society location
Estimate the externality of military efforts on allied partners' effort in DR Congo civil wars
Use rainfall shock as instruments
But how do we measure the location of each military actor?
Minimum Bounding Geometry tool with Convex Hull option


#18
of JavaScript30
PhotoBooth
Take Photo
Red Min:
Red Max:
Green Min:
Green Max:
Blue Min:
Blue Max:
Click to download


Sumfield - any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields.Field can be any of the following:
• a repeating field (repeatingField).
• a field in matching related records specified by (table::field), whether or not these records appear in a portal.
•
• corresponding repetitions of repeating fields in a record (repeatingField1;repeatingField2;repeatingField3), if the result is returned in a repeating field with at least the same number of repeats.
• several fields in the first matching record specified by (table::field1;table::field2;...). You can include fields from different tables (table 1::field A;table 2::field B...).Sum(LineItems::ExtendedPrice) totals the amounts for all items on the invoice.Sum(Hours::BillableHours) returns the total number of billable hours on a project. Thus, if the portal shows 40 hours and 15:30 hours, the total billable hours are 55:30, or 55 1/2 hours.
• Sum(Field2) returns 26.
• Sum(Field1;Field2;Field3) returns 12.
• Sum(Field2) returns a repeating field with 26 in the first repetition.
• Note When a referenced field is a repeating field, the Sum function returns the sum of the first repetition field, then the sum of the second repetition field, and so on.


Answer: an error.
Try it: ```js run function makeUser() { return { name: “John”, ref: this }; }
let user = makeUser();
alert( user.ref.name ); // Error: Cannot read property ‘name’ of undefined ```
That’s because rules that set this
do not look at object definition. Only the moment of call matters.
Here the value of this
inside makeUser()
is undefined
, because it is called as a function, not as a method with “dot” syntax.
The value of this
is one for the whole function, code blocks and object literals do not affect it.
So ref: this
actually takes current this
of the function.
We can rewrite the function and return the same this
with undefined
value:
```js run function makeUser(){ return this; // this time there’s no object literal }
alert( makeUser().name ); // Error: Cannot read property ‘name’ of undefined ``As you can see the result of
alert( makeUser().name )is the same as the result of
alert( user.ref.name )` from the previous example.
Here’s the opposite case:
```js run function makeUser() { return { name: “John”, ! ref() { return this; } /! }; }
let user = makeUser();
alert( user.ref().name ); // John ```
Now it works, because user.ref()
is a method. And the value of this
is set to the object before dot .
.


Classic input that throws events
Issue #292 : Native events
AutoNumeric events
Non input tags
0.0214
12345.67
Issue #283
Issue #295
Issue #290
Issue #291
Issue #183
Issue #302
Issue #226
Issue #187
Issue #193
Issue #306
Issue #262
Issue #321
Issue #319
Issue #346
Issue #326
Issue #322
Issue #250
Issue #317
Issue #303
Issue #387
Issue #393
Issue #403
noEventListeners option
readOnly option
Disabled input
876321.04
contentEditable option
12345678.9012
123456.789
69.02
Issue #395
Negative numbers & brackets notations
Input type 'tel'
Remove function
Undo & redo functions
1357.92
Issue #423
Issue #409
Issue #416 Style rules
Option updates
decimalPlacesShownOnFocus and selections
showOnlyNumbersOnFocus option
selectOnFocus option
Issue #442 & #457
Issue #447
Testing value for `null`
Issue #452
Testing the raw value
Issue #450
Issue #478
Issue #493
Issue #479
Issue #498
Issue #455
Issue #512
Issue #456
Issue #524
Issue #527
autonumeric:initialized event
Issue #432
Issue #477
Issue #535
Issue #553
Issue #550
Issue #521
Issue #574
Issue #559
Issue #589
Issue #593
Issue #596
Issue #219
Issue #594
Issue #598
Issue #542
Issue #611
Issue #621
Issue #652
Issue #647
Issue #656
Issue #675
Invalid entries (min 5, max 10000)
Issue #757
Issue #719
Issue #709
Issue #718
Issue #768


{% extends "global/Page.html" %} {% load otree %} {% block title %} The Decision Task: Report Your Type {% endblock %} {% block content %}
This is round number {{ subsession.round_number }} of {{Constants.num_rounds }}.
You are assigned to node {{ player.id_in_group }}.
{% if player.id_in_group == 1 %}Your neighbours are participants at nodes number 2, 3, 4 and 6. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 2 %}Your neighbours are participants at nodes number 1, 3, 4 and 5. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 3 %}Your neighbours are participants at nodes number 1, 2 and 5. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 4 %}Your neighbours are participants at nodes number 1, 2 and 6. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 5 %}Your neighbours are participants at nodes number 2 and 3. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 6 %}Your neighbours are participants at nodes number 1 and 4. The following picture depicts your neighbourhood:
{% endif %} {% if player.id_in_group == 1 %}Your assigned type for this round is {{ player.int_pref }}.
{% formfield player.exp_pref label="Please choose your type to be reported in this round" %}
{% if player.id_in_group == 1 or player.id_in_group == 2%}Show the table of my possible earnings for this round
{% endif %} {% if player.id_in_group == 3 or player.id_in_group == 4%}Show the table of my possible earnings for this round
{% endif %} {% if player.id_in_group == 5 or player.id_in_group == 6%}Show the table of my possible earnings for this round
{% endif %} {% if player.id_in_group == 1 %}| Round |
Your assinged type |
Your reported type |
Your earnings |
Neighbor reports 2, 3, 4, 6 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
| Round |
Your assigned type |
Your reported type |
Your earnings |
Neighbor reports 1, 3, 4, 5 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
| Round |
Your assigned type |
Your reported type |
Your earnings |
Neighbor reports 1, 2, 5 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
| Round |
Your assigned type |
Your reported type |
Your earnings |
Neighbor reports 1, 2, 6 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
| Round |
Your assigned type |
Your reported type |
Your earnings |
Neighbor reports 2, 3 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
| Round |
Your assigned type |
Your reported type |
Your earnings |
Neighbor reports 1, 4 |
|---|---|---|---|---|
| {{ p.round_number }} | {{ p.int_pref }} | {{ p.exp_pref }} | {{ p.payoff }} | {{ p.neighbor_reports }} |
Your total earnings at the end of round {{ prev_rounds }} were {{ total_payoff }}.
{% endif %} {% next_button %} {% endblock %}


As designers attempting to creating functional work,
As designers attempting to creating functional work, oftentimes we are required to make our designs look as finished as possible.
For example, if you are designing a brand new website for someone, most times you will have to make sure the prototype looks finished by inserting text or photos or what have you. The purpose of this is so the person viewing the prototype has a chance to actually feel and understand the idea behind what you have created.
Now in some circumstances, designers may use squares and rectangles to help you visualize what should and could be in a specific location.
We all have our own techniques, but one of the most effective techniques is to actually put some text where text goes and some pictures where pictures go to make sure everyone can see the vision you’ve created.
Coming up with filler text on the fly is not easy, but it is becoming more and more of a requirement. Fortunately, some designers and developers around the web know this and have put together a bunch of text generators to help you present your vision.
This isn’t a text generator at all but what this person did was put together some English gibberish in the form of what we use and create the most. For example instead of just paragraphs of ‘lorem ipsum’, we have text put together that simulates real uses—for example, they have created a Terms and Conditions ‘excerpt’—most of which also includes some HTML and CSS styling.


{% extends "base.html" %} {% block title %} {{ sitetitle }} :: Assignment Details {% endblock %} {% block bannertitle %} Assignment Details {% endblock %} {% block extrahead %} {% endblock %} {% block pagecontent %}
| Completion | Satisfaction | Score | Total Time | ||
| {{compl.grouper}} Training | |||||
| {{userreg.user.fname}} {{userreg.user.lname}} | {{userreg.user.email}} | {{userreg.reg.completion}} | {{userreg.reg.satisfaction}} | {% ifnotequal userreg.reg.score None %} {% ifnotequal userreg.reg.score "unknown" %} {{ userreg.reg.score }}% {% else %} No Score {% endifnotequal %} {% else %} No Score {% endifnotequal %} |
{% ifnotequal userreg.reg.timespent None %}
{{ userreg.reg.timespent|sectodur }}
{% else %}
Not Started
{% endifnotequal %}
|
The following tags are available to include information from this assignment in calendar events:
Event Title:
|
Description:
|
| Update Successful |
Changes to the email will only be sent to learners assigned the course in the future.
The following tags are available to include information from this assignment in emails:
Email Subject:
|
Email Body:
|
| Update Successful |
Reminders require that a duedate be set.
Add Reminder:
Who:
When:
|
|
|
|
All reminders will be sent the same email, specified below. The following tags are available to include information from this assignment in emails: [launchurl] - replaced by a link to launch the training
[fname] - replaced by the invitee's first name
[lname] - replaced by the invitee's last name
[myname] - replaced by your name, as the sender
[duedate] - replaced by the selected due date
|
Reminder Email Subject:
|
Reminder Email Body: |
| Update Successful |
Enabling Auto-Expire will set the assignment to inactive around the time (within 5 minutes) of the course duedate.
Auto-Expire requires that a duedate be set.
Send an email to selected invitees.
The following tags are available to include information from this assignment in emails:
Email Recipients:
|
Email Subject:
|
Email Body: |
| Emails Sent |


All the resources found here are provided free of charge. If you would like to support me in making more content like this, consider supporting me on Patreon.


| You have no access here |
| Reported Matches | ||||||
|---|---|---|---|---|---|---|
|
no reported matches available
|
||||||
|
Don't confirm matches with a dark background! They aren't in the proper timeframe yet. |
| Unreported Matches | |||
|---|---|---|---|
|
no unreported matches available
|
| Confirmed Matches | |||||
|---|---|---|---|---|---|
|
no confirmed matches available
|


Relax resort usually organizes for our visitors good travel orders
We pick you from your set location and bring you till our resort
We continue offering the services for as long as you have paid for
We give very good and affordable travel services
Back to our home page
Home


Stereotype Threat
7 December 2014
This week for our cultural blog, we were asked to discuss stereotype threat. It didn't surprise me that when we were going through the research that race was one of the topics. With some of the events going on recently in the media, race and stereotype have become a hot talking point. But race is far from the only stereotype that exists. There are genders, regions, cultures, and so many other stereotypes that at some point, someone has probably experienced some sort of threat. Even though we may think of one as greater than the other, they all impact people with negativity.
For me, I'm from a small town. When I talk to people from bigger cities about where I come from, they think of an exaggerated Smalltown USA: one street town with horses, one sheriff and dirt roads. While I would like to think that it doesn't bother me when people make fun of this, I sometimes feel like I am being made smaller because of where I am from. This of course draws in other stereotypes.  At work, which is predominately male employed, sometimes I hear about sexism being thrown around. This is all the more reason to be aware of stereotype threat.
Stereotypes are harmful. They put up walls and close your mind's acceptance to other cultures and beliefs. I think that one of the beautiful things about going to college was being in a mix of different cultures and teaching different ways of thinking. It reminds me of the learning methods we learned at DBC about being open-minded. You can't really grow if you have a fixed mindset, and sterotypes are definitely a fixed mindset.


Google blames developers for Stadia resolution issues
Developers can choose what to do.
by Asher MadanWhat you need to know
- Google Stadia is a game streaming service that launched last week.
- Google claims that all games run at 4K resolution and 60 frames per second on the system, but that's not the case.
- Digital Foundry uncovered that Destiny 2 was 1080p 60 FPS and Red Dead Redemption 2 was 1440p 30 FPS on Chromecast Ultra.
- Google says that it gives developers freedom when it comes to choosing the resolution and frame rate.
A few days ago, reports emerged that games like Destiny 2 and Red Dead Redemption 2 weren't running at 4K resolution on Google Stadia. We were able to verify this and discovered that Destiny 2 was rendering at 1080p 60 frames per second (FPS) and Red Ded Redemption 2 was at 1440p 30 FPS. This was from the Chromecast Ultra which the company promised would deliver a 4K 60 FPS experience with the right bandwidth.
It seems like there was a lot of confusion about whether Stadia would support 4K resolution for all games. Last month, Stadia's Phil Harrison said that the platform was designed to support 4K 60 FPS games, but if a game was sometimes 4K 30 FPS, it would stream it at 4K 60 FPS by possibly reencoding the image. You can look at the statement from October below.
Now that we know that all games aren't 4K 60 FPS on Stadia, Google has issued another statement saying that it gives developers complete freedom. If that's the case and the company isn't mandating 4K 60 FPS, it shouldn't advertise Stadia as a 4K 60 FPS service. The image quality you get on an Xbox One X is far superior. You can read the statement below Eurogamer compiled.
Stadia streams at 4K... 60 FPS... and that includes all aspects of our graphics pipeline from game to screen: GPU, encoder, and Chromecast Ultra all outputting at 4K to 4K TVs, with the appropriate internet connection. Developers making Stadia games work hard to deliver the best streaming experience for every game. Like you see on all platforms, this includes a variety of techniques to achieve the best overall quality. We give developers the freedom of how to achieve the best image quality and frame rate on Stadia and we are impressed with what they have been able to achieve for day one. We expect that many developers can, and in most cases will, continue to improve their games on Stadia. And because Stadia lives in our data centers, developers are able to innovate quickly while delivering even better experiences directly to you without the need for game patches or downloads.
This is essentially putting the blame on developers. It's unclear what the issue is here, but it may be related to the development tools and the server setup. Do developers need to overhaul their games to support a multi-GPU model? We can only speculate at this point. Hopefully, Google will provide more information soon.
Are you playing Stadia on a 4K TV? What do you think about the image quality? Let us know.
Everything you need
Stadia Founder's Edition
A good way to start
This bundle includes everything you need to get started with Google Stadia. It includes the controller, Chromecast Ultra, Destiny 2, and three months of the Stadia Pro subscription for you and a friend. It's a great way to begin your game streaming journey
Pick up the parts
Chromecast Ultra
HD streaming
You can buy everything together or you can get just the basics for Google Stadia. The Chromecast Ultra is available to purchase now and lets you stream 4K TV as well as play games when Stadia launches in November.
All you need
Google Stadia controller
A firm grip on what's needed
The Stadia controller is all you need to use Google Stadia if you already have the Chromecast Ultra. You can also use it on your other devices too. Get the Wasabi colored one, it's gorgeous.
Get more Xbox
Xbox
- Xbox One S vs. Xbox One X: Which should you buy?
- Best Xbox One X and Xbox One S Accessories
- Best Xbox One Headsets 2019
- Best Xbox One Wireless Headsets 2019
- Best Xbox Controller Charging Stations in 2019
We may earn a commission for purchases using our links. Learn more.


audio
Your browser does not support the
audio
element.
video
Your browser does not support the
video
element.
embed
object


Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates ratione nostrum, accusantium totam nam rem, odit placeat sit error, odio accusamus vero! Facere eligendi ea quam earum sapiente. Doloribus, laborum.
iconiconiconicon
contact us
lorem ispor #76686 block #675d7 estate business building ng
+(234)8101018612
<EMAIL_ADDRESS>iconsiconsiconsicons
featured links
our people
latest medias
our branches
organization
help
newletter
get in your inbox the latest news and..
subscribe and get our latest newsletter we'll never share your email address


Git
(ohshitgit.com)
Objective-C Block Syntax
(fuckingblocksyntax.com)
C++ Member Pointer Syntax
(fuckingmemberfunctionpointers.com)
C Function Pointer Syntax
(fuckingfunctionpointers.com)
Swift Closure Syntax
(fuckingclosuresyntax.com)
Swift Multiple Trailing Closures Syntax
(fuckingmultipletrailingclosuresyntax.com)
Swift If Let Case Syntax
(fuckingifcaseletsyntax.com)
SwiftUI Reference
(fuckingswiftui.com)
Unable to access this site due to the profanity in the URL?
goshdarnreference.com
is a more work-friendly mirror.


--- layout: post status: publish published: true title: Christmas On Chinese Google Calendar! author: Leask author_login: leask author_email<EMAIL_ADDRESS>author_url: https://leaskh.com wordpress_id: 318 wordpress_url: http://leaskh.wordpress.com/2007/12/26/christmas-on-chinese-google-calendar date: '2007-12-26 10:08:19 +0800' date_gmt: '2007-12-26 10:08:19 +0800' categories: tags: [] comments: [] ---


Another importance of web development is its capability to increase the brand knowledge. Web development actually plays a vital role in this matter because it maintains good communication between the consumers and the business itself. Moreover, it also caters more production of products since web development has promoted the items and services offered by a company to the public in a very impressive and effective way. With that, the products marketed by the company increase in popularity which leads to generation of income.
In conclusion, web development beats the competition. As said, in the growing world of marketing, it is a tough task to outperform others in the industry. However, if you do not do something about it, a chance of failing to succeed is indeed high. Anyhow, this web development enhances your chance to shine among all your competitors in the market because you are competing in a smart and great way. You are just being strategic and being focused with your goals while doing the necessary things like creating a good website where your consumers can visit all the time.
Web development gives your business a great chance to be very successful in the field you chose to get engaged with. It is very helpful in your business especially that you have a lot of rivals in the growing online industry.


FOOD WEBSITE DEMO
This is demo of how your website will work. There is bascially two section in the website, one from where customer can place order and other for Merchant or for restaurant where you can see the orders and take necessary action.
CUSTOMER SECTION
Click here
RESTAURANT SECTION
Click here
Use Email:merchant and Password:merchant to login in restaurant section


MAKE WAY FOR TOMORROW (1937) A film review by Edwin Jahiel Copyright 1996 Edwin Jahiel
MAKE WAY FOR TOMORROW (1937) Directed and produced by Leo McCarey. A touching drama that Hollywood would not dream of making today. Impecunious old couple Beulah Bondi and Victor Moore lose their house and are not properly looked after by their five children, now grown-up and married.
Since no one wants them as a couple, they have to separate. Bondi goes to the New York apartment of son Thomas Mitchell and his wife Fay Bainter. Moore stays in a small town with a daughter. Both feel unwanted, even as singles.
Bondi volunteers to go to a home for aged women, under the pretext of frail health. Moore will be sent to another daughter yet, in California. The two oldsters get together one last time and have fun being driven in a car and revisiting their honeymoon hotel.
The film has an appropriate old folks tempo, is quietly pathetic, affecting and gripping. It concentrates on Bondi and the unease of her stay with the weak-willed Mitchell, the impatient Bainter, and their happy-go-lucky daughter. Yet it paints none of them as a villain. Their sin is more insensitivity than malice. Arguably, those characters and the particulars of their situation are not sufficiently explored, while the Bondi-Moore sweetness and naivete are a bit overstressed.
Perhaps some viewers will think too that a bit mechanical --albeit very warm--is the small lineup of strangers who show kindness to the old couple: Maurice Moscovitch as a Jewish small-store owner; a car salesman who thinks he might make a sale; a hotel manager; a band leader who plays for the couple "Let Me Call You Sweetheart." But those are trifles, attributable to the period's studio cine-esthetics. In any case the everyday details are observed with precision and there's a welcome absence of forced effects or histrionics.
At the 11th hour the old people's children realize how shabbily they had treated their parents, but the movie has the good sense of avoiding an artificial, last-minute shift to give us a happy ending. In 1937 Moore was 60, Beulah Bondi, Thomas Mitchell and Fay Bainter were all 45. The excellent makeup job by Wally Westmore helped the very talented Bondi look convincingly old. So does her superb performance and body English. The casting is additionally interesting as Bainter for a change does not play a sunny, sweet matron; as Mitchell is not his usual lovable type; and as Moore, a comedian, is cast against type in a serious role that he handles very well. The film was most popular the year of its release.
Additional points of interest: The home for old women is called Idylwild; in the 1932 " If I Had A Million," also a Paramount film, such a home was Idylwood. The music is by two fascinating people, the melodious, prolific Victor Young, and the little-known George Antheil. Antheil was an American but has often been mistaken for a Frenchman, what with his family name and his work in France. There, he had written the score for the famous, experimental "Ballet Mecanique" ( 1924), made by French painter Fernand Leger and the American Dudley Murphy. (Edwin Jahiel)
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Returns applied search object for specified field.
getSearchData(field)
| field |
string, search field name |
Returns object or null.
Description
If you want to see all searches applied for the grid, you can inspect
.searchData object. Use getSearchData to find applied search
for a particular search field. This method will simply loop through .searchData object.
The field argument is the name of the search field you specified in
.searches array when you created the grid.
If you have grid defined in the following way:
And if user applied search, you can find applied search object:
If user did not apply any search, this method will return null.


WITNESS LIST Subcommittee on Technology & Business Growth Committee February 25, 1999-8:30A SB 274 For: Shannon Ratliff (Texas Civil Justice League), Austin Against: Bill Davis (Texas Watch), Krum Dan Lambe (Texas Watch), Austin Donna Davis (Texas Watch), Krum Frank Goodrich (Silber Pearlman), Dallas Hartley Hampton (Texas Trial Lawyers Association), Austin Joe K. Longley (self), Austin Marc R. Stanley (Self), Dallas Margaret Dunayer (Self), Round Rock Mark Kincaid (Self), Austin Mike Dodge (Dodge, Fazio, Anderson and Jones P.C.), Dallas Ramona Woodson (self), Dallas Ray Poage (Crane Plumbing), Dallas Thomas Rotello (Delta Farms), Navasota Wade Caldwell (Self), San Antonio Weldon Ferguson (self), Oklahoma City Registering, but not testifying: For: Bill Powers (Texas Farm Bureau), Austin Bill Tryon (Texas Civil Justice League), Austin Eric Glenn (Texas Assoc. of Business & Chambers of Commerce), Austin Freddy Warner (Texas Motor Transportation Association), Wimberly G. Alan Waldrop (Texans for Lawsuit Reform), Austin Jack Roberts (Anheuser-Busch), Austin Jack Roberts (Bank of America), Austin Mindy Meadows (Texas Apartment Association), Austin Ralph Wayne (Texas Civil Justice League), Austin Robert Howden (National Federation of Independent Business), Austin Against: Reggie James (Consumers Union SW Regional Offices), Austin On: Patricia J. Kerrigan (Texas Association of Defense Counsel), Austin SJR 14 Against: Ron Walker (Texas Association of Realtors), Austin On: Scott Norman (Westar Mortgage), Austin Registering, but not testifying: For: Karen Neeley (Independent Bankers Assoc. of Texas), Austin Against: Gary Joiner (Texas Farm Bureau), Austin On: Michelle Roberts (Texas Bankers Association), Austin SJR 18 For: Jerry Patterson (Self), Austin Mary L. Comer (AARP), Austin Against: Ron Walker (TX. Assoc. of Realtors), Austin On: Everette Jobe (Texas Department of Banking), Austin Rob Norcross (Independent Bankers Assoc. of TX.; TX. Financial Svs. Assoc.), Austin Rob Norcross (TX. Credit Utnion League; TX. Bankers Assoc.), Austin Rob Norcross (TX. Svings & Comm. Bankers Assoc.; TX. Mortgage Bankers Assoc.), Austin Sealy Hutchings (Office of Consumer Credit Commissioner), Austin Registering, but not testifying: For: Karen Neeley (Independent Bankers Assoc. of Texas), Austin Larry Temple (Texas Mortgage Bankers Assoc.), Austin On: Michelle Roberts (Texas Bankers Association), Austin Written materials submitted: For: Samuel Stewart (Texas Assoc. of Real Estate Brokers), Houston


Dear guest,
This part of the site is currently under construction. Please keep visiting our blog, as you wait for this page to update.
- Rob Dorstijn Systemadministrator of onderzoekdeoorsprong.nl


Cospace
Logout
Admin
Invoices
Calendar
Profile
Settings
Members
Resources
Rooms
Analytics
Events
Memberships
Resources
Add New Resource
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Unit Name
Price: $ 0.00
Serial Number: SNQWER12345
Edit
Delete
Add New Resource
×
No file chosen
Edit Resource
×
No file chosen


Next: package-error-package, Previous: *package*, Up: Packages Dictionary
package-error, error, serious-condition, condition, t
The type package-error consists of error conditions related to operations on packages. The offending package (or package name) is initialized by the :package initialization argument to make-condition, and is accessed by the function package-error-package.


| I l@ve RuBoard |
9.6 PyDraw: Painting and Moving GraphicsThe previous chapter introduced simple Tkinter animation techniques (see the tour's canvasDraw variants). The PyDraw program listed here builds upon those ideas to implement a more feature-rich painting program in Python. It adds new trails and scribble drawing modes, object and background color fills, embedded photos, and more. In addition, it implements object movement and animation techniques -- drawn objects may be moved around the canvas by clicking and dragging, and any drawn object can be gradually moved across the screen to a target location clicked with the mouse. 9.6.1 Running PyDrawPyDraw is essentially a Tkinter canvas with lots of keyboard and mouse event bindings to allow users to perform common drawing operations. This isn't a professional-grade paint program by any definition, but it's fun to play with. In fact, you really should -- it is impossible to capture things like object motion in the medium afforded by this book. Start PyDraw from the launcher bars (or run the file movingpics.pyfrom Example 9-18 directly). Press the ? key to view a help message giving available commands (or read the help string in the code listings). Figure 9-17 shows PyDraw after a few objects have been drawn on the canvas. To move any object shown here, either click it with the middle mouse button and drag to move it with the mouse cursor, or middle-click the object and then right-click in the spot you want it to move towards. In the latter case, PyDraw performs an animated (gradual) movement of the object to the target spot. Try this on the picture of Python creator Guido van Rossum near the top to start the famous "Moving Guido Demo" (yes, he has a sense of humor, too). Figure 9-17.  Windows users -- middle-click is usually both mouse buttons at once, but you may need to configure this in your control panel. In addition to mouse events, there are 17 key-press commands for tailoring sketches that I won't cover here. It takes a while to get the hang of what all the keyboard and mouse commands do; but once you've mastered the bindings, you too can begin generating senseless electronic artwork like that in Figure 9-18. Figure 9-18. PyDraw after substantial play9.6.2 PyDraw Source CodeLike PyEdit, PyDraw lives in a single file. Two extensions that customize motion implementations are listed following the main module shown in Example 9-18. Example 9-18. PP2E\Gui\MovingPics\movingpics.py############################################################################## # PyDraw: simple canvas paint program and object mover/animator # uses time.sleep loops to implement object move loops, such that only # one move can be in progress at once; this is smooth and fast, but see # the widget.after and thread-based subclasses here for other techniques; ############################################################################## helpstr = """--PyDraw version 1.0-- Mouse commands: Left = Set target spot Left+Move = Draw new object Double Left = Clear all objects Right = Move current object Middle = Select closest object Middle+Move = Drag current object Keyboard commands: w=Pick border width c=Pick color u=Pick move unit s=Pick move delay o=Draw ovals r=Draw rectangles l=Draw lines a=Draw arcs d=Delete object 1=Raise object 2=Lower object f=Fill object b=Fill background p=Add photo z=Save postscript x=Pick pen modes ?=Help other=clear text """ import time, sys from Tkinter import * from tkFileDialog import * from tkMessageBox import * PicDir = '../gifs' if sys.platform[:3] == 'win': HelpFont = ('courier', 9, 'normal') else: HelpFont = ('courier', 12, 'normal') pickDelays = [0.01, 0.025, 0.05, 0.10, 0.25, 0.0, 0.001, 0.005] pickUnits = [1, 2, 4, 6, 8, 10, 12] pickWidths = [1, 2, 5, 10, 20] pickFills = [None,'white','blue','red','black','yellow','green','purple'] pickPens = ['elastic', 'scribble', 'trails'] class MovingPics: def __init__(self, parent=None): canvas = Canvas(parent, width=500, height=500, bg= 'white') canvas.pack(expand=YES, fill=BOTH) canvas.bind('<ButtonPress-1>', self.onStart) canvas.bind('<B1-Motion>', self.onGrow) canvas.bind('<Double-1>', self.onClear) canvas.bind('<ButtonPress-3>', self.onMove) canvas.bind('<Button-2>', self.onSelect) canvas.bind('<B2-Motion>', self.onDrag) parent.bind('<KeyPress>', self.onOptions) self.createMethod = Canvas.create_oval self.canvas = canvas self.moving = [] self.images = [] self.object = None self.where = None self.scribbleMode = 0 parent.title('PyDraw - Moving Pictures 1.0') parent.protocol('WM_DELETE_WINDOW', self.onQuit) self.realquit = parent.quit self.textInfo = self.canvas.create_text( 5, 5, anchor=NW, font=HelpFont, text='Press ? for help') def onStart(self, event): self.where = event self.object = None def onGrow(self, event): canvas = event.widget if self.object and pickPens[0] == 'elastic': canvas.delete(self.object) self.object = self.createMethod(canvas, self.where.x, self.where.y, # start event.x, event.y, # stop fill=pickFills[0], width=pickWidths[0]) if pickPens[0] == 'scribble': self.where = event # from here next time def onClear(self, event): if self.moving: return # ok if moving but confusing event.widget.delete('all') # use all tag self.images = [] self.textInfo = self.canvas.create_text( 5, 5, anchor=NW, font=HelpFont, text='Press ? for help') def plotMoves(self, event): diffX = event.x - self.where.x # plan animated moves diffY = event.y - self.where.y # horizontal then vertical reptX = abs(diffX) / pickUnits[0] # incr per move, number moves reptY = abs(diffY) / pickUnits[0] # from last to event click incrX = pickUnits[0] * ((diffX > 0) or -1) incrY = pickUnits[0] * ((diffY > 0) or -1) return incrX, reptX, incrY, reptY def onMove(self, event): traceEvent('onMove', event, 0) # move current object to click object = self.object # ignore some ops during mv if object and object not in self.moving: msecs = int(pickDelays[0] * 1000) parms = 'Delay=%d msec, Units=%d' % (msecs, pickUnits[0]) self.setTextInfo(parms) self.moving.append(object) canvas = event.widget incrX, reptX, incrY, reptY = self.plotMoves(event) for i in range(reptX): canvas.move(object, incrX, 0) canvas.update( ) time.sleep(pickDelays[0]) for i in range(reptY): canvas.move(object, 0, incrY) canvas.update( ) # update runs other ops time.sleep(pickDelays[0]) # sleep until next move self.moving.remove(object) if self.object == object: self.where = event def onSelect(self, event): self.where = event self.object = self.canvas.find_closest(event.x, event.y)[0] # tuple def onDrag(self, event): diffX = event.x - self.where.x # ok if object in moving diffY = event.y - self.where.y # throws it off course self.canvas.move(self.object, diffX, diffY) self.where = event def onOptions(self, event): keymap = { 'w': lambda self: self.changeOption(pickWidths, 'Pen Width'), 'c': lambda self: self.changeOption(pickFills, 'Color'), 'u': lambda self: self.changeOption(pickUnits, 'Move Unit'), 's': lambda self: self.changeOption(pickDelays, 'Move Delay'), 'x': lambda self: self.changeOption(pickPens, 'Pen Mode'), 'o': lambda self: self.changeDraw(Canvas.create_oval, 'Oval'), 'r': lambda self: self.changeDraw(Canvas.create_rectangle, 'Rect'), 'l': lambda self: self.changeDraw(Canvas.create_line, 'Line'), 'a': lambda self: self.changeDraw(Canvas.create_arc, 'Arc'), 'd': MovingPics.deleteObject, '1': MovingPics.raiseObject, '2': MovingPics.lowerObject, # if only 1 call pattern 'f': MovingPics.fillObject, # use unbound method objects 'b': MovingPics.fillBackground, # else lambda passed self 'p': MovingPics.addPhotoItem, 'z': MovingPics.savePostscript, '?': MovingPics.help} try: keymap[event.char](self) except KeyError: self.setTextInfo('Press ? for help') def changeDraw(self, method, name): self.createMethod = method # unbound Canvas method self.setTextInfo('Draw Object=' + name) def changeOption(self, list, name): list.append(list[0]) del list[0] self.setTextInfo('%s=%s' % (name, list[0])) def deleteObject(self): if self.object != self.textInfo: # ok if object in moving self.canvas.delete(self.object) # erases but move goes on self.object = None def raiseObject(self): if self.object: # ok if moving self.canvas.tkraise(self.object) # raises while moving def lowerObject(self): if self.object: self.canvas.lower(self.object) def fillObject(self): if self.object: type = self.canvas.type(self.object) if type == 'image': pass elif type == 'text': self.canvas.itemconfig(self.object, fill=pickFills[0]) else: self.canvas.itemconfig(self.object, fill=pickFills[0], width=pickWidths[0]) def fillBackground(self): self.canvas.config(bg=pickFills[0]) def addPhotoItem(self): if not self.where: return filetypes=[('Gif files', '.gif'), ('All files', '*')] file = askopenfilename(initialdir=PicDir, filetypes=filetypes) if file: image = PhotoImage(file=file) # load image self.images.append(image) # keep reference self.object = self.canvas.create_image( # add to canvas self.where.x, self.where.y, # at last spot image=image, anchor=NW) def savePostscript(self): file = asksaveasfilename( ) if file: self.canvas.postscript(file=file) # save canvas to file def help(self): self.setTextInfo(helpstr) #showinfo('PyDraw', helpstr) def setTextInfo(self, text): self.canvas.dchars(self.textInfo, 0, END) self.canvas.insert(self.textInfo, 0, text) self.canvas.tkraise(self.textInfo) def onQuit(self): if self.moving: self.setTextInfo("Can't quit while move in progress") else: self.realquit( ) # std wm delete: err msg if move in progress def traceEvent(label, event, fullTrace=1): print label if fullTrace: for key in dir(event): print key, '=>', getattr(event, key) if __name__ == '__main__': from sys import argv # when this file is executed if len(argv) == 2: PicDir = argv[1] # '..' fails if run elsewhere root = Tk( ) # make, run a MovingPics object MovingPics(root) root.mainloop( ) Just as in the last chapter's canvasDraw examples, we can add support for moving more than one object at the same time with either after scheduled-callback events, or threads. Example 9-19 shows a MovingPics subclass that codes the necessary customizations to do parallel moves with after events. Run this file directly to see the difference; I could try to capture the notion of multiple objects in motion with a screen shot, but would almost certainly fail. Example 9-19. PP2E\Gui\MovingPics\movingpics_after.py############################################################################## # PyDraw-after: simple canvas paint program and object mover/animator # use widget.after scheduled events to implement object move loops, such # that more than one can be in motion at once without having to use threads; # this does moves in parallel, but seems to be slower than time.sleep version; # see also canvasDraw in Tour: builds and passes the incX/incY list at once: # here, would be allmoves = ([(incrX, 0)] * reptX) + ([(0, incrY)] * reptY) ############################################################################## from movingpics import * class MovingPicsAfter(MovingPics): def doMoves(self, delay, objectId, incrX, reptX, incrY, reptY): if reptX: self.canvas.move(objectId, incrX, 0) reptX = reptX - 1 else: self.canvas.move(objectId, 0, incrY) reptY = reptY - 1 if not (reptX or reptY): self.moving.remove(objectId) else: self.canvas.after(delay, self.doMoves, delay, objectId, incrX, reptX, incrY, reptY) def onMove(self, event): traceEvent('onMove', event, 0) object = self.object # move cur obj to click spot if object: msecs = int(pickDelays[0] * 1000) parms = 'Delay=%d msec, Units=%d' % (msecs, pickUnits[0]) self.setTextInfo(parms) self.moving.append(object) incrX, reptX, incrY, reptY = self.plotMoves(event) self.doMoves(msecs, object, incrX, reptX, incrY, reptY) self.where = event if __name__ == '__main__': from sys import argv # when this file is executed if len(argv) == 2: import movingpics # not this module's global movingpics.PicDir = argv[1] # and from* doesn't link names root = Tk( ) MovingPicsAfter(root) root.mainloop( ) Now, while one or more moves are in progress, you can start another by middle-clicking on another object and right-clicking on the spot you want it to move to. It starts its journey immediately, even if other objects are in motion. Each object's scheduled after events are added to the same event loop queue and dispatched by Tkinter as soon as possible after a timer expiration. If you run this subclass module directly, you'll probably notice that movement isn't quite as fast or as smooth as in the original, but multiple moves can overlap in time. Example 9-20 shows how to achieve such parallelism with threads. This process works, but as we learned in the last chapter, updating GUIs in spawned threads is generally a dangerous affair. On my machine, the movement that this script implements with threads is a bit more jerky than the original version -- a reflection of the overhead incurred for switching the interpreter (and CPU) between multiple threads. Example 9-20. PP2E\Gui\MovingPics\movingpics_threads.py################################################################### # use threads to move objects; seems to work on Windows provided # that canvas.update( ) not called by threads(else exits with fatal # errors, some objs start moving immediately after drawn, etc.); # at least some canvas method calls must be thread safe in Tkinter; # this is less smooth than time.sleep, and is dangerous in general: # threads are best coded to update global vars, not change GUI; ################################################################### import thread, time, sys, random from Tkinter import Tk, mainloop from movingpics import MovingPics, pickUnits, pickDelays class MovingPicsThreaded(MovingPics): def __init__(self, parent=None): MovingPics.__init__(self, parent) self.mutex = thread.allocate_lock( ) import sys #sys.setcheckinterval(0) # switch after each vm op- doesn't help def onMove(self, event): object = self.object if object and object not in self.moving: msecs = int(pickDelays[0] * 1000) parms = 'Delay=%d msec, Units=%d' % (msecs, pickUnits[0]) self.setTextInfo(parms) #self.mutex.acquire( ) self.moving.append(object) #self.mutex.release( ) thread.start_new_thread(self.doMove, (object, event)) def doMove(self, object, event): canvas = event.widget incrX, reptX, incrY, reptY = self.plotMoves(event) for i in range(reptX): canvas.move(object, incrX, 0) # canvas.update( ) time.sleep(pickDelays[0]) # this can change for i in range(reptY): canvas.move(object, 0, incrY) # canvas.update( ) # update runs other ops time.sleep(pickDelays[0]) # sleep until next move #self.mutex.acquire( ) self.moving.remove(object) if self.object == object: self.where = event #self.mutex.release( ) if __name__ == '__main__': root = Tk( ) MovingPicsThreaded(root) mainloop( ) |
| I l@ve RuBoard |


e
Academy
1
2
Description
3
4
Description
Explain your expirence, your metodology etc.
You can add a presentation video. (optional)
Continue


The type querystring can be used to access some information in the querystring.
An object will be created with the same key and values that you have in querstring as properties of an object.
Here a sample:


Doitblog is a open source static blog generator that doesn’t get in your way, it just do it.
Static website should be as simple as editing html and css, and blogs should be as pleasent as writing on txt file or your favorite markdown.
By using pandoc, doitblog should be able to support your favorite markdown, mine is latex :D.
The blog itself is made by static html+css+js, and its never generated it only reads generated data, so you can easly change it or even remake it with your favorite spa framework.


RUCS, the Review of Undergraduate Science, is the first publication, from a top 20 university, dedicated solely to undergraduate computer science. We are an open-access journal that features the best of undergraduate computer science research at U of T and other top universities. Founded in 2015 by Kawin Ethayarajh, RUCS alumni include graduate students at top schools and Googlers.


This theme features some wonderful photography courtesy of Death to the Stock Photo.
{{ post.date | date: "%B %e, %Y" }} . {{ post.category }} .


Email: {{user.email}}
Phone: {{user.phone}}
Dashboard
Add-Packages
Manage-Packages
Add Locations
Tour-Request
Chats
View-Ratings


--- title: Israel shot 028 date: 2004-01-29T00:00:00.000Z filepathOriginal: photos/IMG0001.jpg filepathThumbnail: photos/IMG0001.thumbnail.jpg filepathPreview: photos/IMG0001.preview.jpg ---
Ani, v' shtayim soldierim randomim


Hosted by students at UTD, SMU, and UNT, HackDFW brings all of the Dallas area schools together in one exciting 24-hour event.
The gates will open on Saturday, February 28th and continue until Sunday, March 1st. The full schedule will be posted soon.
All students are welcome! This includes high schoolers, undergraduate students, and graduate students!
Teams are composed of 2-5 people. You can do it alone, but it'll be less fun!
We'll have a time scheduled where people can form teams.
HackDFW is 100% free! This includes WiFi, food, drinks, and miscellaneous swag for the entire hackathon!
Laptops, chargers, cellphones, and of course passion are helpful. Toiletries and a change of clothes are also useful. Knives, firearms, and other dangerous things are not permitted at the event.
A hackathon is an experience to build something new within a set amount of time. Therefore, you cannot work on past projects. Using your own open-source or third party libraries is fine as long as the project is new.
Our friends will be providing Oculus Rifts, Myo arm-bands, Leap Motions, and Arduinos to hack on for the duration of the event.
Yes! If you go to a Texas university or college and have multiple sign-ups, we will be providing buses to you. Get your university involved with HackDFW!
We are working with our budget to get a select set of applicants reimbursement to the event. We will be getting in touch with all HackDFW applicants in the new year with their reimbursement amounts.


Maddie & Tae Singer Maddie Marlow Just Got Married!
Maddie & Tae singer Maddie Marlow just tied the knot!
The 24-year-old country starlet got married to longtime love Jonah Font on Friday (November 22) at The Barn at Sycamore Farms in Arrington, Tenn.
The couple said their vows in front of 160 friends and family, while Maddie‘s band made Taylor Dye served as the official witness.
Maddie took to her Instagram to share the happy news and post some photos from the big day.
“Mr. & Mrs. Font 🥰 11.22.19,” Maddie captioned the photos.
Maddie and Jonah met during her sophomore year of high school and have been going strong ever since!
Congratulations to Maddie and Jonah!


A command-line interface to 'GGobi', an interactive and dynamic graphics package. 'Rggobi' complements the graphical user interface of 'GGobi' providing a way to fluidly transition between analysis and exploration, as well as automating common tasks.
| Version: | 2.1.22 |
| Depends: | R (≥ 2.5.1) |
| Imports: | RGtk2, utils |
| Suggests: | reshape, nlme |
| Published: | 2018-07-07 |
| Author: | Duncan Temple Lang, Debby Swayne, Hadley Wickham, Michael Lawrence |
| Maintainer: | Hadley Wickham <h.wickham at gmail.com> |
| BugReports: | https://github.com/ggobi/rggobi/issues |
| License: | BSD_3_clause + file LICENSE |
| URL: | https://github.com/ggobi/rggobi, http://www.ggobi.org/rggobi |
| NeedsCompilation: | yes |
| SystemRequirements: | GGobi |
| Materials: | README NEWS ChangeLog |
| In views: | Graphics, Multivariate |
| CRAN checks: | rggobi results |
| Reference manual: | rggobi.pdf |
| Package source: | rggobi_2.1.22.tar.gz |
| Windows binaries: | r-devel: rggobi_2.1.22.zip, r-release: rggobi_2.1.22.zip, r-oldrel: rggobi_2.1.22.zip |
| OS X binaries: | r-release: not available, r-oldrel: not available |
| Old sources: | rggobi archive |
| Reverse depends: | clusterfly, PKgraph |
| Reverse imports: | beadarrayMSV, SeqGrapheR |
| Reverse suggests: | classifly, idendr0, rattle, RGraphics, ripa, tourrGui |
Please use the canonical form https://CRAN.R-project.org/package=rggobi to link to this page.