text:
Home / Toolsheroes / Aristotle
Aristotle, born in 384 BCE was a Greek philosopher and scientist. He is considered to be one of the greatest minds from Western history. Aristotle created a scientific method that's used for research. Even after thousands of years of more research, his method is still used in present-day science and philosophy.
Biography of Aristotle
Aristotle was born in Stagira, Chalcidice, ancient Greece. His father Nicomachus was an important doctor who was well connected socially. Unlike many other great thinkers of his time, Aristotle was not a member of the highly regarded Athens aristocracy. He wasn't even a citizen. It was thanks to his father that Aristotle developed a strong interest in the sciences. Many of the circumstances and facts have been lost, but some think Aristotle's father served as a physician to Amyntas II in the Macedonian court. It's possible that Aristotle spent part of his childhood in those royal surroundings. After his father died young, his guardian provided Aristotle with an excellent education.
When he was 17 years old, Aristotle moved to Athens, Greece. There he joined Plato's circle at the Academy until Plato's death in 347 BCE. Aristotle was an exceptionally apt student and soon started lecturing rhetoric. During his 20 years at the philosophers' academy, Aristotle had developed a lot of respect and admiration for Plato, but their differences led to a breakdown in their relationship. Eventually, another successor for Plato was found, and Aristotle was presented to Plato's nephew, Speusippus.
Because he no longer had a future at the Academy, Aristotle moved to Assos in Mysia after Plato's death. A region that is known as Turkey today. He and Xenocrates joined a group of Plato followers there, known as the Platonists. This group had established itself there under Hermias, ruler of Atarneus. In Assos, Aristotle conducted extensive research into zoology and marine biology. Although he never claimed to have started the science of zoology, his observations and conclusions were completely unprecedented. Many believe that Aristotle had to have had a remarkably keen sense of vision, as many of his observations and ideas were not confirmed until after the invention of the microscope in the 17th century. During this period, Aristotle married Hermias' niece, a woman named Pythias. Three years later, Hermias came under attack by the Persians, and they murdered Aristotle's wife.
In the year 342 BCE, Aristotle travelled to the court of Philip of Macedon. There, he became the mentor of Alexander, who would one day rule the entire Persian empire and is since known as Alexander the Great. He taught Alexander for seven years, after which the young man was crowned king. Not much is known about the subject matter he presented to Alexander, but a letter from the philosopher Alexander shows that he already had the ambition to become leader of the Greeks during the time when he was being educated by Aristotle.
In 335 BCE, Aristotle returned to Athens. There he founded his own school for philosophy, under the protection of the Antipater, a representative of Alexander in Athens. The Peripatetic School, the school's name, was located near a shrine to Apollo Lyceus. At the school, Aristotle taught lessons that were divided into morning and afternoon sessions. The most complex lectures were given in the morning, the popular and easier ones took place in the afternoon. He divided his lessons into three groups. Practical, theoretical and productive sciences. The practical lectures involved the fields of biology, maths and physics. Theoretical lessons included metaphysics and the study of the soul. Productive philosophy focused on trades, agriculture and art. It is said that Aristotle continually paced back and forth across the practice grounds surrounding the Lyceum. This habit inspired the term peripatetic philosophy, which roughly translates as 'walking around philosophy'. Aristotle would continue to actively teach at the Lyceum for twelve years. In the end, he appointed Theophrastus to become his successor.
Aristotle led the school until the death of Alexander in 323 BCE, after which he fled Athens concerned about his safety. The assembly in Athens declared war on Alexander's successor, Antiphon. Aristotle was then considered as anti-Athens and pro-Macedon. He was accused of heresy and decided to play things safe. He voluntarily left for Chilkis, Greece, where he died a year later in 322 BCE as a result of intestinal illness. His testament, saved in the writings of Diogenes Laertius, said that his possessions were to be divided between his daughter Pythias and his son Nicomachus, as well as his personal slaves.
Aristotle's works in philosophy, logic, science, ethics, politics and metaphysics remain of immense value. His theory influenced Medieval churches and remain highly relevant to this very day. Some of the concepts he started with, became the foundation of Newton's laws of motion.
Aristotle quotes
"Poverty is the parent of revolution and crime."
"Gratitude quickly ages."
"It is during our darkest moments that we must focus to see the light."
"The roots of education are bitter, but the fruit is sweet."
"Anybody can become angry – that is easy, but to be angry with the right person and to the right degree and at the right time and for the right purpose, and in the right way – that is not within everybody's power and is not easy."
"There is no great genius without some touch of madness."
"At his best, man is the noblest of all animals; separated from law and justice he is the worst."
"The aim of the wise is not to secure pleasure, but to avoid pain."
"Whosoever is delighted in solitude is either a wild beast or a god."
"Courage is the first of human qualities because it is the quality which guarantees the others."
Janse, B. (2019). Aristotle. Retrieved [insert date] from ToolsHero: https://www.toolshero.com/toolsheroes/aristotle/
ToolsHero: Aristotle
Tagged: philosophy	Share
Plato's Theory of Recollection


Hello and happy Monday! I hope everyone had a great weekend and a chance to enjoy the impeccable weather. I spent the weekend in Charleston on a ladies vacay with two of my best friends, Magen and Megan.
The trip was everything I hoped for. We enjoyed amazing meals, afternoon cocktails, perfect weather for exploring the streets, and of course made time for a bit of shopping.
There's nothing better than traveling with Magen. She's super organized and always knows the best hotels and restaurants. She even brought party favors! Magen knows i'm really cranky if I don't have my morning caffeine or a late night snack. She came prepared with these adorable totes, filled with all of our favorite things (Coke, Dove Chocolates, Gatorade and Munchies!).
As soon as we arrived, we headed to High Cotton for cocktails. I had a cocktail with honey and fig infused vodka - I would highly recommend it! We also had a great cheese plate.
For dinner, we went to Stars (I had to go back after a great experience last time I was in Charleston). I had the lobster and grits - how great is this presentation?
Afterwords, we hit up Republic, which was a really awesome bar. Outside there was a really fun band, and inside it was more of a clubby experience. Best of both worlds! I would recommend getting there a bit early (before 10). By the time we left it was one in one out!
Saturday we headed to King Street for some shopping! I loved the Savannah Bee Company. They have a huge selection of honey and you can taste them as well. I picked up a jar of cheese honey - can't wait to use it!
I like to buy local cookbooks when I travel as well. After some serious thought, I went with Callie's Biscuits and Southern Traditions. The recipes look phenomenal (homemade oatmeal cream pies anyone?). I can't wait to try a few.
Saturday night we headed to Fig for dinner. If you're a foodie, this should definitely be on your list when you visit Charleston. Thankfully Magen knew how in demand it was - we made our reservations a month in advance and still had only a few slots to choose from. That's what happens when the chef is a James Beard winner and also happened to cater Blake Lively and Ryan Reynolds' wedding I guess?
Fig absolutely lived up to the hype. I ordered the Riccotta Gnocchi with Beef Bolognese and it was on another level. They were like little cloud puffs in a decadent sauce!
All in all I'd say it was a pretty fabulous trip. Now back to work, here we go!
We didn't have a chance to go to Callie's - I hate that I missed it! She does share the recipe for Cinnamon Sticky Biscuits in the book - i'll be making those soon!
That food looks amazing, and those bags are perfect!


Come out and enjoy networking and all-you-can-eat pizza with the Dubai U of T alumni community at Matto Restaurant!
An area of the restaurant will be reserved for the U of T group. Your alumni representative and event organizer, Sereen Hindawi (BA 2007 UTM), will be there to welcome you.
Cost includes all-you-can-eat pizza and 1 free drink. Attendees will pay for their meal at the restaurant.
If you have any questions about this event, please email Sereen at sereen.hindawi@gmail.com.
This social activity is one of the many diverse events hosted by your local alumni network, bringing U of T right into your community. Stay informed, inspired and connected, because together we are boundless.


text:
Statement from Boycott Workfare: Stop the Sanctions!
Boycott Workfare call on the PCS to take action on conditionality, workfare and sanctions
Public sector workers, including at the DWP, will soon face sanctions under Universal Credit unless we take action now
The PCS conference takes place in Brighton later this month. Join a rally urging delegates to support a position of non-cooperation with sanctions against welfare claimants at 12.30pm on 21st May.
We are extremely disappointed that PCS leadership have decided not to allow debate at their conference on two motions which called for the union to move from theoretical to practical unity with claimants in challenging sanctions.
Current welfare policies and reforms represent an unprecedented attack on claimants and on the welfare state itself. Conditionality, workfare and the huge rise in sanctions are driving claimants further into poverty and destitution. At the same time a vicious campaign of hatred driven by the media and political classes has stigmatised those on benefits and poisoned public debate.
Workfare forces claimants to work without wages under the threat of sanctions. Those on workfare are exempted from legislation that protects the rights of people at work and denied access to union membership and representation. Sick and disabled people claiming ESA can now be forced onto workfare. Workfare drives down wages and conditions for all workers and it is in all our interests to end it completely. Between 2009 and 2011 the number of sanctions handed out to claimants tripled to reach over half a million. In January this year 85,000 people were sanctioned, suggesting that the number of sanctions could reach one million this year. People are now having benefits withdrawn for up to three years (including for failure to participate in workfare). As the PCS have said this increase in the number and severity of sanctions is purely a political decision.
As conditionality and sanctions have increased and become more severe so the range of claimants subject to them has been extended. Sick and disabled people found "fit for work" by the hated Work Capability Assessment are now subject to this regime as are single parents with young children. Plans for in-work conditionality will see sanctions applied to part time workers and the self employed. The introduction of Universal Jobmatch and a requirement for claimants to spend 35 hour each week on jobsearch or workfare will inevitably lead to more sanctions and is intended to do so. Plans to make hardship payments a recoverable loan will force those who are sanctioned into debt. Housing benefit is increasingly being suspended where people are sanctioned. This systematic removal of welfare support is causing sharp increases in homelessness and the use of food banks.
Boycott Workfare welcome the fact that the PCS have spoken out against workfare and the huge rise in sanctions. We also understand that the primary role of the PCS is to represent their members including around 84,000 staff in the DWP. It should be obvious that there is a tension here where the PCS are campaigning against policies that their own members are required to implement. But there is also the possibility that the PCS could take concerted action to defend the welfare state in the interests of both claimants and their members. Government policies cannot be implemented without workers to implement them.
At meetings with the PCS we have raised the possibility of action being taken. Sadly the PCS have been dismissive of our suggestions and they have been met with arguments for inaction. PCS leadership have argued that anti-strike laws prevent action being taken in solidarity with claimants. But the interests of claimants and PCS members are intertwined and these policies directly impact on the working conditions of PCS members. Increased aggravation between PCS members and claimants put both at risk. And under Universal Credit many DWP staff will themselves face conditionality and sanctions. The right of workers to withhold their labour is fundamental. Laws which undermine this right do not comply with international obligations and should be challenged. Without those prepared to take risks and challenge injustice we would not have unions or a welfare state.
This is not about blaming those PCS members tasked with implementing unjust policies. We know that the blame lies elsewhere. This is about the role that unions could and should take in building solidarity between workers and claimants and in empowering workers to take action. If the PCS are sincere about campaigning for social security justice then they should refuse to cooperate with the implementation of unjust policies. Words are not enough. Boycott Workfare therefore calls on the PCS to take action to protect welfare provision and to frustrate the imposition of policies designed to undermine it.
Boycott Workfare would like to thank those PCS branches who have signed our pledge and those members who have taken part in our actions. We are grateful to members of the PCS in the Civil Service Rank and File Network who put forward a motion to this year's PCS conference. We urge all PCS members to call for proper debate and practical action on challenging sanctions and to support the emergency motion calling for non-cooperation with sanctions to be debated as well as the rally on the 21st May.
© Copyright 2013 | Boycott Workfare | All Rights Reserved
Posted in Welfare	| Tagged boycott workfare, bpacc, disability, esa, jsa, pcs, sanctions, unemployment, workfare
Britain needs a pay rise to kickstart growth
The following article has been reproduced with the kind permission of PCS – Public Commercial Services Union
Why is employment rising when the UK economy is still flatlining? Our new research could provide the answer.
Figures show that since the onset of recession in 2008 the real value of wages has fallen by 7%, or more than £50 billion a year. During the same period there has been a real terms drop in consumer demand of 5%.
Our report, 'Britain needs a pay rise', published today (Tuesday 12), argues this fall in the value of pay could be a major obstacle to the return of economic growth.
The report also busts the myth that civil servants are paid more than their private sector counterparts.
Serious debate on pay
Using data from the Office for National Statistics and research by the Institute for Fiscal Studies, and government departments, employment specialists Croner and Incomes Data Services, and the Resolution Foundation, other findings include:
The government's four-year pay policy, plus the increase in pension contributions, will cut almost £7 billion a year from the value of public sector employees' pay by 2015.
Median pay in the civil service is 4.4%, or £1,263, lower than median pay in direct private sector comparators.
At executive officer level civil service pay was 10% below private sector comparators and at administrative officer level it was 8%.
These discrepancies in pay for executive officers and administrative officers are found in every nation and region in the UK.
The report aims to generate a serious debate about the effects of low pay and government pay policy on the UK economy.
It comes as 250,000 of our members who work in civil and public services start voting in an industrial action ballot over cuts to their pay, pensions and terms and conditions.
We have asked for a pay rise for civil servants of 5% or £1,200 and for the living wage to be written into government contracts with private sector employers.
Money in people's pockets
While ministers are not able to increase wages across the whole economy, increases in public sector pay and the national minimum wage – and support for the extension of the living wage by insisting on it for government contracts – would stimulate demand and act as a catalyst for the private sector.
PCS general secretary Mark Serwotka said: "Almost everyone can now see that austerity is not working. The chancellor George Osborne is borrowing more for failure, we are on the verge of a triple dip recession, food banks are on the rise and pay day loan sharks are preying on the vulnerable.
"We believe the government's pay policy, built on the lie that hardworking civil servants are paid too much, is having a seriously damaging effect on the whole economy.
"Instead of burying their heads in the sand and hoping for the best, ministers can and should act now to put money into people's pockets and back into our economy."
Click here to download the full report.
Posted in Campaigns, Economy	| Tagged bpacc, economy, employment, growth, pay, pay rise, pcs
Twenty Ten March – A Poem
A poem by Zita Holbourne for Oct20. Copyright 2012 (via Make the March). Zita is a member of PCS NEC, Co-founder of Black Activists Rising Against Cuts, a poet and artist. More of her work can be viewed on Facebook 'Zita Holbourne, Poet, Artist'
Over one million young people unemployed
Their dreams and aspirations destroyed
EMA slashed, tuition fees tripled
Attack upon attack on the disabled
68 is too late – pensions stolen
Rising cost of living whilst pay's frozen
Libraries, youth centres, advice centres shut
Communities deprived as funding is cut
Poverty rising, inequality deepening
Stress, depression, sorrow increasing
We are the majority, we need to unite
Organise, mobilise, resist and fight
Be strong, determined, Rise Up as one
March on 20/10 and Keep on Keeping On
Neighbours, colleagues, friends and families
Trade Unions, Trades Councils and Communities
Anti cuts groups, campaigners and workers
Unemployed, students and pensioners
Adult and child, younger and older
Side by side, shoulder to shoulder
Both public and private sector
Stronger when we're together
In Belfast, Glasgow and London
We'll be marching, marching on
Against austerity
Against inequality
Against hypocrisy
On 20th October
We'll be marching for our future
© Zita Holbourne
Posted in Campaigns, Cuts, Events	| Tagged austerity, bpacc, cuts, demo, march, oct 20, pcs

redpajama_set_name: RedPajamaCommonCrawl


When money is tight, the inevitable searches for easy savings ensue. There are, of course, a great many methods you can use to minimise your outgoings on your finances; a number of these are covered in guides elsewhere on this site. However, aside from keeping down your credit card bills, there are plenty of other ways you can save surprisingly large amounts.
The regular trip to the supermarket can be a hellish ordeal if you are watching the pennies. Either way, though, it will likely constitute one of your major expenditures over the month. As a result, this should be one of the first areas to which you look to cut costs.
It is, in fact, very easy to save money while shopping. One of the most important factors to consider is the time of day at which you are making your visit. You should always shop just before closing time in a supermarket, as fresh produce such as bread and meat is often marked down for a quick sale. As fresh food is often the most expensive to begin with, you can make substantial savings this way. On the other hand, however, don't be drawn in by offers or promotions. Of course, these can present large savings when offered on basic items, but this rarely happens. It is easy to buy reduced items, thinking that you have found a bargain. However, if you weren't going to buy the items in the first place, it is a false economy.
Of course, supermarkets are designed to make you buy as much as possible. You will be guided around aisles of luxury items before you can get to the bread, for example. As a result, you may find it cheaper (and easier) to shop back to front: start at the far end of the store and work your way back.
If you have local access to a market, you should make the most of this. Everyday items such as fruit and vegetables are generally far cheaper here than in supermarkets. However, don't over-buy - as comparatively cheap as it is likely to be, 'stocking up' on items which will go bad before you use them is wasteful.
There are many other ways of making shopping easier to pay for. Some supermarkets still offer shopping stamps, through which you can spread the cost of your shop. This may be particularly useful if, for example, you draw a pension. There are some more contemporary alternatives, however. Store loyalty cards (not store cards) can offer excellent returns simply by using them when you shop. Although the number of points you are accumulating may seem pitifully small at the time, they quickly mount up. If you can use your card when you buy items such as petrol, you will quickly find that your points will pay for entire shopping trips.
The key to economical shopping is to buy only what you need. As a result, one of the best things you can do is to make a list before you leave the house, and ensure that you stick to it. Similarly, shopping with young children is a recipe for financial disaster; shop sensibly, and shop out of supermarkets, and you can make excellent savings.


text:
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "extensions/browser/event_router.h"

#include <memory>
#include <string>
#include <utility>

#include "base/bind.h"
#include "base/compiler_specific.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/values.h"
#include "content/public/browser/browser_context.h"
#include "content/public/test/mock_render_process_host.h"
#include "extensions/browser/event_listener_map.h"
#include "extensions/browser/extensions_test.h"
#include "extensions/browser/test_event_router_observer.h"
#include "extensions/common/extension_api.h"
#include "extensions/common/extension_builder.h"
#include "extensions/common/extension_messages.h"
#include "extensions/common/features/feature_provider.h"
#include "extensions/common/features/simple_feature.h"
#include "testing/gtest/include/gtest/gtest.h"

using base::DictionaryValue;
using base::ListValue;
using base::Value;

namespace extensions {

namespace {

// A simple mock to keep track of listener additions and removals.
class MockEventRouterObserver : public EventRouter::Observer {
 public:
  MockEventRouterObserver()
      : listener_added_count_(0),
        listener_removed_count_(0) {}

  MockEventRouterObserver(const MockEventRouterObserver&) = delete;
  MockEventRouterObserver& operator=(const MockEventRouterObserver&) = delete;

  ~MockEventRouterObserver() override {}

  int listener_added_count() const { return listener_added_count_; }
  int listener_removed_count() const { return listener_removed_count_; }
  const std::string& last_event_name() const { return last_event_name_; }

  void Reset() {
    listener_added_count_ = 0;
    listener_removed_count_ = 0;
    last_event_name_.clear();
  }

  // EventRouter::Observer overrides:
  void OnListenerAdded(const EventListenerInfo& details) override {
    listener_added_count_++;
    last_event_name_ = details.event_name;
  }

  void OnListenerRemoved(const EventListenerInfo& details) override {
    listener_removed_count_++;
    last_event_name_ = details.event_name;
  }

 private:
  int listener_added_count_;
  int listener_removed_count_;
  std::string last_event_name_;
};

using EventListenerConstructor =
    base::RepeatingCallback<std::unique_ptr<EventListener>(
        const std::string& /* event_name */,
        content::RenderProcessHost* /* process */,
        std::unique_ptr<base::DictionaryValue> /* filter */)>;

std::unique_ptr<EventListener> CreateEventListenerForExtension(
    const std::string& extension_id,
    const std::string& event_name,
    content::RenderProcessHost* process,
    std::unique_ptr<base::DictionaryValue> filter) {
  return EventListener::ForExtension(event_name, extension_id, process,
                                     std::move(filter));
}

std::unique_ptr<EventListener> CreateEventListenerForURL(
    const GURL& listener_url,
    const std::string& event_name,
    content::RenderProcessHost* process,
    std::unique_ptr<base::DictionaryValue> filter) {
  return EventListener::ForURL(event_name, listener_url, process,
                               std::move(filter));
}

std::unique_ptr<EventListener> CreateEventListenerForExtensionServiceWorker(
    const std::string& extension_id,
    int64_t service_worker_version_id,
    int worker_thread_id,
    const std::string& event_name,
    content::RenderProcessHost* process,
    std::unique_ptr<base::DictionaryValue> filter) {
  return EventListener::ForExtensionServiceWorker(
      event_name, extension_id, process,
      Extension::GetBaseURLFromExtensionId(extension_id),
      service_worker_version_id, worker_thread_id, std::move(filter));
}

// Creates an extension.  If |component| is true, it is created as a component
// extension.  If |persistent| is true, it is created with a persistent
// background page; otherwise it is created with an event page.
scoped_refptr<const Extension> CreateExtension(bool component,
                                               bool persistent) {
  ExtensionBuilder builder;
  std::unique_ptr<base::DictionaryValue> manifest =
      std::make_unique<base::DictionaryValue>();
  manifest->SetStringKey("name", "foo");
  manifest->SetStringKey("version", "1.0.0");
  manifest->SetIntKey("manifest_version", 2);
  manifest->SetStringPath("background.page", "background.html");
  manifest->SetBoolPath("background.persistent", persistent);
  builder.SetManifest(std::move(manifest));
  if (component)
    builder.SetLocation(mojom::ManifestLocation::kComponent);

  return builder.Build();
}

scoped_refptr<const Extension> CreateServiceWorkerExtension() {
  ExtensionBuilder builder;
  auto manifest = std::make_unique<base::DictionaryValue>();
  manifest->SetStringKey("name", "foo");
  manifest->SetStringKey("version", "1.0.0");
  manifest->SetIntKey("manifest_version", 2);
  manifest->SetStringPath("background.service_worker", "worker.js");
  builder.SetManifest(std::move(manifest));
  return builder.Build();
}

std::unique_ptr<DictionaryValue> CreateHostSuffixFilter(
    const std::string& suffix) {
  auto filter_dict = std::make_unique<DictionaryValue>();
  filter_dict->SetKey("hostSuffix", Value(suffix));

  Value filter_list(Value::Type::LIST);
  filter_list.Append(std::move(*filter_dict));

  auto filter = std::make_unique<DictionaryValue>();
  filter->SetKey("url", std::move(filter_list));
  return filter;
}

}  // namespace

class EventRouterTest : public ExtensionsTest {
 public:
  EventRouterTest() = default;

  EventRouterTest(const EventRouterTest&) = delete;
  EventRouterTest& operator=(const EventRouterTest&) = delete;

 protected:
  // Tests adding and removing observers from EventRouter.
  void RunEventRouterObserverTest(const EventListenerConstructor& constructor);

  // Tests that the correct counts are recorded for the Extensions.Events
  // histograms.
  void ExpectHistogramCounts(int dispatch_count,
                             int component_count,
                             int persistent_count,
                             int suspended_count,
                             int running_count,
                             int service_worker_count) {
    histogram_tester_.ExpectBucketCount("Extensions.Events.Dispatch",
                                        events::HistogramValue::FOR_TEST,
                                        dispatch_count);
    histogram_tester_.ExpectBucketCount("Extensions.Events.DispatchToComponent",
                                        events::HistogramValue::FOR_TEST,
                                        component_count);
    histogram_tester_.ExpectBucketCount(
        "Extensions.Events.DispatchWithPersistentBackgroundPage",
        events::HistogramValue::FOR_TEST, persistent_count);
    histogram_tester_.ExpectBucketCount(
        "Extensions.Events.DispatchWithSuspendedEventPage",
        events::HistogramValue::FOR_TEST, suspended_count);
    histogram_tester_.ExpectBucketCount(
        "Extensions.Events.DispatchWithRunningEventPage",
        events::HistogramValue::FOR_TEST, running_count);
    histogram_tester_.ExpectBucketCount(
        "Extensions.Events.DispatchWithServiceWorkerBackground",
        events::HistogramValue::FOR_TEST, service_worker_count);
  }

 private:
  base::HistogramTester histogram_tester_;
};

class EventRouterFilterTest : public ExtensionsTest,
                              public testing::WithParamInterface<bool> {
 public:
  EventRouterFilterTest() = default;

  EventRouterFilterTest(const EventRouterFilterTest&) = delete;
  EventRouterFilterTest& operator=(const EventRouterFilterTest&) = delete;

  void SetUp() override {
    ExtensionsTest::SetUp();
    render_process_host_ =
        std::make_unique<content::MockRenderProcessHost>(browser_context());
    ASSERT_TRUE(event_router());  // constructs EventRouter
  }

  void TearDown() override {
    render_process_host_.reset();
    ExtensionsTest::TearDown();
  }

  content::RenderProcessHost* render_process_host() const {
    return render_process_host_.get();
  }

  EventRouter* event_router() { return EventRouter::Get(browser_context()); }

  const DictionaryValue* GetFilteredEvents(const std::string& extension_id) {
    return event_router()->GetFilteredEvents(
        extension_id, is_for_service_worker()
                          ? EventRouter::RegisteredEventType::kServiceWorker
                          : EventRouter::RegisteredEventType::kLazy);
  }

  bool ContainsFilter(const std::string& extension_id,
                      const std::string& event_name,
                      const DictionaryValue& to_check) {
    const Value* filter_list = GetFilterList(extension_id, event_name);
    if (!filter_list) {
      ADD_FAILURE();
      return false;
    }

    for (const base::Value& filter : filter_list->GetList()) {
      if (!filter.is_dict()) {
        ADD_FAILURE();
        return false;
      }
      if (filter == to_check)
        return true;
    }
    return false;
  }

  bool is_for_service_worker() const { return GetParam(); }

 private:
  const Value* GetFilterList(const std::string& extension_id,
                             const std::string& event_name) {
    const base::DictionaryValue* filtered_events =
        GetFilteredEvents(extension_id);
    const auto iter = filtered_events->GetDict().begin();
    if (iter->first != event_name)
      return nullptr;

    return iter->second.is_list() ? &iter->second : nullptr;
  }

  std::unique_ptr<content::RenderProcessHost> render_process_host_;
};

TEST_F(EventRouterTest, GetBaseEventName) {
  // Normal event names are passed through unchanged.
  EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar"));

  // Sub-events are converted to the part before the slash.
  EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar/123"));
}

// Tests adding and removing observers from EventRouter.
void EventRouterTest::RunEventRouterObserverTest(
    const EventListenerConstructor& constructor) {
  EventRouter router(nullptr, nullptr);
  std::unique_ptr<EventListener> listener = constructor.Run(
      "event_name", nullptr, std::make_unique<base::DictionaryValue>());

  // Add/remove works without any observers.
  router.OnListenerAdded(listener.get());
  router.OnListenerRemoved(listener.get());

  // Register observers that both match and don't match the event above.
  MockEventRouterObserver matching_observer;
  router.RegisterObserver(&matching_observer, "event_name");
  MockEventRouterObserver non_matching_observer;
  router.RegisterObserver(&non_matching_observer, "other");

  // Adding a listener notifies the appropriate observers.
  router.OnListenerAdded(listener.get());
  EXPECT_EQ(1, matching_observer.listener_added_count());
  EXPECT_EQ(0, non_matching_observer.listener_added_count());

  // Removing a listener notifies the appropriate observers.
  router.OnListenerRemoved(listener.get());
  EXPECT_EQ(1, matching_observer.listener_removed_count());
  EXPECT_EQ(0, non_matching_observer.listener_removed_count());

  // Adding the listener again notifies again.
  router.OnListenerAdded(listener.get());
  EXPECT_EQ(2, matching_observer.listener_added_count());
  EXPECT_EQ(0, non_matching_observer.listener_added_count());

  // Removing the listener again notifies again.
  router.OnListenerRemoved(listener.get());
  EXPECT_EQ(2, matching_observer.listener_removed_count());
  EXPECT_EQ(0, non_matching_observer.listener_removed_count());

  // Adding a listener with a sub-event notifies the main observer with
  // proper details.
  matching_observer.Reset();
  std::unique_ptr<EventListener> sub_event_listener = constructor.Run(
      "event_name/1", nullptr, std::make_unique<base::DictionaryValue>());
  router.OnListenerAdded(sub_event_listener.get());
  EXPECT_EQ(1, matching_observer.listener_added_count());
  EXPECT_EQ(0, matching_observer.listener_removed_count());
  EXPECT_EQ("event_name/1", matching_observer.last_event_name());

  // Ditto for removing the listener.
  matching_observer.Reset();
  router.OnListenerRemoved(sub_event_listener.get());
  EXPECT_EQ(0, matching_observer.listener_added_count());
  EXPECT_EQ(1, matching_observer.listener_removed_count());
  EXPECT_EQ("event_name/1", matching_observer.last_event_name());
}

TEST_F(EventRouterTest, EventRouterObserverForExtensions) {
  RunEventRouterObserverTest(
      base::BindRepeating(&CreateEventListenerForExtension, "extension_id"));
}

TEST_F(EventRouterTest, EventRouterObserverForURLs) {
  RunEventRouterObserverTest(base::BindRepeating(
      &CreateEventListenerForURL, GURL("http://google.com/path")));
}

TEST_F(EventRouterTest, EventRouterObserverForServiceWorkers) {
  RunEventRouterObserverTest(base::BindRepeating(
      &CreateEventListenerForExtensionServiceWorker, "extension_id",
      // Dummy version_id and thread_id.
      99, 199));
}

TEST_F(EventRouterTest, MultipleEventRouterObserver) {
  EventRouter router(nullptr, nullptr);
  std::unique_ptr<EventListener> listener =
      EventListener::ForURL("event_name", GURL("http://google.com/path"),
                            nullptr, std::make_unique<base::DictionaryValue>());

  // Add/remove works without any observers.
  router.OnListenerAdded(listener.get());
  router.OnListenerRemoved(listener.get());

  // Register two observers for same event name.
  MockEventRouterObserver matching_observer1;
  router.RegisterObserver(&matching_observer1, "event_name");
  MockEventRouterObserver matching_observer2;
  router.RegisterObserver(&matching_observer2, "event_name");

  // Adding a listener notifies the appropriate observers.
  router.OnListenerAdded(listener.get());
  EXPECT_EQ(1, matching_observer1.listener_added_count());
  EXPECT_EQ(1, matching_observer2.listener_added_count());

  // Removing a listener notifies the appropriate observers.
  router.OnListenerRemoved(listener.get());
  EXPECT_EQ(1, matching_observer1.listener_removed_count());
  EXPECT_EQ(1, matching_observer2.listener_removed_count());

  // Unregister the observer so that the current observer no longer receives
  // monitoring, but the other observer still continues to receive monitoring.
  router.UnregisterObserver(&matching_observer1);

  router.OnListenerAdded(listener.get());
  EXPECT_EQ(1, matching_observer1.listener_added_count());
  EXPECT_EQ(2, matching_observer2.listener_added_count());
}

TEST_F(EventRouterTest, TestReportEvent) {
  EventRouter router(browser_context(), nullptr);
  scoped_refptr<const Extension> normal = ExtensionBuilder("Test").Build();
  router.ReportEvent(events::HistogramValue::FOR_TEST, normal.get(),
                     false /** did_enqueue */);
  ExpectHistogramCounts(1 /** Dispatch */, 0 /** DispatchToComponent */,
                        0 /** DispatchWithPersistentBackgroundPage */,
                        0 /** DispatchWithSuspendedEventPage */,
                        0 /** DispatchWithRunningEventPage */,
                        0 /** DispatchWithServiceWorkerBackground */);

  scoped_refptr<const Extension> component =
      CreateExtension(true /** component */, true /** persistent */);
  router.ReportEvent(events::HistogramValue::FOR_TEST, component.get(),
                     false /** did_enqueue */);
  ExpectHistogramCounts(2, 1, 1, 0, 0, 0);

  scoped_refptr<const Extension> persistent = CreateExtension(false, true);
  router.ReportEvent(events::HistogramValue::FOR_TEST, persistent.get(),
                     false /** did_enqueue */);
  ExpectHistogramCounts(3, 1, 2, 0, 0, 0);

  scoped_refptr<const Extension> event = CreateExtension(false, false);
  router.ReportEvent(events::HistogramValue::FOR_TEST, event.get(),
                     false /** did_enqueue */);
  ExpectHistogramCounts(4, 1, 2, 0, 1, 0);
  router.ReportEvent(events::HistogramValue::FOR_TEST, event.get(),
                     true /** did_enqueue */);
  ExpectHistogramCounts(5, 1, 2, 1, 1, 0);

  scoped_refptr<const Extension> component_event = CreateExtension(true, false);
  router.ReportEvent(events::HistogramValue::FOR_TEST, component_event.get(),
                     false /** did_enqueue */);
  ExpectHistogramCounts(6, 2, 2, 1, 2, 0);
  router.ReportEvent(events::HistogramValue::FOR_TEST, component_event.get(),
                     true /** did_enqueue */);
  ExpectHistogramCounts(7, 3, 2, 2, 2, 0);

  scoped_refptr<const Extension> service_worker_extension =
      CreateServiceWorkerExtension();
  router.ReportEvent(events::HistogramValue::FOR_TEST,
                     service_worker_extension.get(), true /** did_enqueue */);
  ExpectHistogramCounts(8, 3, 2, 2, 2, 1);
}

// Tests adding and removing events with filters.
TEST_P(EventRouterFilterTest, Basic) {
  // For the purpose of this test, "." is important in |event_name| as it
  // exercises the code path that uses |event_name| as a key in DictionaryValue.
  const std::string kEventName = "webNavigation.onBeforeNavigate";

  const std::string kExtensionId = "mbflcebpggnecokmikipoihdbecnjfoj";
  auto param = mojom::EventListenerParam::NewExtensionId(kExtensionId);
  const std::string kHostSuffixes[] = {"foo.com", "bar.com", "baz.com"};

  absl::optional<ServiceWorkerIdentifier> worker_identifier = absl::nullopt;
  if (is_for_service_worker()) {
    ServiceWorkerIdentifier identifier;
    identifier.scope = Extension::GetBaseURLFromExtensionId(kExtensionId);
    identifier.version_id = 99;  // Dummy version_id.
    identifier.thread_id = 199;  // Dummy thread_id.
    worker_identifier =
        absl::make_optional<ServiceWorkerIdentifier>(std::move(identifier));
  }
  std::vector<std::unique_ptr<DictionaryValue>> filters;
  for (size_t i = 0; i < std::size(kHostSuffixes); ++i) {
    std::unique_ptr<base::DictionaryValue> filter =
        CreateHostSuffixFilter(kHostSuffixes[i]);
    event_router()->AddFilteredEventListener(kEventName, render_process_host(),
                                             param.Clone(), worker_identifier,
                                             *filter, true);
    filters.push_back(std::move(filter));
  }

  const base::DictionaryValue* filtered_events =
      GetFilteredEvents(kExtensionId);
  ASSERT_TRUE(filtered_events);
  ASSERT_EQ(1u, filtered_events->DictSize());

  const auto iter = filtered_events->GetDict().begin();
  ASSERT_EQ(kEventName, iter->first);
  ASSERT_TRUE(iter->second.is_list());
  ASSERT_EQ(3u, iter->second.GetList().size());

  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[2]));

  // Remove the second filter.
  event_router()->RemoveFilteredEventListener(kEventName, render_process_host(),
                                              param.Clone(), worker_identifier,
                                              *filters[1], true);
  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[2]));

  // Remove the first filter.
  event_router()->RemoveFilteredEventListener(kEventName, render_process_host(),
                                              param.Clone(), worker_identifier,
                                              *filters[0], true);
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
  ASSERT_TRUE(ContainsFilter(kExtensionId, kEventName, *filters[2]));

  // Remove the third filter.
  event_router()->RemoveFilteredEventListener(kEventName, render_process_host(),
                                              param.Clone(), worker_identifier,
                                              *filters[2], true);
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
  ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[2]));
}

TEST_P(EventRouterFilterTest, URLBasedFilteredEventListener) {
  const std::string kEventName = "windows.onRemoved";
  const GURL kUrl("chrome-untrusted://terminal");
  absl::optional<ServiceWorkerIdentifier> worker_identifier = absl::nullopt;
  auto filter = std::make_unique<DictionaryValue>();
  bool lazy = false;
  EXPECT_FALSE(event_router()->HasEventListener(kEventName));
  event_router()->AddFilteredEventListener(
      kEventName, render_process_host(),
      mojom::EventListenerParam::NewListenerUrl(kUrl), worker_identifier,
      *filter, lazy);
  EXPECT_TRUE(event_router()->HasEventListener(kEventName));
  event_router()->RemoveFilteredEventListener(
      kEventName, render_process_host(),
      mojom::EventListenerParam::NewListenerUrl(kUrl), worker_identifier,
      *filter, lazy);
  EXPECT_FALSE(event_router()->HasEventListener(kEventName));
}

INSTANTIATE_TEST_SUITE_P(Lazy, EventRouterFilterTest, testing::Values(false));
INSTANTIATE_TEST_SUITE_P(ServiceWorker,
                         EventRouterFilterTest,
                         testing::Values(true));

class EventRouterDispatchTest : public ExtensionsTest {
 public:
  EventRouterDispatchTest() = default;
  EventRouterDispatchTest(const EventRouterDispatchTest&) = delete;
  EventRouterDispatchTest& operator=(const EventRouterDispatchTest&) = delete;

  void SetUp() override {
    ExtensionsTest::SetUp();
    render_process_host_ =
        std::make_unique<content::MockRenderProcessHost>(browser_context());
    ASSERT_TRUE(event_router());  // constructs EventRouter
  }

  void TearDown() override {
    render_process_host_.reset();
    ExtensionsTest::TearDown();
  }

  content::RenderProcessHost* process() const {
    return render_process_host_.get();
  }
  EventRouter* event_router() { return EventRouter::Get(browser_context()); }

 private:
  std::unique_ptr<content::RenderProcessHost> render_process_host_;
};

TEST_F(EventRouterDispatchTest, TestDispatch) {
  std::string ext1 = "ext1";
  std::string ext2 = "ext2";
  GURL webui1("chrome-untrusted://one");
  GURL webui2("chrome-untrusted://two");
  std::string event_name = "testapi.onEvent";
  FeatureProvider provider;
  auto feature = std::make_unique<SimpleFeature>();
  feature->set_name("test feature");
  feature->set_matches({webui1.spec().c_str(), webui2.spec().c_str()});
  provider.AddFeature(event_name, std::move(feature));
  ExtensionAPI::GetSharedInstance()->RegisterDependencyProvider("api",
                                                                &provider);
  TestEventRouterObserver observer(event_router());
  auto add_extension = [&](const std::string& id) {
    scoped_refptr<const Extension> extension =
        ExtensionBuilder()
            .SetID(id)
            .SetManifest(DictionaryBuilder()
                             .Set("name", "Test app")
                             .Set("version", "1.0")
                             .Set("manifest_version", 2)
                             .Build())
            .Build();
    ExtensionRegistry::Get(browser_context())->AddEnabled(extension);
  };
  add_extension(ext1);
  add_extension(ext2);
  auto event = [](std::string name) {
    return std::make_unique<extensions::Event>(extensions::events::FOR_TEST,
                                               name, base::Value::List());
  };

  // Register both extensions and both URLs for event.
  event_router()->AddEventListener(event_name, process(), ext1);
  event_router()->AddEventListener(event_name, process(), ext2);
  event_router()->AddEventListenerForURL(event_name, process(), webui1);
  event_router()->AddEventListenerForURL(event_name, process(), webui2);

  // Should only dispatch to the single specified extension or url.
  event_router()->DispatchEventToExtension(ext1, event(event_name));
  EXPECT_EQ(1u, observer.dispatched_events().size());
  observer.ClearEvents();
  event_router()->DispatchEventToExtension(ext2, event(event_name));
  EXPECT_EQ(1u, observer.dispatched_events().size());
  observer.ClearEvents();
  event_router()->DispatchEventToURL(webui1, event(event_name));
  EXPECT_EQ(1u, observer.dispatched_events().size());
  observer.ClearEvents();
  event_router()->DispatchEventToURL(webui2, event(event_name));
  EXPECT_EQ(1u, observer.dispatched_events().size());
  observer.ClearEvents();

  // No listeners registered for 'api.other' event.
  event_router()->DispatchEventToExtension(ext1, event("api.other"));
  EXPECT_EQ(0u, observer.dispatched_events().size());
  event_router()->DispatchEventToURL(webui1, event("api.other"));
  EXPECT_EQ(0u, observer.dispatched_events().size());
}

}  // namespace extensions

redpajama_set_name: RedPajamaGithub


Talib Kweli and Hi-Tek were planning on releasing this mix right at 12:01 for 2010 but have deiced to go ahead and release it today! Thank ..
Ready to see a pretty funky video? Prepare yourself for the new video by Sugar & Gold for the song entitled "Neighborhood". These guys ..
Here's a radio rip from a few days ago when Jay Electronica went on the Toca Tuesday's radio show. The track features Mos Def and was produced ..
Sweet jesus…thank you for this glorious early Christmas Present. Reflection Eternal (Talib Kweli & Hi-Tek) have dropped a new single ..
Got some new Lupe Fiasco which is good after hearing how his Christmas mixtape got push back. This track is rumor to be of Lupe's upcoming ..
WoW! that all I got to say is about this track, Creative Control let loose a video that has a preview of a Mos Def track that is being produced ..
Got three brand new freestyles from one of DC's finest artists, Wale, in these tracks he goes over Jay-Z "Thank You" ,Kanye West "Stronger" ..


This is a great place to start when navigating our site. Below is a list of links to all of the pages on our site, with descriptions of each.
This is our home page. It gives a brief overview of our hotel and links to our other pages.
This page details our different room types, with information on the features and furnishings of each.
This page provides information on our onsite amenities and services including our complimentary breakfast.
This page describes our local area and profiles some of the popular attractions in Leesville, LA and surrounding areas.
This page takes you on a virtual tour of our Leesville, LA hotel property.


"Solo Variations" out now on Pan y Rosas!
The proximity antennas sense the physical presence of one's body and convert the 'closeness' of the person to each antenna into voltages that can be used to control synthesizers, computers, lights and even robotics. The design is based on ideas gleaned from Robert Moog, MIT, the Moskow State University and many other sources, then honed by my experience.
The two antenna sensing units each have a vertical 4.5 foot long copper pipe attached to a resonator that is enclosed in a shielded box. That box sits upon a marble base plate that has a conductive film applied underneath. This plate radiates a high frequency sine wave signal from a master oscillator that is picked up by the copper antenna.
The antennas work on the principle of using body capacitance, as small as femtofarads, to change the frequency of a resonator built into the base of each antenna. As one approaches the antenna, the body capacitance effect increases as the distance decreases and so the frequency of the resonator falls. As the frequency of the antenna resonator gets closer to that of the sine wave radiator, the resonator produces more output voltage. This voltage is conditioned by outboard circuitry to produce a common analog control voltage, from zero to five volts. Thus, the closer one gets to the antenna, the more control voltage it produces.
The control voltages from each antenna are continuously monitored by an Arduino Uno to produce a gate or trigger votage for each antenna. Variable controls are provided so that the gate can be made to turn on when the person is at a certain fixed distance from each antenna. So if the distance threshold is set to be 2 feet, then anytime a person's hand is within 2 feet of the antenna the gate or trigger will be active. This gate voltage was used for triggering synthesizers in our initial performances, but it can also trigger a sound file to be played, ring a bell or start a fountain.
It is important to note that the antennas are not Theremins. They are just general-purpose controllers that convert distance into control voltages. Their application is limited only by the imagination of the user.
In performance, both operas take the shape of an improvised collage that combine conduction (using hand cues), graphic scores, memory-based improvisational structures, and traditionally notated music. I, Norton is an open-ended project—a perpetual work-in-progress—with additions made for each performance. Dissecting Adam is in a middle phase of development, adding flesh to a metaphorical skeleton. For this workshop, elements and characters from both I, Norton and Dissecting Adam will be combined and juxtaposed, to reflect upon the larger whole.
The opera takes place during the Emperor's final moments, as he lay dying on a rain-soaked street. The sound and images in each performance act as a metaphor for his life flashing before his eyes—events overlap and appear in fragments, often repeated and exaggerated. As a result, there is no linear storytelling involved; portions of the Emperor's life are revealed through each realization of the piece.
The opera relates the existence of 111 year old Evelyn, whose life spans three centuries, having been born in 1899 and dying in 2011. Her story is interpreted by an ensemble of solo female voices. Generationally, the singers individually represent eras of Evelyn's life, providing a skeletal frame for the exploration of the evolutionary archetype through her relationship to the male figures in her life (collectively known as "Adam"). Her lifetime provides the construct for artistic collaboration and exploration of other themes including (but not limited to) the word play on "adam" (human being, here translated as man) and the feminine "adamah" (ground, soil), and the ancient Chinese practice of using oracle bones for divination.
The opera workshop will be structured over five days in June at High Concept Labs. June18-23.
Many of the scores and concepts are in the current repertoire of the Chicago Scratch Orchestra.
Weekly organizational rehearsals through May/June will be occurring at High Concept Labs.


Whether you are facing the complexity of building a data driven company or trying to navigate through the millions of data points in your existing business, in today's fast-paced market data is key. But, how do you get value out of your data?
Tengu leads you step by step through this complex process. We offer customized and self-supporting data operations interfaces and insist on a hands-on knowledge transfer. We connect the right people with the right data resulting in growth of your business value and revenue.
Get insights within minutes. Discover new market opportunities. Benefit from a sustainable revenue growth.
Integrate, aggregate, process and work with all your data in one place with our Tengu DataOps Interface.
We listen to your data needs, and convert these into the right data solutions. We integrate your current working tools.
Get a better understanding of your shoppers behaviour. Make data-driven decisions upon the best pricing or promotion strategy. Streamline your ordering process.
More and complexer data is stored, no longer accessible for the full organisation. Make data accessible for the right people again. Drive value across your organisation.
DataOps - what is it good for? Absolutely, everything!
DataOps is the new hype in the (big) data world, but why is it so important for your company?
Missed our talk at DataOps Ghent Meetup?
Good news! We have put together a brief summary for you. And, for the big fans we also have a video and slides.
Smart Retail Trends 2019: 18 top experts share their thoughts!
Follow our 500 other subscribers, and stay up to date with our latest posts and events.
"Talent wins games, Teamwork wins Championships"
Our highly technological skilled team, assures you get the best value out of your data! Team Tengu is a wonderful mix of software engineers, mathematicians, marketers, sales and many more. We are a startup with high ambitions and believe in the power of our team to get us there.


Martin Marietta Inc. is the second largest construction aggregates producer in the United States and the quarry it operates in the District is its only Canadian aggregates operation. The quarry is located on tidewater within the Strait of Canso. Production at the facility has increased significantly in recent years.
The operation furnishes material via self-unloading ships and barges to customers in Nova Scotia, the Eastern and Gulf Coasts of the United States, and the Caribbean.
A second aggregate quarry, near Canso at Black Point, on the District`s southern coast is in the approval stages.
The proposed Black Point Quarry Project is an aggregate quarry and marine terminal. The project consists of quarry development and aggregate production on an undeveloped, 354 hectare property, along with the construction and operation of a marine terminal adjacent to the quarry in Chedabucto Bay. Processed aggregate will be off-loaded into Panamax size bulk carriers and transported to ports along the eastern and Gulf coast of the United States and potentially to markets in Canada and the Caribbean.
The Black Point location is sheltered and ice-free, enabling construction of a deep water marine terminal. The project is anticipated to costs $80-$110 million (US) and will be a significant employer in Guysborough County throughout its expected 50-plus year lifespan.
The Municipality has a rich gold mining history. Some of the richest gold mines in the province were at Hurricane Pt., Upper Seal Harbour and the vicinity of Goldboro. New, commercially-viable gold deposits have been identified in several locations along with many other promising finds. Gold mining is coming back, although the magnitude of the industry remains anyone's guess.
Along with gold, deposits of rare earth metals are being uncovered with regularity and mounting interest. A rich mining future in the district is a distinct and profoundly interesting opportunity.


text:
Conservation of Hillary Hut
SCOTT BASE
© Antarctic Heritage Trust | Tim McPhee - credit: Antarctic Heritage Trust | Tim McPhee
HISTORY OF EXPEDITION
CONSERVATION OF HILLARY'S HUT
TRANS-ANTARCTIC GALLERY
The Most Challenging Conservation Environment on Earth
In 2001, the TAE/IGY hut at New Zealand's Scott Base was listed as an Historic Monument under the Antarctic Treaty, giving recognition to its importance in the history of exploration and science in Antarctica.
Over the summer seasons of 2016-2017, more than 5700 hours of work went into the restoration and conservation of that hut, also known as Hillary's Hut, and the artefacts it holds. The work was completed in time to mark the 60th anniversary of Scott Base in January 2017.
Having had little maintenance over the years, it was no small challenge: the roof leaked and there was pooled water under the hut, snow had banked up in the outer porch, there was diesel in the flooring, and – creating a significant health hazard – asbestos was flaking from the interior walls.
A detailed conservation plan was drawn up and the Antarctic Heritage Trust pulled together a team of 12 specialists to take on the challenge.
Major Rebuild
A key part of the plan was to remove the asbestos linings from the walls and ceiling. Modern material replaced those, chosen to be as close as possible to the original finish and appearance. Other original material, such as the trim, was carefully reinstated. The foundation timbers were upgraded, and 30 anchors to support the hut's rigging were installed. Roof leaks were repaired and a new roof put over the top of the original one; nine chimney flues were repaired and reinstated; and the building's electrical services and fire alarm were upgraded.
Inside new partitions constructed between the radio room and Hillary's room, and a new cold porch and junction box were created following the original specifications (the cold porch built in the 1980s was removed).
© AHT - credit: Antarctic Heritage Trust
© AHT - credit: J Harrison
Antarctic Artefacts
Almost 600 artefacts are housed in Hillary's Hut. Some were from the TAE/IGY era and others were part of the legacy of New Zealand's formative Antarctic programme. They include radios, food, clothing and documents. On the team were three conservators specialising in the care of paper, timber, fabric and metal.
All the moveable objects were removed before the building's asbestos linings could be taken out. Every item was individually catalogued and photographed, and where necessary was given conservation treatment by the Trust's team of conservators.
Compared with objects previously conserved by the Trust from the 'heroic era' of Scott and Shackleton, the Hillary's Hut objects were in good condition.. But their modern materials, such as plastics and paint, did pose some treatment challenges around stabilisation and choice of adhesives used in treatments.
© AHT - credit: Sue Bassett
© AHT - credit: G Cooper
Some of the most exciting artefacts are the rolls of developed film shot by Wing Commander John Claydon from his aerial reconnaissance over areas of Antarctica never-before seen from above Another unexpected highlight was that the removal of paint from many of the fixtures in the hut revealed the original makers plates.
Working on Site
Heavy and large artefacts presented the challenge of having to have conservation treatment applied in place. For example, two cast iron stoves needed washing to remove dirt, corrosion mechanically removed, then the stoves stabilised by applying tannic acid and a final coating of microcrystalline .
Welcome Additions
A number of descendants of the original TAE/IGY team have donated objects from the expeditions, bringing new character, detail and depth to the collection, including a copy of the hut's plans signed by all the expedition members and presented to Ron Mitchell, one of the architectural draughtsman from the Ministry of Works who with Randall Heke led the Scott Base construction team on ice.
© Antarctic Heritage Trust - credit: Antarctic Heritage Trust
One of the cast iron stoves before (left) and after (right) conservation treatment.
Standing Proud
Hillary's Hut now stands in its original colours, in stark contrast to the modern Scott Base. Weathertight, it defies Antarctica's challenging elements and remains the only building remnant from the TAE.
Trust Programme Manager Al Fastier says it's been a long and successful road to save the hut and conserve the hundreds of artefacts within it. "As a historic site, its significance is that it's the birthplace of New Zealand's presence in Antarctica and the link to Sir Ed's famous tractor trip to the South Pole."
The Trust acknowledges Architectural Metalformers, Pacific Coilcoaters, Sika NZ, Nexus Foams and Dulux New Zealand for their donated products and technical assistance.
Find out more about the work of this world-leading cold climate conservation team
© AHT - credit: Al Fastier
© AHT - credit: Doug Henderson
The original colours of the hut were bright, to make it stand out in a snow storm. The original paint – inside and out – came from the company Berger, now owned by Dulux. Flakes of the original paint were taken to New Zealand for analysis. Searching Berger's archives, the original formulas were able to be matched so the colours could be recreated. Six new custom colours were created by Dulux and Antarctic Heritage Trust was invited to name them.
Exterior yellow – 'Pram Point', the geographic location of Scott Base
Exterior orange trim – 'Sno-Cat', the colour of the vehicle used by Vivian Fuchs
Exterior flues yellow – 'Ponder', after the architect of Scott Base, Frank Ponder
Radio room green/blue – 'Transmission', because of the function of the Radio Room
Kitchen cabinetry mint green – 'Heke', after Scott Base construction foreman Randall Heke
With Persistence and Cold Fingers
The conservation team achieved a remarkable transformation of the Hillary's Hut exterior. The team used paint brushes rather than rollers to give the hut a 1950s finish … 'As the men would have done.'
The retro paintwork was internationally recognised with the Trust winning the International Category of the Dulux Colour Awards in 2017.
Hillary's room yellow – 'Armitage Loop', the name of the sea-ice road between Scott Base and the ship
Marcus King painting.
Delightful Symmetry
The two Marcus King oil paintings (gifted by the New Zealand Government Tourist Office) no doubt provided the Kiwi TAE/IGY team with precious reminders of home – one of the New Zealand bush, and the other of the high country. Over the years, however, the paintings had suffered from water damage as a result of the leaking roof, and needed specialist treatment. Carefully packaged, they were flown to the Auckland Art Gallery for repair and conservation. Overseeing that work was Sir Ed's daughter, Sarah Hillary, who is the Principal Conservator.
The inside of the hut was completely dismantled in order to remove the asbestos linings, giving up a few unknown artefacts that had been 'lost' behind some of the cabinetry. These included a pipe, cutlery and a serviette holder.
© Jane Ussher - credit: Jane Ussher
A New Roof
While working to conserve Hillary's Hut in 2016, the need for a weather-tight long-term roofing solution was identified. Programme Manager Al Fastier says the Trust wanted the roofing solution to last a minimum of 35 years but more likely 50 to 60 years. A plan was then developed to overclad the historic roof, meaning the original roof remained intact.
A key feature of the newly restored hut is the aluminium roof, complete with new battens painted in the original bright orange. As if the project itself did not provide enough of a challenge, the team had to work around extreme weather systems that included snow and wind storms that season.
For specialist standing seam roofer, Mike Burgess, the conditions provided a job unlike anything he had ever tackled. The project manager for Architectural Metalformers is used to working through complicated roofing projects in rural, commercial and urban environments – less so in the world's harshest environment. Mike combined his more than 20 years in the business, with further research, to come up with the robust long-term waterproof roofing solution.
The Trust has partnered with Auckland University of Technology to create a ground-breaking virtual reality experience of Sir Edmund Hillary's Antarctic hut. Launching soon, people will be invited to step inside Hillary's (TAE/IGY) Hut and to explore the first building at what is now New Zealand's Scott Base. A fully immersive experience, which includes a guided tour through the hut, it celebrates New Zealand's first leadership presence in Antarctica as part of the Trans-Antarctic Expedition and International Geophysical Year.
The Trust recently finished conservation on the hut and is pleased to be able to share this iconic piece of Antarctic history. Stories of Hillary's 23-man team and their mission to further science and exploration in the world's most extreme environment will feature within the experience and through accompanying material.
The virtual reality experience will be freely available at selected institutions around New Zealand, as well as being accessible online internationally.
The Trust gratefully acknowledges principal sponsor Ryman Healthcare, as well as Antarctica NZ (logistics) and Staples VR (technical).
Hillary's Hut Restoration Gallery
Over the 2016–2017 summer the Antarctic Heritage Trust's team on the Ice spent more than 5700 hours carefully restoring Hillary' Hut (TAE Hut) and conserving more than 500 artefacts.
Staff gather in front of the TAE Hut
Celebrating the 60th anniversary of Scott Base and the completion of the Hut.
© Anthony Powell - credit: Anthony Powell
The completion of the TAE Hut restoration
A stunning photo taken by renowned New Zealand photographer Jane Ussher following the completion of the TAE Hut restoration.
In the lab, one of the fire extinguishers waits on the workbench while Ciaran begins work on an empty fuel jerry can from inside the TAE Hut.
Shelves in the radio room
Shelves in the radio room hold an assortment of objects – aerial survey films, equipment manuals, correspondence, a projector and the BP Polaroute board game.


Finding low cost homeowners insurance quotes for Schulenburg, does not have to be difficult. Our website is designed to help consumers like you to compare multiple providers. Enter your Zip Code in the form above and get a quick look at the top-recommended options for your area.
Very few people that get Schulenburg homeowners insurance actually end up finding the best rates available. They will typically go with what their current insurance provider has for them, usually bundling that in order to get a discount. However, you can find several different Texas companies that will charge far less than what your existing insurance policy actually offers. In fact, they may even give you more coverage for less money, but you have to obtain home insurance quotes on the web that can lead you to these exceptional deals.
The speed at which the policy will go into effect is usually quite fast. If you are coming up on your next payment with your current insurance provider, it will likely start on the same day so that you do not lose any coverage. Also remember that discounts can also be achieved by paying your premiums annually instead of making monthly payments. These are just a few other things to consider if you are looking for a way to save money on your Schulenburg, Texas homeowner insurance policy.
Obtaining the proper house insurance coverage can be a nightmare if you do not realize all the intricacies of buying home insurance policies. If you look through via this web site, you will uncover all kinds of guidelines and methods that can help you get the protection that suits your wants.
Make positive you have enough smoke detectors set up in your house. Older properties specifically may possibly need added types in order to get a far better house insurance policies top quality. Even some newer homes can advantage financially from introducing further detectors apart from people necessary to fulfill the specifications.
When searching for house insurance policy, conserving income is key. Possessing gadgets this kind of as smoke alarms, carbon monoxide detectors, and monitored home protection alarms in place can provide wonderful reductions. Bear in mind to discuss these (and other) basic safety devices with your agent when negotiating your following house insurance policies policy.
Insuring a vacant home is quite costly, as a vacant house is a magnet for vandals. Vacant house insurance can value a lot more in a thirty day period than typical home insurance policies charges for a calendar year. If a house member are unable to continue to be at the home, contemplate leasing the home out, or trade free of charge lease for home sitting solutions to avoid possessing a home sit idle.
Install a safety system in your home. Not only will it make you and your house feel safer and give your home some added protection from possible intruders, you will also uncover that it usually lowers your typical home insurance policy premiums. It can truly finish up preserving you as much as twenty%.
Your neighborhood might have gone through alterations that can lower your insurance policy rates. Issues this sort of as hearth hydrants or hearth stations found around your home can reduce your prices. Be aware of your environment, and converse any updates or adjustments that may probably have an effect on your high quality.
Choose confirmed substitute expense coverages on your home owner's policy to make positive you are fully protected in case of injury or destruction. While protection tied to the overall house benefit or assessed benefit of the home may seem to be ample, often rebuilding a home fees a lot more due to increases in construction and materials fees. Making positive you have assured substitute price makes certain your house is rebuilt ought to a catastrophe occur.
Increasing a deductible is a very good way to lower home insurance policies premiums. You have to do research, simply because little statements can value you money and you have to spend them, such as leaky pipe harm and broken house.


If you are looking for clothes in XXL size and have you often find it difficult to find anything in the right size that is also smart, we are the answer. Hoticle sells plus size formal and trendy clothing for women in XXL size. We mix known Danish brands with unique and exciting news from abroad.
With us, it is important that clothes both fits well and looks good. In addition, we also go after finding something XXL clothes not look all the other spots. We like the uniqueness of having something special clothes all girlfriends not also running around in. There is not much by coming to a party or at work, and find out how to page the man have the same clothes on. So can be destroyed almost the whole day.
Price and quality are linked, also when it comes to XXL clothing, the hoticle has hoodies in all price ranges, so that everyone can participate and hills around good tool will be produced in the factories on welfare. XXL clothes starts from 149.0-while the Danish brand Que is from 99.0 and up.
XXL clothes have it often with look like a tent once it comes on. This is because in many cases there is not taken into account that large women also have forms that must be visible. This places high demands on the design and development of clothing, and is typically what one must do without by the cheap clothes. We attach great importance to all our XXL clothing is graded so that it fits and fits well on large sizes. You should be able to notice that the vehicle is adapted to curves XXL women have. Hoticle should not be hidden but are highlighted. Done it really, it looks extremely good, also on a XXL body.


text:
Ex-Saudi intelligence official alleges Riyadh sent hit squad to kill him
Aug 06, 2020 • Last Updated August 6, 2020 • 2 minute read
A former top-ranking Saudi intelligence official living in exile in Canada alleged in a lawsuit filed in a U.S. court on Thursday that Crown Prince Mohammed bin Salman sent a team to kill him in 2018 but the effort was foiled by Canadian authorities.
Saad al-Jabri was a long-time aide to Prince Mohammed bin Nayef. The crown prince – known as MbS – ousted Nayef as heir to the throne in a 2017 palace coup that left him the de facto ruler of Saudi Arabia, a close U.S. ally.
People with knowledge of the situation told Reuters earlier this year that Jabri has access to documents containing sensitive information that MbS fears could be compromising.
In a 107-page lawsuit against MbS and 24 others filed in federal court in the District of Columbia, Jabri said the crown prince "dispatched a hit squad" to Canada in October 2018.
"(A) team of Saudi nationals traveled across the Atlantic Ocean from Saudi Arabia … with the intention of killing Dr. Saad," said the lawsuit, which seeks punitive damages in an amount to be determined at trial.
The Saudi government media office did not immediately respond to a request for comment on the lawsuit. The Saudi embassy in Ottawa was not immediately available for comment.
The "hit squad" was comprised of members of a group close to MbS called the Tiger Squad, and they carried two bags of forensic tools and included someone who knew how to clean up crime scenes, according to the lawsuit.
The men "attempted to enter Canada covertly, traveling on tourist visas" and pretending not to know each other. Suspicious border agents found a photo showing several of the men together, "revealing their lie and thwarting their mission," it said.
The alleged incident took place less than two weeks after Saudi agents murdered journalist Jamal Khashoggi in the kingdom's Istanbul consulate. Turkish sources told Reuters a bone saw was used to dismember the journalist.
MbS came under international criticism over Khashoggi's killing, which U.S. government sources say the Central Intelligence Agency believes MbS approved and may have ordered.
The crown prince has denied ordered Khashoggi's killing but said he ultimately bears "full responsibility" as the kingdom's de facto leader.
Jabri's family says MbS has detained two of his adult children and his brother to try to force his return.
Jabri, who described himself as a long-time ally of U.S. intelligence services, said he filed the suit in the United States in part because the alleged plot against him "involved substantial conduct inside the United States."
The office of Canadian Foreign Minister Francois-Philippe Champagne referred queries on the matter to the office of Public Safety Minister Bill Blair, which did not respond to a request for comment.
Canada's relations with Saudi Arabia have been poor since August 2018, when Ottawa criticized Riyadh over human rights. (Reporting by David Ljunggren in Ottawa; Editing by Daniel Wallis)


text:
YMCA fights New Orleans illiteracy with 5K run
Hundreds of runners turn out for 32nd annual YMCA Corporate Cup
Updated: 1:49 PM CST Dec 2, 2012
Hundreds of runners teamed up for the 32nd Annual YMCA Corporate Cup: Second Line for Literacy 5K on Sunday at City Park. The run benefited the YMCA's educational services and its adult literacy program.About 70 percent of New Orleanians read below an eighth grade level, according to teacher Phyllis Gallagher.Gallagher has taught adults ages 18 to 70 how to read for the past four years. She said many of her students came to her reading on a second grade level, while others could not read at all."At the Y, we believe that when anybody walks in the door and says, 'I want to learn how to read,' or they want to improve their skills, we're here to help them," said Shannan Cvitanovic, director of adult education.Cvitanovic said the YMCA has helped more than 250 adults improve their math and reading in the past year. She said reading ultimately strengthens the community, but for many students illiteracy is the least of their problems."We have some who are homeless, some who struggle with drug addiction," Cvitanovic said. "We have so many, but then we also have people who have great jobs and great families, and you wouldn't know to look at them that illiteracy is something that they've been hiding for years."The free YMCA adult education classes are available at three locations: the Harmony Oaks Community Central in Central City, the New Orleans Public Library in the central business district and the New Orleans East Regional Library. Math and GED classes are also available.
NEW ORLEANS —
Hundreds of runners teamed up for the 32nd Annual YMCA Corporate Cup: Second Line for Literacy 5K on Sunday at City Park. The run benefited the YMCA's educational services and its adult literacy program.
About 70 percent of New Orleanians read below an eighth grade level, according to teacher Phyllis Gallagher.
Gallagher has taught adults ages 18 to 70 how to read for the past four years. She said many of her students came to her reading on a second grade level, while others could not read at all.
"At the Y, we believe that when anybody walks in the door and says, 'I want to learn how to read,' or they want to improve their skills, we're here to help them," said Shannan Cvitanovic, director of adult education.
Cvitanovic said the YMCA has helped more than 250 adults improve their math and reading in the past year. She said reading ultimately strengthens the community, but for many students illiteracy is the least of their problems.
"We have some who are homeless, some who struggle with drug addiction," Cvitanovic said. "We have so many, but then we also have people who have great jobs and great families, and you wouldn't know to look at them that illiteracy is something that they've been hiding for years."
The free YMCA adult education classes are available at three locations: the Harmony Oaks Community Central in Central City, the New Orleans Public Library in the central business district and the New Orleans East Regional Library. Math and GED classes are also available.


MOSTxxWANTED adriananddeiby livejasmin. ILove2CumX. ShawnShady. EddaLacey.
ANDRENALYNExxxDreamerrrEllieWyattgentlemanjohnny .JennaFoxxyXSexyFox20TifhanyHot2marienluis111 .julian05TynnaElamypussssyKlausAndDayana .XPINAYWILDGIRL02mypussssyLEOMARAGentleMary .AsianMirunaRiaDollyRachaelHazelAnnastasiaa .ILove2CumXgentlemanjohnnyhotgirlsarayjulian05 .DebbieAddictedJennaFoxxyXAsianMirunaAndrewOrionXXX .LindaaStarrbolutosaNatalyaPearlTHOMASCUTEGUY .MarySweetKittyLuciVegaSweettrans18AnastaciaFire .KOBYMILLERhdnookiecandyrocknrollJAKKILOUISE .AAliceHoneySingerArielKikiMoreKOBYMILLER .
LuciVegamarthin74mypussssyMissRougeX .HOTAMYGoldLiroTifhanyHot2Sweettrans18 .THOMASCUTEGUYRachaelHazelmarthin74liaLux .GrechemHotVidannaNoahFoxpaolahardy .pervertsexboyMarySweetKittylexiHustonMaxLuter .MilaTorridcandyrocknrollEllieWyattgentlemanjohnny .AlysaHazeSharonredhairCharmingBlueEyesAndrewOrionXXX .julian05LEOMARAHotCandyStripTifhanyHot2 .ArielSeaSharonredhairjulian05AnastaciaFire .ILove2CumXKlausAndDayanaEddaLaceyRAZEMANDSANM .Reychel22bolutosaSmilingEvaTifhanyHot2 .


text:
Deadman Standing
Download Deadman Standing in HD for FREE
Vidlocker
The true story of a recently widowered lawman who befriends a boy dying of tuberculosis and a madam of the local brothel while their town is being politically and violently overtaken by a gang of reckless cattlemen from Texas.
Genre: Thriller, Western
Director: Derin Dopps, Megen White, Nicholas Barton
Actors: Aly Mang, C. Thomas Howell, Douglas Bennett, Luce Rains, Luke Arnold, M.C. Gainey, Monique Candelaria, Quinn Lord, Richard Riehle, Viva Bianca
Keywords:123Movies Aly Mang C. Thomas Howell Deadman Standing Online Douglas Bennett Fmovies full Movie Deadman Standing Gomovies Luce Rains Luke Arnold M.C. Gainey Monique Candelaria Movie25 Movie4k Primewire Putlockers Quinn Lord Richard Riehle Solarmovie Viva Bianca Xmovies8 Yesmovies
A master thief coincidentally is robbing a house where a murder in which the President of The United States is involved occurs in front of his eyes. He is forced…
Amityville: The Awakening
Belle, her little sister, and her comatose twin brother move into a new house with their single mother Joan in order to save money to help pay for her brother's…
Charlie Chan's Secret
Allen Colby, heir to a huge fortune, is presumed drowned after an ocean liner sinks off the coast of Honolulu. Mysteriously, Colby reappears at his mansion only to be murdered…
Alarmed
Trapped aboard the family yacht, Samantha lives out her personal Hell, night after night, answering to the cruel and painful demands of the ship's alarm system. Taking a journey into…
A tough, renegade cop is dispatched to take down a serial killer who has been targeting police officers.
Country: UK, France, USA
Blade: Trinity
For years, Blade has fought against the vampires in the cover of the night. But now, after falling into the crosshairs of the FBI, he is forced out into the…
Genre: Action, Adventure, Fantasy, Horror, Science Fiction, Thriller
A police detective investigates the apparent serial killing of several children which is linked to an institutionalized, autistic child.
When college freshman Ranae agrees to babysit for a family with a tragic past, her run-of-the-mill Saturday night quickly turns into a confrontation with unspeakable horror. Stalked by a sinister…
To prevent a world war from breaking out, famous characters from Victorian literature band together to do battle against a cunning villain.
Country: Czech Republic,Germany,UK,USA
Genre: Action, Fantasy, Science Fiction, Thriller
A Royal Night Out
The re-imagining of VE Day in 1945, when Princess Elizabeth and her sister, Margaret were allowed out from Buckingham Palace for the night to join in the celebrations, and encounter…
Genre: Drama, Mystery, Romance, Thriller
Multiple lives intersect in the aftermath of the violent mugging of a Columbia University philosophy professor.
Trailer: Deadman Standing


text:
"""
web module
=========

Provides:
    1. Asynchronous execution of Web Rendering and Websockets

How to use the documentation
----------------------------
Documentation is available in one form: docstrings provided
with the code

Copyright (c) 2016, Edgar A. Margffoy.
MIT, see LICENSE for more details.
"""

import os
import sys
#New submodules defined inside this module must be imported here
import main_handler

__version__ = '1.0.0'

sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))


text:
Manipur imbroglio: Nagaland MP justifies writing to Prime Minister
NATIONALREGIONAL
By Agencies On Oct 14, 2015
New Delhi: Nagaland's lone Lok Sabha member Neiphio Rio has justified urging Prime Minister Narendra Modi to not give consent to three controversial legislation passed by the Manipur assembly ostensibly to safeguard the rights of indigenous people.
"I think good sense will prevail on the prime minister and he will not allow this kind of manipulation in the state or in the country if we want to have a good and harmonious society," Rio said in an interview to be published in the forthcoming issue of the North East Sun magazine.
His comments came after, what he called, "Meitei nationalist parties" of Manipur condemned his writing to the prime minister and termed it interference in the internal affairs of the state.
The three legislative measures passed include the Protection of Manipur People Bill, Manipur Land Revenue and Land Reforms Bill (Seventh Amendment), and the Manipur Shops and Establishments Bill (Second Amendment).
The passing of the legislations on August 31 brought to an end months-long mass agitation by people living in the valley districts of the north-eastern state, demanding an inner line permit system on the lines of those in force in three other northeastern states of Arunachal Pradesh, Mizoram and Nagaland. However, tribes like Nagas, Kukis, Zomis and Hmars have claimed that the three bills would directly undermine the existing safeguards for the tribal hill areas regarding land ownership and population influx as the primary threat for the tribal people came not from outside the state but the Meitei people from the valley itself.
The day the bills were passed, protestors, mainly from tribal organisations in the hills of the state, torched five houses belonging to Congress lawmakers.
These included the houses of state Health and Family Welfare Minister Phungzathang Tonsing and Lok Sabha member from Outer Manipur Thangso Baite in Churachandpur district.
The violence and resultant police action left at least nine people dead.
"Considering the volatile situation and the possibility of more violence and disturbance in the overall scenario in the state of Manipur, I urge the government of India to not give its consent to the three bills passed by the Manipur legislative assembly as the bills are directly against the welfare, desire and will of the tribal people," Rio, a leader of the Nagaland People's Front, said in his letter to the prime minister earlier this month.
Speaking to the North East Sun, Rio said that, on the contrary, it was the Manipur chief minister and the state government who were interfering in the affairs of the tribal people living in the hills.
"This is a secular country. We have to protect everybody and not just one community," he said.
According to Rio, the bills "antagonise and (render) outcast" Manipur's own citizens.
"Strong apprehension is there. So, particularly the Nagas, Kukis, Zomis, Hmars have reacted sharply and rightly so because this is their ancestral land," he said.
"I think if, at all, they wanted to pass such bills, they should have gone through consultations, discussions and debate in the house. Why rush things and pass the bills by voice vote and that too in an emergency session. There is something very fishy about it."
Asked about the time when he, as chief minister of Nagaland, was prevented from visiting Senapati district in Manipur that is dominated by Nagas, he described the incident as "unfortunate".
"The chief minister of Manipur obstructed my visit which was very unbecoming. Even the union home minister requested me not to go. I said nothing doing because I am not going to quarrel. "I am going with peace and we must all co-exist. How can anybody prevent a chief minister of one state in the Indian union from visiting another state, particularly my neighbouring state for my Naga people," he asked. (IANS)
North East Briefcase
Assam flood toll mounts to 39
Himanta serves specific instruction for relief ops
SC agrees to reconstitute bench on Manipur killings
ADB to provide Rs 1,540 crore for Tripura power projects


text:
Amber Teamann is the proud principal of Whitt Elementary in Wylie ISD in Wylie, Texas. During her educational career, Amber's comprehensive understanding of student learning has resulted in a successful blend of technology and teaching. From a 4th grade teacher at a public school technology center, to her role as a Title I Technology Facilitator responsible for 17 campuses, Amber has helped students and staff navigate their digital abilities and responsibilities. She transformed the way information is shared in one of the largest school districts in Texas by piloting a communication initiative that launched Twitter, and led to 100-percent campus participation. Through her campus level leadership, she has helped initiate classroom change district wide, empowering teachers at all levels through digital initiatives.
Amber has received numerous awards, including Regional Assistant Principal of the Year and a "Principal of the Year" engagement award. She recently was recognized as the Dallas Down Syndrome Educator of the Year for her work with inclusivity on her campus. TCEA honored her as a state finalist for "Administrator of the Year". She also partnered with George Couros to develop and curate leadership with the "School Admin Virtual Mentoring Project", which connected over 400 educators worldwide in a digital space that nurtured and cultivated leadership. She was a contributing author for "Education Write Now", on changing the way you think about leadership. Through her state organization, TEPSA, she has shared in numerous webinars, articles, and conferences with administrators at all levels.
Amber has also co-created a space on Facebook, for principals, by principals that shares staff appreciation and motivation ideas, tips and tricks to ensure the well being of a campus staff. With over 5000 members, it has become a collaborative space where administrators are able to connect, be renewed and feel as if taking care of their people is a FUN and easy thing to do. A second group focuses on Principal Productivity.
Having keynoted several events, she is passionate about inspiring innovation through her experiences and impetus for student success in a digitally full world. Amber speaks nationally at educational conferences, including Digital Learning Day in conjunction with the U.S. Department of Education in Washington DC. She also developed and led the inaugural Region X Digital Fluency Academy for Administrators, supporting her favorite quote, "The smartest person in the room IS the room." Amber knows we can all be better together and strives to make every day the very best it can be for each member of her staff and students.
In addition to blogging for Connected Principals, she is a firm believer in modeling a digital footprint. Her educational philosophy and digital portfolio can be found at "TECHnically yours, Teamann" or on twitter, @8amber8. She also showcases #allthethings on Instagram.


Luiza Mayer is a Brazilian artist based in the Washington, DC, area. She studied painting and drawing at the Corcoran College of Art, the Rockville Visarts Center, and the McLean Project for the Arts. Luiza works with watercolor, acrylic, encaustic, graphite and mixed media.
Luiza holds a master's degree in Organization Development from Johns Hopkins University, Baltimore, and specialized in human resources development at the University of California, Berkeley, and in law at the Pontifical Catholic University of Rio Grande do Sul, Brazil. She is a public administration and civil society management specialist who has worked in Angola, Brazil, Bulgaria, Mozambique, and the United States. After working with art as a hobby for many years, Luiza took up art as her profession in 2007.


ASB Inc. located at Daejon, South Korea, operates an MMIC circuit and RF module design center and in-house test facility. Clean room production line for MMIC/RF module test & assembly is equipped with fully automated or semi-automated machines and test equipments. Test capability covers up to 50 GHz for on-wafer measurement and microwave range for packaged MMIC & module testing. The MMIC products are highly linear LNAs, gain blocks, and power amplifiers with low DC power consumption for use in up to 6 GHz application. The RF modules are internally matched SMD-type LNAs, power amplifiers, and PLL synthesizers. The performance of the modules is optimized for customization.
The enthusiastic R&D results in continuous release of new quality products and strengthens the product portfolio, so that Korean government keeps designating the company as a World-class Product Company with Excellent Korean Technology. The company also cooperates with the Sales Representitives covering the important territories of the world in order to provide the shortest and stable delivery. All our members strive to provide cost-effective and state-of-the-art solutions to customers in a timely manner while consistently meeting or exceeding their quality, reliability, and service expectations. The company has been ISO 9001:2000 and ISO 14001:2004 certified by Korea International Standards Certification (KIC) since September 2004 and October 2005.
ASB's Green Product – All our products comply with the EU RoHS Directive 2002/95/EC and especially MMICs are all halogen-free.
ASB Inc. has an R&D design center for MMIC circuit and RF module simulation. The circuit simulation and layout software includes commercially available ADS, Cadence, etc. on PC-based environment. By using self-contained design capability we develop the MMICs, the SMD-type RF modules, and microwave sub-modules up to 30 GHz aiming at the commercial markets such as DTV, DVB/DMB, CDMA, GSM, WCDMA, GPS, WLAN, CATV, WiBro/WiMAX and so on.
The company owns about 100 patents, related to a world-level proven heterojunction bipolar transistor (HBT) technology and MMIC design, and also has circuit design engineers with 5~20 years experience. The company is mainly using SiGe HBT and BiCMOS, InGaP HBT, and InGaAs Enhanced-mode pHEMT technologies and will expand into analog & mixed-signal IC to challenge a fast growing IT market.


text:
ニュースとイベント 採用情報
一般的なお問い合わせ
事業所の検索
あなたは現在 Peterson and Control Union
グローバルな活動
担保サービス
商品検査
商品物流
エネルギーロジスティクス
プロジェクトとソリューション
当社のグローバルオフィスの連絡先情報をお探しの場合は、下記のリンクをご覧ください。
独立したサービス企業のグローバルネットワーク
当社が事業を行う方法
当社の活動
当社活動の Web サイトを表示
当社の社員
当社の主要な資産は献身的な社員です
当社の社員について
専門知識と責任
革新的な思考
当社の経営陣
20-03-2017 | Certifications
Control Union and NIOZ start spin-out for ballast water testing
Control Union and NIOZ have joined forces to establish a spin-out company to perform ballast water testing activities for the certification of ballast water treatment systems (BWTS). Control Union Water B.V., with her laboratories in 't Horntje at Texel, is the commercial successor of the ballast water test activities as these were developed and performed by NIOZ since 2004.
The importance of ballast water testing
Sea vessels all over the world load their ballast tanks with surface water to optimize their stability, navigability and safety. For this an estimated annual volume of five to ten billion tons of water is moved over the globe. This ballast water is pumped into special ballast tanks, including the local sediment particles and an enormous variety of living planktonic organisms. When transported to other ecosystems there is a risk of severe damage to the receiving ecosystem and non-indigenous organisms developing into a plague. The problem of invasive species is considered to be one of the four major threats of the world's oceans next to land-based marine pollution, over-exploitation of living marine resources and physical alteration and destruction of habitats.
Twelve years ago NIOZ started with the testing of ballast water treatment systems (BWTS) with the purpose of certification of testing procedures. Globally, NIOZ belongs to the most experienced leading facilities to develop these test activities. The ballast water research group of NIOZ developed numerous methods for the counting of different types of planktonic organisms during the past decennium. These methods form the basis for the tests required for the certification of BWT systems. Henk Brinkhuis, general director of NIOZ commented: "NIOZ is enthusiastic that its research activities have resulted in an operational technology and services that are now transferred in the form of a spin-out to a Dutch family owned company with global operational harbour activities. The company will benefit from the network and global presence of Control Union to distribute this know how on a global scale."
USCG Type Approval
In May 2015 Control Union already announced that it was accepted as an Independent Laboratory (IL) by the United States Coast Guard (USCG). Control Union offers ballast water test services to clients who wish to have their BWT system certified under USCG Type Approval. The demand for these approved systems is high, due to strict legislation and regulation and the limited number of accepted laboratories. Evert Jan Tiktak, CEO of Control Union: "Control Union Water will benefit from the international inspection and certification network of Control Union. We are pleased that we can offer the technologies and test services developed by NIOZ to our existing and new customers."
Control Union Water will also provide test services as per the request of the IMO-consortium, according the standards of the International Maritime Organisation (IMO). The IMO-consortium consists, next to Control Union and NIOZ, of IMARES, GoConsult, Dr. Matej David Consult and TNO.
About NIOZ
NIOZ, Royal Netherlands Institute for Sea Research, is the National Oceanographic Institution of The Netherlands. The institute was founded in 1876 and is part of the Netherlands Organization for Scientific Research (NWO) and employs approximately 310 people. The institute has two locations, one on the island of Texel at the border between the North Sea and the Wadden Sea, and one in Yerseke, the delta area in the southwest of The Netherlands. The mission of NIOZ is to gain and communicate scientific knowledge on seas and oceans for the understanding and sustainability of our planet and to facilitate and support marine research and education in The Netherlands and Europe.
NIOZ: Thomas de Greef T +31 (0) 222 369375
Control Union: Ron Winands T +31 (0) 223 685180
ニュースレターに登録し、認証プログラムおよび業界ニュースに関する最新情報を受信する
活動 Web サイト
著作権 © 2020 Peterson and Control Union 免責事項 契約条件 Privacy policy