so yeah, it sounds pretty surreal (and as you can see from the header image, it looks pretty weird) but it's totally a strange animal kingdom thing!
the parasite in question is called 'cymothoa exigua' and it lives in the gulf of california. it picks on a few different species of fish … but it's the snapper that is the most interesting (the parasite doesn't take over as the fish's tongue in other fish species).
wondering what actually happens? well, the parasite (which always matures into a male unless prompted to switch into a female) swims into a fish through its gills and begins to mature into a male. a second one then also swims through the fish's gills and subsequently prompts the first to turn female.
the, now female, first parasite then crawls from the gills to the fish's mouth and clamps onto the tongue with its specialised legs. the female is then impregnated by the male parasite … she'll now spend her entire life attached to this tongue 🙃.
she now just chills out attached to the tongue, slowly sipping on the blood inside the tongue #eww. due to this sipping, the tongue slowly disappears until nothing remains except for a little muscular nub; still holding on, she has now entirely replaced the tongue of the snapper as a legit working tongue!
once the tongue is gone, she has no source of food and lives off stored energy. the whole point of this tongue replacement and keeping the snapper alive is so that she has plenty of time to rear her young. eventually, before she runs out of stored energy, she releases her young out into the wild so that they can find their own fishy host 👍🏻.
thats all from me today! i'm off to bed 😴 #lightweight.


text:
require "datastore_helper"

# This test is a ruby version of gcloud-node's datastore test.

describe "Datastore", :datastore do
  let(:prefix) { "#{Time.now.utc.iso8601.gsub ":", "_"}_#{SecureRandom.hex(4)}" }

  it "should allocate IDs" do
    incomplete_key = Google::Cloud::Datastore::Key.new "Kind"
    incomplete_key.wont_be :complete?

    keys = dataset.allocate_ids incomplete_key, 10

    keys.count.must_equal 10
    keys.each { |key| key.must_be :complete? }
  end

  describe "create, retrieve and delete" do

    let(:post) do
      Google::Cloud::Datastore::Entity.new.tap do |e|
        e["title"]       = "How to make the perfect pizza in your grill"
        e["tags"]        = ["pizza", "grill"]
        e["publishedAt"] = Time.new 2001, 1, 1
        e["author"]      = "Silvano"
        e["isDraft"]     = false
        e["wordCount"]   = 400
        e["rating"]      = 5.0
      end
    end

    let(:post2) do
      Google::Cloud::Datastore::Entity.new.tap do |e|
        e["title"]       = "How to make the perfect homemade pasta"
        e["tags"]        = ["pasta", "homemade"]
        e["publishedAt"] = Time.parse "2001-01-01T00:00:00.000Z"
        e["author"]      = "Silvano"
        e["isDraft"]     = false
        e["wordCount"]   = 450
        e["rating"]      = 4.5
      end
    end

    it "should save/find/delete with a key name" do
      post.key = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_post1"
      post.exclude_from_indexes! "author", true
      # Verify the index excludes are set properly
      post.exclude_from_indexes?("title").must_equal false
      post.exclude_from_indexes?("author").must_equal true

      dataset.save post

      refresh = dataset.find post.key
      refresh.key.kind.must_equal        post.key.kind
      refresh.key.id.must_be :nil?
      refresh.key.name.must_equal        post.key.name
      refresh.properties.to_h.must_equal post.properties.to_h
      # Verify the index excludes are retrieved properly
      refresh.exclude_from_indexes?("title").must_equal false
      refresh.exclude_from_indexes?("author").must_equal true

      dataset.delete post
      refresh = dataset.find post.key
      refresh.must_be :nil?
    end

    it "should save/find with a key name and delete with a key" do
      post.key = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_post2"
      dataset.save post

      refresh = dataset.find post.key
      refresh.key.kind.must_equal        post.key.kind
      refresh.key.id.must_be :nil?
      refresh.key.name.must_equal        post.key.name
      refresh.properties.to_h.must_equal post.properties.to_h

      dataset.delete post.key
      refresh = dataset.find post.key
      refresh.must_be :nil?
    end

    it "should save/find/delete with a numeric key id" do
      post.key = Google::Cloud::Datastore::Key.new "Post", SecureRandom.hex(4).to_i(16)
      dataset.save post

      refresh = dataset.find post.key
      refresh.key.kind.must_equal        post.key.kind
      refresh.key.id.must_equal          post.key.id
      refresh.key.name.must_be :nil?
      refresh.properties.to_h.must_equal post.properties.to_h

      dataset.delete post
      refresh = dataset.find post.key
      refresh.must_be :nil?
    end

    it "should save/find/delete with a generated key id" do
      post.key = Google::Cloud::Datastore::Key.new "Post"

      post.key.id.must_be :nil?

      dataset.save post

      post.key.id.wont_be :nil?

      refresh = dataset.find "Post",     post.key.id
      refresh.key.kind.must_equal        post.key.kind
      refresh.key.id.must_equal          post.key.id
      refresh.key.name.must_be :nil?
      refresh.properties.to_h.must_equal post.properties.to_h

      dataset.delete post
      refresh = dataset.find post.key
      refresh.must_be :nil?
    end

    it "should save/find/delete multiple entities at once" do
      post.key  = Google::Cloud::Datastore::Key.new "Post"
      post2.key = Google::Cloud::Datastore::Key.new "Post"

      post.key.must_be :incomplete?
      post2.key.must_be :incomplete?

      dataset.save post, post2

      post.key.wont_be :incomplete?
      post2.key.wont_be :incomplete?

      entities = dataset.find_all post.key, post2.key
      entities.count.must_equal 2

      dataset.delete post, post2

      entities = dataset.find_all post.key, post2.key
      entities.count.must_equal 0
    end

    it "should save/find/delete multiple entities with commit" do
      post.key  = Google::Cloud::Datastore::Key.new "Post"
      post2.key = Google::Cloud::Datastore::Key.new "Post"

      post.key.must_be :incomplete?
      post2.key.must_be :incomplete?

      dataset.save post

      post.key.must_be :complete?
      post2.key.must_be :incomplete?

      dataset.commit do |c|
        c.delete post
        c.save post2
      end

      post.key.must_be :complete?
      post2.key.must_be :complete?

      dataset.delete post2

      entities = dataset.find_all post.key, post2.key
      entities.count.must_equal 0
    end

    it "entities retrieved from datastore have immutable keys" do
      post.key = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_post3"
      dataset.save post

      refresh = dataset.find post.key
      refresh.must_be :persisted?
      refresh.key.must_be :frozen?

      assert_raises RuntimeError do
        refresh.key = Google::Cloud::Datastore::Key.new "User", 456789
      end

      assert_raises RuntimeError do
        refresh.key.id = 456789
      end

      dataset.delete post
    end

    it "should save and read blob values" do
      avatar = File.open("acceptance/data/CloudPlatform_128px_Retina.png", mode: "rb")
      post.key  = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_blob_support"
      post["avatar"] = avatar
      post.exclude_from_indexes! "avatar", true

      dataset.save post

      entity = dataset.find post.key

      # Rewind not needed because the StringIO poistion is always at the beginning whe retrieved from Datastore.
      # entity["avatar"].rewind
      post["avatar"].rewind
      entity["avatar"].size.must_equal post["avatar"].size
      entity["avatar"].read.must_equal post["avatar"].read

      Tempfile.open ["avatar", "png"] do |tmpfile|
        tmpfile.binmode
        entity["avatar"].rewind
        tmpfile.write entity["avatar"].read

        tmpfile.rewind
        avatar.rewind
        tmpfile.size.must_equal avatar.size
        tmpfile.read.must_equal avatar.read
      end

      dataset.delete post
    end

    it "should find with specifying consistency" do
      post.key = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_post4"
      dataset.save post

      # sleep for one second to aid in the eventual consistency
      sleep 1

      refresh = dataset.find post.key, consistency: :eventual
      refresh.wont_be :nil?
      refresh.key.kind.must_equal        post.key.kind
      refresh.key.id.must_be :nil?
      refresh.key.name.must_equal        post.key.name
      refresh.properties.to_h.must_equal post.properties.to_h

      dataset.delete post.key
      refresh = dataset.find post.key
      refresh.must_be :nil?
    end

    it "allows embedded entities and keys" do
      post.key = Google::Cloud::Datastore::Key.new "Post", "#{prefix}_post_embedded"
      post["embedded_entity"] = dataset.entity "EmbeddedPost", "key_will_not_be_pesisted"
      post["embedded_entity"]["embedded_name"] = "hello!"
      post["embedded_key"] = dataset.entity "EmbeddedKey", "#{prefix}_will_be_pesisted"

      post["embedded_entity"].wont_be :nil?
      post["embedded_entity"].key.wont_be :nil?
      post["embedded_entity"]["embedded_name"].must_equal "hello!"
      post["embedded_key"].wont_be :nil?

      dataset.save post

      refresh = dataset.find post.key

      refresh["embedded_entity"].wont_be :nil?
      refresh["embedded_entity"].key.must_be :nil?
      refresh["embedded_entity"]["embedded_name"].must_equal "hello!"
      refresh["embedded_entity"].to_grpc.properties.must_equal post["embedded_entity"].to_grpc.properties
      refresh["embedded_key"].wont_be :nil?
      refresh["embedded_key"].to_grpc.must_equal post["embedded_key"].to_grpc

      dataset.delete post
    end
  end

  it "should be able to save keys as a part of entity and query by key" do
    person = Google::Cloud::Datastore::Entity.new
    person.key = Google::Cloud::Datastore::Key.new "Person", "#{prefix}_name"
    person["fullName"] = "Full name"
    person["linkedTo"] = person.key # itself
    dataset.save person

    query = Google::Cloud::Datastore::Query.new.kind("Person").
      where("linkedTo", "=", person.key)

    try_with_backoff "query by key" do
      entities = dataset.run query
      fail "retry query by key" unless entities.count == 1
      entities.count.must_equal 1

      entity = entities.first
      entity["fullName"].must_equal      person["fullName"]
      entity["linkedTo"].kind.must_equal person["linkedTo"].kind
      entity["linkedTo"].id.must_be :nil?
      entity["linkedTo"].name.must_equal person["linkedTo"].name
    end
  end

  describe "querying the datastore" do

    let(:book) do
      book = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["title"] = "Game of Thrones"
      end
      book.key = Google::Cloud::Datastore::Key.new "Book", "#{prefix}_GoT"
      book
    end

    let(:rickard) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Rickard"
        e["family"]      = "Stark"
        e["appearances"] = 0
        e["alive"]       = false
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Rickard"
      character.key.parent = book
      character
    end

    let(:eddard) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Eddard"
        e["family"]      = "Stark"
        e["appearances"] = 9
        e["alive"]       = false
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Eddard"
      character.key.parent = rickard
      character
    end

    let(:catelyn) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Catelyn"
        e["family"]      = "Stark"
        e["appearances"] = 26
        e["alive"]       = false
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Catelyn"
      character.key.parent = book
      character
    end

    let(:arya) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Arya"
        e["family"]      = "Stark"
        e["appearances"] = 33
        e["alive"]       = true
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Arya"
      character.key.parent = eddard
      character
    end

    let(:sansa) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Sansa"
        e["family"]      = "Stark"
        e["appearances"] = 31
        e["alive"]       = true
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Sansa"
      character.key.parent = eddard
      character
    end

    let(:robb) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Robb"
        e["family"]      = "Stark"
        e["appearances"] = 22
        e["alive"]       = false
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Robb"
      character.key.parent = eddard
      character
    end

    let(:bran) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Bran"
        e["family"]      = "Stark"
        e["appearances"] = 25
        e["alive"]       = true
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Bran"
      character.key.parent = eddard
      character
    end

    let(:jonsnow) do
      character = Google::Cloud::Datastore::Entity.new.tap do |e|
        e["name"]        = "Jon Snow"
        e["family"]      = "Stark"
        e["appearances"] = 32
        e["alive"]       = true
      end
      character.key = Google::Cloud::Datastore::Key.new "Character", "Jon Snow"
      character.key.parent = eddard
      character
    end

    let(:characters) do
      [rickard, eddard, catelyn, arya, sansa, robb, bran, jonsnow]
    end

    before do
      dataset.transaction { |tx| tx.save *characters }
    end

    it "should limit queries" do
      # first page
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).limit(5)
      entities = dataset.run query
      entities.count.must_equal 5

      # second page
      query.offset 5
      entities = dataset.run query
      entities.count.must_equal 3

      # third page
      query.offset 10
      entities = dataset.run query
      entities.count.must_equal 0
    end

    it "should filter queries with simple indexes" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        where("appearances", ">=", 20)
      entities = dataset.run query
      entities.count.must_equal 6
    end

    it "should filter queries with defined indexes" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        where("family", "=", "Stark").
        where("appearances", ">=", 20)
      entities = dataset.run query
      entities.count.must_equal 6
    end

    it "should filter by ancestor key" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book.key)
      entities = dataset.run query
      entities.count.must_equal 8
    end

    it "should filter by ancestor entity" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book)
      entities = dataset.run query
      entities.count.must_equal 8
    end

    it "should filter by key" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        where("__key__", "=", rickard.key)
      entities = dataset.run query
      entities.count.must_equal 1
    end

    it "should order queries" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        order("appearances")
      entities = dataset.run query
      entities.count.must_equal      characters.count
      entities[0]["name"].must_equal rickard["name"]
      entities[7]["name"].must_equal arya["name"]
    end

    it "should select projections" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        select("name", "family")
      entities = dataset.run query
      entities.each do |entity|
        entity.properties.to_h.keys.count.must_equal 2
        entity.properties["name"].wont_be :nil?
        entity.properties["family"].wont_be :nil?
      end
    end

    it "should paginate with offset and limit" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        limit(3).offset(2).order("appearances")
      entities = dataset.run query
      entities.count.must_equal 3
      entities[0]["name"].must_equal robb["name"]
      entities[2]["name"].must_equal catelyn["name"]

      # next page
      query.offset(5)
      entities = dataset.run query
      entities.count.must_equal 3
      entities[0]["name"].must_equal sansa["name"]
      entities[2]["name"].must_equal arya["name"]
    end

    it "should paginate with all" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        order("appearances")
      entities = dataset.run(query).all.to_a
      entities.count.must_equal 8
      entities[0]["name"].must_equal rickard["name"]
      entities[5]["name"].must_equal sansa["name"]
    end

    it "should resume from a start cursor" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        limit(3).order("appearances")
      entities = dataset.run query
      entities.count.must_equal 3
      entities[0]["name"].must_equal rickard["name"]
      entities[2]["name"].must_equal robb["name"]

      next_cursor = entities.cursor
      next_cursor.wont_be :nil?
      next_query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        limit(3).order("appearances").
        cursor(next_cursor)
      next_entities = dataset.run next_query
      next_entities.count.must_equal 3
      next_entities[0]["name"].must_equal bran["name"]
      next_entities[2]["name"].must_equal sansa["name"]

      last_cursor = next_entities.cursor
      last_cursor.wont_be :nil?
      last_query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        limit(3).order("appearances").
        cursor(last_cursor)
      last_entities = dataset.run last_query
      last_entities.count.must_equal 2
      last_entities[0]["name"].must_equal jonsnow["name"]
      last_entities[1]["name"].must_equal arya["name"]
    end

    it "should group queries" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        group_by("alive")
      entities = dataset.run query
      entities.count.must_equal 2
    end

    it "should filter queries with simple indexes using GQL and named bindings" do
      gql = dataset.gql "SELECT * FROM Character WHERE __key__ HAS ANCESTOR @bookKey AND appearances >= @appearanceCount",
                        bookKey: book.key, appearanceCount: 20
      entities = dataset.run gql
      entities.count.must_equal 6
    end

    it "should filter queries with simple indexes using GQL and positional bindings" do
      gql = dataset.gql "SELECT * FROM Character WHERE __key__ HAS ANCESTOR @1 AND appearances >= @2"
      gql.positional_bindings = [book.key, 20]
      entities = dataset.run gql
      entities.count.must_equal 6
    end

    it "should filter queries with defined indexes using GQL and named bindings" do
      gql = dataset.gql "SELECT * FROM Character WHERE __key__ HAS ANCESTOR @bookKey AND family = @familyName AND appearances >= @appearanceCount",
                        bookKey: book.key, familyName: "Stark", appearanceCount: 20
      entities = dataset.run gql
      entities.count.must_equal 6
    end

    it "should filter queries with defined indexes using GQL and positional bindings" do
      gql = dataset.gql "SELECT * FROM Character WHERE __key__ HAS ANCESTOR @1 AND family = @2 AND appearances >= @3"
      gql.positional_bindings = [book.key, "Stark", 20]
      entities = dataset.run gql
      entities.count.must_equal 6
    end

    it "should filter queries with defined indexes using GQL and literal values" do
      gql = dataset.gql "SELECT * FROM Character WHERE __key__ HAS ANCESTOR Key(Book, '#{prefix}_GoT') AND family = 'Stark' AND appearances >= 20"
      gql.allow_literals = true
      entities = dataset.run gql
      entities.count.must_equal 6
    end

    it "should specify consistency" do
      query = Google::Cloud::Datastore::Query.new.
        kind("Character").ancestor(book).
        where("family", "=", "Stark").
        where("appearances", ">=", 20)
      entities = dataset.run query, consistency: :strong
      entities.count.must_equal 6
    end

    it "should find and run query in a read-only transaction" do
      entities = nil

      tx = dataset.read_only_transaction do |tx|
        query = tx.query("Character").
          ancestor(book.key)
        fresh = tx.find book.key
        entities = tx.run query
      end
      entities.count.must_equal 8
    end

    after do
      dataset.delete *characters
    end
  end

  describe "transactions" do

    it "should run in a transaction block" do
      obj = Google::Cloud::Datastore::Entity.new
      obj.key = Google::Cloud::Datastore::Key.new "Company", "#{prefix}_Google1"
      obj["url"] = "www.google.com"

      dataset.transaction do |t|
        entity = t.find obj.key
        if entity.nil?
          t.save obj
        end
      end

      entity = dataset.find obj.key
      entity.wont_be :nil?
      entity.key.kind.must_equal        obj.key.kind
      entity.key.id.must_be :nil?
      entity.key.name.must_equal        obj.key.name
      entity.properties.to_h.must_equal obj.properties.to_h
      dataset.delete entity
    end

    it "should run in an explicit transaction" do
      obj = Google::Cloud::Datastore::Entity.new
      obj.key = Google::Cloud::Datastore::Key.new "Company", "#{prefix}_Google2"
      obj["url"] = "www.google.com"

      tx = dataset.transaction
      tx.id.wont_be :nil?

      if tx.find(obj.key).nil?
        tx.save obj
      end
      # Don't handle errors and rollback, let test fail
      tx.commit

      entity = dataset.find obj.key
      entity.wont_be :nil?
      entity.key.kind.must_equal        obj.key.kind
      entity.key.id.must_be :nil?
      entity.key.name.must_equal        obj.key.name
      entity.properties.to_h.must_equal obj.properties.to_h
      dataset.delete entity
    end

    it "should manually retry a transaction with previous_transaction" do
      obj = Google::Cloud::Datastore::Entity.new
      obj.key = Google::Cloud::Datastore::Key.new "Company", "#{prefix}_Google3"
      obj["url"] = "www.google.com"
      dataset.save obj

      tx = dataset.transaction
      tx.id.wont_be :nil?

      obj2 = tx.find obj.key

      obj["url"] = "1.google.com"
      dataset.update obj

      obj2["url"] = "2.google.com"
      tx.update obj2

      retried = false
      begin
        tx.commit
      rescue Google::Cloud::AbortedError
        retried = true
        tx2 = dataset.transaction previous_transaction: tx.id
        tx2.update obj2
        tx2.commit
      end

      retried.must_equal true
      entity = dataset.find obj.key
      entity.wont_be :nil?
      entity["url"].must_equal "2.google.com"
      dataset.delete entity
    end

    it "should find within the transaction" do
      dataset.save dataset.entity("Post", "#{prefix}_post5")

      tx = dataset.transaction do |tx|
        in_tx_refresh = tx.find dataset.key("Post", "#{prefix}_post5")
        tx.delete in_tx_refresh if in_tx_refresh
      end

      refresh = dataset.find "Post", "#{prefix}_post5"
      refresh.must_be :nil?
    end
  end
end

redpajama_set_name: RedPajamaGithub


text:
Choreographer/Dancer Jeanguy Saintus Riché and Ayikodans: Dancing in the Dark
Anya Wassenberg, Special To HuffPost Freelance writer
"The last three years have been difficult, especially the last two," says Jeanguy Saintus, professional name of Haitian-born and internationally renowned choreographer, dancer and dance educator Jeanguy Saintus Riché,. "In 2010, it was a shock to everyone. We didn't know what would happen."
On January 12, 2010, the earthquake shattered much more than buildings in troubled Haiti and more than three years later, the Caribbean nation is still struggling to rebuild even essential services.
I first became aware of his work, ironically or not, right about that time. When the earthquake took place, Jeanguy was in the middle of choreographing a piece that would be performed by Toronto's COBA (Coalition of Black Artists). The show had to go on without Jeanguy's last minute help at rehearsals when a flight north proved impossible to arrange in time for the February 2010 performance.
What struck me about his work was its cross cultural richness and theatricality - the way he uses physical intensity to evoke dramatic and spiritual dimensions. International reviews also note the emotional intensity and impressive physicality of the dancers in Ayikodans, his dance company; they have been highly acclaimed in the Miami press among others.
The quake left cracks in the walls of the building housing Artcho Danse- the studio and school he founded a quarter of a century ago as a home for Ayikodans- and more significantly, left fissures in an already difficult situation.
He got an abrupt awakening to one of the new realities of post-earthquake Haiti: skyrocketing rents. "I've been using a space for 16 years. I've paid the landlord close to $300,000 in rent," he says. A week after the earthquake, the landlord contacted him to ask when he'd be vacating the premises. "It was a shock for me. Rents were high. The NGOs with their millions rented a space for a parking lot." The effects of NGOs and their operating cash flows on rents and the availability of property of all kinds has been much discussed in the media.
"Homeowners went crazy." Jeanguy inquired about buying the property Artcho Danse. "The owner wanted $3 million," he says. "I thought I was about to lose everything that I had worked for."
"Forget about $3 million - that I will never, ever find," he told himself. The only solution seemed to be financing the purchase of his own property. He resisted the pressure to move until the end of 2012 while making plans.
Jeanguy had two things working for him: his own iron-willed determination to keep making dance in Haiti and the help of some friends. "When I was younger, I thought I could do everything myself," he says. This time, he went looking for help. At first, he tried various levels of government and even the NGOS that were flooding Haiti but came up short. Eventually he found it among people like John Yearwood, the World Editor of The Miami Herald, who was instrumental in bringing Ayikodans to the Adrienne Arsht Center for the Performing Arts where they've performed their last three seasons. The administration of the Arsht Center organized fundraising events and helped to raise the capital he needed. Others were also generous. "The architect started working even without payments," he says.
"After April 29, when we opened the new studio, it's like we're just starting again. It's true that we still owe money," he acknowledges . "It's frustrating. It's a marathon project. (But) after 25 years, I have my own studio," he says. He's also grateful for the Arsht Center's continued support. "The most important thing was to keep the dancers in dancing. At least we have a season."
He's already planning a second studio that will include performance space - solving one of the real problems for his and any other performing company in Haiti. "There are no theatres here," he says. It's just one of the elements that make running a dance center and performing company in Haiti a never-ending challenge.
"The people we bring here -people just can't imagine that we'd be fighting to do something here in Haiti when we could be in Europe, North America," he says.
He admits that there are times when even he questions his devotion to staying in his native country when it's so difficult to accomplish even the most basic of operating tasks. "We don't have a theatre - why have a dance company?" he wonders. "We don't have social security here. We have no health insurance for the dancers. So why stay here?"
"Everybody here talks about the richness of culture. But the reality is that no one is here to support you. Now, I'm trying to see how I can work with institutions here," he says.
"The biggest problem we have here is - we have cultural institutions, mais c'est quoi la priorité?" (but what's the priority?) he asks. He acknowledges that the arts and culture drop down on the list when the basics of society are wanting. "I used to buy that argument," he says. "We don't have a great hospital, not everybody is eating. When they used to tell me, art and culture is not a priority, I used to agree. But now I think it is an excuse."
"Because they're not feeding people. We have no hospitals."
Touring the world with Ayikodans and coming into contact with European and North American dance companies only brings the drastic nature of his situation at home into sharper relief. "They tell you they have a grant for 'only' $200,000. I say - and you are complaining?"
It's been equally difficult to get any media exposure for Ayikodans beyond the immediate areas where they perform. "An Italian photographer was here and took some great pictures of the dancers. But they told me, these will never sell," he relates. "If it's not kids dying, if it's not misery, they won't buy it. They don't even like it when I speak English. They want someone poor and dumb to help."
So why persevere in the end? When his dancers ask the same question, he tells them they're not dancing because they're living some ideal dance fantasy in New York City - they're dancing for the beauty of the dance and their Haitian culture itself.
"That's what keeps me alive; to prove not just to Haiti but to the world that we can do something here."
Jeanguy Saintus founded Artcho Danse 25 years ago as a dance and dance training center for children and adults in Port-au-Prince. Guest artists from around the world teach at Artcho Danse, just as Jeanguy takes his singular choreographic sensibilities all over the world by teaching master classes. In 2008, he received the high profile Prince Klaus Award in The Netherlands.
Among others, Ayikodans has performed at Carnegie Hall in New York City, Tropentheater and Muziekgebouw in Amsterdam , the Rose Hall in Montego Bay, Jamaica and many other venues throughout the Caribbean and as far away as Tokyo. Artcho Danse - Home of Ayikodans is located at 7, rue Joe Assali in Port-au-Prince
MORE: caribbean dance Contemporary Dance dance haitian choreographer Haitian earthquake haitian-culture news prince klaus award

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Add multiple buttons to IOS7 Tableview How would I go about adding several buttons to a tableview to each cell? I need to add a comment and like button to each cell in my tableview and each button will have to be specfic to the row being clicked. How do I go about doing something like this ?  Do i place a action inside of
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

or is there a way to programatically set a button to a ibaction from inside cellForRowAtIndexPath that allows me to send parameters?

A: You need to subclass your UITableViewCell so you can customise it to your need.
There are a lot of tutorials about this. Depends if you are using Storyboard or not. Here is one of many: http://zeroheroblog.com/ios/how-to-create-simple-tableview-with-custom-cells

A: You can create custom table view cell and add multiple button.
1. Create class that subclasses UITableviewcell with xib
2. In xib delete the view and drag a tableview cell into xib
3. Add multiple buttons in xib
4. Create IBOutlet for each button.
5. In your view controller import your CustomTableViewCell and in CellForRowAtIndexPath method add action for each method and set button tag as indexpath.row
6. Identify the clicked button's indexpath from it's tag
Refer this link
I think this is what you are asking...
[cell.button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:UIControlEventTouchUpInside];                                 In the

receiver method you can get sender's tag
-(void)button1Pressed:(id)sender{
    UIButton *button1 = (UIButton*)sender;
    int selectedRow = sender.tag;
}

redpajama_set_name: RedPajamaStackExchange


My mum is such a babe. She got invited to LFW through a networking group and brought me (and herself) a goodie box! Such a sweetie! She bought two boxes, both £10 each and both full of full size samples worth over £25! bargain!
Each box had different products in them, each relating to an A/W 13 beauty trend. One was Aerodynamic Liner, the other Pure Enhancement. So what do these mean?
One of the most popular trends in the upcoming months are bold and bright colours. Perfectly drawn eyeliner, show-stopping nail colours and thick full lashes.
Lets have a look at them individually..
As you all probably are aware... I am a huge fan of liquid liner and cannot go a day without it. I feel naked without it. Its more of a tool to bring more attention to my eyes and highlight them than a bold 'statement'.
I go for the cat flicks at the end to widen my eyes. This liner looks perfect for how I use liquid liner. A thin side for precision and a thick side for bolder days. I think I'm going to enjoy using this!
I can't quite give up on my Benefit They're Real mascara yet as it truly is amazing. But I must say I like the look of this mascara. The thick wand looks like it can really make a difference to the apparent thickness of lashes. And provided I twist and don't pump the mascara.. should be able to get the 8x more mascara on the brush that it claims.
I have a mild obsession with nail varnish.. I probably have about 100+ bottles. I'm in the process of making a shelving unit for them on the side of my dressing table/wardrobe thing. (I'll show you when it's finished) Orange and Black are the two colours I'm actually running out of so these were a lucky find! Hopefully with the gel base they will paint on smoothly.
I think this mascara will work well with her heated eyelash curlers she also bought herself as she prefers natural lashes as opposed to spider leg looking ones.
My mum has kindly given this to me as she doesn't think she'll use it.. But I know I will! I normally use powder to fill in and shape my eyebrows.. but I think I'll give this a good go and see if the results are the same.
I was never really a fan of Maybelline's Dream collection. Their Dream Matte Mousse was the bain of my teenage years.. never finding a matching shade and never getting it thin enough not to look like I'm from TOWIE. Times seem to have changed however as this texture is a lot lighter than it used to be and blends in very well. I may have to steal this off my mum!
I am true to my Bebe lip balm.. but this smells yummy! Kind of orangey.. I can't quite pin the scent. I applied it 3 hours ago and my lips still feel hydrated.. So it seems to be working! The taste of it however is nothing to brag about.. then again that might be how it lasts so long... because noone is licking it off every 5 minutes. mmm tasty lip balm.
Really didn't need to write that again.. but I don't know.. you may have forgotten.. in the space of 2 minutes.. Anyhow.. I'm not sure I like this shade.. my mum applied it and it looked awful. I think maybe it might be our skin tone that it doesn't suit. A fair skinned girl would suit this more I think.. Oh well.. more to add to the ever-growing collection!
Hope you liked the post, hopefully I will make it to London Fashion Week this season. Although I think I'm working everyday till the end of the month now.. :( woe is me.
There's always MFW or PFW.. but its very unlikely I'll go to those.. so LFW S/S 14 it is.
Did you go to LFW this season? What goodies did you pick up?


New funding to develop promising anticancer molecules into targeted drug delivery systems.
A major goal for medicinal chemists is the discovery of drug molecules able to selectively kill cancer cells and reverse multidrug resistance, a serious problem by which tumours develop resistance to chemotherapy. Recently, Emeritus Professor Jonathan Dimmock and long-time collaborator Umashankar Das discovered a number of promising potent anticancer molecules.
Now, with a 3-year $270,000 grant from the Maunders McNeil Foundation, the research group will conduct studies with selected patented compounds aimed at enhancing their potency, tumour selectivity, multidrug resistance-reversal properties, efficiency, and bioavailability. An important goal of this research is to create targeted drug delivery systems called antibody-drug conjugates, by attaching drug molecules to an antibody. Antibody-drug conjugates are proving effective at selectively killing cancer cells and sparing healthy normal cells. The efficacy of these drug-antibody conjugates will be investigated either locally or in collaboration with a pharmaceutical company.


Owls acre Montessori is a privately owned pre-school through kindergarten serving children ages 2.5 through 6. Morning Montessori classes are held from 8:30 a.m. to 11:30 a.m. The afternoon kindergarten program continues till 2:30pm. Extended care hours are offered before morning classes from 6:15 a.m. to 8:30 a.m. and after classes until 5:00 p.m.
Our children attend classes Monday through Friday but we also offer part time classes as well. Parents that choose this option may pick the days convenient for their schedule. We are licensed by the Ohio Department of Job and Family Services and are affiliated with the American Montessori Society. The school is non-discriminating in the admission policies with regard to race, religion or cultural heritage.
This program is especially designed for children ages 3-6. It is considered a three-year program, which includes two preschool years and the third year, Kindergarten. The majority of the children begin when they are three years old and stay through the Kindergarten year. Our spacious classrooms are designed to serve children of all cultures and include children that are differently able.
This area is designed to help refine the senses of your child. Use of the sensorial materials encourages each child to make comparisons and form judgments about qualities present in objects. Specific language is given to help identify, classify and categorize.
This area is set up to provide each child with a wide variety of activities that will enhance concentration, coordination, order and independence. The activities promote self-help skills, eye-hand coordination, among other proficiencies.
This area provides a well-designed approach to help develop and refine skills necessary for reading. The students receive a strong foundation in phonics. Language and vocabulary development are encouraged.
This area gives each child the opportunity to learn the meaning of numerals. The concrete, manipulative materials provide a solid foundation in the otherwise abstract world of numbers.
Daily opportunities are provided to the children to express themselves creatively at the easel or through the use of other art materials.
The children are introduced to their world through the use of concrete materials such as globes, puzzle maps and flags. Cultural presentations are made to the children that help create an awareness of the diversity of the cultures represented within our environment. This is further enhanced with exposure to music and art from other countries and cultures Cultural units of each continent is introduced through out the school year.
The students are exposed to a variety of fundamental scientific concepts through physical science experiments, the studies of zoology, botany and our solar system Language. The students are introduced to several different languages that correspond with cultural units offered in the classrooms.
Daily activities provide both group and individual experiences such as singing, instrument playing, bell matching and listening and music with movement.
Opportunities are provided daily - either in our spacious outdoor play space or inside our special activities room.
Unlike many schools that measure success by focusing on passing tests, Owls Acre Montessori kindergarten encourages children to explore their ideas, take risks and make discoveries, and learn to love the "process of learning," such that they are prepared for life's challenges. We recognize that learning is a lifelong process that goes well beyond passing the next test, and we strive to nurture that love for learning in the students.
Kindergarten offers an intensive reading program as well as Mathematics using the plans that Maria Montessori set forth in her studies. This program provides an all-day option for our Kindergarten students, who spend half of the day in the Montessori class and half of the day in the Kindergarten Enrichment class (total time 8:30 to 2:30). It is designed to complement the Montessori class time and to provide a variety of other "Kindergarten"-type activities for the students. There is a nice balance between group, cooperative activities and individual work. Each child enrolled in the Kindergarten program learns at his/her individual level.


text:
Amber Run's Philophobia Delves Deep Into Why We Love To Hate And Love To Fall In Love
Amber Run
The boys of Amber Run have been quite busy on tour for the past ten weeks promoting their newest album, Philophobia. Released September 27 of this year, the album takes its name after Greek origins, meaning the "fear of falling in love or emotional attachment." With such relatable themes, it's easy to see why the British rock group has over two million listeners on Spotify. We were lucky enough to grab front man Joe Keogh, keyboardist Tom Sperring, and bassist Henry Wyeth for a brief interview just as their tour was wrapping up last week.
IBG: First off, let me say congratulations on the release of your third studio album, Philophobia. You must be very excited about this one!
AR: Thanks a lot! It is exciting. Another labour of love enters the world.
IBG: The album is all about the different forms of love we are capable of and exploring the fear of love. Can you elaborate on the ways one might find reasons to be afraid of love?
AR: I mean every time I look in the mirror or have a moment of self-reflection, I find a reason to be afraid. I think it's very easy to find reasons to not understand or like yourself – and when that happens it makes healthy relationships pretty difficult.
IBG: It seems as though many of the songs on the album emphasize the parts of love we find enchanting (the sleepless nights, the intoxication of another person's presence) can bring us just as much pain as they bring us joy. Why do you think people crave such volatile emotions when the outcome of love is often heartbreak?
AR: It feels more and more like connection is the only real currency left. Everyone wants the opportunity to be rich.
IBG: In the track "Darkness Has a Voice," some of the lyrics appear quite haunting. "Oh, it's grown through the years/Started ringing in my ears/Saying just know/Wherever you go/I will follow." It appears the narrator cannot escape his/her own thoughts, whether they are good or bad. Is this song meant to illustrate the devil and angel we all have on each shoulder as we go through life, whispering words of doubt or encouragement in our ear?
AR: Very astute. One of the most important and interesting relationships I've had in my life is with that of my depression. I've always imagined it having a voice and a face and this song is an exploration of that relationship. A constant call and response.
IBG: Are there any tracks on the album that you feel focus on platonic relationships and the love between best friends?
AR: "Carousel." "What Could Be as Lonely as Love" touches on it as well.
IBG: It's no small feat to produce an album every 2-3 years as consistently as your group has since its conception back in 2012. Where do you find inspiration for your lyrics and what are some of the methods you use to keep the guitar riffs fresh?
AR: Just keep pushing yourselves to trying new things. New lyrical techniques, new gear or time signatures. Music is best made when you're having fun, and you're having the most fun when trying new and challenging things.
IBG: With only a few weeks left of your North American tour, what are your plans for the next few months? Will you take a break for the holidays or head right back into the studio on the high of your final performances in California?
AR: We are having a few days off which feels very needed! But then we are straight back into mainland Europe to play some more shows. No rest for the wicked.
IBG: This will be your first time performing in San Francisco and LA so I have to ask: You're going to In-N-Out Burger, right? Anything else on your to do list visiting the iconic coastal state to wrap up tour?
AR: In-n-Out Burger was really good in fairness… I think we want to soak in some of that Californian spirit. Go home a little bit more sunburnt and chilled than we left.
IBG: Final question: You've played several festivals and shows in the UK and US. If you were able to choose five artists to headline with at a festival next year, who would they be?
AR: The National, Phoebe Bridges, Chance the Rapper, Royal Blood, and Hozier.
I don't think you'd find too many of us who would complain about a show like that!
In a recent press release, the band elaborated Philophobia is "Our way of connecting with you and we hope you enjoy listening." Whether you are a loyal fan or just stumbled upon them, you can listen to Philophobia now!
Amber Run british rock friendship indie rock love mental health New Album north american tour philophobia relationships romance
Pagan Interface Warps Minds With 'Psychic Feedback &... Previous
Dar.Ra is Back To 'Rock Steady' Next
The Wrecks Ditch Cuffing Season To "Fvck Somebody"
Nudecolors Lead Us To Their 'New Age'
Husband And Wife Duo, Moonray Are "No Stranger to Love"
Victims Of Circumstance Releasing Fifth Album "Five" https://t.co/dmVv9J7ZiO https://t.co/43d9s0CmEw
Victims Of Circumstance Releasing Fifth Album "#Five" https://t.co/ihJtsANftC #review #albumrelease
Beautiful fresh red translucent vinyl from @thesam


This is a placeholder page for LIsa Lewkowicz, which means this person is not currently on this site. We do suggest using the tools below to find LIsa Lewkowicz.
You are visiting the placeholder page for LIsa Lewkowicz. This page is here because someone used our placeholder utility to look for LIsa Lewkowicz. We created this page automatically in hopes LIsa Lewkowicz would find it. If you are not LIsa Lewkowicz, but are an alumni of Clarenceville High School, register on this site for free now.


Eulogica is celebrating 20 years in business this year. We invite you to come and join us for a celebratory drink at the National Funeral Exhibition on stand L1.
Next Next post: Invitation -> Meet, share & discuss!


We have a number of jobs that need to be done to make the FFLL races fun. If you are able to volunteer on the night, please let me know.
Tim - will be there after completion of meeting at 4.00/4.30.
I will be there Friday to assist with timing etc.
Does anyone have a smaller trestle table they can bring.
FFLL is a low key, no frills event, with basic timing and fun prizes for random participation. Lazy loops is for any level of rider, with a long or short loop available. Very basic timing will be available on the night.
This is NOT a serious race. It is a fun Friday night out at the park, with a social emphasis.
Format: timed laps of a designated course.
Grades: Long loop 8kms. short loop 6kms (best for beginners or first time racers). Kids loop 3kms.
Cost: $5 for LDTR Members, $10 non LDTR members.
A current MTBA Race licence is required or you can purchase a $25 race day licence.
I can't make this one, .
Yer, it was a challenge for us, either start early or require everyone to have lights on. Definitely need lights after 7:30pm.
Some spare jerseys available this Friday night at FFLL. $55 ea.
We have 5 brand new jerseys for sale. The manufacturer got the sizes a bit wrong, so you'll need to try them on. Best for someone who usually wears a large or XL.
Page created in 0.101 seconds with 36 queries.


Descriptions: power door locks seats windows are working car within 2005 dodge dakota exhaust system diagram.
Descriptions: direction of oil flow filter housing ford powerstroke diesel forum within 2005 dodge dakota exhaust system diagram.
Descriptions: navistar international oem high pressure fuel pump within 2005 dodge dakota exhaust system diagram.
Descriptions: ballast wiring diagram just another data within 2005 dodge dakota exhaust system diagram.
Descriptions: wiring diagram schematics within 2005 dodge dakota exhaust system diagram.
Descriptions: volvo penta gl hp inboard sterndrive within 2005 dodge dakota exhaust system diagram.
Descriptions: trane heat pump wiring diagram within 2005 dodge dakota exhaust system diagram.
Descriptions: chevy traverse box wiring diagram schematics within 2005 dodge dakota exhaust system diagram.
Descriptions: ford powerstroke turbo diesel faq left coast within 2005 dodge dakota exhaust system diagram.
Descriptions: buick lesabre box diagram wiring schematics within 2005 dodge dakota exhaust system diagram.
2005 Dodge Dakota Exhaust System Diagram (Apr 19, 2019) - Hi dear reader. In the present new era, information about the growth of technologies is very easy to acquire. You will find a number of news, suggestions, content, anywhere in the world in only secs. Along with specifics about 2005 dodge dakota exhaust system diagram can be accessed from numerous free places via the internet.
Just like now, you are searching for specifics about 2005 dodge dakota exhaust system diagram, arent you? Just sit down in front of your beloved laptop or computer that is definitely connected to the Internet, you will get several helpful fresh suggestions and you may use it for your purposes.
Do you know The thought of 2005 dodge dakota exhaust system diagram we show you in this post relates to the demand report about 2005 dodge dakota exhaust system diagram. We discovered that most people look for 2005 dodge dakota exhaust system diagram on search engines like yahoo. We tend to present a most relevant picture for you.
Although inside our viewpoint, which weve presented the best 2005 dodge dakota exhaust system diagram graphic, however your thought may be little bit different with us. Okay, You can use it as the guide material only. And 2005 dodge dakota exhaust system diagram has been submitted by Ella Brouillard in category field.
2004 dodge dakota exhaust system diagram, 2000 dodge dakota exhaust diagram. dodge caravan exhaust system diagram. 2000 dodge durango exhaust diagram. 1998 dodge dakota exhaust system diagram. 2005 malibu exhaust system diagram. 2005 grand prix exhaust diagram. 2006 dodge dakota exhaust system. 1993 dodge dakota exhaust diagram. walker exhaust system diagram 2005 dodge dakota. 2002 dodge dakota exhaust diagram. 2004 malibu exhaust system diagram. 2005 dakota v8 extended cab exhaust. 1998 dodge dakota exhaust diagram. 1999 dodge dakota exhaust diagram. 2005 dodge ram 1500 exhaust system diagram. 2002 dodge intrepid exhaust system diagram. 2004 dodge dakota exhaust diagram. 2000 durango exhaust system diagram. 2006 dodge dakota exhaust system diagram. 2001 dodge dakota exhaust system diagrams. 2005 dodge dakota 3.7l exhaust system diagram. 2001 dodge dakota exhaust diagram.


But not a task', this is something which every associate needs to maintain a posture to complete.
Conclusion is the last location of the essay your readers may encounter. In this process, you will also desire to create a absolute concept for your own essay that relates one to the issue you're writing about, regardless of what the subject may be. When you have simplified your Issue, you are going to want to create a goal on your own essay. Professional essay help may be priceless. They are able to be normally employed verbs ordinarily essay articles. Composing opening should be brief business style paper and concise. Use this total essay construction to generate a comprehensive outline to your own documents. Though the conclusion is clear-cut and may really be attained in two or three phrases, it really is really an extremely crucial characteristic of your essay which you need to not ignore. There are specific points you ought to consider when composing argumentative essays.
Instead passages for example "wives send to your spouse" are emphasized.
It is determined by your essential word count as well as the level of your own essay about how several phrases write a sentence. Examine the essay many occasions before distributing. Adapting into a clear Language writing design enhances the odds the ordinary reader will comprehend your content the first time he or she reads it. You're additionally recommended to provide a copy of your own descriptive essay to your own friend, instructor or comparable. Authorship a great essay is just a dull job for students from quite a long time, but with the right advice you can enhance his writeup very easily. I really miss training, so I determined to execute a miniature on-line teaching with complimentary on line writing classes. The writing of the disclaimer may be a tough task for an individual who has never created one before, consequently I will offer you a concise guide that one can use and follow. Most pupils will probably require some sort of essay aid in the course of time, but among the fundamental academic composition writing guidance would be to follow an idea and also to remain with it. Verify the directions in your duty.
Keep it simple: " got to be anywhere, although i dislike do to achieve this.
In addition, exercise composing some easy sentences. For all these authors that are also photographers, in addition, there are writing competitions using a pictures element of to them. On paper a composition or an article, it truly is vital to comprehend your examiners are not only going to check out your articles and also appear at significant issues like your own syntax, punctuation, in addition to your design of composing. It really is the kind of papers you'd write before writing a alternative papers. For beginning writers, following specific guidelines might assist. Ascertain why it is you're composing what you're writing. You'll locate some easy tips for writing effective fundamental and compoundsentences. Get beneficial processes and begin that writing.
Here is how to throw a corporate affair which will keep your guests speaking for weeks to come.
No matter your goal, just keep on composing. These documents aren't limited to a particular state or region. This might be yet another place for essay assistance. If you're not, the Internet along with the library are equally excellent places to locate sound signs for your own essay. Subsequently create a thorough outline of your composition, completing its construction as you go, ensuring no crucial notions are disregarded. Utilize distinct sources, for documents, normally, are created on controversial dilemmas, consequently introducing just one placement will never be satisfactory. This period may feature the crucial body of the essay. This can be an intensely useful device to anyone having to write an article. This really is where you provide a limit to your own article.


text:
WHAT'S WRONG WITH 'POPULISM'?
David McCrone
Students of nationalism will have mixed views on the rise and rise of populism as an analytical concept. On the one hand, it seems very close to 'nationalism', and yet it rarely seems to connect with it explicitly. Take two seminal books on populism, Jan-Werner Muller's What is Populism? (2016), and Cas Mudde and Cristobal Rovira Kaltwasser's Populism: a very short introduction (2017). Both are short, indeed, almost identical in length – just over 100 pages.
Of the two, the latter makes more mention of nationalism, but the former is the better book. Mudde and Kaltwasser's has been taken up and promoted by newspapers such as The Guardian. It argues that populism is a 'thin-centred ideology' which can only operate alongside 'thick-centred ideologies' such as fascism, liberalism and socialism (but note, nationalism does not figure in that list). It is 'not so much a coherent ideological tradition as a set of ideas' (p6). It juxtaposes 'the people' against 'elites', and argues, following the right-wing German legal theorist Carl Schmitt in the 1920s, that the existence of a homogeneous people is essential for the foundation of the democratic order. Muller's account argues that populism is a degraded form of democracy, using its means but rejecting its ends. 'The people', as Habermas pointed out, can only appear in the plural, and that is because it assumes a morally pure and fully unified 'people', which, Muller observes 'is a volatile, risky, maybe outright dangerous expression' (p.71). Its basic problem is anti-pluralism such that 'when identity politics predominates, populists will prosper' (p.92).
The puzzle, for students of nationalism, is why populism has gained precedence as a concept in explaining modern political forms reflected in the persona regimes of Trump, Putin, Erdogan and Orban, as well as wannabees such as Gert Wilders and Marine Le Pen. Arguably, it is these personifications which attract populism as an explanatory ideology; the people embodied in one person. La nation, c'est moi.
So why not 'nationalism'? Its chameleon-like quality, like populism, lends itself to right- and left-wing forms, but mainly the former. It has less of a focus on political persona, on Caesarism and charismatic power, but has a more robust set of theories and concepts than populism. There is a teleological problem with populism as an explanatory concept in that causes and effects are confused. We recognise it only in its political outcomes.
We might think of populism as one species of the genus nationalism. In other words, populism is a form of nationalism; but not all forms of nationalism are populist. The people as 'the nation' is never far below the surface, which is why populism is far more likely to speak of the, say, Scottish, English, German people, and why progressive forms of nationalism avoid the term (thus, 'people in Scotland', not 'the Scottish people').
The point we might make is a simple one. Treating 'populism' as the new way to account for mainly right-wing regimes is valuable in that it highlights new devices and ways of doing politics. Failing to locate populism in the wider and deeper literature on nationalism means that, sooner or later, its roots as an explanatory idea will wither.
David McCrone is Emeritus Professor of Sociology, and co-founder of the University of Edinburgh's Institute of Governance.
WHAT IS A KURD? WHAT IS A TURK? THE INDIVIDUALITY OF ETHNICITY
Denying the Kurdish Question: the personal narratives of lay Turks and Kurds


text:
<?php

namespace Proxies\__CG__\Frontend\Bundle\Entity;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class PedidoProducto extends \Frontend\Bundle\Entity\PedidoProducto implements \Doctrine\ORM\Proxy\Proxy
{
    private $_entityPersister;
    private $_identifier;
    public $__isInitialized__ = false;
    public function __construct($entityPersister, $identifier)
    {
        $this->_entityPersister = $entityPersister;
        $this->_identifier = $identifier;
    }
    /** @private */
    public function __load()
    {
        if (!$this->__isInitialized__ && $this->_entityPersister) {
            $this->__isInitialized__ = true;

            if (method_exists($this, "__wakeup")) {
                // call this after __isInitialized__to avoid infinite recursion
                // but before loading to emulate what ClassMetadata::newInstance()
                // provides.
                $this->__wakeup();
            }

            if ($this->_entityPersister->load($this->_identifier, $this) === null) {
                throw new \Doctrine\ORM\EntityNotFoundException();
            }
            unset($this->_entityPersister, $this->_identifier);
        }
    }

    /** @private */
    public function __isInitialized()
    {
        return $this->__isInitialized__;
    }

    public function getPosicion()
    {
        $this->__load();
        return parent::getPosicion();
    }

    public function setPosicion($posicion)
    {
        $this->__load();
        return parent::setPosicion($posicion);
    }

    public function getNumFacturados()
    {
        $this->__load();
        return parent::getNumFacturados();
    }

    public function setNumFacturados($numFacturados)
    {
        $this->__load();
        return parent::setNumFacturados($numFacturados);
    }

    public function getNumCortesias()
    {
        $this->__load();
        return parent::getNumCortesias();
    }

    public function setNumCortesias($numCortesias)
    {
        $this->__load();
        return parent::setNumCortesias($numCortesias);
    }

    public function getId()
    {
        if ($this->__isInitialized__ === false) {
            return (int) $this->_identifier["id"];
        }
        $this->__load();
        return parent::getId();
    }

    public function setNombreProducto($nombreProducto)
    {
        $this->__load();
        return parent::setNombreProducto($nombreProducto);
    }

    public function getNombreProducto()
    {
        $this->__load();
        return parent::getNombreProducto();
    }

    public function setCantidad($cantidad)
    {
        $this->__load();
        return parent::setCantidad($cantidad);
    }

    public function getCantidad()
    {
        $this->__load();
        return parent::getCantidad();
    }

    public function setAlto($alto)
    {
        $this->__load();
        return parent::setAlto($alto);
    }

    public function getAlto()
    {
        $this->__load();
        return parent::getAlto();
    }

    public function setAncho($ancho)
    {
        $this->__load();
        return parent::setAncho($ancho);
    }

    public function getAncho()
    {
        $this->__load();
        return parent::getAncho();
    }

    public function setCortesia($cortesia)
    {
        $this->__load();
        return parent::setCortesia($cortesia);
    }

    public function getCortesia()
    {
        $this->__load();
        return parent::getCortesia();
    }

    public function getCortesiaTab()
    {
        $this->__load();
        return parent::getCortesiaTab();
    }

    public function setPrecioVenta($precioVenta)
    {
        $this->__load();
        return parent::setPrecioVenta($precioVenta);
    }

    public function getPrecioVenta()
    {
        $this->__load();
        return parent::getPrecioVenta();
    }

    public function setTipoCalidadPk(\Frontend\Bundle\Entity\TipoCalidad $tipoCalidadPk = NULL)
    {
        $this->__load();
        return parent::setTipoCalidadPk($tipoCalidadPk);
    }

    public function getTipoCalidadPk()
    {
        $this->__load();
        return parent::getTipoCalidadPk();
    }

    public function setPedidoPk(\Frontend\Bundle\Entity\Pedido $pedidoPk = NULL)
    {
        $this->__load();
        return parent::setPedidoPk($pedidoPk);
    }

    public function getPedidoPk()
    {
        $this->__load();
        return parent::getPedidoPk();
    }

    public function setProductoPk(\Frontend\Bundle\Entity\Producto $productoPk = NULL)
    {
        $this->__load();
        return parent::setProductoPk($productoPk);
    }

    public function getProductoPk()
    {
        $this->__load();
        return parent::getProductoPk();
    }

    public function setMedidaPk(\Frontend\Bundle\Entity\Medida $medidaPk = NULL)
    {
        $this->__load();
        return parent::setMedidaPk($medidaPk);
    }

    public function getMedidaPk()
    {
        $this->__load();
        return parent::getMedidaPk();
    }

    public function setPaso1($paso1)
    {
        $this->__load();
        return parent::setPaso1($paso1);
    }

    public function getPaso1()
    {
        $this->__load();
        return parent::getPaso1();
    }

    public function setPaso2($paso2)
    {
        $this->__load();
        return parent::setPaso2($paso2);
    }

    public function getPaso2()
    {
        $this->__load();
        return parent::getPaso2();
    }

    public function setPaso3($paso3)
    {
        $this->__load();
        return parent::setPaso3($paso3);
    }

    public function getPaso3()
    {
        $this->__load();
        return parent::getPaso3();
    }

    public function setPaso4($paso4)
    {
        $this->__load();
        return parent::setPaso4($paso4);
    }

    public function getPaso4()
    {
        $this->__load();
        return parent::getPaso4();
    }

    public function setPaso5($paso5)
    {
        $this->__load();
        return parent::setPaso5($paso5);
    }

    public function getPaso5()
    {
        $this->__load();
        return parent::getPaso5();
    }

    public function setPaso6($paso6)
    {
        $this->__load();
        return parent::setPaso6($paso6);
    }

    public function getPaso6()
    {
        $this->__load();
        return parent::getPaso6();
    }

    public function setPaso7($paso7)
    {
        $this->__load();
        return parent::setPaso7($paso7);
    }

    public function getPaso7()
    {
        $this->__load();
        return parent::getPaso7();
    }

    public function setPaso8($paso8)
    {
        $this->__load();
        return parent::setPaso8($paso8);
    }

    public function getPaso8()
    {
        $this->__load();
        return parent::getPaso8();
    }

    public function setPaso9($paso9)
    {
        $this->__load();
        return parent::setPaso9($paso9);
    }

    public function getPaso9()
    {
        $this->__load();
        return parent::getPaso9();
    }

    public function setPaso10($paso10)
    {
        $this->__load();
        return parent::setPaso10($paso10);
    }

    public function getPaso10()
    {
        $this->__load();
        return parent::getPaso10();
    }

    public function setPaso11($paso11)
    {
        $this->__load();
        return parent::setPaso11($paso11);
    }

    public function getPaso11()
    {
        $this->__load();
        return parent::getPaso11();
    }

    public function setPaso12($paso12)
    {
        $this->__load();
        return parent::setPaso12($paso12);
    }

    public function getPaso12()
    {
        $this->__load();
        return parent::getPaso12();
    }

    public function setPaso13($paso13)
    {
        $this->__load();
        return parent::setPaso13($paso13);
    }

    public function getPaso13()
    {
        $this->__load();
        return parent::getPaso13();
    }

    public function setPaso14($paso14)
    {
        $this->__load();
        return parent::setPaso14($paso14);
    }

    public function getPaso14()
    {
        $this->__load();
        return parent::getPaso14();
    }

    public function setPaso15($paso15)
    {
        $this->__load();
        return parent::setPaso15($paso15);
    }

    public function getPaso15()
    {
        $this->__load();
        return parent::getPaso15();
    }

    public function setPaso16($paso16)
    {
        $this->__load();
        return parent::setPaso16($paso16);
    }

    public function getPaso16()
    {
        $this->__load();
        return parent::getPaso16();
    }

    public function getPrecioUnitario()
    {
        $this->__load();
        return parent::getPrecioUnitario();
    }

    public function getTotal()
    {
        $this->__load();
        return parent::getTotal();
    }

    public function getEmpezoProduccion()
    {
        $this->__load();
        return parent::getEmpezoProduccion();
    }

    public function setPasoPorNum($num, $valor)
    {
        $this->__load();
        return parent::setPasoPorNum($num, $valor);
    }

    public function getPasoPorNum($num)
    {
        $this->__load();
        return parent::getPasoPorNum($num);
    }

    public function getNotasControlPp()
    {
        $this->__load();
        return parent::getNotasControlPp();
    }

    public function setNotasControlPp($notasControlPp)
    {
        $this->__load();
        return parent::setNotasControlPp($notasControlPp);
    }

    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'nombreProducto', 'cantidad', 'alto', 'ancho', 'cortesia', 'precioVenta', 'notasControlPp', 'paso1', 'paso2', 'paso3', 'paso4', 'paso5', 'paso6', 'paso7', 'paso8', 'paso9', 'paso10', 'paso11', 'paso12', 'paso13', 'paso14', 'paso15', 'paso16', 'posicion', 'tipoCalidadPk', 'pedidoPk', 'productoPk', 'medidaPk');
    }

    public function __clone()
    {
        if (!$this->__isInitialized__ && $this->_entityPersister) {
            $this->__isInitialized__ = true;
            $class = $this->_entityPersister->getClassMetadata();
            $original = $this->_entityPersister->load($this->_identifier);
            if ($original === null) {
                throw new \Doctrine\ORM\EntityNotFoundException();
            }
            foreach ($class->reflFields as $field => $reflProperty) {
                $reflProperty->setValue($this, $reflProperty->getValue($original));
            }
            unset($this->_entityPersister, $this->_identifier);
        }

    }
}


Hi my name is Toad64 aka Coolorangetoad. I do SMW Hacking on 2015 and join SMWC on 2016 and I was a very big stupid user at the time because i use to ripoff Pink Gold Peach Hack Ultra Mario World The 12 magic stars but after two years I slowing getting better at SMW Hacking ,not to ripoff anything & Also try to get anyone help on SMWC. I do play games on my switch and my 3ds also I watch media as well.
Yes but only ExGFX ripping and level designer.
Hacks That I Like To Support.


We visit your site and work out your exact requirements. The lead in time from order to installation is just two weeks.
We can do full or partnered installations. There are options for both sand and non sand surrounds.
We give an excellent support service and will be on site within 48 hours, in the unlikely event of a problem.


"Forecasting the Failed States Index with an Automated Trader" by Anamaria Berea, Charles R. Twardy et al.
Berea, Anamaria, Charles R. Twardy, and Daniel T. Maxwell. "Forecasting the Failed States Index with an Automated Trader in a Combinatorial Market." Journal of Strategic Security 6, no. 3 Suppl. (2013): 38-51.


text:
Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals
Naotada Ishihara, Hidenori Otera, Toshihiko Oka, Katsuyoshi Mihara
Biology of Sex Difference
Significance: Mitochondria are double membrane-bound organelles with tubular network structures that are essential for oxidative ATP production and play pivotal roles in regulating calcium homeostasis and apoptosis. Furthermore, mitochondria produce large amounts of reactive oxygen species that are fatal to cellular functions through uncoupled respiration. These organelles dynamically change their morphology by frequent fusion and fission, and three types of high molecular weight GTPase proteins have been identified as core components of the fusion and fission machineries. Recent Advances: Here, we review recent advances in the study of mitochondrial fission and fusion GTPases and their physiologic roles in mammalian cells. The regulation of mitochondrial dynamics coupled with a quality control system is essential for cellular homeostasis, development, and tissue differentiation. Defects of these mechanisms cause various disorders, including neurodegenerative diseases, such as Parkinson's disease, Huntington's disease, and Alzheimer's disease. Critical Issues: Although a significant amount of relevant data has accumulated on the regulation of mammalian mitochondrial fusion and fission, mechanistic molecular details and cellular functions still remain insufficiently defined. Future Directions: Elucidating the physiologic roles of mitochondrial fusion and fission in highly differentiated cells using tissue-specific knockout mice remains a challenge for the future. Antioxid. Redox Signal. 19, 389-399.
Antioxidants and Redox Signaling
https://doi.org/10.1089/ars.2012.4830
10.1089/ars.2012.4830
Fingerprint Dive into the research topics of 'Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals'. Together they form a unique fingerprint.
Mammals Chemical Compounds
Mitochondrial Dynamics Medicine & Life Sciences
GTP Phosphohydrolases Medicine & Life Sciences
Fusion reactions Chemical Compounds
Mitochondria Chemical Compounds
Organelles Medicine & Life Sciences
Tissue Chemical Compounds
Ishihara, N., Otera, H., Oka, T., & Mihara, K. (2013). Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals. Antioxidants and Redox Signaling, 19(4), 389-399. https://doi.org/10.1089/ars.2012.4830
Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals. / Ishihara, Naotada; Otera, Hidenori; Oka, Toshihiko; Mihara, Katsuyoshi.
In: Antioxidants and Redox Signaling, Vol. 19, No. 4, 01.08.2013, p. 389-399.
Ishihara, N, Otera, H, Oka, T & Mihara, K 2013, 'Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals', Antioxidants and Redox Signaling, vol. 19, no. 4, pp. 389-399. https://doi.org/10.1089/ars.2012.4830
Ishihara N, Otera H, Oka T, Mihara K. Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals. Antioxidants and Redox Signaling. 2013 Aug 1;19(4):389-399. https://doi.org/10.1089/ars.2012.4830
Ishihara, Naotada ; Otera, Hidenori ; Oka, Toshihiko ; Mihara, Katsuyoshi. / Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals. In: Antioxidants and Redox Signaling. 2013 ; Vol. 19, No. 4. pp. 389-399.
@article{cb5af89c99314b5f9636673109330835,
title = "Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals",
abstract = "Significance: Mitochondria are double membrane-bound organelles with tubular network structures that are essential for oxidative ATP production and play pivotal roles in regulating calcium homeostasis and apoptosis. Furthermore, mitochondria produce large amounts of reactive oxygen species that are fatal to cellular functions through uncoupled respiration. These organelles dynamically change their morphology by frequent fusion and fission, and three types of high molecular weight GTPase proteins have been identified as core components of the fusion and fission machineries. Recent Advances: Here, we review recent advances in the study of mitochondrial fission and fusion GTPases and their physiologic roles in mammalian cells. The regulation of mitochondrial dynamics coupled with a quality control system is essential for cellular homeostasis, development, and tissue differentiation. Defects of these mechanisms cause various disorders, including neurodegenerative diseases, such as Parkinson's disease, Huntington's disease, and Alzheimer's disease. Critical Issues: Although a significant amount of relevant data has accumulated on the regulation of mammalian mitochondrial fusion and fission, mechanistic molecular details and cellular functions still remain insufficiently defined. Future Directions: Elucidating the physiologic roles of mitochondrial fusion and fission in highly differentiated cells using tissue-specific knockout mice remains a challenge for the future. Antioxid. Redox Signal. 19, 389-399.",
author = "Naotada Ishihara and Hidenori Otera and Toshihiko Oka and Katsuyoshi Mihara",
doi = "10.1089/ars.2012.4830",
journal = "Antioxidants and Redox Signaling",
publisher = "Mary Ann Liebert Inc.",
T1 - Regulation and physiologic functions of GTPases in mitochondrial fusion and fission in Mammals
AU - Ishihara, Naotada
AU - Otera, Hidenori
AU - Oka, Toshihiko
AU - Mihara, Katsuyoshi
N2 - Significance: Mitochondria are double membrane-bound organelles with tubular network structures that are essential for oxidative ATP production and play pivotal roles in regulating calcium homeostasis and apoptosis. Furthermore, mitochondria produce large amounts of reactive oxygen species that are fatal to cellular functions through uncoupled respiration. These organelles dynamically change their morphology by frequent fusion and fission, and three types of high molecular weight GTPase proteins have been identified as core components of the fusion and fission machineries. Recent Advances: Here, we review recent advances in the study of mitochondrial fission and fusion GTPases and their physiologic roles in mammalian cells. The regulation of mitochondrial dynamics coupled with a quality control system is essential for cellular homeostasis, development, and tissue differentiation. Defects of these mechanisms cause various disorders, including neurodegenerative diseases, such as Parkinson's disease, Huntington's disease, and Alzheimer's disease. Critical Issues: Although a significant amount of relevant data has accumulated on the regulation of mammalian mitochondrial fusion and fission, mechanistic molecular details and cellular functions still remain insufficiently defined. Future Directions: Elucidating the physiologic roles of mitochondrial fusion and fission in highly differentiated cells using tissue-specific knockout mice remains a challenge for the future. Antioxid. Redox Signal. 19, 389-399.
AB - Significance: Mitochondria are double membrane-bound organelles with tubular network structures that are essential for oxidative ATP production and play pivotal roles in regulating calcium homeostasis and apoptosis. Furthermore, mitochondria produce large amounts of reactive oxygen species that are fatal to cellular functions through uncoupled respiration. These organelles dynamically change their morphology by frequent fusion and fission, and three types of high molecular weight GTPase proteins have been identified as core components of the fusion and fission machineries. Recent Advances: Here, we review recent advances in the study of mitochondrial fission and fusion GTPases and their physiologic roles in mammalian cells. The regulation of mitochondrial dynamics coupled with a quality control system is essential for cellular homeostasis, development, and tissue differentiation. Defects of these mechanisms cause various disorders, including neurodegenerative diseases, such as Parkinson's disease, Huntington's disease, and Alzheimer's disease. Critical Issues: Although a significant amount of relevant data has accumulated on the regulation of mammalian mitochondrial fusion and fission, mechanistic molecular details and cellular functions still remain insufficiently defined. Future Directions: Elucidating the physiologic roles of mitochondrial fusion and fission in highly differentiated cells using tissue-specific knockout mice remains a challenge for the future. Antioxid. Redox Signal. 19, 389-399.
U2 - 10.1089/ars.2012.4830
DO - 10.1089/ars.2012.4830
JO - Antioxidants and Redox Signaling
JF - Antioxidants and Redox Signaling


New research from MIT may allow scientists to develop a test that can predict the severity of side effects of some common chemotherapy agents in individual patients, allowing doctors to tailor treatments to minimize the damage.
The study focused on powerful cancer drugs known as alkylating agents, which damage DNA by attaching molecules containing carbon atoms to it. Found in tobacco smoke and in byproducts of fuel combustion, these compounds can actually cause cancer. However, because they can kill tumor cells, very reactive alkylating agents are also used to treat cancer.
The new paper, which appears in the April 4 issue of the journal PLoS Genetics, reveals that the amount of cellular damage that alkylating agents produce in healthy tissues can depend on how much of a certain DNA-repair enzyme is present in those cells. Levels of this enzyme, known as Aag, vary widely among different tissues within an individual, and among different individuals.
Leona Samson, a member of MIT's Center for Environmental Health Sciences and the David H. Koch Institute for Integrative Cancer Research, is the senior author of the paper. She has previously shown that when alkylating agents damage DNA, the Aag enzyme is called into action as part of a DNA-repair process known as base excision repair. Aag cuts out the DNA base that is damaged, and other enzymes cleave the DNA sugar-phosphate backbone, trim the DNA ends and then fill in the empty spot with new DNA.
In this work, the researchers studied mice engineered to produce varying levels of Aag over a 10- to 15-fold range. This is similar to the natural range found in the human population.
The mice with increased levels of Aag resembled normal mice in their lifespan and likelihood of developing cancer, says Jennifer Calvo, a research scientist in Samson's lab and lead author of the paper. However, "we found drastic differences when we started challenging them with these alkylating agents," she says.
Mice with excessive or even normal levels of the Aag enzyme showed much greater levels of cell death in certain tissues after being treated with alkylating agents.
It appears that too much Aag can upset the balance in the base excision repair pathway, the researchers say. This pathway involves several steps, some of which produce intermediates that can be extremely toxic to the cell if they do not promptly move to the next step. The researchers theorize that when Aag is too active, these toxic intermediates build up and destroy the cell.
Certain organs appear more vulnerable to this Aag-mediated tissue damage — in particular, the retina, pancreas, cerebellum and bone marrow — and the tissue damage is specific to certain types of cells within those tissues. Samson says all of the cells are likely experiencing similar DNA damage, but for some reason they don't all respond the same way.
The researchers found that an enzyme called Parp1 also plays an important role in Aag-related tissue damage. Parp1 helps to promote the repair of single-stranded breaks in DNA; such breaks are readily produced after Aag cuts out a damaged base. When Parp1 recognizes such a break, it starts to coat itself with chains of molecules called PolyADP-ribose, which then helps to recruit some of the additional proteins needed to continue the repair process.
When there is too much Aag, Parp1 becomes overactive and begins to deplete the cell's stores of NAD and ATP, which are critical for energy transfer in cells. Without enough NAD and ATP, the cell goes into an energetic crisis and dies.
Measuring levels of Aag, Parp1 and other enzymes before chemotherapy could be useful for doctors, not only to minimize side effects but also to maximize drugs' effects on cancer cells, Samson says.


Is there a treat more often associated with Valentine's Day than Necco's Sweetheart Conversation Hearts? Whether you like the taste or not, you can't deny that they're a V-Day icon and, using some items you can find around your house, I'll show you how I made Conversation Heart Magnets.
These were all things I owned already. As with the Valentine's Day banner, I used paint color samples from the Home Depot. For the magnets, I used those business-card style magnets that small companies send to you or have at their check-out counters. We have a TON from when we moved and every local business sent us information about their services.
Once my hearts were cut out (but before I glued them onto the magnets, in case I made a mistake or didn't like how the writing looked), I wrote some "conversation" on these hearts. I know there are updated versions now that say things like "TEXT ME", but the only things Jesse and I text about is picking up dinner on the way home or Fred's recent visit to the vet. Thanks, but I think I'll stick with the classics.
Easy to make and free... what's not to love?
I can't find a thing not to love! Thanks for sharing!


text:
Doctor Who: The Perpetual Bond review
For some reason, I find First Doctor Companion Chronicles the most exciting of Companion Chronicles. Maybe it's because Patrick Troughton and Jon Pertwee's eras have very distinctive feels, which their Companion Chronicles either have to slot into or have to consciously eschew, whereas in William Hartnell's day the show was all over the place in a way that it rarely was for the next 20 years, jumping from farce to drama, from alien invasions to surrealism. Plus, you know, the First Doctor gets all the best companions: Ian, Barbara, Sara, um… maybe not Dodo.
Steven Taylor, though, is a companion I'm not very familiar with. Only three of his serials survive completely, and two of them are crap. Despite being an American born in the 1980s, I'm actually more familiar with Peter Purves from his work on Blue Peter, thanks to the show's ubiquity on the bonus features of Doctor Who DVDs. But it's Steven who takes center stage in The Perpetual Bond, which picks up right from the end of The Daleks' Master Plan, and is written by Simon Guerrier, who previously did excellent work with Sara Kingdom in another trilogy of Companion Chronicles.
The Perpetual Bond lands a grieving Doctor and Steven in 1960s London, a location that Hartnell-era Doctor Who rarely visited itself. One of the nice things about the story is that it really throws itself into its contemporary time: the visual of all the men with suits, bowlers, and umbrellas on the floor of the stock exchange is great, and there's even a reference to the Beatles — which is appropriate, in light of The Chase. But the setting is the sort of thing the programme itself wouldn't have done in the 1960s, I don't think, which means that The Perpetual Bond hits that Companion Chronicles sweet-spot between invoking nostalgia but doing something new at the same time.
The stock exchange is where the Doctor and Steven encounter the alien Fulgurites, and this is where The Perpetual Bond falls down a bit, because although they're a good concept, as executed here the concept doesn't quite make sense. Avoiding too many spoilers, but given what the Fulgurites are ultimately revealed to be up to, there's no actual reason for them to be on the stock exchange floor except that it makes for a cool visual. Also, the rules of who can see the Fulgurites and when seem to get pretty arbitrary by the story's end. The climax itself is cool, though, with a cool idea from the Doctor and a nice execution by Steven.
The stock exchange is also where we first encounter Oliver Harper, a new companion for the First Doctor. Big Finish has bestowed many new companions on many Doctors, but this is the first they've created for the First. Oliver's role in this story honestly isn't that big, but Tom Allen plays him as an instantly likeable fellow, even if he does have a REALLY BIG SECRET that the story hits you over the head with every two seconds (even in the CD Extras!). I look forward to hearing more of him in The Cold Equations.
Like I said, I don't know Steven very well, but I enjoyed Purves's performance here. Not quite a man of action, Steven seems to belong to the "decent chap" type of companion to which Ian and Harry also belong, not quite as sharp as the Doctor, but well-intentioned and thoughtful. Despite Steven being the narrator, this is one of those Companion Chronicles where the Doctor is clearly the protagonist, but that's fine. The script and Purves get a lot of mileage out of Steven's futuristic origins; I loved his description of umbrellas! And Purves does a nice Hartnell; he's no Hines-style imitator, but he gets the cadences pretty well. The emotional fallout of The Daleks' Master Plan also provides fertile ground for both characters in a way we wouldn't get on screen in the 1960s.
Despite its problems of plot, The Perpetual Bond is one of those Companion Chronicles that do what Companion Chronicles do best, and I enjoyed it all the way through. I look forward to more of a new TARDIS team for an old TARDIS… especially if we get to learn what the HORRIBLE AWFUL SECRET of Oliver Harper actually is.
The Perpetual Bond (by Simon Guerrier; starring Peter Purves, Tom Allen) was released by Big Finish Productions in February 2011.
Unicorn Precinct review
The Scarifyers: The Secret Weapon of Doom review
Doctor Who: The Scent of Blood review
Doctor Who: Time Lord Victorious: Master Thief / Lesser Evils review
Doctor Who: These Stolen Hours review


Every Sunday our pastors, Rev. Susan Sparks, Rev. B.J. Hutto, and our guests record their sermons and make them available as podcasts. For recent sermons since 2014, listen below. The full archive of sermons is available on Apple iTunes.


text:
IndieFest: Rosencrantz And Guildenstern Are Undead
by Katie Baker | February 10, 2010 4:43 pm	| in Culture | 0
I have qualms about reviewing IndieFest-featured "Rosencrantz and Guildenstern are Undead," because I feel like by doing so I am validating it as a real film, which it is not. To be fair, it's clear from the opening credits (which proclaim: "Since the 1600s, there have been many vampire adaptations of Hamlet … this is one of them") that no one involved in this movie took it seriously. R&G is supposed to be campy and ridiculous, and at first I was more or less entertained. It was like watching an amusingly bizarre SNL skit. However, after fifteen minutes had passed I stopped laughing AT the movie, much less with it.
I guess I should attempt to outline the plot. Julian (Jake Hoffmann) is an unemployed dude who lives in his father's doctor's office and attempts to get over his ex-girlfriend, Anna (Devon Aoki) by having sex with the constant stream of super hot babes parading in and out of his room. Trust me, I'm down with scruffy hipster Jews, but there's no way any of these chicks would want to hang out with the apathetic (and very poorly acted) Julian (unless they knew he was really Dustin Hoffman's son). Julian's dad gives him an ultimatum: take a job directing a bizarre adaptation of Hamlet, or get kicked out of the office.
Julian does as he is told, and ends up casting his best friend, Vince, (Kris Lemche) as Hamlet and Anna as Ophelia. Now I'm going to copy/paste from the R&G website because by attempting to explain the rest of the plot I am wasting my time and yours: "Julian finds himself in the middle of a two thousand year old conspiracy that explains the connection between Shakespeare, the Holy Grail and some seriously sexy vampires. It turns out that the play was actually written by a master vampire named Theo Horace (John Ventimiglia) and it's up to Julian to recover the Grail in order to reverse the vampire's curse… If only being undead wasn't so much God-damned fun!"
So, there you have it. If only the movie stuck to that plot. IF ONLY. There's also an annoyingly wacky female detective, Anna's annoyingly sleazy/stupid mogul boyfriend, and a really, REALLY insufferable Hamlet (not Vince; he gets killed early on because he figures out that the cast is comprised of vampires. This guy is the "real" Hamlet that eventually comes to save the day. Honestly, just don't ask) that I can only assume was told to act like a schizophrenic.
In summary: I don't understand why these people spent years of their lives writing, filming, and selling this movie. What does Dustin think about all of this? Apparently Tom Stoppard encouraged director Jordan Galland to make this movie (which, if you didn't know, is based on his original play, Rosencrantz and Guildenstern are Dead. Get it???) Stoppard must have meant it sarcastically, or maybe he's just bored. I don't know. I don't recommend seeing this movie under any circumstances.
Some pros (because I've never written such a scathing review): Sean Lennon's score is nice to listen to. Ventimiglia has the time of his life hamming his character up and is really fun to watch. If you are into boobs, there are a lot of them.


This 7 Days Uganda Rwanda gorilla & wildlife safari offers you an opportunity to explore primates, Wildlife and scenery in Uganda and Rwanda. The safari starts in Kampala – Uganda and ends in Kigali – Rwanda. Bwindi Impenetrable Forest National Park is home to over 370 gorillas, accommodating almost a half of the world's population of mountain gorillas. A tour to this park enables you get up close and personal with the rare species.
The double gorilla trekking in Bwindi and Volcanoes will give you a different taste of trekking these critically endangered apes in different terrain and environment. The mixture of these safari products qualifies this Uganda Rwanda trip worthy undertaking.
Depending on your arrival time, together with your guide you will transfer by private vehicle south-West to Bwindi Impenetrable National Park.
You will stop over at the Uganda Equator for some photo shoots and a visit to the Craft Village. You will then head towards the western part of Uganda to the town of Mbarara where you will take your lunch and visit the Igongo cultural center.
Dinner and overnight at Engagi Lodge (Midrange) or Buhoma Community Rest Camp (Budget end).
After an early breakfast, head to the Headquarters of Bwindi Impenetrable Forest National Park for an orientation plus meeting the guides as well as separation into the groups basing on which gorilla group you are to be tracking. From there you will set off for your thrill experience of the Gorillas in the Mist.
Hiking within this mysterious and wonderful forest offers quite a lot to see as you make your way to see the Mountain Gorillas. The wildlife including additional primates, butterflies, mammals and birds, will certainly be very beautiful and really enhance this extremely special experience.
After a healthy breakfast, you will drive south to Lake Bunyonyi. Because of the tiring experience in Bwindi, the majority of the clients will take pleasure in some time to relax on the shores of this beautiful lake. There are various activities for the guest to enjoy here such as swimming, bird watching, sun bathing including a boat trip around the islands as well as cycling.
After breakfast, embark on the transfer to Volcanoes National Park 53km from Lake Bunyonyi. You will drive along the stunning views of Virunga Volcanoes that connect the three countries of Uganda, Rwanda and Democratic Republic of Congo.
The scenic views of Lake Mutanda – a re-known lava dammed lake gives you the taste of the influence of volcanic activity in the formation of landform features.
Continue on the drive to arrive in Volcanoes National Park for lunch and short relaxation after which you take on a caves walk activity to marvel at this natural feature with great historical significance in the traditional Rwanda as they provided refuge for the Kings and storage for supplies during times of war.
Wake up very early for breakfast such that by 8:00am, you are already at the park headquarters –Kinigi for briefing and eventual gorilla trekking experience. During this session, you are allocated to a gorilla family to track and if with a special case, rangers can be consulted for special arrangement. You will head off to the volcanic lush vegetation in search of gorillas. The trek is quite thrilling as you go through amazing landscapes amidst bird sights and other wildlife crossing including monkeys, wild pigs and if lucky wild elephants.
The trek takes 2 – 8 hours as gorillas are unpredictable thus packed lunch is required. The jungle sounds will accompany you up to that long waited moment of direct contact with gorillas. You will see them as they forage, play, socialize and sometimes charge. The state of wonder that will engulf your heart could leave your camera film with no space for other encounters. The full one hour is enough to optimize this experience after which you will retreat to the starting point then proceed to your hotel to relax.
After morning breakfast, you will track the golden monkeys. These striking primates are a treat for the eyes. With their bright orange fur contrasting the green rainforests of the Virunga Mountains – it's a photographers dream! Visitors meet with their guides at Volcanoes National Park's Kinigi Headquarters and the visit is done once per day, time will be allocated once booked. Have lunch at your lodge then proceed to Kigali.
Peacefully nestled along picturesque hilltops, Kigali is a thriving African city immediately notable for its cleanliness, orderliness, and hospitality. You will visit the Genocide Memorial centers, the Camp Kigali Belgian Monument, Natural History Museum - Kandt House, Ivuka Arts Galleries, and the Nyamata church among others.
After breakfast, Check-out and proceed to Kigali International Airport to catch up with your out bond flight back home or to your next destination.