Respondents, 17 black and two white residents of Cairo, Illinois, brought a civil rights class action against the then State's Attorney of Alexander County, Illinois, individually and in his official capacity, charging him with certain purposeful racial discrimination practices, under color of state law, in violation of the Constitution and 42 U.S.C. 1981-1983, 1985. The District Court dismissed the complaint for want of jurisdiction to grant injunctive relief. The Court of Appeals reversed, holding that a prosecutor's quasi-judicial immunity from injunctive proscription was not absolute, and that since respondents' remedies at law were inadequate, an injunctive remedy might be available if respondents could prove their claims. Subsequent to the Court of Appeals' decision, petitioner was elected as successor State's Attorney, and in the petition for certiorari filed with this Court was substituted as a party. Held: Where, on the record, respondents have never charged petitioner with anything and do not presently seek to enjoin him from doing anything, so that there may no longer be a controversy between respondents and any Alexander County State's Attorney concerning injunctive relief to be applied in futuro, the case is vacated and remanded to the Court of Appeals for a determination, in the first instance, of whether the former dispute is now moot and whether respondents will want to, and should be permitted to, amend their complaint to include claims for relief against petitioner. Pp. 520-523. 468 F.2d 389, vacated and remanded.WHITE, J., delivered the opinion for a unanimous Court.James B. Zagel argued the cause for petitioner. With him on the brief was Patrick F. Healy.Alan M. Wiseman argued the cause for respondents. With him on the brief were James B. O'Shaughnessy and Michael P. Seng.* [Footnote *] Briefs of amici curiae urging reversal were filed by Evelle J. Younger, Attorney General, Edward A. Hinz, Jr., Chief Assistant Attorney General, Doris H. Maier and Edward P. O'Brien, Assistant Attorneys General, and Robert R. Granucci, Deputy Attorney General, for the State of California; and by Joseph P. Busch for the District Attorney of Los Angeles County.MR. JUSTICE WHITE delivered the opinion of the Court.This is a companion case to O'Shea v. Littleton, ante, p. 488, involving claims which the respondents, 17 black and two white residents of Cairo, Illinois, individually and as representatives of the class they purport to represent, set forth in that portion of their amended civil rights complaint which alleged wrongful conduct on the part of Peyton Berbling, individually and in his capacity as State's Attorney for Alexander County, Illinois, the county in which the city of Cairo is located. As discussed in O'Shea, the complaint alleged a broad range of racially discriminatory patterns and practices in the administration of the criminal justice system in Alexander County by the Police Commissioner of Cairo, Magistrate Michael O'Shea and Associate Judge Dorothy Spomer of the Alexander County Circuit Court, State's Attorney Berbling, and Earl Shepherd, an investigator for Berbling. Allegedly, a decade of active, but lawful, efforts to achieve racial equality for the black residents of Cairo had resulted in continuing intentional conduct on the part of those named as defendants in the complaint to deprive the plaintiff-respondents of the evenhanded protection of the criminal laws, in violation of various amendments to the Constitution and 42 U.S.C. 1981, 1982, 1983, and 1985. In particular, the complaint charged State's Attorney Berbling with purposeful racial discrimination, under color of state law, by neglecting to provide for respondents' safety though knowing of the possibility of racial disorders, by refusing to prosecute persons who threaten respondents' safety and property, and by refusing to permit respondents to give evidence against white persons who threaten them. It was alleged, with particular incidents recounted as to some charges, that "Berbling has denied and continues to deny" the constitutional rights of respondents and members of their class by following the practices of (a) refusing to initiate criminal proceedings and to hear criminal charges against white persons upon complaint by members of respondents' class,1 (b) submitting misdemeanor complaints which have been filed by black persons against whites to a grand jury, rather than proceeding by information or complaint, and then either interrogating witnesses and complainants before the grand jury with purposeful intent to racially discriminate,2 or failing to interrogate them at all,3 (c) inadequately prosecuting the few criminal proceedings instituted against whites at respondents' behest in order to lose the cases or settle them on terms more favorable than those brought against blacks, (d) recommending substantially greater bonds and sentences in cases involving respondents and members of their class than for cases involving whites, (e) charging respondents and members of their class with significantly more serious charges for conduct which would result in no charge or a minor charge against a white person, and (f) depriving respondents of their right to give evidence concerning the security of members of their class.4 Each of these practices was alleged to be willful, malicious, and carried out with intent to deprive respondents and members of their class of the benefits of the county criminal justice system and to deter them from peacefully boycotting or otherwise engaging in protected First Amendment activity. Since there was asserted to be no adequate remedy at law, respondents requested that Berbling be enjoined from continuing these practices, that he be required to "submit a monthly report to [the District Court] concerning the nature, status and disposition of any complaint brought to him by plaintiffs or members of their class, or by white persons against plaintiffs or members of their class," and that the District Court maintain continuing jurisdiction in this action.5 The District Court dismissed that portion of the complaint requesting injunctive relief against Berbling, as well as against Investigator Shepherd. Magistrate O'Shea, and Judge Dorothy Spomer, for want of jurisdiction to grant any such remedy, which was perceived as directed against discretionary acts on the part of these elected state officials. The Court of Appeals reversed, holding that whatever quasi-judicial immunity from injunctive proscription it had previously recognized was appropriate for a prosecutor, was not absolute, and since respondents' alternative remedies at law were thought to be inadequate, an injunctive remedy might be available if respondents could prove their claims of racial discrimination at trial.6 The Court of Appeals rendered its decision on October 6, 1972. At the subsequent election in November of that year, petitioner W. C. Spomer7 was chosen by the voters to succeed Berbling as State's Attorney for Alexander County, and Spomer took office on December 4. In the petition for certiorari filed with this Court on January 3, 1973, seeking review of the Court of Appeals' approval of the possibility of some form of injunctive relief addressed to the State's Attorney in the course of his prosecutorial role, petitioner Spomer relied upon Supreme Court Rule 48 (3), which provides that "[w]hen a public officer is a party to a proceeding here in his official capacity and during its pendency dies, resigns, or otherwise ceases to hold office, the action does not abate and his successor is automatically substituted as a party." Respondents did not oppose the substitution,8 and we granted certiorari and set the case for argument together with O'Shea v. Littleton, ante, p. 488. .It has become apparent, however, that there is nothing in the record upon which we may firmly base a conclusion that a concrete controversy between W. C. Spomer and the respondents is presented to this Court for resolution. No allegations in the complaint cited any conduct of W. C. Spomer as the basis for equitable or any other relief. Indeed, Spomer is not named as a defendant in the complaint at all, and, of course, he never appeared before either the District Court or the Court of Appeals. The injunctive relief requested against former State's Attorney Berbling, moreover, is based upon an alleged practice of willful and malicious racial discrimination evidenced by enumerated instances in which Berbling favored white persons and disfavored Negroes. The wrongful conduct charged in the complaint is personal to Berbling, despite the fact that he was also sued in his then capacity as State's Attorney.9 No charge is made in the complaint that the policy of the office of State's Attorney is to follow the intentional practices alleged, apart from the allegation that Berbling, as the incumbent at the time, was then continuing the practices he had previously followed. Cf. Allen v. Regents of the University System of Georgia, . Nor have respondents ever attempted to substitute Spomer for Berbling after the Court of Appeals decision, so far as the record shows, or made any record allegations that Spomer intends to continue the asserted practices of Berbling of which they complain. The plain fact is that, on the record before us, respondents have never charged Spomer with anything and do not presently seek to enjoin him from doing anything.10 Under these circumstances, recognizing that there may no longer be a controversy between respondents and any Alexander County State's Attorney concerning injunctive relief to be applied in futuro, see Two Guys v. McGinley, , we remand to the Court of Appeals for a determination, in the first instance, of whether the former dispute regarding the availability of injunctive relief against the State's Attorney is now moot and whether respondents will want to, and should be permitted to, amend their complaint to include claims for relief against the petitioner. Cf. Land v. Dollar, .The judgment of the Court of Appeals is vacated and the case is remanded for further consideration and proceedings consistent with this opinion. It is so ordered.


Where petitioner had been convicted of felony-murder based on his companion's killing of a victim during the course of an armed robbery, the Double Jeopardy Clause of the Fifth Amendment barred a separate prosecution of petitioner for the lesser crime of robbery with firearms, since conviction of the greater crime of murder could not be had without conviction of the lesser crime. Certiorari granted; 555 P.2d 76, reversed.PER CURIAM.A clerk in a Tulsa, Okla., grocery store was shot and killed by a companion of petitioner in the course of a robbery of the store by the two men. Petitioner was convicted of felony-murder in Oklahoma State court. The opinion of the Oklahoma Court of Criminal Appeals in this case states that "[i]n a felony murder case, the proof of the underlying felony [here robbery with firearms] is needed to prove the intent necessary for a felony murder conviction." 555 P.2d 76, 80-81 (1976). Petitioner nevertheless was thereafter brought to trial and convicted on a separate information charging the robbery with firearms, after denial of his motion to dismiss on the ground that this prosecution violated the Double Jeopardy Clause of the Fifth Amendment because he had been already convicted of the offense in the felony-murder trial. The Oklahoma Court of Criminal Appeals affirmed.When, as here, conviction of a greater crime, murder, cannot be had without conviction of the lesser crime, robbery with firearms, the Double Jeopardy Clause bars prosecution for the lesser crime after conviction of the greater one.* In re Nielsen, ; cf. Brown v. Ohio, . "[A] person [who] has been tried and convicted for a crime which has various incidents included in it, ... cannot be a second time tried for one of those incidents without being twice put in jeopardy for the same offence." In re Nielsen, supra, at 188. See also Waller v. Florida, ; Grafton v. United States, .The motion for leave to proceed in forma pauperis is granted, the petition for writ of certiorari is granted, and the judgment of the Court of Criminal Appeals is Reversed.[Footnote *] The State conceded in its response to the petition for certiorari that "in the Murder case, it was necessary for all the ingredients of the underlying felony of Robbery with Firearms to be proved ... ." Brief in Opposition 4.MR. JUSTICE BRENNAN, with whom MR. JUSTICE MARSHALL joins, concurring.I join the Court's opinion but in any event would reverse on a ground not addressed by the Court, namely, that the State did not prosecute the two informations in one proceeding. I adhere to the view that the Double Jeopardy Clause of the Fifth Amendment, applied to the States through the Fourteenth Amendment, requires the prosecution in one proceeding, except in extremely limited circumstances not present here, of "all the charges against a defendant that grow out of a single criminal act, occurrence, episode, or transaction." Ashe v. Swenson, (BRENNAN, J., concurring). See Thompson v. Oklahoma, (BRENNAN, J., dissenting from denial of certiorari), and cases collected therein.


Dr. Anthony Fauci, the director of the National Institute of Allergy and Infectious Diseases (NIAID), has said he wants Americans to receive four COVID-19 vaccine shots each year.


As of early December 2021, no one worldwide who tested positive for the omicron variant of the coronavirus had died.


the image shows a fence in a German mall separating people vaccinated against COVID-19 from those who are unvaccinated.


Nova Scotia put AEDs in schools because of Covid-19 vaccine side effects


A post shared on Facebook claims the omicron COVID-19 variant is named after a military code.


Nova Scotia to equip public schools with defibrillators is linked to rare side effects of Covid-19 vaccines


A picture shared on Facebook purportedly shows an article published by Deutsche Welle reporting on a German kissing protest against COVID-19 vaccines.


i would point out that it really could have used a bit more attention on the writing aspect as it feels a bit dull in few places


i will admit with the joy of cooking there are also times where you feel defeated


i feel like i am joining the masses which goes against my rebellion of the popular mentality ha i m so goth but i take peace in knowing that i am not making the same resolutions as everyone else


i don t know how i feel about my submissive learning how to use a firearm


ive learned that there are angels on earth who feel me as i feel them who stand by with a loving thought a healing heart or a steady hand just as i would also offer without a moments hesitation in return always


i was feeling cool that night and she got it right


i feel that this information is vital to moving on with your day and you re not complete until you read it


i feel appalled right now


i went around for the rest of the day feeling distressed that i changed my appearance based on someones comments how i made myself even by coincidence more appealing to him and that just felt wrong wrong wrong


i feel was pretty triumphant


I`d have responded, if I were going


Sooo SAD I will miss you here in San Diego!!!


my boss is bullying me...


what interview! leave me alone


Sons of ****, why couldn`t they put them on the releases we already bought


http://www.dothebouncy.com/smf - some shameless plugging for the best Rangers forum on earth


2am feedings for the baby are fun when he is all smiles and coos


Soooo high


Both of you


Journey!? Wow... u just became cooler.  hehe... (is that possible!?)


From my grandfather Verus I learned good morals and the government of my temper.


From the reputation and remembrance of my father, modesty and a manly character.


From my mother, piety and beneficence, and abstinence, not only from evil deeds, but even from evil thoughts; and further, simplicity in my way of living, far removed from the habits of the rich.


From my great-grandfather, not to have frequented public schools, and to have had good teachers at home, and to know that on such things a man should spend liberally.


From my governor, to be neither of the green nor of the blue party at the games in the Circus, nor a partizan either of the Parmularius or the Scutarius at the gladiators' fights; from him too I learned endurance of labour, and to want little, and to work with my own hands, and not to meddle with other people's affairs, and not to be ready to listen to slander.


From Diognetus, not to busy myself about trifling things, and not to give credit to what was said by miracle-workers and jugglers about incantations and the driving away of daemons and such things; and not to breed quails for fighting, nor to give myself up passionately to such things; and to endure freedom of speech; and to have become intimate with philosophy; and to have been a hearer, first of Bacchius, then of Tandasis and Marcianus; and to have written dialogues in my youth; and to have desired a plank bed and skin, and whatever else of the kind belongs to the Grecian discipline.


From Rusticus I received the impression that my character required improvement and discipline; and from him I learned not to be led astray to sophistic emulation, nor to writing on speculative matters, nor to delivering little hortatory orations, nor to showing myself off as a man who practises much discipline, or does benevolent acts in order to make a display; and to abstain from rhetoric, and poetry, and fine writing; and not to walk about in the house in my outdoor dress, nor to do other things of the kind; and to write my letters with simplicity, like the letter which Rusticus wrote from Sinuessa to my mother; and with respect to those who have offended me by words, or done me wrong, to be easily disposed to be pacified and reconciled, as soon as they have shown a readiness to be reconciled; and to read carefully, and not to be satisfied with a superficial understanding of a book; nor hastily to give my assent to those who talk overmuch; and I am indebted to him for being acquainted with the discourses of Epictetus, which he communicated to me out of his own collection.


From Apollonius I learned freedom of will and undeviating steadiness of purpose; and to look to nothing else, not even for a moment, except to reason; and to be always the same, in sharp pains, on the occasion of the loss of a child, and in long illness; and to see clearly in a living example that the same man can be both most resolute and yielding, and not peevish in giving his instruction; and to have had before my eyes a man who clearly considered his experience and his skill in expounding philosophical principles as the smallest of his merits; and from him I learned how to receive from friends what are esteemed favours, without being either humbled by them or letting them pass unnoticed.


From Sextus, a benevolent disposition, and the example of a family governed in a fatherly manner, and the idea of living conformably to nature; and gravity without affectation, and to look carefully after the interests of friends, and to tolerate ignorant persons, and those who form opinions without consideration: he had the power of readily accommodating himself to all, so that intercourse with him was more agreeable than any flattery; and at the same time he was most highly venerated by those who associated with him: and he had the faculty both of discovering and ordering, in an intelligent and methodical way, the principles necessary for life; and he never showed anger or any other passion, but was entirely free from passion, and also most affectionate; and he could express approbation without noisy display, and he possessed much knowledge without ostentation.


From Alexander the grammarian, to refrain from fault-finding, and not in a reproachful way to chide those who uttered any barbarous or solecistic or strange-sounding expression; but dexterously to introduce the very expression which ought to have been used, and in the way of answer or giving confirmation, or joining in an inquiry about the thing itself, not about the word, or by some other fit suggestion.


Diesel model Winnie Harlow, who suffers from vitiligo, the same rare skin condition that singer Michael Jackson was diagnosed with, has been pictured enjoying a cozy night on the town with albino fashion star Shaun Ross. The pair attended a launch event for Popular magazine at Siren Studios in Hollywood, California, on Tuesday night, and were snapped holding hands while making their way into the venue. Winnie, 19, who was unveiled as one of the newest faces of fashion label Diesel earlier this year, was wearing a short and simple black and gold mini dress, which she accessorized with a pair of gold strappy heels. Scroll down for video . Looking cozy: Winnie Harlow, 19, who suffers from the same rare skin condition as Michael Jackson, was pictured hand-in-hand with albino model Shaun Ross on Tuesday night . Out on the town: The duo were attending the launch for Popular magazine at Hollywood venue Siren Studios . Skingraft black and gold dress . Get it from Pasar here . Visit site . This look is all types of yes. Winnie Harlow looks incredible in her leather tunic dress which features striking gold trims on the sleeves and hemline. The loose fit creates a flattering silhouette too. Winnie's dress is from LA-based fashion house Skingraft, and you can still buy it by clicking right to Paser's website now. It'll be your go-to party piece! It is however, slightly pricey coming in at $750, so if you want to add a golden standard to your style for less, why not check out these various finds below? We are particularly dazzled by this Mynt 1792 number at Nordstrom. A pair of strappy metallic heels will finish off your look to perfection! Choice's black and gold stamping dress . Visit site . Mynt 1792 color block dress at Nordstrom . Visit site . Maykool black and gold dress . Visit site . Dailylook fit and flare dress . Visit site . Meanwhile Shaun, 23, opted for a more low-key look, wearing an all-black ensemble, which he topped off with a unique tall baseball hat and a pair of leather sneaker-style boots. And while it appears to be the first time that the duo have been spotted enjoying an evening out together, it is likely not the first occasion that they have met. Both stars have made regular appearances on the catwalks at various Fashion Weeks, while Shaun has also starred in campaigns for the likes of Alexander McQueen and Givenchy. Coincidentally, the models also each had a helping hand from fellow fashion star Tyra Banks. Fashion stars: While Evan opted for an all-black ensemble, topped off with a bizarre baseball cap, Winnie wore a black and gold mini dress and strappy sandals . Rising stars: Both Shaun and Winnie have each achieved global recognition in the fashion indsutry, appearing in numerous high-profile fashion campaigns . Strut your stuff: Both Winnie (L), pictured at the Desigual fall/winter 2015 show, and Shaun (R), pictured on the catwalk in February, boast impressive runway credentials . Winnie, whose real name is Chantelle Brown-Young, was one of the contestants on Tyra's hit reality series America's Next Top Model, while Shaun made an appearance on the former model's eponymous talk show in 2009. Despite their cozy appearance, it's not thought that the two are dating - however Shaun did take the time to post a heartwarming message to the model on his Instagram account, just hours after the pair attended the Popular magazine event. Alongside an image of the two of them, Shaun wrote: 'So much fun last night @winnieharlow keep up the good work. From an original believer in you.' And it seems his sweet sentiments were reciprocated by Winnie, who posted a similar image on her own account, saying: 'Sweet nothings with my fly friend @shaundross'

Winnie, 19, was diagnosed with the rare condition when she was four-years-old .
Condition causes a lack of melanin which forms white patches on the skin .


(CNN)When Melissa Atkins Wardy, author of "Redefining Girly" and a passionate advocate for fighting gender stereotypes, heard from a frustrated mom on Facebook, she knew she needed to do something. So she shared the mom's story. In a blog post, Wardy told how the mom, Veronica of Richland, Washington, wanted to buy "Big Hero 6" fabric to make pillows for her two children. The problem? The fabric didn't include two of the heroes from the movie: the female characters, Honey Lemon and GoGo. So Veronica decided to send an email to Springs Creative, the company that makes the fabric, saying that as a woman and an engineer, she was offended. She got an answer from the company but it didn't help. Girl empowerment ads like GoldieBlox: Do they work? A licensing manager for Springs Creative responded that the company has found that boys don't want girl characters on their things. "Eeeww girls! Yuck! Haha," the licensing manager wrote. It will come as no surprise that Veronica was none too pleased to receive that response. "I was frustrated and disgusted that a manager, and a female manager too, would laugh off my initial contact with the company. It was unprofessional. So I responded," Veronica told CNN. She asked that we not use her last name, in order to maintain her privacy. In an email back to the company, Veronica wrote, "By eliminating the women in your fabric design, you are telling boys that it's OK to think girls are yucky, unworthy and less than a boy. "You are also telling girls they are unworthy, unwanted and that it's un-cool to be smart and confident." What happened next shows that parents, aided by social media outrage, may have more leverage to combat gender stereotyping in our culture than they realize. And the "Big Hero 6" example -- along with a similar recent one involving TOMS, the shoes retailer -- suggests that manufacturers may be finally getting it, too. First, the rest of the story about Springs Creative and the "Big Hero" fabric: After sharing Veronica's story with her readers and her 6,700 Twitter followers, Wardy encouraged people to give Springs Creative a piece of their mind. She also invited them to tweet their own stories with the hashtag #IncludeTheGirls. Women responded in droves, pointing out how Black Widow, the female character in the popular "Avengers" superhero movie franchise, is often excluded from merchandise and how cereal boxes rarely include female characters. "This sends the direct message to both boys and girls that females are forgettable, unimportant, undesirable. What a horrible thing to teach our children!" said Wardy, who is also the founder and chief executive officer of Pigtail Pals & Ballcap Buddies, a company that makes empowering clothing for boys and girls. "The prevailing theory is, 1. boys are the default audience, and 2. boys won't want an item with a girl on it," Wardy said. "Yet, I talk with thousands of parents every week who say otherwise." Why trying to make our kids happy can backfire . Those parents are clearly making their voices heard. Because not too long after Veronica received her initial response from Springs Creative, Wardy said she got a call from the company, asking her to post a statement from Springs Creative on her site. "It is sometimes difficult to hear negative feedback but the message was clear and we intend to act upon your message," the statement read. "Most importantly, Springs Creative does not condone sexism in any shape or form and does not design products to shine a negative light on females OR males." The company said it would be talking with Disney "immediately" about additional designs for "Big Hero 6" that would incorporate all the characters. "We would never intentionally offend any segment of the population. We are a strong company with positive morals and values and we respect and see both genders equally," said the statement. Springs Creative told CNN it would have no further comment. Veronica said she was surprised the company responded so quickly. "I do not believe this would have happened without the Pigtail Pals and Ballcap Buddies community also raising their voices." The real March Madness: When will women's teams get equal buzz? Around the same time, Wardy heard from another follower about an issue with TOMS and wrote about it on her site. On the normally progressive retailer's Web landing page for kids were photos that some parents felt played into gender stereotypes. One photo suggested "Playtime Approved" shoes for boys, and the other, this one on a pink background, included the caption "Little Ladies: adorn their feet for spring." "Really, TOMS? Girls are not ornaments we adorn. Girls play, too!" Wardy wrote on her Facebook page. Two hours later, Wardy received a comment from TOMS on her Facebook page, saying that the company completely agrees and that the wording has been changed to now say "new arrivals for kids." "We're really grateful whenever our community brings something like this to our attention," said Doug Piwinski, senior vice president, global marketing and communications for TOMS. "Perhaps as much or more than any other brand, I mean we really listen to our customers in our community." So, here's my question: Are the two speedy responses from companies after women spoke out on social media more a sign that companies are truly getting it about gender stereotypes and girl and boy empowerment, or more a sign of the power of parents? Or are they a mixture of both? How to Super Bowl #LikeAGirl . Wardy said there's no doubt that companies are in business to protect their bottom line, and that will always be a motivator. But she said these back-to-back incidents show what can happen when parents make it clear they won't buy products from companies that sell gender stereotypes. " 'Be not silent' is my mantra. Speak up!" Wardy said. "The success with Springs Creative and TOMS and other wins we've had in the past is an example of the power of parents (moms and dads) and children's advocates aggregating their voices to say, 'Enough is enough.' " Veronica said it's a sign of the power of parents becoming "more aware, reactive and using social media to make their voices heard by companies that market to children." She added, "One voice can be dismissed; the hailstorm of voices collectively cannot be ignored so easily." It is clear, from these two examples, that parents using their voices online and with their wallets can encourage companies to change. There's no question that raising awareness about stereotypes helps, said Wardy. "If companies aren't paying attention by now, they most certainly should be." Pink, princess-y and sexy too soon . Do you think more companies are getting the message to include girl characters on merchandise? Share your thoughts with Kelly Wallace on Twitter or CNN Living on Facebook.

A mom of two got upset when "Big Hero 6" fabric didn't include the two female characters .
Another mom called attention to gender stereotypes on a TOMS Web page .
In both cases, the companies responded quickly to answer parents' concerns .


(CNN)Blinky and Pinky on the Champs Elysees? Inky and Clyde running down Broadway? Power pellets on the Embarcadero? Leave it to Google to make April Fools' Day into throwback fun by combining Google Maps with Pac-Man. The massive tech company is known for its impish April Fools' Day pranks, and Google Maps has been at the center of a few, including a Pokemon Challenge and a treasure map. This year the company was a day early to the party, rolling out the Pac-Man game Tuesday. It's easy to play: Simply pull up Google Maps on your desktop browser, click on the Pac-Man icon on the lower left, and your map suddenly becomes a Pac-Man course. Twitterers have been tickled by the possibilities, playing Pac-Man in Manhattan, on the University of Illinois quad, in central London and down crooked Lombard Street in San Francisco, among many locations: .

Google Maps has a temporary Pac-Man function .
Google has long been fond of April Fools' Day pranks and games .
Many people are turning their cities into Pac-Man courses .


(CNN)Would you want a TV program about your family history to include details of a distant, long-deceased relative who had owned slaves? Seriously, who in their right mind would want to be tarnished by the sins of an ancestor you had no connection to other than a remote bloodline? I wouldn't, and neither did Ben Affleck, who lobbied producers of a PBS show, "Finding Your Roots," to remove any reference to his great-great-great grandfather Benjamin Cole, a Georgia slave owner in the mid-1800's, in an episode that looked at Affleck's family history. (Affleck revealed Cole's name Wednesday night.) Here's the thing that might surprise many, given the tendency of the media to exploit any potentially scandalous material: The show's producer, Harvard professor Henry Louis Gates Jr., apparently acquiesced to Affleck's request, because when the episode aired in October 2014, there was no mention of the star's slave-owning ancestor. Affleck's attempt to alter the content of the program only publicly became known a few days ago after WikiLeaks released hacked emails revealing an exchange between Gates and Sony Pictures chief Michael Lynton. When Gates asked how he should respond to Affleck's request to delete the material, Lynton responded, "all things being equal, I would definitely take it out." And on Tuesday, Affleck, via Facebook, admitted that he had urged Gates to excise any reference to his slave-owning relative. Affleck explained, "I didn't want any television show about my family to include a guy who owned slaves. I was embarrassed. The very thought left a bad taste in my mouth." Now Gates has publicly denied that he made his decision about the content of the program based on Affleck's request, but it seems likely that he did. After all, Affleck noted as much in his Facebook post, writing that Gates "agreed with me on the slave owner but made other choices I disagreed with." And three other celebrities profiled on the series last season were shown to have been related to slave owners. So it's unlikely that it was simply happenstance that it left out any reference to Affleck's familial slave ownership connection. In any event, PBS has launched an internal review to determine if the show violated its own editorial standards. Whatever the results of the review, Affleck and Gates did the right thing. Let's be clear: "Finding Your Roots" is not an investigative news show; it's an entertainment program. In fact, as Affleck noted, much of the material is provided directly by the celebrity being profiled. It's not "60 Minutes" but more in the nature of a sophisticated profile of celebrities, using their marquee names to attract viewers. There's not even a hint that Affleck strong-armed the producers or made any type of threats against them if they included the information. In the emails between Gates and Lynton, which they presumably believed at the time were confidential and would remain so, there was no mention of undue pressure by Affleck. Instead, Gates simply noted that Affleck  "asked us to edit out something." After the emails were revealed, Gates issued a statement, saying, "Ultimately, I maintain editorial control on all of my projects and, with my producers, decide what will make for the most compelling program. In the case of Mr. Affleck we focused on what we felt were the most interesting aspects of his ancestry -- including a Revolutionary War ancestor, a third great-grandfather who was an occult enthusiast, and his mother who marched for civil rights during the Freedom Summer of 1964." My view would be different if Affleck had a history of uttering racist remarks or engaging in racist conduct. That would have made the information truly newsworthy. But instead we have a man known for championing progressive causes, which I'm sure made him even more acutely sensitive that some on the right might possibly use this information against him in the future. Perhaps that's what Affleck meant in his Facebook post when he wrote that this information made him feel "vulnerable." Affleck has noted that he regrets asking PBS to not include information about his "distant relative."  That's a nice gesture, but it was not needed. Affleck had every right to ask for the information about a long-deceased distant relative to be left out of the show. And PBS had the choice to include it or leave it out. I applaud PBS for doing the right thing at a time when media outlets rarely show any restraint on the lives of people in the public eye.

Ben Affleck admits he asked PBS show "Finding Your Roots" to avoid mentioning his slave-owning ancestor .
Dean Obeidallah says the actor and the show were right to leave the detail out .


Which Family Guy episodes contain Doctor Who references?

Who executive producer Russell T. Davies), the character of Vince was portrayed as an avid Doctor Who fan, with references appearing many times throughout in the form of clips from the programme.


Without Luther's backing for the uprising, many rebels laid down their weapons; others felt betrayed.


The event was held on February 1, 2016 at SAP Center in San Jose.


Among whom was Genghis Khan's empire split after his death?

As a result, Genghis Khan and his empire have a fearsome reputation in local histories.


Which rival of the Mongols is suspected of inventing the story that Genghis Khan was murdered by a captured princess?

One chronicle from the early 17th century even relates the legend that the princess hid a small dagger and stabbed him, though some Mongol authors have doubted this version and suspected it to be an invention by the rival Oirads.


What is the translation of Siebengebirge?

This "Germanic Heroic Age" is reflected in medieval legend, such as the Nibelungenlied which tells of the hero Siegfried killing a dragon on the Drachenfels (Siebengebirge) ("dragons rock"), near Bonn at the Rhine and of the Burgundians and their court at Worms, at the Rhine and Kriemhild's golden treasure, which was thrown into the Rhine by Hagen.


Underbids happen when builders ask for too little money to complete the project.


What financial issue is notoriously prevalent in the construction field?

Fraud is a problem in many fields, but is notoriously prevalent in the construction field.


Uefa Opens Proceedings against Barcelona, Juventus and Real Madrid Over European Super League Plan

Uefa has opened disciplinary proceedings against Barcelona, Juventus and Real Madrid over their involvement in the proposed European Super League.


Nigeria: Lagos Governor Tests Positive for Covid-19, Kaduna Governor Self-Isolates

The Lagos State Governor, Mr. Babajide Sanwo-Olu, has tested positive for Covid-19, Commissioner for Health, Professor Akin Abayomi, has said.


South Africa Calls For Calm as Electoral Reform Protests Continue in Eswatini

South Africa has raised concerns about the deteriorating situation in the Kingdom of Eswatini with demonstrators in a sixth-day protest


Guardiola To Leave Man City When Contract Expires in 2023

Pep Guardiola has said that he will leave Manchester City when his contract runs out in 2023 - and hopes


White pawn to d4. Black knight to f6. White pawn to c4. Black pawn to e6. White knight to c3. Black pawn to d5. White bishop to g5. Black bishop to e7. White pawn to e3. Black knight from b to d7. White knight to f3. Black pawn to h6. White bishop to h4. Black kingside castling. White bishop to d3. Black pawn from d takes c4. White bishop takes c4. Black pawn to a6. White pawn to a4. Black pawn to c5. White kingside castling. Black knight to b6. White bishop to b3. Black pawn from c takes d4. White pawn from e takes d4. Black bishop to d7. White knight to e5. Black rook to c8. White pawn to a5. Black knight from b to d5. White knight takes d5. Black knight takes d5. White bishop takes d5. Black pawn from e takes d5. White bishop takes e7. Black queen takes e7. White queen to b3. Black bishop to e6. White rook from f to e1. Black rook to c7. White knight to d3. Black queen to g5. White knight to c5. Black bishop to c8. White queen to g3. Black queen takes g3. White pawn from h takes g3. Black pawn to f6. White rook to a3. Black king to f7. White rook to b3. Black rook to e8. White king to f1. Black rook takes e1 and check. White king takes e1. Black king to e7. White rook to b6. Black king to d8. White rook to d6 and check. Black king to e7. White rook takes d5. Black pawn to g6. White king to d2. Black bishop to e6. White knight takes e6. Black king takes e6. White rook to d8. Black rook to c4. White pawn to b3. Black rook to b4. White king to c3. Black rook to b5. White pawn to b4. Black king to f5. White king to c4. Black pawn to h5. White pawn to d5. Black pawn to g5. White rook to e8. Black pawn to h4. White pawn from g takes h4.


White pawn to e4. Black pawn to c5. White knight to f3. Black pawn to d6. White pawn to d4. Black pawn from c takes d4. White knight takes d4. Black knight to f6. White knight to c3. Black pawn to a6. White pawn to f3. Black pawn to g6. White bishop to e3. Black bishop to g7. White bishop to c4. Black pawn to h5. White bishop to b3. Black knight to c6. White queen to d2. Black bishop to d7. White queenside castling. Black rook to c8. White knight takes c6. Black bishop takes c6. White queen to f2. Black knight to d7. White bishop to d4. Black knight to e5. White pawn to f4. Black knight to g4. White queen to d2. Black bishop takes d4. White queen takes d4. Black kingside castling. White pawn to h3. Black pawn to e5. White queen to d2. Black knight to f6. White pawn to f5. Black knight takes e4. White queen to h6. Black queen to f6. White pawn from f takes g6. Black queen to f4 and check. White queen takes f4. Black pawn from e takes f4. White pawn from g takes f7 and check. Black king to h7. White knight takes e4. Black bishop takes e4. White rook from h to f1. Black bishop takes g2. White rook takes f4. Black bishop takes h3. White rook takes d6. Black bishop to g4. White bishop to e6. Black bishop takes e6. White rook takes e6. Black rook to c7. White rook to e5. Black rook from c takes f7. White rook takes h5 and check. Black king to g6. White rook takes f7. Black rook takes f7. White rook to h2. Black rook to f1 and check. White king to d2. Black rook to f7. White rook to g2 and check. Black king to h5. White pawn to b3. Black rook to d7 and check. White king to c3. Black rook to c7 and check. White king to b4. Black king to h4. White pawn to c4. Black king to h3. White rook to g8. Black rook to e7. White pawn to a3. Black king to h4. White king to a5. Black rook to e3. White king to a4. Black rook to e7. White pawn to c5. Black king to h5. White pawn to b4. Black king to h6. White king to a5. Black rook to e3. White pawn to a4. Black rook to e7. White rook to g4. Black king to h5. White rook to d4. Black king to g5. White king to b6. Black king to f5. White rook to d1. Black rook to e4. White rook to b1. Black rook to e7. White pawn to b5. Black pawn from a takes b5. White pawn from a takes b5. Black rook to f7. White rook to f1 and check.


White pawn to e4. Black pawn to e6. White pawn to d4. Black pawn to d5. White knight to d2. Black knight to f6. White bishop to d3. Black pawn to c5. White pawn from e takes d5. Black pawn from e takes d5. White pawn from d takes c5. Black bishop takes c5. White knight from g to f3. Black bishop to g4. White queen to e2 and check. Black queen to e7. White queen takes e7 and check. Black bishop takes e7. White knight to e5. Black kingside castling. White knight takes g4. Black knight takes g4. White knight to f3. Black bishop to c5. White kingside castling. Black knight to c6. White bishop to f4. Black rook from f to e8. White pawn to h3. Black knight from g to e5. White knight takes e5. Black knight takes e5. White rook from a to d1. Black rook from a to d8. White bishop to g3. Black pawn to a6. White rook from f to e1. Black pawn to f6. White king to f1. Black pawn to g6. White pawn to c3. Black king to f7. White bishop to c2. Black knight to c4. White rook takes e8. Black king takes e8. White pawn to b3. Black knight to b6. White rook to d3.


White pawn to d4. Black knight to f6. White knight to f3. Black pawn to e6. White pawn to c4. Black bishop to b4 and check. White knight to c3. Black pawn to c5. White pawn to g3. Black knight to e4. White queen to d3. Black pawn from c takes d4. White queen takes d4. Black queen to f6. White queen takes e4. Black bishop takes c3 and check. White bishop to d2. Black bishop takes d2 and check. White knight takes d2. Black queen takes b2. White rook to b1. Black queen takes a2. White bishop to g2. Black kingside castling. White queen to d3. Black knight to c6. White kingside castling. Black queen to a5. White rook from f to d1. Black queen to c7. White knight to e4. Black knight to e5. White queen to d6. Black queen takes d6. White knight takes d6. Black rook to b8. White rook to b5. Black knight to c6. White rook from d to b1. Black pawn to b6. White rook from 5 to b2. Black rook to d8. White pawn to c5. Black king to f8. White pawn to e3. Black king to e7. White pawn to f4. Black pawn from b takes c5. White knight to f5 and check. Black pawn from e takes f5. White rook takes b8. Black knight takes b8. White rook takes b8. Black bishop to a6. White rook to b2. Black bishop to d3. White rook to b7. Black pawn to a6. White bishop to d5. Black bishop to e4. White bishop takes e4. Black pawn from f takes e4. White rook to a7. Black rook to c8. White rook takes a6. Black pawn to c4. White rook to a2. Black pawn to c3. White rook to c2. Black pawn to d5. White king to f2. Black king to e6. White king to e2. Black king to f5. White pawn to h3. Black pawn to g5. White pawn to g4 and check. Black king to f6. White pawn to f5. Black king to e5.


White pawn to d4. Black pawn to g6. White pawn to e4. Black bishop to g7. White knight to f3. Black pawn to d5. White pawn from e takes d5. Black queen takes d5. White pawn to c4. Black queen to d8. White knight to c3. Black knight to h6. White pawn to h3. Black knight to f5. White pawn to d5. Black kingside castling. White bishop to e2. Black pawn to c6. White kingside castling. Black pawn to e6. White pawn to d6. Black queen takes d6. White queen takes d6. Black knight takes d6. White bishop to f4. Black knight to f5. White rook from a to d1. Black pawn to c5. White pawn to g4. Black knight to d4. White knight takes d4. Black pawn from c takes d4. White knight to b5. Black knight to c6. White bishop to d6. Black rook to d8. White pawn to c5. Black pawn to e5. White bishop to f3. Black bishop to e6. White rook from f to e1. Black bishop takes a2. White knight to c7. Black rook from a to c8. White knight to d5. Black rook takes d6. White pawn from c takes d6. Black king to f8. White pawn to g5. Black rook to d8. White knight to f6. Black bishop takes f6. White pawn from g takes f6. Black rook takes d6. White bishop takes c6. Black rook takes c6. White rook takes e5. Black rook takes f6. White rook takes d4. Black rook to b6. White pawn to b4. Black bishop to e6. White rook to c5. Black king to g7. White pawn to h4. Black pawn to h5. White pawn to f4. Black king to f6. White king to f2. Black pawn to a6. White king to e3. Black king to e7. White pawn to f5. Black bishop takes f5. White king to f4. Black bishop to e6. White king to e5. Black pawn to f6 and check. White king to f4. Black rook to c6. White rook to e4. Black king to d7. White rook to d4 and check. Black king to c7. White rook to e4. Black king to d6. White rook to d4 and check. Black king to c7. White rook to d1. Black pawn to b6. White rook from c to c1. Black bishop to g4. White rook to g1. Black rook takes c1. White rook takes c1 and check. Black king to b7. White king to e4.


White pawn to e4. Black pawn to c5. White knight to f3. Black knight to c6. White bishop to b5. Black pawn to d6. White bishop takes c6 and check. Black pawn from b takes c6. White pawn to d3. Black pawn to e5. White kingside castling. Black pawn to f5. White knight to c3. Black bishop to e7. White pawn to h3. Black knight to f6. White rook to e1. Black kingside castling. White pawn to b3. Black queen to e8. White knight to h4. Black pawn to f4. White knight to f3. Black queen to h5. White knight to h2. Black queen to h4. White king to h1. Black pawn to g5. White pawn to f3. Black pawn to h5. White rook to f1. Black pawn to g4. White pawn from f takes g4. Black pawn from h takes g4. White bishop to d2. Black pawn to f3. White pawn from h takes g4. Black knight takes g4.


White pawn to d4. Black pawn to f5. White knight to f3. Black knight to f6. White bishop to g5. Black pawn to e6. White knight to c3. Black pawn to d5. White pawn to e3. Black bishop to e7. White bishop takes f6. Black bishop takes f6. White knight to e2. Black kingside castling. White pawn to c3. Black pawn to b6. White knight to f4. Black pawn to c5. White knight to d3. Black knight to c6. White knight from d to e5. Black knight takes e5. White pawn from d takes e5. Black bishop to e7. White bishop to e2. Black queen to c7. White kingside castling. Black pawn to g5. White pawn to h3. Black pawn to g4. White pawn from h takes g4. Black pawn from f takes g4. White knight to h2. Black pawn to g3. White pawn from f takes g3. Black queen takes e5. White rook takes f8 and check. Black bishop takes f8. White knight to f1. Black bishop to h6. White queen to d3. Black bishop to d7. White rook to e1. Black rook to f8. White bishop to f3. Black bishop to e8. White pawn to c4. Black bishop to g6. White queen to e2. Black king to h8. White pawn to b3. Black rook to d8. White queen to d2. Black queen to f6. White queen to e2. Black bishop to f7. White bishop to h5. Black bishop to g8. White queen to f3. Black queen to e5. White queen to e2. Black pawn to d4. White pawn from e takes d4. Black queen takes e2. White bishop takes e2. Black pawn from c takes d4. White bishop to d3. Black king to g7. White knight to h2. Black bishop to e3 and check. White king to f1. Black pawn to h5. White knight to f3. Black king to f6. White king to e2. Black pawn to e5. White rook to h1. Black bishop to f7. White rook to h4. Black rook to g8. White rook to h3. Black king to e6. White knight to h2. Black king to d6. White knight to f1. Black bishop to e6. White rook to h4. Black bishop to g4 and check. White king to e1. Black bishop to g5. White rook to h1. Black rook to e8. White bishop to e2. Black pawn to e4. White bishop takes g4. Black pawn from h takes g4. White rook to h5. Black bishop to d8. White rook to d5 and check. Black king to c6. White rook takes d4. Black bishop to c7. White king to e2. Black king to c5. White rook to d5 and check.


White pawn to d4. Black pawn to c5. White knight to f3. Black pawn from c takes d4. White queen takes d4. Black pawn to e6. White knight to c3. Black knight to c6. White queen to a4. Black pawn to a6. White pawn to e4. Black rook to b8. White knight to e2. Black pawn to b5. White queen to b3. Black knight to f6. White knight to g3. Black pawn to d5. White pawn from e takes d5. Black knight takes d5. White pawn to c3. Black bishop to c5. White bishop to e2. Black queen to b6. White knight to e4. Black bishop to e7. White kingside castling. Black pawn to h6. White pawn to a4. Black pawn to b4. White pawn to c4. Black knight to f6. White bishop to e3. Black queen to c7. White knight to g3. Black kingside castling. White rook from a to c1. Black knight to a5. White queen to c2. Black pawn to b3. White queen to b1. Black bishop to d7. White pawn to c5. Black bishop takes a4. White bishop takes a6. Black knight to c6. White knight to e4. Black knight to b4. White bishop to e2. Black knight to c2. White knight takes f6 and check. Black bishop takes f6. White bishop to d3. Black rook from f to d8. White bishop to e4. Black bishop to e7. White bishop takes c2. Black pawn from b takes c2. White rook takes c2. Black bishop takes c2. White queen takes c2. Black rook from d to c8. White rook to c1. Black bishop to f6. White pawn to b3. Black rook to b4. White bishop to d2. Black rook to b5. White pawn to b4. Black queen to c6. White queen to c4. Black rook from c to b8. White pawn to h3. Black pawn to e5. White bishop to e1. Black pawn to e4. White knight to h2. Black queen to e6. White queen takes e6. Black pawn from f takes e6. White rook to c4. Black pawn to e5. White rook takes e4. Black king to f7. White knight to g4. Black king to e6. White pawn to f3. Black rook to d8. White king to f1. Black rook to d1. White king to e2. Black rook to c1. White bishop to d2. Black rook to b1. White knight to e3. Black rook to b3. White pawn to h4. Black pawn to g6. White pawn to g3. Black pawn to h5. White rook to c4. Black bishop to g7. White knight to d1. Black king to d5. White rook to e4. Black bishop to f8. White knight to c3 and check. Black rook takes c3. White bishop takes c3. Black bishop to g7. White king to d3. Black rook to b8. White pawn to f4. Black rook to f8. White bishop takes e5. Black rook to a8. White bishop takes g7. Black rook to a3 and check. White bishop to c3.


White pawn to e4. Black pawn to c6. White pawn to d4. Black pawn to d5. White pawn to e5. Black pawn to c5. White pawn to c3. Black knight to c6. White bishop to e3. Black pawn from c takes d4. White pawn from c takes d4. Black queen to b6. White queen to d2. Black bishop to g4. White pawn to h3. Black bishop to h5. White pawn to e6. Black knight to f6. White pawn from e takes f7 and check. Black bishop takes f7. White knight to c3. Black pawn to e6. White knight to f3. Black knight to e4. White queen to d1. Black queen takes b2. White knight takes e4. Black pawn from d takes e4. White knight to d2. Black bishop to b4. White rook to b1. Black bishop takes d2 and check. White bishop takes d2. Black queen takes d4. White rook takes b7. Black kingside castling. White bishop to e2. Black rook from a to d8. White queen to c1. Black knight to e5. White bishop to e3. Black knight to d3 and check. White bishop takes d3. Black queen takes d3. White queen to b1. Black queen to c3 and check. White king to f1. Black bishop to h5. White king to g1. Black rook to d1 and check.


White pawn to e4. Black pawn to c5. White knight to f3. Black knight to c6. White pawn to d4. Black pawn from c takes d4. White knight takes d4. Black knight to f6. White knight to c3. Black pawn to e5. White knight from d to b5. Black pawn to h6. White knight to d6 and check. Black bishop takes d6. White queen takes d6. Black queen to e7. White queen takes e7 and check. Black king takes e7. White bishop to e3. Black pawn to d6. White pawn to f3. Black bishop to e6. White pawn to h4. Black pawn to a6. White pawn to g4. Black rook from a to c8. White queenside castling. Black knight to b4. White pawn to a3. Black knight to a2 and check. White knight takes a2. Black bishop takes a2. White bishop to d3. Black pawn to d5. White pawn to g5. Black pawn from h takes g5. White pawn from h takes g5. Black knight to d7. White pawn from e takes d5. Black rook takes h1. White pawn to d6 and check. Black king takes d6. White rook takes h1. Black bishop to d5. White rook to h7. Black pawn to g6. White bishop to e4. Black bishop takes e4. White pawn from f takes e4. Black king to e6. White pawn to b3. Black knight to c5. White bishop takes c5. Black rook takes c5. White king to d2. Black rook to c8. White king to d3. Black rook to d8 and check. White king to e3. Black rook to d1. White rook to h8. Black rook to g1. White rook to e8 and check. Black king to d7. White rook to f8. Black rook takes g5. White rook takes f7 and check. Black king to c6. White pawn to a4. Black pawn to a5. White rook to f6 and check. Black king to c5. White rook to f7. Black pawn to b6. White rook to c7 and check. Black king to d6. White rook to b7. Black king to c6. White rook to e7. Black rook to h5. White rook to e6 and check. Black king to c5. White rook takes g6. Black rook to h3 and check. White king to d2. Black king to d4. White rook takes b6. Black rook to h2 and check. White king to c1. Black king takes e4. White rook to b5. Black king to f4. White rook takes a5. Black pawn to e4. White rook to a7. Black king to e3. White pawn to a5. Black king to e2. White pawn to a6. Black rook to h6. White rook to e7. Black pawn to e3. White pawn to a7. Black rook to a6. White pawn to b4. Black rook to a1 and check. White king to b2. Black rook to a6. White pawn to b5. Black rook to a5. White pawn to c4. Black king to d3. White king to b3. Black rook to a1. White pawn to b6. Black rook to b1 and check. White king to a2.


the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .


the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .


effective but too-tepid biopic


if you sometimes like to go to the movies to have fun , wasabi is a good place to start .


emerges as something rare , an issue movie that's so honest and keenly observed that it doesn't feel like one .


the film provides some great insight into the neurotic mindset of all comics -- even those who have reached the absolute top of the game .


offers that rare combination of entertainment and education .


perhaps no picture ever made has more literally showed that the road to hell is paved with good intentions .


steers turns in a snappy screenplay that curls at the edges ; it's so clever you want to hate it . but he somehow pulls it off .


take care of my cat offers a refreshingly different slice of asian cinema .


C ongressional employees are retained to perform public duties that include assisting Members in official responsibilities in personal, committee, leadership, or administrative office settings. The roles, duties, and activities of congressional staff are matters of ongoing interest to Members of Congress, congressional staff, groups, and individuals, including those who raise concerns about congressional operations. Most observers recognize that Congress does not function without staff, but there is little systematic attention to what staff do, or what Members expect of them. In congressional offices, there may be interest in identifying Member expectations of congressional staff duties by position from multiple perspectives, including assessment of staffing needs in Member offices; guidance in setting position expectations, qualifications, and experience when offices choose to hire staff; and informing current and potential congressional employees of position expectations. Members of the House and Senate generally establish their own employment policies and practices for their personal offices. It is arguably the case that within Member offices, a common group of activities is executed for which staff with relevant skillsets and other qualifications are necessary. A body of publicly available job advertisements for staff positions from a number of different offices can shed light on the expectations Members have for position duties, as well as staff skills, characteristics, experience, and other expectations. For 33 commonly used congressional staff position titles, this report describes the most frequently listed job duties, applicant skills, characteristics, prior experiences, and other expectations found in a sample of job advertisements placed by Members of Congress between approximately December 2014 and September 2019 seeking staff in their offices. Table 1 lists the position titles and the frequency with which advertisements for them appeared in the sample. Identifying Job Advertisements for Congressional Staff Positions Data used in developing sample position expectations were taken from several publicly available sources, including the following, over the periods specified: The House Employment Bulletin, published weekly by the House Vacancy Announcement and Placement Service (HVAPS) in the Human Resources Office of the House Chief Administrative Officer (CAO). Data were collected from ads published between approximately January 2015 and September 2019. The Employment Bulletin, published online by the Senate "as a service to Senate offices choosing to advertise staff vacancies." Data were collected from ads, which were not dated, appearing from approximately July 2016 to July 2019. The House GOP Job and Resume Bank, which posts ads on behalf of the House Republican Conference on Facebook. Ads were collected between approximately January and June 2017. Other ads were collected from the period between approximately December 2014 and January 2017 from the House GOP Job Bank web page on the website of Representative Virginia Foxx during part of her tenure as the House Republican Conference Secretary. The Job Announcements Board hosted by Representative Steny Hoyer during part of his tenure as House Minority Whip. Data were collected from ads posted between approximately January 2016 and December 2017. Categorizing and Coding Job Advertisements More than 1,800 ads were collected from all sources. Duplicate ads resulting from posts to more than one source, and ads that appear to have been frequently reposted, were removed, as were ads for positions in congressional settings other than personal offices, yielding 880 ads for positions in Member personal offices. Substantially similar position titles (e.g., deputy scheduler and state deputy scheduler) for which there were five or more ads were identified and grouped together, as were related job titles (e.g., positions designated as district, field, or regional representative that had essentially similar job duties and expectations) for which there were five or more substantially similar ads, yielding a total of 704 ads. Ads for the 33 identified position titles were further categorized if there were five or more ads that specified the advertised position as "not entry level" or other signifier of presumptive advanced status. The 704 ads were coded against a variety of variables within eight categories, including ad tracking information; ad details; position responsibilities and responsibility areas; expected job skills, qualifications, and credentials; application materials; and office type. The distribution of ads by job title and level is provided in Table 1 . Solicitations of applicants for congressional staff appear to originate in a highly decentralized manner. Means of identifying appropriate candidates might potentially include reassigning staff within offices, placing ads in services that make them available by subscription, word of mouth, and other nonpublic means of identifying potential applicants for congressional staff positions. Consequently, it cannot be determined whether the dataset of ads analyzed in this report is representative of all congressional employment solicitations. In addition, the process by which candidates for some Member office senior staff positions are identified may not be public-facing. Based on information specified within the ads, most position titles were identified by one of the following four primary responsibility areas (some positions were identified by up to three responsibility areas): Legislative, Policy, and Oversight, Media, Messaging, and Speeches, Constituent Communications, Outreach, and Service, and Office Administration and Support. For each position, at least one sample position description was created based on the coded data. Information includes the most frequently occurring of the following: primary responsibility areas; widely expected duties, typically up to six of the most frequently occurring duties specified in all ads for that position; other potential duties, typically up to six other duties mentioned in more than one ad; applicant information, including characteristics, skills, and knowledge and prior experience; and other expectations. Concluding Observations Categorizing congressional staff positions by position title relies on an assumption that similarly titled positions in House and Senate personal offices carry out the same tasks under essentially similar circumstances. While personal offices may carry out similar activities, the assumption might be questionable given the differences in staff resources in House and Senate offices, as well as potential differences within offices of each chamber. Generalizations about staff roles and duties may also be limited in some ways due to the broad discretion Members have with regard to running their office activities. Variations from office to office, which might include differences in job duties, work schedules, office emphases, and other factors, may limit the extent to which sample position expectations provided here match operational practices in all congressional offices. Sample Position Expectations Caseworker18 Communications Director19 Communications Director, "Senior Level" or "Not Entry Level"20 Constituent Services Representative21 Correspondence Manager22 Deputy Press Secretary23 Deputy Scheduler24 Deputy Scheduler/Assistant to Chief of Staff25 Digital Director/Press Assistant26 Digital Media Director27 District Director28 Executive Assistant29 Executive Assistant/Scheduler30 Executive Assistant/Scheduler, "Not Entry Level"31 Field, District, or Regional Representative32 Field Representative/Caseworker33 Legislative Aide34 Legislative Assistant35 Legislative Assistant, "Not Entry Level"36 Legislative Correspondent37 Legislative Correspondent/Press Assistant38 Legislative Correspondent/Staff Assistant39 Legislative Counsel40 Legislative Director, House41 Legislative Director "Senior Level," or "Not Entry Level"42 Legislative Director, Senate43 Military Legislative Assistant44 Press Assistant45 Press Secretary46 Regional Coordinator47 Scheduler48 Scheduler, "Not Entry Level"49 Scheduler/Office Manager50 Senior Legislative Assistant51 Speechwriter52 Staff Assistant53 Staff Assistant/Driver54 Staff Assistant/Press Assistant55 Systems Administrator56

The roles, duties, and activities of congressional staff are matters of ongoing interest to Members of Congress, congressional staff, and observers of Congress. Members of the House and Senate establish their own employment policies and practices for their personal offices. It is arguably the case that within Member offices, a common group of activities is executed for which staff are necessary. Accordingly, a group of job advertisements for those positions from a number of different offices can shed light on the expectations Members have for position duties, as well as staff skills, characteristics, experience, and other expectations. This report provides a set of 39 widely expected job duties, applicant skills, characteristics, prior experiences, and other expectations based on a sample of ads placed by Members of Congress between approximately December 2014 and September 2019 seeking staff in their offices for 33 position titles: Sample position expectations might assist Congress from multiple perspectives, including assessment of staffing needs in Member offices; guidance in setting position expectations, qualifications, and experience when offices need to hire staff; and informing current and potential congressional employees of position expectations. At the same time, categorizing congressional staff positions by position title relies on an assumption that similarly titled positions in House and Senate personal offices carry out the same tasks under essentially similar circumstances. Although personal offices may carry out similar activities, the assumption might be questionable given the differences in staff resources in House and Senate offices, as well as potential differences among offices of each chamber, particularly the Senate. Genera lizations about staff roles and duties may also be limited in some ways due to the broad discretion Members have with regard to running their office activities. Variations from office to office, which might include differences in job duties, work schedules, office emphases, and other factors, may limit the extent to which sample position expectations might match operational practices in all congressional offices. This is one of several CRS products on congressional staff. To access those products, see CRS Report R44688, Congressional Staff: CRS Products on Size, Pay, and Job Tenure .


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

from autobahn.asyncio.websocket import WebSocketClientProtocol, \
                                       WebSocketClientFactory

import asyncio

class MyClientProtocol(WebSocketClientProtocol):

   def onConnect(self, response):
      print("Server connected: {0}".format(response.peer))

   @asyncio.coroutine
   def onOpen(self):
      print("WebSocket connection open.")

      ## start sending messages every second ..
      while True:
         self.sendMessage(u"Hello, world!".encode('utf8'))
         self.sendMessage(b"\x00\x01\x03\x04", isBinary = True)
         yield from asyncio.sleep(1)

   def onMessage(self, payload, isBinary):
      if isBinary:
         print("Binary message received: {0} bytes".format(len(payload)))
      else:
         print("Text message received: {0}".format(payload.decode('utf8')))

   def onClose(self, wasClean, code, reason):
      print("WebSocket connection closed: {0}".format(reason))

if __name__ == '__main__':

   import asyncio

   factory = WebSocketClientFactory("ws://localhost:9000", debug = False)
   factory.protocol = MyClientProtocol

   loop = asyncio.get_event_loop()
   coro = loop.create_connection(factory, '127.0.0.1', 9000)
   loop.run_until_complete(coro)
   loop.run_forever()
   loop.close()


from itertools import chain

from django.utils.itercompat import is_iterable

class Tags:
    """
    Built-in tags for internal checks.
    """
    admin = 'admin'
    caches = 'caches'
    compatibility = 'compatibility'
    database = 'database'
    models = 'models'
    security = 'security'
    signals = 'signals'
    templates = 'templates'
    urls = 'urls'

class CheckRegistry:

    def __init__(self):
        self.registered_checks = set()
        self.deployment_checks = set()

    def register(self, check=None, *tags, **kwargs):
        """
        Can be used as a function or a decorator. Register given function
        `f` labeled with given `tags`. The function should receive **kwargs
        and return list of Errors and Warnings.

        Example::

            registry = CheckRegistry()
            @registry.register('mytag', 'anothertag')
            def my_check(apps, **kwargs):
                # ... perform checks and collect `errors` ...
                return errors
            # or
            registry.register(my_check, 'mytag', 'anothertag')
        """
        kwargs.setdefault('deploy', False)

        def inner(check):
            check.tags = tags
            checks = self.deployment_checks if kwargs['deploy'] else self.registered_checks
            checks.add(check)
            return check

        if callable(check):
            return inner(check)
        else:
            if check:
                tags += (check, )
            return inner

    def run_checks(self, app_configs=None, tags=None, include_deployment_checks=False):
        """
        Run all registered checks and return list of Errors and Warnings.
        """
        errors = []
        checks = self.get_checks(include_deployment_checks)

        if tags is not None:
            checks = [check for check in checks if not set(check.tags).isdisjoint(tags)]
        else:
            # By default, 'database'-tagged checks are not run as they do more
            # than mere static code analysis.
            checks = [check for check in checks if Tags.database not in check.tags]

        for check in checks:
            new_errors = check(app_configs=app_configs)
            assert is_iterable(new_errors), (
                "The function %r did not return a list. All functions registered "
                "with the checks registry must return a list." % check)
            errors.extend(new_errors)
        return errors

    def tag_exists(self, tag, include_deployment_checks=False):
        return tag in self.tags_available(include_deployment_checks)

    def tags_available(self, deployment_checks=False):
        return set(chain.from_iterable(
            check.tags for check in self.get_checks(deployment_checks)
        ))

    def get_checks(self, include_deployment_checks=False):
        checks = list(self.registered_checks)
        if include_deployment_checks:
            checks.extend(self.deployment_checks)
        return checks

registry = CheckRegistry()
register = registry.register
run_checks = registry.run_checks
tag_exists = registry.tag_exists


"""
The :mod:`sklearn.utils` module includes various utilites.
"""

from collections import Sequence

import numpy as np
from scipy.sparse import issparse
import warnings

from .murmurhash import murmurhash3_32
from .validation import (as_float_array, check_arrays, safe_asarray,
                         assert_all_finite, array2d, atleast2d_or_csc,
                         atleast2d_or_csr, warn_if_not_float,
                         check_random_state)
from .class_weight import compute_class_weight

__all__ = ["murmurhash3_32", "as_float_array", "check_arrays", "safe_asarray",
           "assert_all_finite", "array2d", "atleast2d_or_csc",
           "atleast2d_or_csr", "warn_if_not_float", "check_random_state",
           "compute_class_weight"]

# Make sure that DeprecationWarning get printed
warnings.simplefilter("always", DeprecationWarning)

class deprecated(object):
    """Decorator to mark a function or class as deprecated.

    Issue a warning when the function is called/the class is instantiated and
    adds a warning to the docstring.

    The optional extra argument will be appended to the deprecation message
    and the docstring. Note: to use this with the default value for extra, put
    in an empty of parentheses:

    >>> from sklearn.utils import deprecated
    >>> deprecated() # doctest: +ELLIPSIS
    <sklearn.utils.deprecated object at ...>

    >>> @deprecated()
    ... def some_function(): pass
    """

    # Adapted from http://wiki.python.org/moin/PythonDecoratorLibrary,
    # but with many changes.

    def __init__(self, extra=''):
        """
        Parameters
        ----------
        extra: string
          to be added to the deprecation messages

        """
        self.extra = extra

    def __call__(self, obj):
        if isinstance(obj, type):
            return self._decorate_class(obj)
        else:
            return self._decorate_fun(obj)

    def _decorate_class(self, cls):
        msg = "Class %s is deprecated" % cls.__name__
        if self.extra:
            msg += "; %s" % self.extra

        # FIXME: we should probably reset __new__ for full generality
        init = cls.__init__

        def wrapped(*args, **kwargs):
            warnings.warn(msg, category=DeprecationWarning)
            return init(*args, **kwargs)
        cls.__init__ = wrapped

        wrapped.__name__ = '__init__'
        wrapped.__doc__ = self._update_doc(init.__doc__)
        wrapped.deprecated_original = init

        return cls

    def _decorate_fun(self, fun):
        """Decorate function fun"""

        msg = "Function %s is deprecated" % fun.__name__
        if self.extra:
            msg += "; %s" % self.extra

        def wrapped(*args, **kwargs):
            warnings.warn(msg, category=DeprecationWarning)
            return fun(*args, **kwargs)

        wrapped.__name__ = fun.__name__
        wrapped.__dict__ = fun.__dict__
        wrapped.__doc__ = self._update_doc(fun.__doc__)

        return wrapped

    def _update_doc(self, olddoc):
        newdoc = "DEPRECATED"
        if self.extra:
            newdoc = "%s: %s" % (newdoc, self.extra)
        if olddoc:
            newdoc = "%s\n\n%s" % (newdoc, olddoc)
        return newdoc

def safe_mask(X, mask):
    """Return a mask which is safe to use on X.

    Parameters
    ----------
    X : {array-like, sparse matrix}
        Data on which to apply mask.

    mask: array
        Mask to be used on X.

    Returns
    -------
        mask
    """
    mask = np.asanyarray(mask)
    if np.issubdtype(mask.dtype, np.int):
        return mask

    if hasattr(X, "toarray"):
        ind = np.arange(mask.shape[0])
        mask = ind[mask]
    return mask

def resample(*arrays, **options):
    """Resample arrays or sparse matrices in a consistent way

    The default strategy implements one step of the bootstrapping
    procedure.

    Parameters
    ----------
    `*arrays` : sequence of arrays or scipy.sparse matrices with same shape[0]

    replace : boolean, True by default
        Implements resampling with replacement. If False, this will implement
        (sliced) random permutations.

    n_samples : int, None by default
        Number of samples to generate. If left to None this is
        automatically set to the first dimension of the arrays.

    random_state : int or RandomState instance
        Control the shuffling for reproducible behavior.

    Returns
    -------
    Sequence of resampled views of the collections. The original arrays are
    not impacted.

    Examples
    --------
    It is possible to mix sparse and dense arrays in the same run::

      >>> X = [[1., 0.], [2., 1.], [0., 0.]]
      >>> y = np.array([0, 1, 2])

      >>> from scipy.sparse import coo_matrix
      >>> X_sparse = coo_matrix(X)

      >>> from sklearn.utils import resample
      >>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0)
      >>> X
      array([[ 1.,  0.],
             [ 2.,  1.],
             [ 1.,  0.]])

      >>> X_sparse                   # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
      <3x2 sparse matrix of type '<... 'numpy.float64'>'
          with 4 stored elements in Compressed Sparse Row format>

      >>> X_sparse.toarray()
      array([[ 1.,  0.],
             [ 2.,  1.],
             [ 1.,  0.]])

      >>> y
      array([0, 1, 0])

      >>> resample(y, n_samples=2, random_state=0)
      array([0, 1])

    See also
    --------
    :class:`sklearn.cross_validation.Bootstrap`
    :func:`sklearn.utils.shuffle`
    """
    random_state = check_random_state(options.pop('random_state', None))
    replace = options.pop('replace', True)
    max_n_samples = options.pop('n_samples', None)
    if options:
        raise ValueError("Unexpected kw arguments: %r" % options.keys())

    if len(arrays) == 0:
        return None

    first = arrays[0]
    n_samples = first.shape[0] if hasattr(first, 'shape') else len(first)

    if max_n_samples is None:
        max_n_samples = n_samples

    if max_n_samples > n_samples:
        raise ValueError("Cannot sample %d out of arrays with dim %d" % (
            max_n_samples, n_samples))

    arrays = check_arrays(*arrays, sparse_format='csr')

    if replace:
        indices = random_state.randint(0, n_samples, size=(max_n_samples,))
    else:
        indices = np.arange(n_samples)
        random_state.shuffle(indices)
        indices = indices[:max_n_samples]

    resampled_arrays = []

    for array in arrays:
        array = array[indices]
        resampled_arrays.append(array)

    if len(resampled_arrays) == 1:
        # syntactic sugar for the unit argument case
        return resampled_arrays[0]
    else:
        return resampled_arrays

def shuffle(*arrays, **options):
    """Shuffle arrays or sparse matrices in a consistent way

    This is a convenience alias to ``resample(*arrays, replace=False)`` to do
    random permutations of the collections.

    Parameters
    ----------
    `*arrays` : sequence of arrays or scipy.sparse matrices with same shape[0]

    random_state : int or RandomState instance
        Control the shuffling for reproducible behavior.

    n_samples : int, None by default
        Number of samples to generate. If left to None this is
        automatically set to the first dimension of the arrays.

    Returns
    -------
    Sequence of shuffled views of the collections. The original arrays are
    not impacted.

    Examples
    --------
    It is possible to mix sparse and dense arrays in the same run::

      >>> X = [[1., 0.], [2., 1.], [0., 0.]]
      >>> y = np.array([0, 1, 2])

      >>> from scipy.sparse import coo_matrix
      >>> X_sparse = coo_matrix(X)

      >>> from sklearn.utils import shuffle
      >>> X, X_sparse, y = shuffle(X, X_sparse, y, random_state=0)
      >>> X
      array([[ 0.,  0.],
             [ 2.,  1.],
             [ 1.,  0.]])

      >>> X_sparse                   # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
      <3x2 sparse matrix of type '<... 'numpy.float64'>'
          with 3 stored elements in Compressed Sparse Row format>

      >>> X_sparse.toarray()
      array([[ 0.,  0.],
             [ 2.,  1.],
             [ 1.,  0.]])

      >>> y
      array([2, 1, 0])

      >>> shuffle(y, n_samples=2, random_state=0)
      array([0, 1])

    See also
    --------
    :func:`sklearn.utils.resample`
    """
    options['replace'] = False
    return resample(*arrays, **options)

def safe_sqr(X, copy=True):
    """Element wise squaring of array-likes and sparse matrices.

    Parameters
    ----------
    X : array like, matrix, sparse matrix

    Returns
    -------
    X ** 2 : element wise square
    """
    X = safe_asarray(X)
    if issparse(X):
        if copy:
            X = X.copy()
        X.data **= 2
    else:
        if copy:
            X = X ** 2
        else:
            X **= 2
    return X

def gen_even_slices(n, n_packs):
    """Generator to create n_packs slices going up to n.

    Examples
    --------
    >>> from sklearn.utils import gen_even_slices
    >>> list(gen_even_slices(10, 1))
    [slice(0, 10, None)]
    >>> list(gen_even_slices(10, 10))                     #doctest: +ELLIPSIS
    [slice(0, 1, None), slice(1, 2, None), ..., slice(9, 10, None)]
    >>> list(gen_even_slices(10, 5))                      #doctest: +ELLIPSIS
    [slice(0, 2, None), slice(2, 4, None), ..., slice(8, 10, None)]
    >>> list(gen_even_slices(10, 3))
    [slice(0, 4, None), slice(4, 7, None), slice(7, 10, None)]
    """
    start = 0
    for pack_num in range(n_packs):
        this_n = n // n_packs
        if pack_num < n % n_packs:
            this_n += 1
        if this_n > 0:
            end = start + this_n
            yield slice(start, end, None)
            start = end

def tosequence(x):
    """Cast iterable x to a Sequence, avoiding a copy if possible."""
    if isinstance(x, np.ndarray):
        return np.asarray(x)
    elif isinstance(x, Sequence):
        return x
    else:
        return list(x)

class ConvergenceWarning(Warning):
    "Custom warning to capture convergence problems"


#!/usr/bin/python
# encoding: utf-8 -*-

# Copyright: (c) 2013, Matthias Vogelgesang <matthias.vogelgesang@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function
__metaclass__ = type

ANSIBLE_METADATA = {'metadata_version': '1.1',
                    'status': ['preview'],
                    'supported_by': 'community'}

DOCUMENTATION = '''
---
module: kernel_blacklist
author:
- Matthias Vogelgesang (@matze)
version_added: '1.4'
short_description: Blacklist kernel modules
description:
    - Add or remove kernel modules from blacklist.
options:
    name:
        description:
            - Name of kernel module to black- or whitelist.
        required: true
    state:
        description:
            - Whether the module should be present in the blacklist or absent.
        choices: [ absent, present ]
        default: present
    blacklist_file:
        description:
            - If specified, use this blacklist file instead of
              C(/etc/modprobe.d/blacklist-ansible.conf).
'''

EXAMPLES = '''
- name: Blacklist the nouveau driver module
  kernel_blacklist:
    name: nouveau
    state: present
'''

import os
import re

from ansible.module_utils.basic import AnsibleModule

class Blacklist(object):
    def __init__(self, module, filename, checkmode):
        self.filename = filename
        self.module = module
        self.checkmode = checkmode

    def create_file(self):
        if not self.checkmode and not os.path.exists(self.filename):
            open(self.filename, 'a').close()
            return True
        elif self.checkmode and not os.path.exists(self.filename):
            self.filename = os.devnull
            return True
        else:
            return False

    def get_pattern(self):
        return r'^blacklist\s*' + self.module + '$'

    def readlines(self):
        f = open(self.filename, 'r')
        lines = f.readlines()
        f.close()
        return lines

    def module_listed(self):
        lines = self.readlines()
        pattern = self.get_pattern()

        for line in lines:
            stripped = line.strip()
            if stripped.startswith('#'):
                continue

            if re.match(pattern, stripped):
                return True

        return False

    def remove_module(self):
        lines = self.readlines()
        pattern = self.get_pattern()

        if self.checkmode:
            f = open(os.devnull, 'w')
        else:
            f = open(self.filename, 'w')

        for line in lines:
            if not re.match(pattern, line.strip()):
                f.write(line)

        f.close()

    def add_module(self):
        if self.checkmode:
            f = open(os.devnull, 'a')
        else:
            f = open(self.filename, 'a')

        f.write('blacklist %s\n' % self.module)

        f.close()

def main():
    module = AnsibleModule(
        argument_spec=dict(
            name=dict(type='str', required=True),
            state=dict(type='str', default='present', choices=['absent', 'present']),
            blacklist_file=dict(type='str')
        ),
        supports_check_mode=True,
    )

    args = dict(changed=False, failed=False,
                name=module.params['name'], state=module.params['state'])

    filename = '/etc/modprobe.d/blacklist-ansible.conf'

    if module.params['blacklist_file']:
        filename = module.params['blacklist_file']

    blacklist = Blacklist(args['name'], filename, module.check_mode)

    if blacklist.create_file():
        args['changed'] = True
    else:
        args['changed'] = False

    if blacklist.module_listed():
        if args['state'] == 'absent':
            blacklist.remove_module()
            args['changed'] = True
    else:
        if args['state'] == 'present':
            blacklist.add_module()
            args['changed'] = True

    module.exit_json(**args)

if __name__ == '__main__':
    main()