text:
package org.broadinstitute.hellbender.tools.spark.sv.discovery.inference;

import com.google.common.annotations.VisibleForTesting;
import htsjdk.samtools.SAMSequenceDictionary;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.variantcontext.VariantContextBuilder;
import htsjdk.variant.vcf.VCFConstants;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.broadcast.Broadcast;
import org.broadinstitute.hellbender.engine.spark.datasources.ReferenceMultiSparkSource;
import org.broadinstitute.hellbender.exceptions.GATKException;
import org.broadinstitute.hellbender.tools.spark.sv.discovery.SvDiscoveryInputMetaData;
import org.broadinstitute.hellbender.tools.spark.sv.discovery.alignment.AlignedContig;
import org.broadinstitute.hellbender.tools.spark.sv.discovery.alignment.AlignmentInterval;
import org.broadinstitute.hellbender.tools.spark.sv.discovery.alignment.AssemblyContigWithFineTunedAlignments;
import org.broadinstitute.hellbender.tools.spark.sv.discovery.alignment.ContigAlignmentsModifier;
import org.broadinstitute.hellbender.utils.IntervalUtils;
import org.broadinstitute.hellbender.utils.SimpleInterval;
import org.broadinstitute.hellbender.utils.Utils;
import scala.Tuple2;

import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;

import static org.broadinstitute.hellbender.tools.spark.sv.StructuralVariationDiscoveryArgumentCollection.DiscoverVariantsFromContigAlignmentsSparkArgumentCollection.CHIMERIC_ALIGNMENTS_HIGHMQ_THRESHOLD;
import static org.broadinstitute.hellbender.tools.spark.sv.utils.GATKSVVCFConstants.*;

/**
 * This deals with the special case where a contig has multiple (> 2) alignments
 * and seemingly has the complete alt haplotype assembled.
 * See criteria in {@link AssemblyContigWithFineTunedAlignments#hasIncompletePictureFromMultipleAlignments()}.
 * For cases where the contig's alignment shows signature that the assembly doesn't
 * paint the full picture we could decide to emit all BND records,
 * but that could be dealt with later.
 */
public final class CpxVariantInterpreter {

    public static final int MIN_READ_SPAN_AFTER_DEOVERLAP = 2;

    public static List<VariantContext> makeInterpretation(final JavaRDD<AssemblyContigWithFineTunedAlignments> assemblyContigs,
                                                          final SvDiscoveryInputMetaData svDiscoveryInputMetaData) {

        final Broadcast<ReferenceMultiSparkSource> referenceBroadcast = svDiscoveryInputMetaData.getReferenceData().getReferenceBroadcast();
        final Broadcast<SAMSequenceDictionary> referenceSequenceDictionaryBroadcast = svDiscoveryInputMetaData.getReferenceData().getReferenceSequenceDictionaryBroadcast();

        // almost every thing happens in this series of maps
        final JavaPairRDD<CpxVariantCanonicalRepresentation, Iterable<CpxVariantInducingAssemblyContig>> interpretationAndAssemblyEvidence =
                assemblyContigs
                        .mapToPair(tig -> getOneVariantFromOneContig(tig, referenceSequenceDictionaryBroadcast.getValue()))
                        .groupByKey(); // two contigs could give the same variant

        return interpretationAndAssemblyEvidence.map(pair -> turnIntoVariantContext(pair, referenceBroadcast.getValue())).collect();
    }

    private static Tuple2<CpxVariantCanonicalRepresentation, CpxVariantInducingAssemblyContig> getOneVariantFromOneContig
            (final AssemblyContigWithFineTunedAlignments contigWithFineTunedAlignments,
             final SAMSequenceDictionary refSequenceDictionary) {

        final AssemblyContigWithFineTunedAlignments furtherProcessedContig =
                furtherPreprocess(contigWithFineTunedAlignments, refSequenceDictionary);
        final CpxVariantInducingAssemblyContig cpxVariantInducingAssemblyContig =
                new CpxVariantInducingAssemblyContig(furtherProcessedContig, refSequenceDictionary);
        return new Tuple2<>(new CpxVariantCanonicalRepresentation(cpxVariantInducingAssemblyContig), cpxVariantInducingAssemblyContig);
    }

    // =================================================================================================================

    /**
     * Essentially, this step is to de-overlap the alignments
     * (see {@link #deOverlapAlignments(List, SAMSequenceDictionary)})
     * because it would be very difficult to extract retracting jumps
     * (basically indicating homology, which is non-essential to event interpretation)
     * keeping track of them, and making sense of the event.
     *
     * @return the input contig with its alignments de-overlapped
     */
    @VisibleForTesting
    static AssemblyContigWithFineTunedAlignments furtherPreprocess(final AssemblyContigWithFineTunedAlignments contigWithFineTunedAlignments,
                                                                   final SAMSequenceDictionary refSequenceDictionary) {

        final List<AlignmentInterval> deOverlappedAlignmentConfiguration =
                deOverlapAlignments(contigWithFineTunedAlignments.getAlignments(), refSequenceDictionary);

        return new AssemblyContigWithFineTunedAlignments(
                new AlignedContig(contigWithFineTunedAlignments.getContigName(), contigWithFineTunedAlignments.getContigSequence(),
                        deOverlappedAlignmentConfiguration),
                contigWithFineTunedAlignments.getInsertionMappings(),
                contigWithFineTunedAlignments.hasEquallyGoodAlnConfigurations(),
                contigWithFineTunedAlignments.getSAtagForGoodMappingToNonCanonicalChromosome());
    }

    // TODO: 3/9/18 though this function is tested, the test case doesn't cover some edge cases, let's come back later when we have more experience
    /**
     * Here we follow the de-overlapping strategy as implemented in
     * {@link CpxVariantInterpreter#removeOverlap(AlignmentInterval, AlignmentInterval, int, SAMSequenceDictionary, boolean, boolean)},
     * with the following exception:
     * the head and tail alignments are not clipped, i.e. they are always kept as is.
     */
    @VisibleForTesting
    static List<AlignmentInterval> deOverlapAlignments(final List<AlignmentInterval> originalAlignments,
                                                       final SAMSequenceDictionary refSequenceDictionary) {
        final List<AlignmentInterval> result = new ArrayList<>(originalAlignments.size());
        final int totalCount = originalAlignments.size();
        AlignmentInterval one = originalAlignments.get(0);
        for (int i = 1; i < totalCount ; ++i) {
            final AlignmentInterval two = originalAlignments.get(i);
            // TODO: 11/5/17 an edge case is possible where the best configuration contains two alignments,
            //       one of which contains a large gap, and since the gap split happens after the configuration scoring,
            //       (that gap split happens after scoring is due to how MQ and AS are used in the scoring step, gap-split alignment cannot use originating alignment's values, but it takes time to recompute)
            //       one of the alignment from the gap split may be contained in the other original alignment, leading to problems;
            //       here we skip the alignment that is BEFORE the child alignment from the gap-split,
            //       IFF that alignment contains the child alignment in terms of their spans on the read/contig
            //       if you are concerned about the first child alignment from the same gapped alignment being skipped,
            //       don't worry, that is impossible because child alignments of the same gapped alignment cannot overlap on the read.
            if (two.alnModType.equals(ContigAlignmentsModifier.AlnModType.FROM_SPLIT_GAPPED_ALIGNMENT)) {
                if ( one.containsOnRead(two) )
                    continue;
            }
            final int overlapOnContig = AlignmentInterval.overlapOnContig(one, two);
            if ( overlapOnContig == 0 ) { // nothing to remove
                // an extreme rare case is possible when, after de-overlapping, the alignment block is only 1bp long (yes, it occurs),
                // this throws off segmentation algo, hence we drop it here
                // more generally, the case could be that a small (say 2bp, or 5bp) alignment block is left, we need a more general strategy
                if (one.getSizeOnRead() >= MIN_READ_SPAN_AFTER_DEOVERLAP)
                    result.add(one);
                one = two;
            } else {
                final Tuple2<AlignmentInterval, AlignmentInterval> deoverlapped =
                        removeOverlap(one, two, overlapOnContig, refSequenceDictionary,
                                one.equals(originalAlignments.get(0)),
                                two.equals(originalAlignments.get(totalCount - 1)));
                if (deoverlapped._1.getSizeOnRead() >= MIN_READ_SPAN_AFTER_DEOVERLAP) // see comment above
                    result.add(deoverlapped._1);
                one = deoverlapped._2;
            }
        }
        result.add(one);

        final AlignmentInterval head = result.get(0);
        final AlignmentInterval tail = result.get(result.size() - 1);
        final int overlap = AlignmentInterval.overlapOnContig(head, tail);
        if ( overlap > 0 ) {
            throw new UnhandledCaseSeen(
                    "After alignment preprocessing, head and tail alignments should not overlap on read; " +
                    "otherwise it would mean some middle alignments are contained in head/tail which should not happen." +
                    originalAlignments.stream().map(AlignmentInterval::toPackedString).collect(Collectors.toList()));
        }

        return result;
    }

    /**
     * Removes overlap between input {@code contig}'s two alignments.
     * @param one alignment one
     * @param two alignment two
     * @param overlapOnRead non-positive values will throw IllegalArgumentException
     * @param dictionary if null, then {@code one} and {@code two} must be mapped to the same chromosome
     * @param firstIsAlignmentHead if {@code one} is the head alignment of the contig
     * @param secondIsAlignmentTail if {@code two} is the tail alignment of the contig
     */
    @VisibleForTesting
    static Tuple2<AlignmentInterval, AlignmentInterval> removeOverlap(final AlignmentInterval one, final AlignmentInterval two,
                                                                      final int overlapOnRead,
                                                                      final SAMSequenceDictionary dictionary,
                                                                      final boolean firstIsAlignmentHead,
                                                                      final boolean secondIsAlignmentTail) {

        if (overlapOnRead <= 0)
            throw new IllegalArgumentException("Overlap on read is non-positive for two alignments: "
                    + one.toPackedString() + "\t" + two.toPackedString());

        if (one.containsOnRead(two) || two.containsOnRead(one))
            throw new IllegalArgumentException("Two input alignments' overlap on read consumes completely one of them.\t"
                    + one.toPackedString() + "\t" + two.toPackedString());

        final boolean oneYieldToTwo;
        if (firstIsAlignmentHead) {
            oneYieldToTwo = false;
        } else if (secondIsAlignmentTail) {
            oneYieldToTwo = true;
        } else {
            oneYieldToTwo = yieldOverlapToAlignmentTwo(one, two, dictionary);
        }

        final AlignmentInterval reconstructedOne, reconstructedTwo;
        if (oneYieldToTwo) {
            reconstructedOne = ContigAlignmentsModifier.clipAlignmentInterval(one, overlapOnRead, true);
            reconstructedTwo = two;
        } else {
            reconstructedOne = one;
            reconstructedTwo = ContigAlignmentsModifier.clipAlignmentInterval(two, overlapOnRead, false);
        }
        return new Tuple2<>(reconstructedOne, reconstructedTwo);
    }

    /**
     * Implementing homology-yielding strategy between two alignments {@code one} and {@code two}.
     *
     *

     *     The strategy aims to follow the left-align convention:
     *

     *

     *             when two alignments are mapped to different chromosomes,
     *             the homologous sequence is yielded to the alignment block
     *             whose reference contig comes later as defined by {@code refSequenceDictionary}
     *

     *

     *             when two alignments are mapped to the same chromosome,
     *

     *

     *                     if the two alignments are of the same orientation,
     *                     the homologous sequence is yielded to {@code two}
     *                     when both are of the '+' strand
     *

     *

     *                     if the two alignments are of opposite orientations,
     *                     the homologous sequence is yielded so that
     *                     a) when the two alignments' ref span doesn't overlap,
     *                        we follow the left align convention for the resulting strand-switch breakpoints;
     *                     b) when the two alignments' ref span do overlap,
     *                        we makes it so that the inverted duplicated reference span is minimized
     *                        (this avoids over detection of inverted duplications by
     *                        {@link SimpleChimera#isCandidateInvertedDuplication()}}
     *

     *

     *

     *

     *

     *
     *
     * @return true if {@code one} should yield the homologous sequence to {@code two}.
     * @throws IllegalArgumentException when the two alignments contains one another in terms of their read span, or
     *                                  when the two alignments map to different chromosomes yet {@code refSequenceDictionary} is {@code null}
     */
    @VisibleForTesting
    static boolean yieldOverlapToAlignmentTwo(final AlignmentInterval one, final AlignmentInterval two,
                                              final SAMSequenceDictionary refSequenceDictionary) {

        Utils.validateArg( !(one.containsOnRead(two) || two.containsOnRead(one)),
                "assumption that two alignments don't contain one another on their read span is violated.\n" +
                        one.toPackedString() + "\n" + two.toPackedString());

        final boolean oneYieldToTwo;
        if ( one.referenceSpan.getContig().equals(two.referenceSpan.getContig()) ) {
            // motivation: when the two alignments' ref span doesn't overlap,
            //             this strategy follows the left align convention for the strand-switch breakpoints;
            //             when the two alignments' ref span do overlap,
            //             this strategy makes it so that the inverted duplicated reference span is minimal.
            if (one.forwardStrand != two.forwardStrand) {
                // jumpStart is for "the starting reference location of a jump that linked two alignment intervals", and
                // jumpLandingRefLoc is for "that jump's landing reference location"
                final int jumpStartRefLoc = one.referenceSpan.getEnd(),
                        jumpLandingRefLoc = two.referenceSpan.getStart();
                oneYieldToTwo = ( (jumpStartRefLoc <= jumpLandingRefLoc) == one.forwardStrand );
            } else {
                oneYieldToTwo = one.forwardStrand;
            }
        } else {
            if (refSequenceDictionary == null)
                throw new IllegalArgumentException("despite input alignments mapped to different chromosomes, " +
                        "input reference sequence dictionary is null. " + one.toPackedString() + "\t" + two.toPackedString());

            oneYieldToTwo = IntervalUtils.compareContigs(one.referenceSpan, two.referenceSpan, refSequenceDictionary) > 0;
        }
        return oneYieldToTwo;
    }

    // =================================================================================================================

    @VisibleForTesting
    static VariantContext turnIntoVariantContext(final Tuple2<CpxVariantCanonicalRepresentation, Iterable<CpxVariantInducingAssemblyContig>> pair,
                                                 final ReferenceMultiSparkSource reference)
            throws IOException {

        final CpxVariantCanonicalRepresentation cpxVariantCanonicalRepresentation = pair._1;
        final byte[] refBases = getRefBases(reference, cpxVariantCanonicalRepresentation);

        final VariantContextBuilder rawVariantContextBuilder = cpxVariantCanonicalRepresentation.toVariantContext(refBases);
        final Iterable<CpxVariantInducingAssemblyContig> evidenceContigs = pair._2;

        if (Utils.stream(evidenceContigs).anyMatch(evidenceContig -> evidenceContig.getPreprocessedTig().getAlignments().size()==0)) {
            throw new GATKException("Some contigs were unmapped, yet seem to be used for inference.\n" + cpxVariantCanonicalRepresentation.toString() +
                    Utils.stream(evidenceContigs).map(tig->tig.getPreprocessedTig().getContigName()).collect(Collectors.toList()));
        }

        final List<String> contigNames = new ArrayList<>();
        final List<String> mayContainNoInfoOnNonCanonicalMapping = new ArrayList<>(); // for storing AssemblyContigWithFineTunedAlignments.NO_GOOD_MAPPING_TO_NON_CANONICAL_CHROMOSOME
        final List<String> minFlankingMQs = new ArrayList<>();
        final List<String> minFlankingLengths = new ArrayList<>();

        Utils.stream(evidenceContigs)
                .sorted(Comparator.comparing(tig -> tig.getPreprocessedTig().getContigName()))
                .forEach(annotatedCpxInducingContig -> {

                    final AssemblyContigWithFineTunedAlignments preprocessedTig =
                            annotatedCpxInducingContig.getPreprocessedTig();

                    contigNames.add(preprocessedTig.getContigName());

                    final String saTagForGoodMappingToNonCanonicalChromosome =
                            preprocessedTig.getSAtagForGoodMappingToNonCanonicalChromosome();
                    if ( ! saTagForGoodMappingToNonCanonicalChromosome
                            .equals(AssemblyContigWithFineTunedAlignments.NO_GOOD_MAPPING_TO_NON_CANONICAL_CHROMOSOME)) {
                        mayContainNoInfoOnNonCanonicalMapping.add(saTagForGoodMappingToNonCanonicalChromosome);
                    } else {
                        mayContainNoInfoOnNonCanonicalMapping.add(".");
                    }

                    minFlankingMQs.add( String.valueOf(Math.min(preprocessedTig.getHeadAlignment().mapQual, preprocessedTig.getTailAlignment().mapQual)) );
                    final int minAlnLen = Math.min(preprocessedTig.getHeadAlignment().getSizeOnRead(), preprocessedTig.getTailAlignment().getSizeOnRead());
                    minFlankingLengths.add( String.valueOf(minAlnLen) );
                });

        final Map<String, String> attributeMap = new HashMap<>();

        attributeMap.put(TOTAL_MAPPINGS, String.valueOf(contigNames.size()));

        attributeMap.put(CONTIG_NAMES, String.join(VCFConstants.INFO_FIELD_ARRAY_SEPARATOR, contigNames));

        if ( ! mayContainNoInfoOnNonCanonicalMapping.equals( Collections.nCopies(contigNames.size(), ".") ) ) {
            attributeMap.put(CTG_GOOD_NONCANONICAL_MAPPING, String.join(VCFConstants.INFO_FIELD_ARRAY_SEPARATOR, mayContainNoInfoOnNonCanonicalMapping));
        }

        attributeMap.put(HQ_MAPPINGS,       String.valueOf(minFlankingMQs.stream().mapToInt(Integer::valueOf).filter( mq -> mq >= CHIMERIC_ALIGNMENTS_HIGHMQ_THRESHOLD ).count()) );
        attributeMap.put(MAPPING_QUALITIES, String.join(VCFConstants.INFO_FIELD_ARRAY_SEPARATOR, minFlankingMQs));
        attributeMap.put(ALIGN_LENGTHS,     String.join(VCFConstants.INFO_FIELD_ARRAY_SEPARATOR, minFlankingLengths));
        attributeMap.put(MAX_ALIGN_LENGTH,  String.valueOf(minFlankingLengths.stream().mapToInt(Integer::valueOf).max().orElse(0)));

        attributeMap.forEach(rawVariantContextBuilder::attribute);
        return rawVariantContextBuilder.make();
    }

    private static byte[] getRefBases( final ReferenceMultiSparkSource reference, final CpxVariantCanonicalRepresentation cpxVariantCanonicalRepresentation)
            throws IOException {
        final SimpleInterval affectedRefRegion = cpxVariantCanonicalRepresentation.getAffectedRefRegion();
        SimpleInterval refBase = new SimpleInterval(affectedRefRegion.getContig(), affectedRefRegion.getStart(),
                                                                                affectedRefRegion.getStart());
        return reference
                .getReferenceBases(refBase)
                .getBases();
    }

    // =================================================================================================================

    static final class UnhandledCaseSeen extends GATKException.ShouldNeverReachHereException {
        private static final long serialVersionUID = 0L;
        UnhandledCaseSeen( final String s ) {
            super(s);
        }

        UnhandledCaseSeen( final String s, final Throwable throwable ) {
            super(s, throwable);
        }

        UnhandledCaseSeen( final Throwable throwable) {this("Seeing unhandled case", throwable);}
    }
}


text:
Everton Sell Funes Mori
Everton NewsTransfer News
Everton have sold Ramiro Funes Mori to Villarreal for an undisclosed fee.
The centre-back has agreed a four-year deal to June 2022 with the club, who finished fifth in La Liga last season.
Everton signed Funes Mori in September 2015 from River Plate for £9.5m.
The 27-year-old made his debut in a 3-1 home win over Chelsea later that same month and went on to make 67 appearances for the Blues, scoring five goals.
Thoughts on Everton selling Funes Mori?
— GrandOldTeam (@grandoldteam) June 21, 2018

redpajama_set_name: RedPajamaCommonCrawl


The Interdepartmental Medical Sciences (IMS) program is a one-year Master of Science degree program that combines challenging graduate science coursework and personalized advising to guide students through the medical school application process. Students take courses equivalent to first-year medical school courses, including: Medical Biochemistry; Medical Physiology; Medical Microanatomy; Medical Immunology; Medical Neuroanatomy, and Medical Nutrition. Students who complete the coursework successfully are guaranteed an interview with Drexel University College of Medicine's MD program through our linkage agreement.
Students with an undergraduate GPA of 3.0 or higher can be considered for this program. In addition, applicants must have a minimum MCAT score of 27 (with no section less than 8), under the old system, or a composite score at the 75 percentile or better in the 2015 MCAT in order to be considered for admission to the program.


text:
Q: Spring 3 Properties File Per Controller I was wondering if Spring has a properties files mechanism similar to Struts2 where it looks for a properties file first in the same package as the controller and then moves up the package structure until it finds the properties file or property.
I want to define a property file per controller, but I rather not have to wire them up together, if possible. Is there some convention that can be followed that would associate the properties file with the controller? The properties file resolution should also work correctly when resolving locales.
For example, if I define a property called "title" in several prop files, I want the correct one to resolve in the JSP based on which controller handled the request.
ControllerA RETURNS ViewA USES PropA.title

ControllerB RETURNS ViewB USES PropB.title

I was successful in auto wiring a Property file to a controller's Model attribute and display values in JSP. I was also able to specify a ResourceBundleMessageSource in the configuration and then display values from it in JSP.

A: Out of the box, not that I know of.... but you can easily write one, if that's what you really want!
Spring has things like BeanFactoryPostProcessor which lets you do things like this with your BeanFactory/ApplicationContext. I'm thinking BeanFactoryPostProcessor would fit the bill here - you could 'post process' a bean by looking for a properties file on the classpath, grabbing the properties, and applying them to the bean.
I'll say this though - Spring is usually meant to be fairly non-invasive. If you want something like this to become part of your design, you might want to think of a way to do this in pure Java, rather than using Spring. For example, create your own Factory and implement and unit test it separately. Require your app to use this Factory to get your business objects.
In other words, you can probably do it in Spring - but it isn't always the best approach. It does sound like it could be the most convenient, in your case, but I haven't see the details of what you're setting and where. Just food for thought..

redpajama_set_name: RedPajamaStackExchange


There was such a beautiful bird song outside the bedroom window the other day! Too bad it was 5 am in the morning. The initially sweet melody was very loud and went on and on and on. Since I couldn't get back to sleep, I wrapped my mind around figuring out the intervals and the exact pitch of each sound. I tried to visualize the song as notation. This is not the easiest thing to do, especially at 5 am. Next came the inevitable question of why. What was the bird's message? Was anything or anybody going to answer it so that I could go back to sleep? Why did the melody never waiver? What was that bird trying to say!?
Later in the day, and fortified with a number of cups of coffee, I surprised myself by going out of my way to listen to a similar pitched melody sung over and over and over again by the young babies in our school's day care room. It too was difficult to pin down in terms of exact pitch, but the contour was unwavering. This time I worked hard to put aside my analytical mind, and tried to just enjoy the sounds. It was obvious that the babies were enjoying making these songs. They sang them again and again and again. Each time brought a fresh round of smiles, as if they were just discovering something new and exciting.
First birds, then babies, and later in the day I came across an article about the study of bats. (http://www.scientificamerican.com/article/baby-bats-babble-through-childhood-like-we-do/). It seems that baby bats begin life babbling away using pitched sounds and fragments of melody. The melodious babble is the way the bats begin to communicate. It isn't until later, after learning from adults, that they develop a more sophisticated sequence of sounds that have precise meaning (to other bats anyway).
Pitch – both processing pitch and producing pitch – is a very early human achievement.
Before words, or concepts or gestures, there is pitch. Infants can process and match pitch within their first few months of life. Like bats, young babies begin to form meaning of their world through repeated and learned connection of pitch to context. But do we need to always view baby's use of pitch as a means to an end? Is early pitch use only valuable when it leads to language?
Why do birds, and bats, and babies sing? Well, there are many, many scientists studying these questions looking to uncover meaning and purpose behind this behavior. But after trying to listen to the birds and babies the other day, I began to tell myself…they sing because they can. They sing because they do. They sing because it is in their nature to sing.
This led to a bit of an 'aha' moment. Pitch, and the use of pitch, by babies or children should be valued just because it is a natural part of development.
Although adults can begin to shape pitch into communication with external meaning, we can also celebrate the child's natural motivation and ability to create pitch. We can and should view pitch as an important part of the child, separate from language or other meaning and unique in its communicative qualities.
Try and wrap your head around it as you go through your day. Here are some tips for listening for and valuing pure pitch play.
Think about a smell or scent that you love. Remember how you savor that delicious smell as you take a long sniff? Now think about a pitch that you love. Hard to do? Scent and pitch are sensory experiences that can be valued in the same way. Try to find a pitch that feels especially good to you. Enjoy it just as you enjoy a favorite smell.
Practice listening for and imitating pitch. Close your eyes and pick out a sound in your environment. Use your voice to try and replicate the pitch that you hear. This might not be entirely specific, since each person might assign a different frequency as being the most prominent in any pitch sound that is not precisely pure.
Play with pitch in your own voice. Try not to connect it to any song or familiar musical structure. This might seem silly at first, but keep in mind that this was one of the earliest ways that you let the world know that you existed.
Sit down with the babies or children that you work with as they play. Listen to their use of pitch and try and imitate it. Work hard not to place adult thinking about meaning on the sounds, but try and enjoy the act of making these sounds.
Join in this pitch play, and let the babies and children teach YOU about this very natural way of being!
Did the words in the title throw you a little bit?
Chances are, since you are reading this, you kept going because you were caught off guard by the mixed up words. You might not have paid attention otherwise, except that something jumped out as odd. Catching this tiny, weird change speaks to the reliance we put on our prediction about how we generally use words and what those words should mean.
I admit that in my early childhood work, words always have a musical quality and my music generally includes words. The line that separates the two is very slippery. I often used 'motherese' when talking with infants and toddlers. As the children get older, I put lots of rhythm and rhyme into every interaction. I easily move from singing to speaking to singing. The children I work with love it (although my own children roll their eyes when I speak that way with them)! So while I am a huge proponent of music based practice, I respect the spoken word and work to strike a balance between talk and song. I am finding a number of times when my new 'songs' are really 'chants'. I thought it might be useful to outline some ideas about chant in early childhood work. Hope this helps you to both define, as well as blur, the line between the language of words and the language of music.
Chant and song share many common musical elements such as rhythm, tempo, meter, structure and timbre.
The primary musical elements of chant are often rhythm and meter, which is created through word rhyming and articulation of word sounds.
Chant relies less on defined pitch and formed key structure. Chant, however, does have pitch elements. The pitch (or frequency) is non-specific and relational in terms of inflection rather than fixed as in melody. This means that each person can use their personal voice to create a unique pitch or intonation pattern.
I know in my work that the musical elements that seem to scare non-musicians the most are the use of pitch and melody. So one thing I've tried to do is to take out the fixed pitch and melody and use the more non-specific inflections of chants. This often helps parents and early childhood educators to feel more confident to make music. Everybody can use their own vocal patterns. The musical interest comes with the use of rhyme, rhythm patterns, structure and repetition.
Here's how I write a chant.
Just as with songs, the motivation always has to be driven by the children and their needs, so I identify that first. I then think of words to describe or comment on that need which the children might be able to use outside of the music setting. I find little phrases or snippets of sentences that they can use to communicate, to request, or to comment. I say the words again and again and again until they begin to fall into a rhythm or pattern. Once I hear the language or word pattern, I create a complimentary rhythmic pattern that can be repeated. I next look for a rhyme or rhymes and then begin to put all the rhyming words together in a way that makes cognitive sense and has meaning. Next I form it into a structure so that there's overall predictability. Then I always add a little bit of surprise (rhythm, words, or sounds) usually in the third stanza or sometimes even the fourth stanza to catch the children's attention just as I caught yours in this title.
So why use chants for change?
Because chants give the chance to engage all grownups in in the musical world of their children by removing the focus on use of specified pitch or key structure.
Because chants give the chance to focus in on words and language the children might need to know or use to communicate.
Because chants are easily remembered and generally short with lots and lots of repetition.


In order to attract more customers and strengthen its dongle business, the Mukesh Ambani-led Reliance Jio has come up with two new schemes for customers which allow users to exchange their old dongle to get a JioFi device.
As mentioned earlier, Jio has come up with two plans. Under the first offer, users will get free 4G data worth Rs. 2010, which is equal to the value of a JioFi device. This is applicable only if they submit the old data card/dongle at the Reliance Digital Store.
However, there's an excellent catch here. The customer still has to pay Rs. 1999 for the JioFi router along with the necessary first recharge of Rs. 408 (Rs. 309 regular plan + Rs. 99 JioPrime membership) to enable the services. With the Rs. 408 plan, users will get 84 days of free 4G services.
That said, for Rs. 1999 the customer pays, they will be offered Rs. 2010 worth free 4G data, which in turn makes the device free with the internet connection.
In the second offer, users don't have to submit their existing data card/dongle. Customers have to pay Rs. 1999 for the JioFi router along with the first mandatory recharge of Rs. 408. With this plan, they get free 4G data worth Rs. 1005, which in turn brings down the effective price of the device to Rs. 994 (Rs. 1999 – Rs. 1005). As said earlier, in this offer, users need not submit their existing data card. Do make a note that users can also choose the Rs. 608 plan as their first recharge, which gives 2GB data per day for 84 days.
However, the free data of Rs. 2010 and Rs. 1005 is still a mystery and Jio is yet to give a proper response regarding these two plans. According to Jio's tweets to its customers, free data will be offered as a monthly data voucher of Rs. 201, which gives 5GB data per month. So, after the completion of Jio Dhan Dhana Dhan offer or after 84 days, users will be given 5GB extra data per month for five months on a monthly recharge.
And with the first offer, the same free data will be given for ten months. But this is just our speculation going by the Jio's tweet.
Also, there's no info on which JioFi device will be given to the customers. Some claim that the store will give you the device based on the availability. Reliance Jio is currently selling the JioFi 2 and JioFi 3 in the market. Out of both, the latest one is the JioFi 3, which is also the best of the two.
Have you exchanged your old data card/ dongle with a JioFi router? If yes, what did people at Jio store offered you? Let us know in the comments section below.


A reminder: Metro will start work on station and rail improvements on four Blue Line stations in Long Beach starting Saturday, September 20. The work will require a 30-day closure of Downtown Long Beach Station, Pacific Street Station, 1st Street Station and 5th Street Station. Metro will operate free bus shuttles in place of rail service in the Long Beach Loop during the closure.
Customers will be able to ride the bus shuttles from Anaheim Street Station to the four stations listed above at no charge. Shuttles will run at the same Blue Line service levels and will be scheduled to meet trains for transfers. At Anaheim Street Station, regular train service will continue northward to Los Angeles.
Buses in Long Beach will be detouring off 1st Street to Ocean Avenue during the closure. First Street will be closed from Long Beach Boulevard to Pacific Avenue during construction. Pedestrian and bicycle access on 1st Street will remain open.
We will continue to update The Source with more information on the project as it progresses. You can also check the Blue Line Upgrades page for rail alerts or follow Metro on Twitter @metrolosangeles or @metrolaalerts to get service advisories.
The link for Blue Line Upgrades affirms that there will be "Additional law enforcement and security personnel." Does this mean that there will be greater enforcement of rules against solicitation and playing loud music?
as I understand this update, if my routine was to catch the departing metro blue line from Long Beach to DTLA (Mon – Fri) at 6:42 a.m., nothing changes on time, except that I will be shuttled in to the Anaheim station? I should be expecting that the shuttle will get me to Anaheim station at the scheduled 6:48 a.m., right? I am so confused.
You are correct. The bus shuttles will match the train schedule as closely as possible in order to facilitate transfers at Anaheim Street Station, where the Blue Line will run on the normal schedule.
thank you for clarifying. I appreciate it.
I will be taking the MTA to the Long Beach Marathon bike tour on October 12. Will the shuttle buses be able to accommodate bicycles?
Yes, the bus shuttles will have bike racks.
I catch the train at the pacific station where will I catch the shuttle bus at?
The shuttle stop will be across the street from Pacific Station. Metro will have signage posted at the location to indicate where the shuttle will stop, and we will post the exact stops here on the Source once our map is finalized (hopefully by next week).
Why are there no Express trains anywhere on Metro? Riding the Red line to Blue line from North Hollywood to Long Beach, for example, is a 1hr 45min affair if I'm lucky, with a lot of stops I know I'm not getting off at. Same with NoHo to Culver City. The local service has its obvious use, but the system is large enough that it really needs Express schedules. Please add express trains!
The answer to that is because of the lack of train tracks. For limited and express services, you need additional tracks so it can bypass some stations or overtake slower local service stations.
Metro Rail only has one track in each direction only. Short of a massive eminent domain to buy out surrounding properties, LA Metro will never have a express or limited services for Metro Rail.
You can thank your short sighted city planners for that.
on September 20 around 5am , How do I come from down town Long Beach, to connect to the red line?
Take the free shuttle from the Blue Line's downtown Long Beach stations to the Anaheim Station and board the train there!


It's really easy to get caught up in day to day life and forget to take time off for yourself. Over the past six months or so, I've found myself working Monday – Sunday without taking much of a break to disconnect from email, social media, phone meetings, etc. I love all of the various "work" elements in my life whether its client meetings, blog projects, or new business ventures underway. I love to work because I love the hustle and I love being driven, but we are all human and sometimes I just need a break.
In my efforts towards practicing self love and relaxation to rejuvenate my hustle game even stronger, we took a weekend away to the land of no cell reception I've been practicing what I preach to come back stronger and refreshed. One of my favorite ways to relax is to put my phone on airplane mode, pour a cup of hot tea, and change into a cozy robe. I've been loving the classic Lipton Green Tea that I picked up from Safeway and I actually keep a few packets in my purse so I can enjoy a cup on the go too. I've long felt the antioxidants in green tea help recenter me, so I've really enjoyed this new ritual of making tea and relaxing. Boiling the water, selecting a cup, watching it steep– something about the practice melts away my stress from the day.
I've also tried experimenting with meditation to clear my mind–but I'll admit I have trouble letting my mind relax without finding my thoughts wandering onto emails I need to send or to-do list items I forgot about. I start by sitting in a comfortable chair (or laying down if I really want to take a nap–ha!) and actively thinking about how my body feels in that moment starting at my toes and working my way up. I think meditation is a practice that takes time and gets better with practice, so I'm trying to do my green tea and meditation break once a day to carve out 'me' time.
After having this amazing weekend away, I definitely re-learned the benefits of taking time for yourself and taking it slow. Have you ever noticed yourself trying to do it all but forgetting to take care of yourself? Hopefully some of my tips can help you find that inner balance!
Want to get your own Lipton Green Tea to relax and rejuvenate? Head to your local Safeway with $1 off Lipton Green Tea through 4/18 and let me know how it helps you #FillUpToFeelGood!
There is something about kicking back with a nice hot cup of tea to unwind. I do that as much as possible.
I am going to keep this link close at hand so I can remember the steps for relaxation. It's such a challenge to say "no" to one more project. Steeping tea and sipping a cup is a wonderful way to relax. I took out the pretty china teapot so we are encouraged to make tea daily. I'll be looking for the green tea. We recently bought Lipton's Spiced Cinnamon Chai and it is delicious.
I love, love, LOVE to kick back with some tea and a good book, a bath, or both. I could go for a little of that right now.
I need some quality relaxation time in my life. Motherhood stress is a real thing!
I love to drink hot tea when I am working, it helps me relax when I am having stressful day. Lipton is my go to brand of tea.
It's so important to take time to relax and recuperate. A good glass of tea is very refreshing.
It definitely helps to have some time to relax and clear your head. I like settling in with a nice cup of green tea too!
Tea is delicious and one of my absolute favorites! It is so helpful with relaxing after a really long day. So good and refreshing too!
It is so important to find time for yourself. I love a great cup of tea when I am unwinding.
Nothing like a good cup of tea. Never could get into coffee… but tea is my beverage of choice.
"Me" time is so important. I drink tea every night and it helps me relax and settle before bedtime. It's become my routine: shower, tea, read, bed.
Thanks for sharing your story! I've been thinking of a way to relax and rejuvenate. Will add this to my list.
I love a good hot tea like no one else. I know that my husband uses Lipton iced tea bags to make his iced tea with, but I am not sure that I have ever tried Lipton for hot tea. I am intrigued now and I must try them.
I am more of a coffee drinker but when I really need to relax and unwind, I reach for my Lipton green tea. It definitely calms both mind and body. So now my two favorite beverages are enjoyed at different times of the day – coffee from 5am till noon, and green tea from 1pm to bedtime.
I adore Lipton. They have always been a consistently tasty brand.
You looked all too comfy. It made me sleepy and long for my robe, haha. Green tea is my favorite.
Flavored green tea sounds delicious. A wonderful way to wake up in the morning.
I love Lipton Tea too. It is super tasty, fresh and a great way to relax. You look super beautiful here!
Relax time is great time because it doesn't happen so often. I'd love to try the Lipton Green Tea.
I too am taking more time for me lately. Tea time is the best time! Love your kettle too!
Despite the amount of work thrown at us, we really should find the time to relax and give ourselves time to breathe. It's important that we take care of ourselves or else, we'll feel completely burnt out.


text:
Scream questions
Man on Fire ending
Shrek plot
Timothy Olyphant movies & TV shows
The Truman Show mistake picture
Directed by: Steven Spielberg
Starring: Adam Goldberg, Barry Pepper, Edward Burns, Giovanni Ribisi, Matt Damon, Tom Hanks, Tom Sizemore, Vin Diesel
Genres: Action, Drama, War
Suggested correctionsSignificant datesTitles starting with S
In order to be credited for your review and save all your ratings, please create a free account and log in. Premium membership is also available for just $12 a year, which removes all adverts, prioritises your submissions, and more.
More for Saving Private Ryan
Continuity mistake: The scene where they are looking for Ryan's dog tag. Doc comments they are laughing in front of all the guys walking by. One of the soldiers looks like Sal Mineo. Frustrated, Tom Hanks walks into the line of soldiers and civilians and starts asking if anybody has seen or knows James Ryan. The same Sal Mineo lookalike walks by him again. (01:15:10)
More mistakes in Saving Private Ryan
Private Jackson: What I mean by that, sir, is if you was to put me and this here sniper rifle anywhere up to and including one mile from Adolf Hitler... With a clean line of sight... Pack your bags, fellas. War's over. Amen.
More quotes from Saving Private Ryan
Trivia: The movie was shot in chronological order, which is unusual for a film. Spielberg chose to shoot it that way so that the actors would feel like they were going through the experience in the same order as the characters they play, and they lose friends on the way. This helped create the resentment towards Ryan, who doesn't share the journey with them.
More trivia for Saving Private Ryan
Question: After Capt Miller gets briefed on his new mission to rescue Pvt Ryan and enlists Upham for the mission, there is a long shot of the beach. What are those Zeppelin-like things that are floating around, tied to the ground? What are they good for? (00:39:50)
Answer: These were barrage balloons, commonly used during the war. They are used to stop low level bombing and low level fly bys by enemy fighter planes. The cables attached to the balloons are designed to cut through the wings of the aircraft and to bring them down, so any pilot would have to fly above them, and the balloons would also restrict the view from above.
More questions & answers from Saving Private Ryan
Mistake & trivia booksMost popular pagesBest movie mistakesBest mistake picturesBest comedy movie quotesMovies with the most mistakesNew this monthFull House mistakesScream 2 mistakes25 mistakes you never noticed in great moviesScream questionsMan on Fire endingShrek plotTimothy Olyphant movies & TV showsTrue Grit quotesThe Truman Show mistake pictureWest Side Story triviaMore for Saving Private Ryan
In the scene where the medic gets shot, watch the shot where Upham brings the bags up to the injured medic. The next shot there is some fog which then reveals the injured medic. In this shot, watch carefully as the cast rips away the medic's shirt. If you look near the neck, you can see the fake stomach vest he is wearing for a split second - when the actor realizes he ripped too far up, he quickly covers it back up.
Private Reiben: You wouldn't shoot the kraut and now you're gonna shoot me?
Sergeant Horvath: He's better than you.
The movie was shot in chronological order, which is unusual for a film. Spielberg chose to shoot it that way so that the actors would feel like they were going through the experience in the same order as the characters they play, and they lose friends on the way. This helped create the resentment towards Ryan, who doesn't share the journey with them.


The IT career field contains knowledge you may not even know exists. So much information is out there to learn and absorb that a college education simply cannot cover it all. Luckily, IBM has a large number of "specialty" exams that can teach and verify knowledge of specific terms, concepts, and technologies. Participants looking to expand their knowledge and elevate their skill level should waste no time in taking an exam. Passing is simple, especially with the use of resources such as ExamTrace.com. The value of the exam will exceed the initial price almost as soon as you begin training. The certification, in addition to the amount of knowledge you will take in, is an accomplishment that will waste no time in showing importance.
Spending your time and money on an exam should be viewed as an investment. IBM offers knowledge that can't be gained elsewhere. The entire testing experience is designed to give the individual what he/ she needs in order to succeed in the business. The individual tests guide rather than challenge, without compromising difficulty. Questions center on practicality; participants must know how to apply concepts and practices to real life, on the job scenarios.
Although many exams and certifications are intertwined, most of the knowledge is contained within each exam. There is no pattern by which participants must take the exams. Any individual, regardless of educational background, can take any exam he/she pleases. The number of certifications a person can learn is undefined. IBM certifications are recognized as some of the best in the field, and candidates will reap the benefits almost immediately after passing an exam.
I must admit that I'm not a techy person so IT career is not for me. Thanks for sharing though. This could help a lot of people who wants to pursue their IT careers.
A great alternative if you want to advance or shift career paths.
It might be hard to pass the exam but i'm sure it's worth it because it pays good money once you get the job.
Getting certified in IBM gives us an edge as it proves that we have specialized knowledge that only a few have. This greatly increases our chances of landing a better position in any IT company.
education is a never ending process and even professional would benefit in brushing up on their stocked up knowledge. an ibm certification sure comes handy especially if you work in the technical field.
i am not tech savvy. It would be great to get some IT training.
I remember I took this test back in the days. And, I passed it.


text:
Vancouver goes mobile with movable, modular housing in bid to fight homelessness
Mohamed Marwen Meddah
Updated: February 24, 2016 11:35 PM PST
Vegetarians rejoice: Tim Hortons now offering Beyond Meat burgers
The city of Vancouver is hoping to build modular, movable homes similar in size to these converted shipping containers. Jason Payne / PNG
VANCOUVER - Vancouver is going mobile in its latest approach to end homelessness.
VANCOUVER – Vancouver is going mobile in its latest approach to end homelessness.
The city is looking for a company to design a series of transportable housing units aimed at getting some of the municipality's most vulnerable people off the streets and into temporary accommodation.
A tender posted online says the units are to measure about 150 square feet, about the size of a shipping container, with sleeping quarters and a washroom.
They should also be able to stack together and connect to a 1,000- to 1,5000-square-foot communal area with a cooking facility, says the tender.
"What we'd like to do is put these modular housing units up quickly and cheaply and have people move off the street into them and start their process of recovery," said Coun. Kerry Jang, who first floated the idea of portable housing for the homeless in 2009.
"These units are not meant to replace permanent housing. They're simply interim housing," he added. "They can be moved around and come and go as we need them."
The idea is to cycle the mobile housing every few years between plots of unused land around the city, whether owned publicly or privately. Tax incentives would be offered to developers whose idle properties are made available for the temporary dwellings, Jang said.
"It makes use of land just sitting there," he said. "It's just sitting there. What else are you going to do with it, right?"
The city hopes to have between 30 and 40 units up and running by the end of the year.
One homelessness advocate applauded the announcement as a step in the right direction, but tempered that praise by describing the housing strategy as "a very small piece of the puzzle."
"At the end of the day this is not the solution to Vancouver's homelessness crisis," said Doug King of Pivot Legal Society.
He described the measure as "a drop in the bucket," but added the city is doing all that it can in many respects and that the province needs to step up.
King acknowledged the benefits of the plan's modular design, but he raised concerns that this flexibility would make it easier for affluent areas to lobby against the units being installed in their communities, relegating them to regions with the fewest number of complaints.
"Those aren't necessarily good places for the people who are going to be living in them," King said.
"They need to have access to services. They should be more socially inclusive and not isolating."
A count conducted in March 2015 found 1,746 homeless people living in Vancouver, which included 1,258 living in shelters and 488 outside.


text:
Home > C P Snow
C P Snow
(Charles Percy Snow)
Husband of Pamela Hansford Johnson
Charles Percy Snow (Baron Snow of Leicester) was educated as a chemist and physicist at the universities of Leicester and Cambridge. After scientific research he turned to administration and later held many important public posts. His novel sequence Strangers and Brothers spans the life of its narrator, Lewis Eliot, barrister - and took over 30 years to write.Snow describes the rarefied worlds of academia, Cambridge, the Jewish community and Westminster. He also wrote several critical works including a biography of Trollope.
Genres: Literary Fiction
Strangers and Brothers
1. Strangers and Brothers (1948)
aka George Passant
2. The Light and the Dark (1947)
3. Time of Hope (1949)
4. The Masters (1951)
5. The New Men (1954)
6. Homecomings (1956)
7. The Conscience of the Rich (1958)
8. The Affair (1960)
9. Corridors of Power (1964)
10. The Sleep of Reason (1968)
11. Last Things (1970)
Death under Sail (1932)
The Search (1934)
The Malcontents (1972)
In Their Wisdom (1974)
A Coat of Varnish (1979)
Stories from Modern Russia (1962)
The Two Cultures and the Scientific Revolution (1959)
Science and Government (1961)
The Two Cultures, and a Second Look (1963)
A Variety of Men (1967)
The State of Siege (1969)
Public Affairs (1971)
Trollope (1975)
The Realists (1978)
The Physicists (1981)
The Man Booker Prize Best Novel nominee (1974) : In Their Wisdom
C P Snow recommends
School for Love (1951)
"A remarkable book."
The Strange Ride of Rudyard Kipling (1977)
"A masterwork."
Unexpected Developments (1983)
(Ben Safford, book 7)
R B Dominic (Emma Lathen)
"R.B. Dominic is writing the best detective stories in the united states."
The Pier (1986)
Rayner Heppenstall
"The master eccentric of English letters."
Dornford Yates
Betty Webb
James Yaffe
Harold Q Masur


text:
Николай Сергеевич Будаев  (1833—1902) — заслуженный профессор Петербургского университета.

Биография
В 1849 году окончил 2-ю Московскую гимназию. После окончания курса с золотой медалью в бывшем Главном педагогическом институте (VII вып.; 1853) был оставлен при институте исполняющим должность адъюнкт-профессора по кафедре математики. В 1857 году защитил в Санкт-Петербургском университете диссертацию на тему «Общая теория равновесия твёрдых тел, погружённых в жидкость».

С 1863 года он стал преподавать теоретическую механику в Михайловской артиллерийской академии.

В 1865 году Будаев начал ещё читать лекции в университете — сначала, в качестве приват-доцента по начертательной геометрии, высшей геометрии и теории упругости; в 1878 году был избран его штатным доцентом, причём ему поручено было чтение части курса механики, а с 1885 года, после назначения экстраординарным профессором, он стал читать курс аналитической геометрии.

Кроме того, он преподавал различные отрасли чистой и прикладной математики в других высших учебных заведениях: 2-м Военном Константиновском училище, Институте инженеров путей сообщения и в Николаевской инженерной академии.

Николай Сергеевич Будаев умер 16 сентября 1902 года и был похоронен на Шуваловском кладбище.

Примечания

Источники
 Будаев, Николай Сергеевич // Биографический словарь профессоров и преподавателей императорского С.-Петербургского университета с 1869 по 1894гг. — 1896. — С. 96—97.

Выпускники 2-й Московской гимназии
Выпускники Главного педагогического института
Преподаватели Михайловской военной артиллерийской академии
Преподаватели Михайловской артиллерийской академии
Преподаватели Константиновского военного училища
Преподаватели института Корпуса инженеров путей сообщения
Преподаватели Николаевской инженерной академии
Похороненные на Шуваловском кладбище

redpajama_set_name: RedPajamaWikipedia


text:
/**
 * header file for data mining sharpening (DMS)
 * written by Feng Gao on June 2012 (v1.0)
 * v1.0 original version for Landsat TIR imagery
 * v1.1 modified for MODIS TIR sharpening using MODIS 8-day NDVI
 * v1.2 combined previous revisions from 201405 and 201408 (10/29/2015)
 * v1.3 modified sharpening according to view zenith angle (11/11/2015)
 */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <strings.h>

/* header files for GeoTIFF */
#include "geotiffio.h"
#include "xtiffio.h"
#include "tiffio.h"

/* header file for GNU Scientific Libraries */
//#include <gsl/gsl_multifit.h>

#define MIN_NSAMPLES 20
#define MAX_STRLEN   1000
#define MAX_NBANDS   10

#define SUCCESS 0
#define FAILURE -1
#define FILLV   -9999

/* define structure to hold all variables from input */
typedef struct {

  /* for original shortwave spectral bands */
  int    nbands;
  char   inFile[MAX_NBANDS][MAX_STRLEN];
  char   fileType[MAX_STRLEN];
  int    nrows;
  int    ncols;
  int    fillv;
  int    range[2];
  float  res;

  /* geolocation information (same for shortwave spectral bands and thermal band */
  float  ulx, uly;
  long   insys;
  long   inzone;
  double inparm[15];
  long   inunit;
  long   indatum;

  /* original temperature (float for binary file or byte for GeoTIFF) */
  char  org_th_File[MAX_STRLEN];
  char  org_th_view_angle[MAX_STRLEN];
  char  org_th_fileType[MAX_STRLEN];
  int   org_th_nrows;
  int   org_th_ncols;
  float org_th_res;
  float org_th_range[2];

  /* reduced and rescaled T in coarse resolution */
  int   res_th_nrows;
  int   res_th_ncols;
  float res_th_res;

  char  cubistFile[MAX_STRLEN]; /* filestem for cubist */
  char  outFile[MAX_STRLEN];    /* sharpened T (output) */

  float CV_TH;        /* coeficient of variation threshold */
  int   SMOOTH_FLAG;  /* 1=apply smooth operation to difference map in EC application; 0=do not apply */

  /* processing window */
  int s_row;  /* start row */
  int s_col;  /* start column */
  int e_row;  /* end row */
  int e_col;  /* end column */

} INPUT_PARS;

/* define structure to store data (shortwave bands or thermal band ) */
typedef struct {
  int    nbands;
  char   fileName[MAX_NBANDS][MAX_STRLEN];
  char   fileType[MAX_STRLEN];
  int    nrows;
  int    ncols;
  int    fillValue;
  float  range[2];
  long   total_valid_data;
  double ulx;              /* x value of up-left corner */
  double uly;              /* y value of up-left corner */
  double res;              /* spatial resolution */

  long   insys;
  long   inzone;
  double inparm[15];
  long   inunit;
  long   indatum;
  float  homoTest[MAX_NBANDS];   /* homogeneous test (stdev/mean) */

  FILE   *fp[MAX_NBANDS];        /* input file pointer for binary file */
  TIFF   *fp_tiff[MAX_NBANDS];   /* input file pointer for GeoTIFF file */
  int16  **data;                 /* one row in [iband][icol] for shortwave spectral bands */
  float  **fdata;                /* whole image in [irow][icol] for thermal band in float point */
  int8   **qa;                   /* qa data for output (not used) */

  float  min[MAX_NBANDS], max[MAX_NBANDS];
  int scale;     /* zoom in scale to the coarse resolution temperature (shortwave and thermal band may different) */

  FILE *angle;   /* view angle file pointer */
  float **vzn;   /* view zenith angle */
} SENSOR;

/* structure to store samples */
typedef struct {
  float ref[MAX_NBANDS];  /* shortwave bands reflectance */
  float st;               /* skin/surface temperature */
  float w;                /* weight */
} SAMPLES;

void parseParameters(char *ifile, INPUT_PARS *ipar);
void printoutParameters(INPUT_PARS *ipars);
int  getSensorMetaInfo(SENSOR *sensor, SENSOR *st, SENSOR *th, SENSOR *sth, INPUT_PARS *pars);
int  getMetaDataFromGeoTIFF(SENSOR *sensor, int iband);
int  openForWrite(SENSOR *sth);
int  loadThermal(SENSOR *th);
int  applyEC(SENSOR *spec, SENSOR *st, SENSOR *th, SENSOR *sth, INPUT_PARS *ipar);
int  savePureSamples(SENSOR *spec, SENSOR *th, INPUT_PARS *ipar);
int  extractSamples(SENSOR *spec, SENSOR *th, INPUT_PARS *ipar, SAMPLES *sam);
int  resize(SENSOR *st, SENSOR *th);
int  loadSensorRow(SENSOR *sensor, int irow);
int  cleanUpSensor(SENSOR *sensor, SENSOR *st, SENSOR *th, SENSOR *sth);
void dec2bin(unsigned short int num, int *bitpattern, int limit);
void gslRegression(SENSOR *spec, SAMPLES *sam, int NPT, double *coeff);
void localPrediction(SENSOR *spec, SENSOR *sth, INPUT_PARS *pars, double *coeff);
int  openOutput(SENSOR *sth);

void alloc_1dim_contig (void **, int, int);
void alloc_2dim_contig (void ***, int, int, int);
void alloc_3dim_contig (void ****, int, int, int, int);
void alloc_4dim_contig (void *****, int, int, int, int, int);
void free_2dim_contig  (void **);
void free_3dim_contig  (void ***);
void free_4dim_contig  (void ****);
void writeENVIHeader(SENSOR *sensor, char *fname, int nbands, int dtype);

/*#define DEBUG*/
#ifdef DEBUG
#define DEBUG_icol 450
#define DEBUG_irow 450
#endif

/*#define SAVE_COARSE_T*/

redpajama_set_name: RedPajamaGithub


COLUMN: Why test us when we don't care?
AACA performs for Selma participants from RBHS Clarion on Vimeo.
Polar Plunge 2015 from RBHS Clarion on Vimeo.
Why was RB silent on Ferguson?
When is it okay to take a week off of school?


The roof is the most essential component of a manufactured home's structure. Double and single wide home roofs withstand snow, rainfall, hot weather, hail storms, ice, trees, wind storms, hurricanes. twisters, and lets not over look vermin. Your roof doesn't only safeguard the structure below. It also provides a safe haven for your loved ones, which is the roofs most essential function. Mobile homes can be equipped with a few different kinds of roofing material. Most mobile home roofs will be built with asphalt shingles or metal. Asphalt shingles are the best type of roof material to use when the home has a high pitch. This is also known as a high slope roof. Most mobile home roofing installations in the past were made with flat roofs or low slope roofs. Today home owners are opting to go with roofs with a higher slope for numerous reasons. Flat roofs do not drain water away from the house like high slope roofs. Flat roofs also have a shorter life cycle for this reason. Rain has the potential to pool up on a flat roof. This can result in roof leaks and also accelerate the need for roof repair. There is also cosmetic reasons to go with a high slope roof. This style of roof will give your mobile home a more modern look while still providing exceptional protection for the rest of the home. Often times your roof is the culprit when it comes to your house not being energy efficient. A house that is not properly insulated will cost you a lot more in heating oil, electricity, and energy costs. This begins with the roof. Heat rises to the top. If your roof is not insulated, you will always find yourself raising the thermostat in your house to keep it warm. Most mobile home roofing is insulated with fiberglass or spray foam. Here are some things to consider when it comes to making decisions about your mobile home roofing.
Before you decide on a total roof replacement, you need to check to see its possible to repair your manufactured home roof. Usually membrane roofs like TPO and EPDM may be repaired. Most mobile home roofs in North America are assembled with a metal or rubber roof. We will begin by discussing metal roofs first. When roofing contractors refer to metal roofs, they usually are referring to using aluminum. Aluminum is a very popular building material because of its flexibility. It can accommodate roofs of high and low inclines. Aluminum is lightweight and very resilient. Most standing seam roof coverings are constructed out of aluminum. Aluminum roofs usually carry long warranties. They are easy for a roofer to install and require little repairs and maintenance. When you are re-roofing your mobile home, you can also install insulation at areas that need it. If you are installing a metal roof over your existing roof, it is common practice for roofers to add insulation between your original and new roof. This saves money over time, because the new insulation will help prevent drafts and help you maintain the temperature in your house. Adding insulation to your metal or asphalt roof is also important to prevent ice damming. Ice damming is when layers of ice form in the gap between your gutter system and your roofing shingles. Ice damming results in water accumulating on your roof; because of the waters inability to drain efficiently into your gutters.
With new technology advances, it is advised to avoid using flat roofs on your mobile home. Flat mobile home roofing systems are synonomous with roof leaks. They are more vulnerable to having issues. One of the problems with flat roofs is insufficient drainage. Water has the tendency to accumulate and pool on flat surfaces. On a roofing surface like shingles or metal, this can bring about a roofs early deterioration. Flat roofs also have a larger surface area that is exposed to the sun's heat energy. That is why you should opt for a building material like TPO that has strong reflective characteristics. Rubber asphalt roofs also tend to blister from the heat. This can cause roof leaks and tears in the roofs exterior lining requiring repair.
Most newer manufactured homes are manufactured with pitched roof systems. The premier roof components of choice today are metal or asphalt roof shingles. Shingles have become the roof over material of choice for the majority of residential applications. Shingles are relatively easy to install, they can last 25-30 years, and they add an aesthetic beauty to your home improvement project. A shingle roof can have more than just one layer. Your mobile home may not require a whole new roofing replacement. If you currently have asphalt shingles. It is possible to add one more layer of shingles to your original roof. This is generally done to repair leaks when asphalt roofs near the end of their useful life. TPO is one more option. TPO is a roofing membrane that is used on both high and low slope roofs. It is reflective, affordable, and easy for a roofer to install. It is commonly referred to as rubber roofing. Usually you will have two roofing options. Either repair your roof or replace your roof. The installation prices of the roof will vary depending on materials used, the roofer, and the type and size of the roof. Although roof cost is important, it is not advisable to cut costs here. A roof poorly installed can result in a constant need for roof repair. This is why we don't recommend rolled rubber roofing for your mobile home.
Manufactured home rubber roof coatings are an easy method to keep your mobile home cool. This process requires applying a elastomeric coating to your roof to reflect the suns heat. This will help you with air conditioning costs. This also helps keep your roofing system from experiencing roof leaks since this material will bond to the existing roof surface area to keep water out. Whenever this liquid rubber is applied around protrusions like manufactured home roof vents and chimneys, it will perform like flashing. It is customarily spread with a brush. This is a necessity for mobile homes with flat roofs. Most roof coatings will be asphalt based. One other roof coating solution is latex. Latex has shown to become a more reflective coating material than asphalt. Latex will require using a primer before putting on the actual coating. It is encouraged that you reapply a roof coating to your flat roof every couple of years to maintain its integrity.
Any type of roofing material that you pick for your manufactured home will require a regular maintenance plan. You have to talk to your roofing company and learn about your roofing alternatives. It isn't a good option to do a roof over yourself. If you should use asphalt shingles, rubber roofing, or metal roofing on your mobile home will likely depend on your surrounding weather conditions, the quality and experience of your roofer, and how much you are planning to spend. This overview should be able to give you a helping hand.


I would be happy with a thread dedicated to images from our solar system and beyond.
Oooh, I like this thread idea. I'll need to conjure up some images to add.
There are other images (from far better sources) that I like but I'll start out with three that I captured myself.
None of these are particularly high quality. M31 in particular is barely recognizable. But I like them because they were taken with a simple DSLR camera from a somewhat light-polluted suburban front yard.
I was more thinking of actual photos of space rather than art, but okay.
But I like them because they were taken with a simple DSLR camera from a somewhat light-polluted suburban front yard.
Wait, without a telescope? How did you get that quality?
1. A good 250mm zoom lens.
2. A Polarie polar tracking mount (which never quite worked, but did occasionally allow tracking shots of more than a few seconds).
3. Some post-processing techniques. The Jupiter shot was stacked, and the Orion Nebula and M31 images used contrast stretching to deepen the blacks without losing too many details.
I've got some other camera shots -- the Double Cluster in Perseus, and the Ring Nebula (M57) in Lyra -- but the quality there is not quite good enough.
Is that picture of a star going supernova? That explosion is huge! It must be light years across.
Some people claim that there's no life in the universe besides what's here on earth. Globular clusters like these suggest otherwise. I love space!
Some people claim that there's no life in the universe besides what's here on earth. Globular clusters like these suggest otherwise.
Never having seen other stars, the inhabitants of Lagash had come to believe that their six-star system contained the entirety of the universe.
As I understand it's not going supernova but in the stage of "violently throwing stuff around" that comes before going supernova. So, will prolly go supernova in the future. And, it apparently is about 3 ly across.


With the German government's reaffirmation this month of carbon emissions reduction goals of 40 percent by 2020, and its courageous commitment to phase out coal, the country is now leading the world with an aggressive and unparalleled climate action plan. This sets a new bar for nations gathering in Lima, Peru, for climate talks.
Germany's energy transition, or Energiewende, and its aggressive goal of achieving 100 percent renewable energy by 2050 is a direct result of experiencing, firsthand, the risks that come with dirtier and more dangerous fuels. Germany first targeted nuclear and now it's targeting coal – and for good reason.
Phasing out nuclear energy was a decision based on two factors Germans found so convincing that they now won't even accept nuclear power as a bridge technology: the Chernobyl nuclear catastrophe and the question of nuclear waste storage.
The decision to opt-out of nuclear power started with Chernobyl, and the nuclear contamination of Germany 28 years ago, and it ended with the Fukushima disaster. By then, nuclear power had lost all traction with the German public. Additionally, there was no conclusive evidence of how to deal with nuclear waste responsibly. This meant that the true cost of producing a kilowatt-hour of nuclear energy remained unknown, leaving most Germans skeptical.
That nuclear rationale is relevant to Germany's current response to coal. While coal's catastrophic risks may not be as immediately visible as Chernobyl or Fukushima, the costs are equally immense. Both nuclear and coal come with an incredibly high capacity to contaminate natural resources. And nuclear and coal pollutants don't disappear over time. They accumulate and contaminate quickly and the consequences will be borne most heavily by future generations.
On nuclear, disposing radioactive waste in deep rock formations with high radiation density and little geological activity is not a sustainable option. Leaks are likely and already occurring. On coal, a vast quantity of heavy metals, toxins and radioactive substances are emitted by all power plants that use coal for electricity generation. Even the most modern and effective filters do not enable coal-fired power plants to be zero emission.
Coal-fired power plants, in particular, emit large amounts of greenhouse gases that have a direct impact on global warming and the inevitable rise of sea levels, as well as extreme weather events. And coal's contaminating potential is indiscriminate, transcending boundaries and borders, and equally culpable for catastrophic consequences.
The costs of coal, therefore, have to be calculated in the same way we calculate costs for other energy sources – including the mining, the transport and the disposal of pollutants and greenhouse gases in the atmosphere. Only then is it possible to fairly compare the different sources of energy production. For example, neither the energy costs for mining, nor the energy wasted during transport, are reflected in the cost-calculations of coal as an energy resource.
In quantifying the true costs of energy production, one could create a global regulatory measure and impose a tax on pollutants, especially carbon dioxide emissions, requiring energy producers to pay the state or a community of states. One could also create a market mechanism similar to the one the European Union has introduced with its Emissions Trading System.
Both approaches, however, come with hiccups. On the regulatory front, countries are at differing levels of development and it is unlikely that a global carbon tax is achievable, no matter how desirable it might be. On the market-trading front, the Emissions Trading System has not been a success story for the EU. The costs for a ton of carbon dioxide have to be $33 or more in order to have an impact on polluters, yet the current cost is far below that sum. Ultimately, market mechanisms are hard to manage because it's difficult to convince the market to act responsibly and impose higher costs.
A responsible alternative, then, if carbon taxes and trading mechanisms are unfeasible or fallible, is to ramp up renewable energy investments, as Germany has done with its Energiewende and will continue to do. And why not: The international community has at its disposal more than sufficient renewable resources and the technical capabilities to sustainably harvest these sources. And given the total cost calculations mentioned earlier, we have a moral responsibility to do so. The time for a transition, then, is now. An Energiewende by any other name will still smell as sweet.
• Michael Shank, Ph.D., is adjunct faculty at George Mason University's School for Conflict Analysis and Resolution and a senior fellow at the JustJobs Network and the Global Partnership for the Prevention of Armed Conflict.
• Johann Saathoff is a member of the German Parliament and a member of the Committee for Economy and Energy and the Committee for Agriculture and Food.
Has the Calculus on Climate Talks Changed?
Should We Curb Air Pollution From Air Travel?


Our ELP-LP95 Epson lamp replacement comes with a genuine original 250 watt Osram P-VIP bulb inside. The ELP-LP95 lamp is rated 3,600 lumens with a lamp life of 10,000 hours. Beware of replacement lamps being sold elsewhere with generic bulbs inside that have lower quality, reduced lumen output and shorter rated life.
Received our lap the next day with Ground shipping - Wow! Thank you.


Thank you to Sprouts Farmers Market for sponsoring this post.
I have mixed feelings about meat. While I eat a mostly plant-based diet, I do love a juicy hamburger and crave a good steak on occasion. At the same time, I know meat makes a far greater contribution to greenhouse gases than plants do. Plus, two of my three children are vegetarians, so I'm reminded often of the sacrifice made by the animal kingdom for me to enjoy a smokey BLT.
Some day this dietary tug-of-war may become too much for me and I'll become a full-fledged vegetarian. For now, I'm still eating (and enjoying) meat. That said, I try to be thoughtful about my approach. I aim to eat less meat, less often, but buy good quality, and prepare it with loving care.
This is why I was pleased as punch to find Sprouts Farmers Market selling 100 percent grass fed strip steak on a recent visit. I've come to like the flavor and texture of grass fed beef and appreciate that the cows graze in pastures rather than spending much of their life in feedlots. From a nutrition standpoint, all beef is rich in key nutrients, notably vitamin B-12, zinc, selenium, and iron. In addition, 100 percent grass fed beef tends to be leaner than its grain fed counterpart and the fat that it does have is higher in omega-3 fats and conjugated linolenic acid, both considered beneficial for heart health.
As for how to cook beef, that all depends on the cut. In the case of strip steak, a hot cast iron skillet is my tool of choice. After seasoning the meat well with salt and pepper, I cook it fairly quickly on the stove and then leave it to rest for a good 10 minutes before serving (that helps keep all the flavorful juices inside).
My favorite side for a steak is a pile of crispy roasted potatoes. The ones here are first boiled on the stove top and then go into the oven until golden. While that's happening, whirl together chimichurri sauce, a classic to pair with beef that hails from Argentina. It's traditionally made with olive oil, vinegar, parsley, and garlic, though I've added fresh cilantro into the mix. The bright, acidic sauce is excellent alongside steak.
Having taken time to shop for, prepare, cook, and rest your steak, now is the moment to tuck in …and enjoy every precious bite.
Make the most of a pair of strip steaks by cooking them quickly in a hot skillet and serving them with a tangy, cilantro-spiked chimichurri sauce. On the side, nothing is better than a pile of crispy roasted potatoes. Other cuts of beef will work well here, including hangar and flank steaks, though the cooking times will need to be adjusted depending on the thickness of the meat.
1 ¼ teaspoons kosher salt, divided, plus more for seasoning the potatoes.
Remove the steaks from the fridge and season with 1 teaspoon salt and a light shower of freshly ground black pepper.
Cut the potatoes in quarters (or in half if they are quite small). Put into a medium pot and cover by 11/2 inches with water. Add enough salt so the water tastes like the sea. Bring to a boil and boil until the potatoes are very tender (you can slip a paring knife into the center with ease). Drain well.
While the potatoes cook, make the chimichurri by putting the cilantro, parsley, garlic, red pepper flakes, vinegar, ⅓ cup olive oil, and ¼ teaspoon salt into a blender or food processor and run until finely chopped but not pureed. Set aside.
Transfer the boiled potatoes to a parchment-lined baking sheet, toss with 1 tablespoon olive oil, and season with salt and pepper to taste. Spread out on the baking sheet and roast until golden brown, about 25 minutes (you can always blast them under a broiler if you want to speed things up).
While the potatoes brown, set a large cast iron skillet (or other heavy pan) over medium-high heat and leave it for several minutes until you can feel the heat under your palm when you hover it just above the surface of the pan. Add the canola oil and swirl to coat the bottom. Lay down the steaks and cook until deeply browned, 4 to 5 minutes. Turn the steaks over and continue to cook until done to your liking, an additional 3 to 4 minutes for medium-rare (125 degrees on an instant read thermometer; temperature will rise as it rests). Cook an additional 1 to 2 minutes for medium or medium-well. Transfer to a serving platter to rest for at a good 10 minutes.
Serve the steaks with chimichurri sauce and roasted potatoes on the side.
I'm so glad to hear there is a Sprouts in SF area (Daily City).
We are on a sabbatical in Boulder and learned of Sprouts Farmers Market here, such a wonderful store.
Looking forward to our return in two years.
Sounds like a wonderful adventure!


Now many may think is an easy job, which yes if done correctly, it is. The main issue people face with a "quick fix" style approach is that the behind the scenes area of the new PVC is not checked and replaced if required, it's a slap dash over clad job that initially looks good but will not stand the test of time as it is fixed to substandard timbers.
To give you an idea a typical 3-4 bedroom detached home would take around 5-7 days for us to complete. In this time a full scaffold would be erected, hanging off a ladder to complete this job to a high standard is not possible AND we need to keep the Rooftec Dreamteam and yourselves safe and sound.
A full inspection can now take place of the timbers and rafters/truss ends. This involves stripping off not just the old PVC but the eaves course of tiles/slates and the verge units. In some cases the timbers are sound, some may need repaired and others fully replaced, every property can be different.
We guarantee that your new PVC will be fixed to a solid timber backing, this is essential as the gutters are then fixed to the PVC fascia. This is vital, especially given the Scottish weather as any snow load onto a gutter will not survive on the basis of screws into the PVC alone, there must be a solid timber back to take the manufacturers stipulated weight load.
We also guarantee that all new PVC and rainwater goods are installed to the manufacturers specification and ALL CORRECT FITTINGS are used, another common area of failure on this type of work. This is as well as ensuring that your rainwater goods actually allow the water run away, wouldn't be the first time a badly installed gutter system does the opposite.
Wondering what the best solution for you is, call Nicola today on 01324 309043 and book your free inspection.
This property required a full replacement of all PVC Fascia, Soffits, Gutters and Downpipes. As you can see from the photos we carry this out using a full scaffolding system to ensure our teams safety at all times. This type of project is not as simple as some may think, nailing the new PVC on top of the old only bodes for disaster. After stripping off all the old materials the timbers have to be checked for rot, in some cases the rafter arms need to be extended and the hidden areas behind the PVC have to be in tip top condition for this job to be one to last.
A great end result which our clients were delighted with.
Another full UPVC replacement carried out on this home, once full scaffolding was in place the team got to work, stripping back the tiles, checking all timbers and rebuilding where required before installing the new PVC system.
Fantastic end result once again.
Why not see what we can do for you!
Whether you have a roof leak, broken roof tiles, a slipped slate, blocked or leaking gutters or require a full new roof system you have come to the right place, we have the specialist knowledge to find a solution to your roofing problem.
We are approved members of The National Federation of Roofing Contractors (NFRC- membership number 7940), they have checked us out, vetted our work and gave us their seal of approval – more peace of mind for you.
Simply fill in your details below and we will call you back as soon as we can!


text:
Doesn't Anybody Here Know How to Play This Game?
By Stephen Green Jun 27, 2011 11:45 AM ET
Bad sign: Developers abandoning RIM for iOS and Android. The reasons will shock you — if you haven't been paying attention. Among them:
"You have to put your resources where the growth is," Seesmic Chief Executive Officer Loic Le Meur said in an interview. "It's coming down to the explosive growth of the iPhone and the Android operating systems."
"As soon as RIM brought in a touchscreen and mixed it with a thumbwheel, a keyboard and shortcut keys, it made it really difficult and expensive to develop across devices," said Purple Forge CEO Brian Hurley. "What Apple scored big on is having a touch screen and a button and that's it."
"In deploying Apple applications, there are very few surprises," said Hurley. "In Android, there are increasingly more surprises. But in BlackBerry, there are immediately lots of gotchas across the board."
One developer couldn't even get his app to load on RIM's best-forgotten PlayBook.
RIM's major problem versus iOS and Android has been its incomplete ecosystem. And the problem is getting worse, not better.
Assault on the Capitol Has Let Loose the Electronic Octopus
PBS Lawyer Caught on Tape Saying Trump Supporters' Kids Should Be Taken Away and Thrown in Camps


If you're using Facebook on your desktop or laptop, you'll first need to obtain your video into your computer system (this could require a wire or the SD card from your camera, or probably just a WiFi link, depending upon your camera and also computer's capacities). The most effective style to upload your video in is MP4, yet numerous other styles are additionally sustained.
Currently, you can most likely to Facebook and click the Add Photos/Video switch at the top of your News Feed or Timeline.
You can now click 'Upload Photos/Video' and also select your video.
When you've picked the video you intend to upload, touch open. It'll now show up in your condition bar and also you could include a subtitle or summary of your video prior to pushing 'Post' to share it with your friends.
If you intend to mark friends that appear in your video, click the video to increase it then click the 'Tag video' button. From here you could add a title to your video if you really did not already add one, you could modify the description of your video (adding tags within the text is simple as well-- just start typing a friend's name and afterwards click them when they appear automatically in a drop down menu), as well as you could kind the names of individuals you were with simply beneath the summary to label them.
You could likewise include an area for your video here, and also edit the day and time that the video was uploaded/filmed.
Currently you can tap Completed editing to make the changes public.
If you're utilizing the Facebook app on your smartphone or tablet to upload a video clip to Facebook the process is a tiny bit various.
In the application, faucet 'Photo' at the top of the screen then you'll be faced with the pictures as well as videos stored on your gadget. Choose the video you intend to upload and also press 'Done'.
You could type a subtitle or summary about the video, add a location as well as tag friends by touching on the text entrance location, and then you could tap 'Article' to share it with your friends.
Sometimes it takes a bit for your video to upload, particularly if it's a lengthy one, however Facebook will certainly notify you when it prepares to view.


text:
The Kenyan king of twist is still in people's minds but he died a poor man
John Kabaka
Kabaka's son only house
I am listening to the leading station and most listened to in Western Kenya and the North Rift, West FM, on air is one of the hit songs played by the African twist king Daudi Kabaka.
Something comes in my mind that the legend is no more but from where I am people are really applauding the music.
As a mirror of the society I decided I should do something and find out on their behalf, who Kabaka was in the field of music or rather just reward them by profiling this legend whose music is unforgettable.
I set off the next morning , catch up with a matatu at the stage that will drop me at the junction on Kakamega Kisumu road, from their I entered a vehicle heading to Kapsabet and after quite a long drive I am at the Cheptulu shopping center of Hamisi constituency.
At Hamisi I negotiate with an Ogada man who offers to take me to Muhudu the home land of the late, off the tarmac road and now to the murram road, we pass by Shibanga sub location and after like a kilometer we enter a terrain you will never want to use but am focused.
For about 5 kilometers my boda pilot as he calls himself shows me a home of only one house and a big un-dug field, as a gentleman who appreciates Kabaka my namesake and his music am indeed surprised like many of you will in a second.
The only house belongs to Kabaka's son Reuben Abwonyo who is not here though but in Nairobi, I wanted to know inside me and asked myself, where is his house, and the gentleman who takes care of this home comes and tells me that his master, Kabaka's son pulled down the small structure that was there some years ago.
He goes further and tells me that Kabaka had no house here and that structure was just erected after he died to appear like he had a house of which he hadn't.
The only thing seen here is hard red soil that has now been converted into farmland ready to be planted.
On the other side of the house lies three tombs of which one that is poorly cemented with fading off names belongs to the legend, the African king of twist.
"This is where Daudi Kabaka lies, don't be surprised because what I am telling is true," said Samuel Mboyi as I stared at him in disbelief.
At the edge of his land lies part of Kaimosi forest, the ever-green forest and here is where Tiriki boys being converted into men face their knives and stay till they are well.
Now we are at the legends home, no house, nothing to show that he existed and he was indeed a legend but only his grave that will very soon disappear but his music will remain.
So who is rather was Daudi Kabaka,
As one of the musical architects of Kenya's burgeoning recording industry of the 1960s, Daudi Kabaka, passed away on November 26, 2001, two days short of his 62nd birthday.
Kabaka's music and lyrics captured the spirit of a newly independent Kenya and chronicled daily life and the changing social environment.
His music would be instantly recognizable to most Kenyans and those in the larger Swahili speaking region within Eastern Africa.
Sadly, very little of Kabaka's music is known outside of Africa today. However, fans of Kenyan music may actually have some of his work without knowing it.
Throughout the 60s, he was one of the salaried musicians to work at Equator Sound Studio in Nairobi alongside other well-known musicians of the time: Gabriel Omolo, George Agade, David Amunga, Nashil Pichen, Peter Tsotsi, and Charles and Frida Songo, and Fadhili William.
Daudi's guitar or voice is heard in such hits as Fadhili William's Malaika, Pole Musa by Peter Tsotsi and Nashil Pichen, Taxi Driver with Fadhili, and Gabriel Omolo's LunchTime.
For more than a generation, one of Kabaka's compositions, Harambee Harambee, was played hourly on the Voice of Kenya (now KBC).
It was a signature tune, played at the end of every news broadcast. While the use of Harambee Harambee was undoubtedly a source of pride if not income for Kabaka, he was perhaps even more pleased by his status as "King of Twist." That is, "twist" in the Chubby Checker sense.
Over the next few years, Kabaka composed a series of songs with references to "twist" in the lyrics and titles, a number of which became big hits throughout East Africa: African Twist, Bachelor Boy Twist, Bush Baby Twist, Taita Twist, etc. For Kabaka and his fans, however, it wasn't the lyrics or the titles that made it twist.
It was the beat. Daudi based his twist style on the South African Kwela beat. In essence, it was a fast "wemoweh" rhythm.
Yet, each of his songs had something unique or innovative about them. Even his Harambee Harambee is a version of twist.
The melody, however, sounds like the old American chain gang song, Worried Man Blues (popularized by the Kingston Trio as, A Worried Man).
While the strumming rhythm guitar provides the twist beat, the bass is walking up and down the scale on the beat, the tambourine is on the back-beat, and the lead guitar is off doing rockabilly solos.
Another of Kabaka's twist tunes, Helule Helule, caught the attention of the British pop group, The Tremeloes.
They borrowed the chorus, added some English verses and made it to number 14 in the British charts in May, 1967.
For its use, Kabaka did share a substantial licensing fee with his Equator Sound producer, Charles Worrod, though Daudi questioned why he never received any further royalties.
Twist was certainly not Kabaka's only style. Kilio Kwetu has the same unplugged sound as African Twist but its beat is more like a rumba.
Although Kabaka's ancestral home was Tiriki in Western Kenya, he actually spent little of his childhood or adult life there.
He was born in Kyambogo Uganda (near Kampala) in 1939 (and named after Kabaka Daudi Chwa, the Buganda king who died that same year).
By 1950, his father, a railway worker, had been transferred to Nairobi and Daudi came to join him and to enter St. Peter Clevers Primary School.
At the age of twelve, his father found new accommodations for him with some young men who had guitars and a phonograph.
This exposed him to the music of Jean Bosco, Losta Abelo, and Léon Bukasa, among others. It was only two years later, in 1954, that fourteen year old Daudi Kabaka recorded his own composition, Nie Kabaka Naimba, for the CMS label (Capitol Music Stores).
He continued with music and school up to 1957 when he took a job with a hotel and catering company. However, his career as a food and beverage manager was short lived.
In 1959, he began working with Equator Sound Studio and soon became a salaried member of the Equator Sound Boys.
As suggested above, it was a time of close cooperation and collaboration between some of Africa's most gifted musicians.
While owner/producer Charles Worrod was certainly looking after his interests in registering himself as the composer/arranger of Equator label songs, he also provided a fruitful atmosphere where his salaried staff could experiment, learn, and develop.
In the late 60s, he enrolled six of his core musicians including Daudi in a two-year course at the Conservatory of Music in Nairobi to learn music notation and theory.
That goodwill soon ended however for Daudi when Worrod learned of Daudi's membership in the PRS (Performing Right Society) in London. He resigned from Equator Sound and, in 1972, with some of his old Equator colleagues; they launched their own production company, African Eagles Recording, Ltd.
The studio band worked under the name African Eagles Lupopo and had a number of successful releases through the mid-70s and tours through Zambia, Malawi, and Uganda.
Following the demise of African Eagles Recording, Ltd, Daudi continued to record, collaborating from time to time with old colleagues and new partners like the Maroon Commandos, though during this period, the big hits eluded him.
The late 80s and early 90s was a period of semi-retirement. In 1993, URTNA (the Union of Radio and Television Networks in Africa) recognized Kabaka's achievements with an honorary title of "Kenyan Cultural Ambassador." This was followed in 1995 by Kenyatta University's Distinguished Service Award.
With his background as a musician and his training from the music conservatory, Kabaka later taught for several years as a Creative Arts instructor at Kenyatta University.
Over the last couple of years, he started performing regularly with other veteran musicians of his generation such as Fadhili William, George Agade, and John Nzenze in Oldies Nite performances.
With the passing of Fadhili and George, Kabaka had brought together a new band of younger musicians he called Wazalendo Eagles Band.
Daudi Kabaka Masika was buried at his home in Muhudu, Tiriki in Western Kenya on December 15th.
His community is like forgetting him but his name and music will forever remain.
The only hope remaining in Kabaka's home is one tree which I am told is so unique that it never grows anywhere but only where the grass used to thatch houses grow, but here it is in Kabaka 's home.
Its name is Munanyenzo a tree that is said to have medicinal value and plays a big role in the Tiriki community.
Munanyenzo tree leaves
It is said to send away bad dreams or demonic nightmares. It is placed under the mattress and if the owner of the bed has been having the so-called "bad and scary demonic dreams" by the time the leaves are placed under the mattress the fellow will never have such dreams again.
I think many might need this by the time they read this story. I carried a branch with me and if you have been encountering the dreams check on me so that we can find out, but the Tiriki community says it works.
Kenyatta University drama and choir club has been known for playing and liking the Kabaka music for a long time and its band entertained the large congregation of mourners, playing Kabaka's own compositions.
The legend left behind a reported 47 children.
Daudi Kabaka
Previous articleBungoma County launches scholarship application program
Next article15 years since Jacob Luseno died