text:
Metal Gaia
What is Metal Gaia?
Folk Metal/Folk Music
Old School Metal and Classic Rock
Orchestral and Soundtrack
Pirate Metal
Symphonic/Power Metal
World Fushion
Graeco-Roman
Monotheistic
Satanism/Black Magic
Gender Queer, Trans, Homosexual
Ancient Egyptian Women – Marriage, Sexuality and Goddesses
Article contains some nudity and sexual imagery…you know, the fun stuff.
Do not control your wife in her house,
When you know she is efficient;
Don't say to her: "Where is it? Get it!"
When she has put it in the right place.
Let your eye observe in silence,
Then you recognize her skill:
It is joy when your hand is with her,
There are many who don't know this.
~ Advice from the Scribe named "Ani" in New Kingdom Egypt
Would you believe me if I told you that more than a thousand years ago, women in Ancient Egypt enjoyed many of the same rights that women in our current society enjoy today? A woman could own and sell private property, resolve legal settlements, write a contract, initiate a divorce, file lawsuits, have a profession and inherit property (of course these rights also depended on the woman's social class). I wouldn't say that Ancient Egyptian women had complete parity to men before the law. Yet they did have many rights that were out of reach for women in neighboring Greece or Rome.
This article will examine what it was like to be a woman in Ancient Egyptian society and the different rights and responsibilities that they had. Most women performed domestic tasks in the home. However, there were female midwives, priestesses, weavers, dancers, musicians and even professional mourners. (Hiring complete strangers to act sad at your relative's funeral was pretty normal in Ancient Egypt). Also, even though most of the positions of authority were occupied by men, there were a few female pharaohs, such as Cleopatra, Nefertiti and Hatshepsut. It also wasn't uncommon for a woman to serve as a regent (temporary ruler) when her husband died, until her son was old enough to take over. It was preferred for a woman with the right bloodline to be in power temporarily, than a man with the wrong bloodline.
In Egyptian Mythology, there is also a strong association with Goddesses as protectors. For example, when a body was mummified, the organs were placed into four different jars. Each jar was represented by one of the son's of Horus, and each of these sons were protected by a different Goddess. If you're curious about these jars, you can read more about the son's of Horus here and their corresponding Goddesses.
The most obvious example to start with is Isis. Her name literally means "throne." She is the symbol of the Pharaoh's power. Isis was worshiped as the ideal mother and wife, as well as the patroness of nature and magic. She was the friend of slaves and the downtrodden, but also listened to the prayers of the wealthy. In addition to that, she was the protector of the dead and the Goddess of children. Her birth is significant because she was the first daughter of Geb (Father of the Earth) and Nut (Mother of the Sky).
She married her brother Osiris, who was the first son of Geb and Nut. Osiris was the God of the afterlife, vegetation and beer. He was a merciful God of the dead. Osiris's brother Set grew jealous of his power, cut him into pieces, and scattered the pieces around the land. It was up to Isis to use her restorative magic to find the pieces of Osiris and piece him back together again.
Perhaps this story can serve as a powerful metaphor about love and marriage. At times when you're falling to pieces, it is up to your significant other to help put you together again. There is also a powerful metaphor in this story about redemption, rebirth and eternal life.
At first, only the pharaoh was associated with the God Osiris in death. Yet eventually, most of the common people in Egypt were allowed to associate themselves with Osiris in death. Osiris and Isis were very popular among the common people of Egypt, because they offered the people a connection to eternal life.
CONNECTIONS BETWEEN ISIS/OSIRIS CULT AND CHRISTIANITY?
There are some theories that the early Christians were influenced by the themes of redemption and eternal life present in the Osiris and Isis myth. Pictures of Isis sucking her son Horus were common in the Roman Empire at the time of Christianity. For example, murals of Isis suckling her son Horus were popular in the Roman empire before the characteristic picture of the Virgin Mary nursing Jesus arose in prominence. Perhaps the former inspired the latter.
The Original Trinity, Brought to You By Egypt (Metal-Gaia)
A MURAL IN THE ROMAN ERA OF ISIS AND HORUS
THE "REGINA CAELI LAETARE"
OTHER POPULAR EGYPTIAN GODDESSES
Bastet: A feline Goddess. The daughter of the sun God Ra. She was worshiped for her protective and maternal nature.
Hathor: A cow Goddess associated with dancing, music and love. She was also known as the "Lady of Heaven." She protected women during pregnancy, was worshiped as a Goddess of fertility, and was seen as wise and affectionate towards both the living and the dead.
Sekhmet: The lion headed Goddess of war, fire, hunting, wild animals and vengeance. She was called "The Powerful One." She helped kings defeat their opponents. She was also associated with both disease and health.
Maat: The Goddess of truth, morality, justice, order and harmony. She represented the natural order of the universe. She was typically depicted with an ostrich feather on her head. The weighing of the heart ceremony that took place in the afterlife, which determined whether you were allowed to have eternal life, took place in the Hall of Maat. In Egypt there were 42 laws of Maat that one had to follow in order to enter the afterlife. These were a series of negative confessions, a list of "I didn't do ____." Law # 34 interests me because it relates to taking care of the environment: "I have not polluted the water." Also, another interesting thing to note is that the laws of Maat don't say much about sexuality, aside from mentioning adultery. This is probably because the Egyptians had a very mature culture when it came to sexuality, which we will discuss more below. A majority of these laws actually relate to emotional control, which is important for living a healthy and virtuous life.
If you are curious about the 42 Laws of Maat, you can click this link to read a Metal Gaia article on the subject.
MARRIAGE, FERTILITY AND SEXUALITY
Nefertiti Statue, Source
…Revel in pleasure while your life endures
And deck your head with myrrh. Be richly clad
In white and perfumed linen; like the gods
Anointed be; and never weary grow
In eager quest of what your heart desires –
Do as it prompts you…
~ Lay of the Harpist
The Egyptians had a very natural view towards sexuality and the human body that was untainted by guilt. Walking around naked for example was not the taboo that it is today. Though I'm guessing part of this attitude was due to how unbelievable hot Egypt can be. The average temperature of an Egyptian summer is 120 degrees farenheit (48 degrees celsius). Children tended to walk around naked until puberty (about 12 years of age). Women of a lower social status walked around topless and wealthier women wore loose clothing that was sometimes transparent. Female entertainers frequently performed naked.
Egyptians lived in a Sex Positive culture. They did not have the same guilty associations with sex that those of us in the modern world have today. Before marriage, it was not wrong for a woman to take a sexual lover. Knowledge of contraceptives was also commonplace in Ancient Egypt, which probably explains why premarital sex and prostitution weren't a big deal.
There is also evidence that homosexual sex wasn't a big deal either. More information on Homosexuality in Ancient Egypt on Metal Gaia
A popular image of prostitution today is a woman sticking out a stilettoed heel and a fishnet clad leg to interest her prospective customers. Ancient Egyptian prostitutes did something similar, they advertised themselves in a blue faience beaded fish-net dress, painted their lips red and tattooed themselves on the breast and thighs. However, the modern idea of prostitute and the Ancient Egyptian one are very different. In the modern world, we typically have a negative association with prostitutes, even if they are high class "escorts" that make thousands an hour sleeping with the wealthiest CEO's.
An outfit that may have been worn by sex workers. Source for picture
The reason why the modern idea of prostitution can't compare with Ancient Egyptian sex workers, is because their profession wasn't tainted by guilt. Many sex workers were associated with Goddesses of fertility and were regarded with respect. Also, it is not certain that all prostitutes slept with people for money. Some were temple prostitutes who had a connection to the divine. Others were entertainers who would dance, play music and perform sexual acts all in one.
There are some theories that men slept with prostitutes before marriage, in order to learn how to please their wives, and that young girls engaged in prostitute related acts, in order to learn about sexuality in marriage. However, these are just theories and we don't have any real proof for these ideas.
Take a wife while you are young,
that she may make a son for you
while you are youthful.
~ The Egyptian Scribe Ani
A woman generally could get married at any age, and typically married after she started her period around the age of 14 or 15. Men got married when they were around 17 or 20. This may seem very young to the modern person, however we must remember that lifespans were shorter in Ancient Egypt. Documents written in the Ptolemaic Period reveal that the average life expectancy was 58 for women and 54 for men (tour egypt). This doesn't seem too bad, but we must remember that in the modern developed world, the average person lives to be about 70 or 80, which naturally drags the average age of marriage up to mid 20's or early 30's.
Consent from the parents was also needed to get married. This was especially important in the upper classes, since marriage determined the division of property and social status. However, as religious and ceremonial as Egyptian society was, what is surprising to note is that there was no ceremony for marriage: no special dress, no exchange of rings and no exchange of vows. It was a fairly simple affair where the wife moved into the house of her husband. He would either be living alone or with his parents.
While this doesn't sound very romantic, there is much literature and poetry that suggests that the ideal marriage was filled with affection, love and tenderness.
However, one thing that made the Egyptians much smarter than those of us today, is that they usually drafted up a contract before the marriage about how property would be distributed, and what would happen in the event of divorce. That's right, they had a prenup power up! This was more relevant to people in the upper classes, who had more property and land to fight over.
A Marriage Contract from 219 BC
"The Blemmyann, born in Egypt, son of Horpais,
whose mother is Wenis, has said to the woman
Tais, daughter of the Khahor, whose mother is
Tairerdjeret: I have made you a married woman.
As your womans portion, I give you two pieces of
silver. If I dismiss you as wife and dislike you and
prefer another woman to you as wife, I will give you
two pieces of silver in addition to the two pieces of
silver mentioned above and I will give you one third
of each and everything that will accrue to you and me."
Divorce: Divorce was not hard to get. Both a man or a woman could initiate a divorce and write up the divorce contract. Men divorced their wives if they were incapable of baring children – or baring a son. He may also divorce his wife if she stopped pleasing him. A woman could divorce her husband for mental and physical cruelty. In some cases, if a woman initiated divorce, she forfeited her right to communal property. Also, as you can see from the statement above, women got spousal support in the case of a divorce, which was about 1/3 of her ex-husband's earnings.
However, there were other options if the parents were childless: adoption and polygamy were two. Sometimes men had concubines, and these women did not have the same rights as their wives. However, polygamy was uncommon for most people. It was mainly practiced by the pharaoh so that he could display his virility and sire several children.
Incest: One taboo topic that comes up when talking about Ancient Egypt is that of incest. Incest is another one of those things that was allowed for the Pharaoh, in order to keep the royal bloodline in place, but not commonly practiced among most people.
Adultery: Now, throughout most of this article I've waxed on about the sexual openness of Ancient Egyptian society and women's freedoms. However, adultery was a completely different affair (get it…affair…it's a pun! okay sorry). While sex before marriage wasn't a big deal, an extra-marital affair was completely off the table. The bond of trust and fidelity in marriage and family were highly valued by the Ancient Egyptian people, so valued in fact the worst punishment for a woman was death. This was described in the Egyptian Tale of Two Brothers. For a man, on the other hand, the worst thing that could happen to him is that he would be forced into a divorce.
"Come down, placenta, come down! I am Horus who conjures in order that she who is giving birth becomes better than she was, as if she was already delivered. Look, Hathor will lay her hand on her with an amulet of health! I am Horus who saves her!" ~ A Spell for a Healthy Delivery
Fertility was a big deal in Egypt because the child mortality rate was so high. In some Egyptian cemeteries, a third of all the buried were infants. However, this statistic depends on which region of Egypt we are talking about. It's hard to say exactly why the infant mortality rate was so high, but some historians believe it was due to the common occurrence of infection and the Egyptian diet. Their diet was high in cereal grains and deficient in Iron. Even the wealthy did not eat meat everyday. Many Egyptians used amulets, spells and the protection of the Gods to try and protect their children from death.
However, despite the large infant mortality rate, Egyptians still had large families and showered their children with much affection. It is theorized that the average mother raised 4-6 children. Some families even managed to raise 10-15! Both a woman's femininity and a man's masculinity were judged by how many children they could create.
In addition to being obsessed with fertility, Egyptians were also obsessed with life after death. We obviously know this since Egyptian tombs are the richest sources of Ancient Egyptian culture. Children were necessary to perform burial rites for the parents. Which was another incentive for rearing a large brood of children, this increased the likelihood that at least one child would survive long enough to perform a parent's burial rites.
There's obviously much more that I could say about this topic, but I'm trying to write an article here about the basics, not a book. One of the great things about Ancient Egypt, is that much of their culture was written down. Unlike many other Pagan societies in the ancient world, the artifacts of their society remained intact. Part of this is because they had some of the most comprehensive burial practices out of any culture in the world. In the tombs of the pharaohs, they recorded the events of his/her life and buried the pharaoh with all the items they used in their day to day life so that they could use these items in the afterlife.
Thanks to these methods of preservation, we have a window into ancient values that Abrahamic Religions tried to erase from the ledger of time. We see a culture that had healthy ideas about gender, the human body and sexuality. We see a culture that valued women as protectors and mothers, and respected them enough to give them legal rights.
As we become a culture more open about sexuality, there is certainly much we could learn from the Ancient people who lived on the Nile. And the great news is that most of it is written down and available to read! So do some internet searches, watch a few documentaries and read some books! Get informed!
This entry was posted on November 11, 2013 by Metalgaia. It was filed under Egyptian, Gender, Women and was tagged with Ancient, egyptian, fertility, gender, kemet, sexuality, women.
excellent and highly informative article. well researched, written and illustrated. You're good Ms Jessica!
Metalgaia
A great summary of information in one place; thanks.
Blau Stern Schwarz Schlonge
Jessica – i finally have a name to refer to you besides Metal Gaia! Yes, well written and i learned some things here, even though i suck up Egyptian history like wine. Hail to ISIS, the Mother of All Goddesses of the Mediterranean and up into Europe in Hermeticism and Western Magick!
Yes, now you know my secret, lol. I think the other reason Ancient Egypt is interesting, because it was one of the main cultures that got people interested in Paganism and the Occult around the end of the 19th century – especially in terms of aleister crowley and all that. I guess it's because they have a very well preserved pre-christian culture. I think it's also because magic was a big part of life in Ancient Egypt, whereas other cultures tended to see magic as something subversive.
Yes the worship of ISIS in Hermeticism filtered into Masonry and many other esoteric and occult groups, including Thelema, and i love the Egyptian style rituals Crowley wrote. I have never felt much attraction to Greek or Roman religions, though we know so little of the Real mystery religions they practiced, only the state sponsored versions. I have always been attracted to the Egyptian gods and goddesses. In the witchcraft i was taught Astarte is a main Goddess, and she to me is the same as Ishtar and ISIS so i can feel the old connection.
Wonderful article!
Can I ask, where did you get the quotes beneath some of the sections, including the Lay of the Harpist? I've been looking into reading similar prose, and I can never find a concise place to start.
Thanks. I just did an internet search.
Reblogged this on Xoheidisays's Blog.
Pingback: songsterr born of osiris | pxlnet
Proffesional mourners was common in nordic tradition ás late as 20th Century, especially in Karelen.
http://nordicwomensliterature.net/article/sorrow-and-bitterness
The female illuminati and their contribution to history being questioned:
More from Tsarion regarding the female societies.
NEW Michael Tsarion Female Illuminati Interview – Truth Warrior May 2015
Look especially at 1:34:00-1:37:00
And 1:53:30-1:56:30
You only have to look so far….
http://vigilantcitizen.com/pics-of-the-month/symbolic-pics-of-the-month-0615/
Pingback: Ancient Spartan Women | Metal Gaia
Pingback: Ancient Egyptian Baby Clothing | disencumber
Key Reading
Mankind's #1 Priority Today – Stop Destroying The Planet Before We Destroy Ourselves
The 42 Laws of Ma'at (Egyptian Virtues)
The Original Trinity, Brought to You By Egypt
Ancient Spartan Women - The Backbone of the Warrior State
African Gods and Goddesses Re-envisioned With Photography
Ancient Celtic Women
Azerbaijan Military Releases Bizarre Heavy Metal Song Amid Clash With Armenia
New Dune Trailer!
Doom Eternal – Most Metal Game of 2020
Goatwhore – To Mourn And Forever Wander Through Forgotten Doorways
Samsara Poem
Top Bands/Songs for the Week
Bathory – The Lake
Celtefog – The Rain Is Coming From The North
Cemican – "Mixteco" (Aztec Metal!)
Huntress – Harsh Times on Planet Stoked
Within the Ruins – Enigma – And Surprise Inspector Gadget and Mario Riffs?
Warrior Women
Ancient Norse Women
Ancient Spartan Women
Female Metal and Hard Rock
Kurdish Women Warriors
Women Warriors in Folklore
Primeval Sexuality
Revolution of the Goddess
The Goddess and Nature
Nature's Brutal Primeval Laws
Brutal Visions of the Primeval Past
Human Sacrifice in the Ancient World
Social Law vs. Natural Law: Wake up, you're in the jungle baby
The Sanctity of Death
Popular Articles on Paganism
"Na Moey Zemle" A Folk Metal Journey Across Pagan Lands
Does The Male Deity Get Enough Attention In Modern Paganism
Historically Did Paganism Really Lose to Christianity?
Is Paganism the Fastest Growing Religion in the United States?
Paganism and Racism
The Evolution of Religion and Spirituality From Ancient Times to Today
Why Wicca and Celtic Paganism Are Different Things
Guides for Artists
Technology Guide for Artists
The Power to Create
The Rebirth of the Spirit
Art Sites
Dark Books
Footprints of Shiva
Howard David Johnson's Realistic Mythology Art
Pagan Merch
Dryad Design
Goddess Gift
Jelling Dragon
Kult of Athena
North World International
Metal Media
Dark Art Conspiracy
Songsterr
Underground Web World
YouMetal
Celtic Myth Podcast Show
Celtic Myths Legends and Folk Lore
Hurstwic: A Viking Age Living Society
Norse Myths
Northern Runes Radio
Odin: European Ancestral Religion
Temple of Our Heathen Gods
The Mabinogion
The Prose Edda
Viking Society Web Publications
Asatru Warriors
Celtic Lore and Mythology
Celtic Paganism
Hindu Human Rights
Homesteading Self Sufficiency and Survival
Native American Spirituality and Thoughts
Natural Music
Serpent Stone
We Are The Gods
Druid Life
Gaia Imperium
Isis Imperium
Norse Art
Downloading Brunch
H. R. Giger Art in Motion
How to Cosplay a Borg Without Going Broke
How to Cosplay a Quarian Without Going Broke
Music and Sci-Fi Facebook
New Behemoth Video "Messe Noire", H. R. Giger Tribute, Includes Sharon of Toxic Vision


text:
18 April 2021 - OPENING OF THE BRITISH MUSEUM'S DOORS
OPENING OF THE BRITISH
MUSEUM'S DOORS
The British Museum was opened to visitors on 15 January, 1759. But not just any visitors.
Fearing damage to the collections by unruly hordes, the trustees decided that nobody would be admitted without a ticket. The problem was that only a few tickets were issued each day and even then a number of obstacles had to be surmounted before prospective visitors could receive their prize.
They had to go to the museum and apply to the porter for a ticket. If approved, they then had to go back on another day to collect it, and then go back again at an appointed time to be allowed in.
All tickets, like the one shown above, issued to a Mr Masefield, were free, but designated for a particular time. Visitors were taken round in groups of five, each group guided by one of the under-librarians. They were taken round the building very quickly to make way for the next party.
The early trustees would no doubt recoil in horror at the sight of today's ticketless crowds wandering at will around the building, disdainfully snapping with 'selfie' phones. But at least there are no longer any servants who might be expecting a tip!
Clancy's comment: Tickets please!
Labels: 1759 - OPENING THE BRITISH MUSEUM'S DOORS, BLOGGER, CLANCY TUCKER, MUSEUMS, UK
6 May 2021 - INTERESTING FACTS ABOUT THE TITANIC
11 May 2021 - ISAAC PITMAN - SHORTHAND INVENTOR
17 May 2021 - STUNNING BALLPOINT PEN ART by ANDREY...
26 May 2021 - TERME DI SATURNIA - HOT SPRINGS IN T...
27 May 2021 - INTERESTING FACTS ABOUT MARK TWAIN
7 May 2021 - ANCIENT GLASS TREASURE SHATTERED BY D...
18 May 2021 - THE BEAUTY of MASTER POTTER WEDGWOOD
8 May 2021 - FIRST PHOTOGRAPH OF A HUMAN
19 May 2021 - THE FIRST MOVING IMAGES
31 May 2021 - HYPER-REALISTIC ART by EMANUELE DASC...
30 May 2021 - THE TEMPLE of APOLLO
29 May 2021 - FACTS ABOUT ABRAHAM LINCOLN
20 May 2021 - SOME FACTS ABOUT THEODORE ROOSEVELT
9 May 2021 - DESTRUCTION OF ANCIENT DRESDEN in 1945
15 May 2021 - THOMAS EDISON – INVENTOR EXTRAORDINAIRE
12 May 2021 - PAUL LUNG'S HYPER-REALISTIC ART
13 May 2021 - NAT KING COLE'S STRUGGLE WITH RACISM
21 May 2021 - TCHOGHA ZANBIL PALACE AND TEMPLE, IRAN
22 May 2021 - JFK'S CASKET BURIED AT SEA
14 May 2021 - JFK'S FAMOUS CALL FOR FREEDOM
23 May 2021 - BIRTH OF THE QWERTY TYPEWRITER
24 May 2021 - KING TUT'S REVENGE
28 May 2021 - Tutankhamun's Burial Chamber Found
1 June 2021 - AMAZING MINIATURE TREEHOUSES by DAVE...
18 April 2021 - OPENING OF THE BRITISH MUSEUM'S D...
4 June 2021 - STREET PHOTOGRAPHER LEAVES WONDERFUL...
20 June 2021 - STREET PHOTOGRAPHER'S CANDID SHOTS
10 June 2021 - BRILLIANT LIFELIKE ART FROM ARTIST ...
13 June 2021 - MICHAEL GRABB'S PERFECTLY BALANCED ART
24 June 2021 - STUNNING SUPER MOON OF 2020
5 June 2021 - ANCIENT TERRACOTTA ARMY FOUND
14 June 2021 - EXECUTION OF LINCOLN'S ASSASSINS
2 June 2021 - THE BLUE CITY OF CHEFCHAOUEN, MOROCCO
21 June 2021 - THE SEVEN SISTERS, ENGLAND
30 June 2021 - IRAKLI NADAR'S HYPER-REALISTIC ART
11 June 2021 - THE ENCHANTING SHILIN STONE FOREST
3 June 2021 - ISE JINGU - SHINTO SHRINES, JAPAN
25 June 2021 - THE SLEEPY VILLAGE OF GIMMELWALD, S...
6 June 2021 - COVID 19 OBJECTS MADE INTO ART

redpajama_set_name: RedPajamaCommonCrawl


text:
/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.camunda.bpm.engine.impl.pvm.process;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.camunda.bpm.engine.delegate.ExecutionListener;
import org.camunda.bpm.engine.impl.core.model.CoreActivity;
import org.camunda.bpm.engine.impl.pvm.PvmException;
import org.camunda.bpm.engine.impl.pvm.PvmScope;

/**
 * @author Tom Baeyens
 * @author Daniel Meyer
 */
public abstract class ScopeImpl extends CoreActivity implements PvmScope {

  private static final long serialVersionUID = 1L;

  protected List<ActivityImpl> activities = new ArrayList<ActivityImpl>();
  protected Map<String, ActivityImpl> namedActivities = new HashMap<String, ActivityImpl>();

  protected ProcessDefinitionImpl processDefinition;

  public ScopeImpl(String id, ProcessDefinitionImpl processDefinition) {
    super(id);
    this.processDefinition = processDefinition;
  }

  public ActivityImpl findActivity(String activityId) {
    return (ActivityImpl) super.findActivity(activityId);
  }

  /** searches for the activity locally */
  public ActivityImpl getChildActivity(String activityId) {
    return namedActivities.get(activityId);
  }

  public ActivityImpl createActivity(String activityId) {
    ActivityImpl activity = new ActivityImpl(activityId, processDefinition);
    if (activityId!=null) {
      if (processDefinition.findActivity(activityId) != null) {
        throw new PvmException("duplicate activity id '" + activityId + "'");
      }
      namedActivities.put(activityId, activity);
    }
    activity.setParent(this);
    activities.add(activity);
    return  activity;
  }

  public boolean contains(ActivityImpl activity) {
    if (namedActivities.containsKey(activity.getId())) {
      return true;
    }
    for (ActivityImpl nestedActivity : activities) {
      if (nestedActivity.contains(activity)) {
        return true;
      }
    }
    return false;
  }

  // event listeners //////////////////////////////////////////////////////////

  @SuppressWarnings("unchecked")
  @Deprecated
  public List<ExecutionListener> getExecutionListeners(String eventName) {
    return (List) super.getListeners(eventName);
  }

  @Deprecated
  public void addExecutionListener(String eventName, ExecutionListener executionListener) {
    super.addListener(eventName, executionListener);
  }

  @Deprecated
  public void addExecutionListener(String eventName, ExecutionListener executionListener, int index) {
    super.addListener(eventName, executionListener, index);
  }

  @SuppressWarnings({ "rawtypes", "unchecked" })
  @Deprecated
  public Map<String, List<ExecutionListener>> getExecutionListeners() {
    return (Map) super.getListeners();
  }

  // getters and setters //////////////////////////////////////////////////////

  public List<ActivityImpl> getActivities() {
    return activities;
  }

  public ProcessDefinitionImpl getProcessDefinition() {
    return processDefinition;
  }

  public abstract ScopeImpl getParent();

  public abstract ScopeImpl getParentScope();

  public abstract boolean isScope();

}

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE html>

    <link rel="stylesheet" type="text/css" href="stylesheets/blog-stylesheet.css">

      Home
      Blog
      Projects
      Profile

The Blog!

DevBootcamp 2014

Blog Title

Posted: Month, Day, Year

Blog text here

Search Box Here

Additional Content Here


text:
Storyland Amusement Park
One of a small chain of nursery-rhyme theme parks
by Doyle January 30, 2023
Jim Salle's Record Shop
Once inside, my mother discreetly let me know that the man behind the counter was Mr. Salle, the same gentleman who had sold her the hit records that she had listened to as a swinging teen.
by Donnie T. January 29, 2023 January 29, 2023
Why Do Dogs Tilt Their Heads?
Sometimes dogs look at their owners attentively while tilting their heads and appear to absorb every word.
by Doyle January 29, 2023 January 29, 2023
My Favorite Albums – U.K. – U.K.
Progressive Rock Supergroup
1000 Days in a Row!
At least one post a day.
A British Romantic poet and satirist whose poetry and personality captured the imagination of Europe.
It is sometimes claimed to be one of the "most haunted places in the world"
The best estimate of Mansa Musa's wealth puts his riches at an absurd $400 billion.
David Crosby Dies
A founding member of two popular and enormously influential '60s rock groups.


text:
Auckland hospital projects delayed by fire concerns
29 Nov, 2021 08:09 PM 6 minutes to read
Photo / Supplied
By Phil Pennington of RNZ
Vital hospital building projects in Auckland are being delayed for months by questions over fire designs - and especially the safe evacuation of smoke-filled rooms.
Stroke, rehabilitation and baby care units are all affected as well as a catheter lab and renal dialysis project.
Fire engineers have lacked clear design rules and guidelines for hospitals and care homes for years, and now Auckland Council, and Fire and Emergency (FENZ) are increasingly questioning the engineers' designs, causing delays to building consents.
Auckland engineer Simon Weaver said "building consents take quite a long time to process as it is. And then you can have a hospital job that might be in building consent for a year, while various experts argue different points of view".
'Ignored for such a long time'
Council lead fire engineer Ed Claridge told an industry webinar the extra questioning is justified.
"We haven't got people modelling realistic fires in a building with realistic performance," he said.
"We've got a foundation in this country of a problem and a disconnect with fire engineering designs, that means the evacuation and management of buildings has been practically ignored for such a long time, because it's been left to the evacuation regulations after the building has been built."
Many engineers believe the council and FENZ are going too far, beyond the Building Code in their demands.
The old man, the waka and the sea: 70-year project to build floating class
29 Nov, 2021 07:57 PM Quick Read
Counting the cost: CRL's battle with the pandemic
Sea of red: New Covid variant plays havoc with sharemarket
29 Nov, 2021 04:55 AM Quick Read
Auckland's light rail project poised to take a major step
But FENZ rejects that.
At the same webinar, FENZ's lead fire engineer Etienne Hermouet cited three recent smouldering fires in care homes - two in 2019, one last year - too small to set off sprinklers but that exposed residents and staff to smoke inhalation nonetheless.
The threat was real, Hermouet said.
"I have been asked a couple of times how many of those fires that we had, how much of a problem is it?" he told the engineers online.
"I will turn it around and ask you all, if you want to wait until somebody's died in a hospital [fire] before you accept there's a problem.
"I'd like to think that gives you some points to think about in your next design."
'A health sector-wide issue'
The webinar was meant to help fix the problem - but has not.
One engineer commented online: "This webinar has not done a thing to advance the current blockage."
Months on, Auckland region's district health boards have had to set up a group to tackle this, and are asking the Health Ministry for help.
At Counties Manukau DHB's Middlemore Hospital, delays have pushed back their new catheter and dialysis project more than six months, and raised costs.
FENZ had recently raised "fire design expectations to a standard many consider above code. As it stands there are situations whereby you can meet the Building Code but not FENZ requirements", the DHB told RNZ.
"Acquiring building consent in time for upcoming projects is a new risk being recognised by all projects especially around fire engineering design aspects. This is a health sector-wide issue," its committee minutes say.
Fire engineers are also frustrated.
"With the current situation of Covid, it's not good at all that we can't get these consents through and fire is holding them up," Weaver said.
Engineers faced a lack of clear guidelines, but also a lack of real-world data about how evacuations worked, to feed into their designs, he said.
FENZ agreed clear guidance "is currently missing" from the documents that back up the Building Code.
Waitematā DHB put it this way: "We have experienced some uncertainty with receiving a clear direction from... FENZ and Auckland Council on requirements and have requested formal instructions."
FENZ told RNZ it supports the council in requiring changes to designs that are not robust enough.
It was bound, when it had technical "concerns that a design would not keep people safe", to tell councils but the scope of that advice was tightly defined by law and closely followed, manager of fire engineering Simon Davis said in a statement.
Veteran fire engineer Robert Peart did not believe FENZ or the council were going too far.
But he questioned council delays, for instance, over a Special Care Baby Unit design that he reviewed and approved recently.
"I was surprised to hear that several months after, they still hadn't resolved all the fire engineering issues," Peart said.
"I would have hoped I would have been able to resolve some of the issues had I been asked."
But he was not asked.
Some councils were "ignoring" peer reviews generally, and not just of hospital designs, he said.
'Not unreasonable'
The industry must step up, into the rules vacuum left by the Ministry of Business, Innovation and Employment under changes in 2017, by improving engineer training, Peart said.
Fire engineer Daryn Glasgow is doing a peer review at Starship children's hospital, of a fire compliance master-check that he said had taken almost a year longer than expected due to debate about methodologies.
His solution was that engineers check with councils and FENZ earlier, like he does.
"If those conversations had happened earlier, then it would have been resolved earlier, no doubt," Glasgow said.
"So FENZ and council are asking questions of fire engineers to demonstrate, for example, whether they've appropriately incorporated the effect of smoke on staff that are assisting with evacuation of patients in their calculations.
"That is really challenging technically, but it's not unreasonable."
Auckland DHB said there were no safety concerns that prompted the Starship review, rather it was using it to check on what other projects it might do in future.
There is a virtual consensus on the need for specific fire safety design guidance for hospitals and care homes - though this could take many months to develop, and FENZ has warned engineers prescriptive rules would limit design flexibility.
The Health Ministry has not said if it is taking up a FENZ offer to develop this guidance.
Some industry players say it is up to the Ministry of Business, Innovation and Employment, to step in.
The ministry indicated to RNZ it is not in a hurry, saying it had signalled since the 2017 rule change that it would in due course review the C/VM2 fire rules.
"As part of this [we] will consider whether further fire safety guidance specific to hospital designs could be beneficial," it said.
MBIE said it had met Auckland Council to talk about building consent processing options. It remains unclear where that has got to.
Any solution to the delays will carry costs. As one fire engineer told the webinar: "Ultimately the cost [is] levied on hospitals, who aren't made of money. So over-conservatism is indirectly causing injury as well."
- RNZ
'A sad day': Brian Tamaki releases statement after bail application refused
New ZealandUpdated
'Very intense': Experts list steps Govt needs to take to fight Omicron


text:
Sivan Askayo: Life is What Happens While You're Busy Making Other Plans
Resource Magazine September 5, 2012
By Janet Alexander — Photos by Sivan Askayo.
Sitting across from her, here I am, and sure enough, sitting across from me, there she is. But if Sivan Askayo and I were meeting four years ago, neither she nor I would entirely be here at all. "I was physically in a place, but mentally, I was not there; I didn't see what was right in front of me."
In the wake of her abrupt divorce, and living in New York, far from her hometown of Tel Aviv, Israel, Sivan was working as a media supervisor at an ad agency, and was waiting for them to sponsor her Green Card. The same day that her work permit expired, she left for two months to visit friends and travel with her parents. When she came back, her paperwork still had not been processed, so she grabbed a camera and started taking walking tours in the city to pass the time.
This inclination for photography originates from Sivan's childhood. When she was eight years old, her father, a photographer himself, lent her his camera. For Sivan, the expression "seeing is believing," proved all too true. "It just happened; taking pictures brought me back to reality." Sivan's visual curiosity from childhood rapidly grew into the saving grace of her adult sanity. She describes a revelatory experience, "I went home and looked back on my camera and really saw things; the photographs made life real." Revived by a newfound sense of clarity, Sivan enrolled in her first photo class at the International Center of Photography, which, appropriately enough, was called, "Seeing What's In Front of You." Over the course of the five-week program, Sivan recalls how, "it opened me up to the ways that I see things and changed how I look at things." Still in limbo waiting for her work papers, Sivan became a teacher's assistant at ICP. As she further developed her photography interest, GM—her only account—filed for bankruptcy in June 2009, effectively ending her pending sponsorship.
Sivan Askayo
As Sivan tells me now, "The best shots are the unplanned ones." Without a second thought, she saw the end of her job as an opportunity to live out a new life pursuit, combining her love of travel, writing, and photography. Since then, she's forged a highly successful photography career, driven by her wanderlust, insatiable curiosity, and passion for the visual language of image making.
Sivan's most recent photography series is a testament to her free-form approach, as it came unexpectedly. In April 2010, she found herself waiting again—this time, in front of a friend's apartment while visiting Jaffa, Israel—and with camera in hand. It was a quiet, Friday evening when she suddenly heard a woman's voice coming from a window above, and looked up. "A woman was hanging her laundry, which is very common in Israel, but I hadn't seen it since living in America for nine years—seeing it again with fresh eyes made it stand out." Indeed, this was the first time Sivan was traveling with her camera since discovering her new life calling. A sudden breeze blew through to animate the clothing, at which point, Sivan took her own advice: "When in doubt, shoot."
Sivan admits that she quickly forgot about her shots of hanging clothing, until en route back to the United States, her connecting flight out of London was cancelled—as all European air travel was from the infamous Icelandic Eyjafjallajökull volcano eruption. Yet again, she resorted to wandering around city streets. "After carrying the camera all the time, my perspective changed, so my photography changed." Having learned "you never know when the next shot will be," Sivan happened upon a tutu hanging from a wire, and began imagining the potential for a series. Upon returning to her ICP class that fall, her instructor encouraged her to seek out hanging laundry. By January 2011, Sivan had added photographs taken in Barcelona and Madrid to her collection, and wrote a post about her project on the Shpilman Institute of Photography blog. Within a month, Phaidon Press picked up the story and the name, "Intimacy Under the Wire," was created. From both, says Sivan, "The recognition gave my photos legitimacy; I felt like what I was doing was real."
Her laundry is an unusual source of intercultural insight, unique from other more traditional travel photography subjects. Not only the clothing itself, but how it is hung to dry, and what kinds of articles of clothing are put on public display impart an intimate look into the psyche and mores of the cities visited. Sivan hopes to eventually see her unique form of photographic voyeurism exhibited in a gallery show. For her next project, she is traveling to Paris this summer to capture graffiti art. I ask her where exactly she plans to shoot, and without pause she affirms a life lesson learned, "I want to be surprised; when you plan too much you miss opportunities."
If you haven't seen Resource summer issue and Sivan's article about the photo production scene in Tel-Aviv, you can still get it online.
[stumble]
Previous ArticlePhotography Contest - EyeTime 2012 Photo Competition
Next ArticleDan Saelinger: Piecing together the photographic puzzle
Resource Magazine


text:
Home › Ensayos
Aristotle definition of the soul in De anima (2005)
After gaining insight from the previous definitions of the soul given by his predecessors, Aristotle carefully designed his own comprehensive definition of the soul. According to his first intuition, the soul is "the principle of all animal life" (402a). After further exploration, he concludes that it is "the first actuality of a natural body having in it the capacity of life" (412a). In this paper, I will analyze Aristotle's definition of the soul given in De anima by exploring his concepts of potentiality and actuality and his skillfully crafted examples of these terms and their differences. In the process, I will also explain Aristotle's view of the soul as the set of hierarchical capacities and functions that an organism contains, and why it is catalogued as first actuality. Finally, I will elucidate how the interaction between the body and the soul works based on Aristotle's line of reasoning, and provide my overall evaluation of the argument.
Aristotle approaches the intricate puzzle of the soul by establishing three types of substances, or existent things (412a). On the first level, there is matter, a physical manifestation that serves as the foundation for the other substances. Aristotle calls this mere potentiality, as the matter has the latent capacity of becoming alive. The next level is the form, which Aristotle calls first actuality. The final substance is the second actuality, a level at which form and matter engage in collective action to successfully perform a function. Aristotle used the axe as a metaphor in order to elucidate the differences between these two concepts. Potentiality corresponds to having all the materials needed to build an axe. The axe therefore has the potential to gain an identity, but has not done so yet. Moreover, first actuality is analogous to the axe being properly configured and gaining an identity that possesses latent capacities and functions that are waiting to be discovered. Finally, second actuality relates to the axe actually being used to cut. Interestingly, Aristotle finds these concepts in all things, independent of them being alive or not.
The second example used by Aristotle is the eye, a bodily part that is very familiar to all of us. The matter of the eye as an organ lies in its physiological components, the pupil, retina, cones, and cornea, among others. The form of the eye, according to Aristotle's conceptual hierarchy, would be when these components gain an identity and have the dispositional capacity of eyesight. The eye is now constituted appropriately in such a way that it has the capacity of perceiving light and interpreting it into electrical signals. Thirdly, the full actuality would come into play when the eye activates its functions and actually sees, complementing the matter and the form. It is important to note that the first actuality can exist without the second actuality, in the same way that matter could exist without being organized. In other words, the fact that the components of the eye are present does not imply that the eye will gain its identity, and furthermore, if the eye exists as an organ, it does not necessarily have to see. However, it is important to note that Aristotle specifies that this example is only valid "if the eye were an animal" (413b). The existence of the eye is intricately connected to other body parts, and without them its survival is questionable. We can learn from this analogy that the eye does not have a soul because its existence is dependent of the organism, and it lacks independent qualities such as desire and direct nutrition.
Aristotle built on all of these concepts to apply them to his definition of the soul. For him, the body is mere potentiality; it contains all of the functional parts and is potentially alive. In order for the body to be actually alive, it needs the soul, which he considers to be first actuality. This reveals Aristotle's belief that the body is intricately connected with the soul. Moreover, the soul is the body's capacity to engage in activities that are characteristic of living things of its sort. However, for Aristotle's not all organisms activate all of these functions, and thus there are different levels of employing the soul. Based on this pivotal idea, the philosopher proceeds to explain each of the latent capacities that lie in the soul by establishing a hierarchy in which each has the previous capacity as a foundation. As he explains, "some living things posses all [the powers of the soul], others some, others again only one" (414a).
The basic quality of the soul for Aristotle is nutrition, the ability to nourish itself. He argues that because of this quality, there is growth, decay, and reproduction. Aristotle argues that plants only posses this type of capacity. To posses this faculty, it is essential to have a soul as "nothing is nourished unless it possesses life" (416b). The next level is sensation, or perception, of which tactile sensation is essential. Due to this quality, the feeling of pain and pleasure arises. Aristotle catalogues animals as having this capacity. In order for a soul to have sensation, nutrition must be present as well. In other words, if sensation is a characteristic of that soul, its nutritive faculty is implied. The next capacity that can be developed is appetency, which is very closely related to sensation. After the soul is able to feel, there is a surge of desires, some which go along with physical needs, such as thirst and hunger, and other that do not, such as emotions like anger. The next step in the hierarchical ladder is locomotion, which involves movement from place to place as well as rest. Once again, in order to have a capacity, it is essential to possess the previous ones, building upon the hierarchical scheme. For locomotion to be possible, appetency, sensation and nutrition must also be present. The final level is understanding, which Aristotle believes to be the most uncommon. This entails reasoning using thought and intellect. In this category, human beings would presumably be found, even though he could argue that some are led only by imagination and not intellect. Once again, to posses this quality, all of the previous ones must be present. As Aristotle previously argued in Book I, having a mind does not mean you are intelligent. However, to be intelligent, you need a mind (404b).
This hierarchical organization set up by Aristotle leads to further interpretation. Does this mean that there are different degrees of souls, or are they equal? We could answer this question based on Aristotle's concept of actuality and the assumptions upon which his concept of the soul is established. First of all, Aristotle argues that all of which is alive has a soul, and therefore, it possesses at least one of the capacities he describes. Furthermore, if he defines the soul to be of first actuality, which implies that it's a set of not-yet-activated functions, all souls would be equal if they posses this set of functions, even though they may never get to develop all of them. However, this is not the case. Aristotle enumerates different types of souls depending on the functions which the living entity has developed. The first type of psyche, or soul, is the nutritive soul (424a). This is the type of soul which plants contain. This categorization is based on Aristotle's idea that plants don't have perception, because perception involves more than affecting the matter. Even though a heated iron can affect the plant, this does not mean that the plant perceives its touch. As Aristotle points out, "plants have no sensation, although they have one part of soul and are in some degree affected by the things themselves which are tangible" (424a). The next type of soul is the sensitive soul. This is characterized by possessing perception, and belongs to all animals. Finally, Aristotle describes the rational soul, which human beings possess. Unfortunately, he does not expand upon this type of soul in Book II.
Aristotle's definition attempts to solve the enigma of the interaction between body and soul, which he believes his predecessors were unsuccessful at solving. After understanding Aristotle's concept of actualities and the different types of souls, we should be prepared to understand the initial claims made in the second chapter. He describes the soul as an entity by which "we live, perceive, and have understanding" (414a), but it does not exist in the material level. He goes further by arguing that "the soul does not exist without a body and yet is not itself a kind of body" (414a). This clearly exposes the inseparable relation between these two units. The soul is not by itself a body but it belongs to one, and because of this it has to exist within a body. In other words, the soul needs the body in order to survive. Because of his remarks on Book II, Aristotle's understands that the soul is inseparable from the body. This is in direct contradiction to previous Greek thinkers such as Socrates and Plato.
On one hand, Aristotle does not pursue a purely materialist conception of the soul, which some of his predecessors defended, where the soul is exclusively regarded as a physical unit on the same level as the body, and which can thus be explainable using atoms. The materialistic outlook dictates that the functions are dependent on the form. Yet, for Aristotle, the anatomy of the body should not be necessarily a limitation to its functions. For instance, Aristotle does not view emotions or desires as being a direct result of the form, as not all that has nutrition must also have desire. Furthermore, we can interpret that Aristotle believes that as you go further in the hierarchy, the qualities become more and more independent of the form. On the other hand, Aristotle does not follow the dualist conception either, where the soul is conceptualized as temporarily inhabiting the body. Aristotle retains Plato's Theory of Forms, although he believes that he eliminated its impurities.
I consider Aristotle's observations to be very valuable as they show his ability to be astonished at the world around him. The point where I initially differ with him is where he ties all his observations. Initially, I believed that without much argumentation he concludes that the soul is inseparable from the body, which I believe not to be true. However, reviewing Book III enriched my understanding of his theory. Interestingly, Aristotle revisits his concept of separability of the soul by contemplating the possibility that the intellect, being a quality that is not as dependent from the body, might be able to separate from the body, perhaps after death. Aristotle fails to explore this in great detail, but he implies that there might be a universal intellect that is undisturbed by material processes and ties all souls. We might come to understand his perception of the intellect as having some foundation on physical observation, which implies that it did not exist before birth, but which can eventually gain independence from the body. This notion opens up a door to a whole new realm of knowledge as Aristotle's thoughts evolve.
Aristotle carefully evaluated the previously established notions in order to "accept whatever is correct in their views and avoid whatever is mistaken" (403b). Therefore, Aristotle does not aim at proving their theories as erroneous, but at reaching a harmonious and encompassing theory that would explain his clever observations of the world around him. It was also very wise that he chose to first evaluate the theories of his predecessors before rushing and stating his own. In this process, he reached valuable insight, and discovered unexplored paradoxes such as the "Third Man," which he tried to resolve. His theory seems to establish a solid consensus between the previous ones. Aristotle is successful in creating a thought-provoking theory that provides a good contrast to both the dualist and materialism conceptualization, and which served future philosophers to engage in deeper levels of understating of the nature of the soul.
Aristotle. De anima. Trans. R.D. Hicks. Amherst, NY: Prometheus Books, 1999. 9-72.
‹ The science of philosophical inquiries of the mind (2005) up The Recollection Argument in Plato's Phaedo (2005) ›
Santiagosr.com :: Copyright © 2017


Teen Winter Reading Program...there's still time!!
Hey Hey Hey! Just in case you haven't submitted a book review yet, there is still time left for you to participate in the Teen Winter Reading program, "I ♥ Books!". You have until FEBRUARY 14 (that's THIS SATURDAY!!) to submit a book review online or in paper format to be eligible for the prize giveaway. Paper forms are available in the Teen Area or at the Reference Desk.
So ANYTHING YOU HAVE READ since DECEMBER 1 counts!!! Read something for school?? Write a review! Read something for fun?? Write a review! Read a book you can't stand?? Write a review, since there's no requirement that you have to like the book you review!
If you are in grades 6 through 12, and you have read a great book lately and can't wait to tell someone about it, Roselle Teens want to hear about it! During the "I ♥ Books" Teen Winter Reading Program, each time you submit a book review, either online or on paper, it counts as one entry into a drawing for fantastic giveaways, like free books, Barnes & Noble gift cards, candy, and this year's grand prize is a KINDLE FIRE!!! Yes, you could win a KINDLE FIRE!!!


text:
Q: How to create a blank line between lines without using \\ In my tex document I have an ungodly amount of \\ from when I first started writing tex files. (~5000 in total)
Right now I am trying to delete all of them. I want to just have a blank line between two lines when I create a blink line in the unpublished tex file. Right now I have to hit \\ in order to create a blank line between them.
For example:
Right now:
In tex

ABC
DEF

In pdf

ABC
  DEF

When I really want:
In tex

ABC
DEF

In pdf

ABC
DEF

Is there something to put in the preamble to make this happen?
Thanks

A: You could try:
\documentclass{article}
% set space between paragraphs
\setlength{\parskip}{0.5cm}
% set indents for paragraphs
\setlength{\parindent}{0.0mm}
\begin{document}
    ABC

    DEF \vspace{2cm} % use vspace (vertical space) when a different spacing is needed.

    GHI
\end{document}

redpajama_set_name: RedPajamaStackExchange


NOTE: Sorry, readers. I suspect that Keith's been hit by the weather and, so, the comic is delayed.
I'm getting very, very tired of moving snow. While having a small snowblower makes it sooooo much easier, I could stand to go a few weeks without clearing the drive and walkways. Or months.
And that snow blower doesn't help me dig out my mailbox so I can continue to get postal service.
Hope the weather's better where you are, dear reader.
Yup, working 150 km south of Ft. McMurray, and the weather is peachy. +5 to -15 and sunny; any warmer and the ice roads would start melting.
P.S: Happy Chinese New Year! It's the year of the Metal Rabbit!
I live just about an hour north of Indianapolis, we got hit by the storm here too but it wasn't as bad as the one we had five years ago. That one completely shut the city down for a week and only some of the businesses were running on week 2, a couple of days is nothing.
Ever notice how it is "Snow, snow, beautiful snow" and "I'm dreaming of a White Christmas" until Christmas is over. The it's "Damn! I am so sick of this! When is Spring going to come? Come on Spring!"
I'm from a usually really snowy part of Canada... And we are getting nearly nothing this year. What you guys are getting more is what we are getting less, pretty much. I'm not complaining: You get to feel our pain for once!
Biggest problem with where I live is one day it's 60 degrees, the next it's 7 degrees. The hot/cold rollercoaster wears down the body and makes it easy for us to get constantly sick. It's a relief when we do get snow so we can have a couple days off work to rest up.
All the evils of the world can not outwiegh one act of kindness.


Clarissa is a Hygienist in our office. She is bilingual which makes her a great addition to our office. She attended Dental Hygiene at Amarillo College and took on several community charity events. She is a proud member of the ADHA which helps her keep up with the latest technology that is a great benefit to our practice. Clarissa is married and has one daughter. In her free time she enjoys working out, keeping up with her active daughter and spending time with her family.
Stacy excels at making each patient feel comfortable by customizing each visit to their wishes. She is dedicated to pursuing the latest developments and technologies so each patient can achieve their optimal dental health. The Moseley's are a very energetic family combining 5-k runs, outdoor recreation and a myriad of sporting events for their two daughters.
Becca grew up in Perryton, Texas and attended Amarillo School of Hygiene. Becca was president of her class in Hygiene school and continues to bring those leadership skills to our office. She is skilled in the latest technologies and has great computer skills that we utilize in our office. Becca spent six months in our office as a dental assistant before coming to work as a full time hygienist. The skills she learned as an assistant has made her an even more valuable hygienist and made her very well rounded in the dental field. In her spare time she likes to spend time with her family and friends including her husband Skylar and her black lab Zadie.
Brittany grew up in Childress Texas. Brittany attended The Academy of Professional Careers and graduated in 2007 with a certificate in Dental Assisting and radiographs. Brittany has worked in the dental field for seven years. She is married and the mother to five small children. She is a very organized and hard working individual.
Brittany is compassionate and patients love her. In her free time she likes to spend time with her family.
Attended Dental Assisting School in Tucson, Arizona. She has been working in the dental field for 11 years. What Rachel enjoys most about work is helping, and caring for patients. In her spare time after caring for her five children. She enjoys playing board games, cards, and kickball with her family.
Lizet grew up in Perryton, Texas. Lizet has been with our office for several years, coming to us with a financial background. Lizet is a big part of our practice with her knowledge of E4D and Itero. She is also bilingual which is a great asset. Family is very important to Lizet, she loves spending time with them and her friends. Dancing is also something Lizet enjoys doing.
Sandi grew up in Logan, New Mexico, but couldn't get to the great state of Texas fast enough. That is where she started her career in office administration. After spending 11 years in Amarillo, she, her husband, Bryan, and two sons, Kyle and Braiden relocated to Perryton in 1998. Sandi has worked as an administrative assistant for two different oil field companies here in Perryton. She comes to our office with 30+ years administrative experience. In her spare time, she enjoys spending time with her family and spending summers at the lake camping with all of the benefits of air conditioning, running water and indoor plumbing via a fifth wheel camper.


We don't get to say this much, but this was a good week for renters in Sacramento. Despite realtor and landlord campaign contributions and the undue influence they bring, a number of good renters' rights bills have made it through the minefield of the California State Legislature and are now on the Governor's desk. Governor Jerry Brown has 30 days to sign or veto the bills.
Authored by Assemblymember Tom Ammiano (D-San Francisco), AB 1953 plugs a loophole in California law which has allowed successor landlords, especially after foreclosure, to wait months before notifying tenants of an ownership change and where to send rent. AB 1953 passed the Legislature this week and is now in the Governor's hands.
Existing California law in theory requires new owners to notify tenants within 15 days of an ownership change, where to pay rent, and whom to contact for repairs, but does not say what happens when the new owner fails to comply. Under AB 1953, a new owner who delays in notifying a tenant where to pay rent would not be permitted later to evict the tenant for nonpayment of rent that accrued during the period of the owner's noncompliance. By creating a consequence for failing to properly notify tenants of ownership changes, the bill seeks to increase compliance with existing notification requirements and protect tenants from unnecessary confusion and evictions.
Authored by Assemblymember Nancy Skinner (D-Berkeley), this bill is part of the Attorney General's "Homeowner Bill of Rights." The bill would improve state law protections for tenants after their landlord's foreclosure by requiring at least 90-days eviction notice to tenants after foreclosure, protecting specified leases after foreclosure (tracking federal lease rights that are set to expire in 2014), placing the burden of disputing leases on the post-foreclosure owner, and amending "pre-judgment claim" rules to plug a loophole banks and investors have used to evict tenants without ever naming them in eviction proceedings. The bill passed the Legislature this week.
Authored by Senator Ted Lieu (D – Torrance) and sponsored by Coalition for Economic Survival and Western Center on Law and Poverty, this bill would prohibit a landlord from requiring online payment as the exclusive form of rent payment. The bill responds to "online only" rent schemes that are designed to force out long-term, rent-controlled tenants. The bill unanimously passed the Assembly and Senate and is now on the Governor's desk.
Authored by Senator Joe Simitian (D-Palo Alto), SB 1191 would create a statutory duty to disclose notices of default to prospective renters. All too often, landlords conceal from prospective tenants the fact that a notice of default has been filed against the property, the first step in the foreclosure process. Tenants learn of the upcoming foreclosure after they have shelled out money for rent, deposits, and moving costs, and moved into their new home. This bill specifies remedies in the event of nondisclosure by the landlord. Specifically, the bill would provide tenants the option to void lease and sue for damages (twice rent or twice actual damages), or elect to stay in possession and deduct one month's rent. The bill is limited to 1-4 unit buildings. The bill passed the Legislature and is now on the Governor's desk.
To make sure these bills become law, call Governor Brown at (916) 445-2841 and urge him to sign AB 1953, AB 2610, SB 1055, and SB 1191.
Dean Preston is the Executive Director of Tenants Together, California's Statewide Organization for Renters' Rights. For more information about Tenants Together, visit www.TenantsTogether.org.


Szanto 2402 unisex 2400 Series chronograph beige dial black leather strap watch is offered, in a polished solid stainless steel case. This model is made in dimensions of 46mm across and 13mm high. This watch has a fixed bezel and a textured push/pull main crown with function pushers. Szanto 2402 is fitted with a black leather strap. Securing the strap is a pin buckle clasp made in stainless steel.
The dial is beige and it features tasteful sized, Arabic numeral hour markers and grey luminous squelette shaped hands for superior legibility. Szanto 2402 also carries a chronograph, 12/24-hour time and date display window. This model has a mineral crystal for scratch resistance. Driving this fine timepiece is a Japanese made quartz movement. The water resistance stands at 50 meters. This Szanto 2402 watch is brand new in its original packaging and is backed by 1 year limited warranty.


27/04/2008 · At the end of the cup, I was told that I had unlocked Birdo, due to playing in 16 different courses in Time Trial mode, and Toadette, due to playing in 32 different courses in Time Trial mode. That should clear up this problem for you.... 3/08/2015 · Mirror Star Cup Grand Prix in Mario Kart Wii with a 3 star ranking. I will cover all 8 cups on 150cc as well as Mirror mode. On this cup I played as Birdo in the Wild Wing Kart.
Birdo has a female voice in all versions of Mario Tennis. Super Mario Advance - GBA, 2001 Birdo has a female voice in all regional versions of this game, which is a remake of SMB2(USA).... Birdo's appearance in Mario Kart Wii. Birdo appears as a playable character in both Mario Kart: Double Dash!! and Mario Kart Wii . In Mario Kart: Double Dash!! she is Yoshi's default partner, and after unlocking the second wallpaper, Birdo is paired up with Peach.
25/03/2009 · To unlock Birdo, set a record on 16 of the tracks on Time Trials. To unlock BABY Luigi, beat 8, or maybe 16 of the Nintendo ghosts by about 4 seconds.
Birdo's appearance in Mario Kart Wii. Birdo appears as a playable character in both Mario Kart: Double Dash!! and Mario Kart Wii . In Mario Kart: Double Dash!! she is Yoshi's default partner, and after unlocking the second wallpaper, Birdo is paired up with Peach.


text:
WELCOME TO SHENNONG VARIETY MANAGEMENT
Shennong Variety Management Ltd is an Intellectual Property Company (IP) that manages the importation, propagation, evaluation and commercialisation of new fruit varieties throughout the Chinese provinces.
Established in 2006, the company is based in and operates from Kunming City, Yunnan Province, China.The company's objective is to manage and protect IP for domestic and international variety owners in China also to represent Chinese plant breeders in the international market and enable them to acces foreign retailers.
Since the company's inception, Shennong Variety Management Ltd has established trial sites, located in the key horticultural production provinces of China.
Shennong Variety Management Ltd is the representative of Associated International Group of Nurserymen in China. Shennong Variety Management Ltd was accepted as AIGN® (Associated International Group of Nurserymean) Chinese representative, September 2008. Through its shareholders and AIGN® membership, the company has vast experience in the production and protection of intellectual Property.
Shennong was a legendary ruler of China and cultural hero of Chinese mythology who is believed to have lived 5,000 years ago, and taught ancient China the practices of agriculture.
Appropriately, his name means "the Divine Farmer." Considered the father of Chinese agriculture, this legendary emperor taught his people how to cultivate grains as food, so as to avoid killing animals. He is also venerated as the Father of Chinese medicine and is believed to have introduced the technique of acupuncture. Shennong is credited with identifying hundreds of medical herbs by personally testing their properties.
Lew Dagger is an Associate of Shennong Variety Management Ltd and a citizen of New Zealand .
In 2009 he received the prestigious China Friendship Award as part of the recent celebrations for the 60th Anniversary of the founding of the People's Republic of China.
At the ceremony held in the Great Hall of the People, Beijing, Vice Premier Zhang Dejiang presented the Award to 100 'foreign experts' from around the world honoured on this occasion.
The tablet that is part of the Award, is inscribed with the words: "This Certificate of Friendship is awarded in appreciation of your enthusiastic support for China's construction and your friendly co-operation". A gold medal was also presented. Lew received the award for his specialised involvement in the horticulture industry in China.
TRIAL SITES
Shennong Variety Management Ltd has established five trial site locations throughout China, working with, and in association with the following institutes and Chinese companies:
Yunnan Academy of Agricultural Sciences; Yunnan Red Pear Science and Technology Company, Yunnan Province
Northwest Agriculture and Forestry University, Shaanxi Province
Zhengzhou Fruit Research Institute, Henan Province
Shandong Fruit research Institute, Shandong Province
These are all secure sites where the performance and characteristics of each variety is assessed. Shennong Variety Management Ltd has established contractual arrangements with each institute or university.
AIGN
The Associated International Group of Nurseries, or AIGN® as it has come to be known, is a worldwide organization which blends the diverse talents of a number of progressive nurserymen in the major growing areas of the world.
The development of AIGN® came as a result of a comprehensive study of the nurseries in the world's major horticultural regions. In this new age of variety management where marketing programmes, inventory and quality assurance may mean the difference between success and failure of an intellectual property.
AIGN® has positioned itself to be an innovator and leader in this new method of product introductions.
Represented in:
AIGN® – moving the fruit tree industry into the 21st century
To provide information through a continuous exchange of ideas relating to the viability and commercial worth of new and existing fruit varieties and rootstocks. To use this information for the purpose of expediting the testing and introduction of new varities. To work on behalf of all AIGN® members to provide an understanding of local laws and regulations regarding the importation, quarantine, testing and intellectual property protection and enforcement in each territory. To work on behalf of all AIGN®members to ensure the success of each member within its respective territory. To work on behalf of the breeders that we represent to facilitate the best return for their investment.
Email: john@johnmortonltd.co.nz


text:
@implementation UIViewController (WPSKit)

- (void)wps_presentModalViewController:(UIViewController *)viewControllerToPresent completion:(void (^)(void))completion
{
   NSParameterAssert(viewControllerToPresent);

   UIApplication *app = [UIApplication sharedApplication];
   UIView *keyWindow = [app keyWindow];
   CGRect frame = [keyWindow frame];

   UIEdgeInsets insets = UIEdgeInsetsZero;

   UIView *scrim = [[UIView alloc] initWithFrame:[keyWindow bounds]];
   [scrim setTranslatesAutoresizingMaskIntoConstraints:YES];
   [scrim setBackgroundColor:[UIColor blackColor]];
   [scrim setAlpha:0.0f];
   [keyWindow addSubview:scrim];

   BOOL isNavigationController = [viewControllerToPresent isKindOfClass:[UINavigationController class]];
   UIViewController *rootViewController = viewControllerToPresent;
   if (isNavigationController) {
      rootViewController = [(UINavigationController *)viewControllerToPresent topViewController];
   }

   if ([rootViewController isKindOfClass:[WPSModalViewController class]]) {
      WPSModalViewController * vc = (WPSModalViewController *)rootViewController;
      [vc setScrimView:scrim];
      insets = [vc edgeInsets];
   }

   frame = CGRectMake(frame.origin.x + insets.left,
                      frame.origin.y + insets.top,
                      frame.size.width - insets.right - insets.left,
                      frame.size.height - insets.bottom - insets.top);

   UIView *viewToAnimate = [viewControllerToPresent view];

   // Move it off the screen.
   frame.origin.y = -frame.size.height;
   [viewToAnimate setFrame:frame];

   UIView *shadowView = [[UIView alloc] initWithFrame:frame];
   [shadowView setBackgroundColor:[UIColor colorWithWhite:0 alpha:1.0]];
   if ([rootViewController isKindOfClass:[WPSModalViewController class]]) {
      WPSModalViewController * vc = (WPSModalViewController *)rootViewController;
      [vc setShadowView:shadowView];
   }

   [keyWindow addSubview:shadowView];
   [keyWindow addSubview:viewToAnimate];

   UIInterfaceOrientation orientation = [self interfaceOrientation];
   BOOL isLandscape = UIInterfaceOrientationIsLandscape(orientation);

   CGRect statusBarFrame = [app statusBarFrame];
   CGFloat statusBarHeight;
   if (isLandscape) {
      statusBarHeight = statusBarFrame.size.width;
   } else {
      statusBarHeight = statusBarFrame.size.height;
   }

   frame.origin.y = statusBarHeight + insets.top;
   frame.size.height -= statusBarHeight;

   CALayer *layer = [viewToAnimate layer];
   [layer setCornerRadius:10];
   [layer setMasksToBounds:YES];

   CALayer *shadowLayer = [shadowView layer];
   [shadowLayer setCornerRadius:10];
   [shadowLayer setMasksToBounds:NO];
   [shadowLayer setShadowColor:[[UIColor blackColor] CGColor]];
   [shadowLayer setShadowOpacity:0.8f];
   [shadowLayer setShadowRadius:5];
   [shadowLayer setShadowOffset:CGSizeZero];

   [UIView animateWithDuration:0.25f delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
      [viewToAnimate setFrame:frame];
      [shadowView setFrame:frame];
      [scrim setAlpha:0.6f];
   } completion:^(BOOL finished) {

   }];
}

- (void)wps_dismissModalViewControllerWithCompletion:(void (^)(void))completion
{
   UIView *scrim = nil;
   UIView *shadowView = nil;
   if ([self isKindOfClass:[WPSModalViewController class]]) {
      scrim = [(WPSModalViewController *)self scrimView];
      shadowView = [(WPSModalViewController *)self shadowView];
   }

   UIView *viewToAnimate = [self view];
   if ([self parentViewController]) {
      viewToAnimate = [[self parentViewController] view];
   }
   CGRect frame = [viewToAnimate frame];
   frame.origin.y = -frame.size.height;

   [UIView animateWithDuration:0.25f delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
      [viewToAnimate setFrame:frame];
      [shadowView setFrame:frame];
      [scrim setAlpha:0.0];
   } completion:^(BOOL finished) {
      [viewToAnimate removeFromSuperview];
      [shadowView removeFromSuperview];
      [scrim removeFromSuperview];
   }];
}

@end


text:
package org.apache.beam.runners.direct;

import static com.google.common.base.Preconditions.checkState;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.isA;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;

import com.google.common.collect.ImmutableMap;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.beam.runners.direct.DirectRunner.DirectPipelineResult;
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.PipelineResult;
import org.apache.beam.sdk.PipelineResult.State;
import org.apache.beam.sdk.PipelineRunner;
import org.apache.beam.sdk.coders.AtomicCoder;
import org.apache.beam.sdk.coders.Coder;
import org.apache.beam.sdk.coders.CoderException;
import org.apache.beam.sdk.coders.ListCoder;
import org.apache.beam.sdk.coders.VarIntCoder;
import org.apache.beam.sdk.coders.VarLongCoder;
import org.apache.beam.sdk.io.BoundedSource;
import org.apache.beam.sdk.io.CountingSource;
import org.apache.beam.sdk.io.GenerateSequence;
import org.apache.beam.sdk.io.Read;
import org.apache.beam.sdk.options.PipelineOptions;
import org.apache.beam.sdk.options.PipelineOptionsFactory;
import org.apache.beam.sdk.testing.PAssert;
import org.apache.beam.sdk.testing.TestPipeline;
import org.apache.beam.sdk.transforms.Count;
import org.apache.beam.sdk.transforms.Create;
import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.transforms.Flatten;
import org.apache.beam.sdk.transforms.MapElements;
import org.apache.beam.sdk.transforms.ParDo;
import org.apache.beam.sdk.transforms.SerializableFunction;
import org.apache.beam.sdk.transforms.SimpleFunction;
import org.apache.beam.sdk.transforms.display.DisplayData;
import org.apache.beam.sdk.util.CoderUtils;
import org.apache.beam.sdk.util.IllegalMutationException;
import org.apache.beam.sdk.values.KV;
import org.apache.beam.sdk.values.PCollection;
import org.apache.beam.sdk.values.PCollectionList;
import org.apache.beam.sdk.values.TypeDescriptor;
import org.hamcrest.Matchers;
import org.joda.time.Duration;
import org.junit.Rule;
import org.junit.Test;
import org.junit.internal.matchers.ThrowableMessageMatcher;
import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

/** Tests for basic {@link DirectRunner} functionality. */
@RunWith(JUnit4.class)
public class DirectRunnerTest implements Serializable {
  @Rule public transient ExpectedException thrown = ExpectedException.none();

  private Pipeline getPipeline() {
    PipelineOptions opts = PipelineOptionsFactory.create();
    opts.setRunner(DirectRunner.class);

    return Pipeline.create(opts);
  }

  @Test
  public void defaultRunnerLoaded() {
    assertThat(
        DirectRunner.class,
        Matchers.<Class<? extends PipelineRunner>>equalTo(
            PipelineOptionsFactory.create().getRunner()));
  }

  @Test
  public void wordCountShouldSucceed() throws Throwable {
    Pipeline p = getPipeline();

    PCollection<KV<String, Long>> counts =
        p.apply(Create.of("foo", "bar", "foo", "baz", "bar", "foo"))
            .apply(
                MapElements.via(
                    new SimpleFunction<String, String>() {
                      @Override
                      public String apply(String input) {
                        return input;
                      }
                    }))
            .apply(Count.perElement());
    PCollection<String> countStrs =
        counts.apply(
            MapElements.via(
                new SimpleFunction<KV<String, Long>, String>() {
                  @Override
                  public String apply(KV<String, Long> input) {
                    String str = String.format("%s: %s", input.getKey(), input.getValue());
                    return str;
                  }
                }));

    PAssert.that(countStrs).containsInAnyOrder("baz: 1", "bar: 2", "foo: 3");

    DirectPipelineResult result = (DirectPipelineResult) p.run();
    result.waitUntilFinish();
  }

  private static AtomicInteger changed;

  @Test
  public void reusePipelineSucceeds() throws Throwable {
    Pipeline p = getPipeline();

    changed = new AtomicInteger(0);
    PCollection<KV<String, Long>> counts =
        p.apply(Create.of("foo", "bar", "foo", "baz", "bar", "foo"))
            .apply(
                MapElements.via(
                    new SimpleFunction<String, String>() {
                      @Override
                      public String apply(String input) {
                        return input;
                      }
                    }))
            .apply(Count.perElement());
    PCollection<String> countStrs =
        counts.apply(
            MapElements.via(
                new SimpleFunction<KV<String, Long>, String>() {
                  @Override
                  public String apply(KV<String, Long> input) {
                    String str = String.format("%s: %s", input.getKey(), input.getValue());
                    return str;
                  }
                }));

    counts.apply(
        ParDo.of(
            new DoFn<KV<String, Long>, Void>() {
              @ProcessElement
              public void updateChanged(ProcessContext c) {
                changed.getAndIncrement();
              }
            }));

    PAssert.that(countStrs).containsInAnyOrder("baz: 1", "bar: 2", "foo: 3");

    DirectPipelineResult result = (DirectPipelineResult) p.run();
    result.waitUntilFinish();

    DirectPipelineResult otherResult = (DirectPipelineResult) p.run();
    otherResult.waitUntilFinish();

    assertThat("Each element should have been processed twice", changed.get(), equalTo(6));
  }

  @Test
  public void byteArrayCountShouldSucceed() {
    Pipeline p = getPipeline();

    SerializableFunction<Integer, byte[]> getBytes =
        input -> {
          try {
            return CoderUtils.encodeToByteArray(VarIntCoder.of(), input);
          } catch (CoderException e) {
            fail("Unexpected Coder Exception " + e);
            throw new AssertionError("Unreachable");
          }
        };
    TypeDescriptor<byte[]> td = new TypeDescriptor<byte[]>() {};
    PCollection<byte[]> foos =
        p.apply(Create.of(1, 1, 1, 2, 2, 3)).apply(MapElements.into(td).via(getBytes));
    PCollection<byte[]> msync =
        p.apply(Create.of(1, -2, -8, -16)).apply(MapElements.into(td).via(getBytes));
    PCollection<byte[]> bytes = PCollectionList.of(foos).and(msync).apply(Flatten.pCollections());
    PCollection<KV<byte[], Long>> counts = bytes.apply(Count.perElement());
    PCollection<KV<Integer, Long>> countsBackToString =
        counts.apply(
            MapElements.via(
                new SimpleFunction<KV<byte[], Long>, KV<Integer, Long>>() {
                  @Override
                  public KV<Integer, Long> apply(KV<byte[], Long> input) {
                    try {
                      return KV.of(
                          CoderUtils.decodeFromByteArray(VarIntCoder.of(), input.getKey()),
                          input.getValue());
                    } catch (CoderException e) {
                      fail("Unexpected Coder Exception " + e);
                      throw new AssertionError("Unreachable");
                    }
                  }
                }));

    Map<Integer, Long> expected =
        ImmutableMap.<Integer, Long>builder()
            .put(1, 4L)
            .put(2, 2L)
            .put(3, 1L)
            .put(-2, 1L)
            .put(-8, 1L)
            .put(-16, 1L)
            .build();
    PAssert.thatMap(countsBackToString).isEqualTo(expected);
  }

  @Test
  public void splitsInputs() {
    Pipeline p = getPipeline();
    PCollection<Long> longs = p.apply(Read.from(MustSplitSource.of(CountingSource.upTo(3))));

    PAssert.that(longs).containsInAnyOrder(0L, 1L, 2L);
    p.run();
  }

  @Test
  public void cancelShouldStopPipeline() throws Exception {
    PipelineOptions opts = TestPipeline.testingPipelineOptions();
    opts.as(DirectOptions.class).setBlockOnRun(false);
    opts.setRunner(DirectRunner.class);

    final Pipeline p = Pipeline.create(opts);
    p.apply(GenerateSequence.from(0).withRate(1L, Duration.standardSeconds(1)));

    final BlockingQueue<PipelineResult> resultExchange = new ArrayBlockingQueue<>(1);
    Runnable cancelRunnable =
        () -> {
          try {
            resultExchange.take().cancel();
          } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw new IllegalStateException(e);
          } catch (IOException e) {
            throw new IllegalStateException(e);
          }
        };

    Callable<PipelineResult> runPipelineRunnable =
        () -> {
          PipelineResult res = p.run();
          try {
            resultExchange.put(res);
          } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
            throw new IllegalStateException(e);
          }
          return res;
        };

    ExecutorService executor = Executors.newCachedThreadPool();
    Future<?> cancelResult = executor.submit(cancelRunnable);
    Future<PipelineResult> result = executor.submit(runPipelineRunnable);

    cancelResult.get();
    // If cancel doesn't work, this will hang forever
    result.get().waitUntilFinish();
  }

  @Test
  public void testWaitUntilFinishTimeout() throws Exception {
    DirectOptions options = PipelineOptionsFactory.as(DirectOptions.class);
    options.setBlockOnRun(false);
    options.setRunner(DirectRunner.class);
    Pipeline p = Pipeline.create(options);
    p.apply(Create.of(1L))
        .apply(
            ParDo.of(
                new DoFn<Long, Long>() {
                  @ProcessElement
                  public void hang(ProcessContext context) throws InterruptedException {
                    // Hangs "forever"
                    Thread.sleep(Long.MAX_VALUE);
                  }
                }));
    PipelineResult result = p.run();
    // The pipeline should never complete;
    assertThat(result.getState(), is(State.RUNNING));
    // Must time out, otherwise this test will never complete
    result.waitUntilFinish(Duration.millis(1L));
    assertThat(result.getState(), is(State.RUNNING));
  }

  private static final AtomicLong TEARDOWN_CALL = new AtomicLong(-1);

  @Test
  public void tearsDownFnsBeforeFinishing() {
    TEARDOWN_CALL.set(-1);
    final Pipeline pipeline = getPipeline();
    pipeline
        .apply(Create.of("a"))
        .apply(
            ParDo.of(
                new DoFn<String, String>() {
                  @ProcessElement
                  public void onElement(final ProcessContext ctx) {
                    // no-op
                  }

                  @Teardown
                  public void teardown() {
                    // just to not have a fast execution hiding an issue until we have a shutdown callback
                    try {
                      Thread.sleep(1000);
                    } catch (final InterruptedException e) {
                      throw new AssertionError(e);
                    }
                    TEARDOWN_CALL.set(System.nanoTime());
                  }
                }));
    final PipelineResult pipelineResult = pipeline.run();
    pipelineResult.waitUntilFinish();

    final long doneTs = System.nanoTime();
    final long tearDownTs = TEARDOWN_CALL.get();
    assertThat(tearDownTs, greaterThan(0L));
    assertThat(doneTs, greaterThan(tearDownTs));
  }

  @Test
  public void transformDisplayDataExceptionShouldFail() {
    DoFn<Integer, Integer> brokenDoFn =
        new DoFn<Integer, Integer>() {
          @ProcessElement
          public void processElement(ProcessContext c) throws Exception {}

          @Override
          public void populateDisplayData(DisplayData.Builder builder) {
            throw new RuntimeException("oh noes!");
          }
        };

    Pipeline p = getPipeline();
    p.apply(Create.of(1, 2, 3)).apply(ParDo.of(brokenDoFn));

    thrown.expectMessage(brokenDoFn.getClass().getName());
    thrown.expectCause(ThrowableMessageMatcher.hasMessage(is("oh noes!")));
    p.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates an output with a good equals() fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingOutputThenOutputDoFnError() throws Exception {
    Pipeline pipeline = getPipeline();

    pipeline
        .apply(Create.of(42))
        .apply(
            ParDo.of(
                new DoFn<Integer, List<Integer>>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    List<Integer> outputList = Arrays.asList(1, 2, 3, 4);
                    c.output(outputList);
                    outputList.set(0, 37);
                    c.output(outputList);
                  }
                }));

    thrown.expect(IllegalMutationException.class);
    thrown.expectMessage("output");
    thrown.expectMessage("must not be mutated");
    pipeline.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates an output with a good equals() fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingOutputWithEnforcementDisabledSucceeds() throws Exception {
    PipelineOptions options = PipelineOptionsFactory.create();
    options.setRunner(DirectRunner.class);
    options.as(DirectOptions.class).setEnforceImmutability(false);
    Pipeline pipeline = Pipeline.create(options);

    pipeline
        .apply(Create.of(42))
        .apply(
            ParDo.of(
                new DoFn<Integer, List<Integer>>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    List<Integer> outputList = Arrays.asList(1, 2, 3, 4);
                    c.output(outputList);
                    outputList.set(0, 37);
                    c.output(outputList);
                  }
                }));

    pipeline.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates an output with a good equals() fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingOutputThenTerminateDoFnError() throws Exception {
    Pipeline pipeline = getPipeline();

    pipeline
        .apply(Create.of(42))
        .apply(
            ParDo.of(
                new DoFn<Integer, List<Integer>>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    List<Integer> outputList = Arrays.asList(1, 2, 3, 4);
                    c.output(outputList);
                    outputList.set(0, 37);
                  }
                }));

    thrown.expect(IllegalMutationException.class);
    thrown.expectMessage("output");
    thrown.expectMessage("must not be mutated");
    pipeline.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates an output with a bad equals() still fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingOutputCoderDoFnError() throws Exception {
    Pipeline pipeline = getPipeline();

    pipeline
        .apply(Create.of(42))
        .apply(
            ParDo.of(
                new DoFn<Integer, byte[]>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    byte[] outputArray = new byte[] {0x1, 0x2, 0x3};
                    c.output(outputArray);
                    outputArray[0] = 0xa;
                    c.output(outputArray);
                  }
                }));

    thrown.expect(IllegalMutationException.class);
    thrown.expectMessage("output");
    thrown.expectMessage("must not be mutated");
    pipeline.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates its input with a good equals() fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingInputDoFnError() throws Exception {
    Pipeline pipeline = getPipeline();

    pipeline
        .apply(
            Create.of(Arrays.asList(1, 2, 3), Arrays.asList(4, 5, 6))
                .withCoder(ListCoder.of(VarIntCoder.of())))
        .apply(
            ParDo.of(
                new DoFn<List<Integer>, Integer>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    List<Integer> inputList = c.element();
                    inputList.set(0, 37);
                    c.output(12);
                  }
                }));

    thrown.expect(IllegalMutationException.class);
    thrown.expectMessage("Input");
    thrown.expectMessage("must not be mutated");
    pipeline.run();
  }

  /**
   * Tests that a {@link DoFn} that mutates an input with a bad equals() still fails in the {@link
   * DirectRunner}.
   */
  @Test
  public void testMutatingInputCoderDoFnError() throws Exception {
    Pipeline pipeline = getPipeline();

    pipeline
        .apply(Create.of(new byte[] {0x1, 0x2, 0x3}, new byte[] {0x4, 0x5, 0x6}))
        .apply(
            ParDo.of(
                new DoFn<byte[], Integer>() {
                  @ProcessElement
                  public void processElement(ProcessContext c) {
                    byte[] inputArray = c.element();
                    inputArray[0] = 0xa;
                    c.output(13);
                  }
                }));

    thrown.expect(IllegalMutationException.class);
    thrown.expectMessage("Input");
    thrown.expectMessage("must not be mutated");
    pipeline.run();
  }

  @Test
  public void testUnencodableOutputElement() throws Exception {
    Pipeline p = getPipeline();
    PCollection<Long> pcollection =
        p.apply(Create.of((Void) null))
            .apply(
                ParDo.of(
                    new DoFn<Void, Long>() {
                      @ProcessElement
                      public void processElement(ProcessContext c) {
                        c.output(null);
                      }
                    }))
            .setCoder(VarLongCoder.of());
    pcollection.apply(
        ParDo.of(
            new DoFn<Long, Long>() {
              @ProcessElement
              public void unreachable(ProcessContext c) {
                fail("Pipeline should fail to encode a null Long in VarLongCoder");
              }
            }));

    thrown.expectCause(isA(CoderException.class));
    thrown.expectMessage("cannot encode a null Long");
    p.run();
  }

  @Test
  public void testUnencodableOutputFromBoundedRead() throws Exception {
    Pipeline p = getPipeline();
    p.apply(GenerateSequence.from(0).to(10)).setCoder(new LongNoDecodeCoder());

    thrown.expectCause(isA(CoderException.class));
    thrown.expectMessage("Cannot decode a long");
    p.run();
  }

  @Test
  public void testUnencodableOutputFromUnboundedRead() {
    Pipeline p = getPipeline();
    p.apply(GenerateSequence.from(0)).setCoder(new LongNoDecodeCoder());

    thrown.expectCause(isA(CoderException.class));
    thrown.expectMessage("Cannot decode a long");
    p.run();
  }

  private static class LongNoDecodeCoder extends AtomicCoder<Long> {
    @Override
    public void encode(Long value, OutputStream outStream) throws IOException {}

    @Override
    public Long decode(InputStream inStream) throws IOException {
      throw new CoderException("Cannot decode a long");
    }
  }

  private static class MustSplitSource<T> extends BoundedSource<T> {
    public static <T> BoundedSource<T> of(BoundedSource<T> underlying) {
      return new MustSplitSource<>(underlying);
    }

    private final BoundedSource<T> underlying;

    public MustSplitSource(BoundedSource<T> underlying) {
      this.underlying = underlying;
    }

    @Override
    public List<? extends BoundedSource<T>> split(
        long desiredBundleSizeBytes, PipelineOptions options) throws Exception {
      // Must have more than
      checkState(
          desiredBundleSizeBytes < getEstimatedSizeBytes(options),
          "Must split into more than one source");
      return underlying.split(desiredBundleSizeBytes, options);
    }

    @Override
    public long getEstimatedSizeBytes(PipelineOptions options) throws Exception {
      return underlying.getEstimatedSizeBytes(options);
    }

    @Override
    public BoundedReader<T> createReader(PipelineOptions options) throws IOException {
      throw new IllegalStateException(
          "The MustSplitSource cannot create a reader without being split first");
    }

    @Override
    public void validate() {
      underlying.validate();
    }

    @Override
    public Coder<T> getOutputCoder() {
      return underlying.getOutputCoder();
    }
  }
}