text:
A North Korean Visitor to the White House
Gavan McCormack
By Gavan McCormack
On 13 June 2005, the doors of the White House Oval Office opened to admit a young (37 year-old) Korean man named Kang Chol-Hwan, a refugee from North Korea and perhaps the first person from North Korea for the president to meet. Kang was slightly overwhelmed by the warmth of his welcome, not only from President George W. Bush but also Vice-President Dick Cheney and National Security Adviser Stephen Hadley. Just three days earlier, in the same room, Bush had hosted a visit by South Korean president Roh Moo-Hyun. The welcome for Kang, the refugee, was by all accounts much warmer than that for the head of state, and at forty minutes lasted about as long.
Kang may have been virtually unknown outside Korea prior to his White House reception, but in South Korea he has become a representative of the community of Talpukja, or "those who have fled the North." He was invited to the White House because Bush had just read his book, co-authored with Pierre Rigoulot, The Aquariums of Pyongyang-Ten Years in the North Korean Gulag (New York, Basic Books, 2001). He so much liked it that he had not only recommended it to his close advisers but told Kang he wanted "all Americans" to read it.
Appearing on Japanese television some weeks after meeting the president, Kang recounted Bush's question: if the two were to change places, what would Kang adopt as basic US policy on North Korea? Kang replied that he thought priority should be given to human rights over nuclear matters since, he said, that was what the people of North Korea most cared about. Bush, he said, responded with enthusiastic agreement. About a month after the White House visit, Kang's call for a hard-line approach to North Korea was featured in the Wall Street Journal (14 July).
It was in itself a trivial episode, but it suggested that, when the Beijing "Six-Sided" talks on North Korea begin again, as now seems likely, in the last week of July, any simple "deal" to exchange North Korean nuclear weapons for guarantees of security and diplomatic and economic normalization will be difficult to negotiate. The president's enthusiastic welcome for Kang suggests he wants not merely to disarm North Korea but to transform it by the introduction of "democracy" and "human rights;" in short his ultimate goal, as he put it in his State of the Union address in February, is "ending tyranny in our world."
Kang was born into a well-to-do "Korean-in-Japan" family in Kyoto headed by grandmother, a committed communist, and grandfather, a successful capitalist with some gangster connections who had grown rich in postwar Japan on running something described as a "gambling saloon," presumably a pachinko parlor, opposite the main railway station. Despite having bartered some of that wealth into education and improved social status, the family was, nevertheless, insecure. Japanese citizens during the imperial period from 1910, Koreans had been deprived of that citizenship in the wake of the war, suddenly becoming foreigners, deprived of various rights, discriminated against.
During the 1960s North Korea looked a more attractive option to some, and a steady flow of such "Koreans in Japan" decided to "return" to it, despite the fact that the family origin for almost all was in South Korea. They "returned," in other words, to a country they did not know, to join in construction of the North Korean "fatherland" which they imagined as a socialist paradise, free of the misery and discrimination they experienced in Japan. The Kang family packed everything, even their late model Volvo (which at that time indicated quite extraordinary wealth), and sailed for North Korea as part of this movement.
In North Korea, Chol-Hwan's grandmother became a deputy to the Supreme People's Assembly. For a time the family retained a great deal of privilege, as well as their Volvo, and lived near the embassy quarter. Chol-Hwan was born in Pyongyang around 1968. His childhood and early boyhood seem to have been happy enough and he writes warmly of his primary school teachers at "The School of the People" in the Pyongyang of the early 1970s. In 1977, however, his capitalist grandfather disappeared, apparently arrested for treason, and shortly afterwards the whole family (with the exception of his mother) was sent to the countryside. Chol-hwan was then 9 years of age. Yodok was to be his home for 10 years.
It was, says Chol-Hwan a little guiltily, "by no means the toughest camp." Mostly, it accommodated returnees from Japan, while other camps housed "members of landowning families, capitalists, US or South Korean agents, Christians, or members of purged Party circles deemed noxious to the state," most likely between 150,000 and 200,000 people in all.
Chol-Hwan spent his boyhood at Yodok, first in a school, though one that seemed to practice routine brutality and have few pretences to education, then in various work gangs. His energies were devoted to surviving: stealing food from the camp kitchens or fields, searching out wild berries or hunting and catching snakes, fish, frogs, or rabbits, raising rats to supplement the starvation rations. It was a hard and unrelenting life, occasionally terrifying - he says he witnessed 15 public executions - although there were also times that uplifted his boyish spirit: the encounter with a bear in the mountains, his shared feast with friends on a snake. The wondrous scenery also gave him joy. In his later years in the camp, by then a teenager, he found himself at various times the camp custodian of rabbits, bees, or sheep, and hunter for wild ginseng. His uncle became manager of the camp distillery and seems to have wielded considerable power. Eventually, inexplicably, the family was released, and after some years surviving on his wits, trading on the black market and on moneys sent him from Japan, Chol-Hwan escaped, first to China and then to South Korea.
The story is scarcely a classic but, written more than a decade after his escape, it was one of the first North Korean refugee biographies to be published in the West (first in French, then in English) and it offers a plain, grim, moving story of prison camp life through the eyes of a child and boy. Kang's co-author, Frenchman Pierre Rigoulot, had been a contributing editor to the Black Book of Communism (first published in France in 1997), and it was perhaps his contribution to tailor Kang's story so that North Korea is presented as one more example of the monstrous perversion of communism. Kang and Rigoulot make no attempt to locate North Korea in the context of the trauma and tragedy of Korean history, the half century of Japanese colonialism, the externally imposed division, the terrible civil war turned by external intervention into a catastrophe, and the prolonged Cold War that continues on the peninsula to this day.
In South Korea Kang has become a journalist and a severe critic of the South Korean government policy of accommodation ("Sunshine") towards the North. Late in 2004, he was one of the organizers of an exhibition in Seoul under the title "North Korean Holocaust." By hosting him just days after his meeting with South Korean president Roh, Bush was sending an unmistakable signal to the government in South Korea. For both Kang and Bush, the Pyongyang regime is evil, there can be no compromise with it, and "sunshine" is tantamount to appeasement.
By an odd coincidence, in the same year of publication of Kang's book, 2001, another Korean gulag story was published, also in New York. By an even stranger coincidence it too tells the story of a Korean-in-Japan family, also from Kyoto. Its author, however, Suh Sung, endured not 10 but 19 years of horror, in South rather than North Korea, under even worse conditions including torture, before being released just a little after Chol-Hwan, in 1990 (Suh Sung, Unbroken Spirits: Nineteen Years in South Korea's Gulag, New York, Rowman and Littlefield, 2001). Author Suh, now a professor at Ritsumeikan University in Kyoto, was convicted on apparently trumped-up political charges in 1971, tortured, and not released from prison till 1990. His book was written a decade later, published first in Japanese and Korean, then in English.
The Kang and Suh families in postwar Kyoto were on opposite sides of a Cold War fence that divided communities in Japan as well as internationally, Kang's was affiliated with North Korea and Suh's with South Korea. When Kang arrived in Seoul, which seemed to him the epitome of freedom, Suh was still in his gulag, gaining his release only after the US-supported military regime there was brought to an end by massive popular protest.
The picture presented by Suh of his long imprisonment in South Korea is almost the reverse image of Kang's picture of North Korea. Where Kang attributed the brutality and oppression of his gulag to "communism," Suh attributes his to anti-communism. One is blind to the gulags of the South, the other is blind to those of the North; both illuminate the horrors of daily life in their respective gulags, but tell us little of the structure in which both systems evolved.
When Kang Chol-Hwan got to Seoul around 1989 he found freedom, coca-cola - his first swallow was so wonderful that it cured his cold - and a job. South Korea had just gone through a huge transformation (1987) tantamount to a democratic revolution that brought the succession of military dictatorships to an end, yet he seems to have been unaware of it. Suh Sung was still in prison, not released till the following year. Freedom was a fresh shoot in South Korea, but for Kang, enjoying his coke, simply being non- and anti-communist meant being free.
It is unlikely that Suh's story will find its way on to the presidential bookshelves, and doubtful anyway that President Bush would want to read much of it. Kang's simplistic tale of good and evil, freedom and communism, much better suits his preconceptions than any complex historical insight into the Korean division. Suh's book would be much more difficult for him to understand, not only because it tells of political prisons and immense suffering under a US-installed "Free World" regime, but also because the repression described there is now a thing of the past. With the presidential blessing, publishers will no doubt take steps to make Kang's book available to "all Americans."
Bush's understanding of Korea is probably widely shared in Washington. When both houses of Congress unanimously adopted the North Korean Human Rights Law in July 2004, they were thinking along those lines. Under the banner of "human rights" and "democracy," US propaganda against the North Korean regime is now being stepped up, radio receivers secretly infiltrated into the country, and funding substantially increased for organizations, many of them of a fundamentalist religious hue, to work with refugees, spread the gospel (creating 10,000 underground churches, as the General League of Korean Christians put it as far back as 1997), and undermine the regime.
Kang's book focuses necessary attention on the North Korean refugee problem. There are basically two approaches to it. The one favored by Kang assumes the impossibility of human rights concerns being addressed under the existing regime and therefore calls for steps designed to maximize the flow of refugees with a view to precipitating an "East German" type regime collapse. This is essentially the view held by the prominent defector, Hwang Jang-Yop, formerly right-hand man of Kim Il Sung and architect of the North Korean "Juche" ideology, who defected to South Korea in 1997 and was welcomed in Washington in 2003 (though not by the White House), and it is the basic view underpinning the Human Rights Law.
For most of those who live in the surrounding region, however, especially the governments in Seoul, Beijing, and Moscow, such a collapse offers the nightmare prospect of millions fleeing on foot or by boat from a disaster zone or becoming dependent on international relief organizations as the economy and society spirals into chaos and die-hard North Korean military groups engage in violent resistance, with or without nuclear or other weapons of mass destruction.
The alternative is to strive to "normalize" North Korea, negotiating to address its security concerns and persuade it to renounce its nuclear ambitions in exchange for diplomatic, political and economic recognition and assistance packages aimed at integrating it within a booming Northeast Asian region. The refugee problem is large, but not of massive proportions: about 6,000 Talpukja in South Korea (where they have proved extremely difficult to assimilate and most live precariously on welfare), and somewhere between 300,000 and 500,000 in China, especially Northeast China which is just a river crossing away, where they are treated as illegal immigrants, extremely insecure and liable to arrest and repatriation. Most of these have fled from severe economic conditions, especially famine, that have prevailed in certain parts of the country for a decade, and only a small proportion for political rather than economic reasons (two out of a sample of 63 in a 2004 study by Refugee International).
The North Korean economic collapse of the 1990s occurred for a complex of political, economic and ecological conditions, for only some of which the regime could be held directly responsible, and despite the severe sanctions under which the country still labors the reforms adopted in the last few years seem to have arrested the decline. Most observers believe the transition to market mechanisms is now probably irreversible, although a real revival of the country is impossible so long as sanctions, isolation, and military confrontation with the US, persist.
The preferred solution in this view is precisely the opposite of the Kang, Bush, and Congressional view. It is to depoliticize the humanitarian crisis, to persuade the Chinese government to guarantee the rights of refugees, including by the grant of provisional residence status, and North Korea to guarantee non-punishment of those who wish to return (along the lines of the "Orderly Repatriation Program" under which 72,000 refugees returned to Vietnam between 1990 and 1995), within the frame of a comprehensive settlement of the many North Korea-related problems on the table of the Beijing Conference. [This discussion benefits from reading an unpublished paper by Chung Byung-ho of Hanyang University.] South Korea would, in this view, play the key role, and the aim would be a "soft landing" for North Korea. Reconstruction of the country through the ending of sanctions against it and its admission to international financial and economic cooperation institutions would open the way, first, to solving the basic problem of physical survival, and then those of political and social rights. The Koreans themselves will have to play the central role in this process. The rhetoric of "human rights," presently strongest among neo-conservative ideologues and fundamentalist Christians in Washington and Seoul, should not be allowed to disguise the likelihood of the disastrous consequences such policies would entail for those it would pretend to aid.
It is good that President Bush has read at least one book on Korea, by a Korean, even if one cannot help wishing he had read two. The one he read can only confirm his simplistic view of the Korean problem, while the one he did not read might have helped him to realize that human rights abuses on the Korean peninsula are rooted at a deeper level than the confrontation between communism and anti-communism, and that the original sin from which half a century and more of militarization, confrontation and denial of human rights have flowed is none other than division itself. The abolition of the gulag in South Korea owed nothing to foreign intervention, and it is likely to be the same for North Korea. What has maintained the dictatorship in the North for so long has been above all the uncompromising hostility of its enemies, allowing the regime to capitalize on national pride and determination to remain independent. Rather than more intervention – to bring about "regime change" – what Korea needs is to be left alone to redress the long-continuing trauma caused by the massive interventions of the past. Since the South-North summit of June 2000, the Korean people have been making substantial progress in precisely this direction.
Gavan McCormack is professor of social science at International Christian University, Tokyo, the author of Target North Korea: Pushing North Korea to the Brink and a Japan Focus coordinator. Posted at Japan Focus on July 17, 2005.


text:
TechRepublic member dcolbert says a major Ubuntu Linux security flaw, and a lack of accountability by the Linux community, will keep him from ever considering it as a viable alternative desktop OS.
There will never be a 'Year of Linux' on the desktop OS
by dcolbertmatrixmso in Open source
on June 16, 2010, 8:17 AM PDT
Several months ago, I started a discussion on TechRepublic about whether or not Linux was suitable for the corporate desktop. At the time, I had discovered windows floating in front of the screen saver for anyone to read, even though the Linux desktop was locked and those windows should have been hidden. I wanted to know if this was a frequently-encountered issue, and if so, had it been addressed and resolved. My point was that I had never seen anything like this happen on a Windows desktop (or a Mac OS desktop, for that matter).
Since then, I applied countless patches and fixes to my Ubuntu box, which is running 9.04 because 9.10 just hung when I attempted to update it. However, my desktop windows still continued to float in front of my screensaver, for the entire world to see, even though the machine was locked. That's strike 2 for Ubuntu Linux on this matter.
As a HIPAA regulated industry, something like this is a huge deal to me, and it means I will absolutely never consider Ubuntu as a viable alternative desktop OS for the 200 desktop users at my office. I grabbed a screenshot and a video of the issue with my Droid, but I needed to obscure some information that was visible before I submitted the following picture to TechRepublic.
In my mind, the bigger problem is the lack of accountability that I've encounter with the Linux community. It seems like they often deny issues or shift responsibility. In fact, I'm quite sure hardcore Linux fans will say something in this discussion thread like, "You should be on 9.10 by now."
It's time for the Linux community to step up to the plate and admit "We've still got some serious issues!" instead of directing the blame elsewhere with accusations like, "It must be your fault!" But the truth is, I didn't do anything to make my Ubuntu box occasionally display windows that should be hidden behind a locked screensaver. That's a significant Linux security issue – one that Microsoft or Apple would respond to aggressively, and one that, from the looks of things, Ubuntu may not even have acknowledged exists.
Now, a valid response might be, "Did you do anything to address this issue or alert Ubuntu support or development?" No, I did not. Do you know why? When I encounter a problem on OS X or Win32/64, usually if I just wait a little while, Microsoft or Apple fixes the problem. That's how it should work – that's the contract I signed up for as a consumer (and as someone making decisions about what will be deployed to my desktop users).
If you have a product that you think can compete with and challenge other solutions, it better also meet the bare minimums requirements on service and support. Linux does not. Linux spends a lot of time shifting the blame and responsibility back to the user, but the products Linux competes with do not. For whatever reason, Linux does not have the same level of quality assurance and testing that Microsoft and Apple seem to invest in their platforms, and it shows in countless ways.
When a Microsoft product has a vulnerability or unresolved bug in an aging OS that's still in use, the Linux community is among the first to jump all over them. But the Linux community sure doesn't like the taste of its own medicine when told, "There are Linux distros out there with large security issues that have never – and never will be – addressed."
As I see it, this alone is an argument in defense of Microsoft's model, where the market almost mandates that the company continues providing assistance long after we all know they would rather EOL all support for those platforms.
Linux development seems to move ever forward, never looking back, and when development and support for Linux products stop, those products are often killed dead in their tracks. The community response is, "Tough, we don't do it that way anymore… get with the program, and move to the new solution." Of course, the new solution might be pretty rough and still working out the bugs, but that's just the way it goes with Linux. (Photo credit: Jinx, Inc)
Let's face it. Linux is not a good OS platform for home users – for your teenage child, parent, grandparent, in-law, or other relative – or for average corporate desktop OS users. In almost all of these cases, a commercial OS from Microsoft or Apple is inevitably going to be a better solution.
Now, I don't think it's necessarily fair to expect Linux to live up to the standards set by Microsoft and Apple. The very nature of the organizations developing these platforms makes them largely incomparable. I've always had a fundamental philosophical distrust for the claims of the Linux community, because I do not believe that the DIY ethic will lead to an ultra-competitive, superior OS platform to commercial alternatives. Their early idealism, almost political in nature, set the bar far too high and too early for Linux. Because of that, Linux has spent the last 15+ years producing headlines that have become almost satirical – next year will be "the year of Linux."
If we're looking for "The year of Linux," we need to stop trying to define it as Linux somehow eroding massive market share from the current OS leaders. We need to set more reasonable goals, such as: 1) Finding wider adoption and acceptance among IT professionals and other technology-oriented employees (check); and 2) Becoming the base-platform for an increasing amount of professional and consumer electronic devices (check).
Yes, there are things that Linux is doing well. However, being a desktop OS alternative continues to be a weak area for Linux. They continue to be third in a three-horse race (and trailing by a wide margin, at that). The Linux community is not constructed in a manner that can deliver the world-class corporate support of organizations like Microsoft and Apple, and the misty-eyed idealism that thought some sort of communal brotherhood of nerd-dom would elevate Linux above the commercial alternatives is a bankrupt theory. It hasn't happened, and it's not going to.
What it comes down to is that people working on testing and development during evenings and weekends (on their own time) aren't ever going to be as responsive as multi-billion dollar, multi-national corporations. It was a nice utopian vision, but like all the others, it didn't pan out as well in practice as it sounded in theory.
To be fair, Linux has improved tremendously. For example, I find myself fighting less often with things like WiFi, enabling 3D on video cards, or entering monitor refresh rates into a X config file by hand.
I've also heard a lot of good things about Mint, but I think it proves one of my longest-standing arguments. By the time Linux can effectively compete with Windows and Mac OS, it will have lost the very things that made it unique. Those warm-and-fuzzy ideals that make me dry heave are part of the intrinsic appeal of Linux, on a certain level.
Once you move away from the Ubuntu/Debian idealism – which makes adding proprietary drivers and codecs a nightmare to a more consumer friendly, realistic approach – you're a dangerous step closer to embracing exactly the kind of ideology that differentiated Linux from closed OS platforms. A Linux that can effectively compete with commercial OS platforms will end up virtually indistinguishable from the others, including all of the negatives that make Linux idealists love Linux so much.
Bottom line? Linux is imperfect, and we will never have a "Year of Linux" on the desktop OS. It's time to stop worrying about that and admit that Linux just isn't suitable beyond the needs of hardcore techie types. Every time Linux gets misrepresented, it results in Linux experimentation by people who shouldn't be using it, and they find it an unpleasant experience in the process.
I've gone great lengths to integrate Linux into parts of my daily routine, to give Linux a chance to prove itself, and to be open-minded. In certain situations, Linux has a lot of added value and benefits compared to the alternatives. But ultimately, Linux is in my life only as a supporting role, not a star.
I know what I can trust Linux to deliver and what I can't. If the Linux community was more forthcoming and honest about Linux strengths and weaknesses – rather than hiding those weaknesses or trying to misdirect the blame for its limitations – it would benefit, not hurt, the entire Linux community.
dcolbertmatrixmso
Published: June 16, 2010, 8:17 AM PDT Modified: June 16, 2010, 8:17 AM PDT See more Open source
Share: There will never be a 'Year of Linux' on the desktop OS
By dcolbertmatrixmso
I spent several years with MCI SGUS/VANSIS in the early 90s providing support for early ebusiness dialup applications including CampusMCI, California Smog Check II Vehicle Information Database, California Firearms Information Systems and others. \ \ In 1997 I moved to Fulltime Systems, makers of Octopus, CoStandBy Server and Fulltime Cluster (Legato Cluster) and Data Replication. \ \ In 2001 I joined Intel's Supplier Integration Systems group, part of the global eBuisness team tasked with making Intel a 100% eBiz company by 2003. \ \ I currently work for a medium sized organization hosting Electronic Medical Practice applications. \ \ I am experienced with Win32, Linux and Unix platforms - with an emphasis on systems design, implementation and support.\ \ You can follow me @dcolbert on Twitter. My personal blog, which often deals with non-technology and controversial subjects is at http://piddlyd.blogspot.com/
Contact dcolbertmatrixmso
See all of dcolbertmatrixmso's content

redpajama_set_name: RedPajamaCommonCrawl


text:
<?php
/**
 * @namespace
 */
namespace Vein\Core\Search\Elasticsearch\Filter;

use \Vein\Core\Search\Elasticsearch\Query\Builder;

/**
 *  Between filter
 *
 * @category   Vein\Core
 * @package    Db
 * @subpackage Filter
 */
class Between extends Standart
{
    /**
     * Filter field
     * @var string
     */
    protected $_field;

    /**
     * Max value
     * @var string|integer
     */
    protected $_min;

    /**
     * Max value
     * @var string|integer
     */
    protected $_max;

    /**
     * @var string
     */
    protected $_criteria;

    /**
     * @param string $field
     * @param string|integer $min
     * @param string|integer $max
     * @param string $criteria
     */
    public function __construct($field, $min, $max, $criteria = null)
    {
        $this->_field = $field;
        $this->_min = $min;
        $this->_max = $max;
        $this->_criteria = ($criteria !== null) ? $criteria : static::CRITERIA_EQ;
    }

    /**
     * Apply filter to query builder
     *
     * @param \Vein\Core\Search\Elasticsearch\Query\Builder $dataSource
     *
     * @return string
     */
    public function filter(Builder $dataSource)
    {
        $filter = new \Elastica\Query\Range($this->_field, ['gte' => $this->_min, 'lte' => $this->_max]);
        $boost = $this->getBoostParam();
        $filter->setParam('boost', $boost);

        return $filter;
    }

}

redpajama_set_name: RedPajamaGithub


I want to use the LCD TV for viewing during editing in order to get the colors as close as possible for final dvd burning. My videos are primarily used for SD and HD television.
My question is connectivity. Will the Nvidia Quadro FX3700 accomodate both the monitor and TV with the connections shown above? This card has Two Dual-Link DVI Output Ports. Would I need a certain type of cable for connecting to the TV? If so, please give me the info needed for the correct cords to use.
Re: Nvidia Quadro FX3700 Connection??
U can set the secondary monitor to play in full screen with a few application like windows media player, but waht u get is not really a video signal... it's more like when u clone the desktop and the system simply display video full screen by default.
Actually, it depends on your VIDEO EDITING CARD, not your display card. If you are in the semi-pro to pro market, Matrox has the RTx2 which has DVI and RCA outputs and canopus has the NHX1 board that has option to HDMI output.
If u are in low budget a DV to analog converter might be what u need. It goes to a 1394 port and add analog I/O, again canopus has a product such as this.


text:
Archived Footage: Jay Leno Shows Off 2008 Tesla Roadster with Young Elon Musk
With the Tesla Model Y on the market, Tesla Inc. has some new fans and enthusiasts. However, many of these newcomers may be oblivious to some of the company's earlier electric vehicles. In light of Earth Day, comedian and television personality Jay Leno decided to unearth some old footage featuring the Tesla Roadster.
Ever the vehicle enthusiast, Jay Leno hosts a show titled "Jay Leno's Garage". While the footage here comes from the year 2008, it's meant to be included as part of the show's newest episode. Leno makes some apt comparisons between early steam cars and early electric vehicles. Of course, the footage shown here also features talks with a younger version of Tesla Inc.'s CEO Elon Musk.
Jay Leno also takes a moment of the introduction to point out an interesting fact about the Tesla Model S. In 1988, the Bentley Turbo R used to be the fastest accelerating four door sedan on the market. However, the Tesla Model S quickly changed this. The fact that it's an electric vehicle, Leno notes, makes the fact that much more astounding.
Elon Musk elaborates on the novelty of the Tesla Roadster. At the time of the interview, many detractors claimed the vehicle was a glorified Lotus Elise. However, as Musk explains, there are no two panels on the vehicles that match. The Roadster also has an all carbon fiber body. Furthermore, only 8% of the parts in the vehicle are Lotus heritage. The video continues to display the power of The Roadster, while also taking a look into Tesla's promising future.


is $ 40.00 to be added to the cost of the item.
> > Please add 8.75% sales tax.
> > We ONLY ship via UPS Ground.
> > We accept payment by personal, business and cashiers checks and money orders.(three day waiting period to verify funds).
> > Payment must be in U.S. funds and drawn on a U.S. bank.
PAYPAL is accepted from Contiguous U.S. 48 states residents ONLY with Paypal verified and confirmed accounts.
Items MUST be shipped to the same confirmed UPS deliverable address in the Contiguous U.S. 48 states.


Daimler's iconic Smart Fortwo together with BASF is soon releasing its new version the Daimler Smart Forvision. This model's raison d'être is deliberately reduces the weight and helps in adding clever energy-saving technologies for nearly 20 percent to an EV's range. The other advantages are the efficient LEDs, translucent organic solar cells and the infrared-reflective films and covering. The product has all-plastic wheels. An e-textile is used to cover the seat and the arm rests.
Daimler Smart Forvision has sci-fi touches all over the design. This kind of e-textile ensures warmth sensation on all body contact points that are receptive to the cold. The hexagonal see-through area on the roof is a dazzling feature in this model. The solar cells in the system are light-activated.
Organic light-emitting diodes are used to illuminate the vehicle's interior. The new plastic used in wheels has long reinforcing fibers that improves mechanical, thermal and chemical stability. The doors are made up of composite materials. Infrared-reflective heat shields are used in the windscreen and side windows. The energy produced by photovoltaic technology can be used for other applications in Daimler Smart Forvision. Superabsorbent enclosed with the fleece fabric incorporated onto the seat significantly enhances the seating comfort in the car through its passive climate management.


Dana describes her ballet training at three very different schools prior to her arrival at SF Ballet in 2000. She discusses her role in Helgi Tomasson's Trio and describes what it is like to work with Helgi in the studio. She also talks about the challenges of learning new ballets and balancing her on-stage career with her role as a mother.


text:
Rohingya refugee's letter to UN Refugee Agency Chief Filippo Grandi
"We need to be able to plan our future. No one can prosper if there are no opportunities. Our children need to receive accredited education that will allow them to enter institutions of higher learning. Opportunities must be made available for employment"
Thank you for visiting our people in Bangladesh and Myanmar.
A 25-year is a long time to live in a refugee camp. In those years, I have witnessed and walked so much of difficulties being as a refugee, and most of them have been intransigence of those who are assigned to be our 'custodians' and 'protectors', and hopelessness of hundreds of thousands of Rohingya refugees who continue to live in limbo.
My assessment is that there has been no change in the situation of refugee camps, and there is no hope to the dejected and estranged residents in the camps. Having fled for our lives in Myanmar, then rounded up and housed under meagre shelter of plastic sheets overhead without the chance to earn wages or receive a meaningful education, we remain as prisoners in Bangladesh.
Without hope to return home or build life, dilapidated shelter and food in refugee or internally displaced camps do not constitute the meaningful life of human.
All human beings should be treated and provided opportunities equally. That includes Rohingya refugees. Unfortunately, the works of UNHCR and the government of Bangladesh have resulted in no improvement or found long-term solution for hundreds of thousands of Rohingya refugees. Instead, our imprisonment creates abundance of opportunities for professionals to oversee from comfortable office rooms, and locals to deliver supplies and guard our open-prisons.
Over the years, there have been countless of meetings, and diplomats and celebrities visits, however we have not seen these meetings and visits brought measurable achievements or positive developments to the lives of refugees, or able to persuade the governments of Bangladesh and Myanmar to find permanent solutions.
How can it be viewed as a success when the refugees continue to live in the camps since 1991-92 without a hope, and more than 75,000 recently added to the dire camps in October 2016 after Myanmar Armed Forces launched campaigns of 'ethnic cleansing'?
It is now the time to draw a clear plan for the future of Rohingya refugees. A high number of Rohingya refugees are not able to read or write or work as they are not given the opportunity to access to education. Only education up to Class 8 is now recently accessible in the registered camps. Our children need to receive accredited education that will allow them to enter institutions of higher learning and scholarships must be made available for refugee students who are able to pass HSC to study in local universities if we are to see any development or hope among Rohingya refugees. Employment opportunities must also be available if we want to see freeing refugees from poverty stridden situation of camps.
It is time for both the UNHCR and the government of Bangladesh to provide opportunities to improve the lives of refugees, and find ways to stop persecution and discrimination, and grant the basic human rights in Myanmar.
"We have been deprived from all kinds of rights in Myanmar for being Rohingya, and in Bangladesh for being refugee."
On behalf of refugees,
Imran.
Former elected Camp Leader
Kutupalong registered refugee camp.
Email: imran.rrsa@gmail.com


A new report from Oxfam, Public Good or Private Wealth, published 21 January, also calls for an end to the under-taxation of rich individuals and corporations. 'Universal health, education and other public services reduce the gap between rich and poor, and between women and men,' says the report. 'Fairer taxation of the wealthiest can help pay for them.' The report also highlights the fact that the world's 26 richest people now own as much as the poorest 50 per cent.
BBC analysis of secondary school league tables shows it will take over 70 years for poorer pupils to catch up with their peers at GCSE, while new research from the London School of Economics and Political Science (LSE) has found that inequality is more likely to be accepted in divided societies where the poorest and wealthiest tend to live separately.
Not the words you'd expect to hear from Tory MP Heidi Allen as she and former Labour MP Frank Field embark on an anti-austerity tour to highlight the poverty caused by her party's policies. Not surprisingly, deprived northern regions are worst hit by austerity, according to a new study from the Centre for Cities thinktank, with Barnsley, in South Yorkshire, the worst affected British city.
According to the TUC, austerity and wage stagnation are to blame for a 'crisis level' of unsecured loans, with average UK household debt now standing at a record £15,400.
With possibly as many as 2 million Britons undernourished and one in five children in food insecurity, MPs have been urging the government to appoint a minister for hunger in the UK.
Facing threats of revolt, work and pensions secretary Amber Rudd has scrapped the roll-out of Universal Credit to 3 million people, saying the system must 'work for every claimant'. Instead there will be a pilot scheme that transfers just 10,000 people from the old to the new system. According to an official survey, Universal Credit has the lowest claimant satisfaction rates of any welfare benefit.
Rough sleeper numbers have surged in English cities as a record number of families are living in overcrowded homes, according to official government figures. Charities say welfare cuts, soaring rents and shortages of affordable homes are behind steep rises in street sleeping in London, Birmingham and Manchester, with numbers 165 per cent higher than in 2010.
Lack of social housing is a big part of the problem. Ministers are facing calls to shelve the right-to-buy scheme after an analysis of Freedom of Information data revealed that more than 40 per cent of council houses sold under its terms in London are now privately rented. It also showed that tens of millions of pounds are being paid by local authorities to rent former council homes in order to house growing numbers of homeless families. In Finland's capital Helsinki, rough sleeping has been almost eradicated thanks to a groundbreaking scheme called Housing First. Can the UK learn from Finland's approach?
In Hastings, where the pier was sold to a local businessman last year after more than £14 million of charitable funding had been spent on its restoration, a local group, in an effort to prevent future sell-offs has begun a campaign for review of the laws around community assets being sold off without consideration for local community interests.
In Poland, there is a flourishing grassroots movement that is threatening to reshape the country's politics – and the country, by the sound of it. 'The fightback starts here,' writes Christian Davies.
This is the name of a new blog that will share the first-hand experiences of people living in poverty. Interestingly, half of the ten most recent posts are about Universal Credit.
Released on 25 January, Fighting Shame is a documentary in which Leeds women tell their own stories. It tells the story of the shame of poverty through eight individual household objects: a cooker, a kettle, a bed, school uniform, a present, a bus ticket, a coffin and a tampon. The women wanted to show that it is the little things that affect people living in poverty the most.
In an earlier blog he writes more about the role of enclosure in the growth of capitalism, and this is also the subject of a new book by Brett Christophers called The New Enclosure (look out for a review on Rethinking Poverty).
Look back on Talking Point's 2018.


text:
Phnom Penh Post - Health request raises eyebrows
Health request raises eyebrows
Yesenia Amaro | Publication date 06 April 2017 | 09:49 ICT
Health Ministry official Dr Or Vandine discusses the efforts needed to improve health care services before the election at a meeting yesterday in Kampong Cham province. Facebook
Thu, 6 April 2017
Yesenia Amaro
An official from the Ministry of Health during a meeting this week urged ministry officials nationwide to carefully plan and discuss what can be done to improve health care services before the 2018 election – a request that experts yesterday called a politicisation of measures that should, in fact, be an obligation.
Cambodia's health care system has been widely derided for years, with those who can afford it often choosing to go abroad to seek care.
Or Vandine, technical director of general health at the ministry, made the request during a meeting on Tuesday in Kampong Cham, which was later summarised by a 10-point list posted to the ministry's Facebook page.
The list pointed out existing gaps in the health sector that need to be addressed, as well as other reforms, such as the need for medical professionals to be ethical in order to gain people's trust.
Point number eight, however, raised some ethical questions itself, observers say. "Please hold a discussion, pay attention to what can be done, make a plan and monitor it in order to get an achievement in the future before the 2018 election, [for instance] a change of behaviour, preparation of hospitality service, patient arrangement (triage) and issuance of prescriptions must be made clearly," the post reads.
Vandine couldn't be reached for comment yesterday and she didn't respond to a message. Ly Sovann, spokesman for the ministry, referred questions back to Vandine. Social analyst Meas Ny said the request was not appropriate when coming from someone in the ministry, which should be neutral.
"The Ministry of Health should not be involved in politics," he said. "This is an ethical issue." Linking improvements to the elections might make people perceive the move as a selfish act rather than a "real intention", Ny said.
San Chey, director of Affiliated Network for Social Accountability, said the much-needed improvements in the beleaguered health care system should not be driven in the form of "political propaganda".
"The improvements should not be a kind of . . . election campaign," he said. "The concern is that the improvements are needed beyond the elections."
He added that reforming the health care system "should be an obligation" and not a ploy to "draw attention from the voters".
Chum Sopha, executive director of the NGO Health and Development Alliance, meanwhile, said the ministry just wanted to show people that it's committed to addressing people's needs – as well as commitment to Prime Minister Hun Sen.
"But how much will they actually achieve, is the question," he said.
ADDITIONAL REPORTING BY KHOUTH SOPHAK CHAKRYA
Contact author: Yesenia Amaro


text:
RIS Seminar on 'Climate Change and the Premises for a New Society' on Saturday, 15 Nov. 2014 at India Habitat Centre
RIS Seminar on 'Climate Change and the Premises for a New Society' on 15 Nov. 2014
RIS is organizing a seminar on 'Climate Change and the Premises for a New Society' on Saturday, 15 November 2014 at 3.00 pm in the RIS Conference Hall. Prof. Ajit Singh, Professor Emeritus of Economics at Cambridge University will be the main speaker. As you may be aware, Prof Singh has made fundamental academic contributions in the areas of modern business enterprise, de-industrialisation in advanced and emerging economies and the globalisation of financial and product markets.
Dr Nagesh Kumar, Head of Economic and Social Commission for Asia and the Pacific (ESCAP), South and South-West Asia Office, New Delhi has kindly agreed to Chair the Seminar. Ms. Lydia Powell, who heads the Centre for Resources Management at Observer Research Foundation, will be the lead discussant.
You all are requested to attend and participate in the Seminar.
(Sachin Chaturvedi)
All are welcome. No prior registration is required.
Research and Information System for Developing Countries (RIS)
Core 4-B, India Habitat Centre, Lodhi Road, New Delhi-110003, INDIA
RSVP: research.amit@gmail.com.


text:
Ethics: Home
The objective of this site is to provide fast and effective access to the different resources available for you in support of the study and research of ethics
Definition of Ethic
plural but sing or plural in constr: the discipline dealing with what is good and bad and with moral duty and obligation
a: a set of moral principles : a theory or system of moral values <the present-day materialistic ethic> <an old-fashioned work ethic> —often used in plural but singular or plural in construction <an elaborate ethics> <Christian ethics>
bplural but sing or plural in constr: the principles of conduct governing an individual or a group <professional ethics>
c: a guiding philosophy
d: a consciousness of moral importance <forge a conservation ethic>
plural: a set of moral issues or aspects (as rightness) <debated the ethics of human cloning>
Welcome to the Ethics Research Guide
By selecting from the TABS above, you will find resources and links available to help with your research and school assignments. If you need assistance, please give me a call, stop by, or send an email. See contact info.
Integrating Ethics: Thought to Action :May 26, 2018 12:00 AM -May 31, 2019 8:00 PM
Integrating Ethics: From Thought to Action
"The University of Texas at El Paso (UTEP), in partnership with the Texas Holocaust and Genocide Commission (THGC), offers online professional development modules designed to provide faculty with effective strategies to improve the integration and teaching of ethics into the core curriculum across disciplines. The modules are designed for faculty who may or may not be trained in ethics as a field of study, and they can be scaled for use in any class size. The four modules can be integrated effectively into face-to-face, tech-enhanced, hybrid, or fully online delivery formats.
You can earn a certificate of completion by logging in and setting up a profile. "
Access the modules at http://ethics.utep.edu
Angela Lucero
>>Schedule Appointment<<
Email: ajmartinez5@utep.edu
Social: Facebook Page Twitter Page YouTube Page
Subjects: Asian Studies, Bibliographic Management, Ethnic Studies, Faculty, Health Promotion, Linguistics, Philosophy, Political Science, Religious Studies, Social Sciences, Theses and Dissertations
New books on Ethics
Ethical Theory by edited by Russell Shafer-Landau
Call Number: BJ1012 .E88346
URL: https://libguides.utep.edu/ethics
Subjects: Philosophy


Not just an overpriced pizza chain.
Some words just always seem to get mixed up. I've always struggled to say "dominoes"; it always comes out as "donimoes", with the "m" and "n" getting swapped about. When this happens, it is known as metathesis (which is hardly the easiest word to say, anyway) and refers to when the sounds (phonemes) or syllables in a word are swapped about, in particular in speech.
There are various types of metathesis, depending on the proximity of the swap. When sounds are side-by-side, this is known as adjacent metathesis; when they're not, it's nonadjacent metathesis. Certain words in English are actually a result of metathesis.
Ever wonder why we say "three" but then "thirteen" and not "threeteen"? This is because of metathesis. The same is true as for why the cardinal number is "three" but the ordinal number is "third". Imagine if it was "threed"!
If you're familiar with Scrabble's 2-letter word list, you've probably seen "ax". This word is both an alternate spelling of "axe" and the pre-metathesis version of the word "ask". Originally, the word was always "ax", but due to metathesis, it became "ask".
You might have also heard "ax" in vernacular versions of English. This is because in those dialects, the sounds never really changed. Certain sounds are more likely to produce metathesis, such as nasal sounds (like in my "dominoes" example).
As you may have guessed, metathesis is not an English word, nor is it unique to English. Metathesis affects pretty much every language. If you're learning French, you might be familiar with verlan, the common slang that reverses the syllables in words. In fact, the word verlan comes from a metathesis of the French for "the inverse" (l'envers); literally the inverse of inverse!


text:
Ochroma
(Redirected from Balsa wood)
"Balsa" redirects here. For other uses, see Balsa (disambiguation).
Ochroma is a genus of flowering plants in the mallow family, Malvaceae, containing the sole species Ochroma pyramidale,[1] commonly known as the balsa tree. It is a large, fast-growing tree that can grow up to 30 m tall. Balsa wood is a very lightweight material with many uses. Balsa trees are native to southern Brazil and northern Bolivia, north to southern Mexico.
Ochroma pyramidale at the Large Tree Habitat at Tropical Gardens of Maui, Iao Valley Road, Maui, Hawaii, United States
Clade: Angiosperms
Clade: Eudicots
Clade: Rosids
Family: Malvaceae
Subfamily: Bombacoideae
Genus: Ochroma
Sw.
O. pyramidale
Ochroma pyramidale
(Cav. ex Lam.) Urb.[1]
Synonyms[2]
Bombax pyramidale Cav. ex Lam.
Ochroma bicolor Rowlee
Ochroma concolor Rowlee
Ochroma lagopus Sw.
Ochroma obtusum Rowlee
A member of the mallow family, O. pyramidale is native from southern Mexico to southern Brazil, but can now be found in many other countries (Papua New Guinea, Indonesia, Thailand, Solomon Islands). It is a pioneer plant, which establishes itself in clearings in forests, either man-made or where trees have fallen, or in abandoned agricultural fields. It grows extremely rapidly, up to 27 m in 10–15 years. The speed of growth accounts for the lightness of the wood, which has a lower density than cork. Trees generally do not live beyond 30 to 40 years.[3]
Flowers are produced from the third year onwards, typically at the end of the rainy season when few other trees are in flower. The large flowers open in the late afternoon and remain open overnight. Each may contain a pool of nectar up to 2.5 cm deep. Daytime pollinators include capuchin monkeys. However, most pollination occurs at night. The main pollinators were once thought to be bats, but recent evidence suggests that two nocturnal arboreal mammals, the kinkajou and the olingo, may be the primary pollinators.[3]
CultivationEdit
Ecuador supplies 95% or more of commercial balsa. In recent years, about 60% of the balsa has been plantation-grown in densely packed patches of around 1000 trees per hectare (compared to about two to three per hectare in nature). It is evergreen or dry-season deciduous, with large 30- to 40-cm, weakly palmately lobed leaves. Being a deciduous angiosperm, balsa is classified as a hardwood despite the wood itself being very soft. It is the softest commercial hardwood. The trees are harvested after six to 10 years of growth. The name balsa comes from the Spanish word for "raft".[4]
UsesEdit
Balsa lumber is very soft and light, with a coarse, open grain. The density of dry balsa wood ranges from 40–340 kg/m3, with a typical density around 160 kg/m3.[5] The wood of the living tree has large cells that are filled with water. This gives the wood a spongy texture. It also makes the wood of the living tree not much lighter than water and barely able to float. For commercial production, the wood is kiln-dried for about two weeks, leaving the cells hollow and empty. The large volume-to-surface ratio of the resulting thin-walled, empty cells gives the dried wood a large strength-to-weight ratio because the cells are mostly air. Unlike naturally rotted wood, which soon disintegrates in the rainforests where balsa trees grow, the cell walls of kiln-seasoned balsa wood retain their strong structure of cellulose and lignin.[6]
Because it is low in density but high in strength, balsa is a very popular material for light, stiff structures in model bridge tests, model buildings, and construction of model aircraft; all grades are usable for airworthy control line and radio-controlled aircraft varieties of the aeromodeling sports, with the lightest "contest grades" especially valuable for free-flight model aircraft. However, it also is valued as a component of full-sized light wooden aeroplanes, most notably the World War II de Havilland Mosquito.[6]
Balsa is used to make wooden crankbaits for fishing, especially Rapala lures.
Sticks of dried balsa are useful as makeshift pens for calligraphy when commercial metal nibs of the desired width are not available.
Balsa wood is often used as a core material in composites; for example, the blades of many wind turbines are partly of balsa. In table tennis bats, a balsa layer is typically sandwiched between two pieces of thin plywood made from other species of wood. Balsa wood is also used in laminates together with glass-reinforced plastic (fiberglass) for making high-quality balsa surfboards and for the decks and topsides of many types of boats, especially pleasure craft less than 30 m in length. On a boat, the balsa core is usually end-grain balsa, which is much more resistant to compression than if the soft balsa wood were laid lengthwise.
Balsa is also used in the manufacture of "breakaway" wooden props such as tables and chairs that are designed to be broken as part of theatre, movie, and television productions.
The fifth and sixth generations of the Chevrolet Corvette had floor pans composed of balsa sandwiched between sheets of carbon fiber reinforced plastic.[6]
Norwegian scientist and adventurer Thor Heyerdahl, convinced that early contact between the peoples of South America and Polynesia was possible, built the raft Kon Tiki from balsa logs, and upon it his crew and he sailed the Pacific Ocean from Peru to the Polynesian Tuamotu Archipelago in 1947. However, the Kon Tiki logs were not seasoned and owed much of their (rather slight) buoyancy to the fact that their sap was of lower density than seawater. This serendipitously may have saved the expedition, because it prevented the seawater from waterlogging the wood and sinking the raft.[7]
Balsa wood is also a popular wood type used in the arts of whittling,[6] and surfing. When picture frames still used wood, balsa was often used in a baroque style because of the ease of shaping the design.
GalleryEdit
Balsa on Bota Hill, Limbe Botanical Garden, Cameroon
Painting by Frances W. Horne from the Flora Borinqueña
Ochroma pyramidale at Tropical Gardens of Maui Iao Valley Rd, Maui
Two balsa rafts and a kayak at Lagos de Montebello in Chiapas, Mexico
Three different sizes of balsa wood stock
Balsa construction in a Paul K. Guillow, Inc. "stick and tissue" free-flight rubber scale model airplane.
Tilia, another tree producing lightweight lumber (especially Tilia americana)
^ a b "Search results for Ochroma". The Plant List. Retrieved 1 March 2016.
^ "Ochroma pyramidale". Germplasm Resources Information Network (GRIN). Agricultural Research Service (ARS), United States Department of Agriculture (USDA). Retrieved 26 October 2009.
^ a b Angier, N. & Ziegler, C. (2011). "Treetop happy hour". National Geographic. 219 (5): 130–143.
^ "balsa, n.". OED Online. March 2013. Oxford University Press. 9 May 2013 <http://www.oed.com/view/Entry/15041?redirectedFrom=Balsa&>.
^ Terry Porter: "Wood Identification and Use", page 160. Guild of Master Craftsman Publications Ltd. 2004
^ a b c d "Balsa Wood description". Archived from the original on November 22, 2010. Retrieved 2011-01-02.
^ Thor Heyerdahl (24 December 2013). Kon-Tiki: Across the Pacific by Raft. Skyhorse Publishing Company, Incorporated. ISBN 978-1-62914-634-8.
Media related to Ochroma pyramidale at Wikimedia Commons
Retrieved from "https://en.wikipedia.org/w/index.php?title=Ochroma&oldid=905008756"


text:
package images

import (
	"context"
	"fmt"
	"regexp"
	"sort"
	"strconv"
	"strings"

	g "github.com/onsi/ginkgo/v2"
	o "github.com/onsi/gomega"

	"github.com/docker/distribution/manifest/schema2"
	dockerClient "github.com/fsouza/go-dockerclient"

	kapiv1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/labels"
	kcoreclient "k8s.io/client-go/kubernetes/typed/core/v1"

	"github.com/openshift/api/image/docker10"
	imagev1 "github.com/openshift/api/image/v1"
	"github.com/openshift/library-go/pkg/image/imageutil"

	exutil "github.com/openshift/origin/test/extended/util"
)

var _ = g.Describe("[sig-imageregistry][Feature:ImagePrune][Serial][Suite:openshift/registry/serial][Local] Image hard prune [apigroup:apps.openshift.io][apigroup:user.openshift.io]", func() {
	defer g.GinkgoRecover()
	var oc = exutil.NewCLI("prune-images")
	var originalAcceptSchema2 *bool
	ctx := context.Background()

	g.JustBeforeEach(func() {
		if originalAcceptSchema2 == nil {
			accepts, err := DoesRegistryAcceptSchema2(oc)
			o.Expect(err).NotTo(o.HaveOccurred())
			originalAcceptSchema2 = &accepts
		}

		readOnly := false
		acceptSchema2 := true
		_, err := ConfigureRegistry(oc,
			RegistryConfiguration{
				ReadOnly:      &readOnly,
				AcceptSchema2: &acceptSchema2,
			})
		o.Expect(err).NotTo(o.HaveOccurred())

		defer func(ns string) { oc.SetNamespace(ns) }(oc.Namespace())
		g.By(fmt.Sprintf("give a user %s a right to prune images with %s role", oc.Username(), "system:image-pruner"))
		err = oc.AsAdmin().WithoutNamespace().Run("adm").Args("policy", "add-cluster-role-to-user", "system:image-pruner", oc.Username()).Execute()
		o.Expect(err).NotTo(o.HaveOccurred())
		err = oc.AsAdmin().SetNamespace(metav1.NamespaceDefault).Run("adm").
			Args("policy", "add-cluster-role-to-user", "system:image-pruner",
				fmt.Sprintf("system:serviceaccount:%s:registry", metav1.NamespaceDefault)).Execute()
		o.Expect(err).NotTo(o.HaveOccurred())

		// make sure to remove all unreferenced blobs from the storage
		_, err = RunHardPrune(oc, false)
		o.Expect(err).NotTo(o.HaveOccurred())
	})

	g.AfterEach(func() {
		readOnly := false
		_, err := ConfigureRegistry(oc,
			RegistryConfiguration{
				ReadOnly:      &readOnly,
				AcceptSchema2: originalAcceptSchema2,
			})
		o.Expect(err).NotTo(o.HaveOccurred())
	})

	mergeOrSetExpectedDeletions := func(expected, new *RegistryStorageFiles, merge bool) *RegistryStorageFiles {
		if !merge {
			return new
		}
		for _, repo := range new.Repos {
			expected.Repos = append(expected.Repos, repo)
		}
		for name, links := range new.ManifestLinks {
			expected.ManifestLinks.Add(name, links...)
		}
		for name, links := range new.LayerLinks {
			expected.LayerLinks.Add(name, links...)
		}
		for _, blob := range new.Blobs {
			expected.Blobs = append(expected.Blobs, blob)
		}
		return expected
	}

	testHardPrune := func(dryRun bool) {

		outSink := g.GinkgoWriter
		registryURL, err := GetDockerRegistryURL(oc)
		o.Expect(err).NotTo(o.HaveOccurred())

		cleanUp := NewCleanUpContainer(oc)
		defer cleanUp.Run()

		dClient, err := dockerClient.NewClientFromEnv()
		o.Expect(err).NotTo(o.HaveOccurred())

		baseImg1, imageId, err := BuildAndPushImageOfSizeWithDocker(oc, dClient, "a", "latest", testImageSize, 2, outSink, true, false)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(baseImg1, imageId, "")
		baseImg1Spec := fmt.Sprintf("%s/%s/a:latest", registryURL, oc.Namespace())

		baseImg2, imageId, err := BuildAndPushImageOfSizeWithDocker(oc, dClient, "b", "latest", testImageSize, 2, outSink, true, false)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(baseImg2, imageId, "")
		baseImg2Spec := fmt.Sprintf("%s/%s/b:latest", registryURL, oc.Namespace())

		baseImg3, imageId, err := BuildAndPushImageOfSizeWithDocker(oc, dClient, "c", "latest", testImageSize, 2, outSink, true, false)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(baseImg3, imageId, "")
		baseImg3Spec := fmt.Sprintf("%s/%s/c:latest", registryURL, oc.Namespace())

		baseImg4, imageId, err := BuildAndPushImageOfSizeWithDocker(oc, dClient, "a", "img4", testImageSize, 2, outSink, true, false)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(baseImg4, imageId, "")

		childImg1, imageId, err := BuildAndPushChildImage(oc, dClient, baseImg1Spec, "c", "latest", 1, outSink, true)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(childImg1, "", "")
		childImg2, imageId, err := BuildAndPushChildImage(oc, dClient, baseImg2Spec, "b", "latest", 1, outSink, true)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(childImg2, "", "")
		childImg3, imageId, err := BuildAndPushChildImage(oc, dClient, baseImg3Spec, "c", "latest", 1, outSink, true)
		o.Expect(err).NotTo(o.HaveOccurred())
		cleanUp.AddImage(childImg3, "", "")

		err = oc.Run("tag").Args("--source=istag", "a:latest", "a-tagged:latest").Execute()
		o.Expect(err).NotTo(o.HaveOccurred())

		imgs := map[string]*imagev1.Image{}
		for _, imgName := range []string{baseImg1, baseImg2, baseImg3, baseImg4, childImg1, childImg2, childImg3} {
			img, err := oc.AsAdmin().ImageClient().ImageV1().Images().Get(ctx, imgName, metav1.GetOptions{})
			o.Expect(err).NotTo(o.HaveOccurred())
			err = imageutil.ImageWithMetadata(img)
			o.Expect(err).NotTo(o.HaveOccurred())
			imgs[imgName] = img
			o.Expect(img.DockerImageManifestMediaType).To(o.Equal(schema2.MediaTypeManifest))
		}

		// this shouldn't delete anything
		deleted, err := RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		o.Expect(deleted.Len()).To(o.Equal(0))

		/* imageName  | parent   | layers | imagestreams
		 * ---------- | -------- | ------ | ------------
		 *  baseImg1  |          | 1 2    | a a-tagged
		 *  baseImg2  |          | 4 5    | b
		 *  baseImg3  |          | 7 8    | c
		 *  baseImg4  |          | 11 12  | a
		 *  childImg1 | baseImg1 | 1 2 3  | c
		 *  childImg2 | baseImg2 | 4 5 6  | b
		 *  childImg3 | baseImg3 | 7 8 9  | c
		 */

		err = oc.AsAdmin().ImageClient().ImageV1().ImageStreamTags(oc.Namespace()).Delete(ctx, "a:latest", metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		expectedDeletions := &RegistryStorageFiles{
			ManifestLinks: RepoLinks{oc.Namespace() + "/a": []string{baseImg1}},
		}
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		err = oc.AsAdmin().ImageClient().ImageV1().Images().Delete(ctx, childImg1, metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		// The repository a-tagged will not be removed even though it has no tags anymore.
		// For the repository to be removed, the image stream itself needs to be deleted.
		err = oc.AsAdmin().ImageClient().ImageV1().ImageStreamTags(oc.Namespace()).Delete(ctx, "a-tagged:latest", metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		imageutil.ImageWithMetadataOrDie(imgs[childImg1])
		expectedDeletions = mergeOrSetExpectedDeletions(expectedDeletions,
			&RegistryStorageFiles{
				ManifestLinks: RepoLinks{oc.Namespace() + "/c": []string{childImg1}},
				Blobs: []string{
					childImg1, // manifest blob
					imgs[childImg1].DockerImageMetadata.Object.(*docker10.DockerImage).ID, // manifest config
					imgs[childImg1].DockerImageLayers[0].Name,
				},
			},
			dryRun)
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		err = oc.AsAdmin().ImageClient().ImageV1().Images().Delete(ctx, baseImg1, metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		imageutil.ImageWithMetadataOrDie(imgs[baseImg1])
		expectedDeletions = mergeOrSetExpectedDeletions(expectedDeletions,
			&RegistryStorageFiles{
				Blobs: []string{
					baseImg1, // manifest blob
					imgs[baseImg1].DockerImageMetadata.Object.(*docker10.DockerImage).ID, // manifest config
					imgs[baseImg1].DockerImageLayers[0].Name,
					imgs[baseImg1].DockerImageLayers[1].Name,
				},
			},
			dryRun)
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		err = oc.AsAdmin().ImageClient().ImageV1().Images().Delete(ctx, childImg2, metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		imageutil.ImageWithMetadataOrDie(imgs[childImg2])
		expectedDeletions = mergeOrSetExpectedDeletions(expectedDeletions,
			&RegistryStorageFiles{
				ManifestLinks: RepoLinks{oc.Namespace() + "/b": []string{childImg2}},
				Blobs: []string{
					childImg2, // manifest blob
					imgs[childImg2].DockerImageMetadata.Object.(*docker10.DockerImage).ID, // manifest config
					imgs[childImg2].DockerImageLayers[0].Name,
				},
			},
			dryRun)
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		// untag both baseImg2 and childImg2
		err = oc.AsAdmin().ImageClient().ImageV1().ImageStreams(oc.Namespace()).Delete(ctx, "b", metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		delete(expectedDeletions.ManifestLinks, oc.Namespace()+"/b")
		err = oc.AsAdmin().ImageClient().ImageV1().Images().Delete(ctx, baseImg2, metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		imageutil.ImageWithMetadataOrDie(imgs[baseImg2])
		expectedDeletions = mergeOrSetExpectedDeletions(expectedDeletions,
			&RegistryStorageFiles{
				Repos: []string{oc.Namespace() + "/b"},
				Blobs: []string{
					baseImg2, // manifest blob
					imgs[baseImg2].DockerImageMetadata.Object.(*docker10.DockerImage).ID, // manifest config
					imgs[baseImg2].DockerImageLayers[0].Name,
					imgs[baseImg2].DockerImageLayers[1].Name,
				},
			},
			dryRun)
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		/* updated is/image table
		 * imageName  | parent   | layers | imagestreams
		 * ---------- | -------- | ------ | ------------
		 *  baseImg3  |          | 7 8    | c
		 *  baseImg4  |          | 11 12  | a
		 *  childImg3 | baseImg3 | 7 8 9  | c
		 */

		// delete baseImg3 using soft prune
		output, err := oc.WithoutNamespace().Run("adm").Args(
			"prune", "images", "--keep-tag-revisions=1", "--keep-younger-than=0").Output()
		o.Expect(err).NotTo(o.HaveOccurred())
		o.Expect(output).To(o.ContainSubstring(baseImg3))
		imageutil.ImageWithMetadataOrDie(imgs[baseImg3])
		o.Expect(output).To(o.ContainSubstring(imgs[baseImg3].DockerImageMetadata.Object.(*docker10.DockerImage).ID))
		for _, layer := range imgs[baseImg3].DockerImageLayers {
			o.Expect(output).To(o.ContainSubstring(layer.Name))
		}
		o.Expect(output).NotTo(o.ContainSubstring(baseImg4))
		o.Expect(output).NotTo(o.ContainSubstring(childImg3))

		// there should be nothing left for hard pruner to delete
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		if !dryRun {
			expectedDeletions = &RegistryStorageFiles{}
		}
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		err = oc.AsAdmin().ImageClient().ImageV1().Images().Delete(ctx, childImg3, metav1.DeleteOptions{})
		o.Expect(err).NotTo(o.HaveOccurred())
		deleted, err = RunHardPrune(oc, dryRun)
		o.Expect(err).NotTo(o.HaveOccurred())
		imageutil.ImageWithMetadataOrDie(imgs[childImg3])
		expectedDeletions = mergeOrSetExpectedDeletions(expectedDeletions,
			&RegistryStorageFiles{
				ManifestLinks: RepoLinks{oc.Namespace() + "/c": []string{childImg3}},
				Blobs: []string{
					childImg3,
					imgs[childImg3].DockerImageMetadata.Object.(*docker10.DockerImage).ID, // manifest config
					imgs[childImg3].DockerImageLayers[0].Name,
				},
			},
			dryRun)
		err = AssertDeletedStorageFiles(deleted, expectedDeletions)
		o.Expect(err).NotTo(o.HaveOccurred())

		/* updated is/image table
		 * imageName  | parent   | layers | imagestreams
		 * ---------- | -------- | ------ | ------------
		 *  baseImg3  |          | 7 8    | c
		 *  baseImg4  |          | 11 12  | a
		 */

		assertImageBlobsPresent := func(present bool, img *imagev1.Image) {
			imageutil.ImageWithMetadataOrDie(img)
			for _, layer := range img.DockerImageLayers {
				o.Expect(pathExistsInRegistry(oc, strings.Split(blobToPath("", layer.Name), "/")...)).
					To(o.Equal(present))
			}
			o.Expect(pathExistsInRegistry(oc, strings.Split(blobToPath("", img.DockerImageMetadata.Object.(*docker10.DockerImage).ID), "/")...)).
				To(o.Equal(present))
			o.Expect(pathExistsInRegistry(oc, strings.Split(blobToPath("", img.Name), "/")...)).
				To(o.Equal(present))
		}

		for _, img := range []string{baseImg1, childImg1, baseImg2, childImg2} {
			assertImageBlobsPresent(dryRun, imgs[img])
		}
		for _, img := range []string{baseImg3, baseImg4} {
			assertImageBlobsPresent(true, imgs[img])
		}
	}

	g.It("should show orphaned blob deletions in dry-run mode [apigroup:image.openshift.io]", func() {
		testHardPrune(true)
	})

	g.It("should delete orphaned blobs [apigroup:image.openshift.io]", func() {
		testHardPrune(false)
	})
})

const (
	AcceptSchema2EnvVar  = "REGISTRY_MIDDLEWARE_REPOSITORY_OPENSHIFT_ACCEPTSCHEMA2"
	readOnlyEnvVar       = "REGISTRY_STORAGE_MAINTENANCE_READONLY"
	defaultAcceptSchema2 = true
)

// GetDockerRegistryURL returns a cluster URL of internal container image registry if available.
func GetDockerRegistryURL(oc *exutil.CLI) (string, error) {
	return oc.Run("registry").Args("info").Output()
}

// RegistriConfiguration holds desired configuration options for the integrated registry. *nil* stands for
// "no change".
type RegistryConfiguration struct {
	ReadOnly      *bool
	AcceptSchema2 *bool
}

type byAgeDesc []kapiv1.Pod

func (ba byAgeDesc) Len() int      { return len(ba) }
func (ba byAgeDesc) Swap(i, j int) { ba[i], ba[j] = ba[j], ba[i] }
func (ba byAgeDesc) Less(i, j int) bool {
	return ba[j].CreationTimestamp.Before(&ba[i].CreationTimestamp)
}

// GetRegistryPod returns the youngest registry pod deployed.
func GetRegistryPod(podsGetter kcoreclient.PodsGetter) (*kapiv1.Pod, error) {
	podList, err := podsGetter.Pods(metav1.NamespaceDefault).List(context.Background(), metav1.ListOptions{
		LabelSelector: labels.SelectorFromSet(labels.Set{"deploymentconfig": "docker-registry"}).String(),
	})
	if err != nil {
		return nil, err
	}
	if len(podList.Items) == 0 {
		return nil, fmt.Errorf("failed to find any docker-registry pod")
	}

	sort.Sort(byAgeDesc(podList.Items))

	return &podList.Items[0], nil
}

// LogRegistryPod attempts to write registry log to a file in artifacts directory.
func LogRegistryPod(oc *exutil.CLI) error {
	pod, err := GetRegistryPod(oc.KubeClient().CoreV1())
	if err != nil {
		return fmt.Errorf("failed to get registry pod: %v", err)
	}

	ocLocal := *oc
	path, err := ocLocal.Run("logs").Args("dc/docker-registry").OutputToFile("pod-" + pod.Name + ".log")
	if err == nil {
		fmt.Fprintf(g.GinkgoWriter, "written registry pod log to %s\n", path)
	}
	return err
}

// ConfigureRegistry re-deploys the registry pod if its configuration doesn't match the desiredState. The
// function blocks until the registry is ready.
func ConfigureRegistry(oc *exutil.CLI, desiredState RegistryConfiguration) (bool, error) {
	defer func(ns string) { oc.SetNamespace(ns) }(oc.Namespace())
	oc = oc.SetNamespace(metav1.NamespaceDefault).AsAdmin()
	env, err := oc.Run("set", "env").Args("dc/docker-registry", "--list").Output()
	if err != nil {
		return false, err
	}

	envOverrides := []string{}

	if desiredState.AcceptSchema2 != nil {
		current := !strings.Contains(env, fmt.Sprintf("%s=%t", AcceptSchema2EnvVar, false))
		if current != *desiredState.AcceptSchema2 {
			new := fmt.Sprintf("%s=%t", AcceptSchema2EnvVar, *desiredState.AcceptSchema2)
			envOverrides = append(envOverrides, new)
		}
	}
	if desiredState.ReadOnly != nil {
		value := fmt.Sprintf("%s=%s", readOnlyEnvVar, makeReadonlyEnvValue(*desiredState.ReadOnly))
		if !strings.Contains(env, value) {
			envOverrides = append(envOverrides, value)
		}
	}
	if len(envOverrides) == 0 {
		g.By("docker-registry is already in the desired state of configuration")
		return false, nil
	}

	if err := oc.Run("set", "env").Args(append([]string{"dc/docker-registry"}, envOverrides...)...).Execute(); err != nil {
		return false, fmt.Errorf("failed to update registry's environment: %v", err)
	}

	if err := oc.Run("rollout").Args("status", "dc/docker-registry").Execute(); err != nil {
		return false, fmt.Errorf("unable to get registry rollout status: %v", err)
	}

	return true, nil
}

func RedeployRegistry(oc *exutil.CLI) (bool, error) {
	defer func(ns string) { oc.SetNamespace(ns) }(oc.Namespace())

	oc = oc.SetNamespace(metav1.NamespaceDefault).AsAdmin()

	if err := oc.Run("rollout").Args("latest", "dc/docker-registry").Execute(); err != nil {
		return false, fmt.Errorf("failed to rollout registry: %v", err)
	}

	if err := oc.Run("rollout").Args("status", "dc/docker-registry").Execute(); err != nil {
		return false, fmt.Errorf("unable to get registry rollout status: %v", err)
	}

	return true, nil
}

// EnsureRegistryAcceptsSchema2 checks whether the registry is configured to accept manifests V2 schema 2 or
// not. If the result doesn't match given accept argument, registry's deployment config will be updated
// accordingly and the function will block until the registry have been re-deployed and ready for new
// requests.
func EnsureRegistryAcceptsSchema2(oc *exutil.CLI, accept bool) (bool, error) {
	return ConfigureRegistry(oc, RegistryConfiguration{AcceptSchema2: &accept})
}

func makeReadonlyEnvValue(on bool) string {
	return fmt.Sprintf(`{"enabled":%t}`, on)
}

// GetRegistryStorageSize returns a number of bytes occupied by registry's data on its filesystem.
func GetRegistryStorageSize(oc *exutil.CLI) (int64, error) {
	defer func(ns string) { oc.SetNamespace(ns) }(oc.Namespace())
	out, err := oc.SetNamespace(metav1.NamespaceDefault).AsAdmin().Run("rsh").Args(
		"dc/docker-registry", "du", "--bytes", "--summarize", "/registry/docker/registry").Output()
	if err != nil {
		return 0, err
	}
	m := regexp.MustCompile(`^\d+`).FindString(out)
	if len(m) == 0 {
		return 0, fmt.Errorf("failed to parse du output: %s", out)
	}

	size, err := strconv.ParseInt(m, 10, 64)
	if err != nil {
		return 0, fmt.Errorf("failed to parse du output: %s", m)
	}

	return size, nil
}

// DoesRegistryAcceptSchema2 returns true if the integrated registry is configured to accept manifest V2
// schema 2.
func DoesRegistryAcceptSchema2(oc *exutil.CLI) (bool, error) {
	defer func(ns string) { oc.SetNamespace(ns) }(oc.Namespace())
	env, err := oc.SetNamespace(metav1.NamespaceDefault).AsAdmin().Run("set", "env").Args("dc/docker-registry", "--list").Output()
	if err != nil {
		return defaultAcceptSchema2, err
	}

	if strings.Contains(env, fmt.Sprintf("%s=", AcceptSchema2EnvVar)) {
		return strings.Contains(env, fmt.Sprintf("%s=true", AcceptSchema2EnvVar)), nil
	}

	return defaultAcceptSchema2, nil
}


text:
Recruiting – why you should advertise on social media
July 18, 2019 BlogNick
Looking to hire someone? It's unlikely you will advertise the position in the local newspaper.
Print job ads are all but dead. It's a well-known fact that most recruitment happens online these days. But it's not just via recruitment websites. The rise of social media has made a huge impact on the recruitment process, due to one simple fact – it's where people are.
According to a recent report, more than 90% of recruiters use social media to reach out to potential candidates.
That's because social media is much further reaching than the local rag, and it targets potential candidates when they're not actively looking. By using LinkedIn, Facebook and even Instagram, you can hone in on and target those people most likely to fit the bill.
This week Likeable Nick posted a job opportunity on LinkedIn. But not in the traditional sense.
He wrote a piece 'How to get a creative job at Likeable Lab' which talked about how Likeable Lab is looking to grow a flexible workforce of content creators (see here and apply within).
Nick shared the story of Holly, an enterprising young woman who got his attention by taking a very creative approach (a smart move when putting yourself forward for a creative position).
Nick then took his own creative approach by using her story to reach out to other aspiring 'Likeables'.
Social media is all about making connections. It's where people have conversations and express ideas. Unlike a Classified ad in a newspaper, it's a two-way thing.
So you can't approach it the same way. There's an art to it.
How to recruit on social media
Choose the right platform. LinkedIn is used widely for recruitment in the corporate world, but if you're looking for a plumber or healthcare worker, you're more likely to connect with them via Facebook.
Use the right voice and tone. For instance, you might take a more formal approach when recruiting someone in the financial sector, but adopt a more playful style for a 'tradie'.
Share content about your business that showcases your workplace culture. Not only will it show what a great place it is to work, it will also help attract candidates that are a good fit for your team.
Ask employees to share job postings. Social media is the modern-day word-of-mouth, and happy employees are an important resource in spreading the word.
Be part of the conversation. Have a voice on social media and comment in circles that put your business in front of the right people.
Use hashtags where appropriate, particularly on Twitter and Instagram.
Make sure your company page on LinkedIn, and 'About' page on Facebook are up-to-date, so potential candidates can find out everything they need to know about you.
The beauty of social media is that it allows you to zero-in on your target audience. By applying filters, like location, skills and interests, you can run an extremely targeted recruitment campaign.
And last, but not least, be creative.
If you need help with that, shoot us a message. We'd love to help you find your next perfect candidate via social media.


Djwhal Khul here. One moment, let me get a little deeper into the channel. There we go.
Alright, What I want to talk about this week are Fire Trines because we are coming upon a Full Moon and we will have things trining in fire signs.
It's a good opportunity to sort of light the fire under your feet and get moving a little more quickly although for some of you this is a restoration time period. You really need to conserve your energy, pace yourself, don't do too much at once, that sort of thing. Really weigh that out personally how it may affect you. But in the Heavens we will have a Fire Trine, Grand Trine of Fire.
And I do feel that it is sparking more movement towards humanitarian energies and particularly so for the masculine energies to embrace more global compassion really.
So we'll see how everything plays out. In the meantime go ahead and see what is ignited within your own consciousness as a result of what is going on in the Heavens.


Sinus congestion is uncomfortable to say the least. It may make it difficult for you to breathe or sleep. It may also cause painful pressure behind your eyes, make your nose run constantly, or cause an annoying cough. Some essential oils may clear up nasal passages and relieve sinus pressure and other congestion symptoms.


text:
These are the 5 Most Exciting St. Louis Cardinals Prospects
Jul 15, 2018; St. Louis, MO, USA; St. Louis Cardinals interim manager Mike Shildt (83) and president of baseball operations John Mozeliak and chairman Bill DeWitt Jr and general manager Mike Girsch introduce Shildt as the interim manager during a press conference at Busch Stadium. Mandatory Credit: Jeff Curry-USA TODAY Sports /
Aug 7, 2022; St. Louis, Missouri, USA; A general view of Busch Stadium as St. Louis Cardinals starting pitcher Adam Wainwright (50) pitches to New York Yankees first baseman DJ LeMahieu (26) during the fourth inning. Mandatory Credit: Jeff Curry-USA TODAY Sports /
OF Joshua Baez
With all of the hype surrounding 2020 draftees Walker, Winn, and Hence, as well as other risers in the Cardinals system, it is easy to overlook that St. Louis has another prospect with elite tools that is showing promise already in Joshua Baez.
Currently the #6 prospect in a deep Cardinals system, Baez is just 19 years old and has elite raw power due to his 6'4 frame. Down in the Cardinals rookie affiliate, Baez has a .789 OPS in 2022 in very limited appearances, but like Hence before, there is no rush on the Cardinals end to get a large sample size.
Anytime you find a young outfielder who boasts elite power and the ability to play center field, the potential of such a player causes a lot of excitement. His greatest tool may be his arm though, meaning if he transitions to a corner outfield spot, Baez has the ability to be a game changer with his throws.
Baez is likely the furthest away from the majors of anyone on this list, and it will be awhile before St. Louis seriously considers making him a big leaguer. Every good farm system needs guys on different timelines though, and Baez is a guy who could be the elite prospect in the system by the time other guys graduate.


text:
Nyakagezi kan syfta på följande platser:

Burundi

 Nyakagezi (periodiskt vattendrag i Burundi, Makamba),
 Nyakagezi (vattendrag i Burundi, Kayanza),
 Nyakagezi (periodiskt vattendrag i Burundi, Gitega),

Robotskapade Burundiförgreningar

redpajama_set_name: RedPajamaWikipedia


Solid metals and industrial aesthetics dominate restaurant design trends today. Because of this shift in design, managing acoustics has become increasingly challenging. Little Gecko provides expert acoustical engineering services to optimize performance in acoustically demanding spaces. Our firm brings acoustical remediation to new and existing facilities.
Whether it's enhancement of acoustical performance, creating an appropriate acoustical environment, isolating a space from outside noise, reducing mechanical system noise levels or community noises ordinances, we have the know-how and equipment to help.
We are a full-service acoustical engineering firm that specializes in all aspects of acoustical remediation measurement, monitoring, analysis and mitigation. We offer acoustical remediation solutions using proprietary materials designed to diminish unwanted noise and vibration.


We specialize in the implementation of energy efficient heating and cooling systems with geothermal, gas heating, boilers, roof top units and solar thermal in residential and commercial applications.
With ever increasing fossil fuel prices and concern over supply, we offer the most efficient units possible. High efficiency gas furnaces and geothermal technology are becoming the preferred choice of energy smart homeowners for heating, cooling and domestic hot water in their homes. These systems deliver Lower Energy Costs, Clean & Quiet Comfort, Lower Maintenance Costs, and a Healthier, Greener Environment.
We realize that not everyone is onboard with Green alternatives to heat and cool their home. Not to worry! We still offer a wide range of conventional heating and cooling products to fit your needs. We are proud to offer heating and cooling lines such as Rheem, York, Goodman, and many others. All come with great warranties for heat exchangers, parts and compressors with registered units.
"Now I've gotten quotes from two businesses, each run by what I perceive to be reputable young men. You both pretty much offered the same but what tipped the scales was Jeff. To his credit, he showed a much more in depth approach into assessing what would be needed in order for us getting the best performance from the system. And as he's explaining he also included and engaged John. Not a lot of men feel comfortable talking to someone who is speech impaired, not to mention have the patience to try to understand the question they are asking. I thank you for all your guidance regarding understanding the system and educating me regarding figuring the cost per kw. I think I actually figured it out!!"
"Best decision we ever made! Geothermal is the way to go and VanHee did an excellent job for us!"
BUFFALO, NY - January 9, 2018 - ACES Energy, Buffalo Geothermal, Dailey Electric, GeoTherm, Van Hee Mechanical, Phoenix Energy Supply, Waterfurnace and Earth Sensitive Solutions have teamed up to make Geothermal energy heating and cooling available to every homeowner in Western New York. Together these businesses have created a revolutionary concept; GroundUp: Geothermal Alliance of Western New York, to help homeowners easily transition to 100% clean energy.
Call Us Today at 585-545-4096 to Get a Quote!


December 26th is Boxing Day!
Boxing Day is a holiday celebrated in Britain, Australia, New Zealand, Canada, and other British Commonwealth countries.
The exact origin of the holiday is unknown; scholars believe it started with medieval clergy, who opened the church's strong box (or arca in Latin) on the day after Christmas and distributed the contents to the poor.
Today you can open your own ARCA (enclosure that is and give your design the gift of a Fibox enclosure. Made of light-weight polycarbonate Fibox products are stronger and lighter than fiberglass or metal enclosures and save money in transportation and modification costs alone.
With the longest lasting UV resistant polycarbonate on the market, your Fibox will easily stand the test of time in harsh environments with a UL listing and NEMA 4X and 6P ratings, Fibox boxes will keep your design safe and dry for many more years to come.


Topic: If you are excited, tell somebody!
I've not met many Grandparents who aren't anxious to show you pictures of their grandchildren. There will be several Auburn fans this morning very willing to share every replay about their college football team. I understand that there are even guys who love to fish. I hear about some guys who are so excited they will tell you when they are going, take photos along the way and then share every detail about their trip upon their return!! Why do all these things happen? They happen because we all tend to talk about the things and the people that we love!
In today's scripture John the Baptist introduces Andrew and another disciple to Jesus. After meeting Jesus and realizing who He was, the Scripture says that Andrew "found his own brother Simon and told him, we have found the Messiah!" AND HE BROUGHT SIMON TO JESUS!
How many fish tales have I told this week? How many people did you share with about football yesterday? Have you mentioned your precious grandchildren to anyone this week? We claim to love the Lord Jesus and if we do we should certainly be excited about our Savior! We should follow Andrew's example and tell others that "We have found the Messiah!" and who knows? We might even consider inviting them to come to church! If you are excited, tell somebody!
Great reminder! thanks for that.


text:
Q: Cypress giving error about promise while sending api request I got a promise error by cypress; what should I do? What am I missing?
let woID = 0
let woCoordinate = 0
let keyCloakToken = 0

class utils {
 createIncidentViaAPI() {

        keyCloakToken = localStorage.getItem('keycloak-token')
        fetch('https://URL', {
            headers: {
                accept: 'application/json, text/plain, */*',
                authorization: 'Bearer ' + keyCloakToken,
                'content-type': 'application/json;charset=UTF-8',
            },
            body: '{"description":"keycloak","type":"SY","startDate":"2022-08-14T12:19:00.000Z","locationAddress":"Japanese Pagoda Ohio Dr SW","latitude":38.88366120709875,"longitude":-77.04149404953358,"sourceType":"CALL"}',
            method: 'POST'
        })
            .then((res) => res.json())
            .then((out) => {
                cy.log(out.data.incidentId)
            })
    }

the fetch request that you can see at the top is working stable without problem but I having some issues to work API request at the bottom.
the important thing is that when I send createWorkOrderViaAPI() request I should have to wait 60-70 seconds because the system responds every 60 secs. That's why I tried to use then block. by the way, I tried some different options too but I didn't solve the promise problem.

     createWorkOrderViaAPI() {
        cy.request({
            url: 'URL',
            method: 'POST',
            headers: {
                properties: 'wonum',
                'Content-Type': 'application/json',
                MAXAUTH: 'autpassword',
                Authorization: 'Basic ' + 'autpassword'
            },
            body: {
                description: 'test request',
            }
        }).then((res) => {
            woID = res.body.wonum
//here i want get some numbers then i want to use these second API request which you can see //inside then block.
        }).then((out)=>{
            fetch('https://URL', {
                headers: {
                    accept: 'application/json, text/plain, */*',
                    'accept-language': 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7',
                    authorization: 'Bearer ' + keyCloakToken,

                },
                body:
                    '{"statusList":"sortDirection":"DESC","archivalTypeList":["ACTIVE"],"countByField":"NEIGHBORHOOD","searchText":"' +
            ---> i want use  woID number here ---> woID +
                    '}',
                method: 'POST'
            }).then((res) => {
                woCoordinate = res.body.wkt
                cy.log(woCoordinate)
            })
        })
    }

when I run this code i getting error message by cypress about promise I leaving the message doc here
especially when I change cy.request to fetch error just disappears but fetch is not working not creating order as i want.

A: The problem is that you cant use cy. methods inside of any then block.
.then(()=>{
don't use here any cypress method
})

I separated my own API requests and deleted necessary cypress requests then it worked.

redpajama_set_name: RedPajamaStackExchange


text:
Ватерполо клуб Солнок (Szolnoki Vízilabda Sport Club) мађарски је ватерполо клуб из истоименог града.

Основан је 1921. године и тренутно игра у Првој мађарској лиги. За Солнок је играло неколико српских ватерполиста: Живко Гоцић,Милан Алексић, Стефан Митровић, Андрија Прлаиновић, Милош Ћук, Виктор Рашовић, Гаврил Суботић.

Живко Гоцић је од 2018. тренер Солнока, а у сезони 2020/21. у клубу ће играти тројица српских ватерполиста Душко Пијетловић, Радомир Драшовић и Филип Филиповић, који је у јуну 2020. стигао из италијанског Про Река.

Успеси
 Првак Европе
2017
 ЛЕН Супер куп Европе
2017
 Првак Мађарске (9 пута)
1954, 1957, 1958 1959, 1961, 1964, 2015, 2016, 2017.
 Победник купа Мађарске (6 пута)
1966, 1968, 1985, 2014, 2016, 2017.

Спољашње везе
 Званични сајт

С


text:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="store.active.asapp"
          xmlns:android="http://schemas.android.com/apk/res/android">

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
  <uses-permission android:name="android.permission.CALL_PHONE"/>

  <!-- Creating Permission to receive Google Maps -->
  <permission
    android:name="com.arshad.map.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>

  <!-- Permission to receive Google Maps -->
  <uses-permission android:name="com.arshad.map.permission.MAPS_RECEIVE"/>

  <!-- Maps API needs OpenGL ES 2.0. -->
  <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

  <application
    android:allowBackup="true"
    android:icon="@drawable/ic_logo"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <!-- Google Maps Fragment API Key Data -->
    <meta-data
      android:name="com.google.android.maps.v2.API_KEY"
      android:value="AIzaSyA_nC89s2AbLA72sM6BQfENYdvE8e75nWY"/>
    <meta-data
      android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version"/>

    <activity
      android:name=".homeActivity.MainActivity"
      android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <activity
      android:name=".navigation.NavigationActivity"
      android:label="@string/title_activity_navigation"
      android:theme="@style/AppTheme">
    </activity>
    <activity
      android:name=".contactActivity.ContactActivity"
      android:label="@string/title_activity_contact"
      android:theme="@style/AppTheme">
    </activity>
    <activity
      android:name=".ticketActivity.TicketActivity"
      android:label="@string/title_activity_ticket"
      android:theme="@style/AppTheme">
    </activity>
    <activity
      android:name=".locationActivity.LocationActivity"
      android:label="@string/title_activity_location"
      android:theme="@style/AppTheme">
    </activity>
  </application>

</manifest>


text:
Home/The Scoop/Welcome to Dan's Country: New Statue Commemorates Dan Rattiner
Welcome to Dan's Country: New Statue Commemorates Dan Rattiner
Dan's Papers July 5, 2017
Dan Rattiner standing with the new "Welcome to Dan's Country" statue.
The Friends of Dan have unveiled a statue commissioned to celebrate Hamptons publisher Dan Rattiner. The statue, a 7-foot-tall, bright red lobster, with a somewhat taller Rattiner riding on its back, was installed on the corner of Hills Station Road and Route 27 in Southampton. The installation is called "Welcome to Dan's Country."
Often referred to as the "Dardanelles of the Hamptons," the giant lobster and Rattiner stand just feet from the now-shuttered Lobster Inn at the point where Route 27 narrows into a single lane highway into Southampton.
Rattiner is best known for having founded Dan's Papers in 1960, a newspaper that billed itself as the first free resort newspaper in America and which is much expanded and still going strong 57 years later. From the very beginning, he has written about four articles every week on a wide variety of topics including history, humor, current affairs, local news and more. They appear in the newspaper and the Dan's Papers website. Dan's Hamptons Media today, which includes the original Dan's Papers, the websites, Behind the Hedges magazine and website, the largest series of food and drink events on the East End and other offerings, is by far the biggest and most diverse media company on the Two Forks.
Born in New York City, Rattiner grew up in a New York suburb, moved to Montauk at age 16 when his father bought White's Drug Store there, was educated at the University of Rochester and the Harvard Graduate School of Design and at age 20, started Dan's Papers. He's worked for short periods as a copywriter at the Foote Cone and Belding advertising agency, a "runner" in the city room of the New York Times and is also a successful nationally known cartoonist.
"I had a vision," said Richard Burns, president of Friends of Dan. "Every time I passed the Lobster Inn on my way in to Southampton, I'd have visions of a giant lobster holding Dan up in its claws." Heartbroken that the Inn had recently closed, it spurred Burns to seek like-minded individuals who wanted to thank Dan for all that he has done for the East End Community over more than five decades as founder and president of Dan's Papers.
Jeremy Essay, the new owner of the Behind the Fence Gallery (formerly known as Yesterday's Treasures located at 1549 County Road) immediately offered to play a key role in the project. His family business Nugent and Potter, one of the Hamptons' oldest plumbing supply companies, recently bought the property surrounded outside and crowded inside by its life-size dinosaurs, elks, celebrities, dogs, cats and various other objets. "Everyone knows this place and drives by it a thousand times," said Essay of the store. "They probably all ask themselves, 'who buys this stuff?' The answer is: 'they do.' Every time someone stops to look around."
Essay's team worked with Acre Arts on the design and execution of the project. Creating the lobster was more straightforward. The Dan figure was, in the end, repurposed from a John Wayne statue found at the store and worked on with diligence by the Gallery's team of craftsmen. "This was a natural project for us to get involved with, "said Essay. "And we couldn't be happier with the outcome."
"My first thought was, 'this is crazy!'" says Rattiner of his initial reaction upon learning a statue was being built in his likeness. Rattiner, who spends time during the summer working with interns on reporting and news, relays a story to the enthusiastic students about a favorite statue of his from history, the Colossus of Rhodes. The Colossus, one of the Seven Wonders of the Ancient World, greeted ships coming into Rhodes. Rattiner's statue, similarly, greets visitors in the Hamptons.
Rattiner jokes that he will look to the statue for guidance. "If something comes up, I feel like I should go to the statue!"
The Plaque mounted at the base of the statue reads as follows:
"WELCOME TO DAN'S COUNTRY"
Erected this day, July 4th, Day of Independence, 2017, by Friends of Dan to celebrate the Hamptons' best known citizen, Lover of Hedgerows, Keeper of the Conscience, Historian, Curmudgeon and Publisher Extraordinary Dan Rattiner. Designed and created by the Behind the Fence Gallery and Acre Arts.
Jared Kushner and Ivanka Trump Attend Bipartisan Bash in Southampton
Montauk Beach: Your Summer Yule Log
CSP Suffolk County Offers Free Cervical Cancer Screenings
Madoo Conservancy Awarded $47,000 Empire State Development Grant
Jewish Center of the Hamptons' Pop-Up Chanukah Lights East Hampton
Geminids Meteor Shower Peaks This Weekend