I was told yesterday that 2 of the kids will only be here 1 day next week. Mom/boyfriend going on vacation. This will be like their third week out this year. Must be nice. Now, I have in my handbook about needing a 2 week noitce for such things. I also have a 3 day min. amount. now the cousin of the other 2 will be here all week. So, since it's the holiday season, I was thinking of telling them that I will only charge for 2 days instead of 3. With the other child here all week and if I charge them for 2 days it will come to the 3 day min. rate anyway. I know boyfried (also grandfather who has custody of the one who wil be here all week) doesn't like paying for days when they are not here or only for a couple of hours. I have written a letter stating what my expenses include to maybe help them understand my viewpoint a little.
Now as you know, I ask for a minimum amount each week per child.
butter, granola bars, crackers, etc.
pencil crayons, rubber stamps, ink pads, ribbon, etc.
think the children will like.
when the children leave. There are things that need to be done when they are not here.
here or not. But without that min. amount I wouldn't be able to continue providing childcare.
I have a 3 day minimum as well. Stick by that!!!
This was posted on another site. I agree to stick to your policy. If you deter from it once they will always expect it.
I understand that child care is not inexpensive. In order to help families realize what is included in what you pay for child care I've listed below what is involved in the cost of child care.
What you pay to my child care will guarantee: high quality child care, nutritious meals and snacks and a safe, nurturing environment for your child. In Family Child Care your child will have much more individual attention and opportunities for learning, and much less illness than a center care.
•my income including the taxes and the social security, which I pay in.
Like other self-employed workers, Family Child Care providers do not receive the benefits many employees take for granted. These include health/dental insurance, life insurance, retirement/pension, workers compensation, and unemployment insurance. These benefits often amount to as much as 35% and today, often more of a person's wages.
Unlike other forms of self-employment family child care is very restrictive in that there is no room for growth. The State of __________ dictates the size of my business.
To protect precious time with my family you will find late fees in my contract. I cannot take time for appointments or obligations without careful planning and covering my responsibilities. My work day hours do not end when your child leaves. Some or all of my training, preparation, paperwork, shopping or cleaning time happens after the children leave. I really do not want the extra fees, but it is imperative that you understand my responsibilities to my family, and my own child as well.
Your child is the most precious thing to you and is worth the price of quality child care. My goals are providing reliable service and peace of mind as you leave your child in my care in the busyness of your day. I hope this gives you a better understanding about all the ways in which your fees are applied.
Please consider when taking in your next customers... charging a monthly "tuition". You ask what days and hours they will come, you figure out an average monthly cost, and that is what they pay every month (you can split it into 2x/mo, or even 3x or 4x/mo, but it is still that set amount due every month.) They pay whether they are there every day that is contracted for, or whether they are absent however many days that month. Easy to do, no hard feelings on either side, and everyone involved knows what to expect month to month.
I would tell them nothing about your business expenses and the specifics of such. It's really none of their business. Does your local auto repair shop give you a breakdown explanation of why their shop rate is what it is? Does any business? NO, because it's none of the customers business.
This is the rate I charge, don't like it, go elsewhere. You contracted for this rate up front with full knowledge of it, now is not the time to re-negotiate.
I agree with chickenhauler, no way would i make excuses to them of why they are being enforced to obligate the contract they signed when enrolling, they know what they agreed to, be careful giving any discounts even during the 'holidays' especially to a family that already thinks you are overpaid..Now if you have a family that is respectful and on time dropping off, picking up and paying all the time then id consider giving a discount otherwise no way..
And for the 'monthly' payments? I've tried hourly,weekly and monthly. Hourly no way no how never again! Monthly? Way to much paper work for me and confusion to the parents, not all months are equal in the amount of days and weeks so you'd have to give invoices out to 'remind' parents what they owe. I have found that making parents pay one week in advance of care every week has eleminated a lot of confusion on their part and a lot of stress on mine. At first i worried that the parents couldnt or wouldnt do a weekly fee in advance but then i thought 'hey, they know they have a daycare bill, they can budget it in and pay me every week regardless of what their pay schedule is'. And guess what? It has worked, no more late payments (thanks to the increased $20 late fee) and now i know i am working for $ instead of wondering if I'll get paid, now if there is a problem and someone doesnt pay me i can stop them at the door and say 'no pay no stay'. i havent had to do that yet but yes i would if i had to.
First, I don't feel like I'm making excuses. Some people are just oblvious of what it takes to operate a child care business.
Second, I will not give them the discount. This family has caused me more headaches than I can count.
And if they can afford 3 getaways they can afford to pay me.
Well, anytime you try to explain the "why" of your rating in a business, it comes off as an excuse to those who are hearing it.
if Ihad a parent not appreciate me and my dedication to their child,... they would no longer be welcome.
Yes, materials that are actually installed on your car.
They don't tell you what the cost of shop rags, parts washer solvent, shop heat, the cost of a hoist, permits and disposal of hazardous waste, employee wages and bennies, or the actual cost of the parts put in the car.
Wrenching isn't where the money's at......believe it or not, shops make more money on parts markup than on the work.
'Wrenching' doesn't tell specifics of what it cost and neither did that list. I think the list is a good idea. I just had a parent make a comment about the "state funding' I get that covers my utilities, supplies and food. WT*$#%? The only $ I get from the state is 2/3 of what YOU the parent owes me as a state welfare recipient AND a lot of rules and limitations on how many children/income I can have.
Exactly, parents are clueless. Where do they come up with their ideas.
"I strive to provide families with quality care and education for their child each day. Your weekly tuition also covers the cost of developmentally appropriate curriculum and materials, nutritious meals and snacks, and a safe and clean learning environment."
When you mention all of the little things it sounds a little petty and takes away from the professional nature of running a business.
I have to agree with that blanket statement. If parents don't like my rates, they're welcome to go elsewhere. I charge a reasonable rate, and I don't think I need to justify that to the parents. I do feel I need to explain the whole concept of "paying for the spot", so I do that, once, in our interview. But to lay out all of my expenses is too much. I don't think it should be necessary. They aren't shareholders or employers, and I just don't think they need to know what I spend my money on. They can see the crafts that go home, my menus, the new toys that appear quite regularly, and the fact that their children are happy, clean and well-cared-for -- that should be enough.
Sorry if I didn't list what shop operating costs were over a decade ago (when I got out of that gig).
If you feel the need to justify your business charges, then by all means, do so.
I just tell people "If you think I'm getting "rich", you should become a millionaire, being that you seem to know everything.....why don't you give it a try?"
Well, I did not give them an explaination of expenses. I just handed them the bill slip without a discount for the 2 kids who were only here 1 day. I charged them the 3 day min.


IN THE past week, the world has been captivated by the bitter confrontation between the Indian government and a short, bespectacled seventy-four-year-old man named Anna Hazare, a self-styled anti-corruption crusader.
On August 16, Hazare's arrest and internment in Tihar Jail, South Asia's largest complex of high-security prisons, sparked candlelit marches across the country, leading a shaken government to order his release in less than twelve hours. In a stunning turnaround, Hazare refused to leave, insisting that the government remove all conditions on his "fast-unto-death" in protest of the government's recent anti-corruption legislation, which he feels is not strong enough. Hazare walked out of Tihar a national hero on August 20 and is currently lodged within the expansive public grounds of Delhi's Ramlila Maidan, surrounded by tens of thousands of supporters, national flags, and mammoth portraits of Mohandas Karamchand ("Mahatma") Gandhi. Today (Wednesday) is the ninth day he has refused to eat.
As an admirer of Gandhi's, I have found the ceaseless comparisons of Hazare with Gandhi—propagated by the media, Hazare's supporters, and Hazare himself—troubling and inappropriate. I am not alone in my reservations about Hazare, who is not a popular figure within left and progressive circles in India. His movement has been portrayed, so far accurately, as a narrow, middle-class, upper-caste phenomenon that is dangerously tinged with authoritarianism and Hindu nationalism.
Yet the reference to Gandhi should not be simply dismissed as a convenient political ploy. It speaks to what the Hazare movement wants to be, and to the transformative potential of what has transpired in the last few days. But if the idea of "Gandhi" is an end as much as it is a political means, can Hazare be brought closer to the vision of the one and only?
IT IS evident from his interviews and speeches that Hazare views corruption as the result of unchecked human greed. There is no further analysis. Gandhi too stressed the importance of personal ethics: "Be the change you want to see in the world" is one of his best-remembered axioms. But Gandhi's understanding of why humans err was more profound, his diagnosis more structural. For Gandhi, personal greed had a wider social context, and was also rooted in the unethical choices and practices of the state. Gandhi would surely condemn India's bitter scourge of corruption were he alive today. Unlike Hazare, however, he would demand a more systemic answer to a more preliminary question: How did this come to pass?
The character of corruption in India has not changed over time, though its magnitude certainly has. Conventional wisdom might suggest that the corruption that plagues India today is a vestige of the widespread corruption of the state-centered economy, which preceded the liberalizing reforms of 1991. Yet many of the worst cases of corruption in recent years were borne out of deregulation, privatization, and the fostering of public-private partnerships—the very processes that were meant to reduce the discretionary powers of public officials. An example is the notorious "2G spectrum scam," in which cellphone licenses were sold for a fraction of their value, resulting in the loss of a staggering $39 billion to the national exchequer.
From a Gandhian perspective, such continuity is not surprising. Liberalization did not transform the core objectives of the state, only its methods and instruments. India still follows what Gandhi fundamentally opposed: a master-narrative of growth-at-all-cost that is at odds with the goal of a more equitable and ecologically conscious society. India remains wedded to a high-modernist development paradigm that traps it, as it always has, in a race to "catch up" with the West and, more recently, with China. There are repercussions to competing in this heady game of global one-upmanship: great impatience with those who choose not to participate (such as indigenous peoples and environmentalists) and intolerance of dissent and "messy politics" more generally. The newly affluent middle classes galvanized by Hazare—the business and corporate leaders who financed his campaign—are particularly guilty of such insensitivity.
One might ask how serious Hazare's core supporters are about fighting corruption when their primary instinct has been to ignore or quash protest. A recent example illustrates this point. Earlier this month, the state auditor released its final report on the 2010 Commonwealth Games. The 744-page document revealed that the games, held in Delhi last year, were not only unjustifiably expensive (with a price tag of $4.1 billion), but also massively corrupt (some $1.6 billion are said to have gone missing). Yet to some, the auditor's review was not surprising. In the years leading up to the games, hundreds of human rights advocates, student groups, and independent activists had expressed fears about the event's flawed planning. Slum-dwellers were being evicted. Environmental norms were being violated. There were many signs of fraud. Hazare's middle-class supporters heeded none of these proverbial red flags, though they later expressed shock and outrage at the auditor's report. Rather, as the games drew closer, the event was eagerly celebrated as one that would affirm India's "world-class" status. Critics were dismissed, even condemned, as unpatriotic killjoys.
This is not to say that middle-class Indians, estimated to be 300 million strong, have no material basis for their complaints, or that they do not recognize that corruption is rampant in both the public and private sectors. School principals will ask for a "donation" before they admit your child. Passport officials will direct you to fee-charging "agents" in return for clearing your file. If you'd like a copy of your birth certificate, you'll have to give baksheesh (tips). If you'd like a company to award you a contract for changing the light bulbs in its office, you'd better be prepared to offer a "cut" to a lower administrator, or he'll make sure his boss never hears of your bid. The middle class is by no means an insignificant victim of corruption.
Its suffering cannot compare, however, to the miseries endured by the poor: the loss of income and livelihood, when government officials and private developers conspire to cheat farmers of their land; the hunger, when subsidized food, meant for the poor, is siphoned off and sold on the open market; the missed opportunities, when teachers employed by government schools take up private tuition instead of delivering their classes.
Hazare and his supporters have been silent on a range of recent developments—such as illegal mining and the land acquisition process for SEZs (special economic zones)—in which corruption hurts poor farmers, fisherfolk, and indigenous communities rather than well-heeled city-dwellers. Reckless and rapacious economic transformations have proceeded unchecked, even as Hazare has prayed, fasted, and stressed the importance of vegetarianism and teetotaling. Gandhi would surely have been critical of such unwillingness to connect personal ideals of moral living with a broader vision of social and environmental justice. While Gandhi curried favor with wealthy business elites—a strategy that earned him enduring opprobrium from India's Communist Left—his primary base of support was always the rural poor, in whose service he advocated a smaller-scale and more ecologically conscious road to "development" than the one India ultimately adopted. Hazare, in contrast, has yet to formulate a position that challenges the neoliberal objectives and ill-founded nationalism of his financiers and followers.
I am not arguing that every protester should be armed with an erudite analysis of national and global problems. Gandhi would have resisted such banal elitism. Yet it is the responsibility of Hazare and his advisers, who now have an enviable upper hand over the government, to develop a platform that addresses not only the symptoms of corruption, but also its root causes. Only then can they reasonably evoke Gandhi's name.
IF HAZARE'S diagnosis of the problem of corruption is un-Gandhian, so is his prescription of a Leviathan-like "Lokpal," based on the concept of the "Ombudsman" in Western democracies. While Gandhi would probably not worry about the monitoring of elected representatives by a Lokpal, he would surely raise questions, if not oppose, the creation of another colossal and centralized state institution, over which ordinary citizens appear to have little control. The seven-member Lokpal bench proposed by Hazare's Jan Lokpal Bill will comprise former judges, bureaucrats, and other "persons of eminence," ceding enormous power to "experts" cut off from the grassroots.
Despite apparent differences, then, the government and Hazare have the same technocratic approach to reducing corruption, centered on correcting individual behavior. The immediate reason for Hazare's hunger strike and the events of last week is a bitter dispute between the government and "Team Anna" (Hazare and his advisers) over which version of the Lokpal Bill the parliament should accept. This face-off notwithstanding, the government's bill differs from Hazare's not in terms of basic design, but in terms of questions such as who can be investigated by the Lokpal (Hazare wants the prime minister included, the government does not), the sorts of investigatory powers the Lokpal will enjoy (Hazare wants wiretaps, the government does not), and whether whistleblowers will be protected by law (Hazare wants a guarantee that they will, the government does not).
The government's bill is certainly more conservative than Hazare's, but both are top-down in their orientation. While the idea of a Lokpal is a good one, the institution, on its own, is unlikely to make more than a minor dent in corruption. An anti-corruption route more in keeping with Gandhian principles is that of the National Campaign for People's Right to Information (NCPRI). The NCPRI's approach genuinely empowers ordinary citizens by recognizing that they are entitled to a transparent and accountable government. Under the Right to Information Act, passed by the Indian parliament in 2005 in response to pressure from the NCPRI, any citizen can ask to review the government's records and documents. The NCPRI has also created space for voicing grassroots concerns, through locally grounded mechanisms such as Jan Sunwais (public hearings). "Team Anna" would do well to build on the NCPRI's pioneering work in its ongoing war on corruption.
STILL, COMPARISONS of Hazare and Gandhi are not entirely without substance. His willingness to sacrifice himself for a cause is both a Gandhian principle and strategy. Given the history of India's anti-colonial movement, the government's labeling of Hazare's fast-unto-death as "illegal suicide" is both dishonest and offensive. The government's justification of Hazare's arrest in the interest of "law and order" and its description of Hazare's supporters as "armchair fascists, over-ground Maoists, and closet anarchists" are nothing short of reactionary. So is the government's fast-unraveling attempt to portray Hazare as personally corrupt or the puppet of a "foreign hand." Even those with a rudimentary understanding of Indian history know that these were precisely the sorts of arguments employed by the British to counter Gandhi.
The government's argument that Hazare is a threat to parliamentary democracy is also disingenuous. Hazare is not calling for regime change, nor is he disputing the parliament's authority to make laws. Furthermore, even if Hazare's ideas were truly revolutionary (which they are not), the concept of parliamentary supremacy is not absolute. What about popular sovereignty, the political principle that the legitimacy of the state is created by the will or consent of its people, who are ultimately the source of political power? According to this ideal, distrust of government is healthy, and it is the duty of citizens to monitor their elected representatives. Many important changes would have not occurred were lawmakers simply left to their own devices to enact just laws. People such as Gandhi, Susan B. Anthony, and Martin Luther King, Jr. had to dispute and disobey existing laws in order to pave the way for better ones. Perhaps Hazare, too, will be remembered for forcing open doors when no one else would—for jolting India into starting a countrywide discussion on corruption, of a scale that small, local civil society groups could not possibly hope to initiate.
But despite his high-voltage personality and ability to inspire—which are reminiscent of Gandhi—Hazare has limitations that Gandhi did not have. Unlike Gandhi, Hazare is not a deep thinker. Nor is he an educated man. More worrying, he seems to lack the Mahatma's sense of compassion and good judgment. Hazare's critics say that he has a soldier's view of corruption rather than that of the spiritual leader he claims to be. He is notorious for advocating the death penalty in the worst cases of corruption, public flogging for "ungodly" vices such as alcoholism, and even forced vasectomies to curb population growth.
So far, Hazare's team of advisers has managed to keep his tyrannical proclivities in check and has played to his strengths, arguing that he better represents the "common man" than refined dynastic leaders such as Rahul Gandhi, of the ruling Congress Party, or the upper-middle-class heroes of India's freedom struggle. But "Team Anna" will have to do a lot more if Hazare is to become more palatable to other civil society groups and social movements, whose support it will need in order to endure beyond these tense days of brinkmanship. One way that "Team Anna" could genuinely succeed in emulating Gandhi is by building a multifaceted and inclusive alliance against corruption—not only individual acts of corruption by unethical public servants, but also processes, such as unregulated mining by private companies, that have precipitated some of the most injurious forms of corruption.
There are hopeful signs that such a transformation is already underway. Hazare has already broadened his demands beyond corruption to issues such as farmers' rights to land, the rights of laborers to humane work conditions, and even nuclear nonproliferation. His cause has acquired important allies, such as social activist Aruna Roy, who is a prominent leader of the NCPRI. Besides improving Hazare's image—which is still that of a man who surrounds himself with cops and swamis (holy men)—Roy's intervention may help temper some of the more authoritarian aspects of Hazare's version of the Lokpal Bill. She has proposed several generally friendly amendments to Hazare's draft, such as that there be three offices of the Lokpal rather than one, each covering a different branch of the government. Roy, however, remains critical of Hazare's fast, which she sees as an arm-twisting technique that "derides" democratic institutions.
Hazare's movement, furthermore, has now expanded beyond the urban middle class and Hindu upper caste. Major civil society actors, such as the National Alliance of Peoples' Movements and the All India Muslim Women Personal Law Board, have pledged support to Hazare, as have hundreds of students' groups, farmers' groups, senior citizens' societies, taxi drivers' unions, and small vendors' associations. An example of the latter are Mumbai's dabbawallas, who went on strike for the first time in 120 years on August 19 to protest Hazare's arrest. (Dabbawallas are a unique service industry in Mumbai and other large metropolises: they deliver boxed lunches—dabbas—to office workers in the inner city).
As I picked my way through the jam-packed Ramlila grounds last Sunday—some 20,000 people had shown up, with thousands more lingering in long lines—I was struck by the diversity of the crowds: Christians, Muslims, and Hindus, young and old, mothers and babies, rickshaw-pullers and stylish men sporting designer sunglasses. A joyful, celebratory atmosphere prevailed. The experience left no doubt in my mind that the Hazare "phenomenon," as it is often derisively called, is quickly becoming an authentically broad-based mass movement. Only the most cynical will deny its significance or insist that it remains a rigid "one-man" show.
Anna Hazare is still an unfinished story. He may never be Gandhi, but the next few weeks will reveal whether his team of advisers and the mass movement he has inspired can live up to the Gandhian ideals of empathy, inclusiveness, and systemic change. In the face of this tremendous possibility, Hazare's immediate demand—the passage of the Jan Lokpal Bill—is of secondary importance.
Mitu Sengupta is an associate professor of politics at Ryerson University, Toronto, and director for the Centre for Development and Human Rights (CDHR) in New Delhi. She may be reached via msengupta [at] gmail [dot] com.


text:
Fired Cabinet heads
hiding from Sharon
Published June 4, 2004 at 9:37pm
Two ministers axed by Ariel Sharon today tried to dodge the Israeli prime minister's couriers delivering the dismissal letters, prompting a flurry of exchanges to ensure the firings take effect before a vote Sunday on Sharon's unilateral disengagement plan.
The ministers, Avigdor Lieberman and Benyomin Elon of the hard-line National Union party, led the opposition to Sharon's plan to withdraw troops and all settlements from the Gaza Strip, and several settlements from the West Bank.
The firings, which were all but predicted in a WND report Thursday, would give Sharon an 11-10 Cabinet majority for a Gaza withdrawal.
But first both ministers need to be found. According to Israeli law, the dismissals do not take effect until 48 hours after they have been received in person.
Lieberman was eventually tracked down at his gym, while Elon remains elusive.
If Elon cannot be tracked down before the start of the Jewish Sabbath, Sunday's vote might have to be delayed. Sharon only has a Cabinet majority for the Gaza plan once the dismissals of Lieberman and Elon legally take effect.
Elon, speaking on Israel Radio from an "undisclosed location," said he would do everything possible to evade Sharon's delivery men. '
'I will make every effort to make it difficult for the prime minister,'' Elon said. ''He has not yet given me the letter and my dismissal has not yet taken effect.''
Israel's Army Radio later reported Elon was spotted in the Netzarim settlement in the Gaza Strip, but his spokesperson refused to comment on the report.
Sharon's office issued a statement today saying it does not intend to hire detectives to search for Elon, although Minister Ahmed Tibi suggested Sharon issue an arrest warrant. He said Elon was probably hiding in Gaza, and that Sharon "knows how to find someone if he really wants to."
Elon announced he would not accept a phone notification since he could not be certain it was in fact the Prime Minister speaking to him and not "Yatzpan," a popular Israeli comedian famous for his impersonations of politicians.
Sharon called Elon Friday to inform him of the dismissal, but, Elon said, "I told him that by law he cannot fire me over the phone.
"I got a call on my cellular phone, and the voice was similar to that of Arik Sharon. ... I told him that I can't be sure if it really is the prime minister or if it is Yatzpan on the other end of the line," Elon said.
"I think it's hilarious," Moshe Frager, a Likud voter, said. "This nation needs some entertainment. Israel should put a bounty on him like Bin Laden, then maybe someone will turn him in."
Dalia Medved, a Labor voter, said she thinks Elon "is being really immature. He's stalling the democratic process and acting like an infant."
The dismissals mark a major turning point for Sharon, once the largest builder of Israeli settlements. He is formally divorcing his traditional ultranationalist allies and moving more to the center, even at the risk of being drawn into early elections.

redpajama_set_name: RedPajamaCommonCrawl


The climbing starts off with a series of intricate crack and slab pitches, as you climb the buttress the pitches move up and right towards the crux overlap. Once you pull the overlap some nice corner systems take you to the top of the route.
This alpine day is suitable for climbers with an advanced understanding of rope and equipment skills and a high level of fitness.
For climbers looking for the ultimate Remarkables experience 'DB EH?' can be linked into the Double Cone-Single Cone traverse to make an extra long day of alpine climbing! From the top of 'DB EH?' the route traverses all the way over both summits of double cone and to the top of single cone before descending the southern gullies.


text:
use time::Duration;
use sys_common::mutex::{mod, Mutex};
use sys::condvar as imp;

/// An OS-based condition variable.
///
/// This structure is the lowest layer possible on top of the OS-provided
/// condition variables. It is consequently entirely unsafe to use. It is
/// recommended to use the safer types at the top level of this crate instead of
/// this type.
pub struct Condvar(imp::Condvar);

/// Static initializer for condition variables.
pub const CONDVAR_INIT: Condvar = Condvar(imp::CONDVAR_INIT);

impl Condvar {
    /// Creates a new condition variable for use.
    ///
    /// Behavior is undefined if the condition variable is moved after it is
    /// first used with any of the functions below.
    #[inline]
    pub unsafe fn new() -> Condvar { Condvar(imp::Condvar::new()) }

    /// Signal one waiter on this condition variable to wake up.
    #[inline]
    pub unsafe fn notify_one(&self) { self.0.notify_one() }

    /// Awaken all current waiters on this condition variable.
    #[inline]
    pub unsafe fn notify_all(&self) { self.0.notify_all() }

    /// Wait for a signal on the specified mutex.
    ///
    /// Behavior is undefined if the mutex is not locked by the current thread.
    /// Behavior is also undefined if more than one mutex is used concurrently
    /// on this condition variable.
    #[inline]
    pub unsafe fn wait(&self, mutex: &Mutex) { self.0.wait(mutex::raw(mutex)) }

    /// Wait for a signal on the specified mutex with a timeout duration
    /// specified by `dur` (a relative time into the future).
    ///
    /// Behavior is undefined if the mutex is not locked by the current thread.
    /// Behavior is also undefined if more than one mutex is used concurrently
    /// on this condition variable.
    #[inline]
    pub unsafe fn wait_timeout(&self, mutex: &Mutex, dur: Duration) -> bool {
        self.0.wait_timeout(mutex::raw(mutex), dur)
    }

    /// Deallocate all resources associated with this condition variable.
    ///
    /// Behavior is undefined if there are current or will be future users of
    /// this condition variable.
    #[inline]
    pub unsafe fn destroy(&self) { self.0.destroy() }
}

redpajama_set_name: RedPajamaGithub


In our first lesson for CATS (Critical and Theoretical Studies) we was given an introduction to what we would be doing in CATS, this involved learning the history, theories and perspectives of Games Design to give us a "toolbox of information" about our chosen course. We will study others to give us inspiration which we will also critic.
For our first exercise we was given multiple pictures and asked to us what they meant to our subject, for example there was a range of pictures from the Magnavox Odyssey (the first household games console) to the iPad (the all in one tablet). We decided as a group to individually discuss each picture and how it was relevant.
Then we was asked how Cultural artefact, Material culture, Media practice and Form of entertainment was relevant to Games Design, first off as a group we identified they all are in some way. Cultural artefact– The history and future of gaming shapes cultures of all ages due to the social participation and how it brings people together, for example: women's role in gaming. Material culture– that a game has evolved into a social gathering online to speak and play co operatively. Media practice– one of the largest industries in the world with around 70% of people play video games. Form of entertainment– Goes without saying really one of the most prominent forms of entertainment around with around 3billion hours a week spent gaming as a planet.
We was then asked our opinions of what we believe the relationship is between a game and a gamer. This is not a straight forward question to answer due to it is totally reliant on both the game (emotional, shooter, adventure etc.) and the gamer (regular, occasional, rarely or hard-core) these factors both play a part in how engaged the gamer will be in the game so it totally depends on the situation.
Once we had watched this we was given our brief and some homework. The homework set was some keywords and also was to bring in a picture which to me personally meant gaming, I have chose to pick a childhood system which to this day is the reason why I am so passionate about gaming and have chosen to pursue it as a career, The PlayStation 1. This system was bought for me when I was just 2years old and I enjoyed many hours on games such as Crash Bandicoot and Spyro, which are still my favourite games to this day.
Categories: CATS, Log Book | Tags: CATS, History of gaming, iPad, log book, Magnavox Odyssey, PHASEgaming, PlayStation, ted, Video game | Permalink.


Let me me start by saying that I consider myself, by nature and His grace, the eternal optimist. If there's a silver lining in a situation, I will hunt it down and make it my own. However when I woke up this morning the feeling was quite different. I was met with a ferocious, internal negativity both in my mind and attitude. The enemy was at work, preying on my stresses, concerns and other chinks he must have found in my armor. He had worked his way in and was twisting the knife.
Now I have been around this block enough times to understand and know to expect these moments. If the enemy of our souls sees a way to get into the life of a believer, he will try and exploit it to the highest degree. Recognizing my state of mind, I quickly got up, showered and left the house, as I knew I wouldn't be of any good to anyone until I was able to clear my head.
So….I did my grocery shopping and exchanged pleasantries with people at the store. Even that helped take the edge off a bit. I knew I still wasn't yet ready to "engage" anyone with any depth, so I headed across the street to Starbucks for an iced coffee and to dig into His Word. As I was driving, I passed a homeless Army vet who looked to be somewhere in his mid 30's. He was walking on a prosthetic limb and carrying everything he owned on his back. My heart went out to him and I thought about how shameful it is that we as a nation somehow allow this to happen….more on him later.
I sat down at the corner table by the window and opened the Bible app on my phone. What to read…. If I'm being completely transparent with you, at these times it's often hard for me to find the motivation to pick anything in particular. Maybe you've been there? So I treated it like I do my exercise program. I just dug in and did it. 1 Corinthians 13, came to mind. You know the one? The famous chapter about love. The fact that it was so out of left field with how I was feeling at that moment, I was being Coached and I knew it. Alright let's go….
If you've ever done any physical resistance training (weight training, etc.) you will do multiple sets of the same exercise to fatigue your muscles and cause them to get stronger over time. I often apply the same principle to my "spiritual workouts" and I will re-read the passage multiple times. Each repetition works it's way deeper into my heart to do it's mighty work….and I felt my spirit began to lift. At that moment I was just grateful to be out of the pit I had awakened in.
I finished my coffee and started back out to my car. "I wonder if he's still out here?" I thought to myself. I looked around the corner of the building and sure enough, the Army vet I had seen earlier was standing on the corner, asking for help.
One of the "weapons" that I find helps in these battles (and helps me get out of my own head), is to focus on somehow being a blessing to someone else. I highly recommend this for anyone to try. I'm sure it upsets our spiritual enemy to no end, which gives me further motivation and even greater satisfaction.
I ran back into Starbucks, grabbed a gift card and walked over to him. A hearty "No way!" was followed by a giant bear hug as I gave him the card. We shared a great conversation, talked about the crazy hot weather here in the valley….and I managed to complain about our air conditioner being out yesterday…to someone that had nothing…. He and I both had a laugh about that. We talked for awhile longer and as we parted ways, I prayed for him. That he would be strengthened and blessed and reminded of Jesus' love. By the end, we both had tears in our eyes….
In case you haven't heard this yet today, He LOVES YOU too! Stay the course. Keep looking up.
Excellent reminder to put our minds to work on helping someone else! That will keep us from focusing on our problems and will help solve someone else's problems. Thanks for sharing this!
got cut off… My heart goes out to their situation, what a good way to change my emotions from fear and to help someone else, your conversation probably helped that man more than you could know!


It's been a long time since I've taken the plunge and created a book trailer. In fact, Windows Movie Maker was still available. I read where you could make them using the Windows Photos App. A little search for 'how to' instructions and a lot of tweaking, and here's the result.
The Aberdeen Town House clock tower stretched above the roofline but that was the place he sought. Nestled between Henry's Bar and the pedestrianized portion of Shiprow stood the As the Pages Turnbookshop.


We're seasoned investors in Fall River real estate, and we're looking to buy several houses each month in the Fall River MA area. Every month we get calls from those who have inherited a house and are looking to sell the house… so the info below are some tips to help you navigate the process.
If you don't want to deal with making repairs, updating kitchens, improving landscaping and overall cleanup, don't worry. We buy Fall River houses for cash, as-is.
In certain situations we may be able to help you structure a lease-option agreement that allows you to rent and sell at the same time – capturing the best of both worlds. These kinds of deals can be complicated, but our Fall River investment experience can help you win.
We'll help you determine prices for any property near Fall River – if you sold it today without doing any work, the highest price the market will bear, and the projected value of keeping it as a rental (along with the costs).


I am available to perform radiological investigations for private patients at Spire Bristol Hospital on a Thursday morning and early afternoon. I accept referrals from general practitioners and hospital consultants and provide same day reporting. Important results will be communicated to the referring doctor on the day of the investigation. I am available to perform US scans, CT scans and MRI scans and some interventional procedures. More complex interventional procedures can be performed at North Bristol NHS Trust and aftercare provided in a Spire bed under my direct care.
I am an interventional radiologist specialising in urological and renal imaging, as well as all arterial/venous imaging. I am Deputy Head of Training in the Severn Deanery School of Radiology and am Head of the Radiology Department at North Bristol NHS Trust. I have been a consultant radiologist for 12 years and prior to my consultant appointment. spent 11 years in surgical, medical and radiological training posts.
Imaging of urological disorders, investigating haematuria, imaging renal stones, imaging the aorta, imaging kidneys, ureters and bladder. Interventional radiology.
Member of the Interventional Radiologists Society of Europe.
Consultant Radiologist, North Bristol NHS Trust.


text:
Storms Leave Thousands in the Dark
The storms knocked power out to thousands on Monday.
By Ryan Hanrahan
Published Jun 17, 2013 at 2:27 PM | Updated at 1:11 AM EDT on Jun 18, 2013
A large tree came crashing down on Lakewood Dr. in Coventry after the storm today.
A line of severe storms rolled through Connecticut Monday afternoon knocking down trees and power lines.
The storms moved from northwest to southeast beginning around 4:45 p.m. Severe thunderstorm warnings were issued for most of the state, but have since expired.
Crews in Manchester spent hours at a home on Lakewood Circle North. They had to get a 50 foot tree off the roof. It uprooted during the storm, when through the attic, and destroyed the chimneys. "Bricks, they were flying, it was popping whatever was coming," said owner Jan Ziskoski. There was so much damage inspectors said it was too dangerous for her to live in. "I didn't stop shaking for probably two hours," Ziskoski added.
A few streets away on Faith Circle there were more problems. A tree limb broke in the and crashed down on another home. "It was like a truck hit the house," said Tammy Castonguay.
Thunderstorm Photos
Trees crashed down in Coventry on Lakewood Drive, destroying a home. Another tree tumbled down, landing on an SUV and hitting a man while he was grilling in his yard.
More than 22,000 Connecticut Light & Power customers were without electricity at the height of the storm.
East Hartford was hit hardest, with more than 17,000 outages. A tree came down on power lines causing the outage. The storms left about 75-percent of the town in the dark.
Tuesday could see another threat of storms.
DOWNLOAD THE NBC CONNECTICUT WEATHER APP
Track thunderstorms on our Interactive Radar.


1. I have been classified as a non-resident. What does this mean? What do I do?
A: When a student applies to be a student at a California Community College, residency for tuition purposes is determined based on legal status and how long a student has been residing in the state. You may be eligible for a tuition waiver if you meet AB 540/2000/68 criteria. To check if you meet that criteria, please view the Affidavit form. You can also email mc.dreamers@missioncollege.edu for assistance.
2. Am I eligible for financial aid as an undocumented student?
A: In the state of California, an undocumented student who is eligible for and completes an affidavit form for AB 540/2000/68 can apply for all state financial aid by either completing the CA Dream Act application online by the March 2nd deadline for the upcoming academic year or by completing the California Promise Grant application (formerly known as Board of Governors Fee Waiver).
3. What is an Affidavit?
A: An affidavit is a legal document. In California, when a student signs and completes the Affidavit for California Non-Resident Tuition exemption, they are requesting that the out of state tuition fees are waived and that the student is only charged in-state tuition fees because they declare they meet the criteria.
4. If I have a social security number through DACA, do I fill out the FAFSA?
A: No, if you have a social security number through DACA, you do not fill out FAFSA in the state of CA. You can complete the CA Dream Act application by March 2nd for the upcoming academic year.
5. When is the deadline to apply for financial aid for dreamers?
A: March 2nd for the CA Dream Act application for the upcoming academic year. Check with your college for the deadline to apply for a fee waiver.
6. What are the AB 540 criteria?
Someone who attended a combination of California high school, adult school and community college for the equivalent of three years or more and graduated from a CA high school or received a GED equivalent or completed an associate degree from a California Community College or completed the minimum requirements at a California Community College for transfer to a CSU or UC.
7. What is the difference between DACA and the CA Dream Act?
A: Deferred Action for Childhood Arrivals is a federal program through Department of Homeland Security which gave eligible applicants a two-year renewable work permit to lawfully work in the United States and protection from deportation. As of 2017, it is currently under review under the Trump administration. However, in the state of California, DACA has nothing to do with financial aid or attending college.
The CA Dream Act is a financial aid application similar to the FAFSA for students in California who meet AB 540/AB 2000/ SB 68 criteria. This allows eligible students to apply for state financial aid only (not federal) such as Cal Grant. DACA has nothing to do with state financial aid.
8. I do not have DACA, what are my option to work in California?
A: SB 1159 allows for anyone in California with a Tax Identification Number from the IRS (ITIN) to apply for licensure for professional licenses in California.


text:
Maxfield Parrish (25 de juliol del 1870, Filadèlfia - 30 de març del 1966, Cornish) fou un pintor, cartellista i il·lustrador estatunidenc. El seu pare fou el pintor i gravador Stephen Parrish. Fou deixeble de Howard Pyle. Estudià a l'Acadèmia Pennsilvània de Filadèlfia i a la de Belles Arts de Howars Pyle. Va ser membre d'algunes prestigioses acadèmies i associacions artístiques de prestigi, entre les quals destaca la National Academy of Design. Col·laborà amb les revistes Harper's, The Century i Scribner's. Al Museu Nacional d'Art de Catalunya es conserven obres seves.

Referències

Enllaços externs

 http://www.bpib.com/illustrat/parrishc.htm
 http://ead.dartmouth.edu/html/ml62_fullguide.html
 http://americanillustration.org/artists/parrish/parrish.html
 http://www.gutenberg.org/2/0/9/1/20916/20916-h/20916-h.htm
 http://www.bpib.com/illustrat/parrish.htm
 http://parrish.artpassions.net
 http://www.nocloo.com/gallery2/v/maxfield-parrish-poems-childhood/
 http://www.americanartarchives.com/parrish,m.htm
 http://hdl.loc.gov/loc.rbc/juv.28132

Artistes de Filadèlfia
Alumnes del Haverford College
Alumnes de l'Acadèmia de Belles Arts de Pennsilvània
Morts a Nou Hampshire
Pintors de Pennsilvània

redpajama_set_name: RedPajamaWikipedia


Through aura photography, the treatment of acute and chronic diseases can be checked to monitor the success of the treatment. Regardless of the the type of therapy you are using to treat physical or psychological problems, if you have take a picture before the treatment, another photo during the treatment and one after the treatment, the aura photos will show if the therapy is showing beneficial results. The reason being that if the physical, mental or spiritual health of a human is improving, no matter through which therapy, it will earlier or later show in the aura.
Often changes appear in the aura before the person being photographed is actually aware of those changes. A therapist who is familiar with the use of the aura photography and is observing the change of the aura colors over time obtains a valuable and powerful tool for his/her work.
Through a profound experience of unity, Bharati's Kundalini got powerfully awakened and ever since she can see energy fields with her physical eyes. Since this time she has been studying intensively astral worlds and everything about the aura. Especially through darkness retreats she is accompanying interested people towards their own soul experiences.
Bharati is sharing her knowledge how to activate your own soul and healing power, in individual consultations, presentations and workshops.
Her main points in the energy work are aura seeing and aura healing, and especially lucide dreaming and astral traveling.


text:
George William Whitmore (February 8, 1931 – January 1, 2021) was an American mountain climber and conservationist. He was a member of the first team to climb a vertical face El Capitan in 1958, by the route called The Nose.

Background
Whitmore was trained as a pharmacist at the University of California, San Francisco.

He had served in the Air Force as an aeromedical evacuation officer and later worked as a pharmacist. Whitmore was a lifelong environmental activist on behalf of wilderness preservation, such as promoting the establishment of the Kaiser Wilderness in 1976. He lobbied for passage of the California Wilderness Act of 1984, which he later described as establishing "the longest stretch of de facto wilderness in the lower 48 states."

Whitmore was a cancer survivor and died from complications subsequent to COVID-19 in Fresno, California, on January 1, 2021, at age 89, during the COVID-19 pandemic in California.

References

1931 births
2021 deaths
American mountain climbers
American conservationists
Deaths from the COVID-19 pandemic in California


text:
Track: Field Music release new single 'Orion from the Street', plus new tour dates
NewsTrack / Video
SEE: the sweet dreaminess of Tom Joshua's 'Undergrowth'
Chris Sawle — September 12, 2020
Tom Joshua, photographed by Jodie Canwell
TOM JOSHUA, the singer who first broke into our collective consciousness with "Meteor Showers", has just released a teaser single, the sweet pop harmonising of "Undergrowth" ahead of an EP of the same name, which will be with us come October 9th.
The new song – watch the surreal imagery of the video, which we've included below – is rooted in the surroundings of Tom's home near Stockton-on-Tees, and was inspired by a surreal dream sequence conceived while out walking the dog.
"I had a pretty vivid dream of me, a little nomad, waking up in the middle of the night with a floor tom on my back, walking around the estates where I live," Tom said.
"I found a place to set up my drum – a fenced off green in a nearby estate – and started playing.
"Next thing is loads of odd people came out of garages and Biffa bins, skeletons came out of the hedges and the flowerbeds to watch me do some terrible one man drum busking. They seemed overwhelmingly grateful – big bunch of weirdos!"
The video was filmed by fellow north-east creative Jodie Canwell, who's also worked with Michael Kiwanuka.
She said: "The whole thing felt like a Funny Bones book which I liked to read as a kid and seemed a nicely absurd premise for a video.
"So I amassed a posse of friends and convinced them to take to the streets in the middle of the night in some skeleton outfits I bought on the internet, and a brown paper bag I found in my dad's office."
Follow Tom on Twitter, Facebook, Instagram, YouTube and at his website.
Tags: Indiepopsinger-songwriterTom Joshuavideo
Next post Track: BUMMER - False Floor
Previous post NEWS: The Maytals' Toots Hibbert has died, aged 77
About the Author Chris Sawle
Sometime scribe and inveterate crate-digger, adoring all things C86, psych, soundtrack, breakbeat, electronica and post-rock from the toe of West Cornwall.


text:
/**
 * @unrestricted
 */
PerfUI.OverviewGrid = class {
  /**
   * @param {string} prefix
   */
  constructor(prefix) {
    this.element = createElement('div');
    this.element.id = prefix + '-overview-container';

    this._grid = new PerfUI.TimelineGrid();
    this._grid.element.id = prefix + '-overview-grid';
    this._grid.setScrollTop(0);

    this.element.appendChild(this._grid.element);

    this._window = new PerfUI.OverviewGrid.Window(this.element, this._grid.dividersLabelBarElement);
  }

  /**
   * @return {number}
   */
  clientWidth() {
    return this.element.clientWidth;
  }

  /**
   * @param {!PerfUI.TimelineGrid.Calculator} calculator
   */
  updateDividers(calculator) {
    this._grid.updateDividers(calculator);
  }

  /**
   * @param {!Array.<!Element>} dividers
   */
  addEventDividers(dividers) {
    this._grid.addEventDividers(dividers);
  }

  removeEventDividers() {
    this._grid.removeEventDividers();
  }

  reset() {
    this._window.reset();
  }

  /**
   * @return {number}
   */
  windowLeft() {
    return this._window.windowLeft;
  }

  /**
   * @return {number}
   */
  windowRight() {
    return this._window.windowRight;
  }

  /**
   * @param {number} left
   * @param {number} right
   */
  setWindow(left, right) {
    this._window._setWindow(left, right);
  }

  /**
   * @param {symbol} eventType
   * @param {function(!Common.Event)} listener
   * @param {!Object=} thisObject
   * @return {!Common.EventTarget.EventDescriptor}
   */
  addEventListener(eventType, listener, thisObject) {
    return this._window.addEventListener(eventType, listener, thisObject);
  }

  /**
   * @param {?function(!Event):boolean} clickHandler
   */
  setClickHandler(clickHandler) {
    this._window.setClickHandler(clickHandler);
  }

  /**
   * @param {number} zoomFactor
   * @param {number} referencePoint
   */
  zoom(zoomFactor, referencePoint) {
    this._window._zoom(zoomFactor, referencePoint);
  }

  /**
   * @param {boolean} enabled
   */
  setResizeEnabled(enabled) {
    this._window.setEnabled(enabled);
  }
};

PerfUI.OverviewGrid.MinSelectableSize = 14;

PerfUI.OverviewGrid.WindowScrollSpeedFactor = .3;

PerfUI.OverviewGrid.ResizerOffset = 3.5;  // half pixel because offset values are not rounded but ceiled

/**
 * @unrestricted
 */
PerfUI.OverviewGrid.Window = class extends Common.Object {
  /**
   * @param {!Element} parentElement
   * @param {!Element=} dividersLabelBarElement
   */
  constructor(parentElement, dividersLabelBarElement) {
    super();
    this._parentElement = parentElement;

    UI.installDragHandle(
        this._parentElement, this._startWindowSelectorDragging.bind(this), this._windowSelectorDragging.bind(this),
        this._endWindowSelectorDragging.bind(this), 'text', null);
    if (dividersLabelBarElement) {
      UI.installDragHandle(
          dividersLabelBarElement, this._startWindowDragging.bind(this), this._windowDragging.bind(this), null,
          '-webkit-grabbing', '-webkit-grab');
    }

    this._parentElement.addEventListener('mousewheel', this._onMouseWheel.bind(this), true);
    this._parentElement.addEventListener('dblclick', this._resizeWindowMaximum.bind(this), true);
    UI.appendStyle(this._parentElement, 'perf_ui/overviewGrid.css');

    this._leftResizeElement = parentElement.createChild('div', 'overview-grid-window-resizer');
    UI.installDragHandle(
        this._leftResizeElement, this._resizerElementStartDragging.bind(this),
        this._leftResizeElementDragging.bind(this), null, 'ew-resize');
    this._rightResizeElement = parentElement.createChild('div', 'overview-grid-window-resizer');
    UI.installDragHandle(
        this._rightResizeElement, this._resizerElementStartDragging.bind(this),
        this._rightResizeElementDragging.bind(this), null, 'ew-resize');

    this._leftCurtainElement = parentElement.createChild('div', 'window-curtain-left');
    this._rightCurtainElement = parentElement.createChild('div', 'window-curtain-right');
    this.reset();
  }

  reset() {
    this.windowLeft = 0.0;
    this.windowRight = 1.0;
    this.setEnabled(true);
    this._updateCurtains();
  }

  /**
   * @param {boolean} enabled
   */
  setEnabled(enabled) {
    this._enabled = enabled;
  }

  /**
   * @param {?function(!Event):boolean} clickHandler
   */
  setClickHandler(clickHandler) {
    this._clickHandler = clickHandler;
  }

  /**
   * @param {!Event} event
   */
  _resizerElementStartDragging(event) {
    if (!this._enabled)
      return false;
    this._resizerParentOffsetLeft = event.pageX - event.offsetX - event.target.offsetLeft;
    event.stopPropagation();
    return true;
  }

  /**
   * @param {!Event} event
   */
  _leftResizeElementDragging(event) {
    this._resizeWindowLeft(event.pageX - this._resizerParentOffsetLeft);
    event.preventDefault();
  }

  /**
   * @param {!Event} event
   */
  _rightResizeElementDragging(event) {
    this._resizeWindowRight(event.pageX - this._resizerParentOffsetLeft);
    event.preventDefault();
  }

  /**
   * @param {!Event} event
   * @return {boolean}
   */
  _startWindowSelectorDragging(event) {
    if (!this._enabled)
      return false;
    this._offsetLeft = this._parentElement.totalOffsetLeft();
    var position = event.x - this._offsetLeft;
    this._overviewWindowSelector = new PerfUI.OverviewGrid.WindowSelector(this._parentElement, position);
    return true;
  }

  /**
   * @param {!Event} event
   */
  _windowSelectorDragging(event) {
    this._overviewWindowSelector._updatePosition(event.x - this._offsetLeft);
    event.preventDefault();
  }

  /**
   * @param {!Event} event
   */
  _endWindowSelectorDragging(event) {
    var window = this._overviewWindowSelector._close(event.x - this._offsetLeft);
    delete this._overviewWindowSelector;
    var clickThreshold = 3;
    if (window.end - window.start < clickThreshold) {
      if (this._clickHandler && this._clickHandler.call(null, event))
        return;
      var middle = window.end;
      window.start = Math.max(0, middle - PerfUI.OverviewGrid.MinSelectableSize / 2);
      window.end = Math.min(this._parentElement.clientWidth, middle + PerfUI.OverviewGrid.MinSelectableSize / 2);
    } else if (window.end - window.start < PerfUI.OverviewGrid.MinSelectableSize) {
      if (this._parentElement.clientWidth - window.end > PerfUI.OverviewGrid.MinSelectableSize)
        window.end = window.start + PerfUI.OverviewGrid.MinSelectableSize;
      else
        window.start = window.end - PerfUI.OverviewGrid.MinSelectableSize;
    }
    this._setWindowPosition(window.start, window.end);
  }

  /**
   * @param {!Event} event
   * @return {boolean}
   */
  _startWindowDragging(event) {
    this._dragStartPoint = event.pageX;
    this._dragStartLeft = this.windowLeft;
    this._dragStartRight = this.windowRight;
    event.stopPropagation();
    return true;
  }

  /**
   * @param {!Event} event
   */
  _windowDragging(event) {
    event.preventDefault();
    var delta = (event.pageX - this._dragStartPoint) / this._parentElement.clientWidth;
    if (this._dragStartLeft + delta < 0)
      delta = -this._dragStartLeft;

    if (this._dragStartRight + delta > 1)
      delta = 1 - this._dragStartRight;

    this._setWindow(this._dragStartLeft + delta, this._dragStartRight + delta);
  }

  /**
   * @param {number} start
   */
  _resizeWindowLeft(start) {
    // Glue to edge.
    if (start < 10)
      start = 0;
    else if (start > this._rightResizeElement.offsetLeft - 4)
      start = this._rightResizeElement.offsetLeft - 4;
    this._setWindowPosition(start, null);
  }

  /**
   * @param {number} end
   */
  _resizeWindowRight(end) {
    // Glue to edge.
    if (end > this._parentElement.clientWidth - 10)
      end = this._parentElement.clientWidth;
    else if (end < this._leftResizeElement.offsetLeft + PerfUI.OverviewGrid.MinSelectableSize)
      end = this._leftResizeElement.offsetLeft + PerfUI.OverviewGrid.MinSelectableSize;
    this._setWindowPosition(null, end);
  }

  _resizeWindowMaximum() {
    this._setWindowPosition(0, this._parentElement.clientWidth);
  }

  /**
   * @param {number} windowLeft
   * @param {number} windowRight
   */
  _setWindow(windowLeft, windowRight) {
    this.windowLeft = windowLeft;
    this.windowRight = windowRight;
    this._updateCurtains();
    this.dispatchEventToListeners(PerfUI.OverviewGrid.Events.WindowChanged);
  }

  _updateCurtains() {
    var left = this.windowLeft;
    var right = this.windowRight;
    var width = right - left;

    // We allow actual time window to be arbitrarily small but don't want the UI window to be too small.
    var widthInPixels = width * this._parentElement.clientWidth;
    var minWidthInPixels = PerfUI.OverviewGrid.MinSelectableSize / 2;
    if (widthInPixels < minWidthInPixels) {
      var factor = minWidthInPixels / widthInPixels;
      left = ((this.windowRight + this.windowLeft) - width * factor) / 2;
      right = ((this.windowRight + this.windowLeft) + width * factor) / 2;
    }
    this._leftResizeElement.style.left = (100 * left).toFixed(2) + '%';
    this._rightResizeElement.style.left = (100 * right).toFixed(2) + '%';

    this._leftCurtainElement.style.width = (100 * left).toFixed(2) + '%';
    this._rightCurtainElement.style.width = (100 * (1 - right)).toFixed(2) + '%';
  }

  /**
   * @param {?number} start
   * @param {?number} end
   */
  _setWindowPosition(start, end) {
    var clientWidth = this._parentElement.clientWidth;
    var windowLeft = typeof start === 'number' ? start / clientWidth : this.windowLeft;
    var windowRight = typeof end === 'number' ? end / clientWidth : this.windowRight;
    this._setWindow(windowLeft, windowRight);
  }

  /**
   * @param {!Event} event
   */
  _onMouseWheel(event) {
    if (!this._enabled)
      return;
    if (typeof event.wheelDeltaY === 'number' && event.wheelDeltaY) {
      const zoomFactor = 1.1;
      const mouseWheelZoomSpeed = 1 / 120;

      var reference = event.offsetX / event.target.clientWidth;
      this._zoom(Math.pow(zoomFactor, -event.wheelDeltaY * mouseWheelZoomSpeed), reference);
    }
    if (typeof event.wheelDeltaX === 'number' && event.wheelDeltaX) {
      var offset = Math.round(event.wheelDeltaX * PerfUI.OverviewGrid.WindowScrollSpeedFactor);
      var windowLeft = this._leftResizeElement.offsetLeft + PerfUI.OverviewGrid.ResizerOffset;
      var windowRight = this._rightResizeElement.offsetLeft + PerfUI.OverviewGrid.ResizerOffset;

      if (windowLeft - offset < 0)
        offset = windowLeft;

      if (windowRight - offset > this._parentElement.clientWidth)
        offset = windowRight - this._parentElement.clientWidth;

      this._setWindowPosition(windowLeft - offset, windowRight - offset);

      event.preventDefault();
    }
  }

  /**
   * @param {number} factor
   * @param {number} reference
   */
  _zoom(factor, reference) {
    var left = this.windowLeft;
    var right = this.windowRight;
    var windowSize = right - left;
    var newWindowSize = factor * windowSize;
    if (newWindowSize > 1) {
      newWindowSize = 1;
      factor = newWindowSize / windowSize;
    }
    left = reference + (left - reference) * factor;
    left = Number.constrain(left, 0, 1 - newWindowSize);

    right = reference + (right - reference) * factor;
    right = Number.constrain(right, newWindowSize, 1);
    this._setWindow(left, right);
  }
};

/** @enum {symbol} */
PerfUI.OverviewGrid.Events = {
  WindowChanged: Symbol('WindowChanged')
};

/**
 * @unrestricted
 */
PerfUI.OverviewGrid.WindowSelector = class {
  constructor(parent, position) {
    this._startPosition = position;
    this._width = parent.offsetWidth;
    this._windowSelector = createElement('div');
    this._windowSelector.className = 'overview-grid-window-selector';
    this._windowSelector.style.left = this._startPosition + 'px';
    this._windowSelector.style.right = this._width - this._startPosition + 'px';
    parent.appendChild(this._windowSelector);
  }

  _close(position) {
    position = Math.max(0, Math.min(position, this._width));
    this._windowSelector.remove();
    return this._startPosition < position ? {start: this._startPosition, end: position} :
                                            {start: position, end: this._startPosition};
  }

  _updatePosition(position) {
    position = Math.max(0, Math.min(position, this._width));
    if (position < this._startPosition) {
      this._windowSelector.style.left = position + 'px';
      this._windowSelector.style.right = this._width - this._startPosition + 'px';
    } else {
      this._windowSelector.style.left = this._startPosition + 'px';
      this._windowSelector.style.right = this._width - position + 'px';
    }
  }
};


The Maremani Nature Reserve forms an integral part of a much more extensive society and accepts that it has an obligation to contribute towards the prosperity of its surrounding communities. The Foundation has always believed that the more people know about nature, the better they understand it and the more willing they are to help protect it. Now that much of the essential groundwork concerning the nature reserve has been completed, the Foundation is shifting its focus to the area of environmental education. There is an outreach programme open to all neighbouring schools, focusing especially on less fortunate communities in which facilities and tutors are provided by the Foundation. 2-3 times per week school outings are arranged where the students and their teachers are picked up by bus and taken on a field trip guided by one of Maremani's experienced employees. The trips include a visit to a lodge where the children have a meal and play in the swimming pool. Through these trips many children get the opportunity to meet the large animals for the first time and express their enthusiasm as they learn about the biodiversity of the savannah. Furthermore, a nature information centre has been built in cooperation with the Municipality of Musina.
The Aage V Jensen Charity Foundation has made very considerable contributions to the MNR's surrounding schools. This includes building new classrooms, new kitchens and toilets, and a new kindergarden, as well as providing books and computers.