text:
What happened to the original Tom Riddle actor?
Coulson gained worldwide attention and popularity for his role in 2002's Harry Potter and the Chamber of Secrets, in which he portrayed a 16-year-old Tom Riddle, even though Coulson was 24 years old at the time. … As of 2010, Coulson resides and works in New York City as an actor and director.
Besides, Who played 11 year old Tom Riddle?
Voldemort is played by Ralph Fiennes, and his 11-year-old incarnation is played by 10-year-old Hero Fiennes-Tiffin, the actor's nephew.
Keeping this in mind, Who was drinking the unicorn blood? A pool of unicorn blood in the Forbidden Forest In 1992, Lord Voldemort used unicorn blood to sustain his life, until he could steal the Philosopher's Stone in order to regain his true body. As he was possessing Quirinus Quirrell and inhabiting his body at the time, Quirrell drank the blood on Voldemort's behalf.
1 How many Voldemort actors were there?
2 How old is Hardin Scott in real life?
3 How old was Tom Riddle in the Half-Blood Prince?
4 Who was Voldemort actor?
5 Who eats the unicorn in Harry Potter?
6 Who was killing the unicorns in Harry Potter?
7 What happens to someone who drinks unicorn blood?
8 Who acted as Voldemort?
9 Did Voldemort get recast?
10 Who played Voldemort as a kid?
11 How old is Hardin Scott in after 1?
12 Are Hardin Scott and Tessa dating in real life?
13 What year was it when Tom Riddle was 16?
14 How did Tom Riddle died in 1943?
15 Did Tom Riddle love his mother?
16 Who played Voldemort in the first Harry Potter?
17 Is Voldemort Bradley Cooper?
18 How does Hermione defeat Devils snare?
19 Who was the hooded figure in the Forbidden Forest?
20 Why does Quirrell crumble?
How many Voldemort actors were there?
Over the course of eight films, five different actors portrayed He Who Must Not Be Named, Lord Voldemort.
How old is Hardin Scott in real life?
How old is Hero Fiennes Tiffin, what's his age? Hero is 23 years old. He was born on November 6, 1997, making his star sign a Scorpio.
How old was Tom Riddle in the Half-Blood Prince?
Dillane joined Fiennes-Tiffin in the Half-Blood Prince as a 16-year-old Riddle, and also reprised his role in the Deathly Hallows.
Who was Voldemort actor?
Ralph Nathaniel Twisleton-Wykeham-Fiennes, known as Ralph Fiennes (pronounced Raif Fines), is the actor who plays Lord Voldemort in the film adaptations of Harry Potter and the Goblet of Fire, Harry Potter and the Order of the Phoenix, and Harry Potter and the Deathly Hallows: Part 1 and Part 2.
Who eats the unicorn in Harry Potter?
A dead unicorn in 1992 in the Forbidden Forest At least two unicorns were slain by Quirinus Quirrell so Lord Voldemort could drink their blood and return to power.
Who was killing the unicorns in Harry Potter?
At least two unicorns were slain by Quirinus Quirrell so Lord Voldemort could drink their blood and return to power. Harry Potter, Draco Malfoy and Fang found the corpse of one of them in the Forbidden Forest.
What happens to someone who drinks unicorn blood?
In the words of centaur Firenze: 'The blood of a unicorn will keep you alive, even if you are an inch from death, but at a terrible price. You have slain something pure and defenceless to save yourself, and you will have but a half life, a cursed life, from the moment the blood touches your lips.
Who acted as Voldemort?
Portrayed by
Richard Bremmer (flashback, film 1) Ian Hart (voice and likeness, film 1) Christian Coulson (teenager, film 2) Hero Fiennes-Tiffin (child, film 6) Frank Dillane (teenager, film 6)
Voiced by Eddie Izzard (The Lego Batman Movie) Liam O'Brien (Lego Dimensions)
In-universe information
Did Voldemort get recast?
1 Richard Bremmer and Ralph Fiennes as Lord Voldemort
Last but not least, we can't forget that even Lord Voldemort was recast at one point. … Considering Voldemort's importance in the story of Harry Potter, it's safe to say that the filmmakers' decision to fill the role with a more seasoned lead actor was the right one.
Who played Voldemort as a kid?
In Harry Potter
Hero Fiennes-Tiffin (born 6 November, 1997) is a British actor cast as the 11-year-old Tom Marvolo Riddle, the younger version of antagonist Lord Voldemort who appears in the sixth instalment of the Harry Potter films, Harry Potter and the Half-Blood Prince.
How old is Hardin Scott in after 1?
Meanwhile, Hardin would be around 20 approaching 21 years old as he's only a few months away from graduating from university. Unlike their character ages, co-stars Hero and Josephine are a few years older than the roles they portray – Hero is 23 years old, while Josephine is 24 at the time of writing.
Are Hardin Scott and Tessa dating in real life?
As disappointing as this may be for many fans of the After franchise – the actors who play Hardin and Tessa are not a real-life couple. Despite their very steamy chemistry on-screen, Josephine has previously shut down the dating rumours, telling Cosmopolitan in 2019 that 'fans will ship anything'.
What year was it when Tom Riddle was 16?
Timeline Notes
Tom says that he placed his "sixteen-year-old self" into the diary (CS17), so he must have done it at some point during 1943 (he turned 16 on December 31, 1942, and turned 17 on December 31, 1943. Myrtle's murder was in June of that year. ]
How did Tom Riddle died in 1943?
Tom's mother died shortly after giving birth to him one December 31, living just long enough to name him Tom Riddle, after his father and Marvolo, after his grandfather….
How did Tom Riddle die and become Voldemort?
Broken by Ron (DH19)
Did Tom Riddle love his mother?
But as late as GOF, Voldemort reminiscences openly to Harry; "My mother, a witch, who lived here in the village, fell in love with him. But he abandoned her when she told him what she was…" "..and she died giving birth to me, leaving me to be raised in a Muggle orphanage…"
Who played Voldemort in the first Harry Potter?
Richard Bremmer is the actor who played Lord Voldemort in the film adaptation of Harry Potter and the Philosopher's Stone. He appears in a flashback scene, which depicts Voldemort creeping in to the Potters' Cottage at Godric's Hollow and killing James and Lily Potter (as well as failing to kill Harry Potter).
Is Voldemort Bradley Cooper?
Bradley Cooper – Voldemort
Bradley Cooper has proven time and again that he has the range to pull off just about any character Hollywood can throw at him. His personal style would bring a little change to old Voldy, but because he looks pretty similar to Ralph Fiennes, it wouldn't be that drastic and jarring.
How does Hermione defeat Devils snare?
In the film adaptation of Harry Potter and the Philosopher's Stone, Hermione and Harry were able to escape the Devil's Snare by simply remaining calm. When Ron began to panic, Hermione saved him by casting Lumos Solem. The Snare also roared in its appearance when exposed to Hermione's spell.
Who was the hooded figure in the Forbidden Forest?
The Forest in Harry Potter and the Philosopher's Stone
Harry and Draco ended up finding the creature, but were also confronted with a mysterious hooded figure. The centaur Firenze saves them from it and explains that the figure is actually Voldemort, who is trying to gain eternal life.
Why does Quirrell crumble?
When the body Voldemort and Quirrell are sharing is horribly burned by contact with Harry, the former flees just in time to save himself, leaving the damaged and enfeebled Quirrell to collapse and die.
What is the best free AVI to MP4 Converter?
Are Fluke multimeters made in China?

redpajama_set_name: RedPajamaCommonCrawl


text:
\subsubsection*{R\'esum\'e}
   Ce rapport pr\'esente Jartege, un outil qui permet la g\'en\'eration
   al\'eatoire de tests unitaires pour des classes Java sp\'ecifi\'ees
   en JML. JML (Java Modeling Language) est un langage de sp\'ecification
   pour Java qui permet d'\'ecrire des invariants pour des classes,
   ainsi que des pr\'e- et des post-conditions pour des op\'erations.
   Comme dans l'outil JML-JUnit, nous utilisons les sp\'ecifications
   JML d'une part pour \'eliminer des cas de test non pertinents,
   et d'autre part comme oracle de test. Jartege g\'en\`ere
   de fa\c con al\'eatoire des cas de test, qui consistent
   en une s\'equence d'appels de constructeurs et de m\'ethodes
   des classes sous test. L'aspect al\'eatoire de l'outil
   peut \^etre param\'etr\'e en associant des poids aux
   classes et aux op\'erations, et en contr\^olant le
   nombre d'instances cr\'e\'ees pour chaque classe sous test.
   L'utilisation pratique de Jartege est illustr\'ee par
   une petite \'etude de cas.

\subsubsection*{Mots-cl\'es}
   Test, test unitaire, g\'en\'eration al\'eatoire de cas de test,
   Java, JML

\subsubsection*{Abstract}
   This report presents Jartege, a tool which allows random
   generation of unit tests for Java classes specified in JML.
   JML (Java Modeling Language) is a specification language
   for Java which allows one to write invariants for classes,
   and pre- and postconditions for operations.
   As in the JML-JUnit tool, we use JML specifications on
   the one hand to eliminate irrelevant test cases, and on
   the other hand as a test oracle.
   Jartege randomly generates test cases, which
   consist of a sequence of constructor and method calls for
   the classes under test.
   The random aspect of the tool can be parameterized by
   associating weights to classes and operations, and by
   controlling the number of instances which are created
   for each class under test.
   The practical use of Jartege is illustrated by a small
   case study.

\subsubsection*{Keywords}
   Testing, unit testing, random generation of test cases, Java, JML

\newpage

\cleardoublepage

\begin{center}
\bf\Large

Jartege: a Tool for Random Generation

of Unit Tests for Java Classes
\end{center}

\begin{center}
Catherine Oriat

LSR-IMAG, Grenoble

email: {\tt Catherine.Oriat@imag.fr}
\end{center}

\section{Introduction}

Main validation technique in software engineering, program testing
aims at ensuring that the program is {\em correct},
i.e. conforms to its specifications.
As the input domain of a program is usually very large or
infinite, exhaustive testing, which consists in testing the program
for all its possible inputs, is in general impossible.
The objective of testing is thus rather to improve
the software quality by finding faults in it.
Testing is an important activity of software
development, whose cost is usually estimated to about 40\% of
the total cost of software development, exceeding the cost
of code writing.

A test campaign for a program requires several steps:
design and development of test sets, execution and results
examination (or {\em oracle}).
Considering the cost of testing,
it is interesting to automate some of these steps.

For Java programs, the JUnit framework \cite{JUnit,BG98} allows
the developer to write an oracle for each test case,
and to automatically execute test sets.
JUnit in particular permits to automatically regression
test several test sets.

If a formal specification is available, it can be translated into
assertions which can be checked at runtime, and thus serve
as a test oracle. For instance, the DAISTS system \cite{GMH81}
compiles algebraic axioms of an abstract data type into consistency checks;
Rosenblum's APP pre-processor allows the programmer to write assertions for
C programs \cite{Ros92}; the Eiffel {\em design and contract} approach
integrates assertions in the programming language \cite{Mey88,Mey92}.

It is also interesting to automate the {\em development} of tests.
We can distinguish between two groups of strategies to produce
test sets: random and systematic strategies. Systematic
strategies, such as functional testing or structural testing,
consist in decomposing the input domain of the program in
several subdomains, often called ``partitions''.

Many systematic strategies propose to derive test cases from
a formal specification \cite{Gau95}. For instance, the Dick
and Faivre method \cite{DF93}, which consists in constructing
a finite state automaton from the formal
specification and in selecting test cases as
paths in this automaton, has been used as
a basis by other approaches, in particular
Casting \cite{ABL97} or BZTT \cite{LPU02}.
BZTT uses B or Z specifications to
generate test cases which consist in placing the
system in a boundary state and calling an operation
with a boundary value.

In contrast to systematic methods, random testing generally
does not use the program nor the specification to produce test sets.
It may use an {\em operational profile} of the program,
which describe how the program is expected to be used.
The utility of random testing is controversial in the testing community.
It is usually presented as the poorest approach for selecting test
data \cite{Mye79}.
However, random testing has a few advantages which make us think that
it could be a good complement to systematic testing:
\begin{itemize}
\item
   random testing is cheap and rather easy to implement. In particular, it can
   produce large or very large test sets;
\item
   it can detect a substantial
   number of errors at a low cost \cite{DN84,HT90,Nta01}.
\end{itemize}
Moreover, if an operational profile of the program is available,
\begin{itemize}
\item
   random testing allows early detection of the failures that are
   most likely to appear when using the program \cite{FHLS98};
\item
   it can be used to evaluate the program {\em reliability} \cite{HT90,Ham94}.
\end{itemize}
However, partition testing can be much more effective at finding failures,
especially when the strategy defines some very small subdomains with a
high probability to cause failures \cite{WJ91}.

Among the best practices of {\em extreme programming}, or XP
\cite{Bec99,Bec00}, are {\em continuous testing} and
{\em code refactoring}.
While they are writing code, developers should write
corresponding unit tests, using a testing framework such as JUnit.
Unit testing is often presented as a support to
refactoring: it gives the developer confidence that
the changes have not introduced new errors.
However, code refactoring often requires to
change some of the corresponding unit tests as well.
If a class has to be tested intensively, the
amount of code corresponding to the tests often exceeds
the amount of code of the class. Both practices
can therefore be hard to conciliate.

This report proposes to use random generation of
tests to facilitate countinuous testing and code
refactoring in the context of extreme programming.
We presents Jartege, a tool for random generation
of unit tests for Java classes specified in JML,
which aims at easily producing numerous test cases,
in order to detect a substantial number of
errors at a low cost.

The rest of the report is organized as follows.
Section \ref{Principles} introduces the approach.
Section \ref{CaseStudy}
presents a case study which consists in modeling
bank accounts. This case study will serve to illustrate the
use of our testing tool.
Section \ref{Jartege} presents our tool Jartege
and how it can be used to test the bank account case study.
Section \ref{ControlingRandom}
introduces more advanced features of Jartege, which
allow one to parameterize its random aspect.
Section \ref{ApplyingJartege}
shows the errors which are detected by test cases generated by
Jartege in the case study.
Section \ref{RelatedWork}
presents and compares related approaches.
Section \ref{Discussion} discusses some points about
random generation of tests and draw future work
we intend to undertake around Jartege.

\section{Approach}%
\label{Principles}

JML (Java Modeling Language) is a
specification language for Java inspired by Eiffel, VDM and Larch,
which was designed by Gary Leavens and his colleagues \cite{JML,LBR03,LPC03}.
Several teams are currently still working on JML design and tools
around JML \cite{BCC03}.
JML allows one to specify various assertions in particular
invariants for classes as well as pre- and postconditions
for methods.

The JML compiler (\code{jmlc}) \cite{CL02a} translates JML
specifications into assertions checked at runtime.
If an assertion is violated, then a specific exception
is raised. In the context of a given method call, the JML compiler
makes a useful difference between an {\em entry precondition}
which is a precondition of the given method,
and an {\em internal precondition},
which is a precondition of an operation being called,
at some level, by the given method.

The JML-JUnit tool \cite{CL02b} generates
JUnit test cases for a Java program specified in JML,
using the JML compiler to translate JML
specifications into test oracles. Test cases are produced
from a test fixture and parameter values supplied by the user.

Our approach is inspired by the JML-JUnit tool: we propose
to generate random tests for Java programs specified
in JML, using this specification as a test oracle, in the JML-JUnit
way. Our aim is to produce a big number of tests at a low cost,
in order to facilitate unit testing.

To implement these ideas, we started developing a prototype tool,
called {\em Jartege} for {\em Java Random Test Generator}.
Jartege is designed to generate {\em unit tests} for Java classes
specified with JML. By unit tests, we here mean
tests for some operations in a single class or a small
cluster of classes.
In our context, a {\em test case} is a Java method which consists
of {\em a sequence of operation (constructor or method) calls}.

As in the JML-JUnit tool, we use the JML specification to assist test
generation in two ways:
\begin{enumerate}
\item
   It permits the rejection of test sequences which contain an operation
   call which violates the operation {\em entry precondition}.
   We consider that these test sequences are not interesting
   because they detect errors which correspond to a fault
   {\em in the test program}.

   (Although such sequences could be used to detect cases when a
   precondition is too strong, this goal would prevent us from
   producing long sequences of calls. Thus, we choose to trust the
   specification rather than the code. We can note that if an operation
   uses a method whose precondition is too strong, this will produce
   an {\em internal precondition} error and the sequence will {\em not}
   be rejected.)

\item
   The specification is also used as a test oracle:
   the test detects an error when another assertion (e.g. an invariant,
   a postcondition or an {\em internal precondition}) is violated.
   Such an error corresponds to a fault in the Java program or in
   the JML specification.
\end{enumerate}

Our work has been influenced by the Lutess tool \cite{Par96,BOR99},
which aims at deriving test data for synchronous programs, with various
generation methods, in particular a purely random generation
and a generation guided by operational profiles.
The good results obtained by Lutess, which won the best tool
award of the first feature interaction detection contest
\cite{BZ99}, have encouraged us to consider random generation of tests
as a viable approach.

\section{Case Study}%
\label{CaseStudy}

In this section, we present a case study
to illustrate the use of Jartege. This case study defines
{\em bank accounts} and some operations on these accounts.

\subsection{Informal Specification of the Bank Accounts}

We describe here an informal specification of bank accounts:

\begin{enumerate}
\item
   An account contains a certain available amount of money
   (its {\em balance}), and is associated with a minimum amount
   that this account may contain (the {\em minimum balance}).
\item
   It is possible to credit or debit an account. A debit operation
   is only possible if there is enough money on the account.
\item
   One or several last credit or debit operations may be cancelled.
\item
   The minimum balance of an account may be changed.
\end{enumerate}

\subsection{Bank Account Modeling}

To represent accounts, we define a class \code{Account} with
two attributes: \code{balance} and \code{min}
which respectively represent the balance and the minimum
balance of the account, and three methods: \code{credit}, \code{debit}
and \code{cancel}.
In order to implement the cancel operation, we associate
with each account an {\em history}, which is a linked list of
the previous balances of the account.
The class \code{History} has one attribute, \code{balance}, which
represents the balance of its associated account before the last
credit or debit operation. With each history is associated
its preceding history.
Figure~\ref{diag01} shows the UML class diagram of bank accounts.

\vspace*{2ex}

\begin{figure}[|htbp]
\begin{center}
   \input{diag01.pstex_t}
\end{center}
\caption{UML diagram of the case study}\label{diag01}
\end{figure}

\subsection{JML Specification and Java Implementation}

We implement both class \code{Account} and \code{History} in Java,
and specify them with JML. We choose to write {\em lightweight
public specifications} to emphasize that these specifications are
destined for clients and need not be complete.

In order to forbid uncontrolled modifications
of the attributes, we declare them as private and define
associated access methods: \code{getBalance}, \code{getMin} and
\code{getHist} in class \code{Account} and \code{getBalance}
and \code{getPrec} in class \code{History}.
These methods are specified as {\em pure} methods in JML
because they are side effect free, which allows us to use them
in JML assertions.

The class \code{Account} has an invariant which specifies
that the balance of an account must always be greater
than the minimum balance.

\begin{program}
/* \Com{Class of bank accounts.} */
\mr{public} \mr{class} \id{Account} $\lbrace$
   /* \Com{Invariant of class Account.} */
   /*@ \jml{\mr{public} \mr{invariant} \id{getBalance(\,)} >= \id{getMin(\,)};} */

   \mr{private} \mc{int} \id{balance}; // \com{The balance of this account}
   \mr{private} \mc{int} \id{min};    // \com{The minimum balance}
   \mr{private} \id{History} \id{hist}; // \com{The history list of this account}

   /* \Com{The balance of this account.} */
   \mr{public} /*@\jml{\mr{ pure }}*/ \mc{int} \id{getBalance(\,)} $\lbrace$ \mr{return} \id{balance}; $\rbrace$

   /* \Com{The history list of this account.} */
   \mr{public} /*@\jml{\mr{ pure }}*/ \id{History} \id{getHist(\,)} $\lbrace$ \mr{return} \id{hist}; $\rbrace$

   /* \Com{The minimum balance of this account.} */
   \mr{public} /*@\jml{\mr{ pure }}*/ \mc{int} \id{getMin(\,)} $\lbrace$ \mr{return} \id{min}; $\rbrace$
\end{program}
The constructor of class \code{Account} constructs an account
with the specified balance and the specified minimum balance.
Its precondition asserts that the specified balance is greater than
the specified minimum balance.

\begin{program}
   /* \Com{Constructs an account with the specified balance and}
    * \Com{minimum balance.} */
   /*@ \jml{\mr{requires} \id{balance} >= \id{min};} */
   \mr{public} \id{Account\,(}\mc{int} \id{balance}, \mc{int} \id{min)} $\lbrace$
      \mc{this}.\id{balance} = \id{balance};
      \mc{this}.\id{min} = \id{min};
      \mc{this}.\id{hist} = \mc{null};
   $\rbrace$
\end{program}
As the minimum balance \code{min} is a private attribute, we have
to introduce a method to change its value. The method
\code{setMin\,(\mc{int} min)} sets the minimum balance to the
specified value. Its precondition asserts that the balance
is greater than the specified minimum value.
\begin{program}
   /* \Com{Sets the minimum balance to the specified value.} */
   /*@ \jml{\mr{requires} \id{getBalance\,(\,)} >= \id{min};} */
   \mr{public} \mc{void} \id{setMin\,(}\mc{int} \id{min)} $\lbrace$ \mc{this}.\id{min} = \id{min}; $\rbrace$
\end{program}
The method \code{credit\,(\mc{int} amount)} credits the
account with the specified amount. Its precondition
requires the amount to be positive.
Its postcondition asserts that the new balance is the former balance
augmented by the specified amount, that a new history
is created with balance the former balance of the account and
with previous history the former history of the account.
Its exceptional postcondition asserts that the method should
never terminate abruptly.
\begin{program}
  /* \Com{Credits this account with the specified amount.} */
  /*@ \jml{\mr{requires} \id{amount} >= 0;}
   *@ \jml{\mr{ensures} \id{getBalance\,(\,)} == {$\mathsf{\backslash}$}\id{old}\id{\,(getBalance\,(\,))} + \id{amount} &&}
   *@ \jml{       {$\mathsf{\backslash}$}\mr{fresh\,}\id{(getHist\,(\,))} &&}
   *@ \jml{       \id{getHist\,(\,)}.\id{getBalance\,(\,)} == {$\mathsf{\backslash}$}\mr{old}\id{\,(getBalance\,(\,))} &&}
   *@ \jml{       \id{getHist\,(\,)}.\id{getPrec\,(\,)} == {$\mathsf{\backslash}$}\mr{old}\id{\,(getHist\,(\,))};}
   *@ \jml{\mr{signals} \id{(Exception} \id{e)} \mc{false};}
   */
  \mr{public} \mc{void} \id{credit}(\mc{int} \id{amount}) $\lbrace$
     \id{hist} = \mr{new} \id{History\,(balance}, \id{getHist\,(\,))};
     \id{balance} = \id{balance} + \id{amount};
  $\rbrace$
\end{program}
The debit operation, which is very similar to the credit operation, is
not detailed here.
It has the additional precondition that the balance
decreased by the specified amount is greater than the minimum
balance.

The method \code{cancel} cancels the last credit or debit
operation. Its precondition requires that the history is
not null, which means that at least one operation of credit
or debit has taken place since the account was created.
Its postcondition ensures that the balance and the history
of the account have been updated with their former values.
\begin{program}
  /* \Com{Cancels the last credit or debit operation.} */
  /*@ \jml{\mr{requires} \id{getHist\,(\,)} != \mr{null};}
   *@ \jml{\mr{ensures} \id{getHist\,(\,)} == {$\mathsf{\backslash}$}\mr{old}\id{\,(getHist\,(\,)}.\id{getPrec\,(\,))} &&}
   *@ \jml{       \id{getBalance\,(\,)} == {$\mathsf{\backslash}$}\mr{old}\id{\,(getHist\,(\,)}.\id{getBalance\,(\,))};}
   *@ \jml{\mr{signals} \id{(Exception} \id{e)} \mc{false};}
   */
  \mr{public} \mc{void} \id{cancel\,(\,)} $\lbrace$
     \id{balance} = \id{hist}.\id{getBalance\,(\,)};
     \id{hist} = \id{hist}.\id{getPrec\,(\,)};
  $\rbrace$
$\rbrace$ // \com{End of class Account}
\end{program}
We do not define any JML assertion for the class \code{History}.
\begin{program}
/* \Com{Class of histories.} */
\mr{public} \mr{class} \id{History} $\lbrace$
  \mr{private} \mc{int} \id{balance};  // \com{The balance of this history.}
  \mr{private} \id{History} \id{prec}; // \com{The preceding history.}

  /* \Com{Constructs a history with the specified balance and preceding history.} */
  \mr{public} \id{History\,(}\mr{int} \id{balance}, \id{History} \id{prec)} $\lbrace$
     \mc{this}.\id{balance} = \id{balance}; \mc{this}.\id{prec} = \id{prec};
  $\rbrace$

  /* \Com{The balance of this history.} */
  \mr{public} /*@ \jml{\mr{pure}} */ \mc{int} \id{getBalance\,(\,)} $\lbrace$ \mr{return} \id{balance}; $\rbrace$
  /* \Com{The preceding history.} */
  \mr{public} /*@ \jml{\mr{pure}} */ \id{History} \id{getPrec\,(\,)} $\lbrace$ \mr{return} \id{prec}; $\rbrace$
$\rbrace$ // \com{End of class History}
\end{program}

\section{Jartege}%
\label{Jartege}

Jartege (Java Random Test Generator) is a framework
for automatic random generation of unit tests for
Java classes specified with JML.
This approach consists in producing test programs
which are composed of test cases, each test case
consisting of randomly chosen sequences of
method calls for each class under test.
Each generated test program can be executed to test
the classes, and re-executed later on either after having
corrected some faults or for regression test.

The tool is designed to produce {\em unit tests}, i.e.
tests composed of calls of some methods which belong to a
few classes. As noticed in \cite{LTW00}, because
of complex dependences that exist between classes in
object-oriented programs, it is usually
not possible to test a method or a class in complete isolation.
Jartege thus is able to generate test cases which allow
the integration of several classes.

\subsection{Practical Use of Jartege}

Suppose we wish to generate tests for the classes \code{Account}
and \code{History}. We write the following Java program:

\begin{program}
\mr{import} \id{jartege}.*;
/** \Com{Jartege test cases generator for classes Account and History.} */
\mr{class} \id{TestGen} $\lbrace$
  \mr{public} \mr{static} \mc{void} \id{main\,(}\id{String[\,]} \id{args)} $\lbrace$
    // \com{Creates a class tester}
    \id{ClassTester} \id{t} = \mr{new} \id{ClassTester\,(\,)};
    // \com{Adds the specified classes to the set of classes under test}
    \id{t}.\id{addClass\,(}"\id{Account}"\id{)};
    \id{t}.\id{addClass\,(}"\id{History}"\id{)};
    // \com{Generates a test class TestBank, made of 100 test cases.}
    // \com{For each test case, the tool tries to generate 50 method calls.}
    \id{t}.\id{generate\,(}"\id{TestBank}", 100, 50\id{)};
  $\rbrace$
$\rbrace$
\end{program}

The main class of the Jartege framework is \code{ClassTester}.
This class must be instantiated to allow the creation of
test programs.

The method \code{addClass\,(String className)} adds the class
\code{className} to the set of classes under test. In this
example, we wish to generate tests for the classes
\code{Account} and \code{History}.

The method \code{generate\,(String className, \mc{int} numberOfTests,
\mc{int} numberOfMethodCalls)} generates a file \code{\mr{className}.java}
which contains a class called \code{\mr{className}}. This class
is composed of \code{\mr{numberOfTests}} test cases.
For each test case, the tool makes \code{\mr{numberOfMethodCalls}}
attempts to generate a method call of one of the classes under test.
Using the accessible constructors, the tool
constructs objects which serve as parameters for these method calls.

When the program \code{TestGen} is executed, it produces
a file \code{TestGen.java} which contains a main program.
This main program calls successively 100 test methods
\code{test1\,(\,)}, \code{test2\,(\,)} ... \code{test100\,(\,)}.
Each test method contains about 50 method calls.

While the program is generated, Jartege executes {\em on
the fly} each operation call, which allows it to eliminate calls
which violate the operation precondition. When this precondition
is strong, it may happen that the tool does not succeed in
generating a call for a given method, which explains that
{\em about} 50 method calls are generated.

\subsection{Test Programs Produced by Jartege}

A test program produced by Jartege is a class
with a \code{main} method which consists in
calling sequentially all generated test cases.
Each test case consists of a sequence of constructor and method
calls of the classes under test.
Here is an example of such a test case:

\begin{program}
// \com{Test case number 1}
\mr{public} \mr{void} \id{test1\,(\,)} \mr{throws} \id{Exception} $\lbrace$
  \mr{try} $\lbrace$
    \id{Account} \id{ob1} = \mr{new} \id{Account\,(1023296578, 223978640)};
    \id{ob1}.\id{debit\,(152022897)};
    \id{History} \id{ob2} = \mr{new} \id{History\,(1661966075, (History)} \mr{null)};
    \id{History} \id{ob3} = \mr{new} \id{History\,(-350589348, ob2)};
    \id{History} \id{ob4} = \id{ob2}.\id{getPrec\,(\,)};
    \mc{int} \id{ob5} = \id{ob3}.\id{getBalance\,(\,)};
    \id{ob1}.\id{cancel\,(\,)};
    // \com{...}
  $\rbrace$ \mr{catch} \id{(Throwable} \id{\_except)} $\lbrace$
    \id{error\,(}\id{\_except}, 1\id{)};
  $\rbrace$
$\rbrace$
\end{program}

For each test method, if a JML exception is raised, then
an error message (coming from \code{jmlc}) is printed.
The test program terminates by printing an assessment of the test.
As an example, here is an excerpt of what is printed
with a generated program \code{TestBank.java}:

\begin{program}\sf
1) Error detected in class TestBank by method \persp{test2}:
    org.jmlspecs.jmlrac.runtime.\persp{JMLInvariantError}:
    By method "\persp{credit}@\persp{post}{$\langle$}Account.java:79:18$\rangle$" of class "\persp{Account}"
    for assertions specified at Account.java:\persp{11}:32 [...]
    at TestBank.test2(TestBank.java:138)
[...]
Number of tests: 100
Number of errors: 71
Number of inconclusive tests: 0
\end{program}

The program has detected 71 errors. The first error detected comes from
a violation of the invariant
of class \code{Account} (specified line 11),
which happened after a \code{credit} operation.

The test program also indicates the number of {\em inconclusive}
tests. A test case is inconclusive when it does not allow one to
conclude whether the program behaviour is correct or not.
A test program generated by Jartege indicates that a test case
is inconclusive when it contains an operation call whose
{\em entry precondition} is violated.
As Jartege is designed to eliminate such operation calls, this situation
may only arise when the code or the specification of one of the classes
under test has been modified after the test file was generated.
A high number of inconclusive tests indicates that the test file
is no longer relevant.

\section{Controlling Random Generation}%
\label{ControlingRandom}

If we leave everything to chance, Jartege might
not produce interesting sequences of calls.
Jartege thus provides a few possibilities to parameterize
its random aspect.
These features can be useful for stress testing, for instance
if we want to test more intensively a given method.
More generally, they allow us to define an {\em operational profile}
for the classes under test,
which describe how these classes are likely to be used
by other components.

\subsection{Weights}

With each class and operation of a class is associated
a weight, which defines the probability that a class will
be chosen, and that an operation of this class
will be called. In particular, it is possible to forbid to
call some operation by associating a null weight with it.
By default, all weights are equal to 1. A weight can be modified
by a weight change method. In particular:

\begin{itemize}
\item
   \code{changeAllMethodsWeight\,(String className, double weight)}
   changes the weight of all methods in the class \code{className}
   to the specified weight.

\item
   \code{changeMethodWeight\,(String className, String methodName, double weight)}
   changes the weight of the specified method(s) in the class \code{className}
   to the specified weight.

\item
   \code{changeMethodWeight\,(String className, String methodName,
   String\,[\,] signature, double weight)}
   changes the weight of the method by its name and its signature to
   the specified weight.
\end{itemize}

\subsection{Creation of Objects}

Objects creation is commanded by {\em creation probability
functions}, which define the probability of creating a new object
according to the number of existing objects of the class against
that of reusing an already created object.
If this probability is low, Jartege is more likely to
reuse an already created object than to construct a new one.
This allows the user either to create a predefined number of instances
for a given class, or on the opposite, to create numerous
instances for a class.

In the example of bank accounts, it is not very interesting to
create many accounts. It is possible to test the class
Account more efficiently for example by creating a unique account and
by applying numerous method calls to it.

The function
\code{changeCreationProbability(String className, CreationProbability
creationProbabilityFunction)} changes the creation probability function
associated with the specified class to the the specified creation
probability function.

The interface \code{CreationProbability} contains a unique method
\begin{center}
   \code{double theFunction(int nbCreatedObjects)}
\end{center}
which must satisfy
the condition
\begin{center}
\begin{tabular}{l}
    \code{theFunction}(0) = 1; \\
    \code{theFunction}($n$) $\in$ [0, 1], $\forall n \geq 1$.
\end{tabular}
\end{center}

The class \code{ThresholdProbability} allows one to define
{\em threshold probability functions} whose value is 1 under
some threshold $s$ and 0 above.
\begin{center}
\begin{tabular}{l}
    \code{theFunction}($n$) = 1, if $n < s$; \\
    \code{theFunction}($n$) = 0, otherwise.
\end{tabular}
\end{center}
A threshold probability function with threshold $s$ allows one
to define at most $s$ instances of a given class.
We can for instance forbid the creation of more than one
instance of \id{Account} by adding the following statement in the test generator:
\begin{program}
    \id{t}.\id{changeCreationProbability\,(}"\id{Account}", \mr{new} \id{ThresholdProbability\,(1))};
\end{program}

\subsection{Parameter Generation of Primitive Types}

When a method has a strong precondition, the probability that
Jartege, without any further indication, will generate a call
to this method which does not violate this precondition is
low. For primitive types, Jartege provides the possibility
to define generators for some parameters of a given method.

For example, the precondition of the \code{debit} operation
requires the parameter \code{amount} to be in range
\begin{center}
   [0, \code{getBalance\,(\,)} $-$ \code{getMin\,(\,)}].
\end{center}
Let us suppose the range is small, in other words that
the balance is closed to the minimum balance.
If Jartege chooses an amount to
be debited entirely randomly, this amount
is not likely to satisfy the method precondition.

Jartege provides a way of generating parameter values
of primitive types for operations. For this, we define a class
\code{JRT\_Account} as follows.

\begin{program}
\mr{import} \id{jartege}.\id{RandomValue};
\mr{public} \mr{class} \id{JRT\_Account} $\lbrace$
  \mr{private} \id{Account} \id{theAccount}; // \com{The current account}

  /* \Com{Constructor.} */
  \mr{public} \id{JRT\_Account\,(}\id{Account} \id{theAccount)} $\lbrace$ \mc{this}.\id{theAccount} = \id{theAccount}; $\rbrace$

  /** \Com{Generator for the first parameter of operation debit\,(int).} */
  \mr{public} \mc{int} \id{JRT\_debit\_int\_1\,(\,)} $\lbrace$
     \mr{return} \id{RandomValue}.\id{intValue\,(0},
        \id{theAccount}.\id{getBalance\,(\,)} - \id{theAccount}.\id{getMin\,(\,))};
  $\rbrace$
$\rbrace$
\end{program}

The class \code{JRT\_Account} must contain a private field of type
\code{Account} which will contain the current object on which
an operation of class \code{Account} is applied.
A constructor allows Jartege to initialize this private field.
The class also contains one parameter generation method for
each parameter for which we specify the generation of values.
In the example, to specify the generation of the
first parameter of operation \code{debit\,(\mc{int} amount)},
we define the method \code{\mc{int} \id{JRT\_debit\_int\_1\,(\,)}}.
We use the signature of the operation in the name of the
method to allow overloading.
The method \code{RandomValue.intValue\,(\mc{int} min, \mc{int} max)}
chooses a random integer in range [\code{min}, \code{max}].

\subsection{Fixtures}

If we want to generate several test cases
which operate on a particular set of objects, we can write a
{\em test fixture}, in a similar way to JUnit.
A test fixture is a class which contains:
\begin{itemize}
\item
   attributes corresponding to the objects a test operates on;
\item
   an optional \code{setUp} method which defines the preamble of a test case
   (which typically constructs these objects);
\item
   an optional \code{tearDown} method which defines the postamble of a
   test case.
\end{itemize}

\section{Applying Jartege to the Case Study}%
\label{ApplyingJartege}

The 100 test cases generated by Jartege, showing 71 failures,
revealed three different errors:
one error caused by a credit operation, and two
errors caused by a cancel operation.
We extracted the shorter sequence of calls which resulted in each
failure and obtained the following results. We also
changed the parameter values and added some comments
for more readability.

\paragraph{Error 1.}
The credit operation can produce a balance inferior to the
previous balance because of an integer overflow.

\begin{program}
  \mr{public} \mc{void} \id{test1\,(\,)} $\lbrace$
    \id{Account} \id{ob1} = \mr{new} \id{Account\,(250000000, 0)};
    \id{ob1}.\id{credit\,(2000000000)}; // \com{Produces a negative balance,}
  $\rbrace$                       // \com{below the minimum balance.}
\end{program}

\paragraph{Error 2.}
The cancel operation can produce an incorrect result if
it is preceded by a \code{setMin} operation which
changes the minimum balance of the account to a value
which is superior to the balance before cancellation.

\begin{program}
  \mr{public} \mc{void} \id{test11\,(\,)} $\lbrace$
    \id{Account} \id{ob1} = \mr{new} \id{Account\,(-50, -100)};
    \id{ob1}.\id{credit\,(100)};
    \id{ob1}.\id{setMin\,(0)};
    \id{ob1}.\id{cancel\,(\,)}; // \com{Restores the balance to a value}
  $\rbrace$              // \com{inferior to the minimum balance.}
\end{program}

\paragraph{Error 3.}
The third error detected is a combination of an overflow
on a debit operation
(similar to Error 1, which comes from an overflow on a credit operation)
and of the second error.

\begin{program}
  \mr{public} \mc{void} \id{test13\,(\,)} $\lbrace$
    \id{Account}\,\,\id{ob1}\,\,=\,\,\mr{new}\,\,\id{Account\,(-1500000000,\,-2000000000)};
    \id{ob1}.\id{debit\,(800000000)}; // \com{Produces a positive balance.}
    \id{ob1}.\id{setMin\,(0)};
    \id{ob1}.\id{cancel\,(\,)};  // \com{Restores the balance to a value}
  $\rbrace$               // \com{inferior to the minimum balance.}
\end{program}

We have the feeling that the three errors detected with test
cases generated by Jartege are not totally obvious, and could have
easily been forgotten in a manually developed test suite.
Errors 2 and 3 in particular require three method calls to be executed
in a specific order and with particular parameter values.

It must be noted that the case study was originally written
to show the use of JML to undergraduate students, without us
being aware of the faults.

\section{Comparison with Related Work}%
\label{RelatedWork}

Our work has been widely inspired by the JML-JUnit approach
\cite{CL02b}. The JML-JUnit tool generates test cases for
a method which consist of a combination of calls of this
method with various parameter values. The tester must
supply the object invoking the method and the parameter values.
With this approach, interesting values could easily be
forgotten by the tester. Moreover, as a test case only
consists of one method call, it is not possible to detect
errors which result of several calls of different methods.
At last, the JML-JUnit approach compels the user to
construct the test data, which may
require the call of several constructors.
Our approach thus has the advantage of being more
automatic, and of being able to detect more potential errors.

Korat \cite{BKM02} is a tool also based on the JML-JUnit
approach, which allows exhaustive testing of a method
for all objects of a bounded size. The tools automatically
construct all non isomorphic test cases and execute the
method on each test case.
Korat therefore has the advantage over JML-JUnit of being
able to construct the objects which invoke the method under test.
However, test cases constructed by Korat only consist
of one object construction and one method invocation on this
object.

Tobias \cite{Led02,MLB02} is a combinatorial testing tool for
automatic generation of test cases derived from a ``test pattern'',
which abstractly describes a test case.
Tobias was first designed to produce test objectives for
the TGV tool \cite{JM99} and was then adapted to produce
test cases for Java programs specified in JML and
for programs specified in VDM.
The main problem of Tobias is the combinatorial explosion
which happens if one tries to generate test cases which consist
of more than a couple of method calls.
Jartege was designed to allow the generation of long test
sequences without facing the problem of combinatorial explosion.

\section{Discussion and Future Work}%
\label{Discussion}

Jartege is only in its infancy and a lot of work remains to
be done.

Primitive values generation for methods parameters is
currently done manually by writing primitive parameters
generating methods.
Code for these methods could be automatically constructed
from the JML precondition of the method. This could consist
in extracting range constraints from the method precondition
and automatically produce a method which could generate
meaningful values for the primitive parameters.

Jartege easily constructs test cases which consist of
hundreds of constructors and methods calls.
It would be useful to develop a tool for extracting
a minimum sequence of calls which results in a given failure.

We developed Jartege in Java, and we specified some
of its classes with JML. We applied Jartege to these
classes to produce test cases, which allowed us to
experiment our tool on a larger case study and
to detect a few errors. We found much easier to
produce tests with Jartege than to write unit tests
with JUnit or JML-JUnit.
We intend to continue our work of specifying
Jartege in JML and testing its classes with itself.
We hope that this real case study will help us to
evaluate the effectiveness and scalability
of the approach.

A comparison of our work with other testing strategies
still remains to be done. We can expect systematic methods,
using for instance boundary testing such as BZTT \cite{LPU02},
to be able to produce more interesting test cases that ours.
Our goal is certainly not to pretend that tests produced
randomly can replace tests produced by more sophisticated
methods, nor a carefully designed test set written by an
experienced tester.

Our first goal in developing Jartege was to help the
developer to write unit tests for unstable Java classes,
thus for ``debug unit testing''.
It would also be interesting to use Jartege to evaluate
the reliability of a stable component before it is released.
Jartege provides some features to define
an operational profile of a component, which
should allow statistical testing.
However, the definition of a correct operational profile,
especially in the context of object-oriented programming,
is a difficult task. Moreover, the relation between test sets
generated by Jartege and the reliability of a component requires
more theoretical work, one difficult point being to take into account
the state of the component.

\section{Conclusion}%
\label{Conclusion}
This report presents Jartege, a tool for random generation
of unit tests for Java classes specified in JML. The aim of
the tool is to easily produce numerous test cases, in order to detect
a substantial number of errors without too much effort.
It is designed to produce automated tests, which can in part
replace tests written by the developer using for instance JUnit.
We think that the automatic generation of such unit tests
should facilitate continuous testing as well as code refactoring
in the context of extreme programming.

The JML specifications are used on the one hand to
eliminate irrelevant test cases, and on the other
hand as a test oracle. We think that the additional
cost of specification writing should be compensated
by the automatic oracle provided by the JML compiler,
as long as we wish to intensively test the classes.
Moreover, this approach has the advantage
of supporting the debugging of a specification along with the
corresponding program. This allows the developer to
increase his confidence in the specification and
to use this specification in other tools.

Most test generation methods are deterministic, while
our approach is statistical. We do not wish to oppose
both approaches, thinking that they both have
their advantages and drawbacks, and that a combination of both
could be fruitful.

At last, we found JML to be good language to start learning
formal methods. Its Java-based syntax makes it easy
to learn for Java programmers. As JML specifications
are included in Java source code as comments, it is
easy to develop and debug a Java program along with its
specification. Moreover, automatic test
oracles as well as automatic generation of test cases
are good reasons of using specification languages such as JML.

\bibliographystyle{alpha}

redpajama_set_name: RedPajamaArXiv


Once upon a time I stepped into an elevator at the Art Institute of Philadelphia with a few of my fellow students. We were entering our final quarter in a few weeks, but my husband and I had other plans.
For me, the news was a childhood dream come true. As young as five, on Saturday mornings, while the rest of the family slept, I painted Annie's's and Suzie's faces with crayons and would force their coiffed hair into new -dos. After the primp, I dressed them in frills and shoes. Then I propped the two dolls against pillows set in a semicircle on the throw rug where life-sized Baby waited.
I picked up Baby, patted her back, then set her down again with the others.
I poured water from the teapot into thimble sized cups that remained on saucers.
Like rubber logs their legs protruded in front of them. The dolls' applause perpetually suspended in mid-air. My captive audience stared ahead with tea cups untouched. I opened a picture book and told my rendition of of the double full-page illustrations.
The dream of motherhood never went away. In adolescence, mothers entrusted me with their babies and children for a night or weekend. I worked summers with children in camps and clubs during college. The longing was sown in my heart like the perpetual green of an endless summer.
When I was formed in the depths of the earth, your eyes saw my unformed body.
We never imagined the call to trust would take us to her deathbed twenty-five years later.
Jan 23, 1982, eight months after my announcement in the elevator, Hannah was born. I was drenched with happiness like summer grass sopping with dew on an August day. A nurse whisked my daughter away to wash and wrap her in a receiving blanket. Another wheeled me into recovery. Once in my hospital room, I lived for our reunion. Back propped against three pillows, my eyes flitted to the doorway at each sound of a cart. My arms lay open on my lap, waiting.
Finally, squeaky wheels stopped in the doorway. The nurse wheeled a bassinet into the room. I sat straighter, leaned forward, arms outstretched. She transferred my daughter from her arms to mine. I settled back cradling her securely to my heart.
Ah, here she is. My Hannah.
My lips brushed a kiss on her forehead and trickled six words into her ear.
Her warmth blazed a deep satisfaction through me. Yes! This is how things should be! My eyes closed, my head bent in thanksgiving.
We left the hospital three days later with our skinny yellow little one.
We went home eager to get into a routine with our daughter. Three weeks later, jaundice had not disappeared. My mother-in-law changed Hannah's diaper for the umpteenth time that day.
"No! Nothing is wrong with her. Absolutely not," I said.
Please God, don't let it be. Please, let it be paranoia.
Fear squeezed my heart. I had noticed something odd since bringing her home. Thick eyelids covered her eyes keeping their color secret. The day before they shone sky blue. Today they hid under her puffy jaundiced skin. Was that normal for a newborn?
My mother-in-law's observation heightened my attention to detail. How often did she eat? How often did I change her diaper? I knew breastfed babies pooped a lot, but was this normal? Were her eyelids puffy after a nap? Before? Perhaps these peculiarities were unique to Hannah and not signs of abnormal behavior.
Hope loosened the grip in my chest — for a moment.
One month and two hospitals later an answer to our waiting, wondering, praying was minutes away. Hannah's day nurse informed us a doctor (we weren't sure of his name), who was a specialist (we were unclear what kind), and his team would be in sometime around 10. The large wall clock in the ICU nursery ticked. Ticked…ticked to 9. Then 10.
Silence hung between us. Our hearts ached in unison.
We hoped this specialist had answers.
The final and definitive test showed she had cystic fibrosis (CF), a genetic disease. Genetic? How could that be? Neither Coleman nor I had any history nor symptoms we saw in Hannah, or what he or his team told us would be coming in the future.
For nine months we had prayed as God formed Hannah in secret. We trusted him implicitly.
My heart beat with the pace of a lioness guarding her endangered cub.
The fight with CF began that afternoon.
The physical therapist showed us the thirty-minute percussion therapy (PT) we would do twice a day every day to keep Hannah's lungs clear of sticky mucus when she was healthy.
Our eyes locked. We watched while she leaned Hannh's chest forward in the crook of her left arm to pillow the head on her hand. I envied Hannah's innocence.
Life with CF intertwined Hannah's a quick wit, musicality, and quiet strength. Family vacations. Fine art competitions. Sewing with Grandma. Youth retreats. Mission trips. Music lessons. Schoolwork. Piano practice. And sleepovers. Alongside chest PT, aerosal treatments, and home IV's.
Hannah's childhood dreams included college, becoming a pediatric nurse, and marriage. By nine she knew she couldn't be a pediatric nurse. Too many germs. She turned her sights to a music career. She started piano lessons at seven with the goal in mind to play the flute and piccolo in the future. By her sixteenth birthday she hardly had the wind to play either. They sat in their cases, silent witnesses to another broken dream. That summer she was diagnosed with CF induced diabetes.
May 2000. Hannah graduated from high school. In the fall she began the college dream. Her will manuevered long hours of piano practice, music memorization, auditions, recitals, papers with her daily regime and increasing hospital stays. The life of a music major whittled her strength away.
June 2001. Hannah came home from her allergist, sobbing. The day's allergy tests indicated we must find a home for Spanky, our cat, and Natty, our dog. The two animals contributed comic relief and daily delight in Hannah's routine. She grieved as she planned to plow ahead with another semester of school.
August 2001. Hannah had another checkup with her pulmonologist and another trip home with heartbreaking news. She needed a double lung transplant.
December 2002 she was listed.
She wrote in her journal: What is it in my life that must die? What must be sacrificed to produce new life in others? Lord, please show me… Thank you for the glory already given, and for the continuing work you want to do IN and THROUGH me! … I trust the deaths that may occur are for your purposes. I do not understand, but I know I must commit to trust.
This time it was Hannah who implicitly trusted. God once again explicitly directed. He did not intervene in CF's natural course.
October 2003. She fought a lung infection for a month at Shands Hospital. Her studies had to be suspended while she recovered.
What was left of Hannah's life? Not much, if life is defined by doing. CF had methodically dismembered hers. Something more valuable surfaced. A man in his 70's asked her what would she suggest he do about a possible cornea transplant. Should he do it?
The other world for which she was made seemed clearly in view.
January 4, 2005. It came closer.
Hannah perched on the edge of a couch cushion sucking in air too fast to exhale.
A helicopter transported her from Orlando to Shands where she was admitted to MICU. She faced the possibility of death and signed a DNR and living will. God in his mercy and grace brought her out of the distress. This time she did not return home when she was discharged a month later. She and I moved into transplant housing across the street from the hospital. No school, no social life, and no job intertwined with her daily regime and physical therapy twice a week.
Fifteen months later returned home to wait for transplant. Her regime didn't change except for carefully planned socializing that included a weekly small group for spiritual encouragement. She was home five months when the transplant dream came true.
The next forty-four days her life slipped away in a myriad of complications. At twenty-four, she was as helpless as when she was one month old. She lay encased in a wall of pillows intubated with a feeding tube, ventilator, attached to a wound vac. Steriods, drugs, and fluid made writing impossible. Her knowledge of sign language, and mine, made communication possible. A week before she died she signed to me, Struck down, but not destroyed.
She referred to a passage of scripture I frequently repeated to her in those days of helplessness.
Clarity crystalized for the other world for which she was made. The grueling fight with CF opened her soul and uncovered the presence of Eternity, Himself, beneath broken dreams in a broken body.
Friday,October 13, 2006, he rescued her from CF forever.
I imagine the last minutes of her life like a scene in an Olympic marathon. Hannah plods last at dusk. She shuffles, a weary but determined soul. Head bent, her eyes fixate on the next step. The beeps of the cardiac monitor, the deep breaths of the ventilator, and the team fighting to save her are the last spectators along the road.
She enters the tunnel leading into the stadium. Its walls reverberate with a new sound.
She lifts her head. A crowd of specialty guests edged the track at center field; Grandpa Russell, great-grandparents and her biblical heroes, Ruth and David, among them.
WELCOME plaques gyrate in time to the swelling chant in the packed stadium.
She stumbles. Hands catch her on either side. Her grandmothers's each link an arm under hers. Her head lifts. They step back and point. She breaks into a run with the speed of a gazelle. Laughing and cryings she falls into the arms of the Heavenly Father and Christ Jesus. A roar erupts from the stands and field.


Why choose Ancient Grains?According to the U.S. Department of Agriculture's dietary guidelines, at least half of all grains eaten each day should be whole (that is, intact, ground, cracked or flaked). Most of us limit our grains to barley, corn, oats, rice and wheat, but you can add variety to your diet by including some ancient grains. Ancient grains are definitely worth exploring. High in fibre and rich in mineral content, these tasty whole grain options are definitely here to stay and can be a wonderful addition to your diet.
Amaranth One of the earliest known food plants, Amaranth was cultivated by the Aztecs and the Incas. (One of the best-known varieties is called Inca wheat.) It is often called a "pseudo-grain" and has been referred to as both an herb and a vegetable.
Amaranth is a highly nutritious and gluten free grain, and is unusual in that it offers a complete form of vegetable protein. It is also a great source of dietary fiber, folic acid, potassium, calcium and minerals such as iron, magnesium, phosphorus, copper and manganese. Amaranth is a good source of all essential amino acids, in particular lysine, and has a strengthening, toning effect on the body.
You will need quite a bit of water when cooking amaranth: 6 cups (1.5 L) of water for 1 cup (250 mL) of amaranth. Gently boil the amaranth for 15 to 20 minutes, rinse and then fluff it. Traditionally eaten as a breakfast porridge, Amaranth can also be added to soups, salads and stir-fries, and amaranth flour can be used in baking.
Buckwheat Don't be fooled! Buckwheat is not actually a type of wheat, it is a fruit seed that is related to rhubarb and sorrel. The triangular seeds it produces are known as buckwheat groats, are the hulled grains of buckwheat; they are three-sided in shape and resemble grains of wheat, oats, or rye. Buckwheat has been providing essential nutrients, vitamins, energy, and fiber to humanity for approximately 8,000 years. Its first starring role as a cultivated crop appears circa 4000 B.C. in the Balkan region of Europe.
The protein in buckwheat contains the eight essential amino acids and is also high in lysine. Buckwheat is also rich in many B vitamins as well as phosphorus, magnesium, iron, zinc, copper and manganese.it provides lots of protein as well as calcium, iron, manganese, potassium and zinc. A 1995 study from the Johns Hopkins Medical Institute showed that eating 30 grams of buckwheat daily can lower blood pressure. And because buckwheat grain is digested more slowly than other carbohydrates it can leave you feeling fuller longer and improve glucose tolerance among the carbohydrate sensitive.
Buckwheat groats are used whole in hot cereals and soups. Kasha is a traditional porridge made from buckwheat groats.
Kamut Kamut® Khorasan wheat is distant relative to modern wheat believed to have originated in the time of King Tut. It is a non-hybridized grain that has eight out of nine minerals, and contains up to 65% more amino acids. Kamut® Khorasan wheat is also higher in lipid and protein. The protein content is significantly higher and it also has a high amount of selenium, giving this grain strong antioxidant properties, which help protect the immune system.
Kamut is known to have a natural sweetness, which makes it a great grain for baking. When cooking kamut, it is best to soak the grain overnight. Use three parts water for one part kamut. Once the water has come to a boil, reduce the heat and allow the grain to simmer for 30 to 40 minutes, depending on the tenderness you prefer.
Millet One of the earliest cultivated crops, it is a staple in Africa, China and India. High in magnesium, whole cooked millet can be served as a side dish or added to soups. When popped, it can be eaten as a snack. Millet flour can be used in baking.
Millet is another gluten-free seed with high nutritional value. It is an excellent source of protein and is high in fibre and B vitamins. Millet is also particularly high in magnesium, giving the seed heart-protecting properties.
Millet has a mildly sweet, nut-like flavour. Depending on the cooking style, the texture can range from fluffy to creamy. When cooking millet, you will need one part millet to two-and-a-half parts boiling water. Once the water has come to a boil, lower the heat and let the millet simmer for 25 minutes with the lid in place.
Quinoa Quinoa (Pronounced "keen-wah") plants have been cultivated at altitudes of well over 10,000 feet and have been considered a superfood for at least a few millennia. First cultivated more than 5,000 years ago, quinoa, along with corn and potatoes was one of the three foods considered the centerpiece of the Andean diet. Its immense popularity was due to several reasons: It was one of few crops that could survive in such high altitudes (10,000 – 20,000 feet above sea level). It could withstand frost, intense sun and the often drought conditions that characterized the Andean climate.
Quinoa is stocked with life-sustaining nutrients all across the board, including all eight essential amino acids making it a complete protein. Quinoa is also rich in iron, magnesium, phosphorus and potassium; a good source of dietary fiber, a source of calcium, and thus is useful for vegans and those who are lactose intolerant. Quinoa is gluten-free and considered easy to digest.
It was for this reason that it was dubbed "mother of all grains" by the Incas, so much so that it came to have spiritual significance for them. Many traditions and ceremonies surrounded the cultivation, harvest and consumption of quinoa.
Quinoa may require a thorough rinse before cooking to wash off its naturally bitter coating, called saponin. It cooks in about 15 minutes and Like cooking rice in a stove top pot, you'll want almost 2 cups of water per one part quinoa but be careful not to pour too much water in the pot, otherwise it will take even longer. It can be served as a side dish or added to soups and salads.
Spelt The official name of is Triticum aestivum var. spelta. It was originally grown in Iran around 5000 to 6000 B.C., but it has been grown in Europe for over 300 years, and in North America for just over 100 years. This distant cousin of wheat contains gluten and is therefore not suitable for those who have gluten intolerance, though it does tend to be easier to digest than wheat and may be better tolerated by those who have wheat sensitivity.
Spelt contains a wider variety of nutrients than wheat, including more protein, folate, magnesium and selenium. Spelt is also a high source of fibre, with ½ cup of the whole grain containing 4 grams of fibre. Spelt is a tasty whole grain with a nutty flavour. You can use spelt flour in baking, and the grain can be found in a variety of products, including cereals, breads, pasta and crackers.


text:
Doctors in Faizabad
Hospitals in Faizabad
Famous Personalities of Faizabad
Book Shops in Faizabad
Cloth Stores in Faizabad
Electronic Stores in Faizabad
Footwear Stores in Faizabad
Gift Stores in Faizabad
Jewellery Stores in Faizabad
Mobile Repair Shops in Faizabad
Optical Stores in Faizabad
Retail Stores in Faizabad
Bahu Begum ka Maqbara in Faizabad
Gulab Bari in Faizabad
Hotels in Faizabad
One Day Itinerary Faizabad
Tourist Places in Faizabad
Travel Agents in Faizabad
Distance from Faizabad
Faizabad Airport
Faizabad Railway Station
Local Transportation in Faizabad
Trains from Faizabad
Transporters in Faizabad
Allahabad Bank Branches in Faizabad
Bank of Baroda Branches in Faizabad
Banks in Faizabad
Catering Services in Faizabad
Insurance Companies in Faizabad
Petrol Pumps in Faizabad
Photo Studios in Faizabad
Post Offices in Faizabad
Private Bank Branches in Faizabad
Punjab National Bank Branches in Faizabad
State Bank of India Branches in Faizabad
Faizabad is a historically enriched place. The history of Faizabad is enhanced by the presence of historically important people living in the place. From the time of the Nawabs of Awadh to the freedom struggle of Independence, Faizabad has been an integral part of the events. Here, we will discuss some of the historically important people of Faizabad at different periods of Indian history.
Mangal Pandey was the first martyr in the Sepoy Mutiny of 1857 and he is still honored as the person who initiated the outbreak. He was born in Faizabad and was a sepoy (internationally known as private) in the 34th Bengal Native Infantry. He refused to use the cartridge of the infamous Enfield Rifle and shot a higher ranked British Officer. His actions motivated his fellow soldiers to take arms against the British Officials. Mangal Pandey is a prominent part of modern Indian history and the Indian Government had issued a postage stamp in 1984 to honor his sacrifice.
Saadat Ali Khan
Saadat Ali Khan was the first Nawab of Awadh. He was the son of the famous Mughal Courtier Muhammad Nasir and joined his father to the campaigns of Aurangzeb against the great Maratha Empire in the Deccan. His services for the Mughal Empire were recognized by Aurangzeb and he was awarded with the title "Khan Bahadur". He became the ruler of five districts under the Mughal Empire, and these districts are Lucknow, Bahraich, Gorakhpur, Khalilabad and Faizabad. Saadat Ali Khan established peace in the area and unified these places. His palace was situated near Ayodhya and he laid the foundations of the city of Faizabad. His intelligent management policies had increased the earnings of the state and pleased Muhammad Shah, the contemporary ruler of Delhi and he was awarded with another prestigious title, the "Burhan-ul-Mulk".
Shuja-ud-Daula
The most famous ruler and the creator of the Faizabad city is Shuja-ud-Daula. He was a minor royal in the Delhi Sultanate, but still he played important roles in the Third Battle of Panipat and the Battle of Buxar. He was the main force behind the creation of modern Faizabad city and established houses, markets and roads. His wife, popularly known as the Bahu Begam, had been very instrumental in his decision of decorating Faizabad. Bahu Begam herself ordered to build many of the important historical buildings adorn in today's Faizabad. After the lose in the Battle of Buxar, Shuja-ud-Daula had erected a fortress on the banks of the Saryu River.
Akhtari Bai Faizabadi or Begum Akhtar
Akhtari Bai Faizabadi is popularly known as Begum Akhtar. She is one of the most popular Indian singers of modern times. Her expertise over different genres of music, like Ghazal, Thumri and Dadra are widely discussed. She was a recipient of both Padma Shri and Padma Bhusan by the Government of India. She was awarded with the title of Mallika-e-Ghazal or Queen of Ghazals contribution in the field of Ghazal singing. For excellence in vocal music, she was inferred with the Sangeet Natak Akademi Award.
Mir Babar Ali
Mir Babar Ali was a famous poet born in Faizabad in 1802. He belonged to a family of poets and his grandfather, Mir Hasan was the composer of the famous "Masnavi Sehrul Bayan". His father Mir Mustahsan Khaleeq was also a poet. Mir Babar Ali was an ardent admirer of Homer, Virgil and Valmiki, of Urdu poetry and he is still extremely popular in "marsia", the Indian form of Elegy.
Ashfaqulla Khan
Ashfaqulla Khan was one of the most renowned freedom fighters in India and the first Muslim who was hanged in Faizabad Jail for Conspiracy against the British rulers. He was a strong follower of armed struggle and wanted to instill fear in the hearts of the rulers. He, along with Pandit Ram Prasad Bismil was the masterminds of the infamous "Kakori Train Robbery". Later Ashfaqulla Khan was arrested and detained in the Faizabad Jail, where he was later hanged. A memorial has been erected in the same jail and it maintained by the jail authorities.
Chakbast
He was one of the most eminent scholars of Urdu poetry. His prose is also considered as an eminent gem of the Urdu literature.He was efficient in writing "Nazm" poetry and also written Ghazals.
Chakbast was a famous Urdu poet who belonged to a famous Kashmiri Pandit family settled in faizabad. His father Pandit Udit Narayan Chakbast was the Deputy Collector of Faizabad and a poet. After the death of his father, he moved to Lucknow with his family and he was a successful lawyer by profession.
LOVE THIS 0
Comments / Discussion Board - Famous Personalities of Faizabad
Please Enter the Name. Please Enter the City Name.
Please Enter the Email-ID eg.info@indiaonline.in . Entered Email-ID is not correct.
Please Enter the Comment.
Personal attacks - name calling, insulting, etc - on other members Insensitive references to any race, sex, religion, caste or linguistic community Statements that are deliberately made to evoke outrage Verbal violence or threats Offensive or abusive language Blatant and mischievous misrepresentation of facts Spamming - obsessive repetitiveness Message with commercial or promotional content Malafide insinuations related to the integrity, probity and judgment of the IndiaOnline Team


Important Note: When creating an account, a generated password will be emailed to the address provided. You will then have the option to change your password. This is to ensure the highest level of security to our members.


text:
Army secretary says wreath-laying event at Arlington back on
by: KEVIN FREKING, Associated Press
President Donald Trump participates in a Veterans Day wreath laying ceremony at the Tomb of the Unknown Soldier at Arlington National Cemetery in Arlington, Va., Wednesday, Nov. 11, 2020. (AP Photo/Patrick Semansky)
WASHINGTON (AP) — Army Secretary Ryan McCarthy has reversed the COVID-related cancellation of an annual wreath-laying event at Arlington National Cemetery next month, following criticism on social media and pleas to the White House.
President Donald Trump said later Tuesday it was he who had reversed "the ridiculous decision" to cancel the event. "It will now go on!" he tweeted.
Each year, volunteers around the country place wreaths on the tombstones and markers of veterans as part of Wreaths Across America. The tradition began in 1992 when a Maine wreath maker donated 5,000 wreaths to Arlington. The event has expanded to thousands of locations across the country.
On Monday, Arlington National Cemetery announced that it was "with great regret," cancelling the Wreaths Across America event scheduled for Dec. 19, due to COVID-19. That prompted a backlash on social media, including from Republican Rep. Dan Crenshaw of Texas, a former Navy SEAL, who tweeted early Tuesday: "Reverse your decision."
The group that helps coordinate the ceremony, Wreaths Across America, also issued pleas to continue this year's event, including with the White House. Shortly before group officials were to hold a news conference Tuesday, they received word of McCarthy's decision.
Karen Worcester, executive director of Wreaths Across America, said that when the organization had initially learned of the cancellation at Arlington, it reached out to Arlington National Cemetery's leadership discuss options for keeping the tradition going safely.
And, on Tuesday, she got the news she was hoping to hear. "They have informed us of their willingness to work with us to develop other options to allow for the safe placement of veterans' wreaths this December," Worcester said.
Wreaths Across America will have 2,500 participating locations this year, she said.
"We will be fulfilling the mission in every state and doing so safely following local guidelines in all cases," Worcester said.
by Nexstar, Jaclyn Ramkissoon, Anna Wiernicki / Jan 15, 2021
WASHINGTON (Nexstar) — In just a few days Joe Biden and Kamala Harris will take the oath of office on the steps of the U.S. Capitol. Heightened security measures have been put into place after the deadly riot last week.
Thousands of armed National Guard troops are already posted up, lining the streets around the Capitol. Army General Daniel Hokanson says more are on the way.
NASHVILLE, Tenn. (AP) — Tennessee's GOP-dominant Legislature has approved a contentious plan for a drastic overhaul of the state's Medicaid program.
On Friday, the House followed the Senate's vote a day before in hopes of making it difficult for the incoming President-elect Joe Biden's administration to overturn the deal.
by JILL COLVIN and DARLENE SUPERVILLE, Associated Press / Jan 15, 2021
WASHINGTON (AP) — President Donald Trump will leave Washington next Wednesday morning just before President-elect Joe Biden's inauguration to begin his post-presidential life in Florida.
Refusing to abide by tradition and participate in the ceremonial transfer of power, Trump will instead hold his own departure ceremony at Joint Base Andrews in Maryland before his final flight aboard Air Force One.


text:
Coventry Job Shop still open for those seeking work
Tristan Harris 6th Dec, 2020
PEOPLE looking for work are being reassured that, despite Coventry being in Tier 3, the Job Shop is still open to support them.
Since the first lockdown in March 2020 the Job Shop has succeeded in registering 1,500 new customers, held over 250 virtual events and supported over 800 customers in to work.
The service will continue to offer face-to-face appointments to those who pre-book using the online portal, along with virtual appointments on MS Teams.
Job coaches can offer employment support to those in need via phone or e-mail and the money advice service can advise on submitting a new benefit claim or provide help with financially navigating any challenges ahead.
The Job Shop will also continue to lead the delivery of the Coventry Youth Hub as part of its partnership with JobCentre Plus.
It ensures that all 16 to 24-year-old Universal Credit claimants are provided with high quality employment support.
Changes have been made to The Job Shop to ensure it is Covid-secure, keeping customers and staff safe.
Screens have been installed on desks and at reception. There is also hand-sanitiser readily available and desks and chairs are thoroughly cleaned after each appointment.
The Employer Hub is working with businesses across the city to not only discuss and highlight available Government grants and procedures, but is are also reaching out to key sectors to support with their employment requirements.
Coun Kevin Maton, Cabinet Member for Education and Skills, said: "It is more crucial than ever that people are able to access the skills and training to help them find work or even set up a new business and I'm delighted we have been able to keep providing these services."
Coun Jim O'Boyle, Cabinet Member for Jobs and Regeneration said: "We know sadly that many people have lost their jobs because of the pandemic, while others who are still in work might be worried about the future.
"That's why the services of our brilliant team at the Job Shop are so important.
"I would urge anyone who is out of work to make contact with the team, they are ready and able to help."
To contact The Job Shop email jobshop@coventry.gov.uk or call 024 7678 5740.
Email employerhub@coventry.gov.uk for the Employer Hub.
Job Shop Vacancies are currently advertised through the website and social media – Twitter and Facebook.
benefit claims
Cabinet Member for Education and Skills
Cabinet Member for Jobs and Regeneration
Coun Jim O'Boyle
Coun Kevin Maton
Coventry Youth Hub
Covid-secure
help with benefits
JobCentre Plus
JobCentrePlus
The Job Shop
Advertise on the Coventry Observer to boost your online presence.
Coventry Job Shop sti...


Our military museum proudly honors our Veterans.
Generations at Oakton is proud to honor our veterans in a Military Museum. Originally created in collaboration with the Des Plaines VFW, it is now managed by Generations.
VFW Post Commander Mike Lake, a Vietnam War veteran and long-time Des Plaines resident, hopes to engage the local community in sharing the stories and experiences of World Wars I and II, the Korean War, and the Vietnam War.
We want to establish a military museum as a source of education for the younger generation.
The museum collection currently includes miniature model tanks, photos, uniforms, and helmets from each war. Both Generations residents and those in the community are encouraged to bring in their military memorabilia and artifacts.
The room is also host to the VFW monthly meetings as well as local groups – Toastmaster, Toastmaster (German), Happy Twirlers Square Dance club, and Des Plaines Ministerial Association. We host a monthly bingo event and serve as a polling place to the community.
The museum is open to the public daily during hours that the front desk is manned, typically from 8 a.m. to 8 p.m. daily. If no one is at the front desk, the museum is closed. Admission is free.


Our Iconography workshop is set up as an introduction to painting traditional Romanian Icons on Glass. We teach our students centuries old painting techniques in Byzantine art used on reverse glass painting. We selected specific icons for this project that each student will be able to learn the most techniques from. Including painting the face, garments, decorative backgrounds and applying 24K gold leaf. The workshop is planned that each student will be able to complete a fully finished icon during the weekend.
Each day begins with a lecture on Byzantine and Romanian art, giving the students a full understanding of the tradition and value of this medieval art form. During the workshop each student will learn a step-by-step process to complete a traditional Icon. The instructor Lee Vasu, will work with each individual student instructing them through the drawing, painting and gold leaf process. Students will learn the main reasons for painting icons, gain knowledge of the history and painting methods of the Byzantines by creating visually stunning icons. We will plan a powerful image, composition, values, mixing colors, depth and painting application processes for reverse glass painting. Including applying 24K gold leaf techniques.


text:
Início Sem categoria It didn't help that, according to Kevin Spacey, the actors
It didn't help that, according to Kevin Spacey, the actors
canada goose black friday sale Overall, charter schools in New York City did outperform public schools. Burris reported the proficiency rate for charter schools was 43% compared to 36% for the traditional public schools. However if you do not factor in students with disabilities and English language learners, groups that are disproportionately attending the traditional public schools, the city's public school test performance surpassed the proficiency rate for charter schools by 50% to 46%.. canada goose black friday sale
canada goose outlet new york city Consider this crude example. You willingly leave the reins of your life in the hands of a cab driver a complete stranger. What if he turned cuckoo and crashed the car? When it comes to buses, trains and planes, you rarely see the one driving it. Given the relatively few Americans who visit North Korea as tourists, the economic impact of the ban on North Korea will be minimal. The government in Pyongyang has long argued that the United States in particular is out to crush the North Korean system and its people. It has exploited the "rally around the flag" effect of nationalism to sustain at least grudging support for the North Korean system even as the population loses its reverence canada goose outlet michigan for the ruling Kim family. canada goose outlet new york city
canada goose jacket outlet Prime canada goose outlet nyc Minister Modi has occasionally been involved in Muslim outreach program where he targets certain classes canada goose outlet usa of Muslim community. He and the BJP have been trying to lure the Shia Muslims in Uttar Pradesh and elsewhere. Muslim women have been part of his special Muslim outreach programs over the last few years. canada goose jacket outlet
While you're waiting for your chance to reconnect, canada goose outlet uk fake work on revamping your mind. At the same time, your ex will notice your absence and canada goose outlet paypal start missing you. By distancing yourself from the heartbreak associated with the breakup itself, you are doing yourself a favor.
canada goose outlet jackets The silliness has already started. Malik Riaz may be the man behind the rumours but canada goose outlet in toronto he has canada goose outlet orlando said nothing on record, nothing that can be quoted or held against him. Giving currency to the rumours and bearing witness are some champions of the TV screen. canada goose outlet jackets
canada goose outlet store uk A: Again an excellent question. It was clear from the beginning that there would have to be a second edition. Much has changed, but much also remains the same. There is no reason to make things difficult canada goose outlet legit when the Army already has a set of procedures in place designed to let you go. I've served in the Army so what I know applies to this branch only. Similar policies may be in place throughout the Armed Forces but I just don't know them.. canada goose outlet store uk
canada goose outlet canada Expectant parents experience pregnancy related dreams. Couples soon to wed experience nuptial nightmares. College students in finals dream of the failed exam.But one can experience anxiety even during regular daily life. canada goose outlet in canada Forecasting results before a single vote is cast is a fool's game, but at this stage I believe the Bahujan Samaj Party and the Samajwadi Party are the two parties to beat. First, local issues loom larger in an assembly election. Second, the impact of the various scams is only now being felt.. canada goose outlet canada
canada goose outlet None of those theories was definitive, but the evidence tying Russia to various efforts to influence American voters seems to have been. In February and then in July, special counsel Robert S. Mueller III released indictments his team had obtained against two dozen alleged Russian agents, detailing for the first time how and canada goose outlet boston where Russia had allegedly tried to amplify divisions and steal information from the Democratic Party and the campaign of Hillary Clinton.. canada goose outlet
canada goose outlet online uk When you attempt to make your ex boyfriend want you back again, many a time it feels like you are hitting a roadblock. Most of the things women usually do after a break next page up serves to drive the boyfriend farther away. They end up doing exactly the opposite of what they should actually be attempting in the first place. canada goose outlet online uk
official canada goose outlet As a result, the other actors kept cracking up while director Bryan Singer angrily told them to keep their shit together. It didn't help that, according to Kevin Spacey, the actors were intentionally trying to get the usually serious Gabriel Byrne to canada goose outlet ontario laugh, and even got him to do impersonations. Eventually Singer gave up and just left the actors' completely improvised interaction in the movie you can clearly see them trying not to giggle and utterly failing.. official canada goose outlet
So, I want to go to the first question you ask in your blog. You say that the shooter was a low performer. Why was he shuffled along instead of simply being let go? And then the second question you ask is, was he not let go for fear of appearing prejudiced? So when I ask you to put two of those things together, do you find that to be common in your reporting on the military that people who are not strong performers, they're just, for some reason, that there's no willingness to actually address it squarely, regardless of ethnicity or the circumstance?.
canada goose factory outlet The famed Buddhist temple, Borobudur in the island of Java was constructed in the form of a mandala a symbolic diagram of the cosmos. It is built in tiers, and at every level, there are numerous statues of Buddhas sitting in silent meditation. At each point of the compass the contemplative Buddhas assume a certain mudra. canada goose factory outlet
canada goose outlet in usa By Tuesday evening, it was England who felt cheated out of victory. But this was a very different England team. At last recognising the stability they had sought for the stagnation it had become, England dropped Gatting, Hick, Foster, Lewis and Tufnell and brought into the squad Igglesden, McCague, Bicknell, Hussain, Thorpe and Lathwell to go along with the uncapped Ilott, left out at Old Trafford and Lord's seven https://www.canada-goose-outlet.biz men, with a total experience of four Tests, none gained in the previous canada goose parka outlet three years canada goose outlet in usa.
Artigo anteriorMihi have happy sheep producing fine canada goose outlet new
Próximo artigoMany banks offer customers the option of linking a savings


AutoCAD 2020 and AutoCAD 2020 LT were officially released today. There are some really cool features in this release. My favorites are the new quick display measurements tool, the update purge tool, the enhanced drawing revisions comparison tool, and the integration Microsoft OneDrive.