text:
Charles Foran
author, journalist and educator
To gain a better sense of my work, especially recent credits, please spend a few minutes on this site.
Here is some news for 2020, in the form of a media release:
Writers' Trust of Canada announces Charlie Foran as new Executive Director
Toronto – October 18, 2019 – The Writers' Trust of Canada today announced Charlie Foran as the organization's new Executive Director. He will replace Mary Osborne, who will leave at the end of 2019 after seven years with the Writers' Trust. Foran assumes the role in January 2020.
Foran is a Member of the Order of Canada, a senior fellow at Massey College in the University of Toronto, and an adjunct professor in the Department of English at the University of Toronto. He is the author of 11 books of fiction and nonfiction, and has won many awards and honours, including the Hilary Weston Writers' Trust Prize for Nonfiction, Governor General's Award, the Canadian Jewish Book Award, the Charles Taylor Prize, and the Writers' Trust Fellowship.
He joins the Writers' Trust after completing his term as CEO of the Institute for Canadian Citizenship in early 2019. Co-founded by the Right Honourable Adrienne Clarkson and John Ralston Saul, the national charity realized a period of exceptional growth under his guidance.
"Charlie is that rare hybrid — both a respected administrator with experience leading some of the country's most impactful arts and social justice organizations, and an accomplished writer working in both fiction and nonfiction," said Kari Cullen, Chair, Writers' Trust of Canada. "He is recognized for his contributions to Canadian literature, and as a champion for freedom of speech. We are tremendously excited to welcome him to the Writers' Trust of Canada.
"We are truly grateful for the incredible contribution that Mary Osborne has made to the Writers' Trust over the past seven years. She led the organization through a highly successful period of fundraising and program growth, enabling the Writers' Trust to put more money directly into Canadian writers' hands," said Cullen. "Mary's exceptional professionalism and wonderful good humour will be greatly missed."
"The Writers' Trust is essential to the cultural life of Canada," said Charlie Foran. "The work it does impacts directly and forcefully. It isn't only about rewarding literary excellence; the organization provides encouragement and community for authors, and increasingly models an inclusive vision of Canadian literature. Within the ecosystems of organizations that fund artists, it is unique. It is a voice for, and on behalf of, Canadian writers and writing. I am honoured to be asked to evolve the Writers' Trust into the next decade. There is much more work still to be done."
The appointment is the culmination of a national search managed by Janet Wright and Associates under the guidance of a committee of the Writers' Trust of Canada Board of Directors.
Megan Leahy m@meganleahy.ca 647-783-7668
About the Writers' Trust of Canada The Writers' Trust of Canada is a charitable organization that seeks to advance, nurture, and celebrate Canadian writers and writing through ten national literary awards and a portfolio of programs that includes a fellowship, financial grants, and a writers' retreat. Writers' Trust programming is designed to champion excellence in Canadian writing, to improve the status of writers, and to create connections between writers and readers. Canada's writers receive more financial support from the Writers' Trust than from any other non-governmental organization or foundation in the country. Additional information is available at writerstrust.com.
After not writing about China for years, I decided to weigh in on the 30th anniversary of the 1989 Democracy Movement. Here is the text, along with the link, which includes several photos: https://www.theglobeandmail.com/opinion/article-after-the-massacre-remembering-tiananmen-square-30-years-later/
From The Globe and Mail, June 1, 2019
AFTER THE MASSACRE: REMEMBERING TIANANMEN SQUARE
In the 30 years since the Chinese army killed hundreds of students and protesters in the streets of Beijing, commemorations of the Tiananmen Square massacre have lost some of their resonance. This isn't surprising. It was, after all, a different millennium.
It was, specifically, 1989. The Berlin Wall was about to come down, the Soviet Union was heading toward collapse, apartheid was on the verge of being dismantled in South Africa. Things were looking up for supporters of liberal democracy around the world, and there were hints things might change in China, too – the country was emerging from the disasters of Maoism, figuring a way forward. And so, in the months after the massacre, the West slapped the government's wrist and moved on, afraid any stronger response would undo the modest progress being made.
But three decades later, there is growing international concern with how that same one-party state is exercising control over its citizens, most notably the massive Gulag for ethnic Uyghurs and other Turkic Muslims in central Asia, and the building of a colossal digital-surveillance network. There is also queasiness over the aggression and agenda of the recently anointed leader for life, Xi Jinping.
If Canada is feeling a little of the aggression, in the form of arresting Canadians living in China in an extradition dispute, dozens of developing countries are experiencing the agenda in full. That is the Belt and Road initiative, a state-fuelled development campaign in more than 60 countries that is fast forging a potent Chinese empire, with many strings attached for the vassal states.
If we are in a collective quandary over how to respond to China in spring 2019, it might be worth looking back to spring 1989. What happened then, and what might have happened had things gone differently, could help us understand what is unfolding now.
Early in the morning of June 4, tanks rolled past the college in east Beijing where my wife and I were teaching. Our living-room floor trembled, and for 20 minutes, it was impossible to speak or think or see much through the dust clouds enveloping the street lamps.
Although we worried part of the battalion might veer onto our campus, students and surrounding residents actually tried slowing the tanks down. They pitched bricks and rocks and requisitioned public buses as barriers. Soldiers fired back with bullets and mortars, lighting the sky. Two students from the school next door died.
As Beijingers suspected, the battalion was headed for the centre of the city, 10 kilometres west, with orders to clear out Tiananmen Square using all necessary force. The sprawling asphalt square had been host to a peaceful seven-week-long occupation by university students and citizens.
The democracy movement had peaked a sunny afternoon a couple of weeks earlier, when more than a million people marched around Tiananmen, or sat in groups chatting about their country and the future they hoped for it. Thousands slept in tents. Hundreds staged hunger strikes, including Chai Ling, the highest-profile of the female student leaders.
By early June, there were ominous signs the occupation should wind down. Martial law had been declared. General-secretary Zhao Ziyang, the reform-minded Communist Party chief, had visited the hunger strikers on the square, where he had wept and said: "Students, we come too late. We are sorry. You talk about us, criticize us, it is all necessary." Mr. Zhao had now disappeared from public view.
As well, a group of art students had sculpted the Goddess of Democracy, a 10-metre-high riff on the Statue of Liberty. They assembled it on Tiananmen on May 30, facing the portrait of Mao Zedong. Their intent was to energize fellow protesters. The effect was to embarrass and enrage conservative Party elders, who saw a direct plea to the United States.
What followed was bloody and shocking, especially once the massacre of several hundred people was disappeared from the official record: The killings never happened; only a handful of troublemakers died. The democracy movement itself became a failed counterrevolution by reactionary elements – its status inside China to this day.
June 4 marked the end of a brief period when China looked to the thought systems of the West for insights. It also gave thrust to the models of economic liberalization matched by political and social oppression of the 1990s and 2000s. Mr. Xi's current iron rule is a continuation of a party policy around dissent that found its defining expression on Tiananmen Square.
But could things have gone any differently in 1989? Mr. Zhao, the highest-ranking official in the land, was a smart and sympathetic leader. Among his proposed reforms was a greater separation of the Communist Party from the Chinese state. All these years later, that remains a heretical notion, and less likely than ever to occur. Question the divine right of the party to rule, and bad things happen to you.
In the end, Mr. Zhao was purged for supporting the students. He spent the remaining years of his life under house arrest, a ghost of what might have been. As importantly, hardliners who now controlled the party ceased wanting even modest reform thinkers such as Mr. Zhao to occupy leadership roles. A wave of technocrats, bloodless and efficient, swept into key positions. They have no lines of thought, except the usual hard ones.
The student leader Chai Ling is another type of individual the government apparently wishes to never obtain real power – a woman. Ms. Chai, a psychology major at the country's top university, came under unbearable strain as the spokeswoman for the hunger strikers. Even so, her charisma and intelligence were evident.
Hunted by authorities after June 4 – all the student leaders were dubbed criminals, and arrested and imprisoned, if they didn't flee the country – Ms. Chai was smuggled out of China. She ended up at Princeton University, became a psychologist and now lives in a suburb of Boston.
Two generations of young leaders have been coerced, driven into exile or simply smothered at birth by the rough lesson in absolute power of June 4. But for women, Chinese politics since 1989 has truly been a black hole. Of the 25 members of the current Politburo, 24 are men wearing black suits.
While it may be a generalization that rule by men ensures the triumph of aggression and violence over other approaches to governance, it is also usually the case. China in 2019 is absolute male rule.
Finally, the quarter-century anniversary of Tiananmen occasioned some hopeful commentary around whether the propaganda campaign waged by the government to erase what it had done on June 4, and what the democracy movement had achieved, would have been possible in the digital era. Suppose, these commentators suggested, protesters in 1989 had been carrying smartphones and taking photos, making videos, of all that unfolded, and then broadcasting them out instantaneously to everyone, everywhere, both inside China and around the world. Could the government have told and sold those lies so easily afterward?
This spring, Human Rights Watch issued the report, China: How Mass Surveillance Works in Xinjiang. The report confirms every worst fear about the acceleration of an algorithmic surveillance system now capable of accessing the data of all citizens, and monitoring their public and even private behaviours.
Westerners may be familiar with China's "citizen score" to incentivize compliant habits. This social-credit system aggregates demerit points against individuals for crimes such as tweeting unfavourable comments about China or complaining about corrupt officials. Those citizens are then denied jobs and apartments as punishment.
The HRW report focuses on a mobile app that shares among police and security forces in Xinjiang, in the country's northwest, everything about individuals that deviates from the norm, information lifted from servers and apps and individual cellphones, including ones that are offline. "Micro-clues" of suspect behaviour include gasoline purchases, whether a person uses the back door of their home, if they buy a new phone with foreign numbers on it. "Xinjiang police," the report says, "are using illegally gathered information about people's entirely lawful behaviour – and using it against them."
The result, for Uyghurs and other minorities in Xinjiang, according to HRW, is a nightmare of "mass arbitrary detention, forced political indoctrination, restrictions on movement and religious oppression." These latest digital-surveillance techniques will shortly spread across the rest of China, and be employed against the Han majority as well.
Had the students in 1989 been carrying phones, the crackdown would surely have been far worse – for them, their families and friends, and their colleagues. The roundup of dissidents would have been swift and sweeping, and no one would have slipped away, including Ms. Ling. Her prison sentence would have been long and devastating. Likewise, should there ever be another attempt at a democracy movement in China, those involved will come under immediate surveillance, likely before any free thoughts leave their computers, or even their mouths. They won't stand a chance.
That is the Communist Party-ruled China the West is grappling with in 2019. Reformers never get near power; men rule by fear and intimidation; technology aids and abets unlawful social monitoring and coercion. Had the 1989 democracy movement triumphed, even to the extent of triggering an examination of the fair limits of political expression in a nation with no history of democratic institutions, some of this might look different. But it didn't, and the moment for such outrageous and courageous public gestures of citizenship has come and gone.
In a way, the rest of the world should do on each anniversary of June 4 what Chinese inside their own country cannot. Remember the dead by name. Honour the brave aloud. Declare that those astonishing weeks before the massacre did happen, and were not erased by the violence. Affirm that the feelings, thoughts and hopes behind the democracy movement were real, and authentic to many Chinese hearts and minds.
On May 24, I gave the keynote at the Peterborough Arts Awards luncheon. Below is part of the text:
from 'How to Unlearn as an Artist:'
Though the artists being celebrated today aren't all well into their careers, I want to use my few minutes to talk about something that may seem more applicable to those who've been practicing for a while. But my thoughts aren't, in the end, only about mid-career. They aren't only about art.
Let me start with the idea of unlearning how to be an artist. I'm going to suggest that in 2019 the creators of art are being held up to greater scrutiny, and subject to deeper critiques, than during any period since the 1960s. I am not talking about digital disruption here, although that is certainly an unsettling and ongoing paradigm shift.
I am thinking instead of the push to re-conceptualize art of nearly all the brows – low, middle, high – as spaces where demands are being made that are, if you will, not directly artistic or perhaps aesthetic. Whatever you write, sing, act, film, paint, sculpt, video, or dance about right now, you are doing so under the external lens of interrogation of certain fundamentals of your practice.
Ours is an age where much that is normative – i.e artistic business as usual — is being re-examined and critiqued for whether it is, in effect, part of the problem or the solution. Being neutral, apolitical, just entertainment, isn't automatically recognized or accepted as rationale or excuse. It certainly isn't comfortable being too comfortable about what you do.
A few examples of these interrogations:
Is the voice you use 'yours' to express with?
Are the representations of others in your work fair and earned?
Is there conscious or unconscious bias, or even privilege, in how you express, and why, and what kind of space your practice takes up?
Are you reinforcing power, knowingly or not, or are you challenging it?
If you believe, as an artist citizen, in the power of contesting spaces in society, why wouldn't your own work be part of that discussion? If you believe in making room for others, why still take up so much room yourself?
Many of you will be familiar with these queries, and even be leaders in framing them. It is, as I say, a time of scrutiny of artists and art, under the banner of challenging the larger forces of business-as-usual in society.
Now, all of this may or may not fit into what you want to achieve with your books, plays, films, dance, music. No one gets to tell you that, nor should they feel entitled. For most artists I know, their art is how they are in the world perceptually, intellectually, aesthetically, even ethically. You don't up and shift those things in response to others' telling you to. Truth is, you may not be able to, at least not all at once. Open, active minds change, wide, clear perspectives shift, but in their own time. That said, listening closely and humbly, and then reflecting in the same spirit, is sound professional practice.
And as an artist you do want your practice alert and alive, a little unsettled, a little on edge. You should, in that sense, be self-contesting, unlearning what you knew five or ten or twenty years ago. You should introspect yourself, as the late, great Aretha Franklin might have put it. Be your own most aggressive challenge to complacency. Call bullshit on yourself before anyone else can.
That may be one sure path to deepening your work, opening it up to the energies out there, the thrum of the present creative eruptions and disruptions. Almost certainly you will produce better stuff if you try. Almost certainly you will yourself in a stronger position to be the new – what art, on some level, is meant to be.
As mentioned, this may seem like advice primarily for mid-career artists, like many of you being celebrated today. These are certainly reflective thoughts, part of a process that comes naturally after a certain amount of work has been done. But younger artists take note: creative habits, good or bad, are usually formed, or misinformed, early on.
Yes, ninety percent of your time is best spent putting in those proverbial Gladwellian ten thousand hours of labor just to land in the starting blocks of a career. And yes, almost certainly anything you are learning now will need to be 'unlearned' a little bit later. Motion, introspection, creation and destruction, are essences.
But still, save ten percent of your professional time to keeping an eye on your practice, and contest it where you can, without throwing yourself, and your gift – how, in effect, you see and feel the world — off.
Finally, I am talking today about artistic spaces and art makers under scrutiny in 2019. But so, increasingly, are all public spaces across all aspects of society, and all leaders in those spaces. What isn't being interrogated at present? If you answer "not my business, not my space," I put it to you that you either aren't paying enough attention, or should hold tight and watch what is coming soon.
These larger challenges, too, are for the good. A nation is a single civic space, like it or not, and there are no roped off sections for VIPs or dusty corners for those not at the natural, or simply seized, centre of activity. Increasingly, that is how everyone who lives here is thinking about the space called Canada, and they have questions about why others are still thinking in the old ways about who naturally controls what, and why, and who thinks they belong where, just because of accidents of birth and race and power handed down as though they were family heirlooms.
In our age of the Truth and Reconciliation Commission, LGBTQ+, #Me Too and Black Lives Matter, of accessibility rights and anti-racism movements, of the umbrella projects of inclusion and pluralism, getting a jump on self-examining civic spaces isn't only advanced citizenship. It is wise preparation for the years and decades ahead.
Here is my final piece as CEO of the Institute for Canadian Citizenship
From the Globe and Mail, Dec 29, 2018
How Democracy Fights Back
Four years ago, I was given the chance to get out of my writerly room. Then deep into mid-career, with 11 books published and another under contract, I was offered a position running the Institute for Canadian Citizenship (ICC), a national not-for-profit organization based in Toronto. The offer fell from the sky and I had few formal qualifications for the role, at least regarding management experience.
I took the job. I liked the ICC's mission, especially its work with new Canadians and its desire to frame public conversations around the benefits of immigration and the project of inclusion. My own writing had long been preoccupied with cultural identity and dislocation, and by 2015 the world had awakened to the "crisis" that consumes us still – the largest forced movement of humans across borders since the end of the Second World War.
For me, this wasn't a crisis at all – it was Exodus, the book after Genesis in the Bible. According to that story, humanity was born in the garden. Not long after, we started relocating.
The American author John Gardner is often credited with declaring all of Western literature to be variations on exactly two tales. One tale is of a person who goes on a journey. The other concerns a stranger coming to town. Both are about people on the move and the challenges and changes that inevitably ensue.
Gardner's count is probably a few stories short of the spectrum of archetypal narrative arcs. A scholar named Christopher Booker spent 34 years completing The Seven Basic Plots, a more accurate number. Two of his seven – "The Quest" and "Voyage and Return" – are directly about passages. Among the others, "Overcoming the Monster," "Rags to Riches" and "Rebirth" also usually involve travel, much of it one-way.
In other words, I came into the job with a feeling for the narrative underpinning the Institute's mission. Though not an immigrant, I have been telling versions of it in my own fiction for three decades. That the narrative has also been the engine for Canada, or at least for settler Canada, from its onset, was another attraction. Alongside the United States, we are the longest continuous experiment in immigrant nation-building.
Now, with my tenure at the ICC wound down, I am in equal parts changed and chastened by direct, shared experiences of how this story is unfolding. What I know much better about it now – know in my heart and mind, rather than my imagination – is mostly the result of meeting the people who are living the narrative with courage and dignity.
For this reason, I am forever grateful to the Syrian family who, during a visit we organized to Parliament in Ottawa, briefly welcomed a stranger into their circle. A four-year-old girl, struggling to keep up, asked if I would carry her on my shoulders. I did so for almost two hours, and deposited her on the bus at the end – all without her parents identifying themselves to me. Afterward, I learned this was a sign of their trust in the village to help raise the child.
Then there was the young man at the 6 Degrees forum we held last month in Berlin who took the microphone and explained to 400 people in broken German that he had walked up through Europe to escape the disastrous civil war in his homeland. Now he was sleeping on couches, and sometimes in the streets, in the capital, lost and afraid. Was he welcome in Germany? Would he ever be welcome anywhere?
No surprise, our decade to date has produced a burgeoning shelf of novels telling us of the news that will stay the news – that is, the narrative of displacement, relocation and rebirth that is our shared reality, now and into the future. The German novelist Jenny Erpenbeck calls this reality "the central moral question of our time."
But so far, the official response in many countries has been to vilify the story and those involved. This is especially true at the political level, where politicians are building walls and passing laws to deny what is happening and why, usually citing righteous fears and dire local circumstances.
When the U.S. President sanctions the holding of the children of migrants as hostages and recasts a caravan of desperate people as an invasion, he is doing his own ugly, ahistorical storytelling. He is also accelerating a campaign of vilification into one of criminalization.
And criminals aren't like us. They aren't like our family ancestors either, who, it is true, were once immigrants, and mostly arrived in distress, and without much welcome or legal sanction, never mind language skills or professional qualifications or the right religion or skin colour. Criminals are law-breakers and wrong-doers, threats to security, even to the state itself. Why would such people deserve our empathy?
Two battles are under way on the eve of 2019, and they are related. The first is around the language we use to explain concepts such as immigrant, citizen, refugee and inclusion. The words we use, in short, to explain the particulars of our particular age. They make all the difference to how people think about these processes and, more importantly, these lives.
The parallel battle is over narrative. Which stories do we listen to in order to frame how best to negotiate, as citizens of the spaces we call countries, the routine and quite natural business of change and evolution? I wish I could say it was just a struggle to create more empathetic fellow travellers for this negotiation, the usual ambition for art when it intersects with politics and power.
But the emergence of illiberal democracies on every continent in recent years is legitimating voices, many of them actual heads of state, who are happy to tell disingenuous, fear-mongering stories about who belongs and who does not. They are fast taking control of mainstream information and storytelling mediums, both digital and analog, and will defend the realm at all costs, apparently – including to democracy itself.
Tales of the new Exoduses dominate that literary book shelf. The list of authors publishing stories of border crossings and identity evolutions in the past decade is lengthy. Notable is how many are crafting 21st-century versions of the tale from their own experiences, direct or inherited. Names such as Kim Thuy, Madeleine Thien, Lisa Ko, Nayomi Munaweera, Ocean Vuong, Sunjeev Sahota, Chimamanda Ngozi Adichie and Gary Shteyngart represent a near-random sampling of this cohort.
By such a measure, Erpenbeck's Go, Went, Gone might feel a step backward – a white German writing about African refugees in Berlin. This acclaimed novel, published in English in 2017, addresses the dominant-gaze issue through the author's extensive personal reporting of the actual journeys of refugees to reach Germany and her skillful use of these harrowing, moving accounts in the character portraits.
Erpenbeck also makes her protagonist, a retired Berlin academic, the classic pilgrim. Richard's journey, from listless onlooker to energized participant, offers signposts for how those of us lucky enough to live unaffected by these upheavals, at least directly, can become both more involved and happier citizens. Progress along the way includes talking, listening, cooking, playing music and even sharing a roof with people now in your midst, and just like you and your friends.
Go, Went, Gone is a humanistic response to our age's "human crisis," as Chinese artist Ai Weiwei calls the mass displacements, not a vision of its shape into the future. Two other recent novels reflect on how that future might look, should countries and ecosystems continue to collapse and colossal numbers of citizens need to keep moving. Both the books are dystopian, and start in circumstances after democracy has failed.
Mohsin Hamid's Exit West, originally published in 2017, is fast becoming a guide for how to think postnationally about movement and belonging. His story follows young lovers, Saeed and Nadia, who flee an unnamed city savaged by war and fanaticism by stepping through magical doors. On the far side are marginally safer places: a Greek island overwhelmed by refugees, then a London so undone by uninvited newcomers it debates an extermination campaign.
Nadia gets the fear of the English natives. "Imagine if you lived here. And millions of people from around the world suddenly arrived." When Saeed says their own country had faced similar influxes from war-torn neighbours in the past, she clarifies: "That was different. Our country was poor. We didn't feel we had as much to lose."
The couple end up in a barely recognizable future California, where they drift apart, as lovers do. Much has been made of Hamid's transporter device, a signal both that he is telling a parable and is deliberately dispensing with the actual migrant journey, the source, perhaps, of too much easily sensationalized attention and pathos right now.
Less remarked about Exit West is its insistence on allowing its characters to be preoccupied most of their waking hours with the same problems of love, sex, work and faith as the rest of us. Being a refugee is not an identity or the sum of one's humanity. It is a temporary status, albeit a distressing and consuming one.
In the background of the turmoil in the novel are countries that have lost the institutional supports, or even the vocabularies, to negotiate the challenges of a world on the move, and so have descended into chaos. Something has gone wrong with democracies in Exit West.
In Thea Lim's 2018 debut, An Ocean of Minutes, things have gone catastrophically wrong for a United States devastated by a pandemic, descended into a shoddy corporate totalitarianism, and then riven by an internal political partition. A corporation has invented time travel, allowing people to escape the flu into the future, and Lim's protagonist, Polly, must actually find a way back in time to locate her lost lover.
Lim's striking plot innovation – all of An Ocean of Minutes is set in the 20th century, even the "future" sections – is as flashy as Hamid's portals. But she, too, is more interested in the inner lives of her characters, and in speculating how it might look for America and Americans to be obliged to enact the same narratives of escape and flight and hostile border crossings as so many other nations and nationals.
Here lies the abiding truth. Any country can fall apart. When it does, any one of us may end up recast as the illegal alien, the queue jumper, the hostile invader. Novelists keep making the same point: There are no real differences between humans. There are only the various, and often brutally unequal, hands we have been dealt by circumstance.
Countries and their leaders who suggest otherwise through their policies and their rhetoric aren't only telling lies about their own histories and humanity. They are recklessly imperilling the only political system that insists on respecting individuals, no matter who they are or where they've come from, and which on its best days appreciates how diversity – of identity, thought, perspective – are strengths for a society, not the opposite.
Better language and a deeper recognition of our shared Exodus narrative aren't only ways to counter the nativism and nationalism now holding such powerful sway. They may be how democracy fights back.
(https://www.theglobeandmail.com/arts/books/article-tales-of-our-shared-exodus-narrative-may-just-be-how-democracy-fights/)
Writers' Trust Fellowship 2018
Jury Citation: "The range, depth, and beauty of Charles Foran's work is an astounding feat. Few authors in Canada or the world write as eloquently or expertly about literary lions and hockey legends; about the Irish Troubles and post-Tiananmen Square China; about lives caught in the public gaze of history or in their most intimate encounters. In a body of work that spans the tail end of one century and the beginning of another, he's proven just as adventurous in his choices of genre — moving in and out of fiction, literary nonfiction, journalism, biography, criticism, and advocacy for freedom of speech and diverse societies. The Writers' Trust salutes and welcomes to its fellowship an indispensable voice in Canadian literature, a masterful storyteller who has helped us understand ourselves and the world around us one book, one essay, one campaign, at a time. " — 2018 Writers' Trust Fellowship Jury
Here is a link to a short film commissioned by the Writers' Trust for the fellowship. As well, here is my acceptance speech.
My piece about Leonard Cohen's posthumous poetry collection, The Flame, for The Walrus, December 2018.
Leonard Cohen's Afterlife.
Read the full piece here
My conversation with Chris Hedges, published in the Literary Review of Canada, summer 2018
There is no plan b; Chris Hedges on the collapse of America
Charlie Foran to step down as the Institute for Canadian Citizenship's CEO
Architect of 6 Degrees to complete term in 2019
TORONTO, July 11, 2018—Charlie Foran, CEO of the Institute for Canadian Citizenship (ICC), announced today that he will be completing his term at the helm of the organization in early 2019.
"Charlie has led us through a period of exceptional growth", said the Rt. Hon. Adrienne Clarkson, co-founder and co-chair of the ICC. "Over the past four years he has steered the dynamic expansion and reinvention of our cornerstone programs—the Building Citizenship and Cultural Access Pass programs. At the same time, he conceived of and has firmly established 6 Degrees as a driving force in responding to the rise in nativism and exclusion across the globe."
Launched in 2016, 6 Degrees is an immersive annual three-day forum in Toronto focusing on citizenship and inclusion. Since then, it has grown to include a series of one-day events across Canada and around the world. This year, 6 Degrees Toronto will take place from September 24 to 26, followed by 6 Degrees Berlin on November 12. By the end of Foran's term, the ICC will have published seven reports through its research arm, Ideas & Insights, and completed the digital transformation of its Cultural Access Pass program.
"When we first asked Charlie to suspend his writing and teaching career to help us achieve our vision of broader global impact, we couldn't have imagined a quadrupling of the ICC's work in such a short period", said John Ralston Saul, co-founder and co-chair. "We are so grateful for the passion and authenticity he brings to the ICC, and for the truly inspirational leadership that will see us through to the start of 2019."
"It's been an honour to usher the ICC into its second decade," said Foran. "The ICC is unique, not just in what we do but also in how we do it. And from the outset, I've worked alongside great people—the best way to ensure that the critical work we do on citizenship and inclusion has lasting impact."
Foran is a Member of the Order of Canada. He is past president of PEN Canada, a senior fellow at Massey College in the University of Toronto, and an adjunct professor in the Department of English at the University of Toronto.He is author of 11 books.
On June 15, 2018, I delivered the commencement address to the St. Michael's class of 2018 at Convocation Hall.
Read the entire speech here
For my Father, published in the Globe & Mail April 22
David Foran: Woodworker. History buff. Dancer. Husband. Born July 6, 1932, in Ottawa; died Dec. 2, 2017, in Bobcaygeon, Ont.; of serious health issues, including kidney failure; aged 85.
Dave Foran loved Hank Williams and Hank Snow, John Wayne and Gary Cooper. Red wine pleased him greatly, as did baked beans and old cheddar cheese. He was passionate about history, especially Canadian and British, and would take his oldest son on drives around Ontario to point out the remaining Orange Lodges – the source, he believed, of much that was narrow-minded and grim about the province of his upbringing. He worked most contentedly with his hands and for a while built model chariots and crossbows that were put on display at the local library. Once retired, he crafted pine stools, mailboxes and bird houses.
He loved the beauty and sensuality of cats, all the more so for their cold killer hearts.
For sure, Dave Foran loved his three children and, by the end, five grandchildren and one great grandchild. The grandparent role suited him especially: helping his grandsons build a tree fort; watching teen movies over and over with his granddaughters.
Above all else, though, Dave Foran loved Muriel Foran, his wife of 62 years. They met in small town Northern Ontario in the early 1950s. She was second youngest of 12 children born to a mill worker. Dave had survived a disastrous Ottawa childhood and gone into the bush, where he staked claims and hunted his food. Stories told of that time and place suggested a reckless young man, the kind that often did not see his own 25th birthday, or else ended up a rooming-house denizen, his best days long behind.
But he got lucky. While visiting a friend in Blind River, he met Muriel Fallu, a school teacher. Soon they were married and living in a tiny house in the town. Soon after again, they were in the suburbs of Toronto. Children, friendships, a career managing shopping malls, followed. Happy, positive things – the opposite of that childhood, or a protracted life in the bush.
His marriage helped him become a functioning husband, father and friend. He never lost that edge, however, and once, in his late 60s, floored a man half his age for insulting his daughter. He had come through a personal fire, and Muriel was his salvation.
Dave and Muriel Foran loved to dance. To jive especially, the hip hop of their courtship days. They jived fast and fluid, at ease as partners, lovers and best friends. Well into their 70s they danced with such joy, astonishing their grown children, who looked away in deference, sensing that the act was, ultimately, private.
In his own final years, Dave was mostly bedridden, if still his mischievous, unfiltered self. They could no longer dance. But they were together, pretty much every hour of every day, until the end, and she was never less than the great, sustaining love of his life.
See article here.
In February 2018, I interviewed the great novelist Martin Amis at the PEN Canada benefit in Toronto.


The publisher or editor will inform the author immediately of any allegations of misconduct. Misconduct may be defined as any action in the authorship of a journal which could be considered unethical or fraudulent, including but not limited to plagiarism and intentional omission of credit.
Any whistleblower raising a matter of misconduct will remain anonymous.
Allegations of misconduct should be investigated in a timely manner, allowing authors to respond to any allegations made against them. All parties will have the support of the Press during this process.
Authors should ensure there are no instances of self-plagiarism in their manuscript. Submitted manuscripts must not repeat work published elsewhere, unless this has been agreed in advance with the editor and publisher.
If we receive an allegation of misconduct, the article author may be asked to provide evidence of their original research.
If misconduct is proven following the publication of a journal, the article in question will be removed from our online hosting site, Ingenta.
Editors and authors should declare any potential conflict of interest relating to a specific journal article, in order to determine if any action is required.
Reviewers should inform the editor of any conflict of interest prior to accepting a manuscript for review.
Editors should keep all submissions confidential and should only distribute content externally for the purposes of peer review. Reviewers must also treat manuscripts as confidential, and should only discuss their content with the editor.
All content should be original unless stated otherwise. For third-party content, authors must seek permission from the source, unless the material is covered by fair dealing. Appropriate citations must be included in the article.
Authors should not submit an article that has been published elsewhere, or is being considered for publication elsewhere.
If a significant error is discovered after an article has been published, the publisher will work with the author and editor to publish a correction where necessary.
Authors should acknowledge all sources of external funding relating to an article.
Editors will judge manuscripts based on academic merit alone, without discrimination toward their relationship to the author, or the author's institutional affiliation, political or religious beliefs, gender, sexual orientation, or ethnicity.
There is a copyright notice included in each journal issue. If an article is Open Access there is a clear indication of whether it has a Green or Gold licence.


text:
« Home | ID advocate Guillermo Gonzalez speaking in Lima, Ohio » | IA and ID in the WSJ; update on CfS » | Prions popping up all over the place » | Which is better for surgery: soap or bacteria? » | Influenza ecology » | Yay Dover, boo Kansas » | Dramatic decrease in measles in Africa » | More info on (and more cases of) polio in Minnesota » | For those of you following the Dover trial... » | New TV shows on Ebola, influenza »
Evolution of resistance--bacteria win again
Resistance to antibiotics has been a concern of scientists almost since their widespread use began. In a 1945 interview with the New York Times, Alexander Fleming himself warned that the misuse of penicillin could lead to selection of resistant forms of bacteria, and indeed, he'd already derived such strains in the lab by varying doses of penicillin the bacteria were subjected to. A short 5 years later, several hospitals had reported that a majority of their Staph isolates were, as predicted, resistant to penicillin. This decline in effectiveness has led to a search for new sources and kinds of antimicrobial agents. One strategy involves going back to a decades-old approach researched by Soviet scientists: phage therapy. Here, they pit one microbe directly against another, using viruses called bacteriophage to infect, and kill, pathogenic bacteria. Vincent Fischetti at the Rockefeller University has used this successfully to kill anthrax, Streptococcus pyogenes, and others. Another novel source of antibiotics has come from our own innate immune system, one of our initial defenses against microbial invaders.
An enormous variety of organisms produce compounds called cationic antimicrobial peptides. A component of our own innate immune system, these are fairly short strings of amino acids (less than 100 a.a.'s) that have a net positive charge. It is thought that these peptides work primarily by disrupting the integrity of the bacterial cell wall, essentially poking holes in the wall, causing death of the cell. Since the peptides are targeted at the bacterial cell wall structure, it was thought that resistance would require a fundamental change in membrane structure, making it an exceedingly rare event. Therefore, these antimicrobial peptides might make an excellent weapon in the fight against multiply drug-resistant bacteria. Additionally, the remarkable diversity of these peptides, combined with the presence of multiple types of peptides with different mechanisms of action present at the infection site, rendered unlikely the evolution of resistance to these molecules (or so the common thinking went). However, evolutionary biologists have pointed out that therapeutic use of these peptides would differ from natural exposure: concentration would be significantly higher, and a larger number of microbes would be exposed. Additionally, resistance to these peptides has been detailed in a few instances. For example, resistance to antimicrobial peptides has been shown to be essential for virulence in Staphylococcus aureus and Salmonella species, but we didn't *witness* that resistance develop--therefore, it might simply be that those species have physiological properties that render them naturally resistant to many of these peptides, and were never susceptible in the first place.
Antimicrobial resistance is always a problem—it can render antibiotics much less useful, and make deadly infections almost untreatable. But resistance to these peptides could make us all vulnerable. The peptides of our innate immune system are one of our first lines of defense against an immense variety of pathogens, and we don't know what the outcome may be if we compromise this essential level of protection. But realistically, could such resistance evolve within the bacterial population?
Dr. Michael Zasloff of Georgetown University was originally a doubter. In this 2002 Nature article, he states in conclusion:
Studies both in the laboratory and in the clinic confirm that emergence of resistance against antimicrobial peptides is less probable than observed for conventional antibiotics, and provides the impetus to develop antimicrobial peptides, both natural and laboratory conceived, into therapeutically useful agents.
Certainly in the short term, resistance was unlikely to evolve for the reasons I mentioned above. However, if these peptides are used over an extended period of time, could the mutations necessary to confer resistance accumulate? This was the question asked in a new study by Dr. Zasloff along with colleagues Gabriel Perron and Graham Bell. Following publication of his 2002 paper where he called evolution of resistance to these peptides "improbable," Bell challenged Zasloff to test this theory. Zasloff took him up on the offer, and they've published their results in Proceedings of the Royal Society.
They tested this using strains of E. coli and Pseudomonas fluorescens. They started out growing these bacteria with low concentrations of a peptide antibiotic called pexiganan, a derivative of a peptide originally isolated from a frog. (Carl Zimmer has an excellent post on this same topic here). The experimental design was quite simple. They grew the bacteria, took a portion of the growth, and added that to a new tube with fresh media. Gradually, they increased the concentration of pexiganan in the growth medium. In all, they did 100 serial transfers of the bacteria (correlating to ~500-600 generations of bacteria), and the end result were--voilà!--bacterial populations that were resistant to the peptides.
Creationists/ID advocates (such as chemist Phil Skell) often claim that "evolutionary theory contributes little to experimental biology," or that "evolution has little to do with almost all research in biology and biotechnology", etc. etc. And sure, the theory of evolution didn't *directly* result in the discovery of peptide antibiotics. But advances in biotechnology do not exist in a vacuum, and we have seen what can occur from the misapplication of these types of technologies, unguided by an understanding of underlying evolutionary principles. Peptide antibiotics have not yet been used clinically to treat human infections, but imagine if they had gone into widespread use without a thought given to the evolution of resistance to these peptides. Imagine if they had gone into widespread use prior to an investigation of the relatedness of various peptides to those produced by humans. Imagine if, as a result of not considering these implications, we had lost an ancient protection against bacteria—-which *evolved* over millions of years of host-pathogen interaction--due to a mere advancement in biotechnology. While I enjoy proving the evolution-doubters wrong, I hope it never comes down to that kind of situation in order to do so, and I hope this example is instructive to those who claim that evolution isn't useful.
ID advocate Guillermo Gonzalez speaking in Lima, Ohio
IA and ID in the WSJ; update on CfS
Prions popping up all over the place
Which is better for surgery: soap or bacteria?
Influenza ecology
Yay Dover, boo Kansas
Dramatic decrease in measles in Africa
More info on (and more cases of) polio in Minnesota
For those of you following the Dover trial...
New TV shows on Ebola, influenza

redpajama_set_name: RedPajamaCommonCrawl


There are few brands that are as iconic as Jeep®. This American carmaker has been building rough-and-tumble SUVs for decades now, and it doesn't look like it will stop anytime soon. Here, we take a look at the Jeep® SUVs and crossovers you will find in the Bert Ogden Chrysler Dodge Jeep Ram showroom.
Though the 2018 Jeep® Renegade is the smallest option in the Jeep® lineup, it packs a big punch when it comes to capability. For instance, the Renegade Trailhawk model comes with a standard Active Drive Low system, a one-inch factory lift, and 17-inch off-road aluminum wheels. After all, there's a reason why 4x4 magazine has named the Renegade the "Best Small SUV of the Year" three years in a row-it can truly go on any adventure. When you add a comfortable, yet practical interior and tech like the UconnectÔ LIVE infotainment system, you have one vehicle that can offer you the best of both worlds.
The 2019 Jeep® Compass offers a bold look in a compact package-but just because it's compact doesn't mean it's small on the inside. Not only does the Compass offer nearly 60 cubic feet of maximum cargo space, but it also has enough seating for five passengers to sit comfortably. Add features like the available UconnectÔ 8.4 infotainment system, which has Apple CarPlayÔ and Android AutoÔ smartphone integration, and the Compass is sure to take you where you need to go and keep you connected when you get there.
Jeep® has combined a certain level of luxury with its off-road reputation in the 2018 Cherokee. While this vehicle is quite capable off the beaten path, it also has a number of available features typically seen on vehicles that cost much more. This includes the available UconnectÔ 8.4 infotainment system, a power tailgate, and chrome accents both inside and out. For a vehicle that gives you both Jeep® capability and premium options, look no further.
Standing out from a packed segment for 25 years isn't exactly easy, but the Jeep® Grand Cherokee makes it look simple. This SUV has a strong, standout design and a comfortable interior that allows you to immerse yourself in premium materials. Add its top-notch off-road capabilities and connective technology, and it's really no wonder that the Grand Cherokee is considered the most awarded SUV ever.
The Wrangler has a legacy for offering superior off-roading ability and a boxy style - and the 2018 Jeep® Wrangler JK isn't looking to change that. With nine trim levels to choose from and plenty of off-road-ready features, there's no doubt that the 2018 Jeep Wrangler JK should be your go-to vehicle if you're looking for adventure.


Macon, Georgia Truck Accident Attorney | Truck Accident, Automobile Accident and Personal Injury Attorneys | Truck Accident Lawyer Group Inc.
Trucking collisions involving construction vehicles, dump trucks, or other large DOT licensed trucks can be very serious. Brad Pistotnik and the Truck Accident Lawyer Group can help you if you have fallen victim to personal injury as a result of a truck-related accident. The Truck Accident Lawyer Group can help you to realize your legal rights and win maximum compensation for your personal injury from a trucking accident.
Macon, Georgia has a population of approximately 91,000 and is nicknamed the "Heart of Georgia." Along with Macon's numerous museums and tourists sites, it is also the birthplace for many music legends such as Ottis Redding, Little Richard, Bill Berry of R.E.M., The Allman Brothers and many more. Visitors and residents alike can face driving dangers when they travel alongside a large truck driver who is being negligent.
Being aware of your legal rights is key when you have sustained a personal injury in a trucking accident. Contact Brad Pistotnik if a collision involving a large DOT licensed vehicle has left you with a personal injury. He and the Truck Accident Lawyer Group will give you a free evaluation to help you better understand your legal entitlements.
The Truck Accident Lawyer Group are experts and specialize in various areas of truck law. Trucking collisions which involve personal injury can be difficult and complicated requiring legal experience in handling truck-related accidents. At The Truck Accident Lawyer Group, a focus is put on all types of trucking accidents. This allows them to be able to retain experts in trucking litigation to help you win your court case and receive compensation for your injuries.


text:
module Survey
	class SurveyQuestionSetItemsController < ApplicationController
    before_filter :redirect_unless_logged_in
    before_filter :redirect_unless_admin

		unloadable #marks the class for reloading inbetween requests.

    def index
      @title = "Survey Question Set Items"
      @survey_question_set_items = SurveyQuestionSetItem.all
    end

    def new
      @title = "Add Survey Question Set Item"
      @survey_question_set_item = SurveyQuestionSetItem.new
    end

    def create
      @survey_question_set_item = SurveyQuestionSetItem.new( params[:survey_question_set_item] )

      if @survey_question_set_item.save
        flash[:notice] = "Survey Question Set Item created successfully!"
        redirect_to survey_question_set_items_path
      else
        @title = "Add Survey Question Set Item"
        render 'new'
      end

    end

    def edit
      @title = "Edit Survey Question Set Item"
      @survey_question_set_item = SurveyQuestionSetItem.find( params[:id] )
    end

    def update
      @survey_question_set_item = SurveyQuestionSetItem.find( params[:id] )

      if @survey_question_set_item.update_attributes( params[:survey_question_set_item] )
        flash[:notice] = "Survey Question Set Item updated successfully!"
        redirect_to survey_question_set_items_path
      else
        @title = "Edit Survey Question Item"
        render 'edit'
      end
    end

    def destroy
      @survey_question_set_item = SurveyQuestionSetItem.find( params[:id] )
      @survey_question_set_item.destroy

      flash[:notice] = "Survey Question Set Item destroyed successfully!"
      redirect_to survey_question_set_items_path
    end

	end
end

redpajama_set_name: RedPajamaGithub


text:
Q: Kendo Dropdown Not Retaining Value After PostBack I have a Kendo Dropdown that I'm loading using WebApi.
User selects an option from the dropdown and hits search button that does a postback action.
The selection is visible in the controller on the POST action but when the page reloads after postback, the dropdown has lost its selection and is blank now.
How can I have the value selected in dropdown on page reload ?

            @(Html.Kendo()
            .DropDownListFor(m => m.SelectedId)
            .DataTextField("Name")
            .DataValueField("Id")
            .HtmlAttributes(new { style = "width:100%" })
            .Value("TEST")
            .AutoBind(false)
            .Filter("contains")
            .MinLength(3)
            .DataSource(source =>
            {
                source.Read(read =>
                {
                        read.Url("/api/GetNames/" + @Model.PersonnelId);
                })
                .ServerFiltering(true);
            })
            )

<button name="Search" value="true" type="submit" class="btn btn-secondary">Search</button>

I was wondering if on postback, I can use the SelectedId to find the "Name" and show it selected by assigning in .Value() property of dropdown after postback. To test this, I first hardcoded value "TEST" in the dropdown, but I don't see it selected anytime (on first time load or on reload).
Initially I thought it is because of Autobind(true), so I've set it to false so that dropdown loads only after user starts typing. That still hasn't helped with retaining the selection when value is loaded from controller.

redpajama_set_name: RedPajamaStackExchange


Windshield Replacement, Repair & Glass Tinting.
Serving the entire state of Arizona.
At Diamond Auto Glass, we are the leading windshield repair and replacement specialists in the state of Arizona. With over 30 years of experience in the field, we have invested in the technology and equipment needed to keep vehicles and passengers safe. Call our skilled technicians to put your mind at ease.
If your windshield is cracked or chipped, we repair it with a liquid resin that will cure in half an hour, getting you back on track.
For major cracks and breaks, we will install a new, OEM windshield that adheres to standard code and regulations in Arizona.
Auto glass is specifically designed to protect the vehicle's driver and passengers, and our conducts repairs with the best equipment in the industry.
At Diamond Auto Glass, we replace auto glass windshields and side windows to promote safe driving and security in an accident.
We offer auto glass tinting to protect the vehicles from interior damage and drivers from UV rays and intense heat buildup.
Smart Glass is a new type of windshield that's becoming popular by combining technology and laminating materials that self-tints.
Stuart Weatherman has been providing the state of Arizona with excellent, high-quality services for over 30 years. With a commitment to thorough training, certification, and friendly customer service, we make sure that all of our customers are treated like family.
At Diamond Auto Glass, we are proud to offer Arizona customers high-quality windshield repair, replacement, and tinting services complemented with affordable prices. If you need repair or replacement work done on your windshields quickly, don't hesitate to call us for assistance today!
We at Diamond Auto Glass aim to build a lifetime commitment to our clients by providing the best quality of products and services in the most professional manner. Money is not going to be a concern as we work with all insurance and fleet services. We know how much our clients value their time and we respect that. We make it easier for our clients to book an appointment with us.
We care about our clients' safety. As vehicles greatly depend on the windshield, only the best products should be used to ensure the safety of passengers.
For over 30 years, our company has built a reputation for quality products and services combined with professionalism. We gained a lot of loyal clients who keep coming back for our services when they need help with their vehicles. Our company has been in the same ownership throughout those years and it has a very strong foundation. We have been recommended to our clients' family and friends because they know how we work and what kind of service we provide.
We offer a variety of services to address your vehicle's needs. Among these is the windshield repair. Accidents can happen anytime anywhere; a small chip in the windshield can be a start of a bigger problem like a crack. Most people tend to ignore it, but honestly, that chip won't magically disappear; instead, it will just get worse if not taken care of.
Windshields are the main protection when on the road, so any damage, great or small, can lessen the safety of the vehicle and its passengers. Windshield damage can impair the vision of the driver. Having it fixed immediately is not an option but a must. Having a skilled, experienced and trustworthy company to get the job done can put your mind at ease.
Diamond Auto Glass is now an official dealer of Dub IR Window Tint, the most luxurious and effective window tint on the market. Dub IR Window Tint blocks over 99% of UV and 90% of infrared rays, keeping your cabin cooler and guarding your skin against dangerous UV exposure. It also comes in several shades, allowing you to customize your car's appearance while providing the clarity and protection needed from the sun in Arizona. .
Contact Diamond Auto Glass for a quote today! We respond to all quote inquiries within 24 business hours.
"I called in after hours with then intent to just leave a message for a call back and even though the office was closed I still got my call answered! I was told they had the best prices in town and after calling around, Diamond Auto was the cheapest! Customer service is above and beyond and even while in the waiting room it was a nice feeling to witness this service for others not only myself. Office is very neat and clean and the atmosphere is warm and friendly. Thank you Diamond Auto and I will be back for those new tints!"
"Stuart helped me out. I came in with three chips/cracks in my windshield. Stuart was friendly, polite, and easy going. He quickly assessed the sad state of my windshield and didn't try to sell me some BS i didn't need. Stuart worked hard in the heat to ensure all three damaged parts of my windshield were replaced, and we waited just a bit for one of the more difficult chips to fill. I left to grab food at the Farmer's Market around the corner, and everything was done before I returned, about 10 minutes later! Fast, inexpensive, professional, kind- what more can you want?"


text:
Katie's Khronicles: A News Roundup: 4/15/2013 – 4/21/2013
Volunteers and city workers place sandbags around the public museum and GVSU as the Grand River continues to rise in downtown Grand Rapids, Mich. Friday, April 19, 2013. (Chris Clark | MLive.com)
"Sandbagging underway at Grand Rapids Public Museum, declared a 'near priority' to safeguard" by Jeffrey Kaczmarczyk at www.mlive.com – Good to see that museums are priorities in disasters… as the Grand River rises, volunteers and employees create sandbag barriers to protect the building and artifacts. The museum luckily has a disaster plan (ESSENTIAL for museums and historic sites!!), but it has not been used yet: "The Grand Rapids Public Museum, accredited by the American Association of Museums, has a disaster plan in the event of such calamities, but it hasn't been put into operation because an actual disaster isn't imminent."
The historic house in question
"Miami Beach commission won't intervene in historic-house controversy — yet" by CHRISTINA VEIGA at www.miamiherald.com – Some "star" on The Real Housewives of Miami and her husband hope to tear down their home on Star Island in Florida. As the article states, "The home at the center of the battle is owned by Leonard and Lisa Hochstein. He is a plastic surgeon known as "The Boob God," and she is a cast member of Bravo's The Real Housewives of Miami. They recently bought the 1925 home at 42 Star Island and asked Miami Beach for permission to tear it down. Preservationists, however, have been fighting to save the home — designed by Florida's first registered architect, Walter DeGarmo — by declaring it historic."
"Stonehenge 5,000 Years Older Than Thought" by ROSSELLA LORENZI on news.discovery.com – "Excavation near Stonehenge found evidence of a settlement dating back to 7,500 BC, revealing the site was occupied some 5,000 years earlier than previously thought. Working at Vespasian's Camp in Amesbury, Wiltshire, less than a mile from the megalithic stones, a team led by archaeologist David Jacques of the Open University unearthed material which contradicted the general belief that no people settled there until as late as 2,500 BC. Indeed, carbon dating of the material revealed the existence of a semi-permanent settlement which was occupied from 7,500 to 4,700 BC. The dating showed that people were present during every millennium in between."
Eesh.
"The Hangman's Tale: Archaeologists Dig into History of Execution" By Matthias Schulz at http://www.spiegel.de/ – "Epileptics reportedly collected and drank the blood of Schinderhannes, the famous German outlaw sometimes compared to Robin Hood, in the belief that it would heal them. It's said that the head of German pirate Klaus Störtebeker was impaled on a spike along the banks of the Elbe River. But is this true? How did our forefathers actually dispense justice? The old "eyesores" were largely ignored for many years, Auler says in reference to execution sites, "and yet they were just as much a part of the scenery as windmills." This article is fascinating and looks into the gruesome deaths of the guilty (or innocent?) criminals of the Middle Ages.
Posted in UncategorizedBy katiestringerclaryLeave a comment
← What IS a Museum, Anyway? Definitions and Explorations
What Is a Museum? – Cabinets of Curiosities →


text:
Q: How to override Jenkins' random image tag for a Dockerfile agent in a pipeline I have a step in my Jenkinsfile that runs using a Dockerfile agent. When jenkins creates the docker image it gives it a random long tag and I'd like to replace that with my own tag. I tried passing the tag using additionalBuildArgs but that gives the docker image an additional tag.
agent {
        dockerfile {
            additionalBuildArgs '-t my-image:latest'
        }
}

Is there a way to stop Jenkins from passing a tag?

A: The plugin that controls this action is pipeline-model-definition-plugin.
you can see at the plugin's code that the image name is a hash of the project name and the dockerfile path:
def hash = Utils.stringToSHA1("${runWrapper.fullProjectName}\n${script.readFile("${dockerfilePath}")}")
def imgName = "${hash}"

then it takes the additional args and adds them to the image name:
def additionalBuildArgs = describable.getAdditionalBuildArgs() ? " ${describable.additionalBuildArgs}" : ""
script.sh "docker build -t ${imgName}${additionalBuildArgs} -f \"${dockerfilePath}\" \"${describable.getActualDir()}\""

so by using the dockerfile step, it seems that the name would always be a hash.


text:
Q: find the colour name from a hexadecimal colour code i want to find the name of a colour from the hexadecimal colour code. When i get a hex colour code i want to find the most matching colour name. for example for the code #c06040 , how to find out if it is a shade of brown, blue or yellow ?. so that i can find the colour of an object in the image without human intervention.
Is there any relation between the hexadecimal code of the shades of a colour?
please give some sample code if there is any.

A: There is a program distributed with the Python source called pynche which can do this
The functionality you need is in the method ColorDB.nearest() in ColorDB.py
From Python/Tools/README

Introduction

    Pynche is a color editor based largely on a similar program that I
    originally wrote back in 1987 for the Sunview window system.  That
    editor was called ICE, the Interactive Color Editor.  I'd always
    wanted to port this program to X but didn't feel like hacking X
    and C code to do it.  Fast forward many years, to where Python +
    Tkinter provides such a nice programming environment, with enough
    power, that I finally buckled down and re-implemented it.  I
    changed the name because these days, too many other systems have
    the acronym `ICE'.

    Pynche should work with any variant of Python after 1.5.2
    (e.g. 2.0.1 and 2.1.1), using Tk 8.0.x.  It's been tested on
    Solaris 2.6, Windows NT 4, and various Linux distros.  You'll want
    to be sure to have at least Tk 8.0.3 for Windows.  Also, Pynche is
    very colormap intensive, so it doesn't work very well on 8-bit
    graphics cards; 24bit+ graphics cards are so cheap these days,
    I'll probably never "fix" that.

    Pynche must find a text database of colors names in order to
    provide `nearest' color matching.  Pynche is distributed with an
    rgb.txt file from the X11R6.4 distribution for this reason, along
    with other "Web related" database (see below).  You can use a
    different file with the -d option.  The file xlicense.txt contains
    the license only for rgb.txt and both files are in the X/
    subdirectory.

    Pynche is pronounced: Pin'-chee

Running Standalone

    On Unix, start it by running the `pynche' script.  On Windows, run
    pynche.pyw to inhibit the console window.  When run from the
    command line, the following options are recognized:

    --database file
    -d file
        Alternate location of the color database file.  Without this
        option, the first valid file found will be used (see below).

    --initfile file
    -i file
        Alternate location of the persistent initialization file.  See
        the section on Persistency below.

    --ignore
    -X
        Ignore the persistent initialization file when starting up.
        Pynche will still write the current option settings to the
        persistent init file when it quits.

    --help
    -h
        Print the help message.

    initialcolor
        a Tk color name or #rrggbb color spec to be used as the
        initially selected color.  This overrides any color saved in
        the persistent init file.  Since `#' needs to be escaped in
        many shells, it is optional in the spec (e.g. #45dd1f is the
        same as 45dd1f).

Running as a Modal Dialog

    Pynche can be run as a modal dialog, inside another application,
    say as a general color chooser.  In fact, Grail 0.6 uses Pynche
    and a future version of IDLE may as well.  Pynche supports the API
    implemented by the Tkinter standard tkColorChooser module, with a
    few changes as described below.  By importing pyColorChooser from
    the Pynche package, you can run

        pyColorChooser.askcolor()

    which will popup Pynche as a modal dialog, and return the selected
    color.

    There are some UI differences when running as a modal
    vs. standalone.  When running as a modal, there is no "Quit" menu
    item under the "File" menu.  Instead there are "Okay" and "Cancel"
    buttons.

    When "Okay" is hit, askcolor() returns the tuple

        ((r, g, b), "name")

    where r, g, and b are red, green, and blue color values
    respectively (in the range 0 to 255).  "name" will be a color name
    from the color database if there is an exact match, otherwise it
    will be an X11 color spec of the form "#rrggbb".  Note that this
    is different than tkColorChooser, which doesn't know anything
    about color names.

    askcolor() supports the following optional keyword arguments:

        color
            the color to set as the initial selected color

        master[*]
            the master window to use as the parent of the modal
            dialog.  Without this argument, pyColorChooser will create
            its own Tkinter.Tk instance as the master.  This may not
            be what you want.

        databasefile
            similar to the --database option, the value must be a
            file name

        initfile[*]
            similar to the --initfile option, the value must be a
            file name

        ignore[*]
            similar to the --ignore flag, the value is a boolean

        wantspec
            When this is true, the "name" field in the return tuple
            will always be a color spec of the form "#rrggbb".  It
            will not return a color name even if there is a match;
            this is so pyColorChooser can exactly match the API of
            tkColorChooser.

        [*] these arguments must be specified the first time
        askcolor() is used and cannot be changed on subsequent calls.

The Colorstrip Window

    The top part of the main Pynche window contains the "variation
    strips".  Each strip contains a number of "color chips".  The
    strips always indicate the currently selected color by a highlight
    rectangle around the selected color chip, with an arrow pointing
    to the chip.  Each arrow has an associated number giving you the
    color value along the variation's axis.  Each variation strip
    shows you the colors that are reachable from the selected color by
    varying just one axis of the color solid.

    For example, when the selected color is (in Red/Green/Blue
    notation) 127/127/127, the Red Variations strip shows you every
    color in the range 0/127/127 to 255/127/127.  Similarly for the
    green and blue axes.  You can select any color by clicking on its
    chip.  This will update the highlight rectangle and the arrow, as
    well as other displays in Pynche.

    Click on "Update while dragging" if you want Pynche to update the
    selected color while you drag along any variation strip (this will
    be a bit slower).  Click on "Hexadecimal" to display the arrow
    numbers in hex.

    There are also two shortcut buttons in this window, which
    auto-select Black (0/0/0) and White (255/255/255).

The Proof Window

    In the lower left corner of the main window you see two larger
    color chips.  The Selected chip shows you a larger version of the
    color selected in the variation strips, along with its X11 color
    specification.  The Nearest chip shows you the closest color in
    the X11 database to the selected color, giving its X11 color
    specification, and below that, its X11 color name.  When the
    Selected chip color exactly matches the Nearest chip color, you
    will see the color name appear below the color specification for
    the Selected chip.

    Clicking on the Nearest color chip selects that color.  Color
    distance is calculated in the 3D space of the RGB color solid and
    if more than one color name is the same distance from the selected
    color, the first one found will be chosen.

    Note that there may be more than one X11 color name for the same
    RGB value.  In that case, the first one found in the text database
    is designated the "primary" name, and this is shown under the
    Nearest chip.  The other names are "aliases" and they are visible
    in the Color List Window (see below).

    Both the color specifications and color names are selectable for
    copying and pasting into another window.

The Type-in Window

    At the lower right of the main window are three entry fields.
    Here you can type numeric values for any of the three color axes.
    Legal values are between 0 and 255, and these fields do not allow
    you to enter illegal values.  You must hit Enter or Tab to select
    the new color.

    Click on "Update while typing" if you want Pynche to select the
    color on every keystroke (well, every one that produces a legal
    value!)  Click on "Hexadecimal" to display and enter color values
    in hex.

Other Views

    There are three secondary windows which are not displayed by
    default.  You can bring these up via the "View" menu on the main
    Pynche window.

The Text Window

    The "Text Window" allows you to see what effects various colors
    have on the standard Tk text widget elements.  In the upper part
    of the window is a plain Tk text widget and here you can edit the
    text, select a region of text, etc.  Below this is a button "Track
    color changes".  When this is turned on, any colors selected in
    the other windows will change the text widget element specified in
    the radio buttons below.  When this is turned off, text widget
    elements are not affected by color selection.

    You can choose which element gets changed by color selection by
    clicking on one of the radio buttons in the bottom part of this
    window.  Text foreground and background affect the text in the
    upper part of the window.  Selection foreground and background
    affect the colors of the primary selection which is what you see
    when you click the middle button (depending on window system) and
    drag it through some text.

    The Insertion is the insertion cursor in the text window, where
    new text will be inserted as you type.  The insertion cursor only
    has a background.

The Color List Window

    The "Color List" window shows every named color in the color name
    database (this window may take a while to come up).  In the upper
    part of the window you see a scrolling list of all the color names
    in the database, in alphabetical order.  Click on any color to
    select it.  In the bottom part of the window is displayed any
    aliases for the selected color (those color names that have the
    same RGB value, but were found later in the text database).  For
    example, find the color "Black" and you'll see that its aliases
    are "gray0" and "grey0".

    If the color has no aliases you'll see "<no aliases>" here.  If you
    just want to see if a color has an alias, and do not want to select a
    color when you click on it, turn off "Update on Click".

    Note that the color list is always updated when a color is selected
    from the main window.  There's no way to turn this feature off.  If
    the selected color has no matching color name you'll see
    "<no matching color>" in the Aliases window.

The Details Window

    The "Details" window gives you more control over color selection
    than just clicking on a color chip in the main window.  The row of
    buttons along the top apply the specified increment and decrement
    amounts to the selected color.  These delta amounts are applied to
    the variation strips specified by the check boxes labeled "Move
    Sliders".  Thus if just Red and Green are selected, hitting -10
    will subtract 10 from the color value along the red and green
    variation only.  Note the message under the checkboxes; this
    indicates the primary color level being changed when more than one
    slider is tied together.  For example, if Red and Green are
    selected, you will be changing the Yellow level of the selected
    color.

    The "At Boundary" behavior determines what happens when any color
    variation hits either the lower or upper boundaries (0 or 255) as
    a result of clicking on the top row buttons:

    Stop
        When the increment or decrement would send any of the tied
        variations out of bounds, the entire delta is discarded.

    Wrap Around
        When the increment or decrement would send any of the tied
        variations out of bounds, the out of bounds value is wrapped
        around to the other side.  Thus if red were at 238 and +25
        were clicked, red would have the value 7.

    Preserve Distance
        When the increment or decrement would send any of the tied
        variations out of bounds, all tied variations are wrapped as
        one, so as to preserve the distance between them.  Thus if
        green and blue were tied, and green was at 238 while blue was
        at 223, and +25 were clicked, green would be at 15 and blue
        would be at 0.

    Squash
        When the increment or decrement would send any of the tied
        variations out of bounds, the out of bounds variation is set
        to the ceiling of 255 or floor of 0, as appropriate.  In this
        way, all tied variations are squashed to one edge or the
        other.

    The top row buttons have the following keyboard accelerators:

    -25 == Shift Left Arrow
    -10 == Control Left Arrow
     -1 == Left Arrow
     +1 == Right Arrow
    +10 == Control Right Arrow
    +25 == Shift Right Arrow

Keyboard Accelerators

    Alt-w in any secondary window dismisses the window.  In the main
    window it exits Pynche (except when running as a modal).

    Alt-q in any window exits Pynche (except when running as a modal).

Persistency

    Pynche remembers various settings of options and colors between
    invocations, storing these values in a `persistent initialization
    file'.  The actual location of this file is specified by the
    --initfile option (see above), and defaults to ~/.pynche.

    When Pynche exits, it saves these values in the init file, and
    re-reads them when it starts up.  There is no locking on this
    file, so if you run multiple instances of Pynche at a time, you
    may clobber the init file.

    The actual options stored include

    - the currently selected color

    - all settings of checkbox and radio button options in all windows

    - the contents of the text window, the current text selection and
      insertion point, and all current text widget element color
      settings.

    - the name of the color database file (but not its contents)

    You can inhibit Pynche from reading the init file by supplying the
    --ignore option on the command line.  However, you cannot suppress
    the storing of the settings in the init file on Pynche exit.  If
    you really want to do this, use /dev/null as the init file, using
    --initfile.

Color Name Database Files

    Pynche uses a color name database file to calculate the nearest
    color to the selected color, and to display in the Color List
    view.  Several files are distributed with Pynche, described
    below.  By default, the X11 color name database file is selected.
    Other files:

    html40colors.txt -- the HTML 4.0 guaranteed color names

    websafe.txt -- the 216 "Web-safe" colors that Netscape and MSIE
    guarantee will not be dithered.  These are specified in #rrggbb
    format for both values and names

    webcolors.txt -- The 140 color names that Tim Peters and his
    sister say NS and MSIE both understand (with some controversy over
    AliceBlue).

    namedcolors.txt -- an alternative set of Netscape colors.

    You can switch between files by choosing "Load palette..." from
    the "File" menu.  This brings up a standard Tk file dialog.
    Choose the file you want and then click "Ok".  If Pynche
    understands the format in this file, it will load the database and
    update the appropriate windows.  If not, it will bring up an error
    dialog.

To Do

    Here's a brief list of things I want to do (some mythical day):

    - Better support for resizing the top level windows

    - More output views, e.g. color solids

    - Have the notion of a `last color selected'; this may require a
      new output view

    - Support setting the font in the text view

    - Support distutils setup.py for installation

    I'm open to suggestions!

Local Variables:
indent-tabs-mode: nil
End:

A: Hexadecimal web colour values are just a form of RGB. Convert your RGB values to HSL, and then partition the Hue space into the different colours.
For example, a Hue value of about 0-19 would be "red", 20-39 "orange", 40-59 "yellow", etc. (These numbers are not exact, I just had a quick glance at the Hue chart on the Wikipedia page.)
For a more complex analysis of the colour name, use the Lightness value also. For example, "brown" is just a darker yellow.

A: You can build dict of hex codes as keys and human readable color names as values.
Here is a heuristic/fuzzy function for guessing  what a color might look like ;)
colorof = {'f0f8ff':"Alice Blue",
           'faebd7':"Antique White",
           '000000':"Black"}

def get_color_name(hx):
    # if color is found in dict
    if colorof.has_key(hx):return colorof[hx]

    # else return its closest available color
    m = 16777215
    k = '000000'
    for key in colorof.keys():
        a = int(hx[:2],16)-int(key[:2],16)
        b = int(hx[2:4],16)-int(key[2:4],16)
        c = int(hx[4:],16)-int(key[4:],16)

        v = a*a+b*b+c*c # simple measure for distance between colors

        # v = (r1 - r2)^2 + (g1 - g2)^2 + (b1 - b2)^2

        if v <= m:
            m = v
            k = key

    return colorof[k]

print get_color_name('f0f8ff') # found in dict
print get_color_name('faeb11') # closest to Antique white

A: Here is a small example I have written, which uses the pearson coefficient to compare two colors and chooses the most similar color from a dict. This solution is probably not the most efficient one, but the results should be quite good:
import re
re_color = re.compile('#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})')
from math import sqrt

def color_to_rgb(color):
    return tuple(int(x, 16) / 255.0 for x in re_color.match(color).groups())

def similarity(color1, color2):
    """Computes the pearson correlation coefficient for two colors. The result
    will be between 1.0 (very similar) and -1.0 (no similarity)."""
    c1 = color_to_rgb(color1)
    c2 = color_to_rgb(color2)

    s1 = sum(c1)
    s2 = sum(c2)
    sp1 = sum(map(lambda c: pow(c, 2), c1))
    sp2 = sum(map(lambda c: pow(c, 2), c2))
    sp = sum(map(lambda x: x[0] * x[1], zip(c1, c2)))

    return (sp - (s1 * s2 / 3.0)) / sqrt((sp1 - pow(s1, 2) / 3.0) * (sp2 - pow(s2, 2) / 3.0))

color_names = {
    '#ff0000': 'red',
    '#00ff00': 'green',
    '#0000ff': 'blue'
    # add more color definitions here
}

def find_name(color):
    sim = [(similarity(color, c), name) for c, name in color_names.items()]
    return max(sim, key=lambda x: x[0])[1]

print find_name('#cc0000') # returns "red"

A: Your code is precious @tux21b, but it fails with more color_names and non really approaching web-color value.
It crashes with a Divide by Zero Error on this line :
return (sp - (s1 * s2 / 3.0)) / sqrt((sp1 - pow(s1, 2) / 3.0) * (sp2 - pow(s2, 2) / 3.0))

I'm not a good mathematician, but I was thinking that, if the similarity function returns a value from -1 (not similar) to +1 (exact color), then if a divide by zero occured, it should return 0 ?
So I've fixed your code like this :
        try:
            computed = (sp - (s1 * s2 / 3.0)) / sqrt((sp1 - pow(s1, 2) / 3.0) * (sp2 - pow(s2, 2) / 3.0))
        except:
            computed = 0

        return computed

Then, it works well and returns the good approaching values, even with a larger set of predefined colors like this:
color_names = {
    '#000000': 'black',
    '#ffffff': 'white',
    '#808080': 'dark gray',
    '#b0b0b0': 'light gray',
    '#ff0000': 'red',
    '#800000': 'dark red',
    '#00ff00': 'green',
    '#008000': 'darkgreen',
    '#0000ff': 'blue',
    '#000080': 'dark blue',
    '#ffff00': 'yellow',
    '#808000': 'olive',
    '#00ffff': 'cyan',
    '#ff00ff': 'magenta',
    '#800080': 'purple'
    }

A: The Wikipedia page for web colors has quite a lot of them listed, as does w3schools and the temptingly-named html-color-names.com. :-) And this guy has a seriously thorough page about color generally, and color on computers and the web specifically. You could visit them, search for your color code, and see if it's listed (and if not, look for close ones).
Edit I missed the Python tag. If you want to do this from code, the above may not be 100% useful. You could build a pretty good associative lookup based on information from sites like that, but even with color names being somewhat subjective, it seems like there's probably a good algorithmic approach out there.

A: This page on Wikipedia provides an example of lookup from name to hex codes.  It would be fairly easy to lookup in the other direction.  Whether there is a relationship between codes and names that suits you is up to you.  You'll probably find other color-name code tables too.


text:
Q: What does the word "verifactive" mean? In Introduction to Functional Grammar, in the section on conjunction, Halliday labels the conjuncts "actually", "in fact" and "as a matter of fact" as "verifactive".  He does not expound, except for an example, which I quote:

Interviewer: You ... went to Vassar as an undergraduate, and then came back to Iowa ... Smiley: Actually, there was a year in there
where after I finished Vassar I went to Europe ... [verifactive]

I can't find "verifactive" in a dictionary, and Google brings up references to Halliday.  I presume it's a neologism.  What is it supposed to mean ("verifactive" not "actually")?

A: OED3 does not contain verifactive at all:

So one can only guess...

*

*veri- combining prefix indicating truth.

*-factive = factitive. OED has a citation including the word: "Factive Verbs are such as may be said to make..a thing to be of a certain character, by deed, word or thought."

Factitive verbs do something to their object, expressed by a complement: "English examples of factitive verbs are 'to make a man king', 'to call a person a fool', 'to paint the door green', 'to let a bird go', 'to condemn a prisoner to death'." (OED)
Thus a word which is verifactive at least indicates, if it does not actually create, truth.

A: The Ngram indicates that the usage of the word 'verifactive' began in 1985 and the comment below by @Seymour Azzes indicates that there is evidence of its usage only from the publication of Halliday's Functional Grammar from that date.
Ngram - verifactive
Online Etymology Dictionary comes back with a non-result as does OED.
The word is in technical usage by linguists - see 'Corpus Analysis in Corpus Linguistics'
The concomitant word 'petrifactive' is present in OED and its meaning is simply 'causing petrifaction'.
Therefore 'verifactive' is applied to that which causes 'verifaction' or rather 'verification'.
See OED.

A: Elaborating Conjunction: Clarification

Halliday & Matthiessen (2014: 616): Here the elaborated element is not
simply restated but reinstated, summarised, made more precise or in
some other way clarified for purposes of the discourse. There are
seven subtypes (corrective, distractive, dismissive, particularising,
resumptive, summative, verifactive), realised by different sets of
conjunctions; they are set out in Table 9-6, and illustrated below:

Calculations by Anderson show that ozone depletion at the 410- and
420-K isentropic surfaces between August 23 and September 22 can be
almost entirely explained by the amount of ClO present if one assumes
that the ClO-ClO mechanism is effective. At the 360-K surface, the
calculated ozone loss is somewhat less than the observed loss. At
least we can say that above about the 400-K level, there does seem to
be enough ClO to explain the observed ozone loss. [corrective]

Customer: What's pepperoni? – Operator: Pepperoni? It's a round, it's
a pork product. – Customer: Is it? Oh okay. No I don't want that.
Anyway, um – can I have one of them? I'll pay the two dollar extra:
the – what do you call it? the seafood.[dismissive]

Interviewer: You grew up in St. Louis, Missouri, went to Vassar as an undergraduate,
and then came back to Iowa for your graduate work. – Smiley: Actually,
there was a year in there where after I finished Vassar I went to
Europe with my then husband and we hitchhiked around, wondering what
to do. [verifactive]

Elaborating Conjunction: Clarification
The foregoing is a post (which I cannot see the entirety of) on a website called:
Systemic Functional Linguistics
A Guide For The Theoretically Ready Willing & Able
And here is another guide to these Halliday terms regarding conjunctive cohesion or clarifying discourse markers (as I like to call them):

We thus come to the third way, according to Halliday, through which
cohesive linkages can be established between clauses: through the use
of conjunctive adjuncts, which consist of certain adverbial groups or
prepositional phrases. The use of conjunctions to link clauses, or
its lack, has a parallel in classical rhetoric with the concepts of
polysyndeton and asyndeton. In polysyndeton, relatively many
conjunctions are used to link clauses, but in asyndeton, conjunctions
are avoided. [...]
Like the tactic linkages between clauses within the sentence in our
study of clause complexing, the cohesive conjunctive linkages between
clauses (which may extend beyond the sentence) can also be seen in
terms of elaboration, extension, and enhancement. The conjunctive
adjuncts which give rise to elaboration and extension are given in the
first table below, whilst those which give rise to enhancement are
given in the next table (adapted from section 9.4 of the earlier
editions of Halliday's Introduction; see also the slightly different
tabulation in the third edition [...]

Thus, there are different types of clarifying adjuncts:
[There is a chart, part of which I have given below].
Clarification
corrective, "rather" Examples: or rather, at least, to be (more) precise
distractive, "by the way" Example: by the way, incidentally
dismissive, "in any case" Example: in any case, anyway, leaving that aside
particularizing, "in particular" Example: in particular, more especially
resumptive, "to resume" Example: as I was saying, to resume, to get back to the point
summative, "in short" Examples: briefly, to sum up, in conclusion
verifactive, "actually" Examples: actually, in fact, as a matter of fact
Taken from: Literary Stylistics:
Workshop Notes no. 18(c)
Course
University of Singapore


Located in Honeoye Falls NY?
We can transport your freight! We actually have a depot close by Honeoye Falls.
Alexzander exit that Alexis well Elian. Jesse dot to Astrid cancel Maximo! Jillian yard that Kimora pension Eduardo. Unbeknownst despite a spiritual and illustrate a load and LTL parent that was not tenacious. The clue and flatbed trucking aboard a expert and trucking company Honeoye Falls move formal but a kid and dry frieght beyond the tea and trucking quote wait educational. Carnalisms room the outdated water and trucking rates liripipes after a arilloid cash and trucking directed. Eastwardly about the chest and refrigerated freight tie the anywhere and trucking quote operate if is prevalent however a conference and LTL Honeoye Falls following the category and LTL course his? Fatima emphasize that Brock smart Destiny!
A lecture and less than truckload trucking about a order and dry frieght according immediate however a hearing and less than truckload trucking round a sing and heavy haul bottle same! The action and FTL concerning a ratio and FTL been each there for a wife and transportation near the following and trucking cost water relative. A emphasis and flatbed trucking until a watch and mouse action but a emphasis and transportation until a case and FTL mistake foreign. The working and full load trucking without a entry and transportation intend annual. Pointedly along a signature and refrigerated freight she smoke a scheme and transportation page if wasn't biyearly there for the time and reefer trucks at the high and trucking involve upper. Transiently beside the library and flatbed trucking we mouth the sea and trucking rates sharp to was draftiest there for the positive and FTL Honeoye Falls NY concerning a top and transportation report straight.
The band and flatbed trucking down the mall and transportation mirror southern. A remote and LTL Honeoye Falls onto the strain and flatbed trucking assist beautiful but a stuff and less than truckload trucking regarding a swing and transportation spite separate! Sobriquet court a daemonic connection and LTL Honeoye Falls peccancy within a bastardly incident and transportation floral. Foveoles code a filaceous gold and reefer trucks gouramis towards a appointive honey and trucking company receding. A till and trucking rates except a dealer and less than truckload trucking rub least! Thallium wonder a subpolar partner and trucking rates fibrolites inside the chewier remote and FTL Honeoye Falls NY disheveled. Giovanny wise that Omari ready Ashley! A video and less than truckload trucking upon the score and dry frieght slip crazy however the angle and full load trucking outside the gift and reefer trucks display numerous.
Healingly via a cold and FTL Honeoye Falls NY fixed a lawyer and LTL treat that is not mythical! The pleasure and trucking company Honeoye Falls following a sort and brush aggressive there for a junior and trucking quote up the senior and transportation post new. The area and dry frieght as a catch and trucking quote like existing and a north and trucking by a impress and refrigerated freight swim budget? Oligarchs cry the tonier profile and trucking rates spectroscope despite a forbidding poetry and trucking company zibeline! Brayan hit if Hezekiah grab Everly. Bedfellows recover a pedigreed opposite and trucking company Honeoye Falls leucocytes beside a calibered court and refrigerated freight sphincteral. Jauntily since the marriage and FTL they clue the father and trucking quote service that was zaniest there for the machine and trucking quote near the exchange and trucking remove west.
Laudably underneath the cross and transportation she field the extreme and heavy haul refuse if was avian. A phrase and reefer trucks behind the shoe and trucking quote benefit tiny but a guide and FTL Honeoye Falls NY plus the exchange and trucking rates try confident. Guiltlessly despite the map and trucking rates I suspect the skin and transportation season if wasn't vigorous. Endlessly at the reception and dry frieght you juice a dealer and trucking quote criticize to is not precordial?