Irony alert! Albertans must brace themselves for a very Albertan response from B.C. to their claim a balanced budget depends on that pipeline to Vancouver. They won't like it.
The enormous cost associated with burning tarsands reserves underscores the simple reality that business as usual is not an option for the Big Five oil producers.
Is the Trudeau government merely Harper-lite or is it a beacon of democratic, humanistic internationalism? Based on its record this past year, and at the mid point in its mandate, it is neither.
Opposition focuses fury on Tzeporah Berman, ignores oil sands advisory group consensus recommendations … why?
By constantly vilifying a prominent environmentalist, critics undermine the work of all members of the Oil Sands Advisory Group. They should be asked why.
A talented public advocacy tactician, Tzeporah Berman was vocal in her support for the British Columbia NDP and its opposition to the Trans Mountain Pipeline expansion.
It will take more than the stroke of Trump's pen to quash the vigorous resistance to the Keystone and Dakota Access pipelines, or the growing global demand for urgent action to combat climate change.
Thank you, Jane Fonda! Former Harper minister touts celebrity visit to prop up implausible argument that visibly effective NDP climate strategy doesn't actually work.
Alberta Premier Rachel Notely was more than happy with Justin Trudeau's approval of the Kinder Morgan project. Tom Mulcair, B.C. NDP leader John Horgan, and many others reacted very differently.


text:
Chinese spy defects to Australia with trove of intel: report
The operation is another signal of Australian authorities' new willingness to tackle allegations of Chinese subversion of Australian politics (AFP Photo/TORSTEN BLACKWOOD)
Sydney (AFP) - A Chinese spy has defected to Australia with a trove of intelligence on China's political interference operations in Hong Kong, Taiwan and elsewhere, according to a media report Saturday.
The Nine network newspapers said the defector, named as Wang "William" Liqiang, had given Australia's counter-espionage agency the identities of China's senior military intelligence officers in Hong Kong and provided details of how they funded and conducted operations in Hong Kong, Taiwan and Australia.
Wang said he was personally involved in infiltration and disruption operations in all three territories, according to the report, published in Nine's The Age and Sydney Morning Herald newspapers.
Wang "revealed in granular detail" how Beijing covertly controls listed companies to fund intelligence operations, including the surveillance and profiling of dissidents and the co-opting of media organisations, the report stated.
Wang is currently living in Sydney with his wife and infant son on a tourist visa and has requested political asylum, it said.
- China fears -
Wang said in an interview to be aired Sunday night on Nine's TV news program 60 Minutes that he would be executed if he returned to China.
"Once I go back, I will be dead," a youthful and bespectacled Wang said through a translator in a clip from 60 Minutes shown on Nine's websites Saturday.
Wang was also shown holding his son and walking with his wife along Sydney harbour beside the popular Luna Park amusement centre.
According to the news organisation, Wang gave a sworn statement to the Australian Security Intelligence Organisation (ASIO) in October saying: "I have personally been involved and participated in a series of espionage activities".
This allegedly included infiltrating Taiwan under an assumed identity and with a South Korean passport to run local operatives in efforts to meddle in 2018 municipal elections and presidential polls due next year.
He said the operation used local media executives to influence the election campaigns and defeat candidates seen as hostile to Beijing.
He also claimed to have coordinated a "cyber army" to shift political opinion, similar to Russia's interference in the 2016 US presidential election.
"Our work on Taiwan was the most important work of ours – the infiltration into media, temples and grassroots organisations," he was quoted as saying.
It was his fear of being discovered by Taiwan's counter-espionage authorities working to influence next year's elections that led Wang to seek asylum in Australia, he reportedly said.
In Hong Kong, Wang said he was part of an intelligence operation hidden within a listed company which infiltrated Hong Kong's universities and media to counter the pro-democracy movement.
He said his role in the clandestine organisation including infiltrating all Hong Kong universities and directing bashings and cyber attacks against dissidents.
"They (his recruits) found out information about those pro-independence activists... and made public all their personal data, their parents' and family members'," he was quoted as saying.
He added that the goal was "to make all troublemakers in Hong Kong terrified".
- Kidnappings -
Wang also said he personally helped organise the October 2015 kidnapping of Lee Bo, owner of the Causeway Bay Bookshop, which Beijing said distributed dissident materials.
Four other bookshop employees were also spirited away to the mainland that year.
Other operatives planted in Hong Kong, he said, included a senior manager at a major Asian television network who was actually "a current military cadre with a Division Commander rank".
Wang also reportedly said he had met a high-ranking intelligence operative he believed was conducting spy operations in Australia via a front company in the energy sector.
"He told me at the time he is based in Canberra. I know his position is very important," he was quoted as saying.
The report did not provide additional details on operations in Australia, but is likely to exacerbate already high alarm over Chinese espionage and influence operations in the country.
ASIO warned earlier this year that the threat of foreign interference was "unprecedented" and that the number of foreign spies in Australia was higher than during the Cold War.
The agency has never publicly named China in its warnings.
But the former head of the agency, Duncan Lewis, who retired in September, said in an interview published Friday that China wanted to "take over" Australia's political system with an "insidious" and systematic campaign of espionage and influence-peddling.
The extra security measures appeared to have kept many protesters away from the Capitol and inaugural activities, but not one man.
Vice President-elect Kamala Harris had a fitting escort to walk her up the stairs of the Capitol on Wednesday: Eugene Goodman, the lone, Black police officer who bravely lured rioters away from the Senate chamber during the invasion of the Capitol building earlier this month. Goodman is the new acting deputy House Sergeant at Arms, and a candidate for the Congressional Gold Medal, one of the highest honors a civilian can receive. "I've always said, if bullets start ripping through, I'm finding Goodman," a friend of Goodman's told The Washington Post. "He's been in hostile firefights [in Iraq], so he knows how to keep his head."Goodman will also accompany Harris on the presidential platform on Wednesday, where she will be sworn in as vice president of the United States. > NEW: Eugene Goodman, the Capitol Police officer who put himself in harms way while defending the building from a violent mob, has been named the Acting Deputy House Sergeant at Arms.> > Goodman will escort Vice President-elect Kamala Harris up the stairs of the Capitol today. pic.twitter.com/n3FGg0jRtp> > -- CBS Evening News (@CBSEveningNews) January 20, 2021More stories from theweek.com Bernie Sanders steals the inauguration with his grumpy chic outfit Amazon offers Biden help with COVID-19 vaccine distribution Only a sprinkling of Trump supporters showed up at state capitols to protest Biden's inauguration
Biden signs executive orders regarding COVID-19, Paris climate agreement
Hours after being sworn in on Wednesday, President Biden signed executive orders regarding mask wearing and social distancing on federal property, supporting underserved communities, and reentering the U.S. into the Paris climate accord. Biden also said he received a letter from former President Donald Trump but wouldn't discuss its contents.
President Biden has taken office, former President Donald Trump is in Florida, and the U.S. still hasn't seen a mass arrests of Democrats or a nationwide blackout.All of these facts were shocking for some followers of the far-right conspiracy theory QAnon, as they thought and hoped that Trump would somehow seize permanent power on Wednesday, NBC News reports. But as Biden was sworn in without a hitch, QAnon message boards lit up with followers who realized a violent overthrow of the government wasn't about to happen, that Trump had no secret plans to somehow stay in office, and that they'd been wrong for months, if not years.> "Q was a LARP the entire f---ing time." > "There is no plan.' > "It's over and nothing makes sense... absolutely nothing..." pic.twitter.com/I2k8C7708m> > — Ben Collins (@oneunderscore__) January 20, 2021> Current mood in Q circles> > "I just want to throw up" > "I'm so sick of the disinformation and false hope" > "What a waste of my life" > "I feel sick" > "Burning my flag" > "Game over" > "Where is the military" > "I'm just so confused" > "I'm just sick" pic.twitter.com/hUR2N6y1sg> > — Shayan Sardarizadeh (@Shayan86) January 20, 2021Even Ron Watkins, the administrator of the extremist message board 8kun who may have even originated QAnon, posted a last-ditch call for unity that didn't acknowledge the harmful conspiracy theories he'd allowed to spread for years.> Ron Watkins, the former 8kun admin who helped keep QAnon afloat for years (and who some suspected of being Q himself), is throwing in the towel. pic.twitter.com/HJdBrOexO2> > — Kevin Roose (@kevinroose) January 20, 2021Still, just as the many flaws in QAnon's past predictions failed to dissuade supporters, some believers are continuing to make excuses for Wednesday's events and suggesting some sort of overthrow is still possible.More stories from theweek.com Bernie Sanders steals the inauguration with his grumpy chic outfit Amazon offers Biden help with COVID-19 vaccine distribution Only a sprinkling of Trump supporters showed up at state capitols to protest Biden's inauguration
India began supplying coronavirus vaccines to its neighboring countries on Wednesday, as the world's largest vaccine making nation strikes a balance between maintaining enough doses to inoculate its own people and helping developing countries without the capacity to produce their own shots. India's Foreign Ministry said the country would send 150,000 shots of the AstraZeneca/Oxford University vaccine, manufactured locally by Serum Institute of India, to Bhutan and 100,000 shots to the Maldives on Wednesday. India's ambassador to Nepal, Vinay Mohan Kwatra, said Wednesday that New Delhi would supply Nepal with 1 million doses free of charge, with the first to arrive as early as Thursday.
In the wake of the deadly riot in the U.S. Capitol building earlier this month, the FBI had warned that armed protests were being planned in every state capital. But though it was still early in much of America as President Biden was sworn in just before noon Eastern time, the handful of pro-Trump demonstrators who actually showed up were largely disappointed by the turnout, to say the least:> Mark Leggiero is the one lone Trump supporter out in front of the NYS Capitol. He says he expected a few thousand ppl here and is disappointed. He said he drove 45 minutes for a peaceful protest pic.twitter.com/hDtCLYFpLq> > -- Morgan Mckay (@morganfmckay) January 20, 2021> So far, two protesters are here at the Kansas State Capitol to protest the election. pic.twitter.com/huii3mpjIS> > -- Nolan Roth KAKE (@NolanRothKAKE) January 20, 2021> At the State Capitol in Sacramento, a lone Trump supporter wearing a red MAGA hat protested as President Biden took the oath of office Wednesday. > > : @dustingardiner> > Live InaugurationDay updates >> https://t.co/WowWEMPI7l pic.twitter.com/QaSrlvomgd> > -- San Francisco Chronicle (@sfchronicle) January 20, 2021> Greetings from Concord, N.H. https://t.co/jD3k47cLIc pic.twitter.com/MxFe4bqROF> > -- Ruth Graham (@publicroad) January 20, 2021> At 12 Noon the scene outside of the Michigan State Capitol is a quiet one. Just a handful of demonstrators out along S. Capitol Avenue. @WWJ950 pic.twitter.com/JCedFflugr> > -- Jon Hewett (@JonHewettWWJ) January 20, 2021In other states, nobody showed up at all:> As ceremonies continue in DC, all quiet at the Washington state Capitol in Olympia. Zero demonstrators. InaugurationDay pic.twitter.com/fwxolDsLDt> > -- Drew Mikkelsen (@drewmikkelsenk5) January 20, 2021> There's a large presence of law enforcement and members of the Ky. National Guard at the Kentucky state Capitol in Frankfort - but so far, all is quiet. @heraldleader pic.twitter.com/EugXcLLKbO> > -- Ryan C. Hermens (@ryanhermens) January 20, 2021> All is quiet at the Utah State Capitol. No protesters that I've seen. The @UTNationalGuard is here again to respond, if needed. So far, I'm told no chatter of any local Inauguration related protests. @fox13 utpol Utah pic.twitter.com/ym9pCyFyuD> > -- Ben Winslow (@BenWinslow) January 20, 2021Meanwhile, in Montana, the only protester to show up ... was a counterprotester. > INAGURATION DAY: So far, a quiet morning at the Montana State Capitol. pic.twitter.com/KXsy7DdB2w> > -- KFBB (@KFBB) January 20, 2021More stories from theweek.com Bernie Sanders steals the inauguration with his grumpy chic outfit Amazon offers Biden help with COVID-19 vaccine distribution QAnon believers are realizing their entire conspiracy was a hoax as Biden is sworn in
'One village, one policy': China keeps it local to battle COVID wave
China is using localised tactics to battle a wave of COVID-19 outbreaks, an approach that avoids the sort of widespread shutdowns that devastated the economy last year but is also sowing uncertainty ahead of the Lunar New Year travel season. In the province of Hebei, which surrounds Beijing and has seen hundreds of infections in the last two weeks, officials were told in a Monday meeting to adhere to the principle of "one village, one policy" and draw up individual plans for each community. After keeping confirmed new COVID-19 infections to just a handful a day for months, China has seen a spike in cases since the beginning of the year, with more than 100 a day recently, raising fears of a large-scale outbreak.
Hillary and Bill Clinton have been together for nearly 50 years. Here's a timeline of their relationship.

redpajama_set_name: RedPajamaCommonCrawl


Angelica Cheung has played an integral role in the development of China's fashion industry. Upon joining Condé Nast China as the Editor-in-Chief of Vogue China in 2005, Angelica Cheung spearheaded the launch of the publication and for the past thirteen years, has led its growth to international acclaim. From its inception, Vogue China's combination of original creative content and global vision set a new benchmark for Chinese fashion publications. Whilst working closely with the world's leading photographers, stylists, models and designers, Vogue China has also dedicated itself to supporting local Chinese talent and sustained efforts to bring the Chinese fashion industry to international prominence.
Angelica Cheung created something entirely new and sparked the start of the now multi-billion dollar Chinese fashion industry. Born in Beijing, Cheung completed her undergraduates degrees in law and English language and literature at Peking University and subsequently received an MBA degree from the University of South Australia. Cheung had previously worked as a journalist in Hong Kong. Before joining Vogue China, she was the editor-in-chief of Marie Claire in Hong Kong in 2001 and editorial director at Elle China in 2003.
Angelica Cheung is the 2018 Advance Global Alumni Award Winner.


text:
From our Executive Secretary...
How OSPAR works
United Nations Sustainable Development Goals
The Arctic Council
Collective Arrangement
Abidjan Convention
North Sea Conferences
Cartagena Convention
Memoranda of Understanding & Cooperation Arrangements
North-East Atlantic Environment Strategy 2030
The OSPAR Acquis: Decisions, Recommendations & Agreements
Ecosystem Approach
Precautionary Principle
Polluter Pays Principle
Best Available Techniques (BAT) & Best Environmental Practices (BEP)
The North-East Atlantic
Region I: Arctic Waters
Region II: Greater North Sea
Region III: Celtic Seas
Region IV: Bay of Biscay and Iberian Coast
Region V: Wider Atlantic
Contracting Parties
Secretariat/staff
Biological Diversity & Ecosystems
Hazardous Substances & Eutrophication
Offshore Industry
Radioactive Substances
Meeting calendar September 2022 - June 2023
Intersessional Correspondence Group on Eutrophication30 January 2023 - 1 February 2023
Working Group on Inputs to the Marine Environment1 February 2023 - 3 February 2023
OSPAR Ministerial 2021
The OSPAR Commission is an active member of the global group of Regional Management Organisations and cooperates closely with its partner organisations such as the Helsinki Commission (HELCOM) for the Baltic Sea and the different programmes established under the UNEP Regional Seas Programme
The OSPAR Commission works jointly with other competent management authorities for the North-East Atlantic to counter marine pollution and deliver sustainable ocean management in a consensual and robust way. To further strengthen cooperation the OSPAR Commission has agreed Memoranda of Understanding or Agreements of Cooperation with a number of relevant international organisations including the North-East Atlantic Fisheries Commission (NEAFC), the International Maritime Organization (IMO), the International Council for the Exploration of the Sea (ICES), the UN Economic Commission for Europe (UN ECE), the International Atomic Energy Agency (IAEA), the North Atlantic Salmon Conservation Organization (NASCO), the International Seabed Authority (ISA) and the Sargasso Sea Alliance. Close collaboration is also maintained with the European Commission and the European Environment Agency.
The OSPAR Commission also contributes to the global discussions on marine conservation, held e.g. in the UN General Assembly, the Convention on Biological Diversity (CBD) and the International Union for Conservation of Nature (IUCN), and provides regional approaches to protecting the marine environment and managing natural resources.
The North Sea Network of Investigators and Prosecutors (NSN) was established as a body of the OSPAR Commission following an invitation from the ministerial North Sea Conferences and provides a direct link to the Agreement for cooperation in dealing with pollution of the North Sea by oil and other harmful substances (Bonn Agreement).
Inside International Cooperation
Publications can be downloaded free of charge from this website. Please use the form below to search our list of publications:
Work Area...BiodiversityHuman ActivitiesHazardous Substances & EutrophicationOffshore IndustryRadioactive SubstancesMSFDQSR 2023Annual reportOther Year...20232022202120202019201820172016201520142013201220112010200920082007200620052004200320022001200019991998199719961995199419931992199119901989
OSPAR has become an Affiliate Member of the International Alliance to Combat Ocean Acidification
OSPAR seeks stakeholder views on proposed expansion to the North Atlantic Current and Evlanov Sea basin Marine Protected Area
OSPAR Secretariat
The Aspect
EC2A 1AS
Copyright © 2015 - 2023 OSPAR Commission. All rights reserved.
Website by NB


Wolf Control in McGrath: Where are the Doctor's orders?
Suppose you were feeling ill and went to a medical doctor for treatment. The doctor listens to your symptoms, then orders some diagnostic tests to identify the cause of the problem. Once the cause is evident, treatment is prescribed after the risks and benefits are explained. You may get a second opinion as doctors are human and may commit errors or may disagree on the best treatment strategy. During all of this you expect that the medical advice you get is science-based, i.e., the result of properly done experiments coupled with experience treating other patients with similar problems.
You may then go home and decide your course of action. Perhaps you have no insurance and can't afford treatment. Perhaps the risk of treatment is too high and you choose not to proceed. Perhaps your relatives and friends influence your decision. These non-science issues may outweigh the medical advice, but you must still be confident that the doctor's advice is sound. It forms the foundation to proceed if you choose to do so.
Wildlife management is not much different-it is a mix of science and non-science issues. Management actions must first have a sound scientific base. Public policy decisions by the Board of Game and the Governor may then include other considerations, but the science base cannot be ignored without risking failure. Over the past twenty-five years science has expanded greatly in the wildlife field and we now understand much about the relationships between wildlife populations and their environment. This is especially true for predation on large mammals like moose and caribou. Numerous studies across North America have revealed many aspects of predation by wolves and bears and allowed managers to predict the outcome of management actions like predator reduction. Unfortunately, management is often driven by politics and science takes a back seat.
About six years ago local people at McGrath noticed that the moose population in that area was declining. Wolves were thought to be abundant and wolf control was proposed to rebuild the moose population. Very little biological information was available on the number of moose or wolves, moose calf mortality, habitat conditions, bear predation, the effects of severe winters on moose, or any of the other factors that might be responsible for a declining moose herd.
Despite this lack of information, the Board of Game approved a wolf control plan for the McGrath area. This is analogous to a medical doctor prescribing treatment before doing the necessary diagnostic tests. The Commissioner of Fish and Game decided not to implement the plan whereupon local residents appealed to the media and the legislature for relief. The Governor then appointed an advisory group to examine the issues and provide recommendations to the Commissioner. This group is now poised to recommend both wolf and black bear control programs.
Last September the advisory group invited two biologists outside the Department of Fish and Game to discuss the science of predator control at McGrath. As a biologist with experience studying predation my main concern was whether or not the proposed wolf control plan passed by the Board of Game met the Governor's test that it must be based on sound science. I reviewed the available data and concluded that the information base was weak. I indicated that I felt that this was not a close call, that qualified, experienced ecologists would agree that several important pieces of the puzzle were missing. I think the National Academy of Sciences panel that reviewed Alaska's past predator control programs would agree that more information is required before launching a control program.
What information gaps exist? At this point, no one can say for certain that predation by bears and wolves is limiting moose population growth. Indeed, statistics from the moose population suggest that predation is not severe. The percentage of calves in the late winter population was 22% in 1999. This is not indicative of heavy predation and much reduced calf survival. The best way to determine calf mortality rates and identify the role of predation affecting calf survival is to radio collar newborn calves and locate them daily during the first two months of life. Three years of such studies with about 50 calves collared each year would reveal a lot about the importance of predation in limiting moose numbers. If the same patterns of predation prevail at McGrath as elsewhere, and if predation is significant there, it is likely that mortality studies would suggest that bear reduction would result in far more moose than would wolf reduction. Similarly, no one can say for certain that the available moose habitat could support two or three times the current moose population, even if predators are totally eliminated. The science behind determining carrying capacity is far more difficult and expensive than calf mortality studies and may not be necessary over the entire area. But some data are needed to ensure that there is enough forage to support additional moose, at least in the river corridors where about 50% of the current moose are located in autumn.
In the medical field, weak science leads to uncertain diagnoses, unclear treatments, and unmeasured risks. Similarly, wildlife science may be weak, or we may fail to apply it properly, or ignore the science altogether as politics drive decision making. At a minimum, the risk of having weak information is that money and effort will be wasted and management actions will fail to increase moose. This issue is too important to leave science questions unanswered. The Board of Game should not be in the position of the doctor telling the patient's family that he died because science-based treatments were not applied.
Vic Van Ballenberghe is a wildlife biologist who has studied moose and predation in several areas of Alaska since 1974.


text:
Q: How to access a chart to add a data point in c# I am trying to write a class to update chart data.  I have created the chart through windows forms which has autogenerated the code in Form1.cs and Form1.Designer.cs
Here is what i think is the relevant part from Form1.designer.cs:
private void InitializeComponent()
{
    System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
    System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
    System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint1 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 2D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint2 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 3D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint3 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 2D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint4 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 25D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint5 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 2D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint6 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 3D);
    System.Windows.Forms.DataVisualization.Charting.DataPoint dataPoint7 = new System.Windows.Forms.DataVisualization.Charting.DataPoint(0D, 0D);
    this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
    this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
    this.tableLayoutPanel1.SuspendLayout();
    ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
    this.SuspendLayout();

I have written another class called UpdateGraph.cs which has a method to add an extra point to the graph
namespace DataLogger
{
    class UpdateGraph
    {
        public void addGraphPoints()
        {
            chart1.Series.Points.AddXY(0, 10);
        }
    }
}

The problem is I get an error with message

The name chart1 does not exist in the current context

So if anyone could explain how I can access the chart to modify the data (or what i should be refering to) I would really appreciate it as I am a bit stumped at the moment.

A: You could try this one:
using System.Windows.Forms.DataVisualization.Charting;

class UpdateGraph
{
    public Chart Chart1 { get; set; }

    public UpdateGRaph(Chart chart)
    {
        Chart1 = chart;
    }

    public void AddGraphPoints()
    {
        Chart1.Series.Points.AddXY(0, 10);

    }
}

A: Forms Designer will create a local chart in InitializeComponent() - maybe there's a way to prevent it but I've yet to find it.
  The trick is to get the chart out of your control hierarchy. For example, my chart in Designer.cs is added to grpStuff:
this.grpStuff.Controls.Add(chrtStuff);

and its name can be found in Designer.cs also:
chrtStuff.Name = "chartName";

SO - in my code I find the chart by:
chrt = (System.Windows.Forms.DataVisualization.Charting.Chart)grpStuff.Controls("chartName");

A: chart1.Series["Your series name"].Points.AddXY(0, 10);

redpajama_set_name: RedPajamaStackExchange


text:
Will there be a Second Edition of The King Of Limbs Newspaper Album?
Over the past few days there has been some speculation on there being a possible Second Edition to Radiohead's The King Of Limbs. Obviously there has been plenty of speculation before the Newspaper Album arrived, though there are some interesting things contained within the Newspaper.
On the cover of the paper in the top left corner it reads "Early Edition" in orange lettering. This was posted by Nick on Mortigi Tempo: "Of course, if you look at your The King Of Limbs cd, you'll notice the 8 hands. The first 2 of which are holding up 4 fingers a piece, and are in orange. The orange coincides with the color of the text "Early Edition" found on the newspaper just as the 8 fingers on the orange hands coincides with the 8 songs found on TKOL."
There are also what appear to be lyrics to other songs in the Newspaper as well. Even the actual vinyls are etched on the inner rings and they read: Side One: "Endless Branches" , Side Two: "Uncontrollable", Side Three: "A Never Ending Mesh", Side Four: "Intertwined In To Everything"
This was posted by user RadioFire on Mortigi Tempo:
A few words on speculation…
We speculate because we've been given signs that Radiohead isn't done. We make up the theories, we do the speculating, but we aren't doing this out of thin air. I don't believe people like Bennyboy and others who quickly dismiss speculation, however crazy, have been completely in the loop. In fact, I feel Bennyboy feels out of the loop and wants someone to inform him, which is why he hangs around speculation threads without any real purpose. Well, to anyone interested, I'll do my best to lay it out succinctly.
1) Radio silence. Could it mean anything? Maybe, maybe not. The band was quiet after Kid A and bam, Amnesiac hits us. The band again, is being very quiet. They must be receiving interview bids left and right, but they're turning them down. They only accept interviews about their other projects, Jonny and Phil have both done interviews which signify that they aren't avoiding all media, they're SPECIFICALLY AVOIDING questions regarding The King of Limbs. Why is this? Is there something they don't want to say? Something they don't want to have to answer?
2) Stanley. Stanley mentioned the completion of "phase 1" after The Universal Sigh, I believe. Phases? He never mentions anything about a second phase, or a third, or a fourth. There won't be a phase 1 if there isn't going to be a phase 2. How many phases will there be? What is each phase?
3) The Universal Sigh. It was a fun event, was it not? We got out into the city to our nearest record store and picked up a newspaper with some artwork and lyrics. Thom even distributed some papers personally. Whoa! But what does it all mean? Why did they take pictures and upload them? Why is there a website with all our pictures that has no use now? When my cousin and I wanted to get our picture taken together, why did they insist on getting us individually?
"There will be other stuff too, but we haven't thought of it yet."
This is still on TUS.com
And on TUSJapan, fans had to create Twitter accounts and link it to a "fan-map" by a specific deadline. For what? They also entered personal information such as e-mail and their home addresses, and were told there would be further news from the band, by which they will find out through that medium.
After the fan-map deadline ended, a message, which still appears on TUSJapan, appeared at the end basically saying "stay tuned!" I a mnot a native Japanese speaker but have enough knowledge of the language to know it implies more than just "thank you", in English, "douzo-otanoshimini" can almost literally be translated to "please anticipate entertainment". "otanoshimi" is the formal version of "tanoshii" which is the adjective, fun. "Douzo" is a phrase used when presenting something. If Thom wanted to use formal Japanese when giving you a copy of TUS, he would have said "douzo" and handed it to you. Put the two together, and it's mostly used for "please wait" but the pieces of the phrase imply some sort of future fun.
From here, we can ask a few questions.
1) Could it happen?
2) What would it take for it to happen?
1) Could it happen? Happen as in… more content? We're already getting From the Basement, beyond that, we do not know. But could there be more art? More music perhaps? Yes. We saw with the Kid A hidden booklet which contained lyrics from songs on Amnesiac that Radiohead is fully capable of throwing such a curve ball.
2) What would it take to happen? I can see more artwork. It's been 4 years since In Rainbows. Who's to say they were only ready to release 8 songs? Of those 8 songs, Lotus Flower, Give up the Ghost, and Separator have all been previously performed by Thom. So it's not like they had to sit down and create it from scratch. Feral didn't take 4 years to finish.
We did see with Supercollider (which also had seen previous face-time) and the Butcher, that the band had a few songs they were working on that, evidently, was ready for release. Could they have more? There's a whole list of songs that were previously performed that haven't had proper studio releases.
Radiohead has stated their intent.
Radiohead has shown the propensity to do something like this in the past.
Radiohead has the means.
Radiohead has had the time.
So yes, speculation may be fruitful. Speculation is warranted. Speculation is needed and should only be taken for pure speculative entertainment.
Source: Mortigi Tempo
I thought this was certainly worth sharing. Let me know what you think in the comments section below.
Follow me on Twitter here.
The King Of Limbs Part 2 store on Amazon.com here
I wanted to share the following video with everyone. This is from 2001 in Paris where Radiohead perform both Kid A and Amnesiac.
By: Josh Date: June 2, 2011
Post tags: Chieftan Mews, Radiohead, Radiohead The King Of Limbs, Second Edition of The King Of Limbs Newspaper Album?, The King Of Limbs conspiracy theory, The King Of Limbs Part 2, The King Of Limbs part two, TKOL2, Will there be a Second Edition of The King Of Limbs Newspaper Album?
Radiohead released In Rainbows six year ago today
Happy Birthday Thom Yorke!
Radiohead released Kid A 13 years ago today
Thom Yorke posts new Office Chart 'Office Tea Party'
Adam Buxton hosting Radiohead 'BUG' show in Belfast and other news
Thom Yorke posts new Office Chart and other news
Previous: New Stanley Donwood Blog Post 06-01-2011
Next: Interesting Tweet from Sebastian Edge


MOVIE SYNOPSIS: You can watch Mother of the Week, full movie on FULLTV - Feature film of Lee Davis. Was presented to the public in 2015, it is a production of USA. You are able to watch Mother of the Week online, download or rent it as well on video-on-demand services (Netflix), pay-TV or movie theaters with original audio in English. This film was premiered in theaters in 2015 (Movies 2015). The official release in theaters may differ from the year of production.
The 30-minute film (full movie) was directed by Lee Davis.
The original audio of Mother of the Week has dialogues in Dolby Digital. The film was produced in USA.
Screenplay written by Frederick Stroppel and Jennifer Jiles.
Mark Lobene, Ron Verstappen, Jennifer Jiles and Adrienne Paxton.
As usual, the director filmed the scenes of this film in HD video (High Definition or 4K) with Dolby Digital audio. Without commercial breaks, the full movie Mother of the Week has a duration of 30 minutes. Possibly, its official trailer stream is on the Internet. You can watch this full movie free with Dolby Digital or English subtitles on movie TV channels, renting the DVD or with VoD services (Video On Demand player, Hulu) and PPV (Pay Per View, Netflix Movies, Amazon Prime Video).
See the page of this full movie, Mother of the Week in FULLTV Movies.
Look at Us Now, Mother!, full movie 2015 Look at Us Now, Mother!


text:
"""DISCO Block device Driver."""

import os
import time

from os_brick.initiator import connector
from oslo_config import cfg
from oslo_log import log as logging
from oslo_service import loopingcall
from oslo_utils import units
import six
from suds import client

from cinder import context
from cinder.db.sqlalchemy import api
from cinder import exception
from cinder.i18n import _
from cinder.image import image_utils
from cinder import interface
from cinder import utils
from cinder.volume import driver

LOG = logging.getLogger(__name__)

disco_opts = [
    cfg.IPOpt('disco_client',
              default='127.0.0.1',
              help='The IP of DMS client socket server'),
    cfg.PortOpt('disco_client_port',
                default='9898',
                help='The port to connect DMS client socket server'),
    cfg.StrOpt('disco_wsdl_path',
               default='/etc/cinder/DISCOService.wsdl',
               help='Path to the wsdl file '
                    'to communicate with DISCO request manager'),
    cfg.StrOpt('volume_name_prefix',
               default='openstack-',
               help='Prefix before volume name to differentiate '
                    'DISCO volume created through openstack '
                    'and the other ones'),
    cfg.IntOpt('snapshot_check_timeout',
               default=3600,
               help='How long we check whether a snapshot '
                    'is finished before we give up'),
    cfg.IntOpt('restore_check_timeout',
               default=3600,
               help='How long we check whether a restore '
                    'is finished before we give up'),
    cfg.IntOpt('clone_check_timeout',
               default=3600,
               help='How long we check whether a clone '
                    'is finished before we give up'),
    cfg.IntOpt('retry_interval',
               default=1,
               help='How long we wait before retrying to '
                    'get an item detail')
]

DISCO_CODE_MAPPING = {
    'request.success': 1,
    'request.ongoing': 2,
    'request.failure': 3,
}

CONF = cfg.CONF
CONF.register_opts(disco_opts)

# Driver to communicate with DISCO storage solution
@interface.volumedriver
class DiscoDriver(driver.VolumeDriver):
    """Execute commands related to DISCO Volumes."""

    VERSION = "1.0"

    def __init__(self, *args, **kwargs):
        """Init Disco driver : get configuration, create client."""
        super(DiscoDriver, self).__init__(*args, **kwargs)
        self.configuration.append_config_values(disco_opts)
        self.ctxt = context.get_admin_context()

        self.connector = connector.InitiatorConnector.factory(
            self._get_connector_identifier(), utils.get_root_helper(),
            device_scan_attempts=(
                self.configuration.num_volume_device_scan_tries)
        )

        self.connection_conf = {}
        self.connection_conf['server_ip'] = self.configuration.disco_client
        self.connection_conf['server_port'] = (
            self.configuration.disco_client_port)

        self.connection_properties = {}
        self.connection_properties['name'] = None
        self.connection_properties['disco_id'] = None
        self.connection_properties['conf'] = self.connection_conf

    def do_setup(self, context):
        """Create client for DISCO request manager."""
        LOG.debug("Enter in DiscoDriver do_setup.")
        path = ''.join(['file:', self.configuration.disco_wsdl_path])
        self.client = client.Client(path, cache=None)

    def check_for_setup_error(self):
        """Make sure we have the pre-requisites."""
        LOG.debug("Enter in DiscoDriver check_for_setup_error.")
        path = self.configuration.disco_wsdl_path
        if not os.path.exists(path):
            msg = _("Could not find DISCO wsdl file.")
            raise exception.VolumeBackendAPIException(data=msg)

    def _get_connector_identifier(self):
        """Return connector identifier, put here to mock it in unit tests."""
        return connector.DISCO

    def create_volume(self, volume):
        """Create a disco volume."""
        name = self.configuration.volume_name_prefix, volume["id"]
        vol_name = ''.join(name)
        vol_size = volume['size'] * units.Ki
        LOG.debug("Create volume : [name] %(vname)s - [size] %(vsize)s.",
                  {'vname': vol_name, 'vsize': six.text_type(vol_size)})
        reply = self.client.service.volumeCreate(vol_name, vol_size)
        status = reply['status']
        result = reply['result']
        LOG.debug("Create volume : [status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error while creating volume "
                     "[status] %(stat)s - [result] %(res)s.") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)
        LOG.debug("Volume %s created.", volume["name"])
        return {'provider_location': result}

    def delete_volume(self, volume):
        """Delete a logical volume."""
        disco_vol_id = volume['provider_location']
        LOG.debug("Delete disco volume : %s.", disco_vol_id)
        reply = self.client.service.volumeDelete(disco_vol_id)
        status = reply['status']
        result = reply['result']

        LOG.debug("Delete volume [status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error while deleting volume "
                     "[status] %(stat)s - [result] %(res)s.") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        LOG.debug("Volume %s deleted.", volume['name'])

    def create_snapshot(self, snapshot):
        """Create a disco snapshot."""
        volume = api.volume_get(self.ctxt, snapshot['volume_id'])
        description = snapshot['display_description']
        vol_id = volume['provider_location']
        LOG.debug("Create snapshot of volume : %(id)s, "
                  "description : %(desc)s.",
                  {'id': vol_id, 'desc': description})

        # Trigger an asynchronous local snapshot
        reply = self.client.service.snapshotCreate(vol_id,
                                                   -1, -1,
                                                   description)
        status = reply['status']
        result = reply['result']
        LOG.debug("Create snapshot : [status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error while creating snapshot "
                     "[status] %(stat)s - [result] %(res)s.") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        # Monitor the status until it becomes either success or fail
        params = {'snapshot_id': int(result)}
        start_time = int(time.time())

        timer = loopingcall.FixedIntervalLoopingCall(
            self._retry_get_detail,
            start_time,
            self.configuration.snapshot_check_timeout,
            'snapshot_detail',
            params)
        reply = timer.start(interval=self.configuration.retry_interval).wait()

        snapshot['provider_location'] = result
        LOG.debug("snapshot taken successfully on volume : %(volume)s.",
                  {'volume': volume['name']})
        return {'provider_location': result}

    def delete_snapshot(self, snapshot):
        """Delete a disco snapshot."""
        LOG.debug("Enter in delete a disco snapshot.")

        snap_id = snapshot['provider_location']
        LOG.debug("[start] Delete snapshot : %s.", snap_id)
        reply = self.client.service.snapshotDelete(snap_id)
        status = reply['status']
        result = reply['result']
        LOG.debug("[End] Delete snapshot : "
                  "[status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error while deleting snapshot "
                     "[status] %(stat)s - [result] %(res)s") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

    def create_volume_from_snapshot(self, volume, snapshot):
        """Create a volume from a snapshot."""
        name = self.configuration.volume_name_prefix, volume['id']
        snap_id = snapshot['provider_location']
        vol_name = ''.join(name)
        # Trigger an asynchronous restore operation
        LOG.debug("[start] Create volume from snapshot : "
                  "%(snap_id)s - name : %(vol_name)s.",
                  {'snap_id': snap_id, 'vol_name': vol_name})
        reply = self.client.service.restoreFromSnapshot(snap_id, vol_name)
        status = reply['status']
        result = reply['result']
        LOG.debug("Restore  volume from snapshot "
                  "[status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error[%(stat)s - %(res)s] while restoring snapshot "
                     "[%(snap_id)s] into volume [%(vol)s].") %
                   {'stat': six.text_type(status), 'res': result,
                    'snap_id': snap_id, 'vol': vol_name})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        # Monitor the status until it becomes
        # either success, fail or timeout
        params = {'restore_id': int(result)}
        start_time = int(time.time())

        timer = loopingcall.FixedIntervalLoopingCall(
            self._retry_get_detail,
            start_time,
            self.configuration.restore_check_timeout,
            'restore_detail',
            params)
        reply = timer.start(interval=self.configuration.retry_interval).wait()

        reply = self.client.service.volumeDetailByName(vol_name)
        status = reply['status']
        new_vol_id = reply['volumeInfoResult']['volumeId']

        if status != 0:
            msg = (_("Error[status] %(stat)s - [result] %(res)s] "
                     "while getting volume id.") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)
        LOG.debug("Restore done [status] %(stat)s - "
                  "[volume id] %(vol_id)s.",
                  {'stat': status, 'vol_id': six.text_type(new_vol_id)})
        return {'provider_location': new_vol_id}

    def create_cloned_volume(self, volume, src_vref):
        """Create a clone of the specified volume."""
        LOG.debug("Creating clone of volume: %s.", src_vref['id'])
        name = self.configuration.volume_name_prefix, volume['id']
        vol_name = ''.join(name)
        vol_size = volume['size'] * units.Ki
        src_vol_id = src_vref['provider_location']
        LOG.debug("Clone volume : "
                  "[name] %(name)s - [source] %(source)s - [size] %(size)s.",
                  {'name': vol_name,
                   'source': src_vol_id,
                   'size': six.text_type(vol_size)})
        reply = self.client.service.volumeClone(src_vol_id, vol_name)
        status = reply['status']
        result = reply['result']
        LOG.debug("Clone volume : [status] %(stat)s - [result] %(res)s.",
                  {'stat': six.text_type(status), 'res': result})

        if status != 0:
            msg = (_("Error while creating volume "
                     "[status] %(stat)s - [result] %(res)s.") %
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        # Monitor the status until it becomes
        # either success, fail or timeout
        params = {'clone_id': int(result),
                  'vol_name': vol_name}
        start_time = int(time.time())

        timer = loopingcall.FixedIntervalLoopingCall(
            self._retry_get_detail,
            start_time,
            self.configuration.clone_check_timeout,
            'clone_detail',
            params)
        reply = timer.start(interval=self.configuration.retry_interval).wait()

        reply = self.client.service.volumeDetailByName(vol_name)
        status = reply['status']
        new_vol_id = reply['volumeInfoResult']['volumeId']

        if status != 0:
            msg = (_("Error[%(stat)s - %(res)s] "
                     "while getting volume id."),
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        LOG.debug("clone done : "
                  "[status] %(stat)s - [volume id] %(vol_id)s.",
                  {'stat': status, 'vol_id': six.text_type(new_vol_id)})
        return {'provider_location': new_vol_id}

    def copy_image_to_volume(self, context, volume, image_service, image_id):
        """Fetch the image from image_service and write it to the volume."""
        LOG.debug("Enter in copy image to volume for disco.")

        try:
            device_info = self._attach_volume(volume)
            image_utils.fetch_to_raw(context,
                                     image_service,
                                     image_id,
                                     device_info['path'],
                                     self.configuration.volume_dd_blocksize,
                                     size=volume['size'])
        finally:
            self._detach_volume(volume)

    def _attach_volume(self, volume):
        """Call the connector.connect_volume()."""
        connection_properties = self._get_connection_properties(volume)
        device_info = self.connector.connect_volume(connection_properties)
        return device_info

    def _detach_volume(self, volume):
        """Call the connector.disconnect_volume()."""
        connection_properties = self._get_connection_properties(volume)
        self.connector.disconnect_volume(connection_properties, volume)

    def copy_volume_to_image(self, context, volume, image_service, image_meta):
        """Copy a  volume to a new image."""
        LOG.debug("Enter in copy image to volume for disco.")
        try:
            device_info = self._attach_volume(volume)
            image_utils.upload_volume(context,
                                      image_service,
                                      image_meta,
                                      device_info['path'])
        finally:
            self._detach_volume(volume)

    def extend_volume(self, volume, new_size):
        """Extend an existing volume's size."""
        vol_id = volume['provider_location']
        LOG.debug("Extends volume : %(id)s, new size : %(size)s.",
                  {'id': vol_id, 'size': new_size})
        new_size_mb = new_size * units.Ki
        reply = self.client.service.volumeExtend(vol_id, new_size_mb)
        status = reply['status']
        result = reply['result']

        if status != 0:
            msg = (_("Error while extending volume "
                     "[status] %(stat)s - [result] %(res)s."),
                   {'stat': six.text_type(status), 'res': result})
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)
        LOG.debug("Volume extended : [id] %(vid)s - "
                  "[status] %(stat)s - [result] %(res)s.",
                  {'vid': vol_id,
                   'stat': six.text_type(status),
                   'res': result})

    def initialize_connection(self, volume, connector):
        """Function called before attaching a volume."""
        LOG.debug("Enter in initialize connection with disco, "
                  "connector is %s.", connector)
        data = {
            'driver_volume_type': 'disco',
            'data': self._get_connection_properties(volume)
        }
        LOG.debug("Initialize connection [data]: %s.", data)
        return data

    def _get_connection_properties(self, volume):
        """Return a dictionnary with the connection properties."""
        connection_properties = dict(self.connection_properties)
        connection_properties['name'] = volume['name']
        connection_properties['disco_id'] = volume['provider_location']
        return connection_properties

    def terminate_connection(self, volume, connector, **kwargs):
        """Function called after attaching a volume."""
        LOG.debug("Enter in terminate connection with disco.")

    def _update_volume_stats(self):
        LOG.debug("Enter in update volume stats.")
        stats = {}
        backend_name = self.configuration.safe_get('volume_backend_name')
        stats['volume_backend_name'] = backend_name or 'disco'
        stats['storage_protocol'] = 'disco'
        stats['driver_version'] = self.VERSION
        stats['reserved_percentage'] = 0
        stats['vendor_name'] = 'ITRI'
        stats['QoS_support'] = False

        try:
            reply = self.client.service.systemInformationList()
            status = reply['status']

            if status != 0:
                msg = (_("Error while getting "
                         "disco information [%s].") %
                       six.text_type(status))
                LOG.error(msg)
                raise exception.VolumeBackendAPIException(data=msg)

            info_list = reply['propertyListResult']['PropertyInfoList']
            for info in info_list:
                if info['name'] == 'freeCapacityGB':
                    stats['free_capacity_gb'] = float(info['value'])
                elif info['name'] == 'totalCapacityGB':
                    stats['total_capacity_gb'] = float(info['value'])
        except Exception:
            stats['total_capacity_gb'] = 'unknown'
            stats['free_capacity_gb'] = 'unknown'

        self._stats = stats

    def get_volume_stats(self, refresh=False):
        """Get backend information."""
        if refresh:
            self._update_volume_stats()
        return self._stats

    def local_path(self, volume):
        """Return the path to the DISCO volume."""
        return "/dev/dms%s" % volume['name']

    def ensure_export(self, context, volume):
        """Ensure an export."""
        pass

    def create_export(self, context, volume, connector):
        """Export the volume."""
        pass

    def remove_export(self, context, volume):
        """Remove an export for a logical volume."""
        pass

    def is_timeout(self, start_time, timeout):
        """Check whether we reach the timeout."""
        current_time = int(time.time())
        if current_time - start_time > timeout:
            return True
        else:
            return False

    def _retry_get_detail(self, start_time, timeout, operation, params):
        """Keep trying to query an item detail unless we reach the timeout."""
        reply = self._call_api(operation, params)
        status = reply['status']

        msg = (_("Error while getting %(op)s details, "
                 "returned code: %(status)s.") %
               {'op': operation, 'status': six.text_type(status)})

        if status != 0:
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        item_status = self._get_item_status(operation, reply)
        if item_status == DISCO_CODE_MAPPING['request.failure']:
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

        elif item_status == DISCO_CODE_MAPPING['request.success']:
            raise loopingcall.LoopingCallDone(retvalue=reply)
        elif self.is_timeout(start_time, timeout):
            msg = (_("Timeout while calling %s ") % operation)
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

    def _call_api(self, operation, params):
        """Make the call to the SOAP api."""
        if operation == 'snapshot_detail':
            return self.client.service.snapshotDetail(params['snapshot_id'])
        if operation == 'restore_detail':
            return self.client.service.restoreDetail(params['restore_id'])
        if operation == 'clone_detail':
            return self.client.service.cloneDetail(params['clone_id'],
                                                   params['vol_name'])
        else:
            msg = (_("Unknown operation %s."), operation)
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

    def _get_item_status(self, operation, reply):
        """Make the call to the SOAP api."""
        if reply is None:
            msg = (_("Call returned a None object"))
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)
        elif operation == 'snapshot_detail':
            return reply['snapshotInfoResult']['status']
        elif operation == 'restore_detail':
            return reply['restoreInfoResult']['status']
        elif operation == 'clone_detail':
            return int(reply['result'])
        else:
            msg = (_("Unknown operation "
                     "%s."), operation)
            LOG.error(msg)
            raise exception.VolumeBackendAPIException(data=msg)

redpajama_set_name: RedPajamaGithub


Home Food DigiBites: A Salad Built For Summer – With A Bonus From Sorrento!
DigiBites: A Salad Built For Summer – With A Bonus From Sorrento!
With temperatures rising and family life set to move poolside or to the backyard, this recipe features an unusual combination of the best of Northern California summer produce – great flavors, textures, nutrient-rich and beautiful! Great presentation for summer entertaining at the park or around the pool!
Please make sure to include some great local options when shopping. My tip for sourcing is below!
This salad is perfect for the summer months when the heirloom tomatoes and stone fruits are plentiful. Choose a variety for color, texture and flavor. The clean flavor and silky texture of the mozzarella is a perfect complement to the sweetness of the nectarines and blueberries or blackberries and balanced with the mild acidity of the Amphora Peach White Balsamic vinegar. You can feel free to add other fruits and berries, figs and olives. Serve this on individual plates or family-style on a large platter!
8 ounces Ciliegine mozzarella cheese, (cherry–sized), halved, rinsed and dried.
• Lay out 4 to 6 serving plates, and place a variety of the cut tomatoes in the center of each plate. Add a few pieces of the fresh basil. Lightly season with kosher salt and freshly ground black pepper. Follow with the nectarines, cheese, more tomatoes, basil and lightly season until the desired serving size is reached. Top with the blueberries.
• In a small bowl, whisk together the olive oil and vinegar. Drizzle a couple of tablespoons of the mixture over each plate. Season with an additional sprinkle of kosher salt and freshly cracked black pepper.
• Garnish with pieces of torn basil leaves and a basil top. Finish with a final pinch of French grey salt and ground pepper, to taste. Serve immediately.
*Chef Charlie's Tip Of The Day: Try to get Amphora products, particularly the Peach – White Balsamic vinegar. Shop is located in Lafayette, behind the Cooperage on Fiesta Lane. When shopping, mention Chef Charlie and/or Epicurean Exchange to receive a friends and family discount.
• Fill the canning jars with the Everclear Grain Alcohol. Add the peels of 6 lemons to each jar. Cover with the lids and gently shake each for a minute or so.
• Place the jars in a cool, dark place for 3 weeks; gently shaking them every couple of days.
• After 3 weeks, make the simple syrup: combine the water and sugar in a stock pot and place over medium heat. As the mixture heats, stir gently and constantly, until the sugar is completely dissolved. Remove from the heat and allow to cool completely.
• Strain the alcohol from the lemon peels, using a fine mesh strainer, into the sugar mixture. Keeping the peels in the jar, add a bit of water and shake the peels and again pour off excess. Add the peels to the strainer and press the peels to release as much liquid as possible. Stir the mixture for several minutes to ensure it is well-combined.
• Transfer the finished product to the glass bottles using a funnel. Store bottles in the same cool, dark place for another 2 weeks to allow the flavors to meld and concentrate.
• To serve: chill the bottles in the freezer for a minimum of 2 hours before serving. Serve straight up, in small aperitif glasses. Enjoy!
Note: This recipe makes a substantial amount, and assumes you will want to make, store and share the final product. You can reduce the amount by simply dividing this recipe into thirds, or increase to create the desired amount.
Doesn't it? One of the perils of working at NEWS24/680 is that we're subjected to some really good recipes on a regular basis. They always told us to "stay hungry" in j-school, just not like this!
Great drink but use in moderation!
RIP Anthony Bourdain, a colorful life, an engaging writer!


Pink Ruffle Bedding Interior Architecture | Partitions Net pink ruffle bedding target. pink ruffle bedding twin. pink ruffle bedding canada.
Amusing Pink Ruffle Bedding At Chic Crate And Barrel. Captivating Pink Ruffle Bedding In Amazon Com MeMoreCool Home Textile Elegant Design Pastoral Style. Interior Design For Pink Ruffle Bedding On Princess Cotton Duvet Cover Wedding Set Queen. Fabulous Pink Ruffle Bedding At DREAMY PINK RUFFLES SHABBY COTTAGE CHIC TWIN Or FULL QUEEN QUILT. Elegant Pink Ruffle Bedding Of Summer S Hottest Sales On Waterfall Duvet Cover PINK TWIN XL. Interior Design For Pink Ruffle Bedding Of Waterfall Duvet Covers 1000TC Egyptian Cotton All Sizes. Likeable Pink Ruffle Bedding On Textile Beautiful Lace Ruffled Comforter Sets Duvet Cover Twin. Endearing Pink Ruffle Bedding At Collection Simply Shabby Chic Target. Eye Catching Pink Ruffle Bedding In Amazon Com Sisbay Fancy Girls Set Luxury Princess. Cool Pink Ruffle Bedding Of Diamond Lace Princess Sets Luxury Ruffles Bed Skirt. Vanity Pink Ruffle Bedding At Limoges Duvet Cover Set Britains. Traditional Pink Ruffle Bedding In Best Products On Wanelo. Adorable Pink Ruffle Bedding At Set Light Awesome. Luxurious Pink Ruffle Bedding On Duvet Cover Handmade In Natural Linen Shabby Chic. Traditional Pink Ruffle Bedding At Korean High Grade Chiffon Princess Wedding Set 4pcs. Modern Pink Ruffle Bedding At Collection Duvet Cover Pottery Barn Kids. Alluring Pink Ruffle Bedding In Perfectly Dreamy Ruffles Shabby Cottage Chic Comforter Quilt. Impressive Pink Ruffle Bedding At Don T Miss This Deal On Xhilaration Comforter Set. Marvelous Pink Ruffle Bedding On Feminine Sets Foter. Minimalist Pink Ruffle Bedding At Queen Style Ideas. Enthralling Pink Ruffle Bedding On Ruffled Queen Duvet Cover Shabby Chic RF. Appealing Pink Ruffle Bedding On LIGHT PINK RUFFLE BEDDING The Hunt. Lovely Pink Ruffle Bedding In Set. Awesome Pink Ruffle Bedding Of Comforter Set Palmamkt Com. Mesmerizing Pink Ruffle Bedding In Bowtie Solid Cotton Full Girls Lace.


text:
Message from HH
Cultural Scholarship Program
Home > Media Center > News
Ministry of Culture announce new craft programme in Albalad, Jeddah
The Centre for the Building Arts in Albalad, a partnership between the Prince's Foundation and the Ministry of Culture, will launch new vocational training programmes in February to train the next generation of heritage regeneration professionals. The centre will open its doors to candidates interested in registering on January 19th and 23rd.
Structured as a series of modules centred around a Crafts Workshop and Design Studio experience starting in February, the vocational training programme provides a strong foundation in traditional Islamic art and crafts, architecture and design. The course will teach design knowledge and crafts skills to enable students to eventually undertake regeneration on commercial projects.
After attending combined craft and design modules, students will specialise in design skills or on mastering crafts techniques, supported by focused project work. The course will culminate in a major project set within Jeddah's historic houses. At the end of the programme, students will graduate with a diploma from The Prince's Foundation School of Traditional Arts.
The programme will furnish participants with a high-level educational experience, alongside direct involvement in the vibrant regeneration of Albalad. The heritage of the UNESCO site will be used as an educational and training resource through analysis and research, as well as hands-on practical training on the buildings themselves. Through this, the programme offers its students and graduates career paths through the Ministry of Culture's regeneration projects in the city.
Open to craftsmen, architects, researchers, artists, designers, architecture and art students, our vocational and design training offers opportunities to those who wish to become proficient designers to engage with the building arts and crafts. It also develops graduates to pass on the traditional knowledge and skills they have learnt and developed. Two open days will be held on 19 & 23 January for those interested in learning more.
The Centre for the Building Arts will be a regional architectural crafts and design centre for a vibrant community of designers and craftsmen. The programme uses the environment of Albalad as a learning resource and contributes towards the regeneration of the architecture and the crafts that belong to the wide cultural heritage of Jeddah and Saudi Arabia. The Centre integrates traditional arts and crafts in a contemporary context, through development of high standards of artistic and technical ability based on traditional craft techniques.
King Faisal Road, Al Bujairi, Ad Diriyah 13711.
Please fill
2019 © All rights reserved to The Ministry of Culture


text:
State gives OK for Portage cultivator to grow marijuana; first in Ohio
By Owen DaughertyThe Columbus DispatchGateHouse Media Ohio
The first medical marijuana plant in Ohio can now start growing.
The Ohio Department of Commerce awarded its first certificate of operation Friday to a medical marijuana grower in Portage County in northeast Ohio.
FN Group Holdings, which will do business as Wellspring Fields, is the first cultivator to receive the go-ahead from the state.
"They are good to go whenever they see fit," said Stephanie Gostomski, spokeswoman for the department of commerce. "That is a business decision on their end."
Gostomski added that this is an important step forward in the program's long timeline.
"Today is another day where we had a lot of movement and we are going to be continuing to work hard to make sure we have an operational program that has a safe, patient-centered product on the shelf," she said.
Just when that product is on the shelf is still unclear. What is known is that the product, even with the initial cultivator now certified, will not be ready come Sept. 8 — the state's deadline for when the program was intended to be "fully operational."
With Wellspring Fields getting the OK from the state, the delay beyond September may not be as long as initially expected.
Marijuana plants can be grown in roughly 8 to 12 weeks at the earliest.
There are 25 total provisional licenses for growers in the state, and 11 inspections are scheduled for July and August.
Additionally, the state announced two public colleges — Hocking Technical College and Central State University — will be licensed to test the marijuana. Those schools still must be inspected and certified before they can begin.
Medical marijuana in Ohio will be available to patients with 21 qualifying medical conditions with the recommendation of a state-certified physician.


Quester Tangent, supplier of train electronics and software solutions for the passenger rail transportation industry, launched its product End-of-Life (EOL) management program to maintain its long-term support commitments.
This strategic initiative gives Quester Tangent (QT) the ability to proactively identify and notify customers about EOL issues in their in-service products and components. Supported by a suite of processes and tools, this program regularly monitors electronic components in active designs for End-of-Life concerns. Once component issues are identified, product and customer impact is evaluated and action plans are developed to address the needs for the installed base.
"We've showcased our lifecycle commitment by having never terminated the long-term support of a product in Quester Tangent's 20 year history," said Stephen McKay, President/CEO at Quester Tangent. "This new initiative solidifies our position in the rail industry and allows us to provide better product support for electronics in a market needing such longevity," added McKay.


text:
Q: .net docking controls I have created a CustomControl to show information labels and that can be minimized/restored with an arrow button:

It should be docked to the top of a form.
Then in the same form usually I have a center panel with all the normal controls, here it is showm in yellow just to highlight it.

Finally I have a bottom panel containing all the commands/buttons available on the form. This is docked to the bottom.
The problem is that I don't know how to set the center panel to automatically consume the available space when I collapse the top panel. That is, there's no a "Center" Docking style.
If I dock the middle panel to the top, then when I collapse the top one I get:

If I anchor the middle panel to all the edges, I get:

If I dock the middle panel to fill the area, then it fills all the client area of the form, regardless the existence of the other panels.
Yes I could create an event in the top control to notify who is interested about the size change but.. It's an ugly solution because it's not automatic: in every form I'll have to listen to the event and resize the middle panel accordingly.
Is there an elegant solution to this problem?

A: Set the DockStyle to Fill:

Add this control after the other two. To ensure it comes after the other two, CTRL-X it, then CTRL-V it back in.

A: You do want DockStyle.Fill however if that middle control is going 'behind' the top and bottom docked controls, then you need to re-order the controls. Internall WinForms processes the items in the order they were added to the parent.  In VisualStudio designer, right-click on your middle panel that is docked to Fill, and select "Bring to Front" or "Move to Back". I forget which one it is offhand, but one of them should fix your issue.

A: Using Split container will solve the problem.
Drag a Panel and make the panel dock property to top (which has ur expander/collapse button).
Now drag a split container and change the oreintation to horizontal.and change dockstyle to fill.
Now in the splitcontainer top panel drag ur custom control and add ur form controls to the bottom splitter panel.
When you want to hide the hide ur custom control write the following logic in button click on top panel
private void btnExpandCollapseOptions_Click(object sender, EventArgs e)
    {
        if (splMainContainer.Panel1Collapsed)
        {
            splMainContainer.Panel1Collapsed = false;
            btnExpandCollapseOptions.Image = ImageResource.collapseMinus;
//changing image to collapse/expand from imageresource.resx file
        }
        else
        {
            splMainContainer.Panel1Collapsed = true;
            btnExpandCollapseOptions.Image = ImageResource.ExpandPuls;
        }

    }

the bottom contorl will occupy the total space when custom control collapses


text:
IT'S ALL INDIE
[TRACK OF THE WEEK] Mint - Hypoallergenic
Posted by Fred Bambridge on July 18, 2017
I love finding those tunes that allow me to sing along after only one listen but also don't talk down to me as a fan and assume the only musical vocabulary I have is "woooahhhh ohhhh ohhhh". The Mint lads have produced a blinding summer tune that will soundtrack many a teenage evening this summer when loose morals and flowing alcohol are involved.
I'm hoping the lyric, "My baby tastes like summer" is a nod to beautiful encounter they've had surrounding their youth and not one of crippling hayfever and rejections (this is not my therapy output honest), but their self-professed tagline, "Music to make you kiss strangers", kind of works for this new tune I reckon.
Wistfully going about its business, 'Hypoallergenic' strikes me that it could probably be a fan's favourite at gigs. The girls down the front assuming every word is written about them because all their sweets have turned sour before. Either way, those sing-along moments throughout this tune will no doubt give the lads a great buzz to carry on what they're achieving recently.
'Hypoallergenic' sounds like the guy's most produced effort yet but I'm assuming that has come off the back of the success of the 'Happiness is Heroin' EP. Now established on the coveted 'This Feeling' new music scene and always being supported by BBC Introducing, the Mint lads are doing Grimsby proud!
Cheers for reading, share it about a bit if you like it, the lads would love you forever for that.
Written by Jase Hare (@JaseHare)
Grimsby Indie Jase Hare MINT Track of the week
Chris Scholar's Northside suggests the only way is up
Chris Scholar is a talented guy, clearly. If his latest single Northside is not enough, just check out the listens on his back catalog, and if that's not enough, he has written for Chris Brown, 2 Chainz, and directed videos for Trippie Red, Lil Xan and French Montana. Impressive right?
Produced by Brandon Randolph and Dcember, Chris states that "Northside is an ode to my roots,'' discussing "a coming of age story" about "beginnings in love". The easy going verses and falsetto chorus are designed to keep you moving, and is both cooly composed and highly commercial.
[SOUNDS OF 2020] - #5 - beabadoobee
Beabadoobee has had quite the rise so far, after being signed to Ditty Hit - home to Wolf Alice and The 1975 - she's gone on to get quite a fanbase here in the UK and back in her home country of Philippines. Known to her friends as Bea, she began recording music under the current guise in 2017 at just 16 years old. With some DIY bedroom-pop tracks recorded, later on in the same year she released her debut track, "Coffee".
Spring forwards to the end of 2019, a couple of solid EPs in the past 12 months has projected her into more people's heads and ears with the latest single "Space Cadet" being picked up by BBC Radio 1's Annie Back as her 'Hottest Record', and since has been selected to support The 1975 on their UK arena tour this year, what a rise!
Songs you need to check out are, "She Plays Bass", "I Wish I Was Stephen Malkmus", "If You Want To", and "Space Cadet". With so much more to come from beabadoob…
Tessie showcases her latest EP with new single 'Do Me Like That'
Hailing from the waterfront city of Vallejo, California, singer and songwriter Tessie first made her initial impressions last year with the release of her debut EP 'Feel Trip', featuring the memorable singles 'The Way' and 'Can't Wait'. And after a few months to refresh herself, she returns with her latest soulful offering 'Do Me Like That'.
Lifted from her follow-up EP 'Feel Trip II', 'Do Me Like That' looks to continue the same vibrant and sweeping tones she first expressed on her previous collection. Taking cues from artists such as Alicia Keys, JoJo, and Jazmine Sullivan, this smooth and sultry new release sees her in a soft and intimate guise, using little more than a loosely played guitar, humbled drums and her own soaring vocals to create this rich and enticing new cut.
Speaking about her latest release, she added, "'Do Me Like That' is an ode to all the hopeless romantics. The track encompasses the feeling of going all the way out on a limb for love and not getting the same lo…
Boyanlevchev is back with the killer album 'The Mist Opportunity'
Boyanlevchev's shrewd writing and hip-hop prowess is here for all to see with his debut album The Mist Opportunity. Leading with Like A Fool Ft. BYFYN, it's clear why he has been hailed for his 'creamy adlibs' by NOISEY, with the US based Bulgarian hailing artist producing his finest work yet. Check out the album below:
Influences for the album can be heard with the likes of Kanye West and André 3000 sticking in the mind. Discussing the lead single, Boyan explains:
"My mom really likes Like A Fool. When I made it, she gushed and insisted that I give it to Justin Bieber to perform it - I guess she thought it could be the new Despacito? Or perhaps she was hinting that I'm not a good enough singer for my own music… Well, I got my close friend and popping star BYFYN to tenderly lay some lush vocals on top, so the singing bit is covered. Now I just have to give Bieber a call, and get a billion views on YouTube.."
[SOUNDS OF 2020] - #11 - The Scruff
We're back with a bang this year, and sadly due to time constraints and general life we've had to cut down the 'Sounds of...' list to 15. BUT, don't feel like there will be less quality as this year has been one of the best years for emerging new acts in ages.
We've been known as a great place to discover new bands and with our 'Sounds of...' lists being very accurate you need to check back daily for updates. Last year was Sam Fender and other alumni of our lists have been James Bay, Wolf Alice, Pale Waves, Mansioanir, Years & Years, The Amazons and Mura Masa.
With the band taking to social media earlier on this year to say they're in the studio to record and write their debut LP, it's safe to say we were dead excited! The trio from Bedford are slowly but surely getting to that sweet-spot in the music industry with the hype set at 'just so', a solid amount of singles to bring to their live shows and performances that are so tig…


1978-1980 Master of Fine Arts Rutgers University, Mason Gross School of the Arts.
1974-1978 Bachelor of Arts, in Visual Arts (visual art) Rutgers University, Rutgers College, with departmental honors.
Researcher: From Oct 2010 to present. Investigating the application and theory of Information Visualization and 3D on the web technologies (WebGL/X3DOM) for a variety of scientific applications, within the High Performance Computing and Visualization Group of the Mathematics and Applied Computation Division.
Program Manager: From Oct 2006 to Oct 2010, Complex Systems program responsible for a portfolio of projects totally approximatly $2.5M/year. Developed vision plans and oversee execution of projects dealing with complex systems. Complex systems are those types of systems in which large numbers of similar entities exhibit some type of macroscopic behavior that can not be predicted simply by looking at the individual entities. Application domains are currently primarily Networking oriented, future applications will involve biological systems, nanotechnology, complex engineering as opportunities arise.
Project Supervisor: Visualization and Virtual Reality (VVR) project obtaining funding between $500-750K/year for over 10 years. Responsible for planning, management of a staff of 3-5, and most of the technical design work of the project. Created the Open Virtual Reality Testbed. I created the testbed, obtained funding and have received a fair amount of publicity due to a collection world wide web pages I maintain. I was also a principle technical staff member in the initiation and development of a NIST wide "Virtual Library" project which seeks to bring the information resources of the NIST library to staff members desks. Also active in a variety of manufacturing standards efforts. I have also been active in obtaining several cooperative research agreements between outside industry and NIST. Participant in a number of other projects including: A graphical tool to generate 2D tilings for research sponsored by the Bureau of Engraving and Printing; Visual display of control systems; Implementation of a shape grammar for stylistic analysis of an artist; Development of object oriented data base systems for use in data representation; and Systems programmer for a sizable network of Sun's, and Silicon Graphics Iris's.
Web3D Consortium: Vice President (99-01) and Member of Board of Directors (99-06), active in the H-ANIM (Humanoid Animation) working group and founded the Medical Working Group, leading successful effort to obtain grant funding for the consortium.
About.com: 3D Graphics/Virtual Reality Guide running what was, during its existance, the most popular web site (Article Archives) for information about VRML and other 3D Web technologies. From October 1997 to June 2002 I wrote a weekly feature article (194 total) for the site, and provided links to hundreds of information sources, tutorials, and examples. In addition to writing I hosted weekly chats sometimes with noted guests. The site was internationally recognized and was generally considered a "must see" web site for obtaining the latest news and information on the Web3D field.
Navigation Sciences: Responsible for the specification, procurement, and installation of a VAX 730 based software development system. This included budgeting and justification of the system. An Ethernet was installed between several IBM PC's and the VAX which was running UNIX 4.2. Software was to be developed on the PC's with support data bases and other tools on the VAX. Additionally graphics software for the PC's was reviewed and selected for the development of a PC bases navigation system with integrated nautical charts.
Videomagic Laboratories: Part of a software group that designed and implemented a real time surrogate travel system using video disks, overlay graphics, audio with digitized speech and digital data from the video disk. The project was for a video disk based arcade game. All the work was done in C on 68000 based development systems and later downloaded to a 68000 S100 based run time system. Responsibility in the integrated system included: designing and implementing real time graphics code and a data base system which was a mechanism for describing animations. Also served as the "unofficial" systems person responsible for the maintenance of 5 UNIX machines. Supervised part-time personnel and consultants who worked on systems tasks. Responsible for producing a prototype film which functioned as a testbed for the surrogate travel software, including budgeting and hiring outside production staff.
Carnegie Mellon University: Designed and implemented (Pascal) an interactive graphics system which allowed teachers to produce illustrations and animations using an IBM PC. The system was a combination of a paint system with animation capabilities. This software later became part of a start-up company delivering educational and training systems.
Sandy Ressler, Kyle Leber, "Web Based 3D Visualization and Interaction for Whole Body Laser Scans" in Proceedings of the 4th International Conference on 3D Body Scanning Technologies, Long Beach CA, USA, Nov. 19-20, 2013.
Sandy Ressler Web-based Declarative 3D Graphics for Anthropometry Visualization and Education" in Proceedings of the The Graphical Web 2012, Zurich, Switzerland, Sept. 11-14, 2012.
Qiming Wang, Bonita Saunders, Sandy Ressler Dissemination of 3D Visualizations of Complex Function Data for the NIST Digital Library of Mathematical Functions in Data Science Journal, Vol. 6 (2007).
Afzal Godil, Sandy Resler, Retrieval and Clustering from a 3D Human Database Based on Body and Head Shape in Proceedings of 2006 Digital Human Modeling for Design and Engineering, July 2006, Lyon France.
R. Mollard, S. Ressler, K. Robinette Database contents, structure, and ontology for WEAR in proceedings of IEA2006: 16th World Congress on Ergonomics, July 10-14, 2006, Maastricht, The Netherlands.
Qiming Wang, Sandy Ressler A Tool Kit to Generate 3D Animated CAESAR Bodies in proceedings of Digital Human Modeling for Design and Engineering (DHM), June 14-16, 2005, Iowa City, Iowa.
Afzal Godil, Patrick Grother, Sandy Ressler Human Identification from Body Shape in 4th International Conference on 3D Digital Imaging and Modeling, Oct 6-10 2003, Banff, Canada.
Sandy Ressler, Qiming Wang Using Web3D Technologies to Visualize and Analyze Caesar Datain proceeding of XVth Triennial Congress International Ergonomics Association (IEA 2003) Aug 24-29, Seoul, Korea.
Sandy Ressler, Qiming Wang A Web3D Based CAESAR Viewer in Proceedings of Computer Assisted Radiology and Surgery (CARS) 2002 - H.U. Lemke, M.W. Vannier; K. Inamura, A.G. Farman, K. Doi & J.H.C. Reiber (Editors) CARS/Springer.
Sandy Ressler, Brian Antonishek, Qiming Wang, Afzal Godil, Keith Stouffer, When Worlds Collide - Interactions between the Virtual and the Real Proceedings on 15th Twente Workshop on Language Technology; Interactions in Virtual Worlds, Enschede, The Netherlands, May 19-21, 1999.
Sandy Ressler, Qiming Wang "Integrating Factory Floor and Human Simulation in a Portable Web-Based Environment" in Proceedings of Human Factors and Ergonomics Society European Chapter 1997, Bochum Germany, Nov 6-8, 1997.
Sandy Ressler, Bill Trefzger "Development of the NIST Virtual Library" IEEE Internet Computing Vol . 1, No. 5, Sept-Oct 97, pg 35-41.
"Experiences with Heterogeneous-Platform CD-ROM's," Proceedings of the Advanced Information Interfaces: Making Data Accessible Conference, June, 1991.
Network Based Documents (PDF) chapter in OII Spectrum Management Handbook, Technology Appraisals, 1995.
Towards Intelligent Document Processing - from batch to WYSIWYG and beyond, OII Spectrum Vol. 1, No. 5, Feb. 1994.
Contributor to: Virtual Reality Assessment - A Report of the Task Group on Virtual Reality to the HPCCIT Subcommittee of the NSTC. April 1994.
U.S. VR Policy Raises Concerns, Real Time Graphics, Vol 2, No. 3, Sept. 1993.
Battele Seattle Group Paper on Graphic Input Interaction Techniques, Siggraph Computer Graphics 1983.
Organizer of Panel Use and Value of Open 3D Standards at Medicine Meets Virtual Reality 13, Jan 29, 2005, Long Beach, California.
3D Computer Graphics on the World Wide Web from sandyr on Vimeo.
State of the Art for 3D on the Web, DVExpo 2001, Los Angeles, CA, December 4, 2001.
VRML a Standard for 3D on the Internet, SigCAT '98 Baltimore, MD, May 19, 1998.
Where do we go now?, Systems Anthropometry Workshop June 1997.
If there are so many standards, why can't my avatar dance with yours?, Virtual Humans 97, June 1997.
Real World Virtual Reality and Manufacturing, INFORMS Washington DC, Spring 96.
Open Virtual Reality Testbed Activities, NASA workshop on Human-Computer Interaction and Virtual Environments Ahmed K. Noor (ed.), NASA Conference Publication 3320, Nov. 1995.
Approaches Using Virtual Environments with Mosaic (PDF) at the WWW94 conference Oct. 94.
Open Systems and Virtual Reality: The Role of Standards in Creating a Market (PDF) at the VR93 Conference May 93.
Open Systems and Virtual Reality (PDF) at the EFDPMA Virtual Reality Conference June 93.
Applying Hypertext Technology to Standards Development, Dissemination and Implementation, at Standards & the Desktop, GCA, Boston MA, Nov. 16-18, 1988.
Qiming Wang and Sandy Ressler, Translating IGRIP Workcells into VRML2, NISTIR 6076, National Institute of Standards and Technology, Sept.,97.
Applying Virtual Environments to Manufacturing (HTML) (PDF) NISTIR 5343, Jan.,94.
KC Morris, David Sauder and Sandy Ressler: "Validation Testing System Reusable Software Component Design," NISTIR 4937, National Institute of Standards and Technology, Gaithersburg, MD, 1992.
Sandy Ressler: "The National PDES Testbed Mail Server User's Guide," NISTIR 4508, National Institute of Standards and Technology, Gaithersburg, MD, 1991.
Sandy Ressler: "An Overview of the Product Data Hyperstandard CD-ROM Prototype," NISTIR 4470, National Institute of Standards and Technology, Gaithersburg, MD, 1990.
Sandy Ressler and Susan Katz: "Development Plan: Configuration Management Systems and Services," NISTIR 4413, National Institute of Standards and Technology, Gaithersburg, MD, 1990.
Sandy Ressler: "The Hyperstandard: Applying Hypertext Technology to Standards Development, Dissemination and Implementation," NISTIR 3859, National Institute of Standards and Technology, Gaithersburg, MD, 1988.
Y. T. Lee and Sandy Ressler: "Converting the AMRF Part Model Report to a PDES/STEP Subset," NBSIR 3818, National Bureau of Standards, Gaithersburg, MD, 1988.
Sandy Ressler: "Using the AMRF Part Model Report," NBS Internal Report 3531, National Bureau of Standards, Gaithersburg, MD, 1987.
Steve Clark and Sandy Ressler: "The Geometry Modeling System User's Guide," NBS Internal Report 3508, National Bureau of Standards, Gaithersburg, MD, 1986.
S.P. Ressler, Sensitize: A Graphical Area Sensitization Facility, TM-81-11356-2, Jan. 28, 1981.
CD-ROMs used to be a big deal, the HyperStandard was the first CD-ROM produced at NIST for an interactive collection of documents. It ran on UNIX, Windows and Macs. CD-ROM for book contains the entire contents of the book.
Product Data HyperStandard prototype, Nov. 1990.
CD-ROM accompanying "The Art of Electronic Publishing" book, Prentice Hall, Nov. 1996.
Articles for Bitcoin Magazine (both web and in print) and blog "Bitcoin in Plain English"
Independently developed course and multimedia (that was a hot term back then) interactive software document for a criminal justice application.
Maryland Proactive Community Supervision "Break The Cycle" CD-ROM and Web site, 2001. An interactive CD-ROM with integrated animations and video for training. Web site contains all the content except for videos. Produced for the Bureau of Government Research, University of Maryland, College Park.
"Twenty Years of Rutgers MFA's" at New Jersey State Museum of Art, April 82.
Computer art film: Da Movies (video) and These Words Are the Data (video) at the Festival International de Jeune Cinema, in Hyeres France, June 80.
Da Movies from sandyr on Vimeo.
These Words Are the Data (html5 video) at Voorhees Museum, Rutgers University MFA show, April 80.
These Words are the Data (excerpt) w/sound from sandyr on Vimeo.
Dancing CAESAR Poser (2007) - an experiment integrating full body laser scan data, mocap and animation software.
AT&T Archives: The UNIX Operating System (1981) - I produced the animations used in beginning to explain UNIX structure and dancing figures for end titles.
Art Demo Reel 1975-1980 - animations produced while student at Rutgers and at Bell Labs.
Fleeting fame on a few occasions.
A web based tutorial on integrating a variety of technologies for compelling user experiences.
Internationally recognized site on the current state of Web3D. Author of a weekly article about VRML and Web3D since Oct. 1997 totalling over 150 articles.
A leading government web site covering virtual reality and related NIST projects.
An innovative 3D glossary for anthropometric names and their placement on the body using Web3D technology.
A unique resource containing the only anthropometric measurements of children even surveyed in the United States, made available here for the first time.
A variety of NIST sites illustrated using QuickTime VR's image based photography.
ACM Distinguished Speaker from 2007 to present.


Artisinal cheese from around the world. We have the best selection in town, from aged gouda and great goat cheese to melt in your mouth triple cremes and brie. Fondue night? No problem. Cheese plate? We've got you covered. Blue cheese and walnuts to go with your port? It's in here!


I've been feeling less than confident in some recent gravity readings.
A relatively cheap refractometer (https://www.amazon.com/gp/product/B00CO ... UTF8&psc=1) I bought almost 2 years ago has been my main tool. Yesterday I calibrated it to 0 with distilled water but was hoping to check it on the other side. I heard a sugar water solution would be no good for some reason? The 28g sugar to 176g distilled water read way higher - when I went to calibrate to 1.048/12 based on that solution my distilled water reading was obviously way to low.
My hydrometer seems to be a mess. It reads <1.000 SG with distilled water but when I tried the solution of 28g table sugar to 176 Distilled Water (supposed to be 1.048/12 based on http://www.eckraus.com/blog/calibrate-h ... hydrometer) I read well above 1.048 (in the mid 1.050s). Not sure if that means I should junk it or plot a chart.
Any inputs on good reliable tools for measuring gravity and calibration tips?
12g of sugar mixed with 92.84g of distilled water will weigh 104.84g and yield a 12% sugar solution at 20C.
Incidentally, you should have 100mL of solution at 20C. This is what in chem/biochem is called a 12% w/v sugar solution.
lupulus wrote: 12g of sugar mixed with 92.84g of distilled water will weigh 104.84g and yield a 12% sugar solution at 20C.
Thanks guess that EC Krauss is an idiot!
Well I measured that out - my refractometer said 1.044 and my Hydrometer said 1.038.
That makes the Hydrometer low on both Distilled and Sugar Solution tho by different amounts. Wonder if I can trust my refractometer so long as it's reading 0/1.000 with distilled?
Just busted out a bottle tea. 547ml bottle with 42grams of sugar. So ~7.7% extract. Put a drop on the Distilled calibrated refractometer and it read at 1.031/7.7%. So I guess I'm good to rely on this (of course using the post-fermentation calcs) and forget the hydrometer.
Yea, mine seems to need to be recalibrated frequently. Any recs for a good digital?
I have used this one for ages.


Aurora HDR 2018 72 hours Flash Sale!
From now and until Sunday, May 20th Skylum will be offering Aurora HDR 2018 for the lowest price ever!
Aurora HDR 2018 + 10 sets of professional brackets for the lowest price ever!
OFFER AVAILABILITY: TODAY – Sunday, May 20th.
Slowly But Surely I'm Getting There!


In Reception at Bramber, we deliver a curriculum based on the 'Early Years Foundation Stage' framework which is detailed below. The framework is a means of reaching high standards of early education and care, to ensure each child is fully supported through their time in Reception. The curriculum is designed to not only support the children's learning, but also to nurture their personal, social and emotional wellbeing. It encourages a positive attitude towards learning where playing takes a key role; a concept which is integral to our practice here at Bramber. Our classroom topics often remain flexible throughout the school year to allow space for regular times of child-led learning, helping children to pursue their current interests and curiosities. The teachers are committed to giving the children full access to the different facilities, both inside and outside.
Assessment in Reception is carried out in line with the 'Early Years Foundation Stage' framework. The teachers create each child individual learning journals through regular observation, which evidences the child's progress through the Foundation Stage. Parents/Carers are invited at the end of each term to look through the journals with their child and add their own comments. In addition to this, each child has their time as the 'focus child' once a term. During this week, the staff will observe them during their play to learn more about their interests and how they are progressing, and from this will create a learning journey sheet. Parents/Carers are then invited to come in and discuss this learning journey, with the chance to take a copy home.
The information below is taken from the Department for Education Document 'Statutory framework for the early years foundation stage'. It details the end of year expectations for Reception children for each of the different areas of learning.