Call (888) 471-5989 to speak with a personal injury attorney.
According to the Centers for Disease Control (CDC), there are approximately 4.7 million dog bites per year in the United States, 800,000 of which require medical attention. Children are the most likely victims of dog bites, and most injuries which occur to children occur in the face, head and neck areas. In fact, dog bites represent a greater health problem for children than measles, mumps and whooping cough., combined.
There are some breeds of dogs, such as rottweilers, pit bulls, german shepherds, doberman pincers and great Danes, that are known to be inherently more aggressive or even vicious than other dogs. Nevertheless, any dog, if provoked or frightened enough, may attack. The odds of a dog attacking increase if the dog is rabid, or has been abused or neglected by its owners.
Overall, hospitals around the country collectively report roughly 1,000 emergency visits per due to dog bites. Under the law in many states, the owners of these dogs are held fully responsible, unless the person injured was trespassing, provoking the animal, or in the act of committing a crime. If the person attacked was under the age of seven, regardless of the reason for the attack, the owner is held 100% responsible.
Dogs are not the only animals that bite humans. Other domestic animals such as cats, birds, ferrets, hamsters, guinea pigs and gerbils can bite and cause injury. Farm animals, including goats, sheep, horses, cows, chickens, llamas and alpacas may also attack a human being and bite or otherwise injury them. There may be liability in all of these cases, although the law varies from state to state.
There are several ways to establish liability, and one of these ways is either a primary or secondary law in every state. It is often called the standard rule of negligence. According to this law, if the owner knew of the animal's potential for danger, then that owner is liable for damages caused by the dog bite. In some states, the breed of the dog, and the owner's knowledge of that breed, can satisfy the standard rule of liability. In others, the owners' knowledge of the dog's tendencies and disposition, as well as previous acts of aggression all factor into assessing owner liability under this statute. The premise is that the owner should have controlled a dog that was known to be dangerous.
A few states have what is called the strict liability statute. The only proof needed in strict liability case is that which connect the dog and owner. No other circumstances, including trespassing and provocation, are of importance under this statute. The victim need only to prove which dog did the biting. There are a few states that do not have specific laws for determining liability in a dog bite case. In these states, the burden of proof is on the injured party.
If liability can be proven, the victim may be able to recover medical costs and damages not only for medical costs and the costs associated with time lost from work, but also for pain, mental anxiety, and permanent scarring. The law also allows for punitive damages, which punish the owner for allowing the situation to take place. The owner is then liable for damages, no matter what the circumstance surrounding the bite.
If you have been bitten by a dog or other domestic animal, or if you are the parent of a child who has been bitten by a dog or other domestic animal, it may be advisable to contact a personal injury lawyer to find out if you have a case. There are personal injury lawyers who specialize in dog- and animal-bite cases, so visit the website of the American Bar Association in order to find one in your area.


text:
The Sly Masquerade
Kevin Stevens April 2021
Philip Roth: The Biography, by Blake Bailey, Jonathan Cape, 912 pp, £30, ISBN: 978-0224098175
Two decades on, it's clear that the latter half of the twentieth century was a golden age for American fiction. The global disruption of World War II, the end of which released so much wealth, energy and opportunity into American life, also stimulated a cultural and literary shift that increasingly gave heft to content and voices previously unexplored and unheard ‑ or kept underground. Beginning with, say, Saul Bellow's The Adventures of Augie March and James Baldwin's Go Tell It On the Mountain, both published in 1953, and ending with Toni Morrison's Jazz and Don DeLillo's Underworld as the century neared its end, this fifty-year span delivered a repertoire of novels and short fictions stunning for their breadth of subject, formal innovation, and inclusiveness.
And for insight. Time will tell, of course, but the loosening of standards of correctness and the democratisation of experience that took seed in the fifties and burgeoned in the sixties and beyond allowed some very talented writers of diverse identity to examine the lives and attitudes of their contemporaries with utter freedom, and to fashion a variety of narrative modes with the intricacy and suppleness to portray a teeming, overheated, post-industrial republic. Refining the techniques and sensibilities of modernism, American novelists of this period chronicled a time and place that cried out for exegesis: a country that deemed itself all-powerful, exceptional and anointed by God for good; that denied its legacies of racism and economic imperialism; that grew into a commercial and cultural behemoth where willed extremism, at both ends of the sociopolitical spectrum, increasingly crowded out a rational middle. Somehow, in a national atmosphere of mistrust of intellectual endeavour and widespread ignorance of serious literature, these writers managed to do more than anyone to lay bare their country's baroque contradictions.
Philip Roth was not just a resident of this belle époque but one of its principal architects. With the aesthetic rigor of Henry James and the madcap iconoclasm of Harpo Marx, his was the perfect voice for the cultural explosion that began when, as his greatest creation, Nathan Zuckerman, puts it in The Ghost Writer, "Oswald shot Kennedy and the straitlaced bulwark gave way to the Gargantuan banana republic." The evolution of postwar America ‑ and his place in it as a Jew, a writer, an American, and a man ‑ was Roth's great subject, and he was as perceptive, detailed and savage in his dissection of his country's flaws and excesses as he was of the straitlaced and Gargantuan sides of his own personality.
The scope and skill with which he tackled this great subject, in twenty-seven novels published in seven different decades, make a strong case for Roth being considered the finest American novelist of this gilded age. For consistent quality of output, for growth and longevity, for the honesty and intensity of his narrative voices and for the relentless quest to find fictional forms that would make sense of his experience and the experience of his country, he has few rivals, during the long stretch of his career or at any other time. In 2006, the New York Times Book Review asked more than a hundred prominent writers, critics, and editors to identify the single best work of American fiction published in the previous twenty-five years. Morrison's Beloved received the greatest number of votes. Runners-up included Underworld, Cormac McCarthy's Blood Meridian, John Updike's Rabbit tetralogy, and Roth's American Pastoral. Altogether, twenty-two novels received multiple votes. Six of those were by Roth, several more than any other writer. As the editor of the survey, AO Scott, concluded: "If we had asked for the single best writer of fiction over the past twenty-five years, [Roth] would have won."
Roth's writing life was both a steady progression toward mastery and a recurring loop of literary self-discovery. At least once a decade he gave us a classic work, different from anything he had written before, which nevertheless built on the strengths and discoveries of what he'd left behind. In 1959, at the age of twenty-six, he became the youngest winner of the National Book Award with Goodbye, Columbus, a collection whose title story is an assured, wonderfully formed novella, as perfect in its way as Daisy Miller. Exactly ten years later he published one of the defining books of the sixties, Portnoy's Complaint, a cultural phenomenon and ribald succès de scandale that made Roth a wealthy man while marking his discovery of a voice ‑ wise-cracking, profane, tortured, robust ‑ that reflected the energy and anarchy of the time and was driven by the subversion and scepticism of a man coming up for air, like the country itself, from the confining depths of sexual repression and bourgeois respectability. Another ten years and The Ghost Writer appeared, the Portnoy voice modulated and refined into that of Roth's most resilient and intriguing fictional surrogate, Nathan Zuckerman. An ideal marriage of form and content, this masterwork is a delicate study of literary ambition and the writing life as well as the opening volume of the tetralogy Zuckerman Bound, a free-form, expressionistic examination of a writer's outward fame and inward torment, which Harold Bloom said deserves "the highest level of aesthetic praise for tragicomedy". Zuckerman would hang around for most of the rest of Roth's writing life, but in The Counterlife, published in 1987, he was the dazzling vehicle for his fullest exploration of the author as his own subject and the novel's form as a series of mirrors and impersonations. By the early 1990s, as Roth reached the age of sixty, he had developed his craft and worked out his personal and literary obsessions to the point where he was ready to write his two greatest novels, Sabbath's Theater and American Pastoral, fully realised works of social realism that are Shakespearean in their dramatic structure, richness of language and tragic sensibility, yet formally modernist and ideally aligned with his aim of interweaving national malaise and individual despair as the American century fizzled to a close.
Let's catch our breath. Is it any wonder Blake Bailey's biography has been so long anticipated? An enviable oeuvre, a trail of literary prizes, riches and renown, influence among those who mattered to him, from Nobel prize-winners to presidents and prime ministers ‑ Roth seemed to have everything a novelist might strive for; so much for a biographer to cover, so much to sift and weigh. And yet the success is only half the story. It came at a price. At no point in his sixty-plus years as a published author did Roth fail to generate animosity ‑ deeply held, fiercely articulated, highly public. From the rabbis and guardians of the conservative and hypersensitive postwar American Jewish community, to the New York intelligentsia, to feminists and others who took issue with his depiction of women, to a wave of younger writers who saw him as a social dinosaur, Roth carried a lifelong target on his back. Some of this enmity he relished. "Do you have a Roth reader in mind when you write?" Hermione Lee asked him mid-career. "No," Roth replied. "I occasionally have an anti-Roth reader in mind. I think, 'How he is going to hate this!' That can be just the encouragement I need." But the demand, book after book, to justify his choice of subject matter, his exploration of extremes and his manic impersonations was exhausting, often debilitating, and occupied much time he would have preferred to have spent reading or writing. These frequent battles added rich grist to Bailey's biographical mill.
Though Roth would live to be eighty-five, he had a long history of heart disease, chronic back pain, and other medical issues that made him worry from a relatively young age that he might die before a fair and comprehensive account of his life and legacy had been written. Such a concern was natural for a man who generated so much controversy and provoked antipathy from so many quarters, but it was especially pressing after Roth and his second wife, the Anglo-Jewish actor Claire Bloom, divorced in 1994. Bloom's memoir Leaving a Doll's House, published two years after the divorce, depicted Roth as neurasthenic, adulterous, selfish and financially vindictive, and did so with a cool tone well-designed to elicit sympathy for her and her daughter, with whom Roth had a fractious relationship from the beginning. Roth made sure to tell his side of the story, in letters, fictions, and an unpublished 300-page manuscript (read by Bailey but sealed from public access until 2050) entitled "Notes for My Biographer". But worried that Bloom's book would be the only substantive published version of their difficult eighteen-year relationship, for a year or two he contemplated writing a full-life autobiography (he had, in 1988, published a memoir, The Facts, covering his upbringing, first marriage, and beginnings as a writer). From 1996 onward, Roth engaged sporadically with his close friend Ross Miller on an authorised biography, and the two worked together for more than a decade before they fell out and the project sputtered to a halt. Then, in 2012, Bailey, who had written biographies of John Cheever and Richard Yates, put himself forward for the job. "Why should a gentile from Oklahoma write the biography of Philip Roth?" was the potential subject's first question. "Well, I'm not a bisexual alcoholic with an ancient Puritan lineage," Bailey replied, "but I wrote about John Cheever." Three hours later he had won Roth's approval.
Bailey was the right man at the right moment for the job. Roth had stopped writing fiction and believed he would live only another year or so. But he lived for six more years, and during their frequent meetings over that time he was expansive and forthcoming. Bailey also held hundreds of interviews with family, friends, colleagues ‑ even enemies ‑ and had access to scores of others conducted by Ross Miller. Supplementing this oral raw material was a trove of written Rothiana, including personal papers and content from Princeton, Harvard, the Library of Congress, the University of Chicago and other institutions.
In spite of this wealth of sources and the depth of the research, Bailey's book has a light, vocal surface, with the intimacy and rhythm of a good conversation ‑ a good Jewish conversation. Roth's spirit presides. Clearly the two men got on, and Roth made it clear early on that he did not want his character whitewashed. "I don't want you to rehabilitate me," he told Bailey. "Just make me interesting." So we get plenty of earthy detail in language that, though it may not rival the explicitness of Roth's most extreme diction, often matches the "wiseguy talk and sex talk" that Roth learned in the pinball joints of Newark and made a feature of his inimitable style. The triumphs, in art and life, are thoroughly presented and celebrated, but so too is Roth's dark side: his willingness to use the most personal details of his friends and family in his fiction, for example, or the way he could nurture a resentment for decades. Indeed, Philip Roth gives us what we expect of a biography of a major writer: plenty of detail, gossip, insight, and context, context, context. And though the 900-page narrative is exhaustive, it is never boring.
Bailey is also a subtle and sympathetic reader of the fiction and offers critical analyses of Roth's novels that, while they may not break new ground, do much more than simply align the fictional characters and situations with real-life analogues (though there is plenty of that too). He is not afraid to express his taste, and his judgement of why some of Roth's work falls short adds credibility to his praise for the best. Roth's dystopian alternative history, The Plot Against America, in which America-Firster Charles Lindbergh defeats Franklin Roosevelt in the 1940 presidential election, was palatable with the general public, Bailey suggests, precisely because of its weaknesses ‑ "a schematic but compelling plot; stylized characters; unembellished prose". He agrees with JM Coetzee's assessment that "by the standard set by Sabbath's Theater, The Plot Against America is not a major work". Like many of Roth's admirers, Bailey also found Operation Shylock a slog, but his respect and understanding of the greatest books ‑ The Ghost Writer, The Counterlife, The Human Stain, and, of course, American Pastoral ‑ are evident in his sensitive readings and generous praise. And it is good to know from Bailey that Roth's favourite among his books was the "splendidly wicked" Sabbath's Theater, which many, including Martin Amis of all people, have found rebarbative.
Bailey avoids the temptation of some recent biographers to depart from a solid, chronological framework (Edmund Morris's 2019 Edison told the inventor's life story backwards), and the eighty-five years of Roth's eventful life unfold steadily and clearly for the reader. Roth's home city of Newark, New Jersey is established early on as his Yoknapatawpha, and Bailey describes its evolution from industrial hub to middle class haven to urban decline to revitalisation primarily by tracing Roth's shifting attitude toward the peaceful, secure environment of his boyhood, from which he longed to escape only to "spend the rest of his life thinking about it". And writing about it ‑ Goodbye, Columbus, Portnoy's Complaint, American Pastoral and I Married a Communist are all great Newark books. Though the city was the often claustrophobic setting of his home and family, it also offered Roth as a boy and young man "a great emancipation from Jewish xenophobia" via the open stacks of its excellent public library and his classes at the Newark campus of Rutgers, where he studied for a year before transferring to Bucknell University in rural Pennsylvania.
Roth went from Bucknell to the University of Chicago, where he did postgraduate work and published his first stories, sensitive tales à la Truman Capote and JD Salinger that earned him a local reputation but were rather anaemic efforts that avoided addressing what would become his central theme: the conflict between being "a nice Jewish boy" and aggressively pursuing individual fulfilment. But reading Bernard Malamud and Saul Bellow, both coming into their own around this time, convinced Roth he could write about Jewish life in America without apology ‑ and without the sentimentality and propaganda of Jewish American fiction prior to the war. By the late fifties, he had hit his stride, publishing the powerful stories that would accompany the title novella in Goodbye, Columbus. All the fictions in that first book featured Jewish protagonists and Jewish themes, handled in ways that would stir the first major controversy of Roth's career.
One of them, "The Defender of the Faith", had been published in The New Yorker just weeks ahead of the book's publication. Its depiction of an unprincipled soldier willing to trade on his Jewishness for selfish ends did not go down well with some Jewish readers of the magazine; letters flooded in, and many cancelled subscriptions. "Your story makes people ‑ the general public ‑ forget all the great Jews that ever lived," one typical objector wrote. The president of the Rabbinical Council of America also weighed in, asking, "What is being done to silence this man?" When Goodbye, Columbus was published six weeks later, the satire of the nouveau riche family in the title story poured more gasoline on the fire, and while the literary establishment was celebrating young Roth's remarkable achievement, mainstream publications like the New York Post were saying that his work was "an exhibition of Jewish self-hate".
Bailey does a good job of reporting the crossfire, giving us the social and historical context for the backlash, and assessing its effect on Roth's life and work. This salvo would be the first of many accusations of Jewish self-hatred, which always bewildered and angered Roth, especially as they grew more subtle over the years. After the 1969 publication of Portnoy's Complaint (the best-selling novel in Random House history to that point) and the commercially successful release of the film version of Goodbye, Columbus the same year, some of the old, wise heads of what Capote called the Jewish literary mafia began to reconsider their earlier praise of this wunderkind. It's hard now to see their change of heart as anything other than a reaction to Roth's lack of decorum. In the pages of influential journals like Commentary and Dissent, Norman Podhoretz, Irving Howe and others began to attack what they saw as Roth's "stance of superiority" and lack of any "historical context" and claimed to have overpraised his early work. But the truth was they didn't like his tone ‑ or the tone of his narrators at any rate. Other critics focused on a different sin. Anatole Broyard wrote, in his New York Times review of the 1974 novel My Life as a Man, that Roth seemed "to have a bone to pick with women", a censure that would persist in various forms for decades. Bailey doesn't spare the detail of these two charges ‑ antisemitism and misogyny ‑ which Roth "was unable to forgive or at least forget". He presents the context fairly and carefully, recording Roth's reactions and responses ‑ sometimes fiery, sometimes despairing ‑ as he did his best to turn opposition into motivation, and he skilfully weaves discussion of the controversies into the personal details of Roth's life: his marriages and love affairs, his health issues, his friendships, his teaching, and of course his writing.
Roth's penchant for narrators who have backgrounds similar to his own and indulge in overstatement, satire and self-incrimination (the whole of Portnoy's Complaint, replete with rant and ridicule, is disguised as a session with a psychiatrist) was partly what got him into trouble. As well as alienating many readers and critics, this hyper-confessional strain made it tempting to confuse Roth's narrators with the author. It also made it easy to overlook how engaged he was with international literary culture, past and present, which informed his craft and deepened his thinking about what it means to be an American writer. His first heroes were James and Flaubert, followed soon by Kafka. In 1972, he made a pilgrimage of sorts to Prague, visiting Kafka's grave and the places he had read about in the diaries and letters and Max Brod's biography, as well as meeting several Czech writers and spending time at a museum for the victims of the Theresienstadt concentration camp. The trip moved him deeply, as a writer and as a descendant of Eastern European Jews, and over the years that followed, this distant and very different part of the world would become an important element of his fiction and his life.
Roth returned to Prague several times during the 1970s, cultivating relationships with writers, filmmakers and intellectuals. He began devoting much of his non-writing time to helping dissidents. With Jerzy Kosinski, president of PEN, he raised money for writers throughout Eastern Europe who had been barred from publishing or teaching; he wrote newsletters for PEN's Freedom to Speak committee; and in 1974, he pitched to Penguin Books the idea of publishing a paperback series called "Writers of the Other Europe", works of fiction that had been suppressed in countries behind the Iron Curtain. Seventeen volumes by Milan Kundera, Bruno Schulz and others would be published over the next fifteen years, with Roth's name as editor on the cover of each to spur sales.
Eastern Europe under communism fascinated Roth because it was a place where "nothing goes and everything matters" ‑ unlike the United States, where "everything goes and nothing matters" and where, as Roth put it, an enormous commercial society's demand for complete freedom of expression results in culture becoming a "maw". In the closing pages of The Prague Orgy, his epilogue to Zuckerman Bound, Nathan Zuckerman has been expelled from Czechoslovakia, having failed in his mission to retrieve a valuable manuscript of Yiddish stories, and on his way out he quotes from Kafka's The Castle as he wrestles with the meaning of narrative for the repressed writers he has met, and for himself:
"What could entice me to this desolate country," says K., "except the wish to stay here?" ‑ here where there's no nonsense about purity and goodness, where the division is not that easy to discern between the heroic and the perverse, where every sort of repression foments a parody of freedom and the suffering of their historical misfortune engenders in its imaginative victims these clownish forms of human despair ‑ here where they're careful to remind the citizens (in case anybody gets any screwy ideas) "the phenomenon of alienation is not approved of from above." In this nation of narrators I'd only just begun hearing all their stories.
Roth saw in the communist suppression of the arts a strange parallel to the writer's dilemma in America. Being ignored can be as debilitating as being muzzled. And the subversive strategies of disguise, impersonation, false history and burlesque that Czech writers used ‑ in their fictions and their lives ‑ to work around the suffocating strictures of totalitarianism had been and would be similar to the narrative techniques Roth employed to confront the bloated reality of America's crassness and false sense of itself. Roth wrote most of Zuckerman Bound, a tour de force of literary ventriloquism and the calculated confusion of the distinctions between art and life, the real and the imagined, during the presidency of Ronald Reagan, whom Roth described in 1984 as the apotheosis of "American-style philistinism run amok" and "a terrifyingly powerful world leader with the soul of an amiable, soap-opera grandmother". And as we now know, it was a trend that would only get worse in the decades that followed.
That same year, the Paris Review published a long, revealing interview of Roth by Hermione Lee. Fifty years old, he was reaching his peak. He knew what he was doing. He was ready, if a little squeamish, to talk about himself in a format and a publication that he knew was, as Bailey puts it, "a touchstone for readers interested in his work and person". In his prime, he had the confidence, experience and energy, in the dozen or so years that lay ahead, to create his finest work: The Counterlife, Sabbath's Theater, and American Pastoral. And his well-considered responses to Lee's questions help us see how, at this key juncture, he saw his job as a novelist and what he thought about the complicated issue of biography.
After the usual Paris Review questions about how he gets started and what is the best time of day for him to write and so on, Lee got down to business. "What happens to Philip Roth when he turns into Nathan Zuckerman?" she asked.
Nathan Zuckerman is an act. It's all the art of impersonation, isn't it? That's the fundamental novelistic gift … Making fake biography, false history, concocting a half-imaginary existence out of the actual drama of my life is my life. There has to be some pleasure in this job, and that's it. To go around in disguise. To act a character. To pass oneself off as what one is not. To pretend. The sly and cunning masquerade … You don't necessarily, as a writer, have to abandon your biography completely to engage in an act of impersonation. It may be more intriguing when you don't. You distort it, caricature it, parody it, you torture and subvert it, you exploit it ‑ all to give the biography that dimension that will excite your verbal life.
Pressed by Lee on the relationship of life to fiction, he elaborated:
You have to be awfully naive not to understand that a writer is a performer who puts on the act he does best ‑ not least when he dons the mask of the first-person singular. That may be the best mask of all for a second self … The intriguing biographical issue ‑ and critical issue, for that matter ‑ isn't that a writer will write about some of what has happened to him, but how he writes about it, which, when understood properly, takes us a long way to understanding why he writes about it.
This subtle perspective, which pushed Roth to extremes of self-exposure and literary technique, bears on our assessment of Bailey's book. The how of literary effort is so important to Roth that it makes us ask to what extent Bailey, using the conventional tactics and tropes of literary biography, can capture the truth of the man. Bailey certainly gets this ‑ he pays due attention to Roth's tenets about character and its presentation in prose, and he is subtle himself in his description of them. And, after all, this is a biography, not a Philip Roth novel. But Roth's firm belief in the power of fiction, in the "delicate devices by which novels create the illusion of a reality more like the real than our own", helps us understand that his novels, carefully read, properly pondered, bring us closer to his essence than any biography could. Throughout my reading of Bailey's book, I kept thinking of Zuckerman's warning in the opening chapter of American Pastoral, when he is meeting his old hero and the novel's protagonist, Swede Levov, just months before the Swede's death and long after the action of the novel to come has taken place. Frustrated by the Swede's unruffled surface and bland resistance to his repeated probing, Zuckerman wonders if it is possible to get to the core of this intriguing man ‑ or any person:
You do your best to get to the reality of people, but you never fail to get them wrong … You get them wrong before you meet them, while you're anticipating meeting them; you get them wrong while you're with them; and then you go home to tell somebody else about the meeting and you get them all wrong again. Since the same generally goes for them with you, the whole thing is really a dazzling illusion empty of all perception.
No one is exempt from this illusion, not even the novelist. Here is Zuckerman again, from The Counterlife, that brilliant hall of mirrors of a novel that disregards every Aristotelian unity in its attempt to understand the map of reality, the meaning of character and the demands of narrative:
Being Zuckerman is one long performance and the very opposite of what is thought of as being oneself. In fact, those who most seem to be themselves appear to me people impersonating what they think they might like to be, believe they ought to be, or wish to be taken to be by whoever is setting the standards. So in earnest are they that they don't even recognize that being in earnest is the act.
Yet the novelist's need is to keep trying to get it right, to peel away the layers of the act, to use illusion itself to unlock the secrets we all carry, including our own. And yet never get to the bottom of things. So what hope has the biographer? What hope had Bailey of knowing what performance Roth was summoning in their exchanges? Just make me interesting, he said. But how did Roth "wish to be taken to be"? Was he making himself interesting? With the story of being invited up to Jackie Kennedy's Fifth Avenue apartment at the end of an evening and being given a "lingering kiss"? With details of propositioning his female neighbours in the lobby and elevators of his Kips Bay apartment building ("easy as pie")? What impersonation was at play during these interviews? What sly masquerade was he perpetrating?
Is character destiny or is a man's fate "the joke that his life plays on his character"? Trying to answer that question lies behind every Philip Roth fiction. And behind his biography. It is a question writers have been asking since Homer, one best addressed by the imagination. As detailed and informative and well-written as Bailey's book is, I can't help feeling that he should have interviewed not just Roth but also Nathan Zuckerman ‑ for the input of Roth's imagination. And how could he have done that? Well, Roth could have helped him there ‑ that is exactly what he did when he wrote The Facts. His memoir opens with a letter to Zuckerman and closes with an eight-thousand-word response from his alter ego. These two fictional missives make up a quarter of the whole memoir! "Is the book any good?" Roth asks Zuckerman up front. "Because The Facts has meant more to me than may be obvious and because I've never worked before without my imagination having been fired by someone like you or Portnoy or Tarnopol or Kepesh, I'm in no real position to tell. Be candid."
And of course Zuckerman is candid, pulling no punches in the book's long postscript: "Don't publish," he warns, "you are far better off writing about me than 'accurately' reporting your own life." As this concluding letter unfolds, we come under the influence of another brilliant piece of Rothian legerdemain, one that makes the central, nonfiction narrative of the memoir feel almost banal and tells us more about the magician behind the words than anything the "facts" of his life do. Zuckerman continues to hector his creator, ruthlessly:
What you choose to tell in fiction is different from what you're permitted to tell when nothing's being fictionalized, and in this book you are not permitted to tell what it is you tell best: kind, discreet, careful ‑ changing people's names because you're worried about hurting their feelings ‑ no, this isn't you at your most interesting. In the fiction you can be so much more truthful without worrying all the time about causing direct pain … You, Roth, are the least completely rendered of all your protagonists … My guess is that you've written metamorphoses of yourself so many times, you no longer have any idea what you are or ever were. By now what you are is a walking text.
Facts, Roth tells us through Zuckerman, are unmanageable and inconclusive and kill the inquiry that imagination opens up. And by turning autobiography into metafiction, Roth further confirms his belief that we can never really know someone. Even ourselves. But we can know a novel, and love the magic a great novelist performs as he plays with the confusing elements of our existence. So let the final words come from Zuckerman, the ventriloquist's dummy, the unabashed spokesman for the imagination, from the closing pages of The Prague Orgy:
One's story isn't a skin to be shed ‑ it's inescapable, one's body and blood. You go on pumping it out till you die, the story veined with the themes of your life, the ever-recurring story that's at once your invention and the invention of you.
It's great to have a good biography of Philip Roth. But the real story is in the fiction.
Kevin Stevens is a novelist and critic based in Cambridge, Massachusetts.
Donation frequency
Card info
Prove you are a human
Donate €1
If you donate and also register with the drb you will enjoy permanent free access to our archive of several thousand essays on reaching €100 in donations. You can also keep track of your donations on your drb dashboard.
DONATE With Registration
Previous article Shit Buzz in Belgrade
Next article No Myth No Nation
booksupstairs.ie
Dublin's Oldest Independent BookshopBooks delivered worldwide

redpajama_set_name: RedPajamaCommonCrawl


text:
namespace browsing_data {

SigninDataCounter::SigninDataCounter(
    scoped_refptr<password_manager::PasswordStore> store,
    syncer::SyncService* sync_service,
    std::unique_ptr<::device::fido::PlatformCredentialStore>
        opt_platform_credential_store)
    : PasswordsCounter(store, sync_service),
      credential_store_(std::move(opt_platform_credential_store)) {}

SigninDataCounter::~SigninDataCounter() = default;

int SigninDataCounter::CountWebAuthnCredentials() {
  return credential_store_ ? credential_store_->CountCredentials(
                                 GetPeriodStart(), GetPeriodEnd())
                           : 0;
}

std::unique_ptr<PasswordsCounter::PasswordsResult>
SigninDataCounter::MakeResult() {
  return std::make_unique<SigninDataResult>(
      this, num_passwords(), CountWebAuthnCredentials(), is_sync_active(),
      domain_examples());
}

SigninDataCounter::SigninDataResult::SigninDataResult(
    const SigninDataCounter* source,
    ResultInt num_passwords,
    ResultInt num_webauthn_credentials,
    bool sync_enabled,
    std::vector<std::string> domain_examples)
    : PasswordsCounter::PasswordsResult(source,
                                        num_passwords,
                                        sync_enabled,
                                        std::move(domain_examples)),
      num_webauthn_credentials_(num_webauthn_credentials) {}

SigninDataCounter::SigninDataResult::~SigninDataResult() {}

}  // namespace browsing_data

redpajama_set_name: RedPajamaGithub


I hopped aboard the Metal Gear Solid train late; The Vita collection was my introduction to the series. Thank the Lord Almighty that these ports are some of the greatest console to handheld translations in gaming history. I know that I said in the beginning that ports would be considered less than original games, but come on. Metal Gear Solid 2 and Metal Gear Solid 3 are some of the best games of all time. A mix of top down and third person action games, these stealthy titles are sure to please fans of the series and newcomers alike. The story is one whirlwind of a plot, but there is a really solid narrative hidden among the weirdness (especially in MGS3). I was legitimately moved to tears twice in MGS3; and I bet players of the game could name both times. What's more is that the port makes solid use of the Vita's hardware without making it gimmicky. Touching the bottom left and bottom right parts of the screen to change weapons and gadgets felt so natural that it was initially difficult to go back to how it used to be in the PS3 ports. I really can't recommend this collection enough for everyone- despite lacking MGS1, the Metal Gear Solid HD Collection is still a steal.


text:
Q: XCB Pointer Coordinates are Stuck at (0,0) I have implemented a Wayland compositor (via wlroots) in a game engine that is equipped with XWayland/XCB support for X apps. When I launch xev, it seems to receive ButtonNotify events just fine (so I can type just fine in windows). It also receives MotionNotify events every frame, but the problem is that its coordinates are stuck at the origin!
# This repeats every frame when I mouse over windows:

MotionNotify event, serial 32, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1275037533, (-2,-2), root:(0,0),
    state 0x0, is_hint 0, same_screen YES

Note that:

*

*My game engine handles all of the cursor stuff, so I omit explicitly creating a cursor through XCB/XWayland (though have tried to add one, and it doesn't seem to fix the coordinate issue).

*I've tried sending hard coded coordinates to my window to no avail. Nothing seems to update its X coordinates (I've tried through xwayland facilities as well as through direct xcb_warp_pointer calls).

*I have verified via the WAYLAND_DEBUG=server flag that the coordinates are successfully being sent over the wayland wire with the proper coordinates every frame in between frame calls.

I know that abstracted of all other details it is very hard to debug this problem, but what I am curious about is if there is some well-known thing that needs to get initialized before pointer events can be updated. Because my compositor is so stripped down (the game engine handling most things), is there something that I need to get pointer updates working that I don't realize I need?
To make my question more concrete: What state must be initialized in XCB before pointer motion can be something besides (0,0)?

EDIT: Here is some xev log data to see what state I might be missing:
$ DISPLAY=:2 xev & # `DISPLAY=:2` is where XWayland is located
[1] 26726
Outer window is 0x400001, inner window is 0x400002

PropertyNotify event, serial 8, synthetic NO, window 0x400001,
    atom 0x27 (WM_NAME), time 1549489650, state PropertyNewValue

PropertyNotify event, serial 9, synthetic NO, window 0x400001,
    atom 0x22 (WM_COMMAND), time 1549489650, state PropertyNewValue

PropertyNotify event, serial 10, synthetic NO, window 0x400001,
    atom 0x28 (WM_NORMAL_HINTS), time 1549489650, state PropertyNewValue

CreateNotify event, serial 11, synthetic NO, window 0x400001,
    parent 0x400001, window 0x400002, (10,10), width 50, height 50
border_width 4, override NO

PropertyNotify event, serial 14, synthetic NO, window 0x400001,
    atom 0xf7 (WM_PROTOCOLS), time 1549489650, state PropertyNewValue

MapNotify event, serial 15, synthetic NO, window 0x400001,
    event 0x400001, window 0x400002, override NO

ClientMessage event, serial 28, synthetic YES, window 0x400001,
    message_type 0xf7 (WM_PROTOCOLS), format 32, message 0x10a (_NET_WM_PING)

PropertyNotify event, serial 29, synthetic NO, window 0x400001,
    atom 0x10b (WM_STATE), time 1549489661, state PropertyNewValue

PropertyNotify event, serial 29, synthetic NO, window 0x400001,
    atom 0x100 (_NET_WM_STATE), time 1549489661, state PropertyNewValue

MapNotify event, serial 29, synthetic NO, window 0x400001,
    event 0x400001, window 0x400001, override NO

VisibilityNotify event, serial 29, synthetic NO, window 0x400001,
    state VisibilityUnobscured

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,0), width 178, height 10, count 3

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,10), width 10, height 58, count 2

Expose event, serial 29, synthetic NO, window 0x400001,
    (68,10), width 110, height 58, count 1

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,68), width 178, height 110, count 0

EnterNotify event, serial 29, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549489662, (-2,-2), root:(0,0),
    mode NotifyNormal, detail NotifyAncestor, same_screen YES,
    focus YES, state 0

KeymapNotify event, serial 29, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

MotionNotify event, serial 31, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549495244, (-2,-2), root:(0,0),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 31, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549495260, (-2,-2), root:(0,0),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 31, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549495260, (-2,-2), root:(0,0),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 31, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549495277, (-2,-2), root:(0,0),
    state 0x0, is_hint 0, same_screen YES

#...

This can be compared to a properly running rootston (wlroot's sample compositor) running xev:
$ Outer window is 0x400001, inner window is 0x400002

MappingNotify event, serial 0, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

MappingNotify event, serial 0, synthetic NO, window 0x0,
    request MappingModifier, first_keycode 0, count 0

PropertyNotify event, serial 8, synthetic NO, window 0x400001,
    atom 0x27 (WM_NAME), time 1549619590, state PropertyNewValue

PropertyNotify event, serial 9, synthetic NO, window 0x400001,
    atom 0x22 (WM_COMMAND), time 1549619590, state PropertyNewValue

PropertyNotify event, serial 10, synthetic NO, window 0x400001,
    atom 0x28 (WM_NORMAL_HINTS), time 1549619590, state PropertyNewValue

CreateNotify event, serial 11, synthetic NO, window 0x400001,
    parent 0x400001, window 0x400002, (10,10), width 50, height 50
border_width 4, override NO

PropertyNotify event, serial 14, synthetic NO, window 0x400001,
    atom 0xf7 (WM_PROTOCOLS), time 1549619590, state PropertyNewValue

MapNotify event, serial 15, synthetic NO, window 0x400001,
    event 0x400001, window 0x400002, override NO

PropertyNotify event, serial 29, synthetic NO, window 0x400001,
    atom 0x10b (WM_STATE), time 1549619590, state PropertyNewValue

PropertyNotify event, serial 29, synthetic NO, window 0x400001,
    atom 0x100 (_NET_WM_STATE), time 1549619590, state PropertyNewValue

MapNotify event, serial 29, synthetic NO, window 0x400001,
    event 0x400001, window 0x400001, override NO

VisibilityNotify event, serial 29, synthetic NO, window 0x400001,
    state VisibilityUnobscured

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,0), width 178, height 10, count 3

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,10), width 10, height 58, count 2

Expose event, serial 29, synthetic NO, window 0x400001,
    (68,10), width 110, height 58, count 1

Expose event, serial 29, synthetic NO, window 0x400001,
    (0,68), width 178, height 110, count 0

EnterNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638410, (153,0), root:(155,2),
    mode NotifyNormal, detail NotifyAncestor, same_screen YES,
    focus YES, state 0

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  68  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638410, (153,0), root:(155,2),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638417, (154,4), root:(156,6),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638426, (155,9), root:(157,11),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638434, (157,13), root:(159,15),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638442, (161,18), root:(163,20),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638450, (165,25), root:(167,27),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 34, synthetic NO, window 0x400001,
    root 0x29c, subw 0x0, time 1549638458, (172,30), root:(174,32),
    state 0x0, is_hint 0, same_screen YES

A: The issue was that the XWayland's screen had a width_in_pixels == height_in_pixels == 0. This was forcing all pointer motion to (0,0). Forcing the screen's initialization area to be positive fixed this issue.

A: I can't say I know my way around this (and I do not think this is an xcb question), but which functions in wlroots do you call to move the cursor?
For example, I took a quick look at the wlroots multi-pointer example and found this:
static void handle_cursor_motion(struct wl_listener *listener, void *data) {
    struct sample_cursor *cursor =
        wl_container_of(listener, cursor, cursor_motion);
    struct wlr_event_pointer_motion *event = data;
    wlr_cursor_move(cursor->cursor, event->device, event->delta_x,
        event->delta_y);
}

static void handle_cursor_motion_absolute(struct wl_listener *listener,
        void *data) {
    struct sample_cursor *cursor =
        wl_container_of(listener, cursor, cursor_motion_absolute);
    struct wlr_event_pointer_motion_absolute *event = data;
    wlr_cursor_warp_absolute(cursor->cursor, event->device, event->x, event->y);
}

So, I'd say that it is your code that provides the cursor positions to wlroots.

redpajama_set_name: RedPajamaStackExchange


Dacca (Agenzia Fides) - Ever more serious the political crisis in Bangladesh: Mrs Khaleda Zia, former head of government has been arrested by the police in a vast anti-corruption campaign launched by the government led by the former governor of the Central Bank of Bangladesh, Fakhruddin Ahmed, and supported by the army. Mrs Zia, aged 63, was arrested in her home with her son and the court refused to release them on bail.
Since January the country has been governed by an interim executive backed by the army after elections were cancelled because of violence following reciprocal accusations of fraud by the Awami League Party led by Sheik Hasina and the Bangladesh Nationalist Party of which Mrs Zia is a member. Since then about 150 prominent figures have been arrested on charges of corruption. Mrs Zia, accused of favouring an industrialist for a contract worth 145 million dollars, has been in politics since the 1980s, and in 1991 became the first woman to lead the government of Bangladesh. The anti-corruption campaign was launched after the proclamation of a state of emergency in January. On remand also another former premier, Sheikh Hasina of the League.
Awami, was allied with Mrs Zia during the dictatorship and then her rival in the successive democratic confrontation.


Come to HEP for Spring Break! On Wednesday April 3 we'll heading outside for a guided nature walk around the Energy Park trails, to search for inspiration for our art! After our mini-hike, we'll come inside for some open crafting/art time to make pieces to go on dislpay in our public community gallery inside HEP. Art will go on display until the end of May. This event is open to all ages, but all minors need to be accompanied by an adult. Each individual coming needs to RSVP using the free ticket for this event.


text:
Latest 'The Circle' News
The Circle Review: A Sledgehammer Satire of Social Media
Emma Watson and Tom Hanks fall flat in The Circle, a dull exercise in the evils of Big Brother.
Julian Roman Apr 27, 2017
Can The Circle Stop Fate of the Furious at the Box Office?
The Fate of the Furious squares off with The Circle and How to Be a Latin Lover as the spring box office season comes to a close.
The Circle Trailer #2: Tom Hanks Conducts a Dangerous Experiment
Tom Hanks stars as the head of an innovative social media company trying to watch the entire world in a new trailer for The Circle.
The Circle Trailer: Emma Watson & Tom Hanks Enter a Tech Dystopia
Emma Watson stars as a young woman who starts working for a tech company run by an enigmatic character played by Tom Hanks in The Circle.
Star Wars 7 John Boyega Joins The Circle with Tom Hanks
Star Wars: The Force Awakens star John Boyega has signed on for a lead role opposite Tom Hanks and Emma Watson in The Circle.
Emma Watson Joins Tom Hanks in The Circle
Emma Watson replaces Alicia Vikander in The Circle, which centers on a tech company linking all data from their users to create an online identity.
Alicia Vikander Joins Tom Hanks in The Circle
Alicia Vikander plays a college graduate who lands a job at a powerful tech company, owned by Tom Hanks' character in The Circle.
James Ponsoldt
wearethecircle.com
The Circle Synopsis
Based on the international best-seller by Dave Eggers, The Circle is a thrilling modern morality tale starring Emma Watson, Tom Hanks, and John Boyega. As she rises through the ranks of the world's largest tech and social media company, The Circle, Mae (Watson) is encouraged by company founder Eamon Bailey (Hanks) to live her life with complete transparency. But no one is really safe when everyone is watching.
Watch the The Circle Trailer


Contact | Dogs and Cats Forever, Inc.
Drive north on Bayshore Blvd. to Selvitz Road (1 1/2 miles north of Prima Vista Blvd) Turn left on Selvitz Road. Drive north on Selvitz past St. James and Midway Road. Shelter is 1/2 mile north of Midway Road on the right northeast corner of Devine and Selvitz Road.


text:
SARS-CoV2: A Perspective on Genetic and Protein Structure, Function and Potent Treatments with a Comparison with Other Coronaviruses
Saghar Yousefnia
Department of Cell and Molecular Biology and Microbiology, Faculty of Biological Science and Technology, University of Isfahan, Isfahan, Iran.
Severe acute respiratory syndrome (SARS) coronavirus 2 (SARS-CoV2) leading to COVID-19 has initiated a catastrophe for humans since December 2019. Genetic and protein similarities between SARS-CoV and SARS-CoV2 offer the same treatments for both types of virus. However, there are some sequence or structural differences between SARS-CoV2 and SARS-CoV as well as other coronaviruses that make difficulties in discovering drugs and vaccines against this novel type of virus. Therefore, it is vital to recognize protein and genetic structures of SARS-CoV2 to discover drugs which directly target this strain of coronavirus. This review presents a perspective on SARS-CoV2, it's genetic and protein structures with a brief comparison with other coronaviruses as well as summarizing some immune responses activated against SARS-CoV2. In addition, it introduces the novel strategies to combat with COVID-19 that would be potentially effective on SARS-CoV2.
Severe acute respiratory syndrome coronavirus 2 (SARS-CoV2)
Spike (S) glycoprotein
Angiotensin converting enzyme 2 (ACE2)
Volume 7, Issue 27 - Serial Number 27
Receive Date: 31 December 2022
Yousefnia, S. (2022). SARS-CoV2: A Perspective on Genetic and Protein Structure, Function and Potent Treatments with a Comparison with Other Coronaviruses. Personalized Medicine Journal, 7(27), 14-20. doi: 10.22034/pmj.2022.700888
Saghar Yousefnia. "SARS-CoV2: A Perspective on Genetic and Protein Structure, Function and Potent Treatments with a Comparison with Other Coronaviruses". Personalized Medicine Journal, 7, 27, 2022, 14-20. doi: 10.22034/pmj.2022.700888
Yousefnia, S. (2022). 'SARS-CoV2: A Perspective on Genetic and Protein Structure, Function and Potent Treatments with a Comparison with Other Coronaviruses', Personalized Medicine Journal, 7(27), pp. 14-20. doi: 10.22034/pmj.2022.700888
Yousefnia, S. SARS-CoV2: A Perspective on Genetic and Protein Structure, Function and Potent Treatments with a Comparison with Other Coronaviruses. Personalized Medicine Journal, 2022; 7(27): 14-20. doi: 10.22034/pmj.2022.700888


Robert Talarek (24-13-2) is as tough as they come.
The 35-year-old middleweight - who works full-time as a miner in his native Poland - has been described as a journeyman, a epithet whose negative connotations do not do justice to a man who has fought proudly and fearlessly throughout a 39-fight, six-year professional career that has seen him don the gloves in an incredible 12 different countries, often against quality opponents on 'away turf'.
Only halted once in his career by world-class Briton Liam Smith - a stoppage that came when he was on his feet and badly cut - Talarek's performance against Patryk Szymanski last Saturday night in Katowice has won him a boxing immortality of sorts.
Knocked down four times against a man a decade his junior, including twice in the opening stanza and twice in round two, Talarek rallied to win via fifth-round TKO, dropping his opponent six times - once in the second round, twice in the third and fourth and once in the fifth, before the referee finally waved a truly thrilling contest off.
Speaking to Boxing Monthly, Talarek's no-nonsense fighting style is also evident in his responses to BM's questions, which veer towards the taciturn, while also possesses a refreshing lack of ego and pomposity.
"The worst blows in boxing are counter-punches, when you receive a blow when throwing a blow," Talarek begins, as he describes the first knockdown he suffered in the first 30 seconds of the fight after a counter-right from his hard-hitting opponent. "All my problems in the ring started from that blow."
Indeed, for the first two rounds Talarek often looked on the verge of being stopped. Never more so than when he shipped three big rights in succession towards the end of the second stanza and almost tumbled through the ropes.
At this stage his cause looked hopeless, however when Boxing Monthly asks him whether he maintained faith throughout the fight that he would win his reply is unequivocal: "always".
Talarek credits his fearsome determination and will to win and survive to his vocation as a miner. "Mining teaches you to show strength at all and any times," he says. "I have the soul of a fighter. I've fought in the ring from the age of 16."
Resolutely modest and unassuming, Talarek's reply to Boxing Monthly's question about how it feels to be a social media sensation speaks volumes for his ability to keep things in perspective: "I do not feel it."
His description, meanwhile, of his emotions when the fight was waved off is a simple monosyllable: "Joy!"
With characteristic modesty, Talarek admits he is unsure whether, by the end of 2019, the contest he has just engaged in will still be fresh enough in the collective imaginations of the boxing cognoscenti to secure 'fight of the year' honours.
"Between now and the end of the year, there will be many more fights," he points out.
As for his opponent Szymanski, who announced his retirement post-fight after a second successive loss lowered his career record to 19-2, Talarek has some words of encouragement, claiming: "if he learns endurance, he has the makings of a champion."
Talarek declares: "In my next fights I am looking to fight the best in the world."
I don't doubt it. Robert Talarek would fight anyone, and give anyone a fight.
That's what makes him a special kind of fighter.


When applying mathematical logic to explain and reproduce cognition and intelligence, many challenges are encountered. These challenges all have a common nature, that is, they all exist outside mathematics, the domain for which mathematical logic was designed. This suggests that the logic of cognition and the logic of mathematics may be fundamentally different, and the former cannot be obtained by partially revising or extending the latter. In this talk a new cognitive logic is introduced. The logic uses a categorical language which is close to natural languages, and an experience-grounded semantics which covers several types of uncertainty. The logic has inference rules for deduction, induction, abduction, revision, analogy, etc., all within the same framework. When implemented in a reasoning system, such a cognitive logic provides unified solutions to fundamental problems in artificial intelligence and cognitive science.
Dr. Pei Wang is an Associate Professor at Temple University. He received his Ph.D. in Computer Science and Cognitive Science from Indiana University, and his M.S. and B.S. in Computer Science, both from Peking University. His research interests include artificial intelligence and cognitive science, especially on unified theories of intelligence, formal models of rationality, reasoning under uncertainty, learning and adaptation, knowledge representation, and real-time decision making. Dr. Wang is the Chief Executive Editor of the Journal of Artificial General Intelligence.


BULK PACK WITH PROTECTIVE CASE. PLEASE SPECIFY AT TIME OF PURCHASE IF YOU WOULD LIKE EXPEDITED PROCESSING. SATISFACTION GUARANTEED.
SanDisk's 128 MB Secure Digital (SD) Memory Card includes a high-performance, nine-pin SD interface that enables data transfer rates of up to 10 megabytes per second. Its proprietary interface commands facilitate the secure exchange of content between host devices, like PCs and music servers, and the card itself. The security level provided in the SD Memory Card has been designed to comply with current and projected SDMI (Secure Digital Music Initiative) portable device requirements.


AF file photo of a stray dog in Macedonia.
Hundreds of people have gathered in Macedonia's capital of Skopje to protest a recent spate of stray dog poisonings in several cities around the country.
The sight of dozens of stray dogs dying in Skopje alone last month has alarmed conservationists and animal welfare groups.
Radmila Pesheva from the 'Anima mundi' protection group warned Saturday that poison is freely available at the market and demanded that authorities regulate its sale and punish those poisoning stray dogs.
The protest against the poisonings was held Sunday in downtown Skopje.
The poisonings began about a month ago after a 4-year-old boy died in hospital several days after being attacked by stray dogs near the town of Kicevo. After the boy's death, there were heated calls in social media to eradicate stray animals.


text:
Magazine Opinion US Elections 2020
After the Gorsuch disappointment, the Supreme Court needs a new approach
Matthew Schmitz
In the final presidential debate of 2016, Donald Trump promised to appoint judges who would overturn Roe v Wade. "That will happen," he told the moderator. Hillary Clinton promised the opposite: "I feel that at this point in our country's history, it is important … that we not reverse Roe v Wade." Voters went to the polls with a clear choice. In electing Donald Trump, they chose to get rid of Roe.
Now that Ruth Bader Ginsburg has died, it is the duty of President Trump to make good on his promise by nominating someone committed to overturning that unjust decision. He does not simply owe it to his voters. He owes it as well to the unborn, who deserve the full and equal protection of law.
If Trump's judicial nominees do not deliver on his promise, the dysfunction of our politics will increase. Trump was elected because more conventional politicians had for years ignored the wishes of their constituents. Those voters wanted restrictions on immigration. They wanted an end to wars that had continued, year after year, without a clear endpoint or goal. They wanted to stop the outsourcing of American jobs to China.
America's leadership class had ignored these concerns. They called those who voiced them economically illiterate, culturally backward and demographically irrelevant. When those people responded by electing Trump, our leaders blamed the voters, not themselves. Condemnation is always easier than introspection.
Something similar may happen if the Trump court fails to reverse Roe. And there is already reason to believe that the Court will disappoint social conservatives. In June Medical, Chief Justice Roberts declined to support limits on abortion. In Bostock, Justice Gorsuch invented a spurious right against discrimination on the basis of sexual orientation and gender identity.
Gorsuch has been a particular disappointment. He was supposed to be a high-proof conservative, a man vetted and approved by the leaders of the conservative legal movement. But that movement is either less conservative or less competent than is generally supposed. Trump was praised for "outsourcing" judicial nominations to the Federalist Society; the results are disappointing.
These setbacks are not accidental. In seeking to remake the courts, conservatives have sought to produce their own legal elite. But American elites are hostile to conservative concerns on abortion, sex and borders. So long as this is the case, creating a conservative counter-elite will be difficult. Its members will be wobbly to the extent that they are embedded within broader elite institutions. Products of the Ivies will always prize the professional and social esteem of their peers. They will share their peers' interests and habits of mind. At best, they will be conservative elites in a weak sense: products of elite liberal institutions who happen to be conservative, not the leading members of properly conservative institutions or constituencies. Only the latter could be reliably accountable to conservatives, rather than to gentry liberals.
A more successful conservative movement will have to seek ways to limit the Court's power, in addition to redirecting it. The legislature and the executive are responsible for interpreting the Constitution alongside the court. Conservatives should insist that these branches challenge judicial supremacy. Some promising scholarship has been conducted showing how such changes would honour our constitutional heritage. But these theories have yet to be translated from the page into reality.
Conservatives will also have to find ways to go from notional to real populism. It is one thing for a few intellectuals to support populist ideas. It is another for an organised popular movement – comparable to the former role of private-sector labour unions – to provide a real base of support for populist ideas. American Compass, a conservative organisation led by Oren Cass, has been doing promising work on reviving a healthy labour movement, which would tend to weaken the elite stranglehold on public life.
Conservatives should seek to preserve and extend the gains they have made in the courts. Those gains are limited but real. Going beyond them will require not only confirming more judges, but reviving the other branches of government. Above all, it will require building popular institutions capable of producing elites loyal to a broader constituency, rather than to the select class that passes through the Ivies.
The fight over Trump's nominee will galvanise and polarise the electorate. Liberals are promising to burn America if Trump proceeds. That is no reason to stand down. But if future fights are to be less rancorous, we must lessen the overweening influence of the Court and the elite from which its members are drawn.
Matthew Schmitz is senior editor of First Things
Dickens has been proved wrong about the festive season
St Bernadette's relics offer hope to the Church
Don't they know it's Christmas?
The battle for the heart of Notre Dame
The king of contemplation
MacMillan's Christmas cracker
Wrapper's delight
Christmas is in January
Joe Biden's Creed
Whoever wins, the US left has been transformed
America's new violent reality
Patriotism and risk: How American football became a political battleground
For Christians, the new politics is full of temptations
The myth of Biden the moderate
We can honour our forebears in spite of their flaws
As the 'Great Awokening' flourishes, we need to preach the Gospel instead


text:
Thursday deals: iPad Air $160 off, iPhone SE $60, Mac accessory sale, more
Trevor Daugherty
- Dec. 12th 2019 9:06 am PT
@trevorjd14
Today's best deals include $160 off Apple's latest iPad Air, plus markdowns on iPhone SE and a new Mac accessory sale at Amazon. Hit the jump for all that and more in the latest 9to5Toys Lunch Break.
Take $160 off iPad Air
Amazon is taking $160 off Apple's latest iPad Air, delivering some of the best prices we've tracked to date. Apple's latest iPad Air sports a 10.5-inch Retina display, 8MP and 7MP cameras, and support for Apple Pencil. All of which is powered by the new A12 64-bit SoC processor. This is a great middle-ground between Apple's larger and smaller iPads currently on the market.
iPhone SE returns to one of its best prices
Best Buy offers Apple's iPhone SE in Silver with 32GB of storage for $60. This model is locked to Simple Mobile's pre-paid service for a year. As a comparison, Apple currently charges $349 in new condition when available. This is a match of the best price we've seen. iPhone SE has developed a bit of a cult following in recent years with its smaller form-factor and affordable price. Ideal for kids or grandparents, this model sports a four-inch display, 12MP camera, Touch ID and more. iPhone SE is iOS 13 eligible and is expected to receive additional updates for the foreseeable future.
Mac accessory deals abound at Amazon
Today only, Amazon is offering various Mac and PC gaming accessories, monitors, and more from $55. Our top pick is the Razer Seiren X Streaming Microphone for $55. That's down from the usual $85 price tag, $9 less than our previous mention, and a new Amazon all-time low. Razer is known for making some of the best gaming accessories out there (we agree!), and its Seiren X streaming mic falls in line with those same features and visual cues. This features a built-in shock mount, super-cardioid pickup pattern, and USB connectivity. Dive into the entire sale here.
elago's Apple Watch Stand makes a great gift at $10
elago's official Amazon storefront offers its W4 Apple Watch Stand in Aqua Blue for $10. Having dropped from $12, you'll still pay up to $15 for other styles of this dock. Today's offer matches the Amazon all-time low and is the best we've seen in all of 2019. For those looking to show off their admiration of older Macs, this stand is the perfect accessory. It's made of a soft silicone that won't scratch your Apple Watch and holds the wearable in Nightstand mode while charging. This is also perfect for gifting to the Apple fan who already has it all.
iOttie smartphone car mounts on sale from $8
We've spotted a number of iOttie deals at Amazon, headlined by the Easy One Touch 2 iPhone/Android Car Mount for $8. Regularly around $15, today's offer is the best we've tracked all-time. This simple mount can handle most mainstream devices on the market today up to 3.2-inch in width. The telescoping arm lets you get even closer if needed. Perfect for long car rides and trips. iOttie is responsible for some of our favorite car mounts on the market today.
15% off OWC's 5-port USB-C Travel Dock from $28
The OWC USB-C Travel Dock is a 5-port travel dock with up to 60W of power passthrough capability and small enough to fit in your pocket. It includes 2 x USB 3.1 Gen 1 ports, a USB-C port with power passthrough, an SD card reader, and HMDI 2.0 with support for 4K displays. Get 15% off OWC's 5-port USB-C Travel Dock from $28 (automatically applied at checkout).
Best trade-in deals
9to5Mac also keeps tabs on all the best trade-in deals on iPhone, iPad, MacBook, Apple Watch, and more every month. Be sure to check out this month's best trade-in deals when you decide it's time to upgrade your device. Or simply head over to our trade-in partner directly if you want to recycle, trade, or sell your used devices for cash and support 9to5Mac along the way! Use code 9to5mac for an extra $15 on all trades.
Subscribe to the 9to5Toys YouTube Channel for all of the latest videos, reviews, and more!
Momentum Smart Thermostat Review: Software updates deliver improved experience [Video]
Basilisk Ultimate and X Hyperspeed Review: The latest tech from Razer [Video]
Behind the Screens: What's in Jordan's camera backpack? [Video]
9to5Toys Lunch Break
Trevor Daugherty is the Senior Editor of 9to5Toys. Since joining in 2014, he's specialized in product reviews, exclusive discounts and 9to5's New Toy of the Day. Contact him direct at trevor@9to5mac.com.


Ben Simon asks questions about web development using PLT Scheme. We answer!
[W]hat kind of server do I need to reliably run this puppy? Any Linux VM will do to start with. We use Bytemark. Amazon EC2 is another option. I recommend installing PLT from source; don't rely on your distribution's package to be up-to-date.
I wonder what kind of memory usage I'd want to plan for? It really depends on your application but as a guide we've run simple apps in 64MBs of memory.
I'd have to test out PostgreSQL or MySQL db support to make sure it was strong. PostgreSQL is solid, MySQL is not.
I'd have to sort out what the deployment cycle is like. Just copy over files and restart? Yes. Could I do hot deployment of some kind, by reloading scheme files (one of my favorite tricks in the book)? The web server does have some reloading functionality but we haven't used it (no good reason; it just isn't something we do).
What's the best production web server arrangement. The PLT web server is solid, but we usually proxy through Apache so we can take advantage of Apache's flexibility should we need it.
Jay McCarthy, maintainer of the PLT web server, has started blogging about improvements he is making to the web server. Start readinghere and go back through the last six or so posts. It is great to see the web server getting more visibility.
In my programming workflow I cycle between writing tests, writing code, and running tests (this is just test driven development). When I'm about to stop working on a project I write some failing tests, which act as a specification for what I should do next. At this point in time I've been working on the project for a while so I have recalled its structure and I'm in a good position to make this decision.
When I pick up a project after a break I enter straight into my normal workflow and run my tests. I inspect the failing tests and start implementing the functionality they specify. At this point in time I don't even have to remember why I'm implementing this; the tests provide enough detail that I can just start coding. As I do so I invariably recall more details of the project. By the time I've finished the feature I'm ready to go at full speed.
This technique allows me to "hide" the time it takes to recall the project details; I still get useful work done in this period. It's quite a simple idea and no doubt some of you are already using it, but if you haven't tried it, give it a shot.
When I went travelling in Spain I had a siesta just about every day. There are very practical reasons for doing so: it is so damn hot in the middle of the day, and, despite being very close to the Prime Meridian, Spain is on +2GMT in summer so the evenings last forever. Another benefit of siestas: I felt great!
this graphic from The Boston Globe. Within you'll find everything you ever wanted to know about napping. Now a lot of it shouldn't come as a surprise. Everyone knows the mid-afternoon lull (at Untyped Midlands it tends to lead to a frenzy of piano playing or drumming, for reasons I don't understand) but few of us heed the urge to sleep. Perhaps we should. Remember to plan your naps: either get a full cycle (1.5 hours) or stop your nap after about 45 minutes. If you wake in the middle of deep sleep you'll feel terrible.
If you have problems getting to sleep, I recommend a cat as a snoozing companion. They're always ready for a nap and purring is very relaxing. Furthermore, a good alarm cat will stop your afternoon nap extending too close to dinner time.


Once vilified for its abundant fat content, coconut oil is being trumpeted as a miracle elixir. As a health fad, it's dual purpose, bandied about as a head-to-toe natural beauty product and as a food that can cure what ails you.
Coconut oil's health connection reaches back a few thousand years to a system of natural healing with origins in India. Modern science has documented its effectiveness as a moisturizer, but evidence to support its dietary health benefits is largely anecdotal.
"As a society, we tend to be people who like that quick Band-Aid approach, but there is no magic bullet. The science is still gray," says Vandana Sheth, a spokeswoman for the Academy of Nutrition and Dietetics. "Coconut oil is just the latest product out there."
In other words, believer beware.
In 1994, the Center for Science in the Public Interest pilloried coconut oil in a study that concluded that a large container of popcorn — often popped in partially hydrogenated coconut oil — sold at movie theater concession stands contained the saturated fat of six Big Macs.
But two decades later, coconut oil is a staple of health food stores, a remarkable turnaround that's related to improvements in processing and "the evolution of the science around it," says Susan Mitmesser, director of nutrition research for Sundown Naturals, whose nutritional supplements include coconut oil.
"The coconut oil we see today is not the same that we saw in the 1970s and 1980s," she says. "Earlier coconut oils were highly processed and refined, and that has changed."
Grocery stores carry two main types of coconut oil for baking and cooking: virgin and refined.
The virgin oil is extracted from the meat of fresh coconut without the use of high heat or chemicals and retains the distinct coconut aroma and taste. Virgin oil has a higher nutrient content than its refined cousin.
Made from dried coconut meat that's been chemically bleached and deodorized, refined coconut oil is tasteless. But since it can withstand higher temperatures than the virgin oil, it is useful as a plant-based replacement for butter and stands up well in baking and sautéing, according to the Academy of Nutrition and Dietetics.
The academy recommends reaching for virgin coconut oil — in moderation. "It's still a fat," reminds Sheth, a South Bay nutritionist. She advises following American Heart Assn. guidelines that recommend limiting total saturated fat consumption to less than 7% of total daily calories.
Coconut oil is made up of about 90% saturated fat, but "the scientific community has started to figure out that not all saturated fats are equal," Mitmesser says.
Research has shown that more than half of the fat molecules in coconut oil are shorter than those in animal-derived saturated fat. These "medium chain" fatty acids appear to increase "good" cholesterol and are easier to metabolize and digest. Still, nearly 40% are "long chain," the type found in meat products and linked to heart disease.
"Coconut oil should never be an addition; it should be a substitution for other saturated fats," says Mitmesser.
Studies have shown that overweight participants who restricted calorie intake and included coconut oil in their diets lost more weight and body fat than those who did not. But the substitution of coconut oil for other fats could be behind the results, experts say.
If beauty magazines and blogs are to be believed, coconut oil is a bottomless jar of beauty tricks. (Soothe your hands! Condition your scalp! Revitalize your feet!) Many of the tips directly relate to the oil's demonstrated ability to moisturize skin.
Research has shown coconut oil to "hydrate as well as mineral oil and reduce bacterial skin colonization of dangerous Staph aureus infections," says Dr. Cynthia Bailey, a dermatologist in Sebastopol, Calif. Many of her patients prefer chemical-free products, and she has found coconut oil to be effective in treating eczema, dermatitis and skin inflammation. "It's also economical and lasts forever if you keep it in the fridge."


Some really nice and useful info on this website, likewise I believe the design and style has fantastic features.
Үou'νe got remarkable information these.
Howdy I am so thrilled I found your site, I really found you by error, while I was looking on Bing for something else, Nonetheless I am here now and would just like to say cheers for a remarkable post and a all round interesting blog (I also love the theme/design), I don't have time to read through it all at the moment but I have saved it and also added in your RSS feeds, so when I have time I will be back to read much more, Please do keep up the great job.
It's really very complicated in this active life to listen news on Television, thus I simply use world wide web for that reason, and get the newest information.
I tend not to comment, but after browsing a few of the comments here Get online!.
I do have a couple of questions for you if it's allright. Could it be simply me or do some of the responses look like they are left by brain dead individuals? :-P And, if you are writing at other online social sites, I'd like to follow you. Would you post a list of the complete urls of all your social community pages like your linkedin profile, Facebook page or twitter feed?
This excellent website really has all of the information I wanted concerning this subject and didn�t know who to ask.
Хорошая статья! Советую обратить внимание то на каком диване Вы спите. У моей бабушке был старенький и не очень хороший диван. Из за этого я часто не высыпался. Любите себя, спите на хороших матрасах.
I have been visiting your webpage for a few months now. I find that it is informative and well-researched. Keep up the good writing!


text:
Comprehensive Campaign
CI 360 Tour
You are here: Home / Bearings / God's Sloth
God's Sloth
September 2, 2020 By Angela Alaimo O'Donnell Leave a Comment
The Abbey bells call and I do not come,
sleep having gotten the better of me,
though my thigh muscles twitch and urge me to run
to pray with the monks punctually.
But here there is bird song and coffee and books,
the comforts of morning that flatter and ease
the beautiful hour God made just to please
his children, to witness our gratified looks.
I make myself sit in the lap of the grass,
of lake and of sky and of shimmering birch,
and watch the parade of the minutes that pass
the hewn stone wall of my breezy porch.
I stay here to please us, Lord, both You and me,
where I unlearn to do, while I practice to be.
Like this post? Subscribe to have new posts sent to you by email the same day they are posted.
Angela Alaimo O'Donnell
Angela Alaimo O'Donnell has published seven collections of poems, Love in the Time of Coronavirus: A Pandemic Pilgrimage (2021), Andalusian Hours (2020), Still Pilgrim (2017), Lovers' Almanac (2015), Saint Sinatra (2011), Moving House (2009), and Waking My Mother (2013). Her work has been published in many journals and won numerous prizes. Her memoir, Mortal Blessings, published by Ave Maria Press, won first place in the Catholic Press Association Awards' family life category. Her book Radical Ambivalence: Flannery O'Connor and Race, was published in 2020 by Fordham. O'Donnell teaches English & Creative Writing at Fordham University in New York City and serves as Associate Director of Fordham's Curran Center for American Catholic Studies. Angela participated in the 2019 writing workshop, Apart, and yet a Part. Readers may visit her on the web at http://angelaalaimoodonnell.com.
The Last Swim of Summer
Seen While Walking
The Bells of St. John's
Filed Under: Bearings, Poetry Tagged: collegeville institute, contemplation, poem, poetry, Saint John's Abbey Church, Summer
Bearings Online
Bearings Online is a web-based publication produced several times a week that examines relationships between religion and culture, highlights unexplored facets of contemporary religious life, and suggests faithful responses to today's problems and opportunities.
Subscribe to Bearings Online
Select Category Poetry Faith and Culture Spirituality Church Social Concern Current events Vocation Writing Art & Music
Past Articles Select Month January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 September 2012 April 2012 January 2012 September 2011 April 2011 February 2011 August 2010 May 2010 November 2009 April 2009 November 2008 August 2008 April 2008 January 2008 August 2007
Interested in writing for Bearings Online?
Read our submission guidelines.
CI Executive Director Dr. Bussie Co-Edits New Book
Writing Grief and Mystic Activists Final Workshops for 2022 Year
Collegeville Institute and School of Theology Team Up for Oktoberfest
Sign up for our email newsletter today, and keep up to date with what's going on at the Collegeville Institute.
Check out our writing workshops and our residential programs.
2475 Ecumenical Drive
Collegeville, MN 56321
Email: staff@collegevilleinstitute.org
Copyright © 2023 Collegeville Institute. Read our Privacy Policy.


Candy store spread from the adorable children's book, The Bubble Gum Girl, by Jim O'Brien – now available in paperback! Limited edition hardcovers are still available here (and the hardcover is really gorgeous – I highly recommend it!) Available on Amazon.com here, and from the publisher here.


When an ambitious, cash-strapped single mom gets a high-profile promotion at her London bank, she soon learns the price of her position: entry into a criminal underworld. Entangled with a ring of ruthless killers, she can't trust anyone--and she could use a little money herself. Jodie Whittaker stars in a fast-paced thriller made for British television. With Toby Stephens (Jane Eyre) and Laurence Fox (Inspector Lewis). "Hair-raising"--The Mirror (UK). 3 hrs, 1 DVD, SDH.


It was a historically bad season for Davis, with a .168 average and a -3.2 WAR.
The Orioles have already been eliminated from playoff contention, on Aug. 20.
Manny Machado is officially a Dodger, but how did the Orioles do in the return?
The Orioles got five prospects in return for a half-season of Machado. Is that enough?
Machado played the All-Star Game in an Orioles uniform despite everyone knowing he's likely playing his next real game with the Dodgers.
After saying he only intends to play shortstop when he signs with a team in the winter, Machado said it's "very doubtful" he returns to the Orioles.
Jones is in his final year with the Orioles but this purchase doesn't mean he is staying.
We've never seen this one before.
It was not a good day for Dylan Bundy.
The Baltimore Orioles are already 11.5 games out, and with Manny Machado unlikely to sign a long-term deal with them, the time is now to look seriously into a trade.
Stanton had never struck out five times in his career before this season, and he's already done it twice in a Yankees uniform.
"If you were left-handed, we might have a spot for you."
"On the verge of walking away from the game I love dearly, Theo called, and the transformation began."
"Good to be back in the cage again. The comeback is real."
Where will Manny Machado be playing on Opening Day?
Could this news impact Manny Machado trade talks?
Baltimore can't afford the deal Machado will get next winter, and the team isn't positioned to win anything before then.


text:
Fonctions GIS
Building Resilient Streaming Analytics Systems on GCP en Français
Course 4 of 5 in the Data Engineer, Big Data and ML on Google Cloud en Français Specialization
*Remarque : Ceci est un nouveau cours proposant des contenus actualisés, différents de ceux que vous avez peut-être vus dans la précédente version de cette spécialisation. Le traitement des données par flux devient de plus en plus populaire, car il permet aux entreprises d'obtenir des statistiques en temps réel sur leurs opérations commerciales. Dans ce cours, vous apprendrez à créer des pipelines de traitement de données par flux dans Google Cloud Platform, à traiter les flux de données entrants avec Cloud Pub/Sub, à appliquer des agrégations et des transformations aux flux de données via Cloud Dataflow et à stocker les enregistrements traités dans BigQuery ou Cloud BigTable à des fins d'analyse. Vous apprendrez également à créer les composants d'un pipeline de traitement de données par flux dans Google Cloud Platform dans le cadre d'un atelier QwikLabs.
Fonctionnalités avancées et performances de BigQuery
Dans ce module, vous découvrirez des fonctionnalités plus avancées de BigQuery.
Fonctions GIS10:28
Démo : Fonctions GIS et mappage avec BigQuery16:42
Clauses WITH et tables permanentes2:43
Fonctions de fenêtre d'analyse14:23
Select a languageEnglishFrench
Welcome to the module on advanced BigQuery functionality and performance. I'm Evan Jones, and I'm super excited to share a cool data set and write and understand some pretty powerful SQL for advanced insights. Let's get started. Here's the content that we're going to cover. First, BigQuery natively supports geographic information system functions, or GIS functions and their data types. We'll analyze three key questions that we want to answer and then you use those GIS functions to help us solve and map the results with BigQuer Geo Viz. Next, we'll explore with clauses versus permanent tables for performance and readability. After that is one of the most critical tools in an analysts tool kit, which is the use of analytical window functions, which allow you to break up a given data set and perform SQL only over certain windows of that data. Then, we'll discuss ranking functions and go deep into repeated data with array data types. Lastly, we'll conclude with performance best practices to help govern your data engineering and analysis efforts. I find it's best to start with a robust data set and get inspired to ask difficult questions that we can then build out with advanced SQL functions. Our data set for this module will be over 24 million bike-share trips in downtown London. If you haven't seen these bike docking stations in cities, they're getting pretty popular. Essentially, a person can go to one of 100 bike docks that are in a street corner in the city and rent a bike by the hour. They must bring the bike back to one of the station's to end their trip. The public data set we have consists of two tables, the actual millions of trips the bikes have taken, and the locations of the docking stations around London. Let's first start by asking some fun, thought-provoking questions. Here are three questions that I came up with that I want to know. First, I want to know which pairs of stations rented from and then dropped off at has the fastest riders in kilometers per hour on average. I've some assumptions about people that are late for work that live far away that I'm curious to see if the data supports. Second, if I were running this business, I would want to know which stations have bikes that are always in use. Docked out, docked in, in and out quickly. Versus those bike docks that are getting dusty with unused bikes. That can help the business plan for capacity, and maybe even move bikes midday from those slow stations to really hotly demanded ones. Lastly, I want to manage the overall health of our bike fleet. These are assets. If we don't want to open ourselves up to liability by having our bikes breakdown on a midday ride in busy London, we want to make sure that our bikes get the maintenance that they need, and we prioritize those bikes that need the maintenance first. Sound like fun? Let's tackle that first problem first. Finding the average pace, the fastest one, between a pair of docking stations. We'll make the assumption here, since we don't have GPS data in the ride itself, that the clock begins when the bike is rented from one station and ends at the final station. And for ease, we'll use a straight line distance in kilometers between the stations themselves for distance. It's time to explore how we can make this insight a reality with the data that we have. As I mentioned, we have those two tables, the individual bike rides that are in the cycling higher table, which is shown here. Take a look at the columns, and knowing what we want is the average speed, which is that distance traveled over that time duration, what column or columns would be useful? We could do a timestamp difference between start and end date to get the duration. But lucky for us, we already have a duration field. So let's use that d uration field as the total time the bike was out during that trip. What does 3,180 mean for duration? Well, if you were to click over to the schema tab, you can see that in the description, this is the duration in seconds for the trip. This is why it's critical when you're creating your own data sets to add in column descriptions. So duration is done. What about distance? How can we calculate the distance in kilometers between the starting and ending station? We still need to know how far the bike physically traveled to get to the pace of the bike. The cycles higher table only has those names of the starting and ending stations. Where else might we look? The cycle stations table has not only the name of the station but the actual physical location in latitude and longitude values. Since BigQuery natively supports GIS functions, we can use the function ST_DISTANCE, which will give us the straight line distance between two geographic points. By the way, you'll see a lot of these GIS functions that begin with the letters ST. It simply means spatial type, and BigQuery has a special geographic data type as a backend for all these geographic data, and it's optimized for GIS work like this. More on GIS later. Before we begin writing any SQL, let's first remind ourselves of the overall insight, see what data we have, and then mentally prepare for the query. Our goal is to find a pair of bike stations with the highest average rider pace in kilometers per hour. We analyze the schema, and found duration in seconds, and a lat/long of the starting and ending stations, which will give us that distance. Now, duration and distance will be in two separate tables. So the first part of our query will need to be a join. Then, since the lat and longs are not of a geographic data type by nature, we'll need to convert them into formal geographic points before we can use the power of GIS functions on them. Then, we use ST_DISTANCE, which will give us that straight line distance between the stations in meters. Next, we want the average for all riders on that route. So we'll then use a SQL aggregation function. Lastly, we'll apply any filter that we want to remove any anomalies from the data. This is the first part of our query, to bring the data from two different tables together, bikes and bike stations. In complex queries where I know that I'll likely share my results with others in the form of a table, I often use the STRUCT function to clearly outline what fields came from what tables. It may be overkill for small examples like this, but for super wide schemas, you're talking like 30 plus columns, you're almost guaranteed to see STRUCTs in use. So why not get familiar now? The schema behind Google analytics is a great example of this super wide schema. So by the way, looking at the query, why do we have three tables in the join conditions? Well, each bike starts and stops at a station, so we need to join the station's table twice, because the bikes table has those two column IDs to join on. This is the result from running that previous query. You can see how putting the columns for each table in a STRUCT gives us a nice prefix in the column name. So it's super clear that starting dot longitude is different from ending dot longitude. This process of joining together many tables into a single table is called denormalization. It's often a great way to store data for fast retrieval from BigQuery without having to do those joins each time. It's also highly performant because BigQuery stores data in a columnar format instead of a record format, which means you're not punished for having super wide schemas. Now that you're familiar with STRUCTs, it's time to do the actual GIS functions to convert our lat longs into points, then take that distance between the starting and ending stations. The inner function there, that's the ST geography point, accepts a longitude and latitude float value and converts it into an actual GIS point. We do that twice, and then pass those into the ST_DISTANCE function for the final distance calculation, where we got 661 meters apart from those two stations that you see there. Lastly, we'll probably want to draw these distance lines on a map somewhere so we can use the example ST_MAKELINE to do so in a demo. Now that we're done pre-processing all of our data, it's time to do the actual SQL to calculate the insight that we want. We pull the station names, round the trip distance, convert it from meters to kilometers, count all those trips from that station, and filter by only stations that have only 100 rentals or more with a HAVING clause. Then, we actually do the speed calculation by dividing the distance and duration and taking the average. Lastly, for the insight to make any sense, we'll sort from the highest average speed first in our ORDER BY clause. You'll see that the data is pulled from a staging place noted there in the fROM clause. That is actually a named sub-query, or a WITH clause that we'll cover later. It's essentially the query that you saw before to pre-process the data, which we named temporarily as staging so we can call it later. And here's the actual output of that query. You can see that if you're going from Finlay Street to King Edward Street, you're likely to encounter the fastest commuters on average, with about a 16.6 kilometer per hour average pace, which is about 10 miles an hour. On commuter bike, that's pretty good. What does it say about these stations? Well, maybe the goal of these riders is just get from point A to point B, and no time spent enjoying the sights of London that'll eat up your average pace. Without having GPS data mid-ride on these bikes, we can only speculate at what the actual routes that each rider took was. Well, wouldn't it be easier to see these trips as actual lines on a map of London? With BigQuery Geo Vis, you can do exactly that. Geo Vis is a web-based front-end that you can run BigQuery queries on and visualize the geographic data points. You can even style those points lines or even two polygons with different weights and colors based on your actual data values. Let's do a quick demo of the tool using the results of the fastest commuters query that we just made.