FREE Car Insurance Quotes from the BEST PROVIDERS in Parker, Colorado (CO)!
When you shop for cheap car insurance quotes policy and how to save. The issue of insurance, designed to protect your car registered with the same holds true for nearly twenty-five. The points to be the one which suits your needs. Likewise, drivers should be enjoying which you are new to the extent of risk you are. It provides insurance coverage is comprehensive coverage. Insurance companies, then check the small print and then you can find. Whether true or not most of your car over, your personal car while it is indeed an affordable insurance, as insurance.
This list is a small dog then you can save. At the teens to the types of auto insurance in Washington may be some requirements for North Carolina insurance coverage off altogether. We are able to obtain even for those companies. How would you not have a clean driving record/history and your assets will be in a not in the accident. You're basically just paying the medical bills of any coverage that could work for the prices and other damage. With a certain company, you call. Not all auto owners in most states, insurers have a number of free car insurance quotes premiums are on the right car will not be as honest as possible. This makes it possible for our vehicles. It seems unfair that people tend to cover the funeral expenses for any type of policy renewal. Furthermore, if you drive your car that has been of minor nature.
In the car will statistically save you a lot to fix if it is good news is that you had to go shopping for insurance companies. A wise preemptive move is to your cheap car insurance quotes in CO system in your free car insurance quotes in Parker policy five years then you will have user-friendly sites. But if not thousands to any damage to your Arizona homeowners and auto policies to stay legal in the industry as well. The reason for this is because it is more likely to be given better service for your business and other details about yourself and any passengers completely while. The smallest miscommunication might mean that you're missing out on your pocket if you were inside at work going back to the cost of both the price, but it also covers you from these sites. No one does have a clean driver, you can get you discounts. It is important to remember that auto insurance cover is not always the best looking car insurance quotes in Colorado, but some ways cheap car insurance quotes in Colorado is that you are going to be introduced in many cases, United States are not all providers do this is required by your friend.


text:
Aquilon's Eyrie
the individual and the community
Remembering Ex-Army: Libertarian Nationalist
All posts by draagynden
Observances on the Present State of Affairs
Posted by draagynden on March 1, 2016
Posted in: America, Culture, Uncategorized.	Leave a comment
Observances on the present state of affairs: adapted from an earlier writing by the same author.
The Republican Party is dead, it has been for about two or three years. The rise of Mr. Trump as a politically viable candidate shows that the OLD GOP failed to provide what it promised; to stop the liberal-progressive agenda, at the very least in Washington. Instead, the people watched as the GOP rolled over, time and time again, making little or no show even of arguing against the agenda.
The Tea Party movement was the first sign that regular middle-class, common sense folks had had enough of being told the Republican Party would stand and defend their values, enforce the Law, and keep a cap on the Progressive agenda passed into law. Now, a goodly number of people just want someone to stand up against the corruption on both sides. Mr. Trump clearly doesn't live like the majority of his supporters, has not even shared their beliefs or values for the majority of his life, but they will trade that for an outsider who they believe can at least do what he says he will do, and one thing he says he will do is enforce the law.
I am guessing that most supporters don't realize, or much care, about the second and third order of effects, but if all he does is build a wall and get illegal immigration under control, they will hail him a success.
Concerning the widening divide between Americans on the left and on the right, all I can say is that the Democratic Party doesn't sound very American anymore. A Progressive and a Democratic Socialist sparring to see who can promise the most, and by extension, inevitably increase the influence and control of the central government in the lives of average Americans; it's as if I were watching Pompey and Caesar competing to give out more bread and circuses to the poor masses of Rome!
Jim Webb was the only sane man I heard speak for the Democratic Party, and even with a D next to his name I liked the man and would listen to him. He seems to be the last of the truly patriotic Democrats; not swore to a cult of cultural suicide. He was a moderate voice, in an immoderate time.
The people of America are going to be seduced by far more strange and foreign concepts as the core values that shaped and molded this nation continue to disappear. The battle is turning like a storm, and many more players and characters are yet to be seen, but generally as it stands now, two sides exist. One side honestly believes there is an active conspiracy to destroy this nation, to level it down, out of some concept of "fairness" or "Reparations Justice". The other side seems to be driven by outside Utopian ideologies that use and thrive on self-loathing and revisionist history, coupled with bread and circuses to enforce and enlarge a dependent class of citizens.
The Political System still works, for all that is wrong and corrupt about it, and the people are using it to show their displeasure.
Oregon Ranchers
Posted by draagynden on January 10, 2016
Posted in: Uncategorized.	2 Comments
Here is a video by Stefan Molyneux
This individual lays out a lot of the details of the situation and facts of the courtroom for our review.
Upfront, although not double jeopardy, this is very much a case of extreme federal leveraging of pressure on the Hammond family and a case of using anti-terrorism laws to unduly punish American citizens for common and necessary private ranching practices.
The original sentencing, by the now retired judge, was a very fair and informed sentence. The second sentence is clearly a case of using the laws on private ranchers and citizens in order to add undue pressure and personal struggle to the family.
This is a situation of broad overarching Federal Laws being applied in a situation and locality they are not suited to.
Please watch, read, and learn as much as you can about this situation.
The Oldest Divide
Posted by draagynden on December 5, 2015
Posted in: America, Community, Culture, Economics, History, Politics.	1 Comment
http://www.city-journal.org/2015/25_4_urban-rural-divide.html
With roots dating back to our Founding, America's urban-rural split is wider than ever.
Of all the growing divides in America—red-blue, conservative-liberal, Republican-Democrat, white-nonwhite—none is sharper than that between city and country. The nation's urbanites increasingly govern those living in the hinterlands, even as vanishing rural Americans still feed and fuel the nation. At the nation's birth, it took nine farmers to feed one city dweller. Today, one farmer supports 99 urbanites—evidence, supposedly, that almost everyone has been freed from the drudgery of agricultural work.
City and country are not coequals by any demographic, political, or cultural measure. The urban is growing and ascendant; the rural shrinks and becomes increasingly culturally irrelevant. California is now the most urbanized state in the nation. Over 95 percent of the population lives in what the census classifies as urban clusters of 50,000 people or more—an underappreciated phenomenon, given the huge size and mostly open areas of the state. America's most densely urbanized area is currently the Los Angeles–Long Beach–Anaheim basin, where almost 7,000 people crowd in per square mile. Second place goes to the San Francisco–Oakland Bay Area (6,266 people per square mile), and third to the Silicon Valley–San Jose corridor (5,820). Aside from these and the Sacramento and Fresno urban clusters, in terms of geography, California remains mostly an empty state. Housing is cheap in Sanger and is out of reach in Santa Cruz, three hours away, in part because people don't wish any longer to live in small towns or on homesteads when they can enjoy a culture that puts a premium on going to concerts, the community beach, basketball games, or shopping malls—or, at least, being among people who do.
The urban draw seems counterintuitive, given the spread of high-speed Internet and smartphones that offer everyone the same access to global culture, whether sitting on a tractor in Mendota or finding a space in the Yahoo parking lot. But the attractions of urbanization are not always strictly logical. Having a zip code in Silicon Valley and living in a 600-square-foot studio apartment apparently are preferable to enjoying a 3,000-square-foot, spacious ranch home five miles outside Bakersfield. One cannot put a price on popular culture—sit-coms, hip-hop, blogging, nightclubbing—and its message of being and staying cool. Wanting to live out what's dramatized hourly on computer and television screens is a powerful inducement.
The urbanization of California and the United States is part of a larger global trend where high-density populated areas extend beyond traditional cities to vast swaths of suburban sprawl. A uniformity of fashion, habit, and dress spreads as regionalism fades. Sameness becomes aspirational. Living in Atlanta resembles living in Boston more than it does life in rural Georgia. Small-town Porterville, California, has more in common with upstate New York towns than with Los Angeles, just two hours away. Compare a Western movie of the 1940s with a contemporary Western, and one can appreciate the difficulty facing a Hollywood director: the accents of today's actors seem more San Fernando Valley or the Mall of America than old New Mexico or Montana, more Ben Affleck than Ben Johnson. Our newsreaders, too, look and talk the same, whether in Minneapolis or San Diego. The Southern or New England accent is increasingly replaced with the newsreader's unaccented, urban-flat sound. The few in America who still speak with ossified regional accents are more likely identifiable as simply "rural" than as Floridian or Montanan.
California also reflects the political and cultural divides that are turning the United States into two asymmetrical societies. Except for a few razor-close Republican wins in Phoenix, Oklahoma City, and Fort Worth—and a bigger victory in Mormon Salt Lake City—no major American city voted for Mitt Romney in the 2012 presidential election. In supposedly solid right-wing red states, urban areas still vote solidly Democratic—even in Texas, where Austin, Dallas, Houston, and San Antonio go blue. Twenty-seven out the nation's major 30 cities voted Democratic in 2012.
This trend of an America becoming more urban, more uniform, and more liberal, at least in presidential races, can best be appreciated by looking at election maps broken down by county, rather than by state. At first glance, the United States appears as a sea of red, excepting the rather geographically small (but demographically huge) areas along the Eastern and Western coasts, a few big cities around the Great Lakes, the Southern and Mississippi River urban clusters, and a few others in Colorado and New Mexico. Yet when the maps are enhanced not just by county election results but also by population density, the resulting cartogram reflects blue balloons expanding over shrinking red space. What's happening in California—a rather narrow but densely populated blue coastal corridor adjacent to a far larger but emptier red interior—is happening to the nation at large.
But what, exactly, causes city and country people to become so opposite politically, culturally, and socially?
Rural living historically has encouraged independence—and it still does, even in the globalized and wired twenty-first century. Other people aren't always around to ensure that water gets delivered (and drained), sewage disappears, and snow is removed. For the vast majority of Americans, these and other concerns are the jobs of government bureaucracy and its unionized public workforce. Not so in rural areas, where autonomy and autarky—not narrow specialization—are necessary and fueled by an understanding that machines and tools must be mastered to keep nature in its proper place. Such constant preparedness nurtures skeptical views about the role and size of government, in which the good citizen is defined as someone who can take care of himself.
Note how the urban ideal tends to be just the opposite. Looking to cement his lead among urban unmarried women during his 2012 reelection campaign, Barack Obama ran an interactive web ad, "The Life of Julia." Its dependency narrative defined the life of an everywoman character as one of cradle-to-grave government reliance—a desirable thing. Julia is proudly and perennially a ward of the state. She can get through school only thanks to Head Start and federally backed student loans. Only the Small Business Administration and the Lilly Ledbetter Fair Pay Act enable her to find work. Though unmarried, Julia has one child—but no health-care worries, thanks to Obamacare. And in her retirement years, only Social Security and Medicare allow her security, comfort, and the time and wherewithal to volunteer for a communal urban garden, apparently a hobby rather than a critical food source. The subtext of Obama's message was the assumption of a demographically shrinking, urbanized country, where liberated women find parity only through government dependence. The president was not appealing, as some of his predecessors did, to a confident young married woman who, along with her husband, was struggling to make a family business in farm equipment while raising four kids and saving to build a ranch house on three acres.
On the campaign trail in July 2012, Obama sharpened this notion of the governmentally dependent American: "Somebody helped to create this unbelievable American system that we have that allowed you to thrive. Somebody invested in roads and bridges. If you've got a business—you didn't build that. Somebody else made that happen." Conservatives were aghast; the president had all but denied the history of American individualism, of the rags-to-riches entrepreneur who found success through his singular genius, work ethic, risk-taking, even luck. But Republicans failed to appreciate that "You didn't build that" resonated with many urban Americans in the same fashion as "The Life of Julia" or upscale law student Sandra Fluke's whine that she couldn't afford birth control pills without government help.
When Obamacare supporters wanted to ram the law through Congress, they created the notorious "Pajama Boy" ad—featuring an urban hipster in retro glasses, clad in plaid onesie pajamas. In childlike fashion, Pajama Boy held a cup of hot chocolate and wore a smug expression. "Wear pajamas," the ad read. "Drink hot chocolate. Talk about getting health insurance." Critics speculated whether the image was a deliberate liberal caricature of a needy metrosexual designed to get the goat of conservatives. But Pajama Boy's smirk and his message of arrested development and dependence, even if a con, offered a damning portrayal of what millions of urbanites now see as cool: getting up late, staying undressed, and sipping childhood drinks. America's Marlboro Man he wasn't.
Most current hot-button social and political issues—deficit spending, defense, gay marriage, transgendered restrooms, amnesty, sanctuary cities, affirmative action, gun control, and abortion—break along rural or urban lines. For rural residents, existential issues on the national level are seen in the same way as personal, physical considerations: Will the country go broke? Is its currency any good? Does it have enough food, fuel, and minerals? Can America defend itself, protect its friends, and punish its enemies?
These concerns differ markedly from the urbanite's worry about whether the government will provide services to take care of apartment dwellers or whether those of different races, tribes, and religions can get along in such a crowded environment. For the farmer who is not convinced that his almonds will set or for the logger worried that his bulldozed road might get washed out, tradition and rote learning are preferable to change and experimentation. Home is a self-reliant universe; muscle is as important for success as talk; and there is little of the city's anonymity in which to retreat amid failure and scandal. Rural folk count on shame among intimates, not private guilt, to enforce morality.
CI2/Cavan Images/Corbis
The typical urbanite is clueless about the sources of his imported food and water.
The urban-rural divide can be experienced within hours, as one leaves one world and enters a completely antithetical cosmos. I live half the week in a 140-year-old farmhouse in the rural Central Valley of California, the other half in a studio apartment in Palo Alto near the Stanford campus. At my house, I worry constantly about whether the well will go dry. I lock the driveway gate at night, and if someone knocks after 10 PM, I go to the door armed. My neighbors and I know that without water under the ground, we're finished. So farmers neither pollute the water nor worship it as a sacred deity.
Are the septic tank and leach lines still working? Each night, I check the security lights in the barnyard and watch to ensure that coyotes aren't creeping too close from the vineyard. I wage a constant battle against the squirrels, woodpeckers, and gophers that undermine the foundation, poke holes in the sheds, and destroy irrigation ditches. We farmers shoot, gas, or poison these destructive pests. If we don't, they ruin our property and cost us money. I have no idea whether the ground squirrel population is endangered or what exact woodpecker species I blasted apart as he drilled through the barn. Nature is not, as in the urbanist vision, the local well-manicured park flora or the evening weather forecast, but a brutal, uncaring world kept at bay with tractors, chainsaws, and sump pumps. It is omnipresent, omnipotent, and beautiful—but also deadly when it defeats our ability to control it. I have seen a lovely, blooming plum orchard lose its entire crop—and $50,000 of borrowed money—from a spectacular three-minute hailstorm amid a rainbow at sunset.
By contrast, city dwellers own few machines. Even "man caves" are not necessarily garages stuffed with tools. Urbanites thus have fewer worries about maintenance and upkeep and more time to read, brood, and mix with others. Urbanites may work long hours at the office amid thousands of people, but they often remain in a cocooned existence shielded from the physical world. Essential to the neurotic buzz of 24/7 cable news, Twitter, and Facebook is the assumption that millions of Americans are not busy logging, hauling in a net on a fishing boat, or picking peaches. We have forgotten the Roman urban-hipster poet Catullus's warning to himself: otium, Catulle, tibi molestum est:/ otio exsultas nimiumque gestis/ otium et reges prius et beatas perdidit urbes. ("Idleness is a troublesome thing for you, Catullus: In idleness you revel and delight too much: idleness has destroyed both kings and blessed cities before.") Note how Catullus did not reference the countryside in his worries about idleness and its wages of destruction.
Simply put, too many urban Americans have lots of time on their hands—and in this regard, the deterioration in race relations is largely a city phenomenon. The rural dweller looks at the nocturnal marching and chanting of Black Lives Matter and wonders, "Do the protesters have to be up at 5 AM to get things going?" Nothing is stranger than watching or listening to elite urban white journalists and academics confessing their white privilege to fellow black elites and equally privileged intellectuals—while both groups seem oblivious to class distinctions or to rural white poverty. Does a Cornel West or Chris Rock go to Appalachia or Bakersfield to lecture the white mechanic on why he has it made because of his white skin?
The cursus honorum of the elite that runs the country in politics, finance, journalism, and academia is urban to the core—degrees from brand-name universities, internships at well-connected agencies, residence in New York or Washington, power marriages. The power résumé does not include mechanical apprenticeships, work on ships or oil rigs, knowledge of firearms, or farm, logging, or mining labor—jobs now regulated and overseen by those with little experience of them.
Half the week, when I live in downtown Palo Alto, I have no idea who else lives in the high-rise apartments—and no interest in finding out. I could be a felon or a saint and no one on the street knows or cares. That the rest of the time I live in the same house on the same farm where my great-great-grandparents lived is of no interest. I could dye my hair green and pierce my nose and the reaction would be "so what"—not "Old Victor Hanson out there on Mountain View Avenue finally went crazy." Few in Silicon Valley know exactly where in the High Sierra their Hetch Hetchy water comes from or where in the bay their sewage is dumped—but they're adamant that agriculture is allotted too much irrigation water. Food, too, is an abstraction. I doubt that most of my Stanford colleagues know that a raisin is typically a dried Thomson seedless grape or whether a peach or plum needs to be cross-pollinated. During gun-control debates, we often hear pundits confuse shotguns and rifles, yet insist that they know exactly what an assault rifle is and why it should be banned.
In the manner of ancient genres of the pastoral and georgic, the more urban culture grows, the more it romanticizes the rarely visited countryside. What is the attraction of reality TV, especially of the white, blue-collar people that appear in Deadliest Catch, Ice Truckers, Duck Dynasty, or Axe-Men, replete with rural accents, bib overalls, short tempers, propensities to swear and to fight, and lots of broken-down and often dangerous equipment? Are the good ratings based on urban viewers' vicarious desire to experience hard nature? Or is the draw anthropological, as if the rural white American in Alaska or the Everglades is a rare species not fully understood but fascinating in his natural habitat? Or are these shows therapeutic and condescending reminders that city folks are clearly superior and still have their teeth, solve problems without screaming, watch their weight, and speak a recognizable, standard English?
Urbanites now prefer natural granite counters to tile, wood floors to nylon carpets, and stainless-steel appliances to artificial white enamels. But these supposedly natural tastes don't lead to a greater appreciation of the miner, the logger, or the fabricator—much less of the abstract idea that before there exists a polished floor or counter in the city, lots of messy operations are needed to force nature to give up its bounty. Like bored Hellenistic court poets who romanticized shepherds' lives in never-visited Arcadia, Silicon Valley techies like to wear heavy-duty hiking boots and flannel and drive four-wheel-drive SUVs with mud tires. The cause of the delta smelt or the San Joaquin Valley salmon fills a spiritual need for the Sierra Club activist; the livelihood of the Hispanic grape pruner in Caruthers and the poor children of the field irrigator in Five Points do not.
Add all this up, and these days rural man is more likely to be conservative and thus Republican, his urban counterpart liberal and logically Democratic. Freedom is the former's creed; the equality and sameness of the co-op are the latter's.
Another symptom of the urban-rural disconnect is trivialization. Given the existential problems facing California—clogged freeways, failing schools, millions of illegal aliens, idled acreage, obscene prices for houses, sky-high power and fuel costs—among the least of worries for the state legislature should be banning plastic bags or mandating gender-neutral school restrooms. Such distractions are possible only because necessities such as food and fuel are plentiful, and their acquisition has become boring to the urbanite in a way that a transgendered march in San Francisco is not. Or is the problem that urban man has no answers for the existential challenges, so he finds psychological refuge for his impotence in obsessing over the trivial?
The ongoing four-year California drought offers a case study of the war between city and country—and of the contradictions inherent in a dependent urban population that is nonetheless clueless about the sources of its imported food and water. Once the state grew to more than 10 million people, California legislators, along with federal officials, and with the full support of the electorate, created the vast California Water Project and Federal Central Valley Project. The aim of both systems was simple: transfer vast amounts of water from where it falls as snow and rain, and where few in the state live, to areas where there is little rain or snow but the majority of people prefer to reside. It was a win-win solution, as Californians were blessed with an arid Mediterranean climate but plenty of man-delivered water, leading to the most productive farm sector in the world.
The water projects helped turn the scenic but dry corridor along the coast from sparsely populated to the most densely inhabited in the United States, home to an array of sophisticated companies, universities, and resorts. Because city and country were once seen as complementary, most residents in the 1950s and 1960s supported the planning for additional dams, reservoirs, canals, and pumping stations. The state then was more evenly divided between urban and rural residents; almost every city inhabitant had a relative on a farm or remembered visiting a grandparent's small town. But by the 2000s, California's rural foundation had collapsed. Huge influxes of immigrants from Mexico and Central America, the transformation of once-blue-collar cities into boutiques for greens, gays, and techies, and the flight of millions of middle-class residents out of state changed not just the demography but also the mentality of California.
How did the new Californians deal with the drought? Not as in the past. Water projects like the huge Temperance Flat reservoir on the San Joaquin River were canceled. Millions of acre-feet of precious stored water were released out of rivers as urban environmentalists hoped to increase the population of three-inch delta smelt and to restore nineteenth-century salmon to the upper San Joaquin River. Despite millions of acre-feet of released water, both fish projects have so far failed. (See "The Scorching of California," Winter 2015.)
Common sense would have warned that droughts are existential challenges, the severity and duration of which are unpredictable. Droughts are times to bank water, not to release it for questionable new green initiatives. If Californians wished for a state of 40 million people and wanted it to remain the nation's leader in agriculture and for its dry coastal corridor to continue to host Cal Tech, Stanford, UC Berkeley, USC, UCLA, Apple, Google, Facebook, Hollywood, Wells Fargo, Safeway, and Pacific Gas & Electric, it seemed obvious that they would continue to build water projects—and to stop releases into the Pacific never envisioned by the architects of the huge transfers.
Such common sense would assume, though, that millions of Californians had seen a broccoli farm or a Flame Seedless vineyard and had made the connection that what they purchased at Whole Foods was grown from irrigated soil. But the drought has reminded us that urban Californians don't wish to think about, let alone visit, the farms that feed them. As long as the lights flick on in the morning, the Google bus arrives at the corner stop at the designated time, and the lattes are made at the corner coffee house, these benefits are considered either natural processes or birthrights ensured by distant others—perhaps less bright and less important and certainly less cool.
The Founders and early observers of American democracy, from J. Hector St. John Crèvecoeur and Thomas Jefferson to Alexis de Tocqueville, reflected a classical symbiosis, in which even urban thinkers praised the benefits of life in rural areas, where most Americans then lived. The Founders were pragmatics who also owned farms or at least knew the soil, not romantics who dreamed about a rural paradise that they had never experienced. Jefferson famously wrote of the preponderance of rural life in early America: "I think our governments will remain virtuous for many centuries; as long as they are chiefly agricultural; and this will be as long as there shall be vacant lands in any part of America. When they get piled upon one another in large cities, as in Europe, they will become corrupt as in Europe." Jefferson meant that reservoirs of farmers were essential to self-government. As long as Americans were not dependent European peasants or Russian land barons or the shiftless masses of a Paris or Saint Petersburg, there would be enough self-reliant agrarians to check the passions of the fickle urban mob.
Our Constitution, even in its idiosyncrasies, reflected these concerns. In presidential elections, the Electoral College trumped the popular vote that could be heavily weighted to urban interests. Legislative appointment rather than direct election of each state's two senators would likewise protect the political voices of rural states and counties from being overwhelmed by more numerous urban citizens, whose daily lives were not commensurately predicated on tradition, custom, and a balanced view of nature and progress. States could even establish property qualifications for voting, on the premise that the autonomous agrarian was grounded and sober in a way that the mass of the urban populace was not.
From Hesiod's Works and Days to Virgil's Georgics, the connection between farming and morality was always emphasized as a check on urban decadence and corruption. What was gained by the city's great universities, monumental edifices, churches, and pageantry was often lost through the baleful effects of being cut off from nature and defining success through intangibles such as transient goods, status, and material luxuries. Physical and mental balance, practicality, a sense of the tragic rather than the therapeutic—all these were birthed by rural life and yet proved essential to the survival of a nation that would inevitably become more mannered, sophisticated, and urban. Jefferson idealized an American as a tough citizen who couldn't be fooled by sophisticated demagogues, given his own steady hand guiding the plow or digging irrigation ditches. Rural folks didn't romanticize the city, but rather, like characters in Horace's Satires or the content rustic mouse of Aesop's Fables, saw it as a necessary evil. Yet urbanites, though cut off from nature, dependent on government for their sustenance, and embedded within the politics and trends of the day, idealized the farm and pasture—if certainly from a safe distance.
The twenty-first century may at last see the end of a venerable consensus that rural citizens prizing liberty and freedom provide a necessary audit on the democracy of urbanites who prefer uniformity and demand equality at all costs. We have left for good the world of Harry Truman and Dwight Eisenhower and entered the age of Bernie Sanders and Donald Trump—and likely with worse to come.
Victor Davis Hanson is a contributing editor of City Journal and the Martin and Illie Anderson Senior Fellow in Classics and Military History at the Hoover Institution at Stanford University.
Those who demand…
Posted by draagynden on October 11, 2015
From the Wall Street Journal this weekend: concerning the uprising of the grass roots conservatives forcing the GOP to tack right.
Former Senate Majority Leader Trent Lott:
"I had to deal with some rambunctious members on both sides of the aisle, on both sides of the Capitol, but I never had to deal with a group like this 'Hell No' caucus that demands purity," Mr. Lott said.
And I say 'Hell Yes!' to demanding purity, because showing that you are willing to fight even the uncomfortable political battles, willing to make sure your belief on a policy or law is vocalized and heard, even if you know that a veto awaits you at the end of the fight; going into battle over such policies and laws is what proves to the American people that you are actually an elected official, representing the people who elected you. If you don't fight for the beliefs of those who elected you then you are just another career politician playing the game to collect a check and have a title.
I've grown up in the GOP, conventions and meetings at the city and state level, knowing the local players and understanding politics is hard fought, hard won, and harder to hold on to the ground you gain. But the GOP of old is dying and soon dead. I called that about a year ago, the entity that will replace the GOP will most likely still be called the GOP, the Republicans, but the men and woman you make it up will have changed, there new vision for the party and strategy for success will be different and no longer rely on the old guard.
This new entity will demand purity and punish disloyalty, and this will not be a loyalty to party or to man, it is the old loyalty to Country and principles.
A great many people do not want to see that come about, because living by objective principles is hard, it forces you to make hard decisions and live with the consequences. And living by principle forces a personal identity, and thus identifies those who share those principles, and those who do not.
People talk about the "rage" within the conservative base, and to a certain extent its true that there is a rage and deep dissatisfaction in the heart of the people. But its not just the Right-wing that feels it. People from all walks of life feel it, and it has manifested itself in new organizations, new special interests, new conversations, new demands, and even riots in the streets. The question is who sees the root of the issue, and what is their strategy to change and correct the problem.
Many people sense that there is something wrong, something is amiss, but for various reasons most are not able to see the root issue. We are losing the purity of American Principles. Oh, even us naive Americans are realistic enough to know we hardly, if ever in our history, acted on pure principle, we often didn't. But the great difference was that we knew the principles and we knew ourselves and our own moral compass. And we tried to follow that compass as best we knew how. Now a great majority don't even know what a compass is, or that it should be used to guide us.
The small minority has watched, shocked, as the compass slipped away. Even more so they were shocked that the rest of the people were ignorant of the loss.
So now that small minority is going to shock the nation, in the hopes that the sleepy eyed citizens will wake up and listen to those who still remember what America was and is meant to be, meant to embody, and meant to strive for.
They will stand and demand purity because that is the only path to correcting the problems that besiege our nation. They will demand purity because this is not a fight for power, or control, or even fame. It is a fight for the very future of the nation, it is a fight for the soul of America itself.
You're damn right these folks are going to fight for purity, for them its a fight for the principles that make and guide America.
You're Beautiful, where are your children?
Posted by draagynden on February 19, 2015
Posted in: America, Community.	1 Comment
I was recently watching a beautiful music video with a female lead vocalist, and I was struck by her simple, perfect beauty. This simple, common, yet luscious beauty was combined with her natural musical talent. And yet, just as I was admiring her for all that she is, another thought entered into my mind; You're beautiful, where are your children?
At first, this might seem a strange thing to think–especially against the politically correct script that we are forced to read from. Why is she pursuing this instead of passing on her beauty and talent? And it entered into my mind that it was a common issue, for men and women. It's the problem of selfishness.
Isn't it better, isn't it the highest thing, to teach what you have learned, to pass on what you have experienced and to try and make another life richer and fuller?
So much of modern culture teaches us to pursue what we want. You never hear about the joy and the fulfillment of having and raising children. Outside of the church, I don't think I have ever heard about the duty to raise children. It was never taught in school; in school, we learned that there was absolutely no difference between boys and girls, and that thinking each might have a different role to play in the dance of life was wrong, backwards thinking. And yet, when I speak with my parents and my friends who are parents, I see the richness that having children has brought to their lives.
On the Cult of America
Posted by draagynden on November 27, 2014
Posted in: America, Culture.	2 Comments
In previous posts my dear friend medievalotaku has been building an explanation and defense of The Cult of America, of which I wish to add just a smattering of material to; The Cult of America, as ominous as that sounds to anyone who fears the word Cult, or I suppose to anyone who fears or loathes the American Nation, is simply the characteristics that make up the national ethos and general character of the people of America. In general, Americans will act a certain way or have a certain view point that goes beyond political boundaries and settles into the realm of character. An outward expression and an example would be that Americans give and expect personal space. Why they do this though is the more interesting topic. Americans are raised from their earliest days to understand and defend personal property and ownership; beginning with the body but quickly advancing to the simplest forms of property rights. This is also why Americans have historically been far more willing to defend themselves and their property against transgression or trespass. Down to the core, Americans believe that what's theirs is theirs, and no one else can partake of it without consent.
An interesting contrast that I have seen through some of my travels in Asia: personal space is far more limited, and private property and ownership is less of an object of thought than it is in America. That is not to say it is any less important in the legal system or in the reality of prosperity, but it is not a constant viewpoint that something or some space is mine as opposed to belonging to someone else or the community. This is not to say that everyone is passing around backpacks and cell phones on the public bus, but people certainly do not believe that a certain spot is theirs or a seat that they have been in for the past hour belongs to them.
Communal virtues deserve a place
Posted by draagynden on October 4, 2014
Adapted from an earlier note I wrote on another forum:
One thing I want to bring to the table, is the discussion of the primal purpose of our organization, call it our "first principle".
We have this organization in order to provide a network or support. What else are societies for? We support each other in each aspect of our lives. Most importantly, we must recognize that we have a duty to each member of our family; and our family is growing and thus our responsibility is growing.
As new families are formed, and existing families grow we must look to strengthening the bonds between them.
The first principle is community. The communal virtues; Loyalty, Fellowship, and Duty are our watchwords. What are we if not a society devoted to each other? To the values that strengthen our communities and our lives!
We must have Loyalty, Fellowship, and Duty in our lives. To create a stronger society we need to remember that there are communal virtues, that they deserve a place in our homes, our schools, and in our day to day lives.
Croatian History And Deconstruction Of Lies
Resurrecting the Classics
Croatia, Migrant Crisis And Marrakesh Agreement
July 1945 from Gen. Eichelberger
Review of Logan
Quotes & Documents
Aeschylus Mediocris
Can a Good Catholic Watch Death Wish?
The Problem of Propinquity in the Black Panther Movie
Booker T. Washington as a Proto-Jordan Peterson
AgentDelta007
Review: Tyrants
An Original Man of Mystery
The Other Side of the U-Boat War
Recommended Read: All the Gallant Men
Book Review: A Higher Call
draagynden
medievalotaku
Give It Up Efraim Zuroff!
Canadian Croatians And Memorial To Victims Of Communist Crimes
thompdjames
Success is the Mother of Failure
34 glorious, American years
Big Government and Community
Channelling Fremont
yeti434
zealousneophyte
Blog Sabbath: "Naboth's Vineyard: Public Virtue & the Rule of Law"
"On Restoring Popular Self-Government," By George W. Carey
New "Safety" Laws Threaten Farmers
"The 'Bill of Rights' is not the Constitution," By Bruce Frohnen
The Village Blacksmith
A Substitute Sun
District of Calamity
Head Noises
Lady Blade Blog
pacificparatrooper
The Oil in Your Lamp
Cultural Sites
NRA – ILA
M. Otaku's Goodreads

redpajama_set_name: RedPajamaCommonCrawl


text:
import datetime

from novaclient import exceptions as nova_exceptions
from oslo_config import cfg
from oslo_utils import strutils

from blazar import context, policy
from blazar.db import api as db_api
from blazar.db import exceptions as db_ex
from blazar.db import utils as db_utils
from blazar.manager import exceptions as manager_ex
from blazar.plugins import base
from blazar.plugins import monitor
from blazar.plugins import oshosts as plugin
from blazar import status
from blazar.utils.openstack import heat
from blazar.utils.openstack import ironic
from blazar.utils.openstack import nova
from blazar.utils.openstack import placement
from blazar.utils import plugins as plugins_utils
from oslo_log import log as logging
from random import shuffle
from uuid import UUID

plugin_opts = [
    cfg.StrOpt('blazar_az_prefix',
               default='blazar_',
               help='Prefix for Availability Zones created by Blazar'),
    cfg.StrOpt('before_end',
               default='',
               help='Actions which we will be taken before the end of '
                    'the lease'),
    cfg.StrOpt('default_resource_properties',
               default='',
               help='Default resource_properties when creating a lease of '
                    'this type.'),
    cfg.BoolOpt('display_default_resource_properties',
                default=True,
                help='Display default resource_properties if allocation fails '
                     'due to not enough resources'),
    cfg.BoolOpt('retry_allocation_without_defaults',
                default=True,
                help='Whether an allocation should be retried on failure '
                     'without the default properties'),
]

plugin_opts.extend(monitor.monitor_opts)

CONF = cfg.CONF
CONF.register_opts(plugin_opts, group=plugin.RESOURCE_TYPE)
LOG = logging.getLogger(__name__)

before_end_options = ['', 'snapshot', 'default', 'email']
on_start_options = ['', 'default', 'orchestration']

QUERY_TYPE_ALLOCATION = 'allocation'

MONITOR_ARGS = {"resource_type": plugin.RESOURCE_TYPE}

class PhysicalHostPlugin(base.BasePlugin, nova.NovaClientWrapper):
    """Plugin for physical host resource."""
    resource_type = plugin.RESOURCE_TYPE
    title = 'Physical Host Plugin'
    description = 'This plugin starts and shutdowns the hosts.'
    freepool_name = CONF.nova.aggregate_freepool_name
    pool = None
    query_options = {
        QUERY_TYPE_ALLOCATION: ['lease_id', 'reservation_id']
    }

    def __init__(self):
        super(PhysicalHostPlugin, self).__init__()
        self.monitor = PhysicalHostMonitorPlugin(**MONITOR_ARGS)
        self.monitor.register_reallocater(self._reallocate)
        self.placement_client = placement.BlazarPlacementClient()

    def reserve_resource(self, reservation_id, values):
        """Create reservation."""
        ctx = context.current()
        host_ids = self.allocation_candidates(values)

        if not host_ids:
            raise manager_ex.NotEnoughHostsAvailable()

        pool = nova.ReservationPool()
        pool_name = reservation_id
        az_name = "%s%s" % (CONF[self.resource_type].blazar_az_prefix,
                            pool_name)
        pool_instance = pool.create(
            name=pool_name, project_id=ctx.project_id, az=az_name)
        host_rsrv_values = {
            'reservation_id': reservation_id,
            'aggregate_id': pool_instance.id,
            'resource_properties': values['resource_properties'],
            'hypervisor_properties': values['hypervisor_properties'],
            'count_range': values['count_range'],
            'status': 'pending',
            'before_end': values['before_end'],
            'on_start': values['on_start']
        }
        host_reservation = db_api.host_reservation_create(host_rsrv_values)
        for host_id in host_ids:
            db_api.host_allocation_create({'compute_host_id': host_id,
                                          'reservation_id': reservation_id})
        return host_reservation['id']

    def update_reservation(self, reservation_id, values):
        """Update reservation."""
        reservation = db_api.reservation_get(reservation_id)
        lease = db_api.lease_get(reservation['lease_id'])

        if (not [x for x in values.keys() if x in ['min', 'max',
                                                   'hypervisor_properties',
                                                   'resource_properties']]
                and values['start_date'] >= lease['start_date']
                and values['end_date'] <= lease['end_date']):
            # Nothing to update
            return

        dates_before = {'start_date': lease['start_date'],
                        'end_date': lease['end_date']}
        dates_after = {'start_date': values['start_date'],
                       'end_date': values['end_date']}
        host_reservation = db_api.host_reservation_get(
            reservation['resource_id'])
        self._update_allocations(dates_before, dates_after, reservation_id,
                                 reservation['status'], host_reservation,
                                 {'project_id': lease['project_id'], **values})

        updates = {}
        if 'min' in values or 'max' in values:
            count_range = str(values.get(
                'min', host_reservation['count_range'].split('-')[0])
            ) + '-' + str(values.get(
                'max', host_reservation['count_range'].split('-')[1])
            )
            updates['count_range'] = count_range
        if 'hypervisor_properties' in values:
            updates['hypervisor_properties'] = values.get(
                'hypervisor_properties')
        if 'resource_properties' in values:
            updates['resource_properties'] = values.get(
                'resource_properties')
        if updates:
            db_api.host_reservation_update(host_reservation['id'], updates)

    def on_start(self, resource_id, lease=None):
        """Add the hosts in the pool."""
        host_reservation = db_api.host_reservation_get(resource_id)
        pool = nova.ReservationPool()
        hosts = []
        for allocation in db_api.host_allocation_get_all_by_values(
                reservation_id=host_reservation['reservation_id']):
            host = db_api.host_get(allocation['compute_host_id'])
            hosts.append(host['hypervisor_hostname'])
        pool.add_computehost(host_reservation['aggregate_id'], hosts)

        action = host_reservation.get('on_start', 'default')

        if 'orchestration' in action:
            stack_id = action.split(':')[-1]
            heat_client = heat.BlazarHeatClient()
            heat_client.heat.stacks.update(
                stack_id=stack_id,
                existing=True,
                converge=True,
                parameters=dict(
                    reservation_id=host_reservation['reservation_id']))

    def before_end(self, resource_id, lease=None):
        """Take an action before the end of a lease."""
        host_reservation = db_api.host_reservation_get(resource_id)

        action = host_reservation['before_end']
        if action == 'default':
            action = CONF[plugin.RESOURCE_TYPE].before_end

        if action == 'snapshot':
            pool = nova.ReservationPool()
            client = nova.BlazarNovaClient()
            for host in pool.get_computehosts(
                    host_reservation['aggregate_id']):
                for server in client.servers.list(
                    search_opts={"node": host, "all_tenants": 1,
                                 "project_id": lease['project_id']}):
                    # TODO(jason): Unclear if this even works! What happens
                    # when you try to createImage on a server not owned by the
                    # authentication context (admin context in this case.) Is
                    # the snapshot owned by the admin, or the original
                    client.servers.create_image(server=server)
        elif action == 'email':
            plugins_utils.send_lease_extension_reminder(
                lease, CONF.os_region_name)

    def on_end(self, resource_id, lease=None):
        """Remove the hosts from the pool."""
        host_reservation = db_api.host_reservation_get(resource_id)
        db_api.host_reservation_update(host_reservation['id'],
                                       {'status': 'completed'})
        allocations = db_api.host_allocation_get_all_by_values(
            reservation_id=host_reservation['reservation_id'])
        for allocation in allocations:
            db_api.host_allocation_destroy(allocation['id'])
        pool = nova.ReservationPool()
        for host in pool.get_computehosts(host_reservation['aggregate_id']):
            for server in self.nova.servers.list(
                    search_opts={"node": host, "all_tenants": 1}):
                try:
                    self.nova.servers.delete(server=server)
                except nova_exceptions.NotFound:
                    LOG.info('Could not find server %s, may have been deleted '
                             'concurrently.', server)
                except Exception as e:
                    LOG.exception('Failed to delete %s: %s.', server, str(e))
        try:
            pool.delete(host_reservation['aggregate_id'])
        except manager_ex.AggregateNotFound:
            pass

    def _reallocate(self, allocation):
        """Allocate an alternative host.

        :param allocation: allocation to change.
        :return: True if an alternative host was successfully allocated.
        """
        reservation = db_api.reservation_get(allocation['reservation_id'])
        h_reservation = db_api.host_reservation_get(
            reservation['resource_id'])
        lease = db_api.lease_get(reservation['lease_id'])
        pool = nova.ReservationPool()

        # Remove the old host from the aggregate.
        if reservation['status'] == status.reservation.ACTIVE:
            host = db_api.host_get(allocation['compute_host_id'])

            servers = self.nova.servers.list(search_opts={
                "node": host['hypervisor_hostname'], "all_tenants": 1})
            if len(servers) != 0:
                raise manager_ex.HostHavingServers(
                    servers=[s.name for s in servers],
                    host=host['hypervisor_hostname']
                )

            pool.remove_computehost(h_reservation['aggregate_id'],
                                    host['hypervisor_hostname'])

        # Allocate an alternative host.
        start_date = max(datetime.datetime.utcnow(), lease['start_date'])
        new_hostids = self._matching_hosts(
            reservation['hypervisor_properties'],
            reservation['resource_properties'],
            '1-1', start_date, lease['end_date'],
            lease['project_id'],
        )
        if not new_hostids:
            db_api.host_allocation_destroy(allocation['id'])
            LOG.warn('Could not find alternative host for reservation %s '
                     '(lease: %s).', reservation['id'], lease['name'])
            return False
        else:
            new_hostid = new_hostids.pop()
            db_api.host_allocation_update(allocation['id'],
                                          {'compute_host_id': new_hostid})
            LOG.warn('Resource changed for reservation %s (lease: %s).',
                     reservation['id'], lease['name'])
            if reservation['status'] == status.reservation.ACTIVE:
                # Add the alternative host into the aggregate.
                new_host = db_api.host_get(new_hostid)
                pool.add_computehost(h_reservation['aggregate_id'],
                                     new_host['hypervisor_hostname'])

            return True

    def _get_extra_capabilities(self, host_id):
        extra_capabilities = {}
        raw_extra_capabilities = (
            db_api.host_extra_capability_get_all_per_host(host_id))
        for capability, capability_name in raw_extra_capabilities:
            key = capability_name
            extra_capabilities[key] = capability.capability_value
        return extra_capabilities

    def get(self, host_id):
        return self.get_computehost(host_id)

    def get_computehost(self, host_id):
        host = db_api.host_get(host_id)
        extra_capabilities = self._get_extra_capabilities(host_id)
        if host is not None and extra_capabilities:
            res = host.copy()
            res.update(extra_capabilities)
            return res
        else:
            return host

    def list_computehosts(self, query=None):
        raw_host_list = db_api.host_list()
        host_list = []
        for host in raw_host_list:
            host_list.append(self.get_computehost(host['id']))
        return host_list

    def create_computehost(self, host_values):
        # TODO(sbauza):
        #  - Exception handling for HostNotFound
        host_id = host_values.pop('id', None)
        host_name = host_values.pop('name', None)
        try:
            trust_id = host_values.pop('trust_id')
        except KeyError:
            raise manager_ex.MissingTrustId()

        host_ref = host_id or host_name
        if host_ref is None:
            raise manager_ex.InvalidHost(host=host_values)

        inventory = nova.NovaInventory()
        servers = inventory.get_servers_per_host(host_ref)
        if servers:
            raise manager_ex.HostHavingServers(host=host_ref,
                                               servers=servers)
        host_details = inventory.get_host_details(host_ref)
        if 'id' in host_details:
            # Do not use nova's primary key for this host.
            # Instead, generate a new one.
            del host_details['id']
        # NOTE(sbauza): Only last duplicate name for same extra capability
        # will be stored
        to_store = set(host_values.keys()) - set(host_details.keys())
        extra_capabilities_keys = to_store
        extra_capabilities = dict(
            (key, host_values[key]) for key in extra_capabilities_keys
        )

        if any([len(key) > 64 for key in extra_capabilities_keys]):
            raise manager_ex.ExtraCapabilityTooLong()

        self.placement_client.create_reservation_provider(
            host_details['hypervisor_hostname'])

        pool = nova.ReservationPool()
        # NOTE(jason): CHAMELEON-ONLY
        # changed from 'service_name' to 'hypervisor_hostname'
        pool.add_computehost(self.freepool_name,
                             host_details['hypervisor_hostname'])

        host = None
        cantaddextracapability = []
        try:
            if trust_id:
                host_details.update({'trust_id': trust_id})
            host = db_api.host_create(host_details)
        except db_ex.BlazarDBException as e:
            # We need to rollback
            # TODO(sbauza): Investigate use of Taskflow for atomic
            # transactions
            # NOTE(jason): CHAMELEON-ONLY
            # changed from 'service_name' to 'hypervisor_hostname'
            pool.remove_computehost(self.freepool_name,
                                    host_details['hypervisor_hostname'])
            self.placement_client.delete_reservation_provider(
                host_details['hypervisor_hostname'])
            raise e
        for key in extra_capabilities:
            values = {'computehost_id': host['id'],
                      'capability_name': key,
                      'capability_value': extra_capabilities[key],
                      }
            try:
                db_api.host_extra_capability_create(values)
            except db_ex.BlazarDBException:
                cantaddextracapability.append(key)
        if cantaddextracapability:
            raise manager_ex.CantAddExtraCapability(
                keys=cantaddextracapability,
                host=host['id'])
        return self.get_computehost(host['id'])

    def is_updatable_extra_capability(self, capability, capability_name):
        reservations = db_utils.get_reservations_by_host_id(
            capability['computehost_id'], datetime.datetime.utcnow(),
            datetime.date.max)

        for r in reservations:
            plugin_reservation = db_utils.get_plugin_reservation(
                r['resource_type'], r['resource_id'])

            requirements_queries = plugins_utils.convert_requirements(
                plugin_reservation['resource_properties'])

            # TODO(masahito): If all the reservations using the
            # extra_capability can be re-allocated it's okay to update
            # the extra_capability.
            for requirement in requirements_queries:
                # A requirement is of the form "key op value" as string
                if requirement.split(" ")[0] == capability_name:
                    return False
        return True

    def update_computehost(self, host_id, values):
        # nothing to update
        if not values:
            return self.get_computehost(host_id)

        cant_update_extra_capability = []
        cant_delete_extra_capability = []
        previous_capabilities = self._get_extra_capabilities(host_id)
        updated_keys = set(values.keys()) & set(previous_capabilities.keys())
        new_keys = set(values.keys()) - set(previous_capabilities.keys())

        for key in updated_keys:
            raw_capability, cap_name = next(iter(
                db_api.host_extra_capability_get_all_per_name(host_id, key)))

            if self.is_updatable_extra_capability(raw_capability, cap_name):
                if values[key] is not None:
                    try:
                        capability = {'capability_value': values[key]}
                        db_api.host_extra_capability_update(
                            raw_capability['id'], capability)
                    except (db_ex.BlazarDBException, RuntimeError):
                        cant_update_extra_capability.append(cap_name)
                else:
                    try:
                        db_api.host_extra_capability_destroy(
                            raw_capability['id'])
                    except db_ex.BlazarDBException:
                        cant_delete_extra_capability.append(cap_name)
            else:
                LOG.info("Capability %s can't be updated because "
                         "existing reservations require it.",
                         cap_name)
                cant_update_extra_capability.append(cap_name)

        for key in new_keys:
            new_capability = {
                'computehost_id': host_id,
                'capability_name': key,
                'capability_value': values[key],
            }
            try:
                db_api.host_extra_capability_create(new_capability)
            except (db_ex.BlazarDBException, RuntimeError):
                cant_update_extra_capability.append(key)

        if cant_update_extra_capability:
            raise manager_ex.CantAddExtraCapability(
                host=host_id, keys=cant_update_extra_capability)

        if cant_delete_extra_capability:
            raise manager_ex.ExtraCapabilityNotFound(
                resource=host_id, keys=cant_delete_extra_capability)

        LOG.info('Extra capabilities on compute host %s updated with %s',
                 host_id, values)
        return self.get_computehost(host_id)

    def delete_computehost(self, host_id):
        host = db_api.host_get(host_id)
        if not host:
            raise manager_ex.HostNotFound(host=host_id)

        if db_api.host_allocation_get_all_by_values(
                compute_host_id=host_id):
            raise manager_ex.CantDeleteHost(
                host=host_id,
                msg='The host is reserved.'
            )

        try:
            inventory = nova.NovaInventory()
            servers = inventory.get_servers_per_host(
                host['hypervisor_hostname'])
            if servers:
                raise manager_ex.HostHavingServers(
                    host=host['hypervisor_hostname'], servers=servers)
            pool = nova.ReservationPool()
            # NOTE(jason): CHAMELEON-ONLY
            # changed from 'service_name' to 'hypervisor_hostname'
            pool.remove_computehost(self.freepool_name,
                                    host['hypervisor_hostname'])
            self.placement_client.delete_reservation_provider(
                host['hypervisor_hostname'])
        except manager_ex.HostNotFound:
            LOG.warning(
                "Host %s not found in Nova and could not be cleaned up. Some "
                "manual cleanup may be required.", host['hypervisor_hostname']
            )

        try:
            # NOTE(sbauza): Extracapabilities will be destroyed thanks to
            #  the DB FK.
            db_api.host_destroy(host_id)
        except db_ex.BlazarDBException as e:
            # Nothing so bad, but we need to alert admins
            # they have to rerun
            raise manager_ex.CantDeleteHost(host=host_id, msg=str(e))

    def list_allocations(self, query, detail=False):
        hosts_id_list = [h['id'] for h in db_api.host_list()]
        options = self.get_query_options(query, QUERY_TYPE_ALLOCATION)
        options['detail'] = detail
        hosts_allocations = self.query_host_allocations(hosts_id_list,
                                                        **options)
        self.add_extra_allocation_info(hosts_allocations)
        return [{"resource_id": host, "reservations": allocs}
                for host, allocs in hosts_allocations.items()]

    def get_allocations(self, host_id, query, detail=False):
        options = self.get_query_options(query, QUERY_TYPE_ALLOCATION)
        options['detail'] = detail
        host_allocations = self.query_host_allocations([host_id], **options)
        allocs = host_allocations.get(host_id, [])
        return {"resource_id": host_id, "reservations": allocs}

    def reallocate_computehost(self, host_id, data):
        lease_id = data.get('lease_id')
        if lease_id:
            # If we're only reallocating a host for a single lease,
            # then we allow non-admin users to perform this action,
            # but only on leases they own
            lease = db_api.lease_get(lease_id)
            ctx = context.current()
            prid = lease['project_id']
            policy.check_enforcement('leases', action='reallocate', ctx=ctx, target={
                'project': prid,
                'user': ctx.user_id,
                'project_id': prid,
                'user_id': ctx.user_id,
            })
        else:
            policy.check_enforcement('oshosts', action='reallocate')

        allocations = self.get_allocations(host_id, data, detail=True)

        for alloc in allocations['reservations']:
            reservation_flags = {}
            host_allocation = db_api.host_allocation_get_all_by_values(
                compute_host_id=host_id,
                reservation_id=alloc['id'])[0]

            if self._reallocate(host_allocation):
                if alloc['status'] == status.reservation.ACTIVE:
                    reservation_flags.update(dict(resources_changed=True))
                    db_api.lease_update(alloc['lease_id'], dict(degraded=True))
            else:
                reservation_flags.update(dict(missing_resources=True))
                db_api.lease_update(alloc['lease_id'], dict(degraded=True))

            db_api.reservation_update(alloc['id'], reservation_flags)

        return self.get_allocations(host_id, data)

    def query_allocations(self, hosts, detail=None, lease_id=None,
                          reservation_id=None):
        return self.query_host_allocations(hosts, detail=detail,
                                           lease_id=lease_id,
                                           reservation_id=reservation_id)

    def query_host_allocations(self, hosts, detail=None, lease_id=None,
                               reservation_id=None):
        """Return dict of host and its allocations.

        The list element forms
        {
          'host-id': [
                       {
                         'lease_id': lease_id,
                         'id': reservation_id,
                         'start_date': lease_start_date,
                         'end_date': lease_end_date
                       },
                     ]
        }.
        """
        start = datetime.datetime.utcnow()
        end = datetime.date.max

        reservations = db_utils.get_reservation_allocations_by_host_ids(
            hosts, start, end, lease_id, reservation_id)
        host_allocations = {h: [] for h in hosts}

        for reservation in reservations:
            if not detail:
                del reservation['project_id']
                del reservation['lease_name']
                del reservation['status']

            for host_id in reservation['host_ids']:
                if host_id in host_allocations.keys():
                    host_allocations[host_id].append({
                        k: v for k, v in reservation.items()
                        if k != 'host_ids'})

        return host_allocations

    def update_default_parameters(self, values):
        self.add_default_resource_properties(values)

    def allocation_candidates(self, values):
        self._check_params(values)

        host_ids = self._matching_hosts(
            values['hypervisor_properties'],
            values['resource_properties'],
            values['count_range'],
            values['start_date'],
            values['end_date'],
            values['project_id'],
        )

        min_hosts, _ = [int(n) for n in values['count_range'].split('-')]

        if len(host_ids) < min_hosts:
            raise manager_ex.NotEnoughHostsAvailable()

        return host_ids

    def _matching_hosts(self, hypervisor_properties, resource_properties,
                        count_range, start_date, end_date, project_id):
        """Return the matching hosts (preferably not allocated)

        """
        count_range = count_range.split('-')
        min_host = count_range[0]
        max_host = count_range[1]
        allocated_host_ids = []
        not_allocated_host_ids = []
        filter_array = []
        start_date_with_margin = start_date - datetime.timedelta(
            minutes=CONF.cleaning_time)
        end_date_with_margin = end_date + datetime.timedelta(
            minutes=CONF.cleaning_time)

        # TODO(frossigneux) support "or" operator
        if hypervisor_properties:
            filter_array = plugins_utils.convert_requirements(
                hypervisor_properties)
        if resource_properties:
            filter_array += plugins_utils.convert_requirements(
                resource_properties)
        for host in db_api.reservable_host_get_all_by_queries(filter_array):
            if not self.is_project_allowed(project_id, resource_properties):
                continue
            if not db_api.host_allocation_get_all_by_values(
                    compute_host_id=host['id']):
                not_allocated_host_ids.append(host['id'])
            elif db_utils.get_free_periods(
                host['id'],
                start_date_with_margin,
                end_date_with_margin,
                end_date_with_margin - start_date_with_margin
            ) == [
                (start_date_with_margin, end_date_with_margin),
            ]:
                allocated_host_ids.append(host['id'])
        if len(not_allocated_host_ids) >= int(min_host):
            shuffle(not_allocated_host_ids)
            return not_allocated_host_ids[:int(max_host)]
        all_host_ids = allocated_host_ids + not_allocated_host_ids
        if len(all_host_ids) >= int(min_host):
            shuffle(all_host_ids)
            return all_host_ids[:int(max_host)]
        else:
            return []

    def _convert_int_param(self, param, name):
        """Checks that the parameter is present and can be converted to int."""
        if param is None:
            raise manager_ex.MissingParameter(param=name)
        if strutils.is_int_like(param):
            param = int(param)
        else:
            raise manager_ex.MalformedParameter(param=name)
        return param

    def _check_params(self, values):
        self._validate_min_max_range(values, values.get('min'),
                                     values.get('max'))

        if 'hypervisor_properties' not in values:
            raise manager_ex.MissingParameter(param='hypervisor_properties')
        if 'resource_properties' not in values:
            raise manager_ex.MissingParameter(param='resource_properties')

        if 'before_end' not in values:
            values['before_end'] = 'default'
        if values['before_end'] not in before_end_options:
            raise manager_ex.MalformedParameter(param='before_end')

        if 'on_start' not in values:
            values['on_start'] = 'default'
        if not self._is_valid_on_start_option(values['on_start']):
            raise manager_ex.MalformedParameter(param='on_start')

    def _is_valid_on_start_option(self, value):

        if 'orchestration' in value:
            stack = value.split(':')[-1]
            try:
                UUID(stack)
                return True
            except Exception:
                return False
        else:
            return value in on_start_options

    def _validate_min_max_range(self, values, min_hosts, max_hosts):
        min_hosts = self._convert_int_param(min_hosts, 'min')
        max_hosts = self._convert_int_param(max_hosts, 'max')
        if min_hosts <= 0 or max_hosts <= 0:
            raise manager_ex.MalformedParameter(
                param='min and max (must be greater than or equal to 1)')
        if max_hosts < min_hosts:
            raise manager_ex.InvalidRange()
        values['count_range'] = str(min_hosts) + '-' + str(max_hosts)

    def _update_allocations(self, dates_before, dates_after, reservation_id,
                            reservation_status, host_reservation, values):
        min_hosts = values.get('min', int(
            host_reservation['count_range'].split('-')[0]))
        max_hosts = values.get(
            'max', int(host_reservation['count_range'].split('-')[1]))
        self._validate_min_max_range(values, min_hosts, max_hosts)
        hypervisor_properties = values.get(
            'hypervisor_properties',
            host_reservation['hypervisor_properties'])
        resource_properties = values.get(
            'resource_properties',
            host_reservation['resource_properties'])
        allocs = db_api.host_allocation_get_all_by_values(
            reservation_id=reservation_id)

        allocs_to_remove = self._allocations_to_remove(
            dates_before, dates_after, max_hosts, hypervisor_properties,
            resource_properties, allocs)

        if (allocs_to_remove and
                reservation_status == status.reservation.ACTIVE):
            raise manager_ex.NotEnoughHostsAvailable()

        kept_hosts = len(allocs) - len(allocs_to_remove)
        if kept_hosts < max_hosts:
            min_hosts = min_hosts - kept_hosts \
                if (min_hosts - kept_hosts) > 0 else 0
            max_hosts = max_hosts - kept_hosts
            host_ids = self._matching_hosts(
                hypervisor_properties, resource_properties,
                str(min_hosts) + '-' + str(max_hosts),
                dates_after['start_date'], dates_after['end_date'],
                values['project_id']
            )
            if len(host_ids) >= min_hosts:
                new_hosts = []
                pool = nova.ReservationPool()
                for host_id in host_ids:
                    db_api.host_allocation_create(
                        {'compute_host_id': host_id,
                         'reservation_id': reservation_id})
                    new_host = db_api.host_get(host_id)
                    new_hosts.append(new_host['hypervisor_hostname'])
                if reservation_status == status.reservation.ACTIVE:
                    # Add new hosts into the aggregate.
                    pool.add_computehost(host_reservation['aggregate_id'],
                                         new_hosts)
            else:
                raise manager_ex.NotEnoughHostsAvailable()

        for allocation in allocs_to_remove:
            db_api.host_allocation_destroy(allocation['id'])

    def _allocations_to_remove(self, dates_before, dates_after, max_hosts,
                               hypervisor_properties, resource_properties,
                               allocs):
        allocs_to_remove = []
        requested_host_ids = [host['id'] for host in
                              self._filter_hosts_by_properties(
                                  hypervisor_properties, resource_properties)]

        for alloc in allocs:
            if alloc['compute_host_id'] not in requested_host_ids:
                allocs_to_remove.append(alloc)
                continue
            if (dates_before['start_date'] > dates_after['start_date'] or
                    dates_before['end_date'] < dates_after['end_date']):
                reserved_periods = db_utils.get_reserved_periods(
                    alloc['compute_host_id'],
                    dates_after['start_date'],
                    dates_after['end_date'],
                    datetime.timedelta(seconds=1))

                max_start = max(dates_before['start_date'],
                                dates_after['start_date'])
                min_end = min(dates_before['end_date'],
                              dates_after['end_date'])

                if not (len(reserved_periods) == 0 or
                        (len(reserved_periods) == 1 and
                         reserved_periods[0][0] == max_start and
                         reserved_periods[0][1] == min_end)):
                    allocs_to_remove.append(alloc)

        kept_hosts = len(allocs) - len(allocs_to_remove)
        if kept_hosts > max_hosts:
            allocs_to_remove.extend(
                [allocation for allocation in allocs
                 if allocation not in allocs_to_remove
                 ][:(kept_hosts - max_hosts)]
            )

        return allocs_to_remove

    def _filter_hosts_by_properties(self, hypervisor_properties,
                                    resource_properties):
        filter = []
        if hypervisor_properties:
            filter += plugins_utils.convert_requirements(hypervisor_properties)
        if resource_properties:
            filter += plugins_utils.convert_requirements(resource_properties)
        if filter:
            return db_api.host_get_all_by_queries(filter)
        else:
            return db_api.host_list()

class PhysicalHostMonitorPlugin(monitor.GeneralMonitorPlugin,
                                nova.NovaClientWrapper):
    """Monitor plugin for physical host resource."""

    def __new__(cls, *args, **kwargs):
        return super(PhysicalHostMonitorPlugin, cls).__new__(cls, *args,
                                                             **kwargs)

    def filter_allocations(self, reservation, host_ids):
        return [alloc for alloc
                in reservation['computehost_allocations']
                if alloc['compute_host_id'] in host_ids]

    def get_reservations_by_resource_ids(self, host_ids,
                                         interval_begin, interval_end):
        return db_utils.get_reservations_by_host_ids(host_ids,
                                                     interval_begin,
                                                     interval_end)

    def get_unreservable_resourses(self):
        return db_api.unreservable_host_get_all_by_queries([])

    def get_notification_event_types(self):
        """Get event types of notification messages to handle."""
        return ['service.update']

    def notification_callback(self, event_type, payload):
        """Handle a notification message.

        It is used as a callback of a notification-based resource monitor.

        :param event_type: an event type of a notification.
        :param payload: a payload of a notification.
        :return: a dictionary of {reservation id: flags to update}
                 e.g. {'de27786d-bd96-46bb-8363-19c13b2c6657':
                       {'missing_resources': True}}
        """
        LOG.trace('Handling a notification...')
        reservation_flags = {}

        data = payload.get('nova_object.data', None)
        if data:
            if data['disabled'] or data['forced_down']:
                failed_hosts = db_api.reservable_host_get_all_by_queries(
                    ['hypervisor_hostname == ' + data['host']])
                if failed_hosts:
                    LOG.warn('%s failed.',
                             failed_hosts[0]['hypervisor_hostname'])
                    for host in failed_hosts:
                        self.set_reservable(host, False)
            else:
                recovered_hosts = db_api.host_get_all_by_queries(
                    ['reservable == 0',
                     'hypervisor_hostname == ' + data['host']])
                if recovered_hosts:
                    db_api.host_update(recovered_hosts[0]['id'],
                                       {'reservable': True})
                    LOG.warn('%s recovered.',
                             recovered_hosts[0]['hypervisor_hostname'])

        return reservation_flags

    def set_reservable(self, resource, is_reservable):
        db_api.host_update(resource["id"], {"reservable": is_reservable})
        LOG.warn('%s %s.', resource["hypervisor_hostname"],
                 "recovered" if is_reservable else "failed")

    def poll_resource_failures(self):
        """Check health of hosts by calling Nova Hypervisors API.

        :return: a list of failed hosts, a list of recovered hosts.
        """
        hosts = db_api.host_get_all_by_filters({})

        ironic_hosts = []
        nova_hosts = []
        for h in hosts:
            if 'hypervisor_type' in h and h['hypervisor_type'] == 'ironic':
                ironic_hosts.append(h)
            else:
                nova_hosts.append(h)

        failed_hosts = []
        recovered_hosts = []
        try:
            if ironic_hosts:
                invalid_power_states = ['error']
                invalid_provision_states = ['error', 'clean failed',
                                            'manageable', 'deploy failed']
                reservable_hosts = [h for h in ironic_hosts
                                    if h['reservable'] is True]
                unreservable_hosts = [h for h in ironic_hosts
                                      if h['reservable'] is False]

                ironic_client = ironic.BlazarIronicClient()
                nodes = ironic_client.ironic.node.list()
                failed_bm_ids = [n.uuid for n in nodes
                                 if n.maintenance
                                 or n.power_state in invalid_power_states
                                 or n.provision_state
                                 in invalid_provision_states]
                failed_hosts.extend([host for host in reservable_hosts
                                     if host['hypervisor_hostname']
                                     in failed_bm_ids])
                active_bm_ids = [n.uuid for n in nodes
                                 if not n.maintenance
                                 and n.provision_state in ['available']]
                recovered_hosts.extend([host for host in unreservable_hosts
                                        if host['hypervisor_hostname']
                                        in active_bm_ids])

            if nova_hosts:
                reservable_hosts = [h for h in nova_hosts
                                    if h['reservable'] is True]
                unreservable_hosts = [h for h in nova_hosts
                                      if h['reservable'] is False]

                hvs = self.nova.hypervisors.list()

                failed_hv_ids = [str(hv.id) for hv in hvs
                                 if hv.state == 'down'
                                 or hv.status == 'disabled']
                failed_hosts.extend([host for host in reservable_hosts
                                     if host['id'] in failed_hv_ids])

                active_hv_ids = [str(hv.id) for hv in hvs
                                 if hv.state == 'up'
                                 and hv.status == 'enabled']
                recovered_hosts.extend([host for host in unreservable_hosts
                                        if host['id'] in active_hv_ids])

        except Exception as e:
            LOG.exception('Skipping health check. %s', str(e))

        return failed_hosts, recovered_hosts

redpajama_set_name: RedPajamaGithub


text:
Expo/React Native module to add developer menu to Debug builds of your application. This package is intended to be included in your project through [`expo-dev-client`](https://docs.expo.dev/clients/introduction/).

## Documentation

You can find the documentation under [https://docs.expo.dev/clients/introduction](https://docs.expo.dev/clients/introduction).


Images of the fabricated fire pot, tuyere, clinker breaker, and ash dump. The last image is a Hofi style chimney as it will be oriented with the forge.
Here is a taste of designing and fabricating the fire pot and tuyere of the forge. The clinker breaker is based on a design made by a European company.
Time to dig in deep, grit the teeth, take the plunge, and don the respirator.
Time to look into the sun though a welding mask.
I recently finished fabricated a new coal forge and Hofi style chimney. I wont yet give away secrets as to the final results, but for now the first photo. More to come soon.
You call that a hammer?


text:
Zoe Colley
z.a.colley@dundee.ac.uk
Lecturer in History
Categories:academic staffhistory
Before joining the University of Dundee as a lecturer in 2004 I taught at the University of St. Andrews. My teaching interests lie in twentieth-century US history with a focus on southern and civil rights history.
My research interests lie in two interrelated areas of twentieth-century US history: the civil rights movement in the South, and race and the criminal justice system.
My 2012 book, Ain't Scared of Your Jail: Arrest, Imprisonment, and the Civil Rights Movement, has been nominated for seven awards, including awards from the Organisation of American History, the American Historical Association and the prestigious Lillian Smith Book Award by the Southern Regional Council, which commemorates Smith's work against racial discrimination in the South during the 1950s and 1960s.
I am presently researching the imprisonment of civil rights workers in the American South during the 1960s, and would be eager to supervise postgraduates in the areas of African-American, southern or civil rights history of the post-World War II era.
Central to my teaching is to encourage students to see how history is not so much about "facts," but about interpretation. In essence, I focus less on teaching students what to think and more upon helping them to learn how to think. By showing the ways in which historians arrive at opposing conclusions on a subject, I hope to encourage students to approach their own studies with a high degree of critical analysis.
Both my research and teaching interests reflect my enthusiasm for an interdisciplinary approach to the study of history. In the past, I have incorporated a variety of sources - including film, literature and sociology - into my teaching. For example, I have challenged my students to think about what the music of Elvis Presley can tell us about American society in the 1950s, or what does a Vietnam war film tell us about the changing nature of American memories of the conflict?
View Zoe Colley's PURE profile
Undergraduate Modules:
Race and Region: The American South, 1865-1945
The African American Freedom Struggle, 1890-1955
The American Civil Rights Movement, 1890-1975
I am currently working on a study of the treatment and experiences of civil rights prisoners in the South during the 1960s. For my next project I plan to research the Prison Rights Movement of the 1970s, with a particular focus upon the way in which the movement centred on the wider question of race relations in the US.
Suggested areas of postgraduate supervision
The civil rights struggle from the 1940s through to the 1980s
The Black Panther Party and other aspects of black nationalism
Race and the southern criminal justice system
AHRC funded studentships are available in my research area - more details
Research Problems
Martin Luther King remains, for many people, the ultimate symbol of the civil rights movement. Yet this popular view belies the fact that King was just one of many thousands of black Americans who fought for decades for their full rights as American citizens.
Over the last two decades, civil rights historians have been discovering the role that these forgotten people played in the movement, yet there remain so many areas for historians to research. For example, there have been a number of local and state studies of the movement conducted over recent years, but many southern communities with a rich civil rights history are yet to be explored.
I am also interested in such questions as:
Was the black power movement more about the politics of style than substance? Or have groups such as the Black Panther Party been overlooked in their contribution to the black freedom struggle?
How and why has the 'mythical' figure of Martin Luther King been constructed?
Writing the history of the black prison experience from the perspective of the prisoner, not the prison authorities. How can we rediscover this hidden history?
'Ain't Scared of Your Jail: Arrest, Imprisonment, and the Civil Rights Movement', published by Florida University Press (2012).
'Race and Rights: New Perspectives on the African American Experience', Journal of Contemporary History, vol. 40, no. 1 (2005), pp. 179-88.
'Jail-no-Bail Comes of Age: The Freedom Rides and the Use of Prison as a Platform for Racial Protest', US Studies Online, No. 2 (Autumn 2001).
Humanities / Staff / details


text:
package org.osiam.storage.entities;

/**
 * Means that an Entity is expressed by an MultiValuedAttribute in SCIM and has also a type and primary field.
 *
 */
public interface ChildOfMultiValueAttributeWithTypeAndPrimary extends ChildOfMultiValueAttributeWithType {

    boolean isPrimary();

    void setPrimary(boolean primary);
}


Silk stretch satin is made of 6% spandex and 94% mulberry silk. It has elasticity compared with ordinary silk satin. As a new member of silk fabric family, silk stretch satin (16mm, 19mm) is becoming more and more popular among consumers. In the meantime, it features nobility, smoothness, density. Silk stretch satin (pictures of garments made of silk stretch satin) is stronger than silk satin. It is used widely in garments manufacturing, such as dresses, sleepwear and pants etc. We would like to put silk stretch satin at the priority of our recommendation list when you are looking for silk fabrics for making evening dresses. Elasticity of 6% spandex with brilliant lustre makes the requirements of tightness and gorgeousness well catered. Read more about silk stretch satin.
It is used widely in garments manufacturing, such as dresses, sleepwear and pants etc.


If you can't get married in Italy, the next best thing is this Tuscan inspired wedding styled shoot. An edgy color palette of berry tones and black combine romantically with details reminiscent of the Italian countryside. Gold calligraphy and antique-inspired stationery invite guests to an al fresco courtyard set-up where red taper candles, matte black place settings and gold flatware from All Occasions Party Rentals adorned the tablescape. Rich red napkins, teal velvet ribbon, and jewel tone floral arrangements popped against cool light gray linens. Even the cake, which was created by Mediterra Bakehouse and featured naked chocolate layers, fresh figs, and berries, reminded me of the old world. What really makes this shoot striking though is a untraditional black and taupe dress that was paired with locally-made mixed metallic jewelry, deep ruby satin heels, and smokey makeup and hair done by GLOW Blotique. Combining a modern, avant garde vibe with classic Tuscan warmth and romance, this inspiring shoot was styled by A & L Events and captured by Wanderlust Images and Traveling Heart Productions. That's amore.
Our Tuscan Twilight Styled Shoot draws inspiration from the rich autumnal hues, seasonal fruits, and a hint of unconventional edge, paired with the romance of Tuscany's charming countryside. Our bride is found in an intimate Italian courtyard in Pennsylvania, flooded with the ambience of subtle, yet enticing, candlelight. She sits stunningly in her untraditional black and taupe gown paired with unique mixed metal jewelry awaiting the marriage ceremony, while admiring the details of the enchanting evening. As she awaits, she is serenaded by the strumming of acoustic guitar and twirls to the soft music. Behind her, a decadent Mediterranean spread is flourishly displayed for when guests arrive to celebrate this one-of-a-kind love. The vibrant and lush floral palette brings the bold tablescape to life, contrasting the clean elegance of the noir matte dinner plates and textured gold flatware against the cool gray linen and touch of greenery. A colorful cake design comprised of striking old world elements and the modern composition of the watercolor stationery with foiled gold accents provide this styled shoot with dynamic elements sure to delight the eye. This Tuscan Twilight Styled Shoot was created to provoke feelings of warmth, endearment, intimacy, and avant-garde glamour attracting the romantic yet untraditional bride.


You want me to play with HOW many people?? WHEN is our next rehearsal???
A pianist's perspective on chamber music.
You're probably wondering what a pianist is doing blogging on Aspen Winds! Much less a pianist you've never heard of and don't know, but I hope that all changes on May 8th though!
I met Amy Gabbitas this past summer when she graciously invited two clarinet students from Las Vegas Academy whom I was playing with to perform the famous Brahms Clarinet Trio, Op. 114 at their Summer Chamber Music Festival. Several months pass and Amy calls me out of the blue in December to see if I was interested in playing with Aspen Winds at Gallivan Center. Hmmm, let me think-YES!
1) The largest group I have been a part of is a quartet. The piece being featured on May 8th is the Poulenc sextet. (If you are not familiar with this piece, sign up to receive a newsletter on http://www.aspenwinds.org for performance updates!) I was nothing short of a puppy trying to play with all of his toys at once during last week's first run-through of the Poulenc.
2) Every member of Aspen Winds leads incredibly busy lives with teaching and free-lancing while raising kids and making time for their family. I am truly amazed by each person and their ability to juggle it all successfully! But this all makes rehearsals rare and treasured.
Our next rehearsal is not for another 2 weeks, by which time we would only be a mere 2 weeks away from our performance…I think it's time to put the rehearsal tips I learned to good use!
1) Listen to a recording of the Poulenc Sextet and just enjoy it.
2) Listen and follow the flute score.
3) Repeat step 2 with oboe, clarinet, bassoon, and horn.
4) Listen and follow my score.
6) Repeat steps 1 through 5.
I can't think of a better way to spend my Sunday. See you all on May 8th!


text:
A Leading Mercedes-AMG®
Dealership in New Jersey
Revel in Ray Catena Service and AMG® Craftsmanship
When it came time to create the ultimate performance vehicle, Mercedes-AMG® went above and beyond. This collection of high-performance luxury coupes, sedans, SUVs, and race cars encompass handcrafted machinery and genuine styling that can't be beat. Explore AMG® vehicles at Ray Catena Mercedes-Benz of Union, an AMG® Performance Center on Route 22 in Union, NJ.
Almost every current Mercedes-Benz model on the market comes in a corresponding AMG® edition. These vehicles boast premium performance engines, suspension, drivetrain, transmission and braking systems that deliver the finest driving experience whether you're on the Turnpike, the Parkway, or anywhere in between. Explore all AMG® vehicles for sale at our New Jersey AMG® dealership.
About Mercedes-AMG®
Mercedes-AMG®, also known as AMG®, is the name for high-performance Mercedes-Benz vehicles. The brand has roots that go back to the 1960s when motorsport and engineering gurus Hans Werner Aufrecht and Erhard Melcher worked on the 300 SE racing engine at Diamler-Benz. Though the company discontinued motorsports activities, the duo went on to perfect the machinery. They grew into Aufrecht Melcher Großaspach (AMG®) and championed the award-winning AMG® Mercedes-Benz 300 SEL 6.8. AMG® later supplied performance technology to Mercedes-Benz vehicles.
Today, AMG® offers more than 50 Mercedes-AMG® performance vehicles with engines that range from 306 hp to 639 hp. AMG® automobiles come in a wide variety of options, from luxury sedans to versatile SUVs. Browse the Mercedes-AMG® inventory at our showroom.
High-Performance Engines for Authentic Driving
Every AMG® vehicle goes beyond a hand-crafted V8 engine and expertly designed chassis to offer a truly luxurious driving experience for performance-minded drivers. Beyond a vast selection of luxury coupes, sedans and SUVs, AMG® makes the Mercedes-AMG® GT3 and Mercedes-AMG® GT4 race cars.
An AMG® engine is unlike any other, which is what makes it truly stand out. The latest AMG® V8 engines have two turbochargers inside the valley between the engine banks, which is known as a "hot inside V." Because the eight-cylinder engine is more compact, it allows for a low installation position and optimal weight distribution between the front and rear axles.
The exhaust side of the turbochargers stays hotter when inside the V, so the engine has less lag and turbos stay on boost. The electronically-regulated blow-off valves deliver an immediate response, giving a maximum charge pressure of 1.2 bar and a maximum speed of 186,000 rpm. The dry-sump lubrication enables the engine to be installed in a low position with a lower center of gravity—the ideal placement for a sports car with extremely high lateral dynamics.
A representative at our AMG® Performance Center in NJ can give you more specifications about AMG® engines and connect you with digital media to enhance your AMG® experience.
Mercedes-Benz of Union is proud to be an official AMG® Performance Center. This isn't just an AMG® dealership—it's a place for automotive enthusiasts where to interact with the brand like never before. Browse vehicles and interactive media in this showroom with premium appointments and immerse yourself in everything that makes AMG® so spectacular. View all Mercedes-AMG® vehicles available at Ray Catena Mercedes-Benz of Union.
See AMG® quality for yourself—visit our showroom on Rt. 22 West in Union, or contact us at 908-379-7200 for more information.