text:
Homepage grid
UNRWA Photo by Taghrid Mohammad
"Disrupting" UNRWA Means Disrupting School for 500,000 Palestinian Children
By: Mark Leon Goldberg on August 08, 2018
The UN agency that provides humanitarian relief for Palestinian refugees is coming under assault from the Trump administration. Again.
Late last week, Foreign Policy reported that the Trump administration was seeking to abolish the UN Relief and Works Agency, better known as UNRWA. This is the UN entity that provides humanitarian assistance and social services to Palestinian refugees in the West Bank, Gaza, Jordan, Syria, and Lebanon. It is the lifeline for millions of Palestinians — and now, the Trump administration wants it abolished.
"It is important to have an honest and sincere effort to disrupt UNRWA," Trump advisor Jared Kushner wrote in a memo obtained by Foreign Policy. He added, "Our goal can't be to keep things stable and as they are…Sometimes you have to strategically risk breaking things in order to get there."
The "things" that Kushner seeks to "strategically" break are, in fact, mostly schools and hospitals.
UNRWA provides food relief for the most needy Palestinians, primary health care to over three million people and operates schools for over half a million Palestinian children. It is the single largest employer of Palestinians. Among other things, "disrupting" UNRWA means disrupting the school year for a generation of students.
UNRWA is already operating on a shoestring budget because of a sudden decision by the Trump administration earlier this year to freeze payments. That decision was taken following a vote at the UN General Assembly in which countries overwhelmingly voted to condemn the United States for its decision to relocate the US embassy to Jerusalem. A scheduled payment was withheld, with little exception that the United States would provide funding for UNRWA.
For decades, it has been US policy to provide robust political and financial support for UNRWA.
And embedded in Kushner's memo is the reason why: UNRWA provides a modicum of stability in an otherwise volatile region. Administrations of both parties decided it was in the best interests of the United States and of Israel to prevent a humanitarian catastrophe among Palestinians, particularly in the Occupied Territories. The United States has historically been the largest funder of UNRWA, regularly providing over $300 million annually.
But now, the Trump administration is upending that policy by deliberately seeking to break UNRWA. Ostensibly, the rationale here is to leverage humanitarian assistance in order to force the Palestinian leadership to accept a settlement with Israel on terms more favorable to Israel. But this is a very risky gamble — and one that involves imposing hardships on millions of Palestinians. Breaking UNRWA would add instability to the region and spark a humanitarian catastrophe among a population that is already vulnerable. It would make a bad situation even worse.
From the podcast: Peter Mulrean, Director of UNRWA's Representative Office in New York discusses new challenges to UNRWA operations after US suspended its payments.
IsraelPalestineUNRWA
Twenty Years Ago Today Two United States Embassies Were Bombed. A Survivor Tells His Story
Map of the Day: Countries Where LGBTIQ Groups Are Banned
3 Takeaways from the UN's Gaza Report
General Assembly Upgrades Palestine's Status at UN. Now What?
On Gaza, Tough Diplomacy Ahead for USA at Security Council
Palestine Seeking Observer Membership Status at UN
The UN Agency That Provides Humanitarian Relief for Palestinian Refugees is Facing a Crisis


text:
Overcoming Gender Stereotypes: Women in Tech
Grese Sermaxhaj 22. 04. 2020
Gender inequality still prevails in many different sectors. Particularly, women to this day continue to face gender stereotyping and discrimination in industries traditionally dominated by men, such as technology and mechanical engineering.
Pursuing a passion, turning it into a career
The underrepresentation of women in these areas is a global issue that needs to be addressed. Nevertheless, the future does look promising.
In this exclusive interview with Youth Time, three powerful and inspiring women share their successful journeys. We will jointly discuss their role as leaders, stereotype breakers and role models. In addition to bringing out some enlightening moments, the discussion will also focus on how industry has changed for women in recent years. Society's and their families' perceptions of their work in "unusual" fields and how they overcame gender inequalities are also part of our conversation.
Through this piece we will also bring to you a great upcoming event known as the "WomenTech Global Conference 2020". As we are going through a lockdown, you can discover how this offers a helping hand to get inspired or find a career opportunity.
While women remain largely underrepresented in tech jobs, we want to recognize and promote equal gender representation by highlighting their accomplishments.
Among other things, this piece emphasizes once again that a greater inclusion of women in Tech will not solely benefit gender equality, but the industry itself as well.
It is not a matter of belonging – it is a decision we all make and earn for ourselves
Kosovar Agnesa Belegu, Game Designer at Techland, currently living and working in Warsaw, Poland, was only 22 years old when she landed her first job in the tech industry.
She shares with Youth Time a particular moment that has stuck with her to this day.
Agnesa Belegu / Photo: Innovation Centre Kosovo (ICK)
"It was the first meeting we had with every senior designer on our team – I remember I looked at them and thought: 'What am I even doing here? What could I possibly have to say, that they don't already know?' Yet, it dawned on me, I was there. Sharing space in a room I had been told looked exactly like it did: my colleagues, men that each had at least a decade of experience over me, most were decades older than I was, and had worked on their careers for many years."
The journey of one of Kosovo's first computer game designers has not been unaffected by gender stereotypes.
"The agency video games, provided in an otherwise insulated and isolated mentality, were ground-breaking for my character, and I formed a strong belief that I had to somehow find my way to join the crucible of creating these experiences. Of course none of the characters I would play looked like me – yet the truth of it remained, it was the power to be in someone else's shoes, to see the world through the other point of view, in a reality where the rules we know of do not apply."
"To most others, my family included, it was simply an unacceptable waste of time, especially for a girl, but that did nothing other than put fuel to the flames."
Breaking through borders into the other world
"At least that's how it was perceived, especially back in the early 2000s – and of course my family was not keen on allowing, or rather supporting me to do so. Yet, the world has so rapidly changed and transformed itself that I believe as true that although our mentality has not followed the same path of transformation, our choices have expanded and opened beyond our comprehension."
Belegu goes on to elaborate on women's role in this field.
Women – especially past generations – have been told and have believed that our contribution is incomparable or too small to account for much, or simply too different to matter
"I think this is changing with every passing day, as more women show up in that room, and realize it is not a matter of belonging – it is a decision we all make and earn for ourselves."
Compared to back then, she is of the opinion that the industry has now changed, and will keep changing as long as young girls and women keep showing up.
"Given the power of games as a tool to enable and expand our human capacity for empathy, and that women are a vastly underrepresented group (or rather misrepresented) in games as a medium, our contribution goes beyond that of functionality or technicalities. We not only have a chance to offer a more empathetic, human-centered approach to creating these experiences, but to enrich them with the soles of our shoes – stories of the world seen through our eyes."
Belegu, now working for one of the largest game development studios in Poland, concludes with uplifting words.
"Never has it been more possible to create opportunities for ourselves – and if such a thing is not possible from wherever we stand, we can find the right support to enable us to do so. We have never been more connected as humans, never have we been stronger than now to trust in leaps of faith."
We have tremendous power and capabilities, we just need to learn how to unlock our potential and empower each other
When she first decided to pursue a career in mechanical engineering, Hadeel Jaradat, Facility Management Manager in Rawabi City, received a lot of discouraging statements from many people -including women.
Hadeel Jaradat / Photo: Rawabi
"Some told me that this was a male-dominated field, and that I should pick a career that is more 'appropriate' for females. They insisted that it would be difficult for me to work in such a tough environment and that I am too weak to handle the duties of a mechanical engineer."
Luckily, Jaradat says, she was raised by an encouraging mother.
"She used to tell me that as a woman, I get to decide what my capabilities are, and that I should never allow anyone to set any limits for me. I kept these words with me all along the way while fighting my way into a career that is highly dominated by men. What empowered me the most is feeling confident. I knew that my skills and capabilities were as good, if not better, than men's, and for that I could not accept anything less than what I wanted, desired and deserved."
Moreover, Jaradat asserts that even the educational system was not prepared for such a step.
As one of the very few females studying mechanical engineering, I had to constantly prove that I could do specific tasks, just like my male classmates
"When I tried to sign up for a car maintenance training course offered by a technical training center in preparation for a coming university course, they initially refused to sign me up because they had never had a female participating in this 19-year-old program. For them, this was a good reason to reject me."
However, the injustice she felt made Jaradat even more determined to join the course.
"I imposed myself and attended the first few classes insisting that they let me register, and accepting all their conditions and rules. I had to show them that I could do what my male classmates were doing.[…] As I continued to challenge the unnecessary limitations, restrictions, traditions and low expectations, I felt that the progress I was making alone was not enough. I needed more women by my side because together, we are stronger, and we can make change happen on a larger scale."
I did it, and you can do it
As such, in her third her, she established a club to encourage new young women applicants to join mechanical engineering or any other field they wanted.
"The results were amazing. Slowly but surely, more and more women started to sign up for mechanical engineering and other male dominated fields at my university. At that moment, I realized that there were lots of females who just needed to be empowered to make the change we wanted in our society."
She sheds some light on the importance of having a leader who believes in women.
"After I graduated, I started working with Mr. Bashar Masri, the founder of Rawabi City. He was determined to bring a new mindset of thinking that broke many stereotypes especially about recent graduates and women. […] A few years later, he appointed me as the manager of the Facility Management department "Sah". By then, I was the only woman in a department of over 130 male employees. I was leading a major department, full of men, many of them are older than my father, and in a field in which many people thought I could not work in."
This is how Jaradat elaborates on her experiences when asked about empowering moments.
Six years later, she is proud to have many women colleagues working with her in the department she manages.
"Today, the male workers at "Sah" look at their female colleagues as their equals. They are now used to working with females in this field, and most importantly, they appreciate the unique perspective and the innovative ideas that we bring to the job."
"We have come through a very long journey as women, yet we still have a long path ahead of us. It is not an easy job to fight for our rights, but I cannot think of more fearless creatures to win this fight other than women. We have tremendous power and capabilities, we just need to learn how to unlock our potential and empower each other."
"I did it, and you can do it."
Our focus is global since gender diversity and diversity in tech is not a regional issue
Anna Radulovski, Founder at the WomenTech Network, the Coding Girls Foundation and Tech Family Ventures, explains the mission of this network. It aims to make a global impact and create opportunities for women and minorities at companies and startups that value, support and foster diversity and inclusion.
Anna Radulovski / Photo: Women Tech Network
"During these hard times, many people are being laid off, losing their jobs; often women are the first ones to be asked to leave for unpaid vacation, and we'd like to help. Our focus is global since gender diversity and diversity in tech is not a regional issue. Our aim is to unite 100.000 women in tech with the main theme Being Human in Times of Disruption, Technology, and Innovation."
When asked about the biggest changes that she has witnessed since founding the network, she notes the following:
"We observe change every day and celebrate the small and large victories of our members and partners: be it reaching the next level as a Global WomenTech Ambassador or hiring a smart and skilled female engineer they may meet at our event. We are also excited about seeing our Slack space grow every day, providing a safe space for aspiring and experienced women and minorities in tech."
But, is women's position in technology good enough today? Radulovski's opinion at this point starts with "Yes and No."
it is a process, and it takes time
"Some countries and cultures are more open-minded while others are still narrow-minded, believing that women's place is in the kitchen, looking after children or doing 'feminine' jobs. On the other hand, we see a few role models in tech, who are excellent engineers, product developers, team leads, VPs, CEOs of tech companies, founders of start-ups."
Moreover she notifies us of a great upcoming event that they are hosting, "WomenTech Global Conference 2020".
"In times of social isolation, crisis, and uncertainty it is more important than ever to feel supported by your family or your community. While many of our members are affected by the crisis whether financially or mentally, we see it as important as ever to give our helping hand to get inspired, connect, and find a mentor or career opportunities."
Title photo: Shutterstock
How Technology Affects Relationships
How Technology is changing the Workplace: Benefits and Risks

redpajama_set_name: RedPajamaCommonCrawl


i think we laughed most of the day. our dear friend (and darn near our brother) came to enjoy grub and football and we just love to bring up old movies and tv shows and music and crack each other up! we stuffed ourselves, then we had dinner. the giddy food coma was in full effect as we listened to cat sing christmas carols and watched gibson roll around on the ground like a crazy person. loved having mike with us. this thanksgiving was EPIC.
but let me back up a bit. the day prior to thanksgiving was filled with baking and prepping the food.
i made my first apple pies. they were so delicious thanks to little bit funky's mini apple pie recipe. super cheap and quick. oh and don't forget the vanilla ice cream!
salami and cream cheese rollups are a standard appetizer in our house. originally made by matt's late mother for my first baby shower, it was love at first bite. all you need is a package of salami and a tub of whipped cream cheese. spread a knife of cream cheese onto one slice of salami and roll into thirds.
don't they look yummy? just keep them refrigerated until it's time to place them on the table.
we also had ruffles and onion dip (way yummy) but i didn't feel it warranted a picture.
there hasn't been cookies baked in this house in months. a little sad but we've all appreciated the lack of addicting sugary snacks. but today i had an excuse. so i whipped up 5 dozen soft and chewy chocolate chip cookies. and of course the boys enjoyed licking the beaters. i mean who doesn't really? i know you do!
such a beautiful mountain of baked goodness. if you want to make your own, i use a martha stewart recipe that's been my go-to cookie recipe for years. only the best and she does it right! oh, i added some oats to the last couple batches.
seriously with the leg crossed? are we sure he doesn't need a glass of white wine and some loafers?
he did help clean up afterwards. and yep, he's sportin' the sweeper slippers.
after dinner, gibson decided he would tackle the turkey leg. was he man enough?
in the battle between boy and leg, LEG WON. after like 4 bites he decided he couldn't finish it. but he tried so big.
truly and honestly, this crew is what i'm most thankful for. everyday. they make me crazy and they make me laugh. god i love my boys. and hello christmas card photo!
i'm super excited about my upcoming posts! i'm showing you my christmas decorations!
get your jingle bells on, we're going to a sleigh ride!
awwww Andrea your family is sooo cute. You are such a cutie and gorgeous smile, that first one of you shows true happiness and love. What a great Christmas photo of all of you, love it. Gibson and the turkey leg had me cracking up, what a great photo, all the food looks yummy. We are making cookies tomorrow, gotta finish the pies first. So glad you had a wonderful day and shared it with us. CAN'T WAIT TO SEE THOSE DECORATIONS !!
Hope your Friday and weekend go just good as this did. hugs for all of you.
such a pretty family! looks like you had a great holiday! the salami and cream cheese is yum! I use really thing salami with an herbed cream cheese wrapped around a pretzel rod! cant wait to see your christmas decor!


text:
THE CONCLUSION OF KANT'S MORAL THEORY IN THE TENETS OF THE RECHTSLEHRE CONCLUSION
We can now see that in the text of the Rechtslehre, Kant finally provides what was missing from the argument of the Foundations, namely a demonstration that such obligations as faithful promising are not hypothetically, but are rather categorically, imperative.
Kant's argument is open to criticism at every stage, of course, though it is nonetheless, in my estimation, extremely interesting. Before sketching some of those criticisms, let me call attention once again to an implication of the argument that goes directly counter to the most common impression concerning Kant's ethical theory. Kant is generally viewed as a rigorist, an objectivist, a universalist, a theorist who claims to be able to demonstrate a priori the universal validity of very powerful moral principles that are binding on all agents regardless of their nature or circumstances. And this impression is quite correct. But readers of Kant almost always draw the natural conclusion that he believes these moral principles to be binding on us even in the absence of a legitimately established state. In the familiar language of liberal political theory, Kant is seen as siding with Locke on the question whether the moral law is binding on agents in a state of nature. But it should now be clear that Kant's argument actually entails the opposite conclusion. The procedural obligation to enter into a social contract is certainly binding upon agents in a state of nature, but the moral principles enacted into law by the Legislature of a state thus established are binding only after, and on the condition of, the establishment of the legitimate state.
Kant clearly does not intend this consequence of his moral theory. Quite to the contrary. But his failure to provide a satisfactory theory of obligatory ends forces anyone wishing to embrace his moral theory to rely upon the legislation of the legitimate state as the only source of morally binding substantive principles of practical reason.
And this leads us ineluctably to the question sketched above, whether a legitimately established state, based upon a unanimous social contract and committed to embodying the fundamental principle of justice in its laws, is thereby constrained to a single structure of justice that thus constitutes the objective, universal, unconditionally binding system of principles of practical reason? This, I take it, is essentially the question originally posed by John Rawls in the earlier versions of his theory, before he drained it of its force and interest by an endless series of ad hoc adjustments, concessions, baroque elaborations, and qualifications.
If the answer to the question is yes - if, let us say, a legitimately established republic of rational agents in search of principles compatible with the fundamental postulate of justice must necessarily come upon and agree to Rawls' Two Principles of Justice - then by combining Kant's argument and Rawls', we would have a very powerful defense indeed of a universal system of moral principles. The argument, in a nutshell, would go like this:
1. Rationality as such entails consistent willing.
2. Consistent willing, for a phenomenally appearing agent, entails the possibility of property.
3. The possibility of property entails the necessity of establishing a state through a social contract.
4. A legitimate state composed of rational agents will necessarily enact one and only one set of fundamental principles of justice, namely the Two Principles of Justice.
5. Therefore, we are all, as phenomenally appearing rational agents, obligated universally and unconditionally to form legitimately grounded political communities with those with whom we come into contact, and in those communities to enact the Two Principles of Justice as the fundamental laws governing our interactions.
There are three stages in this argument: the derivation of the requirement of consistent willing from an analysis of what it is to be an agent; the deduction of the necessity of entering a social contract from an analysis of the preconditions of property; and the demonstration that reason dictates one and only one system of principles as the content of a legitimate state.
My own view is that the first stage in the argument, which as I have indicated we find in the pivotal portion of the Second Section of the Foundations, is essentially sound. To be an agent is to be moved by reasons, and the logic of reasons requires consistency of willing. What counts as a good reason for me necessarily counts as a good reason for any agent in relevantly similar circumstances.
The third stage of the argument, I am convinced, is mistaken. Neither Rawls nor anyone else has, to my knowledge, made a convincing case for the claim that free and equal rational agents must, insofar as they are rational, coordinate on a single system of substantive principles regulating their interactions with one another.
It is the second stage that I find especially interesting, in part, I confess, because I have managed to make it clear to myself only recently. Can the material circumstances of human existence - our spatio-temporality, our dependence for the pursuit of our ends on inanimate nature - ground an argument that we have a standing procedural obligation to attempt rational community with those agents with whom we interact? Can we, as Kant claims, compel such rational community?
I think we can conclude immediately that we cannot compel others to enter with us in a social contract, for the essence of such an agreement is that it represents mutual willing, and that implies that it is voluntary. But am I required, simply by the constraints of rational consistency, to seek such community with others, or is it consistent with my status as an agent to adopt nothing more than an instrumental stance vis-a-vis those with whom I interact? Is this, after all, the real content of the injunction to treat humanity as an end and not simply as a means?
I honestly don't know. My pre-philosophical inclination is to believe that the answer is yes, that there is something about construing myself as a rational agent that requires me, in all consistency, to attempt to achieve rational community with others whom I consider to be agents as well - though I do not consider myself bound, should they reject that attempt, to treat them as I would have agreed to treat and be treated, had we actually achieved rational community. But at this point, I do not see an argument that can make that conclusion plausible.
Posted by Robert Paul Wolff at 5:57 AM
Best Merchant Cash Advance Leads are exclusive Leads addressed to you Merchant Cash Advance Leads is the Qualified MCA Leads Data provider as a firm in the entire globe.
THE PROTESTANT ETHIC AND THE SPIRIT OF CAPITALISM ...
MAX WEBER THE PROTESTANT ETHIC AND THE SPIRIT OF C...
RESPONSE TO TWO QUESTIONS
OFF TO DC
ONE-DIMENSIONAL MAN A MINI-TUTORIAL CONCLUSION
ONE-DIMENSIONAL MAN A MINI-TUTORIAL PART THREE
MARCUSE MINI-TUTORIAL
ONE-DIMENSIONAL MAN A MINI-TUTORIAL PART TWO
ONE-DIMENSIONAL MAN -- A MINI-TUTORIAL PART ONE
THE RATIONALE OF THE MINI-TUTORIALS
FUTURE TUTORIALS
THIS IS GETTING TO BE FUN
SHOULD THE OWS MOVEMENT ALIGN ITSELF WITH THE DEMO...
RULES TO LIVE BY
REPORT FROM THE FIELD [SO TO SPEAK]
A REPLY TO J. R.
CULT, SCHMULT, A BEI GESUNDT, SO LONG AS HE LOVES ...
SOME USEFUL KRUGMAN WORDS
DERRICK BELL, JR.
HUMBLE CORRECTION
AND TO THINK THAT i SAW IT ON MULBERRY STREET
I INDULGE IN SOME NAVEL-GAZING
THE CONCLUSION OF KANT'S MORAL THEORY IN THE TENET...
LEITER RULES
LACHRYMA CHRISTIE
THE COMPLETION OF KANT'S MORAL THEORY IN THE TENET...
WALL STREET UPDATE


text:
Q: To obtain the condition for vanishing of the given determinant If $a,b,c$ are distinct real numbers obtain the condition under which the following determinant vanishes.
$$\left|
\begin{array}{cc}
a & a^2 & 1+a^3\\
b & b^2 & 1+b^3\\
c & c^2 & 1+c^3\\
\end{array}
\right|$$
My answer: After a little calculation I was able to show that $D=0$ reduces to $abc=-1$.
Is there a simpler one line answer to this? especially since this matrix looks suspiciously similar to the Vandermonde matrix?

A: This is NOT a one line solution you are expecting but it is an idea which is very useful in solving such determinants which may remind one of Vandermonde matrix.
I'm replacing $a$ by $x$ (for the sake of clarity). Using the linearity of determinants we get
$$\det=
\begin{vmatrix}
x & x^2 & 1+x^3\\
b & b^2 & 1+b^3\\
c & c^2 & 1+c^3\\
\end{vmatrix}
=\begin{vmatrix}
x & x^2 & 1\\
b & b^2 & 1\\
c & c^2 & 1\\
\end{vmatrix}+\begin{vmatrix}
x & x^2 & x^3\\
b & b^2 & b^3\\
c & c^2 & c^3\\
\end{vmatrix}
=A(x)+B(x).
$$
The determinant on the left can be thought of as a third degree polynomial in $x$. Let us call the first determinant (on right) as $A(x)$ (a second degree polynomial in $x$) and the second determinant (on right) as $B(x)$ (a third degree polynomial in $x$).
First consider $A(x)$. Observe that for $x=b$ or $x=c$, this determinant is $0$. Thus both $x-b$ and $x-c$ are factors of this polynomial. Thus
$$A(x)=K(x-b)(x-c).$$
Moreover
$$A(0)=bc(c-b) = K(bc).$$
Thus $K=c-b.$ This means
$$A(x)=(c-b)(x-b)(x-c).$$
Likewise
$$B(x)=bc(c-b)x(x-b)(x-c).$$
Thus the given determinant is
$$\det=(c-b)(x-b)(x-c)[1+bcx].$$
Putting back everything in terms of $a$, we get
$$\det=(c-b)(a-b)(a-c)[1+abc].$$
Now you get all the conditions when this can be $0$, namely
$$a=b \quad \text{ or } \quad b=c \quad \text{ or } \quad c=a \quad \text{ or } \quad abc=-1.$$

A: There is a pretty easy way to obtain the determinant:
First, use the linearity of the determinant to split up the matrix: $$\det (A)=
\begin{vmatrix}
a & a^2 & 1+a^3\\
b & b^2 & 1+b^3\\
c & c^2 & 1+c^3\\
\end{vmatrix}
=\begin{vmatrix}
a & a^2 & 1\\
b & b^2 & 1\\
c & c^2 & 1\\
\end{vmatrix}+\begin{vmatrix}
a & a^2 & a^3\\
b & b^2 & b^3\\
c & c^2 & c^3\\
\end{vmatrix}$$
Then, use $\det(A \cdot B) = \det(A) \cdot \det(B)$ to split up the right matrix; also, switch the colums in the left matrix. What you get are two identical Vandermonde matrices and a diagonal matrix:
$$\det (A)=\begin{vmatrix}
1 & a & a^2 \\
1 & b & b^2 \\
1 & c & c^2 \\
\end{vmatrix}+\begin{vmatrix}
a & 0 & 0\\
0 & b & 0\\
0 & 0 & c\\
\end{vmatrix}\begin{vmatrix}
1 & a & a^2\\
1 & b & b^2\\
1 & c & c^2\\
\end{vmatrix}$$
Now, you can get the determinants with the Vandermonde formula and the formula for diagonal matrices:
$$\det (A)=(b-a)(c-a)(c-b)+abc((b-a)(c-a)(c-b))$$
$$=(b-a)(c-a)(c-b)(abc+1)$$
Now you can easily see when $\det (A)$ vanishes:
$$\det (A) = 0 \iff (b = a) \lor (c = a) \lor (c = b) \lor (abc = 1) $$

A: Let $V$ be the Vandermonde matrix in $a,b,c\;$ with the top row being $(1 \; a \; a^2).$ Your determinant is $E=\det(V'')+a b c \det (V)$ where $V''$ is obtained from $V$ by interchanging the first column of $V$ with the second, giving $V',$ and interchanging the second and third columns of $V',$ giving $V''.$ Therefore $\det (V'')=-\det (V')=-(-\det (V)=\det (V)$ and $E=(1+a b c)\det (V)=(1+a b c)(a-b)(b-c)(a-c).$

redpajama_set_name: RedPajamaStackExchange


text:
Q: php - echo select value without submit I have a clothing website using snipcart which currently has no built in size or color selector so i need to do it myself by putting it in the description so we can know what to send. Anyway, i need the selected value of the color and size to be echoed in the button data.
This is my code:
<?php
    echo"
COLOR

<select id='color' name='color'>
$colorsHTML;
</select>

SIZE

<select name='size' id='size'>
$sizesHTML;
</select>

<button
    class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;'
    data-item-id='2'
    data-item-name='$name'
    data-item-price='$price'
    data-item-weight='0'
    data-item-url=''
    data-item-image='$image'
    data-item-description='$description'>
        ADD TO CART
</button>";
?>

I need the color and size to be echoed in the button's data so it will look like this:
    <?php
echo"
COLOR

    <select id='color' name='color'>
    $colorsHTML;
    </select>

SIZE

    <select name='size' id='size'>
    $sizesHTML;
    </select>

    <button
        class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;'
        data-item-id='2'
        data-item-name='$name'
        data-item-price='$price'
        data-item-weight='0'
        data-item-url=''
        data-item-image='$image'
        data-item-description='$description  COLOR=blue SIZE=XL'>
            ADD TO CART
    </button>";
?>

I've tried this:
but i think i would need a code for it to change the button data when the value for the select input is changed
<button
    class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;'
    data-item-id='2'
    data-item-name='$name'
    data-item-price='$price'
    data-item-weight='0'
    data-item-url=''
    data-item-image='$image'
    data-item-description='$description COLOR =   SIZE = '>
        ADD TO CART
</button>

A: Your requirement can only be achieved by some client side scripting language like JS or Jquery like:
Html:
<select id="size">
  <option value="small">Small</option>
  <option value="large">Large</option>
</select>

Jquery:
$(document).ready(function(){
    $('#size').change(function(){
    $('#response').html($(this).val());
    // $('#response').attr('data-item-description', $(this).val());
  });
});

Working Fiddle
Updated Fiddle
Note: Don't forget to include jquery library

A: For setting data-properties of an element there's a special .data() function in jquery:
$( document ).ready( function() {

    $( "#size" ).change( function() {
        // get value of a selected option
        var val = $( this ).val();
        // set data-attribute of a button
        $( "button" ).data( "color", val );
    } );

    $( "#color" ).change( function() {
        // get value of a selected option
        var val = $( this ).val();
        // set data-attribute of a button
        $( "button" ).data( "size", val );
    } );
} );

Note, that size and color will be data-attributes. This means that in your button they will look like:
<button data-item-description='$description'  data-color='blue' data-size='XL'>


Last year, the local merchants' association and the police asked for a voluntary ban on sales. However, the ban was not successful, with merchants resuming sales for competitive reasons.
A Councilwoman was concerned about out-of-town visitors who might not know that possession was illegal. She suggested that notices be posted. The city solicitor replied that the law "would be like any other in Ocean City" and police would have discretion regarding enforcement in such cases.
News of the vote from the Ocean City Patch. Additional background information from the Ocean City Patch, Press of Atlantic City, Shore News Today, Shore News Today (another story) and the Philadelphia Inquirer.


The World's Not Worth It sees Sand Snowman working with a handpicked cast of collaborators, inclu..
Sand Snowman's 2009 collection of Wyrd Folk wonderment features vocal contributions fr..
I'm Not Here is Sand Snowman's magical offering from 2008. Mastered by ..
Originally released in 2007, The Twilight Game is one of the earliest examples of Sand..


Want to help us rock our IndieGoGo campaign AND win cool stuff for yourself or the rescue of your choice?
Win Our BaRkers Dozen Package of THIRTEEN packs of Tiny Timmy's Dirty Flea Soap.
Step 3) Locate the link below the video and post, tweet and share it with your friends using the provided sharing tools!
Your link will look something like this http://igg.me/at/DirtyFleaSoap/x/####### where the number signs are your unique ID code. When you share this link with friends, anybody who clicks on the link and contributes to our campaign will be associated with you.
At the end of the campaign, we will contact you if you won! You can win by sharing our IndieGoGo campaign using your unique link. There's three ways to win and you can win whether or not you funded us! It's a WIN+WIN=WIN Contest!
HINT: The key to winning one of our three BaRkers Dozen Packs is not only to share yourself, but ask your friends to share with their friends, and ask them to ask their friends to share and so on. For example if you have 100 Facebook friends and 10 share your post and ask their friends to share (say they all have 100 friends too) that equals 100 more shares!!! If you share multiple days at different times of the day you will reach more people too! There I go, giving away all of my secrets! Now go out there and SHARE to WIN+WIN=WIN!!!
Curious as to how you're doing? It's easy!
In the upper-right hand corner > Click on "My Profile" > Click on the tab "My Impact" = See your referrals.


→ Article: What in the World is Children's Lit?
What in the World is Children's Lit?
General writing sites and magazines tend to break juvenile literature into two categories: young adult and children's. Reality is such that children's lit includes board books, picture books, early readers, chapter books and middle grade. Each subgenre caters to a distinct age group, while each age group has its own unique set of guidelines.
Without an accurate idea of how a book fits into the literary world, writers can effectively sabotage their submission efforts.
Board Books: These high concept books target infants through preschool age children. Text is limited and is always accompanied by vivid illustrations. Board books are chunky, making them easy for little hands to manipulate. They typically have thick pages that can withstand a gnawing or two. Themes introduce simple concepts such as colors, opposites, animals or numbers and run anywhere from 6 to 16 pages.
Picture Books: As children mature, they can sit for longer periods of time and understand simple story lines. Picture books run between 300 and 1,500 words, with the average contemporary number hitting about 600. Most of these books have a single point of view character. Protagonists generally include boys, girls or anthropomorphic animals. The premise behind a picture book is a read-aloud experience between caregivers and children ranging in ages from 4 and 8. The prose is often lyrical.
Conflict is simple—a new baby in the family, a lost pet, a bully or a monster. Think The Gruffalo, Where the Wild Things Are or any Robert Munsch book.
Some picture books extend to 12 year-olds and cover a more in-depth subject, but these several thousand word books are the exception, not the rule. Most picture books are 32 pages long.
Early Readers: These bridge books help emerging readers transition from the act of listening to actually reading out loud. Many Early Readers or Step books are written by professionals in the field of education. Step Into Reading is a prime example of these books for 4-8 year olds. The main difference between an early reader and a picture book is the style in which they are written. These books have short sentences and easy to read words. Often, they focus on a specific reading skill. Length varies from 32-48 pages.
Chapter Books: Written for children 7-10, chapter books have increased word counts and decreased illustrations. Main characters are generally around 9 years-old. Gender may be specific based on the target audience. Nate the Great is a prime example of a chapter books. While girls are more likely to read books with male protagonists, boys are far less likely to pick up a girl book. This is essential information for writers wanting to target a cross-gender audience.
At this stage, conflict is still simple, though a dual conflict—internal and external—is common. Sentences generally cap out around ten words and paragraphs are typically three sentences long. Chapters will run between 3-5 pages and books will have 48 to 96 pages.
Middle Grade: No term is more confusing when trying to define a book than this. Middle grade does not mean middle school, which can vary from state to state and town to town. Rather, middle grade typically encompasses books for children ages 8-12. Protagonists are usually seventh or eighth grade, as kids like to read about main characters older than themselves.
Many middle grade protagonists find themselves surrounded by drama, mystery and action. Plots become more complex, often times with subplots to round out the experience. Bullies are popular, both male and female. Swearing is virtually non-existent, while innocent romance may blossom in the hallway or at summer camp. As a rule, nobody dies and everybody ends up happy.
These books are safe places for children to experience the world as they grow and mature. Humor is big, sports abound and the protag almost always saves the day.
But what happens between happily ever after and the dystopian books of today's YA? Some writers have successfully written 'tween books. More mature than a middle grade novel, but not as edgy as YA, these books provide excitement within the confines of moral safety. This emerging market is for kids 12-14.
And finally, we have YA. Young adult novels target high schoolers. Main characters begin at about 15 years old and top out at 17 or 18. Once a character graduates from high school, the novel changes in scope. Generally speaking, readers are egocentric in terms of age. They want to read about characters they can connect with. To a kid, twenty is ancient and college is too close to adulthood to hold much appeal.
More than any other genre, children's lit writers must thoroughly research agent preferences to match their manuscripts by genre, as well as by age. Thankfully, most websites provide guidelines for writers to follow and will usually state something like this: We represent picture books, middle grade and YA.
Not sure if this includes your board book, early reader or chapter book? Simply write a quick note asking if the agent accepts the type of book you are submitting. I have done this on numerous occasions and saved both myself and the agent time and energy.
I like how you included page and word counts as well as what sort of topics or 'feel' category deals with. I found this shopping site helpful: http://www.renlearn....e/quiz_home.asp as you can look up word counts for similar kid's books to see if you are in the ballpark with your own kid lit word count.
LOVE the info on "Tween."


text:
import functools
import threading
import time
import unittest

import mock

from infra_libs.ts_mon.common import errors
from infra_libs.ts_mon.common import interface
from infra_libs.ts_mon.common import metric_store
from infra_libs.ts_mon.common import metrics
from infra_libs.ts_mon.common import monitors
from infra_libs.ts_mon.common import targets
from infra_libs.ts_mon.protos import metrics_pb2

class GlobalsTest(unittest.TestCase):

  def setUp(self):
    target = targets.TaskTarget('test_service', 'test_job',
                                'test_region', 'test_host')
    self.mock_state = interface.State(target=target)
    self.state_patcher = mock.patch('infra_libs.ts_mon.common.interface.state',
                                    new=self.mock_state)
    self.state_patcher.start()

  def tearDown(self):
    # It's important to call close() before un-setting the mock state object,
    # because any FlushThread started by the test is stored in that mock state
    # and needs to be stopped before running any other tests.
    interface.close()
    self.state_patcher.stop()

  def test_flush(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)
    interface.state.global_monitor.send.return_value = None

    # pylint: disable=unused-argument
    def populate_data_set(pb):
      pb.metric_name = 'foo'

    fake_metric = mock.create_autospec(metrics.Metric, spec_set=True)
    fake_metric.name = 'fake'
    fake_metric.populate_data_set.side_effect = populate_data_set
    interface.register(fake_metric)
    interface.state.store.set('fake', (), None, 123)

    interface.flush()
    self.assertEqual(1, interface.state.global_monitor.send.call_count)
    proto = interface.state.global_monitor.send.call_args[0][0]
    self.assertEqual(1,
        len(proto.metrics_collection[0].metrics_data_set[0].data))
    self.assertEqual('foo',
        proto.metrics_collection[0].metrics_data_set[0].metric_name)
    self.assertFalse(interface.state.global_monitor.wait.called)

  def test_flush_async_monitor(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)
    rpc = object()
    interface.state.global_monitor.send.return_value = rpc

    # pylint: disable=unused-argument
    def populate_data_set(pb):
      pb.metric_name = 'foo'

    fake_metric = mock.create_autospec(metrics.Metric, spec_set=True)
    fake_metric.name = 'fake'
    fake_metric.populate_data_set.side_effect = populate_data_set
    interface.register(fake_metric)
    interface.state.store.set('fake', (), None, 123)

    interface.flush()
    self.assertEqual(1, interface.state.global_monitor.send.call_count)
    proto = interface.state.global_monitor.send.call_args[0][0]
    self.assertEqual(1,
        len(proto.metrics_collection[0].metrics_data_set[0].data))
    self.assertEqual('foo',
        proto.metrics_collection[0].metrics_data_set[0].metric_name)
    interface.state.global_monitor.wait.assert_called_once_with(rpc)

  def test_flush_empty(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)

    interface.flush()
    self.assertFalse(interface.state.global_monitor.send.called)

  def test_flush_new(self):
    interface.state.metric_name_prefix = '/infra/test/'
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = targets.TaskTarget('a', 'b', 'c', 'd', 1)

    counter = metrics.CounterMetric('counter', 'desc', None)
    interface.register(counter)
    counter.increment_by(3)

    interface.flush()
    self.assertEqual(1, interface.state.global_monitor.send.call_count)

    proto = interface.state.global_monitor.send.call_args[0][0]
    self.assertEqual(1, len(proto.metrics_collection))
    self.assertEqual(1, len(proto.metrics_collection[0].metrics_data_set))

    data_set = proto.metrics_collection[0].metrics_data_set[0]
    self.assertEqual('/infra/test/counter', data_set.metric_name)

  def test_flush_empty_new(self):
    interface.state.metric_name_prefix = '/infra/test/'
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = targets.TaskTarget('a', 'b', 'c', 'd', 1)

    interface.flush()
    self.assertFalse(interface.state.global_monitor.send.called)

  def test_flush_disabled(self):
    interface.reset_for_unittest(disable=True)
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)
    interface.flush()
    self.assertFalse(interface.state.global_monitor.send.called)

  def test_flush_raises(self):
    self.assertIsNone(interface.state.global_monitor)
    with self.assertRaises(errors.MonitoringNoConfiguredMonitorError):
      interface.flush()

  def test_flush_many(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)
    interface.state.target.__hash__.return_value = 42

    # pylint: disable=unused-argument
    def populate_data_set(pb):
      pb.metric_name = 'foo'

    # We can't use the mock's call_args_list here because the same object is
    # reused as the argument to both calls and cleared inbetween.
    data_lengths = []
    def send(proto):
      data_lengths.append(len(
          proto.metrics_collection[0].metrics_data_set[0].data))
    interface.state.global_monitor.send.side_effect = send

    fake_metric = mock.create_autospec(metrics.Metric, spec_set=True)
    fake_metric.name = 'fake'
    fake_metric.populate_data_set.side_effect = populate_data_set
    interface.register(fake_metric)

    for i in range(501):
      interface.state.store.set('fake', ('field', i), None, 123)

    interface.flush()
    self.assertEquals(2, interface.state.global_monitor.send.call_count)
    self.assertListEqual([500, 1], data_lengths)

  def test_flush_many_new(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = targets.TaskTarget('a', 'b', 'c', 'd', 1)

    # We can't use the mock's call_args_list here because the same object is
    # reused as the argument to both calls and cleared inbetween.
    data_lengths = []
    def send(proto):
      count = 0
      for coll in proto.metrics_collection:
        for data_set in coll.metrics_data_set:
          for _ in data_set.data:
            count += 1
      data_lengths.append(count)
    interface.state.global_monitor.send.side_effect = send

    counter = metrics.CounterMetric('counter', 'desc',
        [metrics.IntegerField('field')])
    interface.register(counter)

    for i in range(interface.METRICS_DATA_LENGTH_LIMIT + 1):
      counter.increment_by(i, {'field': i})

    interface.flush()
    self.assertEquals(2, interface.state.global_monitor.send.call_count)
    self.assertListEqual([500, 1], data_lengths)

  def test_flush_different_target_fields(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = targets.TaskTarget('s', 'j', 'r', 'h')
    metric = metrics.GaugeMetric('m', 'desc', None)

    metric.set(123)
    metric.set(456, target_fields={'service_name': 'foo'})
    interface.flush()

    self.assertEqual(1, interface.state.global_monitor.send.call_count)
    proto = interface.state.global_monitor.send.call_args[0][0]
    self.assertEqual(2, len(proto.metrics_collection))
    self.assertEqual(123,
        proto.metrics_collection[0].metrics_data_set[0].data[0].int64_value)
    self.assertEqual(456,
        proto.metrics_collection[1].metrics_data_set[0].data[0].int64_value)
    self.assertEqual('s', proto.metrics_collection[0].task.service_name)
    self.assertEqual('foo', proto.metrics_collection[1].task.service_name)

  def test_flush_different_target_fields_new(self):
    interface.state.metric_name_prefix = '/infra/test/'
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = targets.TaskTarget('s', 'j', 'r', 'h')
    metric = metrics.GaugeMetric('m', 'desc', None)

    metric.set(123)
    metric.set(456, target_fields={'service_name': 'foo'})
    interface.flush()

    self.assertEqual(1, interface.state.global_monitor.send.call_count)
    proto = interface.state.global_monitor.send.call_args[0][0]
    col = proto.metrics_collection
    self.assertEqual(2, len(col))
    self.assertEqual(123, col[0].metrics_data_set[0].data[0].int64_value)
    self.assertEqual(456, col[1].metrics_data_set[0].data[0].int64_value)
    self.assertEqual('s', col[0].task.service_name)
    self.assertEqual('foo', col[1].task.service_name)

  def test_send_modifies_metric_values(self):
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)
    interface.state.target.__hash__.return_value = 42

    # pylint: disable=unused-argument
    def populate_data_set(pb):
      pb.metric_name = 'foo'

    fake_metric = mock.create_autospec(metrics.Metric, spec_set=True)
    fake_metric.name = 'fake'
    fake_metric.populate_data_set.side_effect = populate_data_set
    interface.register(fake_metric)

    # Setting this will modify store._values in the middle of iteration.
    delayed_metric = metrics.CounterMetric('foo', 'desc', None)
    def send(proto):
      delayed_metric.increment_by(1)
    interface.state.global_monitor.send.side_effect = send

    for i in range(1001):
      interface.state.store.set('fake', (i,), None, 123)

    # Shouldn't raise an exception.
    interface.flush()

  def test_register_unregister(self):
    fake_metric = mock.create_autospec(metrics.Metric, spec_set=True)
    self.assertEqual(0, len(interface.state.metrics))
    interface.register(fake_metric)
    self.assertEqual(1, len(interface.state.metrics))
    interface.unregister(fake_metric)
    self.assertEqual(0, len(interface.state.metrics))

  def test_identical_register(self):
    fake_metric = mock.Mock(_name='foo')
    interface.register(fake_metric)
    interface.register(fake_metric)
    self.assertEqual(1, len(interface.state.metrics))

  def test_duplicate_register_raises(self):
    fake_metric = mock.Mock()
    fake_metric.name = 'foo'
    phake_metric = mock.Mock()
    phake_metric.name = 'foo'
    interface.register(fake_metric)
    with self.assertRaises(errors.MonitoringDuplicateRegistrationError):
      interface.register(phake_metric)
    self.assertEqual(1, len(interface.state.metrics))

  def test_unregister_missing_raises(self):
    fake_metric = mock.Mock(_name='foo')
    self.assertEqual(0, len(interface.state.metrics))
    with self.assertRaises(KeyError):
      interface.unregister(fake_metric)

  def test_close_stops_flush_thread(self):
    interface.state.flush_thread = interface._FlushThread(10)
    interface.state.flush_thread.start()

    self.assertTrue(interface.state.flush_thread.is_alive())
    interface.close()
    self.assertFalse(interface.state.flush_thread.is_alive())

  def test_reset_for_unittest(self):
    metric = metrics.CounterMetric('foo', 'desc', None)
    metric.increment()
    self.assertEquals(1, metric.get())

    interface.reset_for_unittest()
    self.assertIsNone(metric.get())

class FakeThreadingEvent(object):
  """A fake threading.Event that doesn't use the clock for timeouts."""

  def __init__(self):
    # If not None, called inside wait() with the timeout (in seconds) to
    # increment a fake clock.
    self.increment_time_func = None

    self._is_set = False  # Return value of the next call to wait.
    self._last_wait_timeout = None  # timeout argument of the last call to wait.

    self._wait_enter_semaphore = threading.Semaphore(0)
    self._wait_exit_semaphore = threading.Semaphore(0)

  def timeout_wait(self):
    """Blocks until the next time the code under test calls wait().

    Makes the wait() call return False (indicating a timeout), and this call
    returns the timeout argument given to the wait() method.

    Called by the test.
    """

    self._wait_enter_semaphore.release()
    self._wait_exit_semaphore.acquire()
    return self._last_wait_timeout

  def set(self, blocking=True):
    """Makes the next wait() call return True.

    By default this blocks until the next call to wait(), but you can pass
    blocking=False to just set the flag, wake up any wait() in progress (if any)
    and return immediately.
    """

    self._is_set = True
    self._wait_enter_semaphore.release()
    if blocking:
      self._wait_exit_semaphore.acquire()

  def wait(self, timeout):
    """Block until either set() or timeout_wait() is called by the test."""

    self._wait_enter_semaphore.acquire()
    self._last_wait_timeout = timeout
    if self.increment_time_func is not None:  # pragma: no cover
      self.increment_time_func(timeout)
    ret = self._is_set
    self._wait_exit_semaphore.release()
    return ret

class FlushThreadTest(unittest.TestCase):

  def setUp(self):
    mock.patch('infra_libs.ts_mon.common.interface.flush',
               autospec=True).start()
    mock.patch('time.time', autospec=True).start()

    self.fake_time = 0
    time.time.side_effect = lambda: self.fake_time

    self.stop_event = FakeThreadingEvent()
    self.stop_event.increment_time_func = self.increment_time

    self.t = interface._FlushThread(60, stop_event=self.stop_event)

  def increment_time(self, delta):
    self.fake_time += delta

  def assertInRange(self, lower, upper, value):
    self.assertGreaterEqual(value, lower)
    self.assertLessEqual(value, upper)

  def tearDown(self):
    # Ensure the thread exits.
    self.stop_event.set(blocking=False)
    self.t.join()

    mock.patch.stopall()

  def test_run_calls_flush(self):
    self.t.start()

    self.assertEqual(0, interface.flush.call_count)

    # The wait is for the whole interval (with jitter).
    self.assertInRange(30, 60, self.stop_event.timeout_wait())

    # Return from the second wait, which exits the thread.
    self.stop_event.set()
    self.t.join()
    self.assertEqual(1, interface.flush.call_count)

  def test_run_catches_exceptions(self):
    interface.flush.side_effect = Exception()
    self.t.start()

    self.stop_event.timeout_wait()
    # flush is called now and raises an exception.  The exception is caught, so
    # wait is called again.

    # Do it again to make sure the exception doesn't terminate the loop.
    self.stop_event.timeout_wait()

    # Return from the third wait, which exits the thread.
    self.stop_event.set()
    self.t.join()
    self.assertEqual(2, interface.flush.call_count)

  def test_stop_stops(self):
    self.t.start()

    self.assertTrue(self.t.is_alive())

    self.t.stop()
    self.assertFalse(self.t.is_alive())

  def test_sleeps_for_exact_interval(self):
    self.t.start()

    # Flush takes 5 seconds.
    interface.flush.side_effect = functools.partial(self.increment_time, 5)

    self.assertInRange(30, 60, self.stop_event.timeout_wait())
    self.assertAlmostEqual(55, self.stop_event.timeout_wait())
    self.assertAlmostEqual(55, self.stop_event.timeout_wait())

  def test_sleeps_for_minimum_zero_secs(self):
    self.t.start()

    # Flush takes 65 seconds.
    interface.flush.side_effect = functools.partial(self.increment_time, 65)

    self.assertInRange(30, 60, self.stop_event.timeout_wait())
    self.assertAlmostEqual(0, self.stop_event.timeout_wait())
    self.assertAlmostEqual(0, self.stop_event.timeout_wait())

class GenerateNewProtoTest(unittest.TestCase):
  """Test _generate_proto()."""

  def setUp(self):
    interface.state = interface.State()
    interface.state.metric_name_prefix = '/infra/test/'
    interface.state.target = targets.TaskTarget(
        service_name='service', job_name='job', region='region',
        hostname='hostname', task_num=0)

    self.time_fn = mock.create_autospec(time.time, spec_set=True)
    interface.state.store = metric_store.InProcessMetricStore(
        interface.state, self.time_fn)

  def test_grouping(self):
    counter0 = metrics.CounterMetric('counter0', 'desc0',
        [metrics.IntegerField('test')])
    counter1 = metrics.CounterMetric('counter1', 'desc1', None)
    counter2 = metrics.CounterMetric('counter2', 'desc2', None)

    interface.register(counter0)
    interface.register(counter1)
    interface.register(counter2)

    counter0.increment_by(3, {'test': 123})
    counter0.increment_by(5, {'test': 999})
    counter1.increment()
    counter2.increment_by(4, target_fields={'task_num': 1})

    protos = list(interface._generate_proto())
    self.assertEqual(1, len(protos))

    proto = protos[0]
    self.assertEqual(2, len(proto.metrics_collection))

    for coll in proto.metrics_collection:
      self.assertEqual('service', coll.task.service_name)
      self.assertEqual('job', coll.task.job_name)
      self.assertEqual('region', coll.task.data_center)
      self.assertEqual('hostname', coll.task.host_name)

    first_coll = proto.metrics_collection[0]
    second_coll = proto.metrics_collection[1]

    self.assertEqual(0, first_coll.task.task_num)
    self.assertEqual(1, second_coll.task.task_num)

    self.assertEqual(2, len(first_coll.metrics_data_set))
    self.assertEqual(1, len(second_coll.metrics_data_set))

    data_sets = [
        first_coll.metrics_data_set[0],
        first_coll.metrics_data_set[1],
        second_coll.metrics_data_set[0]
    ]

    for i, data_set in enumerate(data_sets):
      self.assertEqual('/infra/test/counter%d' % i, data_set.metric_name)

  def test_generate_every_type_of_field(self):
    counter = metrics.CounterMetric('counter', 'desc', [
        metrics.IntegerField('a'),
        metrics.BooleanField('b'),
        metrics.StringField('c'),
    ])
    interface.register(counter)
    counter.increment({'a': 1, 'b': True, 'c': 'test'})

    proto = list(interface._generate_proto())[0]
    data_set = proto.metrics_collection[0].metrics_data_set[0]

    field_type = metrics_pb2.MetricsDataSet.MetricFieldDescriptor
    self.assertEqual('a', data_set.field_descriptor[0].name)
    self.assertEqual(field_type.INT64, data_set.field_descriptor[0].field_type)

    self.assertEqual('b', data_set.field_descriptor[1].name)
    self.assertEqual(field_type.BOOL, data_set.field_descriptor[1].field_type)

    self.assertEqual('c', data_set.field_descriptor[2].name)
    self.assertEqual(field_type.STRING,
                     data_set.field_descriptor[2].field_type)

    self.assertEqual(1, data_set.data[0].int64_value)

    self.assertEqual('a', data_set.data[0].field[0].name)
    self.assertEqual(1, data_set.data[0].field[0].int64_value)

    self.assertEqual('b', data_set.data[0].field[1].name)
    self.assertTrue(data_set.data[0].field[1].bool_value)

    self.assertEqual('c', data_set.data[0].field[2].name)
    self.assertEqual('test', data_set.data[0].field[2].string_value)

class GlobalCallbacksTest(unittest.TestCase):
  def setUp(self):
    interface.reset_for_unittest()
    interface.state.global_monitor = mock.create_autospec(monitors.Monitor)
    interface.state.target = mock.create_autospec(targets.Target)

  def test_register_global_metrics(self):
    metric = metrics.GaugeMetric('test', 'foo', None)
    interface.register_global_metrics([metric])
    self.assertEqual(['test'], list(interface.state.global_metrics))
    interface.register_global_metrics([metric])
    self.assertEqual(['test'], list(interface.state.global_metrics))
    interface.register_global_metrics([])
    self.assertEqual(['test'], list(interface.state.global_metrics))

  def test_register_global_metrics_callback(self):
    interface.register_global_metrics_callback('test', 'callback')
    self.assertEqual(['test'], list(interface.state.global_metrics_callbacks))
    interface.register_global_metrics_callback('nonexistent', None)
    self.assertEqual(['test'], list(interface.state.global_metrics_callbacks))
    interface.register_global_metrics_callback('test', None)
    self.assertEqual([], list(interface.state.global_metrics_callbacks))

  def test_callbacks_called_on_flush(self):
    cb = mock.Mock()
    interface.register_global_metrics_callback('test', cb)
    interface.flush()
    cb.assert_called_once_with()

  def test_flush_continues_after_exception(self):
    cb = mock.Mock(side_effect=[Exception, None])
    interface.register_global_metrics_callback('cb1', cb)
    interface.register_global_metrics_callback('cb2', cb)
    interface.flush()
    self.assertEqual(2, cb.call_count)

  def test_callbacks_not_called_if_disabled(self):
    interface.state.invoke_global_callbacks_on_flush = False
    cb = mock.Mock()
    interface.register_global_metrics_callback('test', cb)
    interface.flush()
    self.assertFalse(cb.called)

redpajama_set_name: RedPajamaGithub


Harry Smart 25% Off All Products Plus Free Shipping on Orders $100 or More at Labrada. The product has a good offer price, you just have to look for it, get it now and get the discount.
Arnold Adams 25% Off All Products Plus Free Shipping on Orders $100 or More at Labrada. This is a good promotional code for this store, you will get a great discount after applying the code.


text:
CSO's Classical Roots returns to Music Hall on April 20
Cincinnati Herald
By Crystal Kendrick
Herald Entertainment Editor
The Cincinnati Symphony Orchestra (CSO)'s Classical Roots returns to historic Cincinnati Music Hall on Friday, April 20, at 7:30 p.m. following the iconic hall's extensive $143 million renovation. An unwritten portion of Music Hall's rich and diverse history will be explored and celebrated in this year's, one-night-only performance conducted by John Morris Russell with the theme Under One Roof.
Classical Roots is an annual Cincinnati tradition that celebrates African American musical heritage and brings together friends and neighbors for a shared concert experience.
This year's concert captures the original spirit of Classical Roots by shining a spotlight on Greater Cincinnati's rich musical heritage including the great artists who performed at the Greystone Club. Selections this year will include music by African American composers, such as Eubie Blake and James Reese Europe. The program will also recognize Marion Anderson, the first African American to perform on stage at Music Hall's Spring Auditorium.
Tickets for Classical Roots start at $25 for full view seating and are $10 for limited view. Tickets can be purchased by visiting or calling the CSO Box Office at (513) 381-3300 or visiting www.cincinnatisymphony.org/classicalroots.
The Classical Roots Community Mass Choir, which is comprised of 150 volunteer singers representing dozens of area churches and prepared by director William Henry Caldwell with local music ministers, returns as a staple for the annual concert. This celebrated ensemble will honor African American icons who performed in Music Hall's Ballroom and Springer Auditorium, including Duke Ellington, William L. Dawson, and Rev. James Cleveland. The choir will also perform selections from Gershwin's masterpiece, Porgy and Bess.
Classical Roots also features the CSYO Nouveau Chamber Players, a celebrated string ensemble comprised of talented African American and Latino student musicians, as well seven CSO/CCM Diversity Fellows, who will perform together on stage for the first time since Music Hall's grand reopening in October.
The CSO is proud to announce its inaugural Classical Roots Artist-in-Residence who will be working with CSO musicians, local students, and members of the community April 2 to 5. Acclaimed violinist and community activist Kelly Hall-Tompkins will be on hand to share her journey from student to professional as an African American classical musician, including traditional experiences to more entrepreneurial pursuits. She was named The New York Times' 2017 New Yorker of the Year and her YouTube videos have garnered over 1,472,000 views.
Kelly Hall-Tompkins is the inaugural Classical Roots artist-in-residence. Photo provided
Hall-Tompkins, whose work as founder of Music Kitchen, a not-for-profit that takes high-level classical music performances to homeless shelters in New York City, has inspired CSO musicians to join her in a performance of Stravinsky's The Soldier's Tale for clients at the City Gospel Mission as part of her residency. They will also join her in recital on April 5, 7 p.m. at First Unitarian Universalist Church, with a program that includes Samuel Coleridge-Taylor's Clarinet Quintet and music from her latest recording, The Fiddler: Expanding Tradition. First Unitarian Universalist Church is at 536 Linton Street in Avondale. Recital tickets are $10 and can be purchased through the CSO box office and website, 513.381.3300 or www.cincinnatisymphony.org.
Cincinnati Symphony Orchestra · Classical Roots · Classical Roots Community Mass Choir · CSO · Kelly Hall-Tompkins · music hall · Under One Roof
Guiding Light hosts Mentoring Gala and Fundraising event
Mark Lomax, II, to Perform with Members of the CSO at Na ...
Gospel Artist Cece Winans Joins the Cincinnati Symphony ...
DAMON GUPTON NAMED PRINCIPAL GUEST CONDUCTOR OF THE CINC ...
UC Health presents Nefertiti royalty on June 22
HONORING A PASSIONATE ADVOCATE FOR DIVERSITY IN THE ARTS
TajMo: Legendary Bluesman Taj Mahal and Keb' Mo' Bring Their Grammy-Winning Band to the Taft!
by Cincinnati Herald


text:
Glavarchiv: about how the "Botanical Garden" was built, and the result was "Prospect Mira"
The Prospekt Mira metro station was originally supposed to have name Botanichesky Sad, but now it belongs to another station of the Kaluzhsko-Rizhskaya line. The story of its construction and renaming is presented using the documents of the Moscow Glavarchiv (Moscow Main Archive Department) tell.
The project of the future station was approved by the Moscow City Council on September 15, 1950. Famous Soviet architects Vladimir Gelfreikh and Mikhail Minkus, as well as design engineer Boris Prikot worked on its development. The pylon type was chosen for the station — Vladimir Gelfreich already created something similar: together with the architect Igor Rozhin, he designed Electrozavodskaya metro station, which was opened six years earlier.
The new station was named Botanichesky Sad (Botanical Garden) in honor of the nearby "Apothecary Garden" — the Botanical Garden of Lomonosov Moscow State University. It is the oldest botanical garden in the country, founded by Peter I in 1706.
The station design was dedicated to the Stalin reforestation and land-use development plan. According to it, from 1948 to 1953 it was planned to create several vast forest belts over five thousand kilometers in the steppe and forest-steppe regions. The forest belts were supposed to protect from drought, sand and dust storms and help to boost crops.
The architects decided to install marble busts of Russian scientists on 16 pylons of the station, including Mikhail Lomonosov, Dmitry Mendeleyev, Kliment Timiryazev, Ivan Michurin, Vladimir Vernadsky, Vasily Dokuchaev and others.
One of the walls of the central hall was to be decorated with a colored marble mosaic with a map of reforestation. A bas-relief portrait of Joseph Stalin was also placed here — it was dismantled in 1956 after the debunking of the personality cult. Later, the work of Andrei Kuznetsov "Mothers of the World" was installed at this place.
While the station was being built, adjustments were made to the project: instead of busts over the cornices of the pylons, reliefs of wreaths, leaves, buds and banners appeared. They framed images of agronomists, florists and gardeners. The walls of the station were lined with pink Tagil marble.
The Botanichesky Sad station was opened in early 1952, and in 1966 the station changed its name: it was renamed to "Prospekt Mira" facing the street of the same name.
In 1978, the name Botanichesky Sad returned to the metro station map. Then the leading botanical garden of Moscow was the Main Botanical Garden named after N.V. Tsitsin. The new station was named after it.
Hodyachiy zamok


If Malaika Simmons does not respond to your message in a timely manner, please let us know. Our staff will follow up on your behalf to expedite your speaker search. This is a complementary service we offer. If there is anything else we can do for you regarding your speaker search, please contact us.


Machine translation either substitutes a computer for a human translator, or else sees humans using computer-based tools in translating text or speech from one language to another. While often faster than human translation, the traditional downfall of machine translation has been its lack of appreciation for context and linguistic complexity. However, by drawing on human experience and on big data to refine it, machine translation has made significant advances in recent years.


Hamburger Sport-Verein e.V. is a German sport club based in Hamburg, its largest branch being its football department. Although the current HSV was founded in June 1919 from a merger of three earlier clubs, it officially traces its origin to 29 September 1887 when the first of the predecessors, SC Germania, was founded. HSV's football team has the unique distinction of having played continuously in the top tier of the German football league system since the end of World War I. It is the only team that has played in every season of the Bundesliga since its foundation in 1963, at which time the team was led by German national captain Uwe Seeler.
HSV has won the German national championship six times, the DFB-Pokal three times and the League Cup twice. The team's most successful period was from the mid-1970s until the mid-1980s when, in addition to several domestic honours, they won the 1976–77 European Cup Winners' Cup and the 1982–83 European Cup. Their outstanding player was German national star Felix Magath. To date, HSV's last major trophy was the 1986–87 DFB-Pokal.
HSV play their home games at the Volksparkstadion in Bahrenfeld, a western district of Hamburg. The club colours are officially blue, white and black but the home kit of the team is white jerseys and red shorts. The team's most common nickname is "die Rothosen" (the Red Shorts). As it is one of Germany's oldest clubs, it is also known as der Dinosaurier (the Dinosaur). HSV have rivalries with Werder Bremen, with whom they contest the Nordderby, and Hamburg-based FC St. Pauli, whom they contest the Hamburg derby.
HSV is notable in football as a grassroots organisation with youth development a strong theme. The club had a team in the Women's Bundesliga from 2003 to 2012 but it was demoted to Regionalliga level because of financial problems. Other club departments include badminton, baseball, basketball, bowling, boxing, cricket, darts, hockey, golf, gymnastics, handball and cardiopulmonary rehabilitation exercises. These departments represent about 10% of the club membership. HSV is one of the biggest sports clubs in Germany with over 70,000 members in all its departments and stated by Forbes to be among the 20-largest football clubs in the world.


text:
Bloomberg campaign manager: Trump would 'decisively' beat Sanders
Michael Isikoff
The campaign manager for former New York City Mayor Mike Bloomberg warned in a new interview that Democrats will be headed to an electoral disaster if they nominate Bernie Sanders to run against President Trump.
"I understand when you hear him speak, why it's compelling," Kevin Sheekey, Bloomberg's top campaign official, said about Sanders, who appears to be gaining momentum in the first two states that will weigh in on the Democratic primary.
"The problem is that, in my view, he loses a general election pretty clearly and decisively, particularly in those six swing states" likely to determine the outcome of the election, he said.
At the same time, Sheekey seemed to back the provocative comments made by Hillary Clinton in a soon-to-be-released documentary that "nobody likes" Sanders and that "nobody wants to work with him. He gets nothing done."
"I think it's a sentiment that a lot of people would agree with," said Sheekey, who has served Bloomberg for years as a deputy mayor of New York City and more recently as global head of communications and government relations with Bloomberg's media company. "You know, I try to find what he's done, you'd have to probably go back to when he was a mayor [of Burlington, Vt.,] and that might be 30 years ago." (Bloomberg took his own dig at Sanders over the weekend, telling a Jewish group, "I know I'm not the only Jewish candidate running for president. But I am the only one who doesn't want to turn America into a kibbutz.")
Michael Bloomberg and Kevin Sheekey. (Photo illustration: Yahoo News; photos: AP, Billy Farrell/Patrick McMullan via Getty Images)
Sheekey made those comments during an interview for the Yahoo News podcast "Skullduggery," in which he laid out Bloomberg's long-shot and novel campaign strategy: avoiding the Iowa caucuses and the New Hampshire primary and focusing instead on a national campaign of saturation television ads entirely self-funded by the New York billionaire.
It also will include well-financed operations on the ground in a half-dozen battleground states that Bloomberg has identified as the key to victory.
"They're the only states that matter in the general election," Sheekey said, identifying them as Wisconsin, Michigan, Pennsylvania, North Carolina, Florida and Arizona.
"From the position where I sit in terms of the campaign we're running, we are already stronger than any other Democrat to compete in those states that are important in November," he said. "Let's look at North Carolina. We have 80 people working in North Carolina with 16 offices across that state. The next Democrat has zero. No one else has anyone in North Carolina."
Download or subscribe on iTunes: "Skullduggery" from Yahoo News
So far, Bloomberg's campaign — featuring a barrage of television commercials that will include one during this Sunday's Super Bowl — has netted him modest inroads in the polls. A new Washington Post-ABC News poll released Sunday showed that, among Democratic voters nationwide, Bloomberg is now fourth, favored by 8 percent, ahead of Pete Buttigieg, Andrew Yang and Amy Klobuchar, but well behind frontrunners Joe Biden, with 32 percent, and Sanders, with 23 percent.
Three other polls released over the weekend found Sanders in the lead in both Iowa and New Hampshire, although one found him neck and neck with Biden in the Hawkeye State.
Michael Bloomberg at the Aventura Turnery Jewish Center and Tauber Academy Social in Miami. (Photo: Maria Alejandra Cardona/Reuters)
This all leads to the question that might be the most difficult of all for Bloomberg, who is running as an unabashed centrist who got into the race in part out of concerns that Biden would falter: What happens if Biden doesn't and actually wins in either Iowa or New Hampshire, becoming the prohibitive favorite?
If Biden "ultimately can put the kind of campaign together that the rest of the party should get behind, then the rest of the party, including us, should get behind it. And if he can't, we're in real trouble," Sheekey said.
He was then pressed on whether Bloomberg could drop out before Super Tuesday, when voters in 15 primaries go to the polls March 3, if the Biden campaign is looking unstoppable.
"Unclear," Sheekey replied.
But if Bloomberg does drop out, he also said, the multibillionaire media mogul would keep his campaign operation up and running, turning it into a so-called independent expenditure (IE) political committee dedicated to one purpose: defeating Donald Trump. "Mike Bloomberg would be running the most impressive and earliest-starting IE to stand in the way of Donald Trump's election," Sheekey said.
Would that include backing Sanders were he to become the Democratic nominee?
"Yeah," Sheekey said. "It would."
Read more from Yahoo News:
The inside story of how the U.S. gave up a chance to kill Soleimani in 2007
Yahoo News/YouGov poll shows two-thirds of voters want the Senate to call new impeachment witnesses
Steyer: U.S. reparations for slavery will help 'repair the damage'
Fact, along with Trump, is on trial in the Senate
Jeff Bezos's phone hack: A threat to U.S. democracy?


text:
Vayakhel Pekudei 5772
Don't Play With Fire!
"Six days shall work be done, but the seventh day should be holy unto you, a Shabbat Shabbaton to the Lord; whoever does work on it shall be put to death. You shall not light fire throughout your habitations on theShabbat day." (Shemot, 35:2, 3)
Both here and in chapter 31:13-17, Shabbat is placed adjacent to theMishkan. The Gemara deduced from these juxtapositions that the "work" prohibited on our holy day is limited to work performed whilst constructing the Mishkan.[1] In Tractate Shabbat, there is a list of 39 principle prohibitions, known as Avot Melachot.[2] They were the categories of work employed to build the Mishkan, and they form the base for the restrictions imposed on Shabbat. The 37th prohibition is "lighting a fire," which includes every type of burning not performed with merely destructive intent.[3]
With this brief introduction, the difficulty in the verses quoted above becomes immediately apparent. Why does the Torah refer specifically to the prohibition of lighting a fire when reminding us to observe theShabbat?
Rashi, referring to the Gemara in Shabbat 70a, offers two possible answers:
Firstly, this particular prohibition is emphasized because it invokes a less severe punishment than others. With other melachot, if the transgressor is warned beforehand and his actions are witnessed by two legitimate observers, the punishment is death by stoning. But if one purposely lights a fire on Shabbat, one would have transgressed a Torah commandment, but would not be liable to the death sentence. Why is there such a distinction between this and all the other melachot? We remain without an answer!
Rashi's second suggestion is that lighting a fire is specified to clarify that these are 39 separate melachot. Had such a specification not been made, one may have concluded that the scriptural prohibition is only when all 39 actions are done together. Hence the verse clarifies we would be fully liable even if we transgress one of the 39 Avot Melachot.
The first opinion makes a qualitative distinction between lighting a fire and the other melachot. The second classifies all 39 melachot together while simultaneously introducing an important halachic directive. Nevertheless, we must still ask why this specific melacha was chosen to illustrate the point.
The Be'er Heitev, in his annotations to the above Rashi, makes some interesting comments.[4]
He suggests that lighting a fire was chosen to introduce the halachicdirective because it is the most common of the Shabbat melachot. The use of fire in the Jewish home, either for cooking or for heat, is so familiar that the Torah chose it as the classic example.
He goes on to raise an interesting question. Towards the end of Parashat Shelach,[5] we are told of the incident involving the "wood gatherer;" a Jew who purposely transgressed an Av Melacha on Shabbat. It is clear from both the narrative, and from Rashi's comments there, that the perpetrator only committed one sin. Furthermore, Rashi himself insists the people already knew the sinner was liable to the death penalty. They were just unsure which penalty to invoke.[6] If this is true, it would appear that Am Yisrael knew that one does not need to commit all 39Avot Melachot in order to be considered liable, so why then does ourparasha need to specify lighting a fire?
In answering, the Be'er Heitev explains it was only because of our verse that Bnei Yisrael knew one would be liable even though a singular forbidden act had been committed. The episode in Shelach is inconclusive, for the wood gatherer may well have been considered the exception to the rule. Because this was only the second Shabbat in themidbar, and the first public desecration, a severe punishment was necessary in order to show Am Yisrael the inherent holiness of theShabbat. However, in normal situations, we may have assumed one is generally not liable unless all 39 melachot were transgressed. Therefore our verse remains halachically essential.
Rav Shimshon Raphael Hirsch ingeniously illustrates the logic behind the two opinions quoted in Rashi:
On the one hand, lighting a fire is not a productive or creative melacha, but primarily a destructive activity. On the other, the ability to produce fire is what first gave man his true mastery over the world. He can only create his tools by means of fire, and use it to probe into the inner nature of things, electricity for example.
These two contrasting facets of fire – destruction and creation – could help us explain the two different opinions quoted above.
Since lighting a fire is primarily destructive, the melacha is not categorized with other melachot with regards to its punishment. The idealmelacha is one that reflects man and his creativity. Therefore, according to the first opinion, lighting a fire is a melacha, but not implicitly creative enough to warrant the death sentence.
On the other hand, fire is the real expression of man's creativity, in that his knowledge of fire has advanced him in so many ways. In that sense, claims the second opinion, it is the prototype melacha, and is thus used as the primary example when learning about halachic liability for individual Avot Melachot.
The Ramban takes a completely different approach to Rashi. He notes there was a specific need to emphasize the melacha of lighting a fire with regards to Shabbat. On festivals, although the Torah strictly forbidsmelacha, cooking is allowed, and one may well have assumed the same for Shabbat, i.e. although melacha is repeatedly forbidden, cooking would nevertheless be permitted. Hence the verse specifies lighting a fire in order to distinguish between Shabbat and festivals.
The Tosefet Beracha[7] beautifully suggests that the essence of theShabbat day and its mitzvot is the remembrance of the six days of Creation followed by a day of rest. This principle can be applied to every form of melacha: the Almighty 'labored' for six days and 'rested' on the seventh day, so we too work for six days and rest on Shabbat.
However, according to the Talmud, fire was not created until Motzei Shabbat (hence the custom to light candles for Havdala.)[8] If so, one may have assumed that lighting a fire was not to be included in the forbiddenmelachot because it was not a melacha performed during the first six days of Creation. Our verse therefore comes to include it as the exception to the rule.
Perhaps we could add just one further suggestion, combining Rav Hirsch and the Tosefet Beracha.
When one speaks to a child about not working on Shabbat, the 39 Avot Melachot are not what immediately come to mind. The child knows his father and mother go to work, and they have their own notion of what work is too. For them – and maybe for most people – work is the antithesis of play or rest. Moving 30-40 chairs from one side of a room to the other could be defined as work; washing the dishes on Friday night and clearing the table after a meal could be defined as work too, and both could be very tiring, but these are not melachot per se.
The last mishna in the first chapter of Tractate Chagiga compares thehalachot of Shabbat to a mountain suspended by a thread, i.e. we have myriad details of Hilchot Shabbat from just a few descriptive verses in the Torah. If it were not for the Oral Law we would have no way of knowing what the Torah meant when it forbade 'melacha' – work. On the other hand, everything detailed in the Oral Law is alluded to in the Written Law, so where is the appropriate allusion to the definitive melacha?
Using Rav Hirsch's theme we could suggest that lighting a fire is this definitive melacha. But why?
Now we can refer to the Tosefet Beracha, and add that the making of fire was really the first independent creative act man performed immediately after the Shabbat. God created the world in six days; man was the piéce de resistance on the final day of Creation, and this was followed byShabbat.[9] On Motzei Shabbat, man, for the first time, shows how he is distinct from the animal kingdom by creating fire, and with this fire man places himself as ruler over the world. Fire defines man more than any other melacha.
The objective of Shabbat is to leave the reality of the daily hustle and bustle of this world for one day a week, and take a step back into perspective. But we must also put ourselves into perspective. Due to our power and control, we often fall into the trap of really believing that Man is God; we do not only 'rule' over the animal kingdom, but we are the ultimate controllers of the world.
It is no coincidence that when a country becomes more technologically advanced, its inhabitants are likely to become less religious, and vice versa. The more man succeeds, the less he feels reliant on the Almighty.Shabbat comes once a week in order to remind us we did not create the universe and there is a King of Kings who rules the world.
We are not commanded to refrain from menial physical acts on Shabbatbecause they do not suggest to man that he is the all-time superior being. The forbidden melachot are those reflecting man as the creator, and the prototype of all those melachot is fire.
That is why in one verse the Torah tells us melacha is forbidden, and in the very next verse it defines exactly what that melacha is. Man and his creativity must take a step back on Shabbat; all cellphones, emails, iPods, take a rest, as we dedicate one day of our week to see the world from a very different and most refreshing viewpoint.
So lighting a fire is possibly mentioned in our context as an implicit definition of a melacha and not as one of the 39 Avot Melachot.
To conclude, I would like to refer to the outstanding homiletic comments of the Kli Yakar. He notes that work is important not only because it offers man the ability to express himself creatively, but also because it keeps him busy. When we have nothing to do; when we have no purpose, we can become lazy, petty, depressed, violent, and more. I am sure many parents feel the frustration a week into school-vacation time. If the children are lacking a real framework they often go crazy, turning a potentially wonderful time into an irritating experience to say the least.
The greatness of Shabbat is that we take a step back; all work is forbidden. This void should be filled with spiritual activity, refreshing our soul for the week ahead. However, the next verse comes to warn us of the possible side effects of the temporary cessation of physical creativity – argument and discord. The verse thus emphasizes that even though work is forbidden, we should ensure there be no 'fire' (social friction) in the community. The gift of Shabbat must be solely dedicated to connecting with Hashem, and no such connection can be made if there is 'fire' in our habitation. Shalom Bayit (interestingly enough symbolized by the candles) is the prerequisite for sanctifying the Shabbat.
It signifies a family united in their celebration of God, of Shabbat, and of themselves. The physical relaxation is the stepping stone to spiritual harmony. The family unit is the foundation of Am Yisrael, and that is why the Shabbat candles, signifying Shalom Bayit, take precedence over theChanuka lights that represent the rededication of the Beit HaMikdash.
Shabbat is a time for spiritual elevation; devoid of business pressures and school projects, it is a day to be anticipated and fulfilled to the utmost. No fire must burn – there is no room for family discord or argument; on the contrary, it is an ideal opportunity for the family to sit together, sing together, and learn together – prime time for strengthening ourselves not only as individuals but also as a family.
So having told us of the forbidden melachot, the verse goes on to warn of the dangers when there is no framework, implicitly directing us towards spiritual elevation through the most reliable framework of all – our family. It is this strong family base that has enabled us to survive years of exile, and with the Almighty's help, it will be this power that will see us through to the final redemption.
Parshat Shavua, Pekudei