text:
package org.apache.tajo.engine.query;

import org.apache.tajo.IntegrationTest;
import org.apache.tajo.QueryTestCaseBase;
import org.apache.tajo.TajoConstants;
import org.apache.tajo.TajoTestingCluster;
import org.apache.tajo.catalog.Schema;
import org.apache.tajo.common.TajoDataTypes.Type;
import org.apache.tajo.storage.StorageConstants;
import org.apache.tajo.util.KeyValueSet;
import org.junit.Test;
import org.junit.experimental.categories.Category;

import java.sql.ResultSet;

import static org.junit.Assert.assertEquals;

@Category(IntegrationTest.class)
public class TestGroupByQuery extends QueryTestCaseBase {

  public TestGroupByQuery() throws Exception {
    super(TajoConstants.DEFAULT_DATABASE_NAME);
  }

  @Test
  public final void testGroupBy() throws Exception {
    // select count(1) as unique_key from lineitem;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupBy2() throws Exception {
    // select count(1) as unique_key from lineitem group by l_linenumber;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupBy3() throws Exception {
    // select l_orderkey as gkey from lineitem group by gkey order by gkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupBy4() throws Exception {
    // select l_orderkey as gkey, count(1) as unique_key from lineitem group by lineitem.l_orderkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupBy5() throws Exception {
    // select l_orderkey as gkey, '00' as num from lineitem group by lineitem.l_orderkey order by gkey
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByNested1() throws Exception {
    // select l_orderkey + l_partkey as unique_key from lineitem group by l_orderkey + l_partkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByNested2() throws Exception {
    // select sum(l_orderkey) + sum(l_partkey) as total from lineitem group by l_orderkey + l_partkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithSameExprs1() throws Exception {
    // select sum(l_orderkey) + sum(l_orderkey) as total from lineitem group by l_orderkey + l_partkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithSameExprs2() throws Exception {
    // select sum(l_orderkey) as total1, sum(l_orderkey) as total2 from lineitem group by l_orderkey + l_partkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithExpressionKeys1() throws Exception {
    // select upper(lower(l_orderkey::text)) as key, count(1) as total from lineitem
    // group by key order by upper(lower(l_orderkey::text)), total;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithExpressionKeys2() throws Exception {
    // select upper(lower(l_orderkey::text)) as key, count(1) as total from lineitem
    // group by upper(lower(l_orderkey::text)) order by upper(l_orderkey::text), total;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithSameConstantKeys1() throws Exception {
    // select l_partkey as a, '##' as b, '##' as c, count(*) d from lineitem group by a, b, c;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithConstantKeys1() throws Exception {
    // select 123 as key, count(1) as total from lineitem group by key order by key, total;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithConstantKeys2() throws Exception {
    // select l_partkey as a, timestamp '2014-07-07 04:28:31.561' as b, '##' as c, count(*) d from lineitem
    // group by a, b, c order by l_partkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation1() throws Exception {
    // select l_orderkey, max(l_orderkey) as maximum, count(distinct l_linenumber) as unique_key from lineitem
    // group by l_orderkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  /**
   * This is an unit test for a combination of aggregation and distinct aggregation functions.
   */
  public final void testDistinctAggregation2() throws Exception {
    // select l_orderkey, count(*) as cnt, count(distinct l_linenumber) as unique_key from lineitem group by l_orderkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation3() throws Exception {
    // select count(*), count(distinct l_orderkey), sum(distinct l_orderkey) from lineitem;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation4() throws Exception {
    // select l_linenumber, count(*), count(distinct l_orderkey), sum(distinct l_orderkey)
    // from lineitem group by l_linenumber;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation5() throws Exception {
    // select sum(distinct l_orderkey), l_linenumber, count(distinct l_orderkey), count(*) as total
    // from lineitem group by l_linenumber;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation6() throws Exception {
    // select count(distinct l_orderkey) v0, sum(l_orderkey) v1, sum(l_linenumber) v2, count(*) as v4 from lineitem
    // group by l_orderkey;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregation7() throws Exception {
    // select count(*), count(distinct c_nationkey), count(distinct c_mktsegment) from customer
    // tpch scale 1000: 15000000	25	5
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregationWithHaving1() throws Exception {
    // select l_linenumber, count(*), count(distinct l_orderkey), sum(distinct l_orderkey) from lineitem
    // group by l_linenumber having sum(distinct l_orderkey) >= 6;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregationWithUnion1() throws Exception {
    // select sum(distinct l_orderkey), l_linenumber, count(distinct l_orderkey), count(*) as total
    // from (select * from lineitem union select * from lineitem) group by l_linenumber;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testDistinctAggregationCasebyCase() throws Exception {
    ResultSet res;

    // one groupby, distinct, aggregation
    res = executeFile("testDistinctAggregation_case1.sql");
    assertResultSet(res, "testDistinctAggregation_case1.result");
    res.close();

    // one groupby, two distinct, one aggregation
    res = executeFile("testDistinctAggregation_case2.sql");
    assertResultSet(res, "testDistinctAggregation_case2.result");
    res.close();

    // one groupby, two distinct, two aggregation(no alias)
    res = executeFile("testDistinctAggregation_case3.sql");
    assertResultSet(res, "testDistinctAggregation_case3.result");
    res.close();

    // two groupby, two distinct, two aggregation
    res = executeFile("testDistinctAggregation_case4.sql");
    assertResultSet(res, "testDistinctAggregation_case4.result");
    res.close();

    // two groupby, two distinct, two aggregation with subquery
    res = executeFile("testDistinctAggregation_case5.sql");
    assertResultSet(res, "testDistinctAggregation_case5.result");
    res.close();

    res = executeFile("testDistinctAggregation_case6.sql");
    assertResultSet(res, "testDistinctAggregation_case6.result");
    res.close();

    res = executeFile("testDistinctAggregation_case7.sql");
    assertResultSet(res, "testDistinctAggregation_case7.result");
    res.close();

    res = executeFile("testDistinctAggregation_case8.sql");
    assertResultSet(res, "testDistinctAggregation_case8.result");
    res.close();

    // case9
    KeyValueSet tableOptions = new KeyValueSet();
    tableOptions.put(StorageConstants.CSVFILE_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
    tableOptions.put(StorageConstants.CSVFILE_NULL, "\\\\N");

    Schema schema = new Schema();
    schema.addColumn("id", Type.TEXT);
    schema.addColumn("code", Type.TEXT);
    schema.addColumn("qty", Type.INT4);
    schema.addColumn("qty2", Type.FLOAT8);
    String[] data = new String[]{"1|a|3|3.0", "1|a|4|4.0", "1|b|5|5.0", "2|a|1|6.0", "2|c|2|7.0", "2|d|3|8.0"};
    TajoTestingCluster.createTable("table10", schema, tableOptions, data);

    res = executeString("select id, count(distinct code), " +
        "avg(qty), min(qty), max(qty), sum(qty), " +
        "cast(avg(qty2) as INT8), cast(min(qty2) as INT8), cast(max(qty2) as INT8), cast(sum(qty2) as INT8) " +
        "from table10 group by id");

    String expected = "id,?count_4,?avg_5,?min_6,?max_7,?sum_8,?cast_9,?cast_10,?cast_11,?cast_12\n" +
        "-------------------------------\n" +
        "1,2,4.0,0,5,12,4,0,5,12\n" +
        "2,3,2.0,0,3,6,7,0,8,21\n";

    assertEquals(expected, resultSetToString(res));

  // multiple distinct with expression
    res = executeString(
        "select count(distinct code) + count(distinct qty) from table10"
    );

    expected = "?plus_2\n" +
        "-------------------------------\n" +
        "9\n";

    assertEquals(expected, resultSetToString(res));
    res.close();

    res = executeString(
        "select id, count(distinct code) + count(distinct qty) from table10 group by id"
    );

    expected = "id,?plus_2\n" +
        "-------------------------------\n" +
        "1,5\n" +
        "2,6\n";

    assertEquals(expected, resultSetToString(res));
    res.close();

    executeString("DROP TABLE table10 PURGE").close();
  }

  @Test
  public final void testDistinctAggregationCasebyCase2() throws Exception {
    // first distinct is smaller than second distinct.
    KeyValueSet tableOptions = new KeyValueSet();
    tableOptions.put(StorageConstants.CSVFILE_DELIMITER, StorageConstants.DEFAULT_FIELD_DELIMITER);
    tableOptions.put(StorageConstants.CSVFILE_NULL, "\\\\N");

    Schema schema = new Schema();
    schema.addColumn("col1", Type.TEXT);
    schema.addColumn("col2", Type.TEXT);
    schema.addColumn("col3", Type.TEXT);

    String[] data = new String[]{
        "a|b-1|\\N",
        "a|b-2|\\N",
        "a|b-2|\\N",
        "a|b-3|\\N",
        "a|b-3|\\N",
        "a|b-3|\\N"
    };

    TajoTestingCluster.createTable("table10", schema, tableOptions, data);

    ResultSet res = executeString(
        "select col1 \n" +
            ",count(distinct col2) as cnt1\n" +
            ",count(distinct case when col3 is not null then col2 else null end) as cnt2\n" +
            "from table10 \n" +
            "group by col1"
    );
    String result = resultSetToString(res);

    String expected = "col1,cnt1,cnt2\n" +
        "-------------------------------\n" +
        "a,3,1\n";

    assertEquals(expected, result);

    executeString("DROP TABLE table10 PURGE").close();
  }

  @Test
  public final void testComplexParameter() throws Exception {
    // select sum(l_extendedprice*l_discount) as revenue from lineitem;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testComplexParameterWithSubQuery() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testComplexParameter2() throws Exception {
    // select count(*) + max(l_orderkey) as merged from lineitem;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testHavingWithNamedTarget() throws Exception {
    // select l_orderkey, avg(l_partkey) total, sum(l_linenumber) as num from lineitem group by l_orderkey
    // having total >= 2 or num = 3;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testHavingWithAggFunction() throws Exception {
    // select l_orderkey, avg(l_partkey) total, sum(l_linenumber) as num from lineitem group by l_orderkey
    // having avg(l_partkey) = 2.5 or num = 1;
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupbyWithJson() throws Exception {
    // select l_orderkey, avg(l_partkey) total, sum(l_linenumber) as num from lineitem group by l_orderkey
    // having total >= 2 or num = 3;
    ResultSet res = executeJsonQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData1() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData2() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData3() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData4() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData5() throws Exception {
    executeString("CREATE TABLE table1 (age INT4, point FLOAT4);").close();
    assertTableExists("table1");

    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);

    executeString("DROP TABLE table1");
  }

  @Test
  public final void testGroupByWithNullData6() throws Exception {
    executeString("CREATE TABLE table1 (age INT4, point FLOAT4);").close();
    assertTableExists("table1");

    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);

    executeString("DROP TABLE table1");
  }

  @Test
  public final void testGroupByWithNullData7() throws Exception {
    executeString("CREATE TABLE table1 (age INT4, point FLOAT4);").close();
    assertTableExists("table1");

    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);

    executeString("DROP TABLE table1");
  }

  @Test
  public final void testGroupByWithNullData8() throws Exception {
    executeString("CREATE TABLE table1 (age INT4, point FLOAT4);").close();
    assertTableExists("table1");

    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);

    executeString("DROP TABLE table1");
  }

  @Test
  public final void testGroupByWithNullData9() throws Exception {
    executeString("CREATE TABLE table1 (age INT4, point FLOAT4);").close();
    assertTableExists("table1");

    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);

    executeString("DROP TABLE table1");
  }

  @Test
  public final void testGroupByWithNullData10() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData11() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }

  @Test
  public final void testGroupByWithNullData12() throws Exception {
    ResultSet res = executeQuery();
    assertResultSet(res);
    cleanupQuery(res);
  }
}


text:
Muppet Christmas Carol, The
Theatrical Version
US TV Version
Release: Apr 18, 2018 - Author: brainbug1602 - Translator: Tony Montana - external link: IMDB
Compared are the Theatrical Version and the Extended US TV Version.
Christmas is close but cold-hearted realtor Ebenezer Scrooge does not care at all. He rejects supplicants, debtors are being evicted, he even reluctantly gives his faithful the day off. But this changes when he sees the ghosts of deceased business partners at night who announce three more ghosts to pay him a visit that night. Starting with the ghost of Christmas past, he takes Scrooge back to his own past. The ghost of Christmas present shows him how other people spend Christmas until death appears in order to show him what people will say when he has past away. The three ghosts managed to melt his heart and the next morning, Scrooge is a completely different person.
For those who grew up in the 90s, The Muppet Christmas Carol was hard to miss. It has been estabslished as christmas classic for a reason: It simply works incredibly well. The movie has heart and humor, Michael Caine is the perfect actor for Scrooge and it is entertaining from start to finish.
Less common is the fact that the Theatrical Version of The Muppet Christmas Carol is not as director Brian Henson intended it to be. Jeffrey Katzenberg, former boss of the animation department at Disney, had a musical number sung by Belle removed because he feared the Muppets would not be the center of attention for too long and the kids would not like the fact they were. Not knowing the Uncut Version, it does not catch the eye though. Belle gets up and walks past young Scrooge, then past weeping Gonzo and finally past Rizzo. This is were the musical number "When Love is gone" - Belle sings about her love for Scrooge having vanished - starts. At the end of the song, adult Scrooge joins her but changes the lyrics to "When Love Is Found" - which implies he has changed after all. Quite an important scene, actually, but also missing in most releases. The US "20th Anniversary Edition" DVD contains both a fullscreen and a widescreen version of the movie. Only the former contains the musical number. Unfortunately, this version is missing on the US Blu-ray.
So far, so good. And yet, there is a further version: The US TV Version. On 12/25/2000, it aired on KNVA and it is even longer.
When Scrooge gets home and starts searching his appartment, the US TV Version contains additional footage of Scrooge checking behind the chair and the chimney. A little later, before Scrooge manages to get rid of Marley's & Marley's chains, their song contains an additional verse. Belle's song "When Love is gone" is also there. That is quite something because the additional scenes of the US TV Version are nowhere to be found on any release for home theaters.
[00:22:37][00:27:46]
The US TV Version contains additional shots of Scrooge searching his own apartment. He looks behind a chain and checks the fireplace.
US TV Version: 42 sec
In the Theatrical Version, Scrooge asks why Marley & Marley had come to him.
The US TV Version contains alternate footage of Scrooge asking.
Marley & Marley then explains to him that, after their death, they were damned to walk the Earth in order to witness what they had been missing in their lives. Last but not least, a shot of Scrooge.
Theatrical Version: 2 sec
At the end of the song and right before he manages to get rid of the chains, Scrooge asks if they could not just be happy again but Marley & Marley keep singing. Then they have to leave. They state the message they had spread had to have been pretty scary and they had to return to the place where the coldhearted were. But before they leave for good, they point out to Scrooge that what would happen in the future was entirely up to him.
The Theatrical Version contains a shot of Belle walking by Scrooge.
In the US TV Version, Belle sings some sad song about her love to Scrooge.
There was a time when I was sure
That you and I were truly one,
That our future was forever
And would never come undone,
And we came so close to be close
And thought you cared for me
There's distance in your eyes tonight
So we're not meant to be.
The love is gone,
The sweetest dream
That we had ever known.
I wish you well
But I must leave you now alone.
There comes a moment in your life
Like a window, and you see
That your future is there before you
And how perfect life would be,
But adventures call with unknown voices
Pulling you away
Be careful or you may regret
The choices you made someday
When love is gone,
US TV Version: 3:11 min

redpajama_set_name: RedPajamaCommonCrawl


I love science! Evolution is nothing but religion...I wonder when this will come out...surely before the end! Notice all...even if you don't care! Bill Nye is so funny, oh brother!
http://www.youtube.com/watch?v=pUlLp0xmsZ0 The world is yours...now divorce yourself from it!


text:
10 Surviving Remnants of Long Lost Civilizations That Will Leave You Surprised
There are certain nations which were once considered as prominent but have ceased to exist entirely. Let's look at the surviving remnants of the long lost civilizations ever marked in history.
Kevin Green
When you are familiar that there are many countries in the world, there are also some which came into existence very recently. Besides this, there is a long list of countries which were once considered prominent nations but today they have ceased to exist entirely.
There is no doubt that human history has seen rise and fall of many nations. Their rebellions were triumphed over and cultures were lost, but sometimes those tiny remnants managed to survive it all. So here is the list of the surviving remnants of people that will really surprise you.
1. The Thai Villages Discovered by Chinese Soldiers
Source = I-scmp
It was at the beginning of 1949 when the Chinese nationalists were defeated by the communists. Many nationalists then ran away to Taiwan. However, during the cold war, they fought against the ethnic militias and Burmese government and with the help of the US government, they kept on launching attacks into China.
The Chinese nationalists ended up landing in Northern Thailand. The nation has over 60 villages which still exist. They were allowed to stay in Northern Thailand after assisting their government in its conflict against the communists. The Chinese nationalists have gifted the citizenship only under the condition that they would put down the arms and would take up the farming.
2. The Jewish Groups in India
Source = Netdna-cdn
The Bnei Menashe people of the Himalayan regions around the Indian-Burmese border claims that they are the descendants of Jews exiled in 721 BC. The Bnei Menashe used to follow the animist religion earlier before changing into Christianity in the 19th century. They finally converted to Judaism in the 20th century. However, they still retain some cultural connection with their ancestors, believing that the descents are from the Menashe tribe.
The claims of the Jewish heritage still remain controversial as the studies have found other results and the proof remains inconclusive. The current agreement is that a small group of their ancestors came from a lost tribe, and have spread the Jewish traditions to a large number of people. This may clarify both the cultural roots of Jewish and the lack of genetic evidence.
3. The Islanders Descended From Mutineers
It was in 1790 when nearly 9 mutineers from the HMS Bounty with Tahitian men and women settled on the Pitcairn Island after the their ship burned and sank. The tensions fueled by alcoholism and diseases caused several deaths within the group. with the help of 'Christian fervor', the group somehow managed to form a functioning community on the Pitcairn Island.
Pitcairn became a colony in 1838 and many people who were descended from the original crew moved to nearby Norfolk Island in 1856 with accompanying Tahitians. In spite of this migration, descendants of the mutineers still live on Pitcairn until today.
4. The Algerian Mutineers Incarcerated On a Pacific Island
It is well known that Algeria was ruled by the French in the 19th and 20th century. But a major portion of the locals didn't appreciate this and in 1870, a group of people launched an armed rebellion against French rule. Unfortunately, they were defeated and the leaders of the group were imprisoned on the Pacific Island of New Caledonia.
New Caledonia, which is a French territory today, was colonized in 1853 and nearly 10% of the population is claimed to belong to Algerian descent. Many of the descendants still feel guilty about the their ancestor's imprisonment and their strong connection with the Algerian roots.
5. The Legacy of Alexander The Great
Source = Wikimedia
Between 334 and 324 BC, Alexander the Great swept through the Persian Empire and reached the borders of the Indian subcontinent. Some of his followers even stayed in Indo-Greek Kingdoms which survived for many centuries until the ascension of Islam in the region.
The experts have noticed similarities between Sanskrit and ancient Greek coins which are still available at local markets. When the British administrators visited the region, local chieftains produced Greek bowls, gifted to them by the invaders. The Kalash people of current Pakistan and Afghanistan claim descent from the Macedonian army that walked through the lands long long years ago.
6. The Missing Jewish Tribes in Africa
Source = Forwardcdn
The Bible claims that there were 12 tribes of Israel each discovered by the son of Jacob. 10 out of 12 tribes went missing after an invasion by Assyrians in 721 BC. The Lemba Tribe claimed that its ancestors were Jews who ran away to the Holy Land at this time. At present, there are many Christians whose cultural traditions remain similar to those of Jews.
A study in 2010 discovered that the tribes share similar genetic ancestry with those of Jews. The members of the Lemba have a gene that is found only amongst the Jewish priestly ancestry, having the same common ancestor 3000 years ago when the priesthood began.
7. The Lost Legionaries of China
Source = Saporedicina
The contact between the Han Dynasty China and Roman Empire was limited but still, there is a proof that villagers in the Chinese county of the Liqian are the scion of Roman soldiers lost 2000 years ago.
The professor Homer Dubbs noted that some 1000 Romans had been captured by the Parthians. Also, the historical records revealed that the prisoners were moved to Parthia's eastern frontier. He believed that these men have become mercenaries, fighting for the Hsiung-Nu before being captured by the Chinese to defend their frontier. Hubbs believed that they founded a frontier town which is named Li-Jien a name which sounds similar to Legion.
8. The Confederate Colonies of Brazil
Source = Businessinsider
When the Confederacy was lost in the US civil war, the Emperor Dom Pedro II of Brazil greeted Confederate and sympathizers with a hope to begin their new life. A number of Southerners who were motivated by the hate of the wartime enemy and a natural urge to preserve Southern cultural values moved to Brazil. Brazil was the last country to ban slavery.
Until today, throughout the towns of Brazil, the Confederacy and Southern US culture is celebrated by thousands of scions of these Americans which are locally known as Confederates. Many of whom have non-white and African heritage.
9. Kenyans Were Inherited From 15th Century Chinese Sailors
Source = Coastweek
The Chinese explorer Zheng was sent on an expedition to Africa to make people aware of the Chinese strength and culture and also to form the tributary states on the continent. Local oral traditions maintain that 20 Chinese survivors were carried away on to the shore. After killing a python, they were allowed to stay by the locals. They converted to Islam and married local women. Their descendants still live on the island until today.
Some tribes in Cape Town's north claim the inheritance from the Chinese sailors dating long back near around late 12th century. They possess a Mandarin sounding tonal language and call themselves the Awatwa which means abandoned people.
10. The Scions of Polish Deserters in Haiti
Source = Licdn
Haiti has an unusual history. It was a French colony and during the uprising, a number of Poles fought as mercenaries for Napoleonic France. That's because Poland had been partitioned between Russia, Austria, and Prussia. Although Poland didn't achieve independence until 1918, Poles believed that they could become independent by fighting with Napoleon. After the war, the Poles mixed with local and built communities in the countryside, retaining its Polish culture till today.
Share this story on
10 Patients Who Came Out From Coma With Extraordinary Skills
Posted By: Rupesh Chhabra
Veronica Seider - A Superhuman With Super-Eye
Veronica Seider's super power sounds like a plot of a film. Veronica has an eyesight that redefines the human eye capability. ...
Swati Bhandari
Most Notable Dead Bodies Left On Mount Everest
The world's highest mountain – Mount Everest not only serves as an epitome of nature's beauty, but it is also a warning t...
Kimberly Campbell
World's Strongest Toddler - Liam Hoekstra
If you thought superman existed only in DC comics, think again. We have a present day Liam Hoekstra who is our ...
By Kevin Green
30 Facts & Differences Between Men and Women to Understand Your Partner Better
By Kimberly Campbell
Lori Lightfoot: The First African-American Lesbian Woman to Become Chicago Mayor
By Ethan Stephans
10 Richest Presidents You Might Not Know Are Making Millions Everyday
Email is required and look like an e-mail address.
All information available from this website are referenced from the trusted & best known sources on the web. Though, we make no warranties, either express or implied, concerning the accuracy, completeness, reliability, or suitability of the information.
Design & Developed by Covetus llc


text:
by Liya Swift · January 3, 2020
At the start of most films, you've probably wondered why so many companies are listed before the movie starts. A studio presents a movie, which was produced by another company, sometimes in association with yet another company. Why so many? Surely, film studios like Warner Bros. or Disney have the resources to make movies on their own.
Of course, they do. In fact, all of the big studios have their own production companies. But that wasn't always the case. And thanks to film festivals around the world, more and more independent film production companies are coming on the scene. What's more, many of these independent production companies are then acquired by a studio.
So if TriStar Pictures and Screen Gems Inc. co-produced a movie as subsidiaries of Sony Pictures, why list them at all? They're all under the Sony umbrella. While this is true, they are still their own brands. Consider many of the products you buy. Are you going to buy a pint of Unilever ice cream? Or does Ben & Jerry's Chunky Monkey sound better?
What Does a Film Production Company Do?
Everything. From securing financial backing for the movie, to tracking down the perfect bow tie for the leading man in a two-minute scene. Outside of securing rights to a screenplay, a film production company takes care of everything they're equipped to do so, because not all production companies are created equal.
Working Title Films, as a subsidiary of Universal Pictures, will have a much easier time acquiring the needed money to finance a film. Independent film productions will have a harder time getting the money it needs by talking to investment firms, wealthy individuals, or partnering with a studio.
With money in place, the production company can then go about spending it: hiring actors, the crew, and other staff members. Then it's onto renting needed equipment, scouting locations, and securing the wardrobe. Now don't forget, the scheduling, distributing, and marketing. From start to finish, the production team is responsible for all of it.
In most cases, a production house is mostly a managerial entity. It hires the gaffers but doesn't work the lights. It hires the makeup artists but doesn't apply the blush. It hires the caterers but doesn't put out the veggie trays. What they do is bring all of those people together and get them on the same page.
The Big Six
Although not the front-runners they were a decade or two ago, the "Big Six" film production companies have dominated the filmmaking industry for more than a century. There have been many changes to the industry since 1912, the year Universal Pictures and Paramount Pictures first came on the scene.
Walt Disney Pictures began in 1923, followed by Warner Bros. (1923), Columbia Pictures (1924), and 20th Century Fox (1935). These six studios were responsible for most of the movies made during the "Golden Years" of Hollywood. Directors, actors, and so on were under contract and worked exclusively with these studios.
Until the '60s, Hollywood operated under this "Studio System." With the popularity of television, along with grueling antitrust lawsuits, the Studio System began to breakdown. This gave way to the rise of independent films, star-driven movies, and more creative freedom from filmmakers. Easy Rider was the first wholly independent movie to gain mainstream success.
This was followed by Midnight Cowboy, Apocalypse Now, and eventually Jaws, the first summer blockbuster. The New Hollywood emerged, giving creative license to film producers and allowing them to create movies with little to no studio involvement.
Which also brought a lot of risks. Jaws was famously over-budget and Francis Ford Coppolla had a myriad of problems trying to get Apocalypse Now made. Heaven's Gate single-handedly sunk United Artists. However, many of these independent production companies began partnering with the studios, which then began to create independent production firms of their own.
Really Independent Films
The 1990s' saw an explosion of very small film production crews creating huge hits. El Mariachi was made for under $8,000 but made $2 million overall. Clerks was made for just under $30,000 and brought in $3.2 million. The Blair Witch Project, which was shot in eight days, cost $60,000 to make and made almost $250 million.
With such paltry amounts of money, how did anyone know these movies even existed? Film Festivals. Although the Cannes Film Festival had been in operation for decades, The Sundance Film Festival helped all three movies find distribution partnerships. More festivals sprang up and more independent productions found homes.
A Return (of Sorts)
Seeing the popularity of these smaller films, the Majors made a point to get in on the action. This was done by buying smaller production firms or just creating their own. The original Big Six was shrunk to the Big Five at this point: Paramount, Universal, Warner Bros., Disney, and Sony (which bought out Columbia Pictures).
While these major studios are still responsible for most of the films you see today, they're focused largely on providing the financial backing and distribution. The heavy lifting gets done by either one of their subsidiaries or by the independent production company they're partnering with.
With streaming services Netflix and Amazon Prime Video, getting a movie made has never been easier. Both companies are now in the business of making their own movies and serials while giving filmmakers one more avenue to prove their worth.
But none of it happens without a film production company. Some of their names – Red Crown Productions, Annapurna Pictures, Gilbert Films – aren't widely known. Notwithstanding, they're responsible for some of the most popular and critically acclaimed films of the past decade, including Beasts of No Nation, Zero Dark Thirty, and La La Land.
Production companies are an invaluable part of the movie-making business. By creating solid relationships with studios, favorable working conditions for the crew, and securing a big-name cast, production companies will always find a way to exist in Tinseltown.
Want to get in on the action? Consider applying to Film Connection. You'll be placed with a working production company and work side-by-side with your mentor, an industry professional. You'll need to hustle, absorb as much as you can, and be willing to help at a moment's notice. And if you have the desire, drive, and determination it takes, you just might pave your own way to Hollywood.
Let us help. Apply today.
New coast, new path: Film Connection student Brooke Tadesse forges a new career!
Film Connection student Marisa Merkl discovers a hidden talent and a gateway to Hollywood!
Film Connection mentor Peter Scheibner offers key advice about work ethic and proactivity
Next story Film Jobs: The Grip
Previous story What is SAG?


Hello Bar is the best way to convert your visitors into customers. It helps to get more loads from your WordPress blog.
Today I am going to tell you the complete Hello Bar review. I have covered everything about Hello Bar and its benefits.
Basically, The Hellobar.com is a website which provides the lead generation features on blogs/websites. Neil Patel is an owner of "Hello Bar" and he is the Master of SEO and blogging.
In this article, I am going to show you – how to use Hello Bar plugin for your WordPress blog to boost your conversation. As well as, how to manage it. This is very interesting and you should install it today on your blog.
Hello Bar offers a WordPress plugin which you could install on your WordPress blog easily. Similarly, those don't have a WordPress site, they can install it on your website or on BlogSpot blog using Hello Bar custom code.
it's necessary to activate Hello Bar on your site. Without installing code or Plugin, you can't access its features on your site.
You can use Hello Bar for promoting a sale/discount, talk to your visitors, grow your email list, get Facebook likes, or for an announcement.
These all functions help you build your business with more leads. This is free and if you want its paid functions, you can activate it free for a month using my link below.
You will get free pro account for a month using the above link. Pro account gives you the ability to hide Hello Bar branding from bars, page takeovers and write custom thank you message.
There are two methods to install Hello Bar to your blog or website. Both methods are so easy.
First, You can install Hello Bar WordPress Plugin to your WordPress blog/website.
Second, just copy & paste your Hello Bar code snippet from Hellobar.com to your website or blog.
After activating your Hello Bar account using your email, you can follow any method above to install it on your blog.
After activating your account, handover your site to Hello bar. Then, you could see your Hello Bar code which will identify your site is activated or not.
You have to copy that code and install it into your blog head tag. After that, refresh your admin dashboard of Hello Bar and you can see your site has been activated.
Now, you can access the Hello Bar features on your site.
These are the main features of Hello Bar. As well as these features, it has its own style to display this.
These are the styles to display your message to your visitors using Hello Bar.
Hello Bar is free to use on your site but it shows their branding on your website bars. after collecting a successful email on your site, Hello Bar shows the default thank you message to the visitors in the free plan.
Instead, if you use a pro account of Hello Bar, you can hide their branding as well as write custom thank you message.
If you use my link, you will get a pro account of Hello Bar for a month for free. You don't have to purchase it or provide your credit card.
These are the main functions, pricing, and WordPress plugin of Hello Bar. You can also use Hello Bar Alternatives if you don't want its paid account.
I personally recommend Hello Bar, it's outstanding. But, you can also check its alternative for experiments on your site.
There are free plugins available which work the same as Hello Bar. You can check them for your experiments. Here I have top 5 alternatives of Hello bar.
These are the best Hello Bar alternatives for your WordPress site. You can download and use it for free.
My personal experience with Hello bar has been awesome. I am still a user of Hello Bar. I am using it for capturing emails.
You could integrate it with your email service provider where you have created your email list like MailChimp, Aweber, or other. Simple select your provider and your list. That's it!
Its design is cool and the visitors love it. You should use it for your blog. For professional blogging, you should use its pro version. Because showing others branding on our blog is a little unprofessional and annoying.
So, Get Hellobar and start using Hello Bar on your blog. It's nice and you also love it. Try it and share your experience with us.
I appreciate your comments and feedback on Hello Bar review. If you love it, don't forget to share it!
Hello Bar is effective for bloggers, marketers, e-commerce sites, and business owners. This plugin provides a great opportunity to increase your conversion rate and acquire more subscribers and followers. Its setback is that ads are shown to one in every 10 visitors on the free trial. Overall, it's a wonderful tool for those intending to build traffic on their websites. The hello bar pricing is rather expensive but you can choose plans according to your business needs.
Exactly, The hello bar is an outstanding tool for every marketer as well as bloggers. It has amazing features which help to grow the email list.


Tickets for St. Vincent at The National Theater in Richmond Virginia go on-sale tomorrow (1/16/15 10:am EST). You can purchase them through TicketMaster here.
*Hey…if you haven't seen Annie's performance on Guitar Moves yet, I highly recommend the entire series on YouTube.
Just a reminder…Hip band Clutch is performing at the Norva Theater in downtown Norfolk, Virginia tonight. Tickets are still on-sale, and are also available at the door.
Free Slurpee Day is Friday July 11th. (Get it? 7/11? Happens every year.) at participating stores.
Spoon with special opening guest Hamilton Leithauser (of The Walkmen) are playing a show on Saturday September 6th at The Norva in beautiful downtown Norfolk. Tickets are around $34 with the fees.
Clutch are coming back to town to perform at The Norva on Friday September 26th. Tickets are about $27.
über-hipster band Broken Bells are performing at The National Theater in Richmond, VA for those who would like to make a small road-trip. The show is Sunday September 28th and tickets are around $40. The opening guest is also Hamilton Leithauser.


text:
Trailer Released for Keiichiro Toyama's New Horror Game, Slitterhead
Keiichiro Toyama of Silent Hill and Siren departed from Sony Interactive Entertainment Japan Studio last year, along with Kazunobu Sato and Junya Okura. The three of them founded Bokeh Game Studio, and a trailer has been released for its debut game, Slitterhead.
Slitterhead is a horror game, so this might just be best watched in full screen in a dark room! Don't say I didn't warn you.
Slitterhead is scheduled to come out in 2023, so we're still going to have to wait awhile before we get to play the actual game and scare ourselves silly. Toyama is credited as creative director, and Akira Yamaoka, who composed Silent Hill, is here for more atmospheric music.
The game is being developed so that computers will be its main platform, but they also have made it a goal to extend into other platforms as well.
Toyama alluded to his new game back in February in a subtitled video. "The view I have of horror is the everyday life being shaken," Toyama said then. "Rather than showing scary things, it should question our position, make us challenge the fact we're living peacefully. . . I would like that to be the theme of my next game."
In that same video, you can also see some concept art.
Toyama also said previously about his latest game, "If anything, this will be more of a horror-oriented game. But we will focus on making this a broader entertainment experience, rather than a hardcore horror game."
While the trailer has some stuff that definitely doesn't happen in the real world, it opens with a regular scenario of a man just going for a walk at night. It will be curious how Toyama and the others at Bokeh tell their horror-infused story now that they have their own studio and full creative control.
Does this trailer make you interested in checking out Slitterhead?
Source: ANN
Danica Davidson is the author of the bestselling Manga Art for Beginners with artist Melanie Westin, and its sequel, Manga Art for Intermediates, with professional Japanese mangaka Rena Saiya. Check out her other comics and books at www.danicadavidson.com.
Tsutomu Nihei, Polygon Pictures' 'Ooyukiumi no Kaina' Original TV Anime Announced for Winter 2023
View Full Version


text:
MT Expert's Ten Top Tips: Achieving your full potential, with Usain Bolt
Record-breaking sprinter Usain Bolt explains how we can all turn talent into solid achievement...
Last Updated: 31 Aug 2010
Usain Bolt is, undeniably, a phenomenon. At the age of 23, the young Jamaican is (by some distance) the fastest man on earth, and he's single-handedly changed the physical template for a modern sprinter. It's tempting to assume that Bolt is just a freak of nature, and it's true that he clearly has an exceptional talent. But that much has been clear ever since his successes in junior athletics – his achievements at (and since) Beijing are testament to his coaches' ability to translate this into achievement through years of training. Bolt and his coach Glen Mills recently popped into the IMD business school in Geneva to talk about their working relationship, so we asked IMD's John Weeks and Jean-Louis Barsoux to furnish MT readers with their top tips for translating potential into achievement.
1. Don't try and make it alone
Usain Bolt had shown enormous early promise, but by the time he met Glen Mills he had become an injury prone underachiever. Mills overhauled his training program to improve Bolt's strength but also to protect a congenital spine defect that was the root cause of his recurring hamstring injuries. Finding the right coach or mentor is critical for anyone who wants to improve. In a recent Fortune article, Google CEO Eric Schmidt reckoned that the recommendation to 'hire a coach' was the best piece of advice he ever received – not because the coach can do it better than you, but because he or she helps you to know yourself, face your weaknesses and decide where to allocate your efforts.
2. Forget entitlement
Mills helped Bolt to understand that his physical talent was no guarantee of success, unless accompanied by the requisite mental strength and discipline. To reach the top in any field, natural talent is a necessary but not a sufficient condition. It is the same for aspiring leaders who assume they will 'make it' on the strength of their brains and ambition. We meet too many high potentials who aspire to high leadership, but are used to rewards for being bright and creative. This breeds a sense of entitlement that is incompatible with the need to work on their weaknesses and continue learning.
3. Keep listening
Getting a great coach or mentor is pointless unless the athlete remains receptive. As successes accumulate, it is easy to get carried away. The fun-loving Bolt chose a trainer renowned as a strict disciplinarian, knowing that Mills would help him stay focused on the task. Bolt understood he needed someone to keep him honest. It's the same for executives: as they accumulate successes, they can grow hard of hearing or even deaf. To make sure they do not become imbued with an inflated sense of their own importance, they need to maintain contact with people who will keep asking the awkward questions.
4. Turn setbacks into strengths
The first big psychological lesson that Mills taught Bolt, and the one that stuck most in Bolt's mind, was: 'You have to learn how to lose before you can learn how to win'. That means discarding that crippling fear of failure. As Bolt puts it, once that fear is gone, then you can focus on the positive and you can play to win. Management scholar Chris Argyris noted a similar challenge for fast-trackers in organizations. He found that the psychological make-up of smart people paradoxically made it harder for them to learn. Having rarely experienced failure, they had not properly learned how to deal with the embarrassment and sense of threat that accompanies it. When they encountered failure, it triggered defensive routines that inhibited learning.
5. Build resilience
Mills also instilled in Bolt the idea that injuries are part of the game when you are pushing your body to its limits. They are to be expected – and even welcomed as part of your development. Injuries help to build mental resilience. They provide an opportunity to correct weaknesses, but also to reflect on the things you are doing right. Similarly, for executives who are stretching to the limits of their capabilities, it is impossible to avoid setbacks and even the odd derailment. Currently, many former high flyers are suffering from the economic crisis. The question for them is: Are you learning enough from this? Are you happy with the way you are investing your energies and what it is adding up to? Such setbacks can help individuals identify what they truly value and who they truly trust.
6. Manipulate stress
Bolt shows no signs of nerves as he prepares for a race. On the contrary, he likes to entertain the crowd with cheeky antics. The pre-race routine helps to take his mind off stress and to gain a sense of control over his environment. Where anxious rivals see the pressure of expectations from the packed crowd, Bolt sees support. He believes that 'the crowd is your friend.' Executive life is replete with potential stressors including difficult relationships, job uncertainty, travel obligations, unrealistic deadlines and sudden changes. To progress, executives have to learn shut out those stressors – or, like Bolt, to reframe certain inhibiting stressors as stimuli.
7. Keep your eyes on the prize
To push himself through punishing training sessions, Bolt keeps his eyes on the long-term objective. But he also knows that come the training session, he won't want to do it. So he has given Mills the permission to force him to do it. Numerous studies have shown that people are really bad at following through on things that they want to do in the long term, because they tend to discount future benefits so steeply. Like Bolt, ambitious executives must forfeit immediate benefits in the interests of longer term goals. This might mean finding clever ways to save themselves from their own weaknesses – 'pre-commitments' that will help them to stick with an objective they might otherwise dodge.
8. Upgrade the dream
After his stunning feats in Beijing, Bolt's new-found celebrity generated fresh distractions, including interviews, talk shows and celebrity parties. For a while, he lost his motivation to train, until a chance exchange with an old friend made him realize that his real dream was not to smash records but become 'a legend'. Similarly, for ambitious executives, there may come a time when they achieve what they set out to achieve in their current careers – at which point they may have to contemplate what will sustain their motivation, their emotional flexibility and their intellectual vitality over the coming years or even decades. Getting the job is one thing, but how do you maintain the appetite to keep improving?
9. Keep it fun
Perhaps the most striking characteristic of the ebullient Bolt is his sense of fun. He jokes about the hard work and the amount of effort, pain and discipline involved, but he projects an infectious joy that comes from doing something that he loves to do and having a purpose that he believes in passionately. Even the most routine jobs can be made more interesting by turning them into a game. The trick is to treat the component parts of the job as a series of challenges and then to set small goals. It is a question of identifying something that you want to do a little bit better or a little bit differently, and then working on it incrementally.
10. Beware of hubris
Bolt left it entirely to Mills to decide whether he would double up in the 100m and 200m in Beijing or whether participating in the 100m would jeopardize his chances of gold in his specialist event, the 200m. As world record holder in the 100m, Bolt could have insisted on entering both events, but he realized that overconfidence might cloud his judgment. Executives also have to 'know their limits'. Typically, there is a stage in your advancement where the next challenge is 'way beyond' what you have done before. You need to recognize this discontinuity and not let the excitement of the challenge distort your judgment about the stretch required. The last thing you need is to sign on for 'mission impossible'.
The authors both work at IMD, a global business school in Geneva; John Weeks is professor of leadership and organizational behavior and Jean-Louis Barsoux is a senior research fellow.


text:
@interface BTCEncryptedMessage (Tests)

+ (void) runAllTests;

@end

redpajama_set_name: RedPajamaGithub


Our mission is to tear down the technical divide between storytellers and their audience.
We do this by providing intuitive products to the storytelling community, as well as by directly supporting community and independent journalism around the world.
We provide innovative technological features that allow audio raconteurs to focus on telling great stories, while our software ensures broadcast quality results.
Our products are developed in close collaboration with professional and amateur users to ensure that our tools provide real solutions - today and in the digital future.
Stories are spread through the airwaves from Alaska to Antarctica.
From cities to rural areas, radio gives voice to street children in Tanzania, indigenous journalists in Nepal and war correspondents covering the darkest corners of our world.
The stories we hear change our perspective.
Radio can strengthen communities and build nations.
But despite radio being the most widespread media on the planet, there can still be a long way from storytellers to their audience.
Our mission is to close that gap….