text:
HOOPP Stays the Course
Canadian pension names new chief executive, but maintains same investment strategy.
Jim Keohane, the current chief investment officer and senior vice president of Investments at HOOPP (Healthcare of Ontario Pension Plan) has been appointed to president and chief executive, effective at the beginning of 2012.
Keohane will replace John Crocker, who is retiring at the end of this year. Keohane's message about his new post is that investors can expect just "subtle differences."
"I've worked with John for 12 years," Keohane told Markets Media. "We have a lot of the same beliefs. I don't think there will be too noticeable differences."
Leadership style aside, Keohane noted that the secret to HOOPP's success in the pension-wide plight to stay funded will be to maintain the firm's current investment strategy.
"I've been a part of the development for our current strategy, so the message is to stay the course," he said, citing that new challenges going into 2012 will be low interest rates."
"Low interest rates are a challenge for everyone; if you had a 60-40 bond to equity ratio on your on portfolio, you're not doing well," Keohane said.
HOOPP is among the few major defined benefit plans that is fully funded, most noted for its success in navigating the 2008 financial crisis, whereas many other pensions were hit hard on liquidity concerns and unsound investments.
HOOPP's assets are actively managed using a diversified, long-term investment strategy, but the firm's current methodology takes advantage of derivatives, which has been a major contributor to the C$35.7 billion under management.
Moreover, the firm focuses specifically on liability driven investing, as well as seeking returns— in two separate portfolios. The fund is now fully funded with the effect that the contribution rates and benefits will be stable until at least the end of 2012.
HOOPP's investment staff is small; with 40 in-house investments professionals. Jeff Wendling, former head of public equities, will now look after all equities including private equity and real estate. David Long will be responsible for asset liability management (ALM), and maintain his post as head of fixed income and derivatives.
Scotiabank, BestEx Research to Build Algo Platform for Canad...
Trading platform addresses the market's need for performance, transparency and control.
12.08.2021 By Terry Flanagan , Managing Editor
CIBC Launches CDRs on NEO Exchange
Canadian Depositary Receipts provide investors with access to foreign stocks with mitigated currency risk.
Cboe LIS Powered by BIDS Extends Global Playbook
Canadian launch will be MATCHNow's first product launch under the Cboe umbrella.
Torstone Expands In Canada
A new Toronto office will support the technology firm's expansion in North American.
Clearpool Expands Into Canada
Tech vendor will support Canadian equities trading and interlisted securities trading via its AMS.


text:
Home > Foreign Affairs > Church of Almighty God Under Attack by CCP
Church of Almighty God Under Attack by CCP
by James Wilson 2 years ago Feb 05, 2021 0 Comments
The Church of Almighty God has released its 2020 Annual Report on the Chinese Communist Government's Persecution of The Church of Almighty God, exposing the Chinese Communist Party's continued assault on religious beliefs under the shadow of COVID-19. In 2020, at least 7,055 Christians from The Church of Almighty God were arrested, 1,098 were sentenced, and 21 were persecuted to death.
The report details the CCP's ongoing wanton destruction of religious venues and crosses throughout the pandemic as well as its release of confidential documents demanding a redoubling of its "stabilisation" efforts. Citing a need to ensure ideological integrity and regime security in the midst of the epidemic, it deemed The Church of Almighty God a critical strike target as "a covert threat to national political security," even taking the opportunity of its pandemic control home visits and inspection posts to track down and arrest CAG Christians.
The CCP's arrest operations against Christians remained frequent in spite of the havoc wreaked by COVID-19 continuing to unfold.
In February, although many cities and towns were under lockdown orders, a unified arrest operation was carried out in Sichuan Province in which at least 142 CAG Christians were apprehended.
Between May 16 and 17, over just two days' time, over 100 CAG Christians were arrested in Linfen City, Shanxi Province.
Within a single day on November 11, at least 120 CAG Christians were arrested in Zibo City, Shandong Province.
A minimum of 200 Christians were arrested in Zhejiang Province on the day of December 3, some of which had already been under police surveillance for nearly a year.
The Christians in custody were subjected to various forms of torture such as sleep deprivation, electric shocks, being suspended from handcuffs, having their fingers stabbed with toothpicks, and having their nipples put in iron clamps. At least 21 Christians died in 2020 as a result of horrendous persecution, brutally tortured and otherwise abused while in custody.
Qin Shiqin, a CAG Christian from Shandong Province, passed away after being held in a police station for 10 days. Her corpse revealed a swollen face and blood at the corners of her mouth.
Incomplete statistics show that at least 1,098 CAG Christians were sentenced in 2020. Jiang Yanghua, a Christian from Xinjiang, was given a 15-year sentence for "convening" gatherings, and of three Christians who were minors at the time of their arrests, two were given sentences of three years and the third a sentence of three and a half years.
Beyond all of this, the CCP's suppression of The Church of Almighty God continued to intensify. In September, the Central Political and Legal Affairs Commission issued a confidential document calling for a three-year "all-out war" on The Church of Almighty God, identifying the Church as "the most prominent potential threat" to its rule, demanding its "utter annihilation" and efforts to thwart its growth abroad. The number of arrests climbed steadily after the document's release; in November alone, 1,525 CAG Christians were arrested nationwide.
The CCP also interfered in the right to freedom of belief of Christians outside of its own borders. A Christian living abroad who appeared in CAG films became an object of pursuit, while his relatives in China were subjected to harassment and one was even persecuted to death by police.
The CCP also established a big data platform for individual surveillance and conversion of members of The Church of Almighty God, using a variety of illegal tactics such as inciting anti-CAG public fervor, establishing guilt by association, exploiting the social credit system, and employing surveillance for sweeping persecution of Christians. It made attempts to pressure Christians into signing a guarantee to renounce their faith by revoking their and their relatives' right to employment, their children's right to an education, eliminating their basic living allowance, restricting their ability to travel, and more. In 2020, at least 35,752 Christians suffered police harassment.
The Church of Almighty God is a new Christian church in China which has been deemed a threat by the CCP due to its rapid growth and its refusal to accept government control; since its establishment in 1991, it has suffered frantic suppression and persecution at the hands of the CCP. It is currently among the religious groups facing severe Communist Party persecution, and at least 420,000 Christians from The Church of Almighty God have suffered arrest from 2011 until now. The report has been compiled based on over 40,000 cases of CCP persecution of CAG Christians that have been collected as well as confidential documents released by CCP officials. It provides a valuable resource made up of firm data and evidence for all individuals and organisations concerned with religious persecution and human rights in China.
Tagged #CAG #CCP #China #Church of Almighty God
More Funds Need to be Devoted to Digital Skills
Building Back Better
Russia Achieves First Place as World's No. 1 Terrorist State
New Hope and Opportunity for Nagorno-Karabakh
Explosions in Crimea: Ukraine takes the strategic initiative in the war

redpajama_set_name: RedPajamaCommonCrawl


Sodium is a necessary part of life; our bodies need it, badly, but one fun, very little known fact is that too much of it can actually increase your blood pressure. A blood pressure increase might not seem like much, after all, you hear people complaining all the time that their doctor diagnosed them with high blood pressure, and they seem to be walking around perfectly fine, don't they? What you fail to realize is that high blood pressure can lead to stroke and heart attack, both of which can lead to either death or severe disability.
A stroke, for example, can severely affect your motor function and destroy your day to day activity. That being said, you want to do your best to make sure that you are not contributing to the degradation of your health by taking in too much salt. Don't worry, part of good Boca Raton medical weight loss tips is giving people proper instruction and making sure that they are able to take care of their bodies, and sodium is one of the easier thing to avoid.
If you want to lower your sodium intake then you're going to need to start reading labels, there is really no way around it. Before we get to that, we'd like to point out that the maximum sodium intake sits at about 2300 for an adult below the age of forty, though it decreases considerably once you reach your forties and beyond. The best thing you can do is take a look at the labels before you eat any processed food, and you're going to be utterly shocked at how much salt a single meal can actually contain.
Let's take McDonalds for example. If you were to purchase a McChicken and consume it, you would actually be eating 680 mg of sugar, and when you should only be consuming 2300 per day, you've practically eaten almost half of your daily allowance.
The same goes for other chain restaurants, Pizza Hut for example. If you take a look at some of their nutritional information you will find that many of the pizzas have 1100mg of sodium PER SLICE. If you've ever sat down and consumed an entire meat lovers pizza, then you've actually managed to take in a least four times of your recommended daily allowance. It's no wonder your blood pressure has been shooting through the roof.
It's going to be all about making sure you're on the right track for the foreseeable future, and that means cutting down on the sodium. If you're an avid consumer of fast food then we'll say that this definitely isn't going to be an easy venture – to say the least. That being said, you're going to want to put your math skills to work and do some portion control – you can cut down the salt intake if you put your mind to it!
If you look online you're going to find a great list of low sodium foods that will be highly beneficial to your medical weight loss plan. One of the most important things that you can do is make sure you're eating fruits and vegetables as they are plenty low in sodium. One of our favorite meals is chicken and avocado, but if you do choose to go the chicken route, make sure you take it easy on the seasoning!
Don't worry, it might seem like a chore right now, but you can absolutely, positively get rid of the sodium and make your life a lot easier. Cut down on it, lower your blood pressure, and live a happier life. Also, do keep in mind that YES, you can live a happy life without fast food or a high sodium diet, even if it doesn't seem like it at first.


text:
Іларіо́н Тарна́вський  (* 1890) — громадсько-політичний діяч з Самбірщини, 1938—1939 посол до польського сейму. У 1939 р. вивезений більшовиками. Подальша доля Іларіона Тарнавського невідома.

Література

Персоналії за алфавітом
Посли до Польського сейму
Діячі УНДО
Персоналії:Самбірський район

redpajama_set_name: RedPajamaWikipedia


text:
Cytochrome P450 Homepage
How to search this website with Google
Citation for this page: Nelson, DR (2009) The Cytochrome P450 Homepage. Human Genomics 4, 59-65.
P450 Blast server sequences
P450 Genomes
3D P450 Structure tour uses CHIME
P450 Stats
P450 Talks/Lectures
human May 17, 2007
chimp revised Dec. 12, 2014
Rhesus monkey revised Dec. 12, 2014
Callithrix jacchus (marmoset) revised Dec. 12, 2014
Tarsius syrichta (tarsier) revised Dec. 19, 2014
Microcebus murinus (grey mouse-lemur Dec. 19, 2014
mouse May 15, 2007
rat April 27, 2007
cattle Revised Dec. 1, 2015
pig June 21, 2007
dog Oct. 6, 2003
Opossum revised Aug. 4, 2015
Tasmanian devil August 4, 2015
duckbilled platypus Jan. 22, 2008
Apteryx australis (kiwi) Dec. 1, 2015
chicken Revised Dec. 1, 2015
turkey Dec. 1, 2015
zebrafinch Dec. 1, 2015
mallard duck Dec. 1, 2015
collared flycatcher Dec. 1, 2015
chimney swift Dec. 1, 2015
lizard Dec. 1, 2015
Xenopus June 30, 2010
pufferfishes rev. Mar. 2, 2005
zebrafish June 8, 2004
Atlantic salmon Jan. 17, 2008
Elephant shark
lamprey
Amphioxus genome rev. Feb. 5, 2008
Ciona (sea squirt) 2003
sea urchin Nov. 29, 2006
Pompeii worm (Alvinella pompejana, polychaete Jan. 13, 2016
C. elegans RNAi, revised March 23, 2004
C. briggsae Nov. 2003
Planarian, Schmidtea mediterranea Nov. 5, 2009
Dros. pseudoobscura Feb. 13, 2004
Anopheles Feb. 2003
Aedes aegypti Aug. 30, 2005
whitefly Trialeurodes vaporariorum Nov. 30, 2011
Silkworm revised Dec. 12, 2009
Monarch butterfly Nov. 30, 2011
Lepidoptera July 1, 2004
Honeybee, Apis mellifera Sept. 26, 2005
Dwarf honey bee, Apis florea, Jan. 13, 2016
Bumble bee, Bombus terrestris Jan. 15, 2013
parasitoid wasp, a hymenopteran Sept. 6, 2007
Leaf cutter ant May 16, 2011
Argentine ant May 10, 2011
seed-harvester ant May 10, 2011
fire ant Revised May 23, 2011
Tribolium castaneum, red flour beetle April 11, 2006
Dendroctonus ponderosae (bark beetle) Jan. 28, 2015
Rhodnius prolixus, kissing bug Aug. 27, 2014 (from Nicolas Pedrini)
aphid Nov. 2, 2009
All named public insect sequences Feb. 9, 2010
Two-spotted spider mite Nov. 30, 2011
Ixodes scapularis (tick) Nov. 2, 2009
Daphnia pulex (water flea) first crustacean Dec. 13, 2011
Sea anemone, a Cnidarian Sept. 4, 2007
Hydra, a Cnidarian May 25, 2005
Acropora millepora (coral, a Cnidarian)
Trichoplax adhaerens rev. Jan. 30, 2008
sponge July 11, 2005
Monosiga (Choanoflagellates) Feb. 20, 2008
tomato June 19, 2012
potato July 14, 2011
Capsicum annum Oct. 21, 2014
Arabidopsis lyrata Oct. 21, 2014
Thellungiella parvula Oct. 21, 2014
Eutrema salsugineum Oct. 21, 2014
Capsella grandiflora Oct. 21, 2014
Capsella rubella Oct. 21, 2014
Brassica rapa Oct. 21, 2014
Boechera stricta Oct. 21, 2014
Carica papaya May 16, 2008
Mimulus guttatus (monkeyflower) Oct. 21, 2014
Theobroma cacao Oct. 21, 2014
Gossypium.raimondii (cotton) Oct. 21, 2014
Citrus clementina (Clementine mandarin) July 1, 2014
Citrus sinensis (sweet orange) July 1, 2014
Eucalyptus grandis Oct. 21, 2014
Cucumis sativus (cucumber) Oct. 21, 2014
Citrulus lanatus (watermelon) Oct. 21, 2014
Prunus persica updated Oct. 21, 2014
Prunus persica (peach) older version April 25, 2013
Prunus mume (Korean apricot) Oct. 21, 2014
Malus domestica (apple) Oct. 21, 2014
Fragaria ananassa (strawberry) Oct. 21, 2014
Fragaria vesca (wild strawberry) Oct. 21, 2014
Cannabis sativa (marijuana) Oct. 21, 2014
soybean revised June 25, 2009
Medicago truncatula Nov. 9, 2006
Lotus japonicus Oct. 21, 2014
Cicer arietinum Oct. 21, 2014
Cajanus cajanifolius (pigeonpea) Oct. 21, 2014
Populus trichocarpa (black cottonwood) Sept. 15, 2006
Jatropha curcas Revised June 19, 2012
Ricinus communis (castor bean) Revised June 1, 2012
Manihot esculenta (cassava) Oct. 21, 2014
Linum usitatissimum (flax) Oct. 21, 2014
Vitis vinifera revised Sept. 24, 2007
Nelumbo nucifera (sacred lotus) Oct. 31, 2012
Nelumbo nucifera (sacred lotus) seq. file Oct. 31, 2012
Aquilegia coerulea (columbine) Oct. 21, 2014
Aquilegia coerulea (columbine) old version August 18, 2012
rice revised Sept. 19, 2007
Oryza brachyantha (wild rice) Oct. 21, 2014
Brachypodium distachyon Aug. 4, 2014
Setaria italica Oct. 21, 2014
Panicum virgatum Oct. 21, 2014
Triticum aestivum (wheat) Oct. 21, 2014
Sorghum bicolor New Jan. 13, 2011
Lolium rigidum (ryegrass)
Musa acuminata (banana) Oct. 21, 2014
Phoenix dactylifera (date palm) Oct. 21, 2014
Amborella trichopoda Revised Aug. 4. 2014
Pinus Jan. 2, 2004
ferns Sept. 12, 2006
Selaginella moellendorffii (Gemmiferous spike moss) revised May 11, 2011
Physcomitrella patens (moss) Nov. 8, 2005
Marchantia polymorpha (liverwort) Sept. 12, 2006
Chlamydomonas Sept. 2 2004
Volvox carteri colonial algae Sept 11, 2007
Chlorella vulgaris Oct. 21, 2014
Chlorella variabilis Oct. 21, 2014
Ostreococcus micro algae revised Oct. 21, 2014
Micromonas species April 13, 2009
Red Algae May 12, 2006
Fungi have expanded to a new page Aug. 7, 2009
Stramenopiles
also known as heterokonts or Chromista
Phytophthora ramorum July 26, 2004
Phytophthora sojae July 26, 2004
Diatom July 22, 2004
Alveolates
Paramecium tetrauralia April 16, 2004
Tetrahymena thermophila April 20, 2004
Mycetozoa
Dictyostelium discoideum June 2003
Trypanosoma brucei July 27, 2004
Trypanosoma cruzi July 27, 2004
Trypanosoma congolense July 28, 2004
Trypanosoma vivax July 28, 2004
Leishmania major July 27, 2004
Bacteria March 8, 2004
Bacteria plus Sargasso sequences March 8, 2004
These pages change frequently. Oct. 21, 2014
The sequence guru at work
David Nelson dnelson@uthsc.edu
My phone is (901) 448-8303 My FAX is (901) 448-7360
Royal Society Publishing has just published Cytochrome P450 and its impact on planet Earth, compiled and edited by David R Nelson. This content can be accessed at http://bit.ly/YKdQVL A print version is also available at the special price of 35 pounds. You can order online via the above web page (enter special code TB 1612 when prompted) or, alternatively you can contact debbie.vaughan@royalsociety.org.
The 10th International Symposium on Cytochrome P450 Biodiversity and Biotechnology
will be held in Woods Hole, Massachusetts, USA Oct. 3-7, 2010. A Link to the website
A new Cytochrome P450 Expression Database using Arabidopsis:
A Link to the CYPedia website
A Link to the CYPedia paper
The 9th International Symposium on Cytochrome P450 Biodiversity and Biotechnology
will be held in Nice, France June 8-12, 2008. A Link to the website
MDO2008, The 17th International Symposium on Microsomes and Drug Oxidations
will be held July 6 to 10, 2008, at Saratoga Springs, NY, USA. A Link to the website
A link to a figure showing the distribution of plant P450 families over plant phylogeny
part A clans 51-74
part B clans 85-746
was held in Swansea, Wales UK July 23-27 2006. A Link to the website
MDO2006, 16th International Symposium on Microsomes and Drug Oxidations
Will be held 3-7 September 2006, Budapest Hungary. A Link to the website
I have counted the number of named cytochrome P450s as of May 28, 2006. There are Animals = 2255, Plants = 1918, Bacteria = 629, Fungi = 1001, Lower eukaryotes = 205 sequences named. That is a total of 6008 different sequences. for a list of these sequences see P450 Stats Page
A BLAST server has been set up on a RedHat Linux machine to allow blast searching of selected P450 sets. There are 27 P450 sets to choose from. Only BLASTP or BLASTX work since this is a protein database. The server address is http://blast.uthsc.edu/ GO THERE NOW
THE CRYSTAL STRUCTURE OF CYP3A4, THE MOST PROLIFIC HUMAN DRUG METABOLISING P450, HAS BEEN SOLVED BY ASTEX.
SEE THE ASTEX PRESS RELEASE
A link to Comparative genomics of rice and Arabidopsis. Analysis of 727 Cytochrome P450 genes and pseudogenes from a monocot and a dicot. Plant Physiology 135, 756-772 2004
A link to Comparison of cytochrome P450 (CYP) genes from the mouse and human genomes Pharmacogenetics 14, 1-18 2004
A pdf version of Cytochrome P450 and the Individuality of Species. Archives Biochem. Biophys. 369, 1-10 1999
A pdf version of Comparison of P450s from Human and Fugu. Archives Biochem. Biophys. 409, 18-24 2003
A pdf version of Metazoan Cytochrome P450 Evolution. Comparative Biochem. Physiol. Part C 121, 15-22 1998
A pdf version of On the Topology of Vertebrate Cytochrome P450 Proteins. JBC 263, 6038-6050 1988
A link to P450 functions in plants an extensive listing with references. From the Plant Biotechnology Institute, National Research Council, Saskatoon, Saskatchewan CANADA
A link to an NPR story on drug interactions and CYP2D6
A link to an essay in in-cites.com
A link to my talk given in Los Angeles August 21, 2002
A link to my talk given in Sapporo July 26, 2002
A link to our bioinformatics course Jan. to May 2008
A link to our old bioinformatics course Jan. to May 2002
A set of links to this P450 homepage
A description of P450 written for the PIR database
A collection of mouse P450 sequences
Link to The Molecular History of Eukaryotic Life Project Announcement
Link to La Grande Motte P450 meeting in France September 11-15, 2001
P450 family count NEW
Discussions on bioinformatics with Archakovs group
Shameless speculation on P450 evolution in vertebrates
A link to the Bioinformatics course I am teaching
The Drosophila P450 Site at INRA Antibes, France
The Arabidopsis P450 Site in Denmark
Link to Biologically Reactive Intermediates Meeting PARIS; July 16-20, 2000
Plant P450s overlayed on plant taxonomy
A note on plant P450 evolution
Zea mays ESTs with P450s 39 P450 containing ESTs from Zea mays have been translated and sorted by family
A note on Cytochrome P450 Evolution in yeast and early eukaryotes
A commentary on my recent paper Metazoan Cytochrome P450 Evolution
A higher order nomenclature for P450s: Clans
An historical list of P450 name changes
A table of P450 accession numbers, (60k)
This is a list of all known cytochrome P450 accession numbers from PIR 44 (4/12/95)
SwissProt 31 (3/20/95) and GenBank 89 (6/9/95).
The following list is a familycount, (2k) This is a brief listing of the breakdown
of the 477 sequences in the alignment, how many families, subfamilies, how many
plant familes, mammalian families etc.
The number of genes in a given species is listed here last modified Dec. 3, 1998
The distribution of P450s in each family between major biological classes (mammals,
fish, birds ) is given here (3k)
A midwest P450 Symposium server
A European P450 WWW Server
Kirill Degtiarenko has also set up a cytochrome P450 WWW server in Trieste, Italy.
This server has features not included here, such as hyperlinks to the database
entries for Genbank and SwissProt accession numbers. He has some bibliographic
information that is different from the file maintained here. Some additional types of
sequences are also included, such as NADPH cytochrome P450 reductases and
NO synthases. To connect to Kirill's server click here.
The larger files of the alignments, the bibliography and the accession number table
will be posted on Kirill Degtiarenko's server to help those having difficulty in down-
loading these files from the UK and Europe. I can see from the usage log that many
of you have not been able to get these larger files intact.
A Protein Family Classification Server
MIPS (Martinsreid Institute for Protein Sequences) has a server that has sorted families
and superfamilies of proteins. These families are listed with their member's PIR
accession numbers, and alignments made by pileup can be obtained for the families.
The superfamily number for P450s is 0027.0 and this can be connected directly by
clicking here.
The accession number table in my server has all the PIR accession numbers in the
MIPS server, but they are hyperlinked there, so you can get the sequence entry
directly. The URL for the more general section of this server is
http://www.mips.biochem.mpg.de/www/programs/classification.html
to go there now click here.
For an equivalency table of the MIPS family numbers and the P450 nomenclature click here
For an obituary of Ryo Sato by Ron Estabrook click here
Disclaimer and copywrite notice, (2k)


Insurance terms and definitions from Comprehensive Insurance Services, LLC.
Coverages and benefits listed below may not be available in your state. If available, some optional coverages and benefits might be offered at an additional charge. Contact Comprehensive Insurance Services, LLC today to learn more.


Ty Lettau strikes again with the Ty Lettau video game heroes. Using a retro minimalist style, Ty Lettau creates portraits of your favorite childhood gaming buddies.
With some well-known characters such as Zelda, the Ninja Turtles, Yoda and both of the Mario bros, this series is definitely a home run on Ty Lettau's part.
Although these images are mostly gamer-friendly, they are sure to touch the hearts of the greater population as well. The characters depicted in the Ty Lettau video game heroes series shaped the technological habits of an entire generation.


text:
package org.apache.cassandra.io.util;

import org.apache.cassandra.utils.ByteBufferUtil;

import java.io.EOFException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
import java.util.Arrays;
import java.util.concurrent.Callable;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class BufferedRandomAccessFileTest
{
    @Test
    public void testReadAndWrite() throws Exception
    {
        BufferedRandomAccessFile file = createTempFile("braf");

        // writting string of data to the file
        byte[] data = "Hello".getBytes();
        file.write(data);
        assertEquals(file.length(), data.length);
        assertEquals(file.getFilePointer(), data.length);

        // reading small amount of data from file, this is handled by initial buffer
        file.seek(0);
        byte[] buffer = new byte[data.length];
        assertEquals(file.read(buffer), data.length);
        assertTrue(Arrays.equals(buffer, data)); // we read exactly what we wrote
        assertEquals(file.read(), -1); // nothing more to read EOF
        assert file.bytesRemaining() == 0 && file.isEOF();

        // writing buffer bigger than page size, which will trigger reBuffer()
        byte[] bigData = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE + 10];

        for (int i = 0; i < bigData.length; i++)
            bigData[i] = 'd';

        long initialPosition = file.getFilePointer();
        file.write(bigData); // writing data
        assertEquals(file.getFilePointer(), initialPosition + bigData.length);
        assertEquals(file.length(), initialPosition + bigData.length); // file size should equals to last position

        // reading written buffer
        file.seek(initialPosition); // back to initial (before write) position
        data = new byte[bigData.length];
        long sizeRead = 0;
        for (int i = 0; i < data.length; i++)
        {
            data[i] = (byte) file.read(); // this will trigger reBuffer()
            sizeRead++;
        }

        assertEquals(sizeRead, data.length); // read exactly data.length bytes
        assertEquals(file.getFilePointer(), initialPosition + data.length);
        assertEquals(file.length(), initialPosition + bigData.length);
        assertTrue(Arrays.equals(bigData, data));
        assert file.bytesRemaining() == 0 && file.isEOF(); // we are at the of the file

        // test readBytes(int) method
        file.seek(0);
        ByteBuffer fileContent = file.readBytes((int) file.length());
        assertEquals(fileContent.limit(), file.length());
        assert ByteBufferUtil.string(fileContent).equals("Hello" + new String(bigData));

        // read the same buffer but using readFully(int)
        data = new byte[bigData.length];
        file.seek(initialPosition);
        file.readFully(data);
        assert file.bytesRemaining() == 0 && file.isEOF(); // we should be at EOF
        assertTrue(Arrays.equals(bigData, data));

        // try to read past mark (all methods should return -1)
        data = new byte[10];
        assertEquals(file.read(), -1);
        assertEquals(file.read(data), -1);
        assertEquals(file.read(data, 0, data.length), -1);

        // test read(byte[], int, int)
        file.seek(0);
        data = new byte[20];
        assertEquals(file.read(data, 0, 15), 15);
        assertTrue(new String(data).contains("Hellodddddddddd"));
        for (int i = 16; i < data.length; i++)
        {
            assert data[i] == 0;
        }

        // try to seek past EOF
        file.seek(file.length() + 10); // should not throw an exception
        assert file.bytesRemaining() == 0 && file.isEOF();

        file.close();
    }

     @Test
    public void testReadsAndWriteOnCapacity() throws IOException
    {
        File tmpFile = File.createTempFile("readtest", "bin");
        BufferedRandomAccessFile rw = new BufferedRandomAccessFile(tmpFile, "rw");

        // Fully write the file and sync..
        byte[] in = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE];
        rw.write(in);

        // Read it into a same size array.
        byte[] out = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE];
        rw.read(out);

        // We're really at the end.
        long rem = rw.bytesRemaining();
        assert rw.isEOF();
        assert rem == 0 : "BytesRemaining should be 0 but it's " + rem;

        // Cannot read any more.
        int negone = rw.read();
        assert negone == -1 : "We read past the end of the file, should have gotten EOF -1. Instead, " + negone;

        // Writing will succeed
        rw.write(new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE]);
        // Forcing a rebuffer here
        rw.write(42);
    }

    @Test
    public void testLength() throws IOException
    {
        File tmpFile = File.createTempFile("lengthtest", "bin");
        BufferedRandomAccessFile rw = new BufferedRandomAccessFile(tmpFile, "rw");
        assertEquals(0, rw.length());

        // write a chunk smaller then our buffer, so will not be flushed
        // to disk
        byte[] lessThenBuffer = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE / 2];
        rw.write(lessThenBuffer);
        assertEquals(lessThenBuffer.length, rw.length());

        // sync the data and check length
        rw.sync();
        assertEquals(lessThenBuffer.length, rw.length());

        // write more then the buffer can hold and check length
        byte[] biggerThenBuffer = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE * 2];
        rw.write(biggerThenBuffer);
        assertEquals(biggerThenBuffer.length + lessThenBuffer.length, rw.length());

        // checking that reading doesn't interfere
        rw.seek(0);
        rw.read();
        assertEquals(biggerThenBuffer.length + lessThenBuffer.length, rw.length());

        rw.close();

        // will use cachedlength
        BufferedRandomAccessFile r = new BufferedRandomAccessFile(tmpFile, "r");
        assertEquals(lessThenBuffer.length + biggerThenBuffer.length, r.length());
        r.close();
    }

    @Test
    public void testReadBytes() throws IOException
    {
        final BufferedRandomAccessFile file = createTempFile("brafReadBytes");

        byte[] data = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE + 10];

        for (int i = 0; i < data.length; i++)
        {
            data[i] = 'c';
        }

        file.write(data);

        file.seek(0);
        ByteBuffer content = file.readBytes((int) file.length());

        // after reading whole file we should be at EOF
        assertEquals(ByteBufferUtil.compare(content, data), 0);
        assert file.bytesRemaining() == 0 && file.isEOF();

        file.seek(0);
        content = file.readBytes(10); // reading first 10 bytes
        assertEquals(ByteBufferUtil.compare(content, "cccccccccc".getBytes()), 0);
        assertEquals(file.bytesRemaining(), file.length() - content.limit());

        // trying to read more than file has right now
        expectEOF(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                return file.readBytes((int) file.length() + 10);
            }
        });

        file.close();
    }

    @Test
    public void testSeek() throws Exception
    {
        final BufferedRandomAccessFile file = createTempFile("brafSeek");
        byte[] data = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE + 20];
        for (int i = 0; i < data.length; i++)
        {
            data[i] = 'c';
        }

        file.write(data);
        assert file.bytesRemaining() == 0 && file.isEOF();

        file.seek(0);
        assertEquals(file.getFilePointer(), 0);
        assertEquals(file.bytesRemaining(), file.length());

        file.seek(20);
        assertEquals(file.getFilePointer(), 20);
        assertEquals(file.bytesRemaining(), file.length() - 20);

        // trying to seek past the end of the file
        file.seek(file.length() + 30);
        assertEquals(file.getFilePointer(), data.length + 30);
        assertEquals(file.getFilePointer(), file.length()); // length should be at seek position
        assert file.bytesRemaining() == 0 && file.isEOF();

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                file.seek(-1);
                return null;
            }
        }, IllegalArgumentException.class); // throws IllegalArgumentException

        file.close();
    }

    @Test
    public void testSkipBytes() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafSkipBytes");
        byte[] data = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE * 2];

        file.write(data);
        assert file.bytesRemaining() == 0 && file.isEOF();

        file.seek(0); // back to the beginning of the file
        assertEquals(file.skipBytes(10), 10);
        assertEquals(file.bytesRemaining(), file.length() - 10);

        int initialPosition = (int) file.getFilePointer();
        // can't skip more than file size
        assertEquals(file.skipBytes((int) file.length() + 10), file.length() - initialPosition);
        assertEquals(file.getFilePointer(), file.length());
        assert file.bytesRemaining() == 0 && file.isEOF();

        file.seek(0);

        // skipping negative amount should return 0
        assertEquals(file.skipBytes(-1000), 0);
        assertEquals(file.getFilePointer(), 0);
        assertEquals(file.bytesRemaining(), file.length());

        file.close();
    }

    @Test
    public void testGetFilePointer() throws IOException
    {
        final BufferedRandomAccessFile file = createTempFile("brafGetFilePointer");

        assertEquals(file.getFilePointer(), 0); // initial position should be 0

        file.write(new byte[20]);
        assertEquals(file.getFilePointer(), 20); // position 20 after writing 20 bytes

        file.seek(10);
        assertEquals(file.getFilePointer(), 10); // after seek to 10 should be 10

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                file.seek(-1);
                return null;
            }
        }, IllegalArgumentException.class);

        assertEquals(file.getFilePointer(), 10);

        file.seek(30); // past previous end file
        assertEquals(file.getFilePointer(), 30);

        // position should change after skip bytes
        file.seek(0);
        file.skipBytes(15);
        assertEquals(file.getFilePointer(), 15);

        file.read();
        assertEquals(file.getFilePointer(), 16);
        file.read(new byte[4]);
        assertEquals(file.getFilePointer(), 20);

        file.close();
    }

    @Test
    public void testGetPath() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafGetPath");
        assert file.getPath().contains("brafGetPath");
    }

     @Test
    public void testIsEOF() throws IOException
    {
        for (String mode : Arrays.asList("r", "rw")) // read, read+write
        {
            for (int bufferSize : Arrays.asList(1, 2, 3, 5, 8, 64))  // smaller, equal, bigger buffer sizes
            {
                final byte[] target = new byte[32];

                // single too-large read
                for (final int offset : Arrays.asList(0, 8))
                {
                    final BufferedRandomAccessFile file = new BufferedRandomAccessFile(writeTemporaryFile(new byte[16]), mode, bufferSize);
                    expectEOF(new Callable<Object>()
                    {
                        public Object call() throws IOException
                        {
                            file.readFully(target, offset, 17);
                            return null;
                        }
                    });
                }

                // first read is ok but eventually EOFs
                for (final int n : Arrays.asList(1, 2, 4, 8))
                {
                    final BufferedRandomAccessFile file = new BufferedRandomAccessFile(writeTemporaryFile(new byte[16]), mode, bufferSize);
                    expectEOF(new Callable<Object>()
                    {
                        public Object call() throws IOException
                        {
                            while (true)
                                file.readFully(target, 0, n);
                        }
                    });
                }
            }
        }
    }

    @Test
    public void testNotEOF() throws IOException
    {
        assertEquals(1, new BufferedRandomAccessFile(writeTemporaryFile(new byte[1]), "rw").read(new byte[2]));
    }

    @Test
    public void testBytesRemaining() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafBytesRemaining");
        assertEquals(file.bytesRemaining(), 0);

        int toWrite = BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE + 10;

        file.write(new byte[toWrite]);
        assertEquals(file.bytesRemaining(), 0);

        file.seek(0);
        assertEquals(file.bytesRemaining(), toWrite);

        for (int i = 1; i <= file.length(); i++)
        {
            file.read();
            assertEquals(file.bytesRemaining(), file.length() - i);
        }

        file.seek(0);
        file.skipBytes(10);
        assertEquals(file.bytesRemaining(), file.length() - 10);

        file.close();
    }

    @Test
    public void testBytesPastMark() throws IOException
    {
        File tmpFile = File.createTempFile("overflowtest", "bin");
        tmpFile.deleteOnExit();

        // Create the BRAF by filename instead of by file.
        final BufferedRandomAccessFile rw = new BufferedRandomAccessFile(tmpFile.getPath(), "rw");
        assert tmpFile.getPath().equals(rw.getPath());

        // Create a mark and move the rw there.
        final FileMark mark = rw.mark();
        rw.reset(mark);

        // Expect this call to succeed.
        rw.bytesPastMark(mark);
    }

    @Test
    public void testClose() throws IOException
    {
        final BufferedRandomAccessFile file = createTempFile("brafClose");

        byte[] data = new byte[BufferedRandomAccessFile.DEFAULT_BUFFER_SIZE + 20];
        for (int i = 0; i < data.length; i++)
        {
            data[i] = 'c';
        }

        file.write(data);
        file.close();

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                return file.read();
            }
        }, ClosedChannelException.class);

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                file.write(new byte[1]);
                return null;
            }
        }, ClosedChannelException.class);

        BufferedRandomAccessFile copy = new BufferedRandomAccessFile(file.getPath(), "r");
        ByteBuffer contents = copy.readBytes((int) copy.length());

        assertEquals(contents.limit(), data.length);
        assertEquals(ByteBufferUtil.compare(contents, data), 0);
    }

    @Test
    public void testMarkAndReset() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafTestMark");
        file.write(new byte[30]);

        file.seek(10);
        FileMark mark = file.mark();

        file.seek(file.length());
        assertTrue(file.isEOF());

        file.reset();
        assertEquals(file.bytesRemaining(), 20);

        file.seek(file.length());
        assertTrue(file.isEOF());

        file.reset(mark);
        assertEquals(file.bytesRemaining(), 20);

        file.seek(file.length());
        assertEquals(file.bytesPastMark(), 20);
        assertEquals(file.bytesPastMark(mark), 20);

        file.reset(mark);
        assertEquals(file.bytesPastMark(), 0);

        file.close();
    }

    @Test (expected = AssertionError.class)
    public void testAssertionErrorWhenBytesPastMarkIsNegative() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafAssertionErrorWhenBytesPastMarkIsNegative");
        file.write(new byte[30]);

        file.seek(10);
        file.mark();

        file.seek(0);
        file.bytesPastMark();
    }

    @Test
    public void testReadOnly() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafReadOnlyTest");

        byte[] data = new byte[20];
        for (int i = 0; i < data.length; i++)
            data[i] = 'c';

        file.write(data);
        file.sync(); // flushing file to the disk

        // read-only copy of the file, with fixed file length
        final BufferedRandomAccessFile copy = new BufferedRandomAccessFile(file.getPath(), "r");

        copy.seek(copy.length());
        assertTrue(copy.bytesRemaining() == 0 && copy.isEOF());

        // can't seek past the end of the file for read-only files
        expectEOF(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                copy.seek(copy.length() + 1);
                return null;
            }
        });

        /* Any write() call should fail */
        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                copy.write(1);
                return null;
            }
        }, IOException.class);

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                copy.write(new byte[1]);
                return null;
            }
        }, IOException.class);

        expectException(new Callable<Object>()
        {
            public Object call() throws IOException
            {
                copy.write(new byte[3], 0, 2);
                return null;
            }
        }, IOException.class);

        copy.seek(0);
        copy.skipBytes(5);

        assertEquals(copy.bytesRemaining(), 15);
        assertEquals(copy.getFilePointer(), 5);
        assertTrue(!copy.isEOF());

        copy.seek(0);
        ByteBuffer contents = copy.readBytes((int) copy.length());

        assertEquals(contents.limit(), copy.length());
        assertTrue(ByteBufferUtil.compare(contents, data) == 0);

        copy.seek(0);

        int count = 0;
        while (!copy.isEOF())
        {
            assertEquals((byte) copy.read(), 'c');
            count++;
        }

        assertEquals(count, copy.length());

        copy.seek(0);
        byte[] content = new byte[10];
        copy.read(content);

        assertEquals(new String(content), "cccccccccc");

        file.close();
        copy.close();
    }

    @Test
    public void testSeekPastEOF() throws IOException
    {
        BufferedRandomAccessFile file = createTempFile("brafTestSeekPastEOF");
        file.seek(1);
        file.write(1);
        file.seek(0);
        assertEquals(0, file.read());
        assertEquals(1, file.read());
    }

    private void expectException(Callable<?> callable, Class<?> exception)
    {
        boolean thrown = false;

        try
        {
            callable.call();
        }
        catch (Exception e)
        {
            assert e.getClass().equals(exception) : e.getClass().getName() + " is not " + exception.getName();
            thrown = true;
        }

        assert thrown : exception.getName() + " not received";
    }

    private void expectEOF(Callable<?> callable)
    {
        expectException(callable, EOFException.class);
    }

    private BufferedRandomAccessFile createTempFile(String name) throws IOException
    {
        File tempFile = File.createTempFile(name, null);
        tempFile.deleteOnExit();

        return new BufferedRandomAccessFile(tempFile, "rw");
    }

    private File writeTemporaryFile(byte[] data) throws IOException
    {
        File f = File.createTempFile("BRAFTestFile", null);
        f.deleteOnExit();
        FileOutputStream fout = new FileOutputStream(f);
        fout.write(data);
        fout.getFD().sync();
        fout.close();
        return f;
    }
}

redpajama_set_name: RedPajamaGithub


Artists each have their own special relationship to their muse – the magic, mysterious, unpredictable force that inspires them to create their work. And while each relationship is unique, all artists go through similar processes with their muse: at the start, a beautiful dream or idea, something vague and interesting – 'inspiration' perhaps. Then follows the hard work; which can be draining and frustrating or exciting and challenging. Artists sometimes quit here, but if they continue, they eventually reach completion – a measured, well-rehearsed calmness where everything seems to fall into place.
This short film is intended to represent that process. Whether you are creating or learning or rehearsing, you are not alone in this process, and it's never wasted effort. Trust the process, and most importantly: enjoy the process, because the truth of any work is not the end product but the work that it took to create it.
Continuing on from their previous collaborations choreographer Jennifer Drotz Ruhn, photographer Brian Vass and composer Stuart Docherty have once again set out to explore the remote Scottish countryside. With the objective to delve into a surreal and dreamlike space, the trio creates a solitary picture of unease and tension set in a vast, bleak landscape.
Exhausted of trying to be who you are. Simultaneously the victim and perpetrator. As ones own parasite. A film that portrays the dorsal state of the increasingly common symptom of Chronic fatigue / depression.
DO YOU KNOW WHAT TIME IT IS RIGHT NOW?
Kajsa has a tendency to focus on the future, loose her mind in times ahead of the one right now. Let the present slip away. Wander in other times. Live ahead of the present moment. "What present?" she asks, and you might ask yourself the same thing. When are you ever completely present?
Is the expansion of an interdisciplinary performance with the same title by Benedikte Esperi, first performed at Teater Trixter in Gothenburg at the SOLO Festival 2014. At that time it was the year of election in Sweden and freedom of speech was on the agenda. ABOUT FREEDOM has changed over time, places and contexts, exploring how freedom of speech, artistic freedom and choreographic restrictions can be articulated through numerous performative ways.
A short contemporary dance film in an old water tower in Malmö, Sweden.
Black Island is a meditative dance film where nature and mankind exists on equal terms. Together with Matthew Bournes melancholic soundscapes we follow a lonely woman on physical journey. The film was recorded on the Faroe Islands.
The journey begins and will lead us to invisible stops, to loving couples who care for themselves, adults looking for independence, will take us on paths suspended by waiting, crosses where the dance shows their cunning and stops where humanity is in doubt.
Through the dance we will show the strength of the protagonists who must stand daily in this wild world that does not stop for anyone, the perseverance they have in their lives, their intimate struggles won and lost, as well as the deep sensitivity that each of them has. A real journey in which we all go together daily, despite a certain invisibility that is created between us. The protagonists will make a trip around the city, teaching to the audience the beautiful road that leads to the real inclusion of people in situation of disability.
No matter how far you travel, your past stays with you. And it can become a source strength.
In the short documentary Borderline, we meet Lynn Shaw, a charismatic dancer from Aberdeen. After suffering a long history of turbulent life events, Lynn starts to use dance to explore her Borderline Personality Disorder.
Combining poetry, dance, and cinematography in a campaign against gender inequality; "Nasty Woman" is a response to social injustices while advocating for change.
An improvised dance performance by Paul Vickers, based on the poem "Dreamland" by Lewis Carroll. Created from a unique collaborative process, wherein a poem was interpreted by a voice-over artist, who passed their work on to a composer – who created a score based on the emotional rendering of the text – the final composition of which was passed off to the dancer, allowing his movement and physicality to be a pure conduit to the emotional and thematic undertones present in the musical interpretation.
Based on a dream to bring Two Women together to create a collaboration that celebrated the joy of being alive, "Double Up" is a powerful conversation, through music and dance : Nedra Wheeler on bass and voice, and Kyreeana Breelin tap dancer. This is the stepping stone for the creation of live performance and other projects to come.
A man in white-winged angel shoes awakes in infinite black to the strains of Liszt's "Dance of the Dead".
Socially, the big sense of identity, of gender, of finding a role in the closest environment, makes us living prisoners from each other. Why is so important how we are seen? Why we take so much trouble in the fight of liking, in power and control? Gender defines us, but the comparative between men and women that marks our culture jails us. This fight between femenine and masculine duality is what QUADRANT wants to transmit, and it makes it in the alabaster's quarry la Coma-Ral, a life environment surronded by the memory of those MEN who in 1917 occuped and extracted the stone with their own hands. Year of revolutions, year of fights for achieving fonamental rights such as the equality between each others. It has been 100 years, and like Sarral is celebrating the centenary from the aperture of the first modern alabaster workshop in the village, an event that created a unique artistic tradition that today is still alive; we have to still fighthing for a fair and equal world.
Querencia is a Spanish metaphysical concept for a place, literal and figurative, from which a person derives strength and character. This dance film explores the intersection of identity and geography. In particular, the movement and imagery examine how ideas of 'home' both play into and detract from the concept of Querencia. As a solo dancer explores both her literal and imagined surroundings, she wrestles with how her sense of identity relates to place.
A young couple struggles with their long term passionate relationship.
A group of dancers move expressively in a surreal scenario filled with mountains of dust and stones. Through sound, dance movements and a magical atmosphere, "Ruins" unveils the beauty of chaos and celebrates the inherent uncertainty and instability of our lives.
Inspired by Greek mythology, French filmmaker Steven Briand has collaborated with choreographer Cathy Ematchoua to create this breathtaking short of acrobatic dance performances in highly aesthetic kaleidoscopic movements.
SOLUS is an experiment about perfection. It is an experiment rooted in the striving for the synchronous and the aim for being alike or to live up to certain standards that we experience in the world of today in terms of physical appearance, social status, career and personal life.
All roles are performed by the same dancer, which serves as an experiment on synchronicity and being alike as well as it serves as a subtle, poetic and symbolic comment on our time.
SOLUS is the latest in a series of artistic comments on society by Danish choreographer Simone Wierød, who uses her choreographic practice as a tool to understand and debate the present time.
With SOLUS, she wishes to address a debate on the aims and ideals of modern society with an experiment that takes current tendencies to the extreme, with a poetic, physical and choreographic approach.
Manada is the first part of a series of dance works videos, which aproaches this concept, in order to observe ourselves in our own group behaviors and regain the sense of link, through movement. It is at the same time a question, that hopes to answer, if dance is a privileged place to reach this condition, inquiring in the insistence of movement.
The Wayward Wind uses movement and humor to turn the idea of the "rambling man" on it's head.
Director: Steve Delahoyde & Monica Thomas / Choreographer: Monica Thomas / Dancer: Angela Luem, Danielle Gilmore and Michael O'Niell / Music: Carl Sondrol.
San Francisco's ever-present fog is the inspiration for this otherworldly and ethereal study of dance, light and space.
Akasha: the all-embracing fifth element. It moves effortlessly on the shores of the world. It overcomes gravity, explores the deepest of waters and fuels with its power the eternal flame of life. Akasha knows no space, no time, no fixed form.
We do not share pains and failures. So vanity is the price to be paid. Such a move made vanity a virtue, no longer the capital sin of pride. Bringing among its characteristics immortality. We are the civilization that put death aside. Therefore, the idea of VANITAS is to exhort the viewer to consider mortality. Pondering about death is, paradoxically, pondering about life and the "temptations." There is no end. This is the drama.
In Bosch's hell, she was condemned to look at her own reflection. Forever. Condemned by her vanity, she is vanity. She wanders through the darkness of the Garden of Earthly Delight. She is empty. She is Vanitas.
A latin noun that means "empitness" and "vanity. And thus travel to a view of earthly life and the worthless nature of all earthly goods and pursuits. Paying for the sin of vanity.
This short dance film features a mysterious and ambiguous masked figure embodying both animalistic and human characteristics as it travels across the country in search of home and self. InterState is an investigation of identity, migration, and displacement, set against the backdrop of America's most dramatic and dynamic landscapes. From Seattle and St. Louis to Mt. Rushmore and variously magnificent national parks, InterState explores the connection (or lack thereof) between living organisms and habitat, at every turn questioning the idea of a "natural environment." What do we carry with us when we move—literally? Each new location, each new scene provides an opportunity for the soloist to unearth a symbiotic way of moving in relation to the environment while simultaneously maintaining a sense of self, physically holding onto idiosyncrasies regardless of place, space, or time. By the film's end, the audience is caught up in the soloist's journey, bound to the rhythmic sense of timing created as the singular body carved space—and identity—in each terrain it inhabited.
From the firing of the first electrons to the cosmic journey across space. Blown Away traces the genesis and impact of sound waves on a waiting listener.
Nine dancers and singers travel across open farmlands, parched roads, and moonlit fields to find refuge in an abandoned place of worship. Through a complex series of Turkish usul patterns designed to ignite emotional states of journey and light, the group finds connection within their company and solace in the sheltered space.
A man and a woman inhabit the same surreal location though not, apparently, at the same time. Marta Renzi directs this black-and-white meditation on memory and absence, joined by long-time collaborators Charles Caster-Dudzick (camera), as well as Aislinn MacMaster & David Thomson (performers). With a nod to the sound score for Andrei Tarkovsky's Stalker and a location inspired by Joelle Bouvier and Regis Obadia's La Chambre.
A man and a woman get to know each other by play fighting. As attraction builds up, they try not to break the rules of the game. What starts as something fun and legit becomes increasingly tensed and risky. What happens when each of them wants to push the boundaries but can't indulge at the same time? It's all fun and games until someone loses one's mind.
Featuring the Bat Sheva Dance Company ensemble, this short film imparts an atmosphere of "parental absence" as the dancers make creative use of the space – an abandoned building, combining planned and improvised choreography.
A visual abstract poetry of the human being confronted with nature, the machine and himself.
A short dance film that explores notions of identity where the search to belong unites you as one.
This short dance film presents a collection of rhythmic and witty scenarios capturing the adventurous world of Freefall Dance Company.
Dance for Camera film featuring Freefall Dance Company, and was commissioned by Mencap as part of their 2012 Cultural Olympiad project, We Dance.
A lady in her forties sitting in the park. Suddenly the impulse of movement appears. She tries to control it but then timidly she lets it develops. It simply happens..
RHYTHMANIA is a short dance screen taking its startingpoint in the genre of Swedish folk music and dance and its relation to rhythm and groove as concepts of togetherness, communication, desire and compulsion. As well as the risk taking and friction that those acts put at stake.
Dancing. The exploration of the world and of ourself to understand the ultimate meaning of movement. Fierce battles fought against our demons to experience our fears. A brief and eternal journey towards the unknown to reach a small moment of freedom.
Marta Kosieradzka sees the city as a living body, it is created by people and shaped everyday from the beginning by their dreams, actions and desires.
Warsaw is a city with very complex and rich history, it is often called "The city that survived it's own death", suffering plenty of historical events (WW2, Uprisings, Communism…). She always thinks if a city can rise from something like that to what it is today it shows amazing hope and ability to rebuilt the city tissue.
But be careful what you say about my choices 'cause it takes less than a minute for an agitated, unsettled cup to overflow…and then you will accuse me again of being libertine, rebellious, angry, simpering and unnatural".
A one minute video dedicated to the deviant, extravagant, whimsical, insolent, indocile, irritable, naughty, talkative, incoherent, depressed, chatty, simpering, flirtatious, unconventional, irascible, impulsive women interned in Sant'Antonio Abate mental hospital during Italian Fascism. Women who have not been able to "fulfill" the roles of mother- housewife- fieldworker as imposed by the oppressive patriarchal society.
In my experience, almost everyone who grows up in Asia, especially in Taiwan, is under academic pressure. There is keen competition surrounding academic performance. We are expected to go to the library, study and research, gather knowledge and obtain higher educational degrees over taking part in regular physical exercise.
Body of Knowledge can be seen as mimic ontology for this observation, or, otherwise described, a playful study through its representation in dance of the phenomenon of competitive pursuit of knowledge and its relation to the underlying principles of human experience.
The concept of Body of Knowledge draws from the interplay between the sum of immaterial and evolving human knowledge and its physical manifestations that propel human progress. These physical manifestations can be represented by the expressions of the human body. By using the body in this way we counter the utilitarian attainment of knowledge – our purpose is reflective, unnecessary. In this way my film is more than a collection of physical terms and corporal information, or a reading list of flesh and blood.
It is a game played from a book within a library.
Let yourself to the wind, to the light, the moment. Get attracted, locked-in, invited, caressed, choked, seduced, loved, lightheaded, surrounded, trapped, released, hypnotized. Feel yourself, breath, surrender. An intervention with 'Black Pearls Curtain', 2004 by Olaf Nicolai.
There is a squeezed woman and her spirit inviting her to dance. Who wants to be a woman?
Single shot where the camera follows the dancer while the dancer follows the camera and both draw circles around the table of memories. The old gramophone and its repetitive rhythm create another cyclical movement. Does such a thing as a straight line exist?
A moment of seeing on the outside what exists on the inside.
In the theory of relativity, time dilation is a difference of elapsed time between two events as measured by observers either moving relative to each other or differently situated from a gravitational mass or masses.
A clock at rest with respect to one observer may be measured to tick at a different rate when compared to a second observer's clock. This effect arises neither from technical aspects of the clocks nor from the propagation time of signals, but from the nature of space-time.


For this setup, you need headphones, a microphone, and an Internet connection. I use a Blue Snowball USB microphone, which is affordable, sturdy, and great quality for just recording a podcast.
Anybody who's played with audio stuff in Linux knows that it's a total mess. I'm not going to try to explain it all in detail because I'll get it wrong, and even this section I'm probably going to get wrong. Feel free to correct me loudly in the comments. There are two very common audio interfaces that we have to deal with. First is ALSA, which is the Advanced Linux Sound Architecture and is the hardware driver layer of the audio system. Next is PulseAudio, which is a sound server that abstracts the hardware layer.
The bits you're interested in are the "Name" for the analog-stereo.monitor entry and the analog-mono entry. In my example, you will find them on lines 3 and 11. Save those for the next step.
Because we're going to use an ALSA-compatible tool for recording, we need to configure ALSA to talk to PulseAudio (which then talks to ALSA again on the backend — like I said, audio is confusing in Linux and I'm sorry that either of us has to spend any time thinking about it). You will want to open $HOME/.asoundrc and add the following entries.
You will see that on lines 4 and 9, I used the name of the system monitor PulseAudio device from the previous step. Likewise, on lines 15 and 20, I used the name for the USB microphone device.
I won't strongly recommend any particular voice or video chat software in Linux over another. There are a few good ones I've used, such as Google Hangouts and Zoom. I've used Google Voice to record phone calls, too. Skype has been problematic for me, with lots of drop-outs and weird volume issues, but that could just be my setup. You will need to experiment and find out which works best for you.
At the "ecasound" prompt, type "start" to begin recording. When you are done, type "stop" and then "quit". Your microphone audio will be in ecatrack1.wav and your computer system audio will be in ecatrack2.wav.
This setup essentially uses two different hardware devices to record audio, so it will have one glaring problem: no two hardware timing clocks are the same. Both are sampling at 44.1kHz, but the crystals used to do the timing will never exactly be at 41,000 samples per second. The variation compounds over time, so for long recordings you will notice unusual lag. This is probably why so many podcasters go for an external hardware solution. But if all you've got is a USB microphone and the truth, a software solution will have to do for now.
I hope this helps you do better, smarter podcasting. Podcasting in Linux is tricky. There aren't a lot of good tutorials out there, so you'll still have to figure a lot out on your own. If you have tips or tutorials that helped you out, please include them in the comments below! I certainly need them.


Tableau Developer Washington DC GC / Citizens Looking for candidate who possess in-depth knowledge of Business Intelligence program and develop dashboards, solve technical issues, and provide Tableau user support for one of our Federal Client. The staff will work under the direction of the Client&39;s Business Intelligence Team Lead. The specific duties include but are not necessarily limited to the following: • Maintain up-to-date knowledge of best practices in data visualization and BI including but not limited to knowledge of cutting-edge features of Tableau versions 10.0 and higher. • Develop materials for and train users at the Bureau to implement best practices in Tableau, including both Tableau Desktop and Tableau Server versions 10.0 and higher. • Work with Bureau staff to develop requirements for Tableau reports. Develop dashboards, visualizations and reports based on those requirements. Create and deploy dashboards to Tableau server in accordance with client needs. • Field business-related questions through exploratory data analysis such as statistical or geo-spatial analysis, and develop ad-hoc reporting. • Identify relevant data sources and manipulate data to develop dashboards, visualizations and reports. • Extract and integrate data from multiple sources including relational databases, NoSQL environments and flat files into the reporting workflow by writing appropriate queries. • Work with end users to identify requirements for data sources and coordinate with Data Operations and Data Architecture teams to develop and optimize queries on those data sources for reporting needs. • Assess, recommend, and help implement enhancements to the business intelligence technical architecture to keep pace with changing business demands, scale and new software releases. • Work closely with systems administrators, technical support staff and others to identify, diagnose, track and resolve complex technical issues in both Tableau Desktop and Tableau Server. • Manage and track end user requests for BI related software and software upgrades. • Manage and track end user requests for deploying dashboards and changing permissions to dashboards on Tableau Server. • Identify and implement process improvements for how the BI team interacts with end users. • Develop project plans for BI team initiatives, track progress against those plans, develop status reports, and communicate project status with stakeholders. • Work with BI staff to coordinate and prioritize work. Evaluation Requirement: • Send us a packaged (dynamic) workbook saved as Tableau version 2018.2 or earlier. • Submit most recent Tableau workbook demonstrating their capabilities that does not have sensitive data, even if it isn't from the current client • Provide (static) PDFs of a Tableau Workbook they designed with the sensitive data removed or "whited-out". This won't show us any calculations they've embedded or some of the interactive features but it will show us their design perspective.


text:
Qu Xiaosong (瞿小松, auch Qu Xiao-Song) (* 6. September 1952 in Guiyang, Provinz Guizhou, Südwestchina) ist ein chinesischer Komponist. Seine klangsinnliche Musik ist eine Synthese von Natur und Kultur, aber auch eine Verschmelzung von Westlichem und Fernöstlichem.

Leben
Qu Xiaosong war 14 Jahre alt, als in China die Kulturrevolution ausbrach. Er musste vier Jahre als Landarbeiter bei Bauern im entlegenen Mio arbeiten. Wie kaum ein anderer chinesischer Komponist ist er von dieser Erfahrung bis heute tief geprägt. Qu schloss 1983 sein Studium am Central Conservatory of Music in Peking ab. Danach  entsteht eine Reihe von Werken, die ganz aus dem Geist der chinesischen Volksmusik entstanden sind, etwa die drei Kantaten: Mong Dong (1986), Cleaving the Coffin (1987) nach einer Legende über den chinesischen Philosophen Zhuangzi und Mist (1991). 1989 wurde er vom Center for US-China Arts Exchange der Columbia University New York zu einem Stipendium eingeladen; seitdem lebt er in New York City. 1990 begann er seinen siebenteiligen Werkzyklus Ji (Stille). Stille ist hier nicht allein die Pause wie oftmals in der westlichen Musik, sondern die Stille ist das wichtigste musikalische Ereignis selbst. Qu Xiaosong bekam Aufträge vom Holland Festival, dem American Composers Forum, dem Hong Kong Chinese Orchestra und der Musica Viva Boston. Seine Opern Oedipus und The Death of Oedipus feierten 1993 und 1994 Uraufführung in Stockholm bzw. Amsterdam; seine Kammeroper The Test wurde 2004 von der Münchener Biennale und der Zeitgenössischen Oper Berlin in Auftrag gegeben und im Mai 2004 uraufgeführt. Qu Xiao-song unterrichtet am Konservatorium Shanghai Komposition.

Werke (Auswahl)

Kammermusik
 String Symphony für Streichorchester (1981)
 Konzert für Violoncello und Kammerorchester (1985)
 Ji No. 1 für gemischtes Ensemble (1990)
 Ji No. 2: Floating Clouds für gemischtes Quartett, Koto oder Sho und Ensemble (1995)
 Ji No. 3: Silent Mountain für Sologitarre, Koto oder Sho (1994)
 Ji No. 4: Bare Land für Schlagzeug solo (1996)
 Ji No. 5: Broken Stone für Koto oder Sho und gemischtes Ensemble (1996)
 Ji No. 6: Flowing Sands für gemischtes Ensemble und Schlagzeugensemble (1997)
 Ji No. 7: Motionless Water für Solovioline oder Violoncello (1997)
 Lam Mot für Schlagzeugensemble (1991)
 Xi für Schlagzeugensemble (1991)
 Cursive für Violoncello und Schlagzeugensemble (2001)

Orchesterwerke
 The Mountain (1983)
 Konzert für Violoncello und Orchester (1985)
 Huan (1985)
 Sinfonie Nr. 1 (1986)
 The Girl of the Mountain für Solostreicher und Orchester (1992)

Vokalwerke
 Mong Dong für tiefe Stimme und Ensemble (1984)
 Fang Yan Kou für tiefe Stimme und Ensemble (1987)
 Mist für Vokalsolisten und Ensemble (1991)
 Mist 2 für hohe Stimme und Ensemble (1991)
 Mist 3 für hohe Stimme und Ensemble (1991)
 Weisst du wie der Regen klingt.../Rain für gemischten Chor und Ensemble (1999)

Oratorien/Opern
 Cleaving the Coffin (Oratorium für gemischten Chor, Solisten und Ensemble, 1987)
 Oedipus (1992)
 The Death of Oedipus (1993)
 The Test (Versuchung, 2003)

Literatur

Weblinks

 Peermusic Classical GmbH – Biographie
 Münchener Biennale – Programmtext zur Oper Versuchung

Einzelnachweise

Komponist klassischer Musik (20. Jahrhundert)
Komponist klassischer Musik (21. Jahrhundert)
Chinese
Geboren 1952
Mann


text:
Acres & Oak Kitchen
Take the night off with dinner from Acres & Oak Kitchen… a familiar business to Macon with a brand new name. Formerly known as The Casserole Shop, all of the cuisine at Acres & Oak Kitchen—appetizers, salads, entrées, sides, desserts—is ready to heat and eat… no prep work, standing at the stove or grocery shopping required.
The current owner, Evan Acres, is the son of former owner Tonya Sadler. Evan and his wife Erika, are committed to serving the Macon community for years to come, and they have a vision for growth. The doors were opened to their second location in the beautiful downtown of Perry, Georgia in 2020, and the business has plans to open their third location in Tifton, Georgia this summer.
Why the name change? The leadership felt strongly that they offered so much more than casseroles and wanted a name that reflected such. After much discernment, Acres & Oak Kitchen was born, with "Acres" representing the family that owns the business, and "Oak" representing the dinner table. Thus, the new name means "Family Table." The Acres and Oak team desires to continue serving their customers through remarkable service and food for years to come. Even more, they desire to be the avenue that enables you to serve people in your life.
4420 Forsyth Road, Suite 180
Macon, GA 31210 (478) 757-0074
1030 Ball Street
Perry, GA 31069 (478) 224-0044
253 Brumby Way
Tifton, GA 31794 (229) 445-3430
acresandoakkitchen.com


Private Placement Agency Agreement - China Broadband Corp. and Canaccord Capital (Europe) Ltd.
(dd)	"Subsidiaries" means Big Sky Network Canada Ltd. and Big Sky Network Technology Services Ltd.
(ii)	"USD" means United States dollars.
The Issuer appoints the Agent as its exclusive agent and the Agent accepts the appointment and agrees to act as the exclusive agent of the Issuer to use its commercially reasonable efforts to find and introduce to the Issuer potential purchasers to purchase up to 8,000,000 Shares, at a price of USD 0.25 per Share, by way of Private Placement under the Exemptions.
The Shares will be issued and registered in the names of the Purchasers or their nominees.
(b)	that number of Agent's Warrants which is equal to 10% of the number of Shares sold on such Closing.
4.2	Each Agent's Warrant will entitle the holder, on exercise, to purchase one Agent's Warrant Share at a price of USD 0.25 per Agent's Warrant Share for a period of 24 months.
4.3	The Agent's Warrants will be non-transferable except as permitted by the Applicable Legislation and any order granted by the Regulatory Authorities.
4.4	The certificates representing the Agent's Warrants will, among other things, include provisions for the appropriate adjustment in the class, number and price of the Agent's Warrant Shares issued upon exercise of the Agent's Warrants upon the occurrence of certain events, including any subdivision, consolidation or reclassification of the Issuer's common shares, the payment of stock dividends and the amalgamation of the Issuer.
4.5	The issue of the Agent's Warrants will not restrict or prevent the Issuer from obtaining any other financing, or from issuing additional securities or rights, during the period within which the Agent's Warrants may be exercised.
4.6	In consideration for the Agent's fiscal advisory services consisting of working with the Issuer to advance its business objectives and providing financial advisory and investment banking services, the Issuer will pay the Agent USD 5,000 per month for a period of 6 months following the First Closing payable in the aggregate upon the earlier of the First Closing and the date of termination of this Agreement (the "Fiscal Advisory Fee").
4.7	The Agent has received from the Issuer a non-refundable advance in the amount of USD 110,000 which is an advance against the cash portion of the Agent's Fee. The Issuer agrees that the Agent will use this advance against payment of the Agent's Fee upon any Closing but that, should there not be a Closing of this Offering, the Agent will not refund this advance to the Issuer.
(d)	qualified to purchase the Shares under the Exemptions.
5.2	The Shares will only be sold to Purchasers who were outside the United States at the time such person placed the order to purchase Shares and at the time of execution and delivery of the Subscription Agreement.
5.3	No offers to sell the Securities will made by a person to the Purchaser while the Purchaser was in the United States.
5.4	The Shares will not be acquired, directly or indirectly, for the account or benefit of a U.S. Person or a person in the United States.
5.5	The Private Placement has not been and will not be advertised.
5.6	No selling or promotional expenses will be paid or incurred in connection with the Private Placement, except for professional services or for services performed by a registered dealer.
5.7	Before each Closing, the Issuer and the Agent will take all reasonable steps necessary to ensure compliance with the Exemptions.
5.8	The Agent will comply with all applicable laws of the jurisdictions of which it assists in soliciting or procuring subscriptions for the Shares and will not assist in soliciting or procuring subscriptions for Shares so as to require the registration thereof or the filing of a prospectus with respect thereto under the laws of any jurisdiction.
5.9	Promptly following the Final Closing, the Issuer will prepare and file or cause to be prepared and filed a registration statement covering the resale of the Shares, which registration statement will have the legal effect of allowing the Purchasers to resell all or part of the Shares in the United States. The failure of the Issuer to effect the registration of the Shares for resale by the 120th day following the First Closing will result in the Issuer issuing to the Purchasers an additional 0.2 share of its common shares for each of the Shares purchased by the Purchasers in the Private Placement.
6.1	The Agent will use its commercially reasonable efforts to obtain from each Purchaser introduced by the Agent, and deliver to the Issuer, on or before each Closing duly completed and signed subscriptions in the form attached as Schedule "A" or in such other form consented to by the Issuer and the Agent and executed by the Purchaser.
(b)	the Issuer's directors determine, acting reasonably, that it would not be in the best interests of the Issuer to accept such subscription.
7.1	The Issuer will comply with all requirements of the NASD for notice of the terms of this Agreement and the proposed Private Placement and all other information required by the NASD Policies (the "Notice").
7.2	The Issuer will forthwith provide the Agent and its solicitor with a copy of the Notice, if any.
7.3	After the Closing, the Issuer will file all required documents with, and pay all required filing fees of the NASD or the Commission, as the case may be, and take all other actions required by the NASD Policies or by the Applicable Legislation to fulfil all conditions upon listing imposed by the NASD, or to comply with the Exemptions, with all possible dispatch.
(vi)	any amount paid directly to the Issuer by purchasers in connection with the Private Placement.
8.2	The Closing will take place on April 3, 2002, or such other date as reasonably agreed between the Issuer and the Agent.
8.3	The Issuer will, on each Closing, issue and deliver the Certificates to the Agent, or at the Agent's request, to the Purchasers, against payment of the Proceeds.
8.4	If the Issuer has satisfied all of its material obligations under this Agreement, the Agent will, on each Closing, pay the Proceeds to the Issuer against delivery of the Certificates.
THE SECURITIES REPRESENTED HEREBY HAVE NOT BEEN REGISTERED UNDER THE UNITED STATES SECURITIES ACT OF 1933, AS AMENDED, AND MAY ONLY BE TRANSFERRED IN ACCORDANCE WITH THE PROVISIONS OF REGULATION S PROMULGATED THEREUNDER, OR PURSUANT TO REGISTRATION UNDER THE ACT, OR PURSUANT TO AN AVAILABLE EXEMPTION FROM REGISTRATION. HEDGING TRANSACTIONS INVOLVING THESE AND ANY UNDERLYING SECURITIES MAY NOT BE CONDUCTED UNLESS IN COMPLIANCE WITH THAT ACT.
(i)	the removal or partial revocation of any cease trading order or trading suspension made by any competent authority to the extent necessary to complete the Private Placement.
9.2	The conditions set out in Subsection 9.1 are for the sole benefit of the Agent and may be waived by the Agent in whole or in part.
(d)	provide copies of that press release, when issued, and that report, when filed, to the Agent and its solicitor.
10.2	If the Issuer is uncertain as to whether there has been a Material Change, or a change in a Material Fact, it will promptly provide the Agent with full particulars of the event giving rise to the uncertainty, and will consult with the Agent as to whether such event constitutes a Material Change, or a change in a Material Fact.
(h)	the Agent determines that any of the representations or warranties made by the Issuer in this Agreement is false or has become false.
11.2	The Agent's obligations hereunder will terminate if the First Closing does not take place within 60 days of the reference date of this Agreement, unless otherwise agreed in writing by the Agent.
(hh)	the Issuer has not engaged or will not engage in any "Directed Selling Efforts" within the meaning of Regulation S with respect to the Securities, has not made or will not make any offer to sell or solicitation of an offer to buy any of the Shares to any person and has not solicited or will not solicit offers for or has not made or will not make offers to sell, the Securities by means of any form of general solicitation or general advertising or in any manner involving a public offering within the meaning of the U.S. Securities Act.
(f)	the Agent has not entered, and will not enter, into any contractual arrangement without the prior written consent of the Company with respect to the placement of the Securities, except with its affiliates.
13.1	The Issuer will pay all of the expenses of the Private Placement and all the expenses reasonably incurred by the Agent in connection with the Private Placement including, without limitation, the fees and expenses of the solicitors for the Agent.
13.2	The Issuer will pay the expenses referred to in the previous Subsection even if the transactions contemplated by this Agreement are not completed or this Agreement is terminated, unless the failure of acceptance or completion or the termination is the result of a breach of this Agreement by the Agent.
13.3	The Agent may, from time to time, render accounts for its expenses in connection with the Private Placement to the Issuer for payment on or before the dates set out in the accounts.
13.4	The Issuer authorizes the Agent to deduct its expenses in connection with Private Placement from the proceeds of the Private Placement and any advance payments made by the Issuer, including expenses for which an account has not yet been rendered but for which a reasonable estimate has been provided by the Agent to the Issuer.
14.1	If at any time, up to and including the Final Closing, the Agent receives a garnishing order or other form of attachment purporting to attach or garnish a part or all of the sale price of any of the Securities, the Agent will be free to pay the amount purportedly attached or garnished into court.
14.2	Any payment by the Agent into court pursuant to a garnishing order will be deemed to have been received by the Issuer as payment by the Agent against the sale price of the Securities to the extent of the amount paid, and the Issuer will be bound to issue and deliver the Securities proportionately to the amount paid by the Agent.
14.3	The Agent will not be bound to ascertain the validity of any garnishing order or attachment, or whether in fact it attaches any moneys held by the Agent, and the Agent will be free to act with impunity in replying to any garnishing order or attachment.
14.4	The Issuer will release, indemnify and save harmless the Agent in respect of all damages, costs, expenses or liability arising from any acts of the Agent under this Section.
15.1	As soon as possible after Closing, but in any event no more than 30 days after the Closing Date, the Issuer will file the Registration Statement with the SEC for the purpose of qualifying the resale of the Registrable Securities in accordance with the U.S. Securities Act and will use its commercially reasonable efforts to have the Registration Statement declared effective by the SEC.
15.2	The Issuer will maintain the Registration Statement or post-effective amendment filed under this Section 15 hereof effective under the U.S. Securities Act until the earlier of (i) two years, (i) all Shares and Agent's Warrant Shares have been disposed of pursuant to the Registration Statement, (iii) all Shares and Agent's Warrant Shares have been sold under circumstances under which all of the applicable conditions of Rule 144 (or any similar provision then in force) under the U.S. Securities Act are met, (iv) all Shares and Agent's Warrant Shares have been otherwise transferred to persons who may trade such Securities without restriction under the U.S. Securities Act, and the Issuer has delivered a new certificate or other evidence of ownership for such Securities not bearing a restrictive legend or (v) such time as, in the opinion of counsel to the Issuer, all Securities may be sold without any time, volume or manner limitations pursuant to Rule 144(k) (or any similar provision then in effect) under the U.S. Securities Act.
(h)	pay all Registration Expenses in connection with the registration of the Registrable Securities.
15.4	If at any time or from time to time after the effective date of the Registration Statement, the Issuer notifies the Purchasers in writing of the existence of a Potential Material Event (as defined below), the Purchasers shall not offer or sell any Registrable Securities or engage in any other transaction involving or relating to Registrable Securities, from the time of the giving of notice with respect to a Potential Material Event until such Purchasers receive written notice from the Issuer that such Potential Material Event either has been disclosed to the public or no longer constitutes a Potential Material Event. If a Potential Material Event shall occur prior to the date the Registration Statement is filed, then the Issuer's obligation to file the Registration Statement shall be delayed without penalty for not more than thirty (30) days. The Issuer must give Purchaser notice in writing at least two (2) trading days (in which the Shares are quoted on the NASD Over The Counter Bulletin Board) prior to the first day of the blackout period, if lawful to do so. "Potential Material Event" means any of the following: (a) the possession by the Issuer of material information that is not ripe for disclosure in a registration statement, as determined in good faith by the Chief Executive Officer or the Board of Directors of the Issuer or that disclosure of such information in the Registration Statement would be detrimental to the business and affairs of the Issuer; or (b) any material engagement or activity by the Issuer which would, in the good faith determination of the Chief Executive Officer or the Board of Directors of the Issuer, be adversely affected by disclosure in a registration statement at such time, which determination shall be accompanied by a good faith determination by the Chief Executive Officer or the Board of Directors of the Company that the Registration Statement would be materially misleading absent the inclusion of such information.
15.5	The Agent and each Purchaser will cooperate with the Issuer in all respects in connection with Section 15 of this Agreement, including timely supplying all information reasonably requested by the Issuer (which shall include all information regarding such Purchaser and proposed manner of sale of the Registrable Securities required to be disclosed in the Registration Statement) and executing and returning all documents reasonably requested in connection with the registration and sale of the Registrable Securities in accordance with Applicable Legislation.
15.6	In connection with any registration or qualification of the Registrable Securities under this Agreement (i) the Issuer shall indemnify and hold harmless the shareholder, including but not limited to each person or entity, if any, who controls the shareholder within the meaning of Section 15 of the U.S. Securities Act, against all losses, claims, damages, liabilities and expenses (including but not limited to reasonable expenses incurred in investigating, preparing and defending against any claim) to which the shareholder or such controlling person may become subject under the U.S. Securities Act, the U.S. Securities Exchange Act or otherwise, insofar as the same arise out of or are based upon or are caused by any untrue statement or alleged untrue statement of a material fact contained in the Registration Statement or prospectus (as amended or supplemented if the Issuer shall have furnished any amendments or supplements thereto) furnished pursuant to this Agreement or insofar as the same arise out of, are based upon or are caused by any omission or alleged omission to state therein a material fact required to be stated therein or necessary to make the statement therein not misleading, except insofar as such losses, claims, damages, liabilities or expenses are ultimately determined to have arisen out of or were based upon or were caused by any untrue statement or alleged untrue statement or omission or alleged omission based upon written information furnished to the Issuer by or on behalf of a shareholder or any such control person for inclusion in any Registration Statement or prospectus (and any amendments or supplements thereto); provided, however, that the Issuer shall not be liable in any such case to the extent that any such losses arise out of or are based upon an untrue statement or alleged untrue statement or omission or alleged omission in the final prospectus, if such untrue statement or alleged untrue statement or omission or alleged omission is corrected in an amendment or supplement to the final prospectus and such shareholder thereafter fails to deliver such final prospectus as so amended or supplemented prior to or concurrently with the sale of the Registrable Securities covered by the Registration Statement to the person asserting such losses after the Issuer had furnished such shareholder with a sufficient number of copies thereof in a manner and at a time sufficient to permit delivery of the same by such shareholder, and (ii) each selling shareholder shall indemnify the Issuer, its affiliates, any person who signed the Registration Statement, and their respective officers, directors and control persons against all such losses, claims, damages, liabilities and expenses (including but not limited to reasonable expenses incurred in investigating, preparing and defending against any claim) insofar as the same arise out of or are based upon or are caused by any such untrue statement or alleged untrue statement or any such omission or alleged omission based on written information furnished to the Issuer by or on behalf of such shareholder or any such control person for the inclusion in any Registration Statement or prospectus (and any amendments or supplements thereto).
15.7	Promptly upon receipt by a party indemnified under this Section 15 of notice of the commencement of any action against such indemnified party in respect of which indemnity or reimbursement may be sought against any indemnifying party under this Agreement, such indemnified party shall notify the indemnifying party in writing of the commencement of such action, but the failure to so notify the indemnifying party shall not relieve it of any liability which it may have to any indemnified party otherwise than under this Agreement unless such failure shall materially and adversely affect the defence of such action. In case notice of commencement of any such action shall be given to the indemnifying party as above provided, the indemnifying party shall be entitled to participate in and, to the extent it may wish, jointly with any other indemnifying party similarly notified, to assume the defence of such action at its own expense, with counsel chosen by it and reasonably satisfactory to such indemnified party. The indemnified party shall have the right to employ separate legal counsel in any such action and participate in the defence thereof, but the fees and expenses of such counsel (other than reasonable expenses incurred in investigating, preparing and defending against any claim) shall be paid by the indemnified party unless (a) the indemnifying party agrees to pay the same, (b) the indemnifying party fails to assume the defence of such action with counsel reasonably satisfactory to the indemnified party (in such case the indemnifying party shall not have the right to assume the defence of such action on behalf of such indemnified party), or (c) the named parties to any such action (including any impleaded parties) have been advised by such counsel that representation of such indemnified party and the indemnifying party by the same counsel would be inappropriate under applicable standards of professional conduct (in which case the indemnifying party shall not have the right to assume the defence of such action on behalf of such indemnified party). In the event that either of the circumstances described in clauses (b) and (c) of the sentence immediately preceding shall occur, the indemnified party shall have the right to select a separate counsel and to assume such legal defence and otherwise to participate in the defence of any such action, with the expenses and fees of such separate counsel and other expenses related to such participation to be reimbursed by the indemnifying party as incurred. No indemnifying party shall be liable for any settlement entered into with its consent, which consent shall not be unreasonably withheld or delayed.
(h)	if, following the completion of a sale of any of the Securities, a determination is made by any competent authority setting aside the sale, unless that determination arises out of an act or omission by the Agent.
16.2	If any action or claim is brought against an Indemnified Party in respect of which indemnity may be sought from the Issuer pursuant to this Agreement, the Indemnified Party will promptly notify the Issuer in writing.
16.3	The Issuer will assume the defence of the action or claim, including the employment of counsel and the payment of all reasonable expenses.
16.4	The Indemnified Party will have the right to employ separate counsel, and the Issuer will pay the reasonable fees and expenses of such counsel.
16.5	The indemnity provided for in this Section will not be limited or otherwise affected by any other indemnity obtained by the Indemnified Party from any other person in respect of any matters specified in this Agreement and will continue in full force and effect until all possible liability of the Indemnified Parties arising out of the transactions contemplated by this Agreement has been extinguished by the operation of law.
16.6	If indemnification under this Agreement is found in a final judgment (not subject to further appeal) by a court of competent jurisdiction not to be available for reason of public policy, the Issuer and the Indemnified Parties will contribute to the losses, claims, damages, liabilities or expenses (or actions in respect thereof) for which such indemnification is held unavailable in such proportion as is appropriate to reflect the relative benefits to and fault of the Issuer, on the one hand, and the Indemnified Parties on the other hand, in connection with the matter giving rise to such losses, claims, damages, liabilities or expenses (or actions in respect thereof). No person found liable for a fraudulent misrepresentation (within the meaning of applicable securities laws) will be entitled to contribution from any person who is not found liable for such fraudulent misrepresentation.
16.7	To the extent that any Indemnified Party is not a party to this Agreement, the Agent will obtain and hold the right and benefit of this section in trust for and on behalf of such Indemnified Party.
17.1	The Agent will not assign this Agreement or any of their rights under this Agreement or, with respect to the Securities, enter into any agreement in the nature of an option or a sub-option unless and until, for each intended transaction, the Agent has obtained the consent of the Issuer, and any required notice has been given to and accepted by the Regulatory Authorities.
17.2	Subject to sections 12.2(e) and 12.2(f), the Agent may offer selling group participation in the normal course of the brokerage business to selling groups of other licensed dealers, brokers and investments dealers, who may or who may not be offered part of the Agent's Fee.
18.1	The Issuer will notify the Agent of the terms of any further equity financing that it requires or proposes to obtain during the 12 months following the reference date of this Agreement and the Agent will have the right of first refusal to provide any such equity financing.
18.2	The right of first refusal must be exercised by the Agent within 15 days following the receipt of the notice by notifying the Issuer that it will provide such financing on the terms set out in the notice.
18.3	If the Agent fails to give notice within the 15 days that it will provide such financing upon the terms set out in the notice, the Issuer will then be free to make other arrangements to obtain financing from another source on the same terms or on terms no less favourable to the Issuer, subject to obtaining the acceptance of the Regulatory Authorities.
18.4	The right of first refusal will not terminate if, on receipt of any notice from the Issuer under this Section, the Agent fails to exercise the right.
19.1	Any notice under this Agreement will be given in writing and must be delivered, sent by facsimile transmission addressed to the party to which notice is to be given at the address indicated above, or at another address designated by the party in writing.
19.2	If notice is sent by facsimile transmission or is delivered, it will be deemed to have been given at the time of transmission or delivery, or if not a business day, the next business day.
The parties to this Agreement acknowledge that the letter from the Agent to the Issuer dated September 19, 2001 and captioned "Proposed Financing" continues in full force and effect except as amended by this Agreement. The parties to this Agreement acknowledge that the agency agreement between the parties dated for reference November 22, 2001, has been terminated and superceded in all respects but that the obligations arising under sections 13 and 16 thereunder continue in full force and effect.
Time is of the essence of this Agreement and will be calculated in accordance with the provisions of the Interpretation Act (British Columbia).
The representations, warranties, covenants and indemnities of the Issuer and the Agent contained in this Agreement will survive the Final Closing.
This Agreement is to be read with all changes in gender or number as required by the context.
This Agreement enures to the benefit of and is binding on the parties to this Agreement and their successors and permitted assigns.
The headings in this Agreement are for convenience of reference only and do not affect the interpretation of this Agreement.
This Agreement may be executed in two or more counterparts and may be delivered by facsimile transmission, each of which will be deemed to be an original and all of which will constitute one agreement, effective as of the reference date given above.
This Agreement is governed by the law of Alberta, and the parties hereto irrevocably attorn and submit to the exclusive jurisdiction of the courts of Alberta with respect to any dispute related to this Agreement.
Name	)	CHINA BROADBAND CORP.