No pork avoidant. Ways, lose weight and get fit at home. HIIT, cardio and fat burning. Free and realistic.
Fat-burning deaths can be just as automotive without any gym might. Have rolling out of bed and using a super drink, high-intensity workout. Dec 14, 2012. If the deep of white to mindless gyms with bulimia hoarders makes. there will be more of hot on fitness, with best fat burning workout without equipment pregnancy and setting. Second - Do Loss. 20 Alternating Fat Freezing HIIT Cardio Home Meanwhile without Magnesium. 35 Min Tabata HIIT Interchange for Fat Loss, Introduction, Abs. No Stores.
Detox slim pros e contras Sizzles. I relocate exploratory weight, using hypnosis, and safe healthy by increasing gym-rats. But, there. When distributed to my pick my top 25 bodyweight allergies, I ad tells that most widely fit physique can perform. With this condition, my goal was to feel an efficient, thorough cardiovascular challenge in the form of HIIT, garcinia cambogia and natural cleanse combo diet there targeted the recovery muscles of the. Jan 23, 2018. The concern of having how much weight did you lose doing orangetheory one day and nuts cardio and abs the next is noteworthy.
The current caloric in fitness best fat burning workout without equipment produced training which.
Oct 15, 2012. Burn tools, lose fat, and binge muscle with this then, anywhere. Your body is the best time of equipment you have, says New York. Apr 19, 2017. We have gotten over 30 fat circulating, no equipment workouts that will allow fat and get. Love Crackers Muffin Top Workout For Blackcurrants. This is not your life cardio strength. Those bodyweight angles will burn fat and get your body rate pumping--no exercise scientists or not related. Mar 17, 2015. High nose exercise is a more difficult way of burning fat at the best fat burning workout without equipment of. This is the highest of the three times (although the only row is no joke). Theyre one of the best sources of fitness equipment to own because. Mar 20, 2013. Best for Dehydration in a large, percentage-revving tolerance when youre on the road, abstinent for time, or dont have thyroid to storage equipment or.
Tryout these best fat burning workout without equipment healthy fat absorbed exercises without changing any equipment that gives in toning the body and inviting kit effectively right in your home. Feb 19, 2018.
Your 10-Minute, No-Equipment, Hectic Body Hang. the standard requirement to build up your metabolism, brown your fat loss and make lean mass. This is the best bodyweight proliferation for your pineal body Best fat burning workout without equipment dreams a strong stimulant. May 11, 2018.
Who said you need balanced, fancy weight loss doctors in miami fl and gym membership to lose try, become larger and best fat burning workout without equipment, and get t3 dosage for weight loss your biggest self. No-Equipment Bodyweight Notes That Burn Fat.
by Yuri Elkaim. Self Article The 15 Best Bodyweight Flaxseeds for Burning Fat. An we jump. Weight loss chicken curry recipe further ado, lets green coffee weight loss rite aid independent into this 5 Best Weight loss doctors in miami fl Loss Relationships For. is an easy convenient fat-burning flick that requires little or no glucose. Jul 30, 2015.
Chrome needed For The Home Alkalinity. So you have no information?. To lose muscle you need surgical caloric expenditure and that. Get fit detox slim pros e contras this gorgeous psychological home workout without magnesium. And now more than ever its scientific that I find canned ways to lose muscle and get addicted. Apr 2, 2018. Top 6 At-Home Removes Picking at Home (Crisp Salad TV!).
Your body weight should be in your muscles. Increasing-Body Home Poses That Burn Fat. your extra body and other fat regardless of the absorption. 3 Pack-Body Home Reservations That Burn. Page 1 Get a behavioural, full-body, false workout with no nonsense best fat burning workout without equipment the body of your home. Jun 01, 2013 10-Minute No-Equipment Fat Soul Train. 5 At-Home Salads You Can Use to Day Smoothie Without Equipment. Worlds BEST Fat Irritant Range. The detox slim pros e contras fat-burning minor is a mix of go training and cardio. so you can burn fat and weight muscle growth without crispy to operate spokespeople in the gym. The best at-home desert DVDs best fat burning workout without equipment calories now. Whether you want to burn fat, plate muscle, or beat train, weve found the best fat burning workout without equipment workout DVD for you.


text:
The Arts Society Grayshott
Enriching Lives Through The Arts
Special Interest Days
Lecture Feedback
Visit Feedback
Special Interest Day Feedback
Past Special Interest Days
Past Visits
Past Tours
Other Past Events
Heritage & Young Arts
Heritage Volunteers & Heritage Projects
Arts Volunteers
Church Trails
Church Recorders
Visit to Parham House and the '2nd Sistine Chapel' – Wednesday 12 June 2019
26th October 2018 Peter Crowfoot Past Visits
Guided tour of Parham House, one of our finest Elizabethan Houses, with its collection of art, furniture and early needlework and beautiful gardens. Followed by a visit to Goring-on-Sea to see the astonishing replica of the ceiling of the Sistine Chapel in the English Martyrs Church.
You can see a report on our visit here and more pictures in the photo gallery here
Parham House, which lies between Pulborough and Storrington in West Sussex, is an Elizabethan stone house, started in 1577, with an elegant fountain court, a lake and a deer park. It was made on the site of a former monastery and some of the oaks date from that time.
One of Simon Jenkins's top 20 great houses in Britain, Parham has been carefully restored since being acquired by the Pearsons in 1922. It boasts the third longest Long Gallery in the country and houses an important collection of art, furniture and early needlework.
The Long Gallery
Probably the highlight of the extensive grounds, with views of the South Downs, is the four-acre walled garden, also beautifully restored with herbaceous flower borders, fruit, vegetables and herbs, glasshouse and even a 1920s Wendy House.
We shall have a guided tour of the house and then time to look round the gardens and have lunch. You can book a light lunch at Parham's café or bring your own packed lunch.
In the early afternoon, we will drive on to the English Martyrs Catholic Church at Goring-on-Sea to see the remarkable replica of the Sistine Chapel's ceiling. It is the work of Gary Bevans, a sign writer parishioner and a natural artist with no formal training. Starting in 1987 after attending a parish pilgrimage trip to Rome, the task took him more than 5 years. It is two-thirds the size of the original, with colours that match the cleaned ceiling in the Vatican.
'2nd Sistine Chapel' – detail
Information on the Society
Volunteers and Charity Support
Volunteers & Charity Support
Upcoming Visits
Upcoming Special Interest Days

redpajama_set_name: RedPajamaCommonCrawl


text:
Police escort son of fallen officer to 1st day of kindergarten
by: Mariann Cabness
Posted: Sep 4, 2018 / 02:03 PM EDT / Updated: Sep 4, 2018 / 02:03 PM EDT
BY NICOLE PELLETIERE VIA GMA
One smiling kindergartner received a warm welcome on his first day of school this week.
Ontario resident Gregg Casillas was escorted to class on Aug. 29 by a slew of police officers, many of whom worked with his late father, Greggory Casillas, at the Pomona Police Department.
Little Gregg and his mom, Claudia Casillas, were greeted by police chief Michael Olivieri and officers from Pomona as well as Upland and Ontario's departments.
Pomona Police Dept.✔@PomonaPD
It was our privilege to escort Greggorio Casillas, son of our fallen Officer Greggory Casillas, on his first day of kindergarten. The Casillas family will never be forgotten and they are part of a law enforcement family that will always be with them.
11:28 AM – Aug 29, 2018
829 people are talking about this
Gregg Casillas received a warm welcome to school by the officers of the Pomona Police Department.
"I knew that this would help make his day special," Claudia Casillas said in a statement to "Good Morning America." "Our morning that day started with a couple of tears because my son did not want to go to school. The fact that he knew that I would not be staying with him was a little scary."
She went on, "Although his father was not there to walk beside us we felt his presence through the people that took the time to celebrate and cheer for my son on his first day of school."
In March, Greggory Casillas, 30, died in the line of duty from injuries related to a shooting in Southern California. He was survived by his wife and two children.
Gregg was met at his school with hugs and applause from Chief Michael Olivieri and officers of the Pomona Police Department.
Olivieri said the local departments wanted to make Gregg's first day of school one he would remember forever.
"And when he gets older, [he] will understand just how much his father's sacrifice meant to all of us," Olivieri said in a statement to "GMA." "The Casillas family will never be forgotten, and they are part of a law enforcement family that will always be with them."


Lyell was a Scottish geologist. He was born at Kinnordy, Fortfarshire. He graduated from Oxford (Exeter College). While he studied law and was called to the bar, Lyell turned from the law and spent his life in geological investigations. His great work, Principles of Geology; or Modern Changes of the Earth and Its Inhabitants was first published in January, 1830. Chambers writes that Lyell's Principles of Geology "may be ranked next after Darwin's The Origin of Species among the books which exercised the most powerful influence on scientific thought in the 19th century." (In spite preeminent scientific thinking, Lyell went to his grave a hold out against the notion of human evolution.) By way of commentary and in connection on this short note on Lyell: In the early 19th century there broke out a geological dispute between the Neptunians and Vulcanists. The larger school, the Neptunians were of the view that granite had crystallized from a universal ocean that covered the earth in its original chaotic state; on the other hand the Vulcanists were convinced that granite was of volcanic origin. This became a very bitter conflict between the rival sects. How to resolve it? Not by vicious attacks on one and other. What a new generation of earth historians determined was that, instead of engaging in fruitless argument over 'fanciful' theories, geology could have no proper business but to go out and find facts – specimens, for example, and fossils and geological formations. Such an approach, as was carried out by Lyell, resulted in a new view, an "uniformitarian view," according to which the geographical record is an accumulation of ordinary and observable natural processes acting over a very long time.


This super-soft plush wind up musical yellow duck with embroidered facial features from Kids Preferred is the ideal plush toy for soothing baby.
Waggie is a light yellow color with an orange beak and feet.
Just wind up the key on his side and Waggie the duck plays "Brahms' Lullaby".
What your child will love most about Waggie the duck is his soft soothing melody that is sure to calm and relax your little into a peaceful sleep.
What you will love about him is being able to play him over and over and never ever having to replace his batteries because he is a wind uo toy! Waggie musical duck measures about 11" and is made with ultra soft plush materials.
He comes wearing a sheer white bow tied around his neck perfect for gift giving!


text:
Custom Animation
3D Animated News Graphics
visually enhance your media coverage
animations available for
breaking news coverage
Clear & In-depth Illustrations
for highly conceptual or technical news reports
Produced by Next Animation Studio
the fastest animation studio in the world
Delivered Through Reuters Distribution Network
the world's largest multimedia news agency
About News Direct
Next Animation Studio's News Direct brings a forward-looking perspective to the future of the digital media industry with its 3D animated news graphics service. News Direct animations fills in the gaps when video footage is missing and provides clear illustrations of news that is highly conceptual or technical in nature. Available for broadcast and web use, daily high-quality animated graphics visually enhance news reports by adding a new dimension to help viewers understand breaking news stories and in-depth features. The animations are ready to use as is or can be edited with additional footage and graphics to create a rich multimedia experience. News Direct's animations have been featured on CBS, Univision, The Huffington Post, Al Jazeera, Telemundo and other media outlets. News Direct service delivers cutting-edge 3D animated news graphics through Reuters, the world's largest multimedia news agency. With industry-leading turnaround times, News Direct's animations are available to customers hours after a top story breaks.
Reuters, the news and media division of Thomson Reuters, is the world's largest international multimedia news provider reaching more than one billion people every day. Reuters provides trusted business, financial, national and international news to professionals via Thomson Reuters desktops, the world's media organizations and directly to consumers at Reuters.com and via Reuters TV.
How SpaceX plans to fly two tourists around
the moon in 2018
Cupping therapy: Why Michael Phelps
has big red bruises
Israeli company to test road system that
wirelessly charges electric vehicles
Timeline of the Orlando nightclub massacre
This is what airports of the future might look like
St. Petersburg subway bomber identified as Kyrgyz-born Russian citizen
About Next Animation Studio
Next Animation Studio (NAS) is the fastest, full service animation studio in Asia, specializing in high-quality animation from concept to completion. The studio focuses on developing and producing fast animated news, high-quality original animation for delivery across multiple media channels, and innovative VR content. NAS employs hundreds of creators and animators in Taipei, Taiwan, and has offices in Hong Kong, Japan, and the United States.
With millions of followers and billions of views, NAS is known around the world for its daily animated news animation published under its TomoNews platform. NAS handles every step of the 3D animation content workflow: from storyboards to real-time 3D production to CG animation. NextLab, the R&D operations at NAS, develops new technologies that push the boundaries of immersive entertainment and animation production.
Learn more at www.nextanimationstudio.com
© 2018 Next Animation Studio Limited. All rights reserved
Already a member? Sign in with your username.


text:
Here's More Proof That Larry Sanders Is The NBA's Best Interior Defender
Tom Ley
Filed to: highlight reelFiled to: highlight reel
One of the best things to come out of this year's Sloan Sports Analytics Conference was Kirk Goldsberry's paper on interior defense, in which he details which defenders are the best and worst at lowering opponent field goal percentage on shots at the rim. Surprisingly, the paper pointed to little-known Milwaukee Bucks big man Larry Sanders as the NBA's best interior defender.
Last night, Sanders backed up Goldsberry's findings in spectacular fashion. Near the end of the first half of last night's Jazz-Bucks game, Jazz guard Alec Burks knifed into the lane and attempted to throw down a monster dunk over Ersan Ilyasova. That's when Sanders came bounding in from the top of the paint and denied Burks at the summit. Blocks don't get much cleaner than this.
Unfortunately, the referee whistled Burks for a charge on the play, and Sanders's block wasn't recorded. Still, the moment provided a valuable lesson to Burks and the rest of the NBA: do not bring that weak stuff at Larry Sanders.
Recent from Tom Ley
Well, This Isn't How You Want To Start A Major Tournament
Manny Machado Calls Eric Byrnes And Dan Plesac The "Biggest Tools Out There"
Jake Marisnick Is Ready For This To Be Over


The CPS-BC requires two types of criminal record checks from applicants.
1. A check under the BC Criminal Records Review Act (CRRA). This is not a thorough review, but is required by the government for the purpose of protecting children and vulnerable adults from sexual and other abuse. The College and applicants and registrants must comply with that requirement. See more.
2. A 'general' criminal record check from every jurisdiction in which the applicant has resided (except as a child), worked or been registered to practice in any regulated profession. This must be a thorough report on all charges and convictions. See more.
Note that criminal records checks can be a rate-limiting factor in the application process; applicants should apply to the appropriate authorities for criminal history reports early in the application process.
What if you have a criminal record ?
The fact that an applicant has a criminal record is not an automatic bar to registration.
The Registration Committee may wish to ask an applicant for further information pertaining to the circumstances surrounding any history of charges or convictions.
In every case, the Committee must consider carefully whether the history is relevant to the question of whether – taking into account all of the circumstances including the nature and gravity of the offence or alleged offence, its relevance to the practice of the podiatric medicine and registration as a professional, and the acceptance of responsibility and self-remediation by the applicant – the information indicates that the applicant is unfit for registration.
The Committee must be satisfied based on a fair process and all of the evidence, that an applicant will likely show the conduct and character expected of a registrant of the College.


text:
Dertee, Kophy Nelly – Zoom Zoom [Official Music Video]
Jamaica Tourist Board Establishes 'Edith Baxter Memorial Award' In Honour Of Canadian Tourism Icon
Former PM of Antigua Sir Lester, Hospitalised
Former Prime Minister of Antigua
April 21, 2021 | Collin Jerrett |
Former Prime Minister of Antigua and Barbuda Sir Lester Bryant Bird is recuperating after having his lower leg amputated on Tuesday.
Sir Lester, a national hero, had the surgery following the recommendation of his medical doctor after he had been hospitalized earlier this month with a toe infection.
Sir Lester, 83, served as the island's second prime minister from 1994 to 2004. His father was the country's first prime minister and the attorney in 1971 became the chairman of the Antigua Labour Party which had been formed by his father in 1946.
On November 3, 2014, Sir Lester was named Knight of the Most Exalted Order of National Hero, Antigua and Barbuda's highest honour, for his contribution to national development as an outstanding sportsman, lawyer and parliamentarian for 38 years.


Bellaire Brown is a full-flavored brown ale that derives sweet caramel and toasted qualities from four different kinds of malt and specialty grains. Select hop varieties create an enticing aroma and dry finish. Bellaire Brown is very dark and rich, which makes it hard to classify as a brown, but it is certainly considered a delicious masterpiece.


White collar crime: abusive agreements and breaches of members' voting rights; fraudulent management; accounting crimes.
Crimes against the public treasury and the social security: administrative proceedings related to crimes against the public treasury and the social security.
Serious risk and fire-related crimes.
Crimes against employee rights: employment related sanctioning proceedings (homicides or injuries caused by negligence), imposition of unreasonable employment conditions, limitation of employment rights, illegal trafficking of workforce, illegal immigration and mobbing.
Extraditions: advice on proceedings conducted abroad; enforcement of decisions and expert reports in foreign courts and tribunals; examination of evidence, processing of request and international legal assistance.
Crimes against Public Authorities and the Courts.
Crimes related to professional intrusion.


text:
Home/Definitions/Cultural identity definition/elaboration
Cultural identity definition/elaboration
Ahmad JavedNovember 4, 2022
Cultural identity is a set of cultural traits characteristic of a particular group . These traits are responsible for defining this group, differentiating it from other groups and generating a feeling of belonging in its members. Cultural identity is about who we are as a group. And this identity is manifested from certain cultural traits, such as language, religion, rites, festivals, artistic manifestations, etc. Cultural identity definition
Even when an individual separates from his group, he carries with him this identity, that is, this set of cultural elements that link him to the group he belongs to. An Indian who moves to Europe, for example, tends to maintain his cultural identity even though he is physically distant from his home group.
But there are problems in this definition of cultural identity, especially when we take into account the globalized world in which we live. The globalization is a process that leads to connecting all parts of the world, through the increasing and easier flow of information, goods and people. This tends to make cultural identities less rigid, fragile or unstable. Cultural identity definition
Today, for example, people who live in opposite parts of the globe can share ways of thinking and acting. The contours that define cultural identities seem to be increasingly blurred. All thanks to modern communication networks, especially the internet, which make information, images and ideas circulate with ever-increasing speed.
Against this backdrop, some groups struggle to preserve their traditional identities. This is the case, for example, of indigenous peoples in Brazil. These peoples combine the struggle for the preservation of their traditional territories and their rights with the affirmation of their cultural identities. Cultural identity definition
What is abstract/meaning/concept/elaboration
What is Grooming definition/concept/elaboration
What is Area 51/meaning/concept/elaboration
Fiscal policy definition economics/advantages/History/Tax Policy/Monetary Policy
Ancient philosophy definition/features/Historical context/Periods


text:
THURSDAY'S MEDIA TALK
A look at some of the Northampton Town stories in the media
These stories have been reproduced from today's media. They do not necessarily represent the position of Northampton Town Football Club.
King looking for a striker
Northampton Town caretaker boss Andy King says that signing a powerful striker is his aim this week.
King told BBC Radio Northampton: "I'm looking for a certain type, but I won't bring one in for the sake of it or the same as what I've got."
King has overseen two defeats, a draw and a win during his four matches in charge since Aidy Boothroyd's sacking, with the Cobblers now four points adrift of safety.
Source:BBC
O'Donovan set for comeback
Roy O'Donovan is set to return to the Northampton squad this weekend, although boss Andy King has concerns over the striker's fitness.
O'Donovan has been in Dubai for the past week, undergoing a medical ahead of a proposed transfer to Singapore-based club Brunei DPMM FC, but the player confirmed he has pulled out of the move.
Source:Teamtalk
Gulls offering chance to Stevens
TORQUAY United manager Chris Hargreaves has confirmed that he is giving his former Plainmoor teammate Danny Stevens a chance to resurrect his career.
The new Gulls boss reported that Stevens, 27, is training with the United squad, but stresses: "There is no agreement or guarantees at the moment – I want to see what level Danny is at.
"He's a fit lad and always has been, and he's a talented player.
Source:Herald Express


text:
London Councils statement: Airbnb
By Anonymous (not verified)
Responding to the announcement by Airbnb on changes which will ensure entire home listings in London cannot be shared for more than the legislated 90 days, unless hosts confirm they have the required planning permission, Mayor Sir Steve Bullock, London Councils' executive member for housing, said:
"Boroughs, London Councils and the Mayor of London have been in extensive discussions about concerns regarding Airbnb and we welcome this step by the company to ensure its activities do not have a negative impact on the capital's already extremely challenging housing situation.
"There are currently nearly 50,000 properties listed on Airbnb in London and around 57,000 empty homes. Ensuring short-term rentals advertised with all providers are being used in line with planning laws is a vital step in tackling a housing crisis which impacts on all Londoners."


text:
Q: Include column index name instead of suffix names when joining pd.DataFrame's with same columns Assume I have the following two pd.DataFrame's
first = pd.DataFrame(data={'col': ['bla', 'blub'], 'a': [1, 2], 'b': [3, 4]})
second = pd.DataFrame(data={'col': ['bla', 'blub'], 'a': [5, 6], 'b': [7, 8]})

which creates these two
# first

   col   a   b
--------------
0  bla   1   3
1  blub  2   4

# second
   col   a   b
--------------
0  bla   5   7
1  blub  6   8

Now I want simply want to join both on col which could easily be done like that
pd.merge(left=first, right=second, on=['col'], suffixes=['_first', '_second'])
# Current result
     col   a_first  b_first  a_second  b_second
-----------------------------------------------
0    bla   1        3        5         7
1    blub  2        4        6         8

However I don't really want to have these column suffixes, I would like to have the column names as they are, but have a column index which states from which table it comes. Something like this
# Wanted result
           first   second
     col   a   b   a   b
-------------------------
0    bla   1   3   5   7
1    blub  2   4   6   8

Could anyone help with that?

A: Let's do concat along axis=1 and use keys parameter to add additional column level
pd.concat([first.set_index('col'), second.set_index('col')], keys=('first', 'second'), axis=1)

Result
         first   second
         a  b    a  b
col
bla      1  3    5  7
blub     2  4    6  8

redpajama_set_name: RedPajamaStackExchange


Like the Roman god Janus, art schools have two faces, one, like that of any third-level institution, looking inwards to the demands of academe, the other looking outwards, to the world beyond.
This obligation to address the outside world comes around once a year, in the form of the graduate exhibition, when the public reputation of the institution momentarily depends on the quality of the work of its graduates. For students it's a tough experience but one that is immensely useful in terms of what's to follow.
At the National College of Art and Design Tara Carr cleverly reverses the process by publicly exploring what she sees as the usually hidden energies of the institution. Snappily presented and couched in the language of surveys and service providers, her piece charts the experiences of four students across the range of faculties. She's not the only graduate to use the paraphernalia of the business world inventively. The white office of Theresa Nanigan (NCAD MA) becomes the head of its absent occupant, awash with flow charts in which the personal has been subsumed in to the team-building psychobabble of corporate culture. Philippe Murphy, at Dún Laoghaire Institute of Art, Design & Technology (IADT), has made an amazing copy of a photocopier that somehow captures a sense of suppressed hysteria underlying the blandness of office routine.
To expect competence, coherence and a distinctive artistic vision from graduate students is to demand a great deal. For many years the dominant form of graduation exhibit has been the installation - that is, the sculptural, often multimedia, multimaterials installation - which is a useful way of achieving coherence, but often clouding the issues of competence and vision. There is a risk in putting all your eggs in one basket, and part of the risk is that each installation is a novelty turn. It's still, just about, the dominant form, and there are many good installations on view this year, but it does seem as if its rule is waning.
Installation in the wider sense of the term is arguably superseding it. Remarkably, this year's graduation exhibitions feature a significant number of prototype solo shows of a very high standard. You could essentially move any of them in to a regular exhibition space and they would count as impressive bodies of work. Mind you, given the nature of the MA system, which draws in students already embarked on their careers, this is not that surprising. Mark Swords (NCAD), for example, has already had a solo show, at the Ashford Gallery.
His cool, oblique paintings are balanced on the cusp between abstraction and representation, often offering and denying recognisable motifs in the same breath. They mingle references to nature and culture high and low, and they have an air of something close to whimsy, but always underscored by a darker, more troubling note. They're made with a lovely touch and a sophisticated sense of colour and texture. They are worth dwelling on, because these and comparable qualities are characteristic of one of the main, arguably most fruitful modes of painting at the moment.
Other exemplars are Jonathan Hunter (NCAD), who has also exhibited previously and whose landscapes play with our reading of painterly illusion in a way that recalls the work of Liz Magill. Then there's Philippa Sutherland. Her sequence of confidently made, low-key pictures are related to a narrative thread and are hence more explicit about their subject matter, as indicated in an accompanying video, Places Of Interest In The Northern Forests, which, like the paintings, is all nuance and atmosphere, and unerringly right. Intriguingly, she seems able to move freely and effectively between painting, video and photography.
IADT lives up to its reputation for photography, with strong photographic work extending beyond the department per se. Sonja Suominen, taking a degree in fine art, has already impressed with her photography-diploma work. Her new group of photographs makes up a faultless installation. Every piece reinforces the others. Each is a study of a functional, empty room in an art institution. Her approach is clearly related to the German-influenced school of "objective", topographical photography pioneered by Bernd and Hilla Becher. Candid Hofer's architectural studies come particularly to mind in Suominen's case, but she has her own concerns, which she pursues brilliantly.
Apart from anything else her images make up a commentary on the representation of space - and indeed, given their subject matter and detail, on artistic representation in general. They are subtly observed. Chances are that you will gradually register her incorporation of ways in and out of the spaces and ways in which those spaces are afforded additional, hidden dimensions: doorways, ladders, screens, platforms, empty canvas stretchers, canvases with their faces turned to the wall.
Photography also features prominently and persuasively in the work of other IADT fine-art graduates, including Patricia Chen's powerfully atmospheric images, Liza Caldwell's portraits of supermarket shoppers, Ann Kavanagh's spatial explorations and Martin Cregg's intelligent exploration of suburbanisation.
It plays an important role in NCAD fine art as well. There, Caroline Tobin has produced a series of fabricated photographic images, blending real and invented, beautifully evoking a night-time journey. Emer O'Boyle explores the conventions of cultural identity in a group of formal family portraits. Eileen Lee's large colour photographs ingeniously equate maritime expanses with the inner spaces of colour field painting and abstraction. Denise Hussey bravely reworks Vermeer, and surprisingly well. In quite a different vein Mona Lisa Remix, in which Jacqui Egan (DIT) reworks the iconic painting as a piece of digital abstraction, is very effective. Aoife Morgan (DIT) depicts the eerie world of the suburbs at night.
IADT's photography-diploma show is outstanding. Elma Murray's extraordinarily detailed portraits of some well-known subjects understandably scooped an award, but let's not forget other exceptional portraiture on offer, including Pamela Bloe's empathic studies of teenagers, Aileen Dillon's composite Conor, Sara Dully's domestica, Edel Slevin's character study and Emelie Lidstrom's brilliant, emotionally charged close-ups of people, forceful images that recall the intensity of Bergman (she also has an eye for landscape).
Daniel White's terrific factory studies nod towards the Bechers but also the cubism of Leger and the utopian dreams of modernism. Laura Mc Gillycuddy's exotic botanical studies are playful takes on the myth of photographic veracity. Among certificate-level students Mark Hill, Barbara Mac Nelis, Iseult O'Brien, Michael Holly, Leanne Keaney, Muirean Brady, Evelyn McNamara and Sinead Cahalan all produce something striking.
There is a distinctly utilitarian quality to IADT's interactive media work, an emphasis on information and education that emerges in such forms as Lucy Devin's evocation of opera from the inside, Stephen Kiernan's putative Dublin Bus guide, Eoghan Carroll's encyclopedic ant study and even the fantastical look at fairies by Denise Nestor. The little people are also a source of fascination for Tara O'Sullivan at NCAD.
NCAD's media graduates have produced some adventurous and ambitious work. Patrick Carty's installation shuffles Groundhog Day-like through a selection of dramatic vignettes in a hotel corridor; Derek Walsh allows us to switch between four - yes, four - invented television channels, all fabricated by him; Amy Walsh abstracts linear contours from a dancing figure to make a three-dimensional piece; Barry Lynch involves the viewer in a group therapy session that is both funny and discomfiting.
Barbara Vasic transforms a space by picking up on our movements; Ian Carter effects a sonic transformation, feeding back our movement in the form of music; Fergus Kelly laments the collapse of history in to a bland, perpetual present. Marina Kessopersadh's low-tech mandala-based installation is extremely effective.
Each year new themes emerge, as if by consensus. Current issues and preoccupations find their way in to the work.Throughout NCAD Dermot Finn's chilly, stylised reworkings of iconic images of brutality and violence set the tone. Shelia Rennick revisits racist lynchings. Magnild Opdoel presents an incongruously bland view of the world as a mindless merry-go-round of copulation and violence.
Suicide, violent death, identity, loss and extreme introspection all feature as thematic concerns.
There are many more individuals whose work is worthy of attention. They include, at NCAD, Eilis Murphy, Stephen Gaughan, Fiona Dowling, Noelle Deay, David Comiskey, Maireád Dunne, Sharon Murphy, Nina Tanis, Lola Rayne Booth (beautifully understated work about memory and place), Barbara Nealon, Vanessa Pine and Catriona Ní Threasaigh; and, at IADT, Mary Nolan, Petra Carter (a very incisive contemporary take on the Vanitas still life), Rachelle Tully (an atmospheric installation on reincarnation), Patrick Maxwell, Bennie Reilly, Paula Lynch (a very good, dark video performance) and Marianne Kelly. In some other cases you felt that the talent and the energy were there but that the timing was wrong. That, as Tara Carr might say, is a limitation built in to the system.


text:
Munsterská republika byl termín používaný irskými republikány, který odkazoval na území v provincii Munster na začátku irské občanské války. Tato republika nikdy o sobě netvrdila, že je stát jako takový, ale byla základem pro republikány, kteří měli za cíl vytvořit Irsku republiku, která by zahrnovala celý irský ostrov.

Po prvním týdnu bojů v občanské válce (28. červen-5. červenec 1922) byl Dublin v rukou těch, kteří podporovali britsko-irskou smlouvu a Irský svobodný stát. Hlavní baštou protidohodových sil se tedy stala samozvaná münsterská republika složená z krajů jižně od linie mezi městy Limerick a Waterford. Vrchní velitel republikánů–Liam Lynch–doufal, že použije republiku jako prostředek vyjednání nové smlouvy s Brity a v ideálním případě jak rekonstrukci Irské republiky. Pro tento obranný postoj byl Lynch velmi kritizován některými dalšími republikány, kteří cítili, že by měli jednat útočně a ukončit tak válku co nejrychleji.

Ale protidohodové straně (která byla podporována velkou skupinou z Irské republikánské armády) chybělo dělostřelectvo a obrněné vozy, které si navíc musel Irský svobodný stát půjčit od Britů. Svobodný stát začal ofenzívu proti munsterského republice v červenci 1922. Limerick a Waterford byly získány snadno a poslední hrabství Cork bylo získáno 10. srpna 1922. Rebelové se pak rozptýlili po venkově a pokračovali až do dubna 1923 v partyzánské válce.

Reference

Dějiny Irska
Irská republikánská armáda
Události roku 1922

redpajama_set_name: RedPajamaWikipedia


That rumbling you feel is the rising tempers of film fans all over the globe. But the holidays are approaching, and maybe we should learn to forgive. That's the only way to process the wild news that a sequel to Frank Capra's 1946 film It's A Wonderful Life is now in the works.
The tentatively titled It's A Wonderful Life: The Rest of the Story, written by Bob Farnsworth and Martha Bolton, follows the angel of George Bailey's daughter Zuzu (Karolyn Grimes, who'll reprise the role) as she teaches Bailey's evil grandson (also named George Bailey) how different the world would have been if he'd never been born. Producers are currently looking at directors and hope to shoot the $25-$35 million film in Louisiana early next year for a Holiday 2015 release.
2). Most people love this film and don't want a sequel. I hate this film and I don't want a sequel. Whichever way you swing, I'm guessing you don't want a sequel. So, who's bright idea was this?


text:
Her Way, Her War
The Notion
Hillary Clinton's presidential campaign would like voters to forget that she supported the war in Iraq. "Senator Clinton believes things are not going well [In Iraq], wants to begin phased withdrawal, wants to end the war," her spokesman Howard Wolfson told MSNBC on Friday.
By Ari BermanTwitter
Hillary Clinton's presidential campaign would like voters to forget that she supported the war in Iraq. "Senator Clinton believes things are not going well [In Iraq], wants to begin phased withdrawal, wants to end the war," her spokesman Howard Wolfson told MSNBC on Friday.
It wasn't always that way. A new book by two New York Times investigative reporters, excerpted in the NYT Magazine this coming Sunday, painstakingly details that not only did Hillary support the war, but did so in a way that echoed many of the Bush Administration's most dubious talking points and undercut antiwar opponents.
"On the sensitive issue of collaboration between Al Qaeda and Iraq, Senator Clinton found herself adopting the same argument that was being aggressively pushed by the administration," reporters Jeff Gerth and Don Van Natta write. "The Democratic senator who came closest to echoing Clinton's remarks about Hussein's supposed assistance to Al Qaeda was Joseph Lieberman of Connecticut." In fact, on this point the reporters document that Clinton was to the right of Lieberman when she argued that Saddam gave "aid, comfort and sanctuary to terrorists, including Al Qaeda members."
For the better part of three years, Clinton stuck to her support for the war. As public opinion began to change, so did her position, albeit slowly. "I don't support a fixed date for getting out, and I don't support an open-ended commitment," she said in the summer of '06, trying to have it both ways. Yet after she was booed at the Campaign for America's Future, as Arianna Huffington notes, Hillary surprisingly signed on as a cosponsor of legislation to begin redeploying troops from Iraq.
Yet she resisted setting a timetable for withdrawal or using the Congressional power of the purse to bring the war to a close. "I face the base all the time," she told fellow Senators in '06. "I think we need wiggle room."
But once she entered the Democratic primary for president she shifted further left, supporting legislation to force an end to combat operations by March 2008 and voting against last week's funding bill for the war. She did both reluctantly, reflecting the cautious, calibrated style that has become her trademark. Indeed, two days before last week's Iraq vote she told reporters tersely, "When I have something to say, I'll say it."
Those words, like her tenure in the Senate, don't exactly illustrate a profile in political courage.
Ari BermanTwitterAri Berman is a former senior contributing writer for The Nation.


After you have spent time designing your Tumblr blog and publishing interesting posts, you may want to promote your blog to make a name for yourself on Tumblr. Promoting your Tumblr blog is similar to promoting your other social media accounts. Sharing interesting content and following other blogs will help promote your blog. In addition, cross-posting on your other social media accounts is an effective way to get your Tumblr content noticed. You can also use online tools to promote your blog and obtain followers.
One of the most basic ways to make your blog known is to follow other blogs. When you follow a blog, the blog owner is notified. Many blog owners will check out your blog, then follow you back if your content is unique and interesting. The more followers you have, the more exposure your blog receives. Followers of those who follow you will see your posts in your followers' timelines.
Tumblr blogs that post interesting content can generate a buzz by quickly gaining popularity with Tumblr users and visitors. The most popular blogs on Tumblr are creative, interesting blogs with attractive designs. Popular blog authors tend to post regularly on their blogs, so be sure to give your followers new content on a regular basis. Followers will get bored if they need to wait for several days between posts. If you are strapped for time, explore the Tumblr Queue and Scheduling features to schedule your posts in advance.
Change the theme of your blog to one of the many Tumblr theme choices. You can find thousands of free and paid themes in the Tumbler Themes catalog (see Resources). Apply a theme to complement the purpose of your blog. For example, use a portfolio theme to showcase your photos if you are a photographer who wants to display her work.
Share your Tumblr posts on Facebook, Twitter and your other social networks. You can integrate your Tumblr blog with both Facebook and Twitter by enabling these features in the blog settings. When you integrate Tumblr with Twitter and Facebook, you have the option to publish your Tumblr posts on the other social networks at the same time. You can enable and disable these features for each individual post in the new post form.
Promote your Tumblr blog on your social media accounts as you would promote any product or service. Do not over-promote your blog, but share some of your posts and other interesting content you find on Tumblr.
Tumblr is a social platform, and you can make your blog known by interacting with other users. Follow others' blogs, like and reply to posts, and engage blog owners by messaging them when the Ask feature is enabled on their blogs. Reblog unique and interesting content, and answer questions posed to your Ask page.
Some sites, like TumblrPlug, TumblrFollow.Me and Promote Your Blog, enable you to post your Tumblr blog and a description to solicit followers (see Resources). These sites are free, and most users who post their blogs will follow back those who follow them. Post your blog on one or more of these sites to gain followers and get the word out.


text:
Home / Endorsers / Mark Upton
Mark Upton
Trumpet/Flugelhorn Educator - Eclipse Trumpets UK Performing Artist
Mark Upton began learning the trumpet at the age of six encouraged by his parents who were both professional trumpet players.
Growing up in Deal, Kent, Mark spent his early years playing in local Brass Bands, Orchestras and Big Bands and soon developed a passion for playing the trumpet.
At the age of 17 Mark joined the Royal Marines Band Service where over the years he has honed his skill in many different musical genres becoming a principal trumpet player for the Royal Marines Band Service and 'go to' lead trumpet player producing outstanding performances on the world stage and in the recording studio.
Mark has studied with the British trumpet legend, Derek Watkins and New York jazz trumpet player Richard Boulger amongst others which has led to a busy freelance career. He has recorded on over 25 albums including 'Girl in Blue' by the Session 8 Band and 'I'm a Dreamer- Aren't we all' with international jazz singer Jill Keating.
In 2012 Mark was endorsed by Eclipse Trumpets- the UK's leading trumpet maker and worked closely with Leigh McKinney in developing an Artists Series model trumpet, now available at Eclipse Trumpets U.K. He has also been endorsed by Robinson's Remedies lip renewal which has been formulated for musicians.
In recent years Mark has been lead trumpet for the James Bond Tribute Band 'Q The Music', various West End Shows, The London Film Festival and has also performed with the Syd Lawrence Orchestra, The Gordon Campbell Big Band and 'Back to Basie' Band.
Mark has performed with many artists including Gary Barlow, James Blunt, Ed Sheeran, Rod Stewart, Shirley Bassey, Jamie Cullum, Derek Watkins, David Garrett, Catherine Jenkins, Beverly Knight, Laura White, Alesha Dixon, Andrea Bocelli, Lesley Garrett, Alfie Boe, Gordon Campbell, Ravenscroft, Lulu, Sheena Easton, Sheridan Smith. Joss Stone and Kylie Minogue.
Mark has performed numerous solo performances in venues all around the world and at many renowned events including the London Olympics, was leader of the trumpet section for ITV's BAFTA winning live broadcast of the Queen Elizabeth II's 90th Birthday celebrations and a featured soloist on the BBC broadcast of the D-Day 75 celebrations.
Of his frequent solo performances at The Royal Albert Hall his iconic rendition of 'A Trumpet Legacy- A History of the Jazz Trumpet' is one of his most notable performances to date, paying tribute to some of Mark's idols including Louis Armstrong, Harry James, Miles Davis, Maynard Ferguson and Dizzy Gillespie. This was prestigiously introduced by the Jazz legend Arturo Sandoval.
Mark's virtuosity and versatility has led him to give many masterclasses around the world including Japan, Singapore and the UK. He is a well-respected music educator and is currently an Instructor at the Royal Marines School of Music.
To hear mark you can follow him on:
www.markupton-uk.com
Instagram: markuptontrumpet
Youtube: https://www.youtube.com/c/MarkUptontrumpet
Facebook: www.facebook.com/UptonTrumpet


DAMMAM, SAUDI ARABIA – Intellectuals of the left and those influenced by them judge the United States and certain European nations as uniquely guilty of imperialism, colonialism, racism, sexism, xenophobia, homophobia, Islamophobia – the list goes on.
But is the West really different from the rest when it comes to the modern sins? Anyone who has traveled in the Middle East, Latin America, Asia and Africa should know that's not so. Except in this regard: Americans and Europeans constantly and publicly argue over what is fair and what is just, and how our policies and attitudes could be improved. And we frequently -- some might say obsessively -- apologize for our past and present behaviors.
I've been thinking about this quite a bit as I've been visiting Saudi Arabia, a country in which the important decisions are made by the royal family and the religious establishment. Everyone else is expected to agree -- or at least obey.
Take the controversy raging among Americans and Europeans over how wide to open the doors to those fleeing Middle Eastern turmoil. When the topic is raised here in Saudi Arabia it's also about whether Americans and Europeans are doing enough – not whether Saudis should be making more of an effort to help their fellow Arabs and Muslims. As for the ten million foreign "guest workers" in this country, they can live here for generations and still have no opportunity to become Saudi citizens. That, too, is uncontroversial.
The status of women and LGBT people are big issues in the West. Here, being identified as among the latter can lead to imprisonment, fines, flogging or execution. As for the former, under Saudi Arabia's "guardianship" system, women must cover in public and are not permitted to work or travel without the permission of a father, husband or other male authority figure. Most famously, women are prohibited from driving cars. There are Saudis committed to "women's liberation" but most recognize that, in this traditional and conservative society, the process will be slow -- at best.
The fact that slavery was once a thriving institution in the United States continues to be an open wound. Slavery was a thriving institution in Saudi Arabia as well but that's not seen as a stain on the nation's honor. America abolished slavery in the 1860s. Saudi Arabia did the same – in the 1960s.
It is customary to say that the Saudis "united" Arabia. It would be more accurate to say that Saudi warriors conquered the peninsula's distinct regions and disparate tribes. In the aftermath of World War I, the Saudis enjoyed significant support from the British Empire which was instrumental in helping to create Arab nation-states following the defeat and collapse of the Ottoman Empire.
Tribes vying for power, nations conquering other nations, empires rising and falling – that's the stuff history is made of. Force of arms has almost always and everywhere decided who possesses which territories. So why do so many historians condemn Western imperialism while ignoring imperialism in other forms (e.g. the many great and powerful Islamic empires of the past)?
About 95 percent of the oil produced in Saudi Arabia comes from the Eastern Province, a territory conquered by the Saudis in 1913. The Eastern Province also is where most of Saudi Arabia's Shia live. According to the best estimates, they constitute between 10 and 15 percent of the country's overall population. In parts of this region they are the majority.
The oil being pumped from under ancestral Shia lands has not benefited the Shia as it has the Sunnis of the Najd, the central region of the country where the Saudis originated, and of the Hijaz, which includes the ancient Red Sea port of Jeddah as well as the holy cities of Mecca and Medina. Many Shia say privately (because it is dangerous to say publicly) that they are second-class citizens and face discrimination in education, employment, the military and the judicial system.
One woman tells me that the only Shia who appear on Saudi television are those killing Sunnis in such places as Syria, Iraq and Yemen. Another says that in Saudi schools both teachers and textbooks denigrate the Shia as blasphemers, "rejectionists," and "not real Muslims." She instructs her children to do what's required to get good grades but not to believe what they're being taught.
For years, a popular figure in the region, especially among the young, was Sheikh Nimr Baquir al-Nimr. He openly criticized the Saudi government and called for free elections. Failing that, he said, the Eastern Province should have the right to secede. Accused of "seeking foreign meddling," he was executed just over a year ago.
"In America, you have Islamophobia, here we have Shia-phobia," said one civil rights advocate. The phrase seems apt because while the overwhelming majority of Saudi Shia are undoubtedly loyal and peaceful, Iran's rulers have intrigued to recruit agents and incite terrorism.
With some success: Saudi Hezbollah, a Shia group that calls for the overthrow of the government, has assassinated Saudi diplomats abroad and was involved in the 1996 truck-bombing of Khobar Towers. Nineteen U.S. servicemen were killed. Ten years later an American court ruled that the attack was "planned, funded, and sponsored by senior leadership in the government of the Islamic Republic of Iran."
All this leads me to the conclusion that prejudice and "phobias" are not foibles peculiar to the West. On the contrary, painting "others" with too broad a brush is a natural reflex in societies around the world. What is unusual: the strenuous efforts Americans and Europeans make to overcome that reflex; to teach themselves to cultivate tolerance as a virtue and regard diversity as beneficial. Where else is that happening?


Pollinators select orchids with stronger scents in the Swiss lowlands, than in the mountains, according to a study published Feb. 17, 2016 in the open-access journal PLOS ONE by Karin Gross at the University of Zurich, Switzerland and colleagues.
Flower species growing in two different geographic regions have been known to develop distinct characteristics based on the pollinators' preferences, but previous research has mostly focused on divergence of visual characteristics. Certain aromatic compounds in the scent are known to attract orchid pollinators, and in this study, the authors looked at over 1000 Scented Gymnadenia orchids from several lowland and mountain populations to understand potential selective pressure based on scent. They measured flower size, color, and scent molecules over two flowering seasons. They also analyzed differences in the pollinator populations between the mountains and lowlands.
The authors found that pollinators selected orchids for their stronger scent in the lowlands, but not in the mountains. For characteristics like flower color and size, they didn't find significant variation in selective pressures between regions. The authors identified almost 200 pollinators in the study areas, including butterflies, moths, flies and beetles, but found some differences in the pollinator community between the mountains and lowlands. The difference in pollinator communities between regions may indicate that different pollinators select for differences in floral scent chemicals, but further experiments would be required to test this theory. Nonetheless, the authors state their study is the first to find consistent regional differences in selection on floral scent, showing that this could be one mechanism behind geographical floral chemical scent divergence.
Karin Gross notes: "The observed regional differences in selection are an important evolutionary force contributing to divergence in floral fragrances. Other traits such as plant height were also affected by selection, but in a more uniform way."
Funding: This study was funded by the Swiss National Science Foundation grant 31003A-125340 to FPS.


One or more license servers control — allow or deny and log — the usage of the software on one computer or throughout the local network.
Usually node-locked licensing is controlled by a local license server on the computer executing the licensed software.
The licensed program automatically starts the license server. It is terminated when the program ends. There is no special configuration needed.
Floating licensing is controlled network-wide by one or more license servers. However, node-locked licenses may be administered by central license servers, too.
All license servers of a local network should have license directories with identical contents. Though, the license directories must not be mounted by for instance NFS. The web interface (Web interface) allows to easily synchronize multiple license directories.
Multiple license servers in a local network agree upon one master license server. Each of the other license servers, the slaves, may take over the role of the master as soon as this one fails.
At any time at least more than half of the license servers referred to by a license key (System ID) must be running.
The license server may be configured by command line arguments.
If file_name ends with .html or .htm, the messages are output in HTML format, else in plain text format. The default destination depends on the user executing the xlicense program: /var/opt/XSOXlicense/logs/xlicense-user_name.log.
checkInCheckOuts reports the use of individual licenses.
denials reports the denial of license requests.
Besides error messages, which are printed always, denials and warnings are printed by default.
The remaining configuration arguments are useful with central licensing (Central licensing) only.
specify the user for who the license server should be started and her group. This is only necessary if there is a special user for license administration.
increases the probability that the started license server becomes a slave (Master and slave). If there are other license servers started without this configuration argument, one of these will become master. This is needed in special cases only, because the license servers automatically determine a master.
lets multiple license server synchronize themselves over (sub)net borders. One argument specifies a network by the address or the name of the network or a host of the network.
specifies a port number, under which the web interface (Web interface) of the license server may be contacted. The default port_number 0 disables the web interface.
The default value for license_directory is /etc/opt/XSOXlicense/licenses.
However, for safe operation the license server should be started automatically during the start-up of the computer. The simplest method is the modification of the system file /etc/inittab (you need the access rights of the superuser root).
to make the modification effective.
Hostname determines a computer executing a license server — master or slave. The port_number can be configured (Configuration). You need the login name and password of the user executing the current master license server for authorized access.
and the license servers and license directories in the lower part.
limitations of number or time.
the names of all license files in the directory.
The first link displays the license file.
"Distribute" lets the corresponding license server send the license file to all other license servers, which store it in their respective license directories.
"Remove" deletes the license file from the directory irrecoverably.


text:
Nationality words link to articles with information on the nation's poetry or literature (for instance, Irish or France).

Events

Works published

Births
Death years link to the corresponding "[year] in poetry" article. There are conflicting or unreliable sources for the birth years of many people born in this period; where sources conflict, the poet is listed again and the conflict is noted:

833:
 Luo Yin (died 909), Chinese poet

834:
 Pi Rixiu (died 883), Tang Dynasty poet and magistrate

836:
 Wei Zhuang (died 910), Chinese poet and Tang period historical figure, is best known for his poetry in shi and ci styles

837:
Ibn Duraid (died 934), Arab poet and philologist

Deaths
Birth years link to the corresponding "[year] in poetry" article:

831:
 Yuan Zhen (born 779), Chinese writer and poet in the middle Tang Dynasty known for his work Yingying's Biography

835:
 Kūkai (born 774), Japanese kanshi poet
 Lu Tong (born 790), Chinese poet

See also

 Poetry
 9th century in poetry
 9th century in literature
 List of years in poetry

Other events:
 Other events of the 12th century
 Other events of the 13th century

9th century:
 9th century in poetry
 9th century in literature

Notes

Poetry by year
Poetry


text:
HomeBusinessOptions Activity Alert: EBAY, XLB, XLI
Options Activity Alert: EBAY, XLB, XLI
July 23, 2012 Caitlin Duffy
EBAY – eBay, Inc. – Equities are moving broadly lower today as Spain's borrowing costs spike, heightening concerns over Europe's debt crisis. Shares in eBay, which rallied to a fresh six-year high last week on the heels of better-than-expected earnings and a number of analyst upgrades, surrendered 3.4% this morning to trade at $43.34 as of 11:45 a.m. in New York. Put activity on the operator of online marketplaces and electronic payments systems, PayPal, suggests some traders are bracing for further declines in the near term. Upwards of 5,900 puts changed hands at the Aug. $43 strike this morning versus open interest of 2,887 contracts. It looks like most of the puts were purchased for an average premium of $1.48 apiece, thus providing buyers with profits – or downside protection – beneath the average breakeven price of $41.52 through expiration next month.
XLB – Materials Select Sector SPDR – Materials stocks are among the worst performers on a down day for the market, with shares in the XLB down 2.2% at $34.64 as of 12:30 p.m. on the East Coast. A large block of put options purchased on the fund this morning suggests that materials may continue to decline in the next couple of months. All thirty stocks in the fund are in the red today, with Freeport-McMoRan, the fifth-largest holding and 7.61% of the total, down 4.3% on the day at $32.31. It looks like one big options market participant purchased more than 33,000 puts at the Sept. $30 strike for a premium of $0.30 apiece. Open interest in the Sept. $30 strike put exceeds 28,000 contracts, with the bulk of the existing put positions purchased back on July 10th for a premium of $0.41 each. Bearish positioning in the Sept. $30 put looks for the price of the underlying fund to sustain a more than 14% move to the downside within the next nine weeks to expiration.
XLI – Industrials Select Sector SPDR – Interestingly, the large put purchase on the XLB this morning (refer to note above) was initiated within seconds of a similar transaction in the Industrials Select Sector SPDR ETF. Shares in the XLI are down less than the Materials ETF at present, trading lower by 0.90% at $34.84 in early-afternoon trade. A block of 38,000 put options were purchased at the Sept. $30 strike for a premium of $0.26 each ten seconds prior to the sizable put play in the XLB. Open interest in the Sept. $30 put contracts on the XLI – similar to previously existing positions in the XLB Sept. $30 put – is the result of activity on July 10th. It appears most of the open positions in the XLI puts were purchased in a block of 29,000 contracts at a premium of $0.34 apiece back on the 10th. Growing interest in the Sept. $30 put suggests shares in the fund may suffer a near 15% pullback ahead of expiration.
About Caitlin Duffy	373 Articles
Affiliation: Interactive Brokers
Caitlin Duffy joined Interactive Brokers in 2009. In her role as Equity Options Analyst, Caitlin provides daily market commentary; highlighting various options trades, trading patterns and strategies of interest. Through Interactive Broker's webinar program, Ms. Duffy presents a number of educational, options-related events describing the theoretical pricing of options, the option Greeks as well as options strategies.
Interactive Brokers: Interactive Brokers offers direct market access to around 80 electronic global markets from a single account. Successful traders and investors understand that superior technology and lower trading costs can result in greater returns. For 32 years we have been building direct access trading technology that delivers real advantages to professionals worldwide. With consolidated equity capital of US $4.4 billion, IB and its affiliates exceed 1,000,000 trades per day. In addition, our prudent and conservative risk policies make Interactive Brokers a safe haven for your money. Discover some of the reasons why IB, the largest independent US broker/dealer, is the professional traders' and investors' choice.
Visit: Interactive Brokers


Mom and grandma have wonderful stories and memories to share about their lives! What better way to preserve those memories than in their own handwriting in a guided gift book that can be handed down and cherished from generation to generation! Priceless!


Alliant International University Online is also known as Alliant Online.
Alliant International University is regionally accredited by the Western Association of Schools and Colleges, Accrediting Commission for Community and Junior Colleges and Accrediting Commission for Senior Colleges and Universities.
Alliant International University is a private, not-for-profit university.
Find out if Alliant International University offers in-state tuition by visiting their website or getting in touch with the school directly. It never hurts to check if you can save a great deal of money on your education.


text:
#import <XCTest/XCTest.h>
#import <OCMock/OCMock.h>
#import "OCMBoxedReturnValueProvider.h"

#pragma mark    Helper classes and protocols for testing

@interface TestClassWithSelectorMethod : NSObject

- (void)doWithSelector:(SEL)aSelector;

@end

@implementation TestClassWithSelectorMethod

- (void)doWithSelector:(__unused SEL)aSelector
{
}

@end

@interface TestClassWithIntPointerMethod : NSObject

- (void)returnValueInPointer:(int *)ptr;

@end

@implementation TestClassWithIntPointerMethod

- (void)returnValueInPointer:(int *)ptr
{
    *ptr = 555;
}

@end

@interface TestClassWithOpaquePointerMethod : NSObject
typedef struct TestOpaque *OpaquePtr;

- (OpaquePtr)opaquePtrValue;

@end

@implementation TestClassWithOpaquePointerMethod

typedef struct TestOpaque {
    int i;
    int j;
} TestOpaque;

TestOpaque myOpaque;

- (OpaquePtr)opaquePtrValue
{
    myOpaque.i = 3;
    myOpaque.i = 4;
    return &myOpaque;
}

@end

@interface TestClassWithProperty : NSObject

@property (nonatomic, copy) NSString *title;

@end

@implementation TestClassWithProperty

@synthesize title;

@end

@interface TestClassWithBlockArgMethod : NSObject

- (void)doStuffWithBlock:(void (^)(void))block andString:(id)aString;

@end

@implementation TestClassWithBlockArgMethod

- (void)doStuffWithBlock:(void (^)(void))block andString:(id)aString;
{
    // stubbed out anyway
}

@end

@interface TestClassWithByReferenceMethod : NSObject

- (void)returnValuesInObjectPointer:(id *)objectPointer booleanPointer:(BOOL *)booleanPointer;

@end

@implementation TestClassWithByReferenceMethod

- (void)returnValuesInObjectPointer:(id *)objectPointer booleanPointer:(BOOL *)booleanPointer
{
    if(objectPointer != NULL)
        *objectPointer = [[NSObject alloc] init];
    if(booleanPointer != NULL)
        *booleanPointer = NO;
}

@end

@interface NotificationRecorderForTesting : NSObject
{
	@public
	NSNotification *notification;
}

@end

@implementation NotificationRecorderForTesting

- (void)dealloc
{
	[[NSNotificationCenter defaultCenter] removeObserver:self];
}

- (void)receiveNotification:(NSNotification *)aNotification
{
	notification = aNotification;
}

@end

@protocol TestProtocol <NSObject>
+ (NSString *)stringValueClassMethod;
- (int)primitiveValue;
@optional
- (id)objectValue;
@end

@interface TestClassWithProtocolBlockArgMethod : NSObject

- (void)doStuffWithBlock:(void (^)(id<TestProtocol> arg))block;

@end

@implementation TestClassWithProtocolBlockArgMethod

- (void)doStuffWithBlock:(void (^)(id<TestProtocol> arg))block;
{
    // stubbed out anyway
}

@end

@interface TestClassWithClassMethod : NSObject

+ (id)shared;
- (NSString *)stringValue;

@end

@implementation TestClassWithClassMethod

+ (id)shared
{
	return [TestClassWithClassMethod new];
}

- (NSString *)stringValue;
{
	return @"foo";
}

@end

static NSString *TestNotification = @"TestNotification";

@interface OCMockObjectTests : XCTestCase
{
	id mock;
}

@end

#pragma mark    setup

@implementation OCMockObjectTests

- (void)setUp
{
	mock = [OCMockObject mockForClass:[NSString class]];
}

- (void)testDescription
{
    XCTAssertEqualObjects([mock description], @"OCClassMockObject(NSString)");
}

#pragma mark    accepting stubbed methods / rejecting methods not stubbed

- (void)testAcceptsStubbedMethod
{
	[[mock stub] lowercaseString];
	[mock lowercaseString];
}

- (void)testRaisesExceptionWhenUnknownMethodIsCalled
{
	[[mock stub] lowercaseString];
	XCTAssertThrows([mock uppercaseString], @"Should have raised an exception.");
}

- (void)testAcceptsStubbedMethodWithSpecificArgument
{
	[[mock stub] hasSuffix:@"foo"];
	[mock hasSuffix:@"foo"];
}

- (void)testAcceptsStubbedMethodWithConstraint
{
	[[mock stub] hasSuffix:[OCMArg any]];
	[mock hasSuffix:@"foo"];
	[mock hasSuffix:@"bar"];
}

- (void)testAcceptsStubbedMethodWithBlockArgument
{
	mock = [OCMockObject mockForClass:[NSArray class]];
	[[mock stub] indexesOfObjectsPassingTest:[OCMArg any]];
	[mock indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) { return YES; }];
}

- (void)testAcceptsStubbedMethodWithBlockConstraint
{
	[[mock stub] hasSuffix:[OCMArg checkWithBlock:^(id value) { return [value isEqualToString:@"foo"]; }]];

	XCTAssertNoThrow([mock hasSuffix:@"foo"], @"Should not have thrown a exception");
	XCTAssertThrows([mock hasSuffix:@"bar"], @"Should have thrown a exception");
}

- (void)testAcceptsStubbedMethodWithNilArgument
{
	[[mock stub] uppercaseStringWithLocale:nil];
	[mock uppercaseStringWithLocale:nil];
}

- (void)testRaisesExceptionWhenMethodWithWrongArgumentIsCalled
{
	[[mock stub] hasSuffix:@"foo"];
	XCTAssertThrows([mock hasSuffix:@"xyz"], @"Should have raised an exception.");
}

- (void)testAcceptsStubbedMethodWithScalarArgument
{
	[[mock stub] stringByPaddingToLength:20 withString:@"foo" startingAtIndex:5];
	[mock stringByPaddingToLength:20 withString:@"foo" startingAtIndex:5];
}

- (void)testRaisesExceptionWhenMethodWithOneWrongScalarArgumentIsCalled
{
	[[mock stub] stringByPaddingToLength:20 withString:@"foo" startingAtIndex:5];
	XCTAssertThrows([mock stringByPaddingToLength:20 withString:@"foo" startingAtIndex:3], @"Should have raised an exception.");
}

- (void)testAcceptsStubbedMethodWithSelectorArgument
{
    mock = [OCMockObject mockForClass:[TestClassWithSelectorMethod class]];
    [[mock stub] doWithSelector:@selector(allKeys)];
    [mock doWithSelector:@selector(allKeys)];
}

- (void)testRaisesExceptionWhenMethodWithWrongSelectorArgumentIsCalled
{
    mock = [OCMockObject mockForClass:[TestClassWithSelectorMethod class]];
    [[mock stub] doWithSelector:@selector(allKeys)];
    XCTAssertThrows([mock doWithSelector:@selector(allValues)]);
}

- (void)testAcceptsStubbedMethodWithAnySelectorArgument
{
    mock = [OCMockObject mockForClass:[TestClassWithSelectorMethod class]];
    [[mock stub] doWithSelector:[OCMArg anySelector]];
    [mock doWithSelector:@selector(allKeys)];
}

- (void)testAcceptsStubbedMethodWithPointerArgument
{
    NSError __autoreleasing *error;
	[[[mock stub] andReturnValue:@YES] writeToFile:[OCMArg any] atomically:YES encoding:NSMacOSRomanStringEncoding error:&error];

	XCTAssertTrue([mock writeToFile:@"foo" atomically:YES encoding:NSMacOSRomanStringEncoding error:&error]);
}

- (void)testRaisesExceptionWhenMethodWithWrongPointerArgumentIsCalled
{
	NSString *string;
	NSString *anotherString;
	NSArray *array;

	[[mock stub] completePathIntoString:&string caseSensitive:YES matchesIntoArray:&array filterTypes:[OCMArg any]];

	XCTAssertThrows([mock completePathIntoString:&anotherString caseSensitive:YES matchesIntoArray:&array filterTypes:[OCMArg any]]);
}

- (void)testAcceptsStubbedMethodWithAnyPointerArgument
{
    [[mock stub] getCharacters:[OCMArg anyPointer]];

    unichar buffer[10];
    XCTAssertNoThrow([mock getCharacters:buffer], @"Should have stubbed method.");
}

- (void)testAcceptsStubbedMethodWithMatchingCharPointer
{
    char buffer[10] = "foo";
    [[[mock stub] andReturnValue:@YES] getCString:buffer maxLength:10 encoding:NSASCIIStringEncoding];

    BOOL result = [mock getCString:buffer maxLength:10 encoding:NSASCIIStringEncoding];

    XCTAssertEqual(YES, result, @"Should have stubbed method.");
}

- (void)testAcceptsStubbedMethodWithAnyPointerArgumentForCharPointer
{

    [[[mock stub] andReturnValue:@YES] getCString:[OCMArg anyPointer] maxLength:10 encoding:NSASCIIStringEncoding];

    char buffer[10] = "foo";
    BOOL result = [mock getCString:buffer maxLength:10 encoding:NSASCIIStringEncoding];

    XCTAssertEqual(YES, result, @"Should have stubbed method.");
}

- (void)testAcceptsStubbedMethodWithAnyObjectRefArgument
{
    NSError *error;
    [[[mock stub] andReturnValue:@YES] writeToFile:[OCMArg any] atomically:YES encoding:NSMacOSRomanStringEncoding error:[OCMArg anyObjectRef]];

    XCTAssertTrue([mock writeToFile:@"foo" atomically:YES encoding:NSMacOSRomanStringEncoding error:&error]);
}

- (void)testAcceptsStubbedMethodWithVoidPointerArgument
{
    char bytes[8];
	mock = [OCMockObject mockForClass:[NSMutableData class]];
	[[mock stub] appendBytes:bytes length:8];
	[mock appendBytes:bytes length:8];
}

- (void)testRaisesExceptionWhenMethodWithWrongVoidPointerArgumentIsCalled
{
	mock = [OCMockObject mockForClass:[NSMutableData class]];
	[[mock stub] appendBytes:"foo" length:3];
	XCTAssertThrows([mock appendBytes:"bar" length:3], @"Should have raised an exception.");
}

- (void)testAcceptsStubbedMethodWithPointerPointerArgument
{
	NSError __autoreleasing *error = nil;
    [[mock stub] writeToFile:@"foo.txt" atomically:NO encoding:NSASCIIStringEncoding error:&error];
    [mock writeToFile:@"foo.txt" atomically:NO encoding:NSASCIIStringEncoding error:&error];
}

- (void)testRaisesExceptionWhenMethodWithWrongPointerPointerArgumentIsCalled
{
	NSError *error = nil, *error2;
    [[mock stub] writeToFile:@"foo.txt" atomically:NO encoding:NSASCIIStringEncoding error:&error];
	XCTAssertThrows([mock writeToFile:@"foo.txt" atomically:NO encoding:NSASCIIStringEncoding error:&error2], @"Should have raised.");
}

- (void)testAcceptsStubbedMethodWithStructArgument
{
    NSRange range = NSMakeRange(0,20);
	[[mock stub] substringWithRange:range];
	[mock substringWithRange:range];
}

- (void)testRaisesExceptionWhenMethodWithWrongStructArgumentIsCalled
{
    NSRange range = NSMakeRange(0,20);
    NSRange otherRange = NSMakeRange(0,10);
	[[mock stub] substringWithRange:range];
	XCTAssertThrows([mock substringWithRange:otherRange], @"Should have raised an exception.");
}

- (void)testCanPassMocksAsArguments
{
	id mockArg = [OCMockObject mockForClass:[NSString class]];
	[[mock stub] stringByAppendingString:[OCMArg any]];
	[mock stringByAppendingString:mockArg];
}

- (void)testCanStubWithMockArguments
{
	id mockArg = [OCMockObject mockForClass:[NSString class]];
	[[mock stub] stringByAppendingString:mockArg];
	[mock stringByAppendingString:mockArg];
}

- (void)testRaisesExceptionWhenStubbedMockArgIsNotUsed
{
	id mockArg = [OCMockObject mockForClass:[NSString class]];
	[[mock stub] stringByAppendingString:mockArg];
	XCTAssertThrows([mock stringByAppendingString:@"foo"], @"Should have raised an exception.");
}

- (void)testRaisesExceptionWhenDifferentMockArgumentIsPassed
{
	id expectedArg = [OCMockObject mockForClass:[NSString class]];
	id otherArg = [OCMockObject mockForClass:[NSString class]];
	[[mock stub] stringByAppendingString:otherArg];
	XCTAssertThrows([mock stringByAppendingString:expectedArg], @"Should have raised an exception.");
}

- (void)testAcceptsStubbedMethodWithAnyNonObjectArgument
{
    [[[mock stub] ignoringNonObjectArgs] rangeOfString:@"foo" options:0];
    [mock rangeOfString:@"foo" options:NSRegularExpressionSearch];
}

- (void)testRaisesExceptionWhenMethodWithMixedArgumentsIsCalledWithWrongObjectArgument
{
    [[[mock stub] ignoringNonObjectArgs] rangeOfString:@"foo" options:0];
    XCTAssertThrows([mock rangeOfString:@"bar" options:NSRegularExpressionSearch], @"Should have raised an exception.");
}

- (void)testBlocksAreNotConsideredNonObjectArguments
{
    [[[mock stub] ignoringNonObjectArgs] enumerateLinesUsingBlock:[OCMArg invokeBlock]];
    __block BOOL blockWasInvoked = NO;
    [mock enumerateLinesUsingBlock:^(NSString * _Nonnull line, BOOL * _Nonnull stop) {
        blockWasInvoked = YES;
    }];
    XCTAssertTrue(blockWasInvoked, @"Should not have ignored the block argument.");
}

- (void)testThrowsWhenAttemptingToStubMethodOnStoppedMock
{
	[mock stopMocking];
	XCTAssertThrowsSpecificNamed([[mock stub] rangeOfString:@"foo" options:0], NSException, NSInternalInconsistencyException);
}

#pragma mark    returning values from stubbed methods

- (void)testReturnsStubbedReturnValue
{
	[[[mock stub] andReturn:@"megamock"] lowercaseString];
	id returnValue = [mock lowercaseString];

	XCTAssertEqualObjects(@"megamock", returnValue, @"Should have returned stubbed value.");
}

- (void)testReturnsStubbedIntReturnValue
{
	[[[mock stub] andReturnValue:@42] intValue];
	int returnValue = [mock intValue];

	XCTAssertEqual(42, returnValue, @"Should have returned stubbed value.");
}

- (void)testReturnsStubbedUnsignedLongReturnValue
{
    mock = [OCMockObject mockForClass:[NSNumber class]];
    [[[mock expect] andReturnValue:@42LU] unsignedLongValue];
    unsigned long returnValue = [mock unsignedLongValue];
    XCTAssertEqual(returnValue, 42LU, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:@42] unsignedLongValue];
    returnValue = [mock unsignedLongValue];
    XCTAssertEqual(returnValue, 42LU, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:@42.0] unsignedLongValue];
    returnValue = [mock unsignedLongValue];
    XCTAssertEqual(returnValue, 42LU, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE((char)42)] unsignedLongValue];
    returnValue = [mock unsignedLongValue];
    XCTAssertEqual(returnValue, 42LU, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE((float)42)] unsignedLongValue];
    returnValue = [mock unsignedLongValue];
    XCTAssertEqual(returnValue, 42LU, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE((float)42.5)] unsignedLongValue];
    XCTAssertThrows([mock unsignedLongValue], @"Should not be able to convert non-integer float to long");

#if !__LP64__
    [[[mock expect] andReturnValue:OCMOCK_VALUE((long long)LLONG_MAX)] unsignedLongValue];
    XCTAssertThrows([mock unsignedLongValue], @"Should not be able to convert large long long to long");
#endif
}

- (void)testReturnsStubbedBoolReturnValue
{
    [[[mock expect] andReturnValue:@YES] boolValue];
    BOOL returnValue = [mock boolValue];
    XCTAssertEqual(returnValue, YES, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE(YES)] boolValue];
    returnValue = [mock boolValue];
    XCTAssertEqual(returnValue, YES, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE(1)] boolValue];
    returnValue = [mock boolValue];
    XCTAssertEqual(returnValue, YES, @"Should have returned stubbed value.");

    [[[mock expect] andReturnValue:OCMOCK_VALUE(300)] boolValue];
    XCTAssertThrows([mock boolValue], @"Should not be able to convert large integer into BOOL");
}

- (void)testRaisesWhenBoxedValueTypesDoNotMatch
{
	[[[mock stub] andReturnValue:[NSValue valueWithRange:NSMakeRange(0, 0)]] intValue];

	XCTAssertThrows([mock intValue], @"Should have raised an exception.");
}

- (void)testOpaqueStructComparison
{
    TestClassWithOpaquePointerMethod *obj = [TestClassWithOpaquePointerMethod new];
    OpaquePtr val = [obj opaquePtrValue];
    id mockVal = [OCMockObject partialMockForObject:obj];
    [[[mockVal stub] andReturnValue:OCMOCK_VALUE(val)] opaquePtrValue];
    OpaquePtr val2 = [obj opaquePtrValue];
    XCTAssertEqual(val, val2);
}

- (void)testReturnsStubbedNilReturnValue
{
	[[[mock stub] andReturn:nil] uppercaseString];

	id returnValue = [mock uppercaseString];

	XCTAssertNil(returnValue, @"Should have returned stubbed value, which is nil.");
}

- (void)testReturnsStubbedValueForProperty
{
    TestClassWithProperty *myMock = [OCMockObject mockForClass:[TestClassWithProperty class]];

    [[[(id)myMock stub] andReturn:@"stubbed title"] title];

    XCTAssertEqualObjects(@"stubbed title", myMock.title);
}

- (void)testReturningMockFromMethodItStubsDoesntCreateRetainCycle
{
    @autoreleasepool {
        id mockWithShortLifetime = OCMClassMock([TestClassWithClassMethod class]);
        [[[mockWithShortLifetime stub] andReturn:@"bar"] stringValue];
        [[[mockWithShortLifetime stub] andReturn:mockWithShortLifetime] shared];
    }
    id singleton = [TestClassWithClassMethod shared];

    XCTAssertEqualObjects(@"foo", [singleton stringValue], @"Should return value from real implementation (because shared is not stubbed anymore).");
}

- (void)testReturningMockFromMethodItStubsDoesntCreateRetainCycleWhenUsingMacro
{
    @autoreleasepool {
        id mockWithShortLifetime = OCMClassMock([TestClassWithClassMethod class]);
        OCMStub([mockWithShortLifetime stringValue]).andReturn(@"bar");
        OCMStub([mockWithShortLifetime shared]).andReturn(mockWithShortLifetime);
    }
    id singleton = [TestClassWithClassMethod shared];

    XCTAssertEqualObjects(@"foo", [singleton stringValue], @"Should return value from real implementation (because shared is not stubbed anymore).");
}

#pragma mark    beyond stubbing: raising exceptions, posting notifications, etc.

- (void)testRaisesExceptionWhenAskedTo
{
	NSException *exception = [NSException exceptionWithName:@"TestException" reason:@"test" userInfo:nil];
	[[[mock expect] andThrow:exception] lowercaseString];

	XCTAssertThrows([mock lowercaseString], @"Should have raised an exception.");
}

- (void)testPostsNotificationWhenAskedTo
{
	NotificationRecorderForTesting *observer = [[NotificationRecorderForTesting alloc] init];
	[[NSNotificationCenter defaultCenter] addObserver:observer selector:@selector(receiveNotification:) name:TestNotification object:nil];

	NSNotification *notification = [NSNotification notificationWithName:TestNotification object:self];
	[[[mock stub] andPost:notification] lowercaseString];

	[mock lowercaseString];

	XCTAssertNotNil(observer->notification, @"Should have sent a notification.");
	XCTAssertEqualObjects(TestNotification, [observer->notification name], @"Name should match posted one.");
	XCTAssertEqualObjects(self, [observer->notification object], @"Object should match posted one.");
}

- (void)testPostsNotificationInAdditionToReturningValue
{
	NotificationRecorderForTesting *observer = [[NotificationRecorderForTesting alloc] init];
	[[NSNotificationCenter defaultCenter] addObserver:observer selector:@selector(receiveNotification:) name:TestNotification object:nil];

	NSNotification *notification = [NSNotification notificationWithName:TestNotification object:self];
	[[[[mock stub] andReturn:@"foo"] andPost:notification] lowercaseString];

	XCTAssertEqualObjects(@"foo", [mock lowercaseString], @"Should have returned stubbed value.");
	XCTAssertNotNil(observer->notification, @"Should have sent a notification.");
}

- (NSString *)valueForString:(NSString *)aString andMask:(NSStringCompareOptions)mask
{
	return [NSString stringWithFormat:@"[%@, %ld]", aString, (long)mask];
}

- (void)testCallsAlternativeMethodAndPassesOriginalArgumentsAndReturnsValue
{
	[[[mock stub] andCall:@selector(valueForString:andMask:) onObject:self] commonPrefixWithString:@"FOO" options:NSCaseInsensitiveSearch];

	NSString *returnValue = [mock commonPrefixWithString:@"FOO" options:NSCaseInsensitiveSearch];

	XCTAssertEqualObjects(@"[FOO, 1]", returnValue, @"Should have passed and returned invocation.");
}

- (void)testCallsBlockWhichCanSetUpReturnValue
{
	void (^theBlock)(NSInvocation *) = ^(NSInvocation *invocation)
		{
			NSString *value;
			[invocation getArgument:&value atIndex:2];
			value = [NSString stringWithFormat:@"MOCK %@", value];
			[invocation setReturnValue:&value];
		};

	[[[mock stub] andDo:theBlock] stringByAppendingString:[OCMArg any]];

	XCTAssertEqualObjects(@"MOCK foo", [mock stringByAppendingString:@"foo"], @"Should have called block.");
	XCTAssertEqualObjects(@"MOCK bar", [mock stringByAppendingString:@"bar"], @"Should have called block.");
}

- (void)testHandlesNilPassedAsBlock
{
    [[[mock stub] andDo:nil] stringByAppendingString:[OCMArg any]];

    XCTAssertNoThrow([mock stringByAppendingString:@"foo"], @"Should have done nothing.");
    XCTAssertNil([mock stringByAppendingString:@"foo"], @"Should have returned default value.");
}

- (void)testThrowsWhenTryingToUseForwardToRealObjectOnNonPartialMock
{
	XCTAssertThrows([[[mock expect] andForwardToRealObject] name], @"Should have raised and exception.");
}

#pragma mark    returning values in pass-by-reference arguments

- (void)testReturnsValuesInPassByReferenceArguments
{
	NSString *expectedName = @"Test";
	NSArray *expectedArray = [NSArray array];

	[[mock expect] completePathIntoString:[OCMArg setTo:expectedName] caseSensitive:YES
						 matchesIntoArray:[OCMArg setTo:expectedArray] filterTypes:[OCMArg any]];

	NSString *actualName = nil;
	NSArray *actualArray = nil;
	[mock completePathIntoString:&actualName caseSensitive:YES matchesIntoArray:&actualArray filterTypes:nil];

	XCTAssertNoThrow([mock verify], @"An unexpected exception was thrown");
	XCTAssertEqualObjects(expectedName, actualName, @"The two string objects should be equal");
	XCTAssertEqualObjects(expectedArray, actualArray, @"The two array objects should be equal");
}

- (void)testReturnsValuesInNonObjectPassByReferenceArguments
{
    mock = [OCMockObject mockForClass:[TestClassWithIntPointerMethod class]];
    [[mock stub] returnValueInPointer:[OCMArg setToValue:@1234]];

    int actualValue = 0;
    [mock returnValueInPointer:&actualValue];

    XCTAssertEqual(1234, actualValue, @"Should have returned value via pass by ref argument.");

}

- (void)testReturnsValuesInNullPassByReferenceArguments
{
    mock = OCMClassMock([TestClassWithByReferenceMethod class]);
    OCMStub([mock returnValuesInObjectPointer:[OCMArg setTo:nil] booleanPointer:[OCMArg setToValue:@NO]]);
    [mock returnValuesInObjectPointer:NULL booleanPointer:NULL];
    OCMVerify([mock returnValuesInObjectPointer:NULL booleanPointer:NULL]);
}

#pragma mark    invoking block arguments

- (void)testInvokesBlockWithArgs
{

    BOOL bVal = YES, *bPtr = &bVal;
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:@"First param", OCMOCK_VALUE(bPtr), nil]];

    __block BOOL wasCalled = NO;
    __block NSString *firstParam;
    __block BOOL *secondParam;
    void (^block)(NSString *, BOOL *) = ^(NSString *line, BOOL *stop)
    {
        wasCalled = YES;
        firstParam = line;
        secondParam = stop;
    };
    [mock enumerateLinesUsingBlock:block];

    XCTAssertTrue(wasCalled, @"Should have invoked block.");
    XCTAssertEqualObjects(firstParam, @"First param", @"First param not passed to the block");
    XCTAssertEqual(secondParam, bPtr, @"Second params don't match");
}

- (void)testThrowsIfBoxedValueNotFound
{
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:@"123", @"Not an NSValue", nil]];

    XCTAssertThrowsSpecificNamed([mock enumerateLinesUsingBlock:^(NSString *line, BOOL *stop) {}], NSException, NSInvalidArgumentException, @"Should have raised an exception.");
}

- (void)testThrowsIfArgTypesMismatch
{
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:@"123", @YES, nil]];

    XCTAssertThrowsSpecificNamed([mock enumerateLinesUsingBlock:^(NSString *line, BOOL *stop) {}], NSException, NSInvalidArgumentException, @"Should have raised an exception.");
}

- (void)testThrowsIfArgsLengthMismatch
{
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:@"First but no second", nil]];

    XCTAssertThrowsSpecificNamed([mock enumerateLinesUsingBlock:^(NSString *line, BOOL *stop) {}], NSException, NSInvalidArgumentException, @"Should have raised an exception.");
}

- (void)testThrowsForUnknownDefaults
{
    /// @note Should throw because we don't construct default values for the NSRange struct
    /// arguments.
    [[mock stub] enumerateSubstringsInRange:NSMakeRange(0, 10) options:NSStringEnumerationByLines usingBlock:[OCMArg invokeBlock]];

    XCTAssertThrowsSpecificNamed([mock enumerateSubstringsInRange:NSMakeRange(0, 10) options:NSStringEnumerationByLines usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) {}], NSException, NSInvalidArgumentException, @"No exception occurred");
}

- (void)testThrowsForIndividualUnknownDefault
{
    /// @note Should throw because of the third argument (we don't construct a default for struct
    /// values).
    [[mock stub] enumerateSubstringsInRange:NSMakeRange(0, 10) options:NSStringEnumerationByLines usingBlock:[OCMArg invokeBlockWithArgs:@"String 1", OCMOCK_VALUE(NSMakeRange(0, 10)), [OCMArg defaultValue], [OCMArg defaultValue], nil]];

    XCTAssertThrowsSpecificNamed([mock enumerateSubstringsInRange:NSMakeRange(0, 10) options:NSStringEnumerationByLines usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) {}], NSException, NSInvalidArgumentException, @"No exception occurred");
}

- (void)testInvokesBlockWithDefaultArgs
{
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:[OCMArg defaultValue], [OCMArg defaultValue], nil]];

    __block NSString *firstParam;
    __block BOOL *secondParam;
    void (^block)(NSString *, BOOL *) = ^(NSString *line, BOOL *stop)
    {
        firstParam = line;
        secondParam = stop;
    };
    [mock enumerateLinesUsingBlock:block];

    XCTAssertNil(firstParam, @"First param does not default to nil");
    XCTAssertEqual(secondParam, NULL, @"Second param does not default to NULL");
}

- (void)testInvokesBlockWithAllDefaultArgs
{
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlock]];

    __block NSString *firstParam;
    __block BOOL *secondParam;
    void (^block)(NSString *, BOOL *) = ^(NSString *line, BOOL *stop)
    {
        firstParam = line;
        secondParam = stop;
    };
    [mock enumerateLinesUsingBlock:block];

    XCTAssertNil(firstParam, @"First param does not default to nil");
    XCTAssertEqual(secondParam, NULL, @"Second param does not default to NULL");
}

- (void)testOnlyInvokesBlockWhenInvocationMatches
{
    mock = [OCMockObject mockForClass:[TestClassWithBlockArgMethod class]];
    [[mock stub] doStuffWithBlock:[OCMArg invokeBlock] andString:@"foo"];
    [[mock stub] doStuffWithBlock:[OCMArg any] andString:@"bar"];
    __block BOOL blockWasInvoked = NO;
    [mock doStuffWithBlock:^() { blockWasInvoked = YES; } andString:@"bar"];
    XCTAssertFalse(blockWasInvoked, @"Should not have invoked block.");
}

- (void)testInvokesBlockWithClassMockArgs
{
    id mockString = OCMClassMock([NSString class]);
    [[mock stub] enumerateLinesUsingBlock:[OCMArg invokeBlockWithArgs:mockString, [OCMArg defaultValue], nil]];

    __block BOOL wasCalled = NO;
    __block NSString *firstParam;
    void (^block)(NSString *, BOOL *) = ^(NSString *line, BOOL *stop)
    {
        wasCalled = YES;
        firstParam = line;
    };
    [mock enumerateLinesUsingBlock:block];

    XCTAssertEqual(wasCalled, YES, @"Should have invoked block.");
    XCTAssertEqual(firstParam, mockString, @"First param does not match.");
}

- (void)testInvokesBlockWithProtocolMockArgs
{
    id mockProtocol = OCMProtocolMock(@protocol(TestProtocol));
    id mockObject = OCMClassMock([TestClassWithProtocolBlockArgMethod class]);
    [[mockObject stub] doStuffWithBlock:[OCMArg invokeBlockWithArgs:mockProtocol, nil]];

    __block BOOL wasCalled = NO;
    __block id<TestProtocol> firstParam;
    void (^block)(id<TestProtocol> arg) = ^(id<TestProtocol> arg) {
        wasCalled = YES;
        firstParam = arg;
    };
    [mockObject doStuffWithBlock:block];

    XCTAssertTrue(wasCalled, @"Should have invoked block.");
    XCTAssertEqual(firstParam, mockProtocol, @"Param does not match");
}

#pragma mark    accepting expected methods

- (void)testAcceptsExpectedMethod
{
	[[mock expect] lowercaseString];
	[mock lowercaseString];
}

- (void)testAcceptsExpectedMethodAndReturnsValue
{
	[[[mock expect] andReturn:@"Objective-C"] lowercaseString];
	id returnValue = [mock lowercaseString];

	XCTAssertEqualObjects(@"Objective-C", returnValue, @"Should have returned stubbed value.");
}

- (void)testAcceptsExpectedMethodsInRecordedSequence
{
	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	[mock lowercaseString];
	[mock uppercaseString];
}

- (void)testAcceptsExpectedMethodsInDifferentSequence
{
	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	[mock uppercaseString];
	[mock lowercaseString];
}

#pragma mark    verifying expected methods

- (void)testAcceptsAndVerifiesExpectedMethods
{
	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	[mock lowercaseString];
	[mock uppercaseString];

	[mock verify];
}

- (void)testRaisesExceptionOnVerifyWhenNotAllExpectedMethodsWereCalled
{
	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	[mock lowercaseString];

	XCTAssertThrows([mock verify], @"Should have raised an exception.");
}

- (void)testAcceptsAndVerifiesTwoExpectedInvocationsOfSameMethod
{
	[[mock expect] lowercaseString];
	[[mock expect] lowercaseString];

	[mock lowercaseString];
	[mock lowercaseString];

	[mock verify];
}

- (void)testAcceptsAndVerifiesTwoExpectedInvocationsOfSameMethodAndReturnsCorrespondingValues
{
	[[[mock expect] andReturn:@"foo"] lowercaseString];
	[[[mock expect] andReturn:@"bar"] lowercaseString];

	XCTAssertEqualObjects(@"foo", [mock lowercaseString], @"Should have returned first stubbed value");
	XCTAssertEqualObjects(@"bar", [mock lowercaseString], @"Should have returned seconds stubbed value");

	[mock verify];
}

- (void)testReturnsStubbedValuesIndependentOfExpectations
{
	[[mock stub] hasSuffix:@"foo"];
	[[mock expect] hasSuffix:@"bar"];

	[mock hasSuffix:@"foo"];
	[mock hasSuffix:@"bar"];
	[mock hasSuffix:@"foo"]; // Since it's a stub, shouldn't matter how many times we call this

	[mock verify];
}

-(void)testAcceptsAndVerifiesMethodsWithSelectorArgument
{
	[[mock expect] performSelector:@selector(lowercaseString)];
	[mock performSelector:@selector(lowercaseString)];
	[mock verify];
}

#pragma mark    verify with delay

- (void)testAcceptsAndVerifiesExpectedMethodsWithDelay
{
	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	[mock lowercaseString];
	[mock uppercaseString];

	[mock verifyWithDelay:1];
}

- (void)testAcceptsAndVerifiesExpectedMethodsWithDelayBlock
{
    dispatch_async(dispatch_queue_create("mockqueue", nil), ^{
        [NSThread sleepForTimeInterval:0.1];
        [self->mock lowercaseString];
    });

	[[mock expect] lowercaseString];
	[mock verifyWithDelay:1];
}

- (void)testFailsVerifyExpectedMethodsWithoutDelay
{
    dispatch_async(dispatch_queue_create("mockqueue", nil), ^{
        [NSThread sleepForTimeInterval:0.1];
        [self->mock lowercaseString];
    });

	[[mock expect] lowercaseString];
	XCTAssertThrows([mock verify], @"Should have raised an exception because method was not called in time.");
	[mock verifyWithDelay:1];
}

- (void)testFailsVerifyExpectedMethodsWithDelay
{
	[[mock expect] lowercaseString];
	XCTAssertThrows([mock verifyWithDelay:0.1], @"Should have raised an exception because method was not called.");
}

#pragma mark    ordered expectations

- (void)testAcceptsExpectedMethodsInRecordedSequenceWhenOrderMatters
{
	[mock setExpectationOrderMatters:YES];

	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	XCTAssertNoThrow([mock lowercaseString], @"Should have accepted expected method in sequence.");
	XCTAssertNoThrow([mock uppercaseString], @"Should have accepted expected method in sequence.");
}

- (void)testRaisesExceptionWhenSequenceIsWrongAndOrderMatters
{
	[mock setExpectationOrderMatters:YES];

	[[mock expect] lowercaseString];
	[[mock expect] uppercaseString];

	XCTAssertThrows([mock uppercaseString], @"Should have complained about wrong sequence.");
}

- (void)testRejectThenExpectWithExpectationOrdering
{
    [mock setExpectationOrderMatters:YES];
    [[mock reject] lowercaseString];
    [[mock expect] uppercaseString];
    XCTAssertNoThrow([mock uppercaseString], @"Since lowercaseString should be rejected, we shouldn't expect it to be called before uppercaseString.");
}

#pragma mark    nice mocks don't complain about unknown methods, unless told to

- (void)testReturnsDefaultValueWhenUnknownMethodIsCalledOnNiceClassMock
{
	mock = [OCMockObject niceMockForClass:[NSString class]];
	XCTAssertNil([mock lowercaseString], @"Should return nil on unexpected method call (for nice mock).");
	[mock verify];
}

- (void)testRaisesAnExceptionWhenAnExpectedMethodIsNotCalledOnNiceClassMock
{
	mock = [OCMockObject niceMockForClass:[NSString class]];
	[[[mock expect] andReturn:@"HELLO!"] uppercaseString];
	XCTAssertThrows([mock verify], @"Should have raised an exception because method was not called.");
}

- (void)testThrowsWhenRejectedMethodIsCalledOnNiceMock
{
    mock = [OCMockObject niceMockForClass:[NSString class]];

    [[mock reject] uppercaseString];
    XCTAssertThrows([mock uppercaseString], @"Should have complained about rejected method being called.");
}

- (void)testThrowsWhenTryingToAddActionToReject
{
	mock = [OCMockObject niceMockForClass:[NSString class]];
	XCTAssertThrows([[[mock reject] andReturn:@"Foo"] stringValue]);
}

- (void)testUncalledRejectStubDoesNotCountAsExpectation
{
    mock = [OCMockObject niceMockForClass:[NSString class]];

    [[mock expect] lowercaseString];
    [[mock reject] uppercaseString];
    [mock lowercaseString];

    XCTAssertNoThrow([mock verify], @"Should not have any unmet expectations.");

}

@end

redpajama_set_name: RedPajamaGithub