text:
Q: Drag and drop HTML5 element and javascript issue I have a list:

        01 - Lorem ipsum dolor sit amet.

        02 - Lorem ipsum dolor.

        03 - Lorem ipsum dolor sit amet, consectetur adipisicing elit.

        04 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aliquam dolore totam, labore, voluptate delectus?

        05 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo, soluta.

Now I need to reorder the LI's members using the HTML5 drag 'n drop.
My issue is that releasing in the new position never happens. I even tried to use this example but it did not work for me:
https://html.spec.whatwg.org/multipage/dnd.html#event-drag
Here I leave you a jsfiddle with my full working (and wrong) code. May you help me please.
https://jsfiddle.net/junihh/vrg7oj2w/

A: you can try this

var dragSrcEl = null;

function handleDragStart(e) {
  // Target (this) element is the source node.
  dragSrcEl = this;

  e.dataTransfer.effectAllowed = 'move';
  e.dataTransfer.setData('text/html', this.outerHTML);

  this.classList.add('dragElem');
}
function handleDragOver(e) {
  if (e.preventDefault) {
    e.preventDefault(); // Necessary. Allows us to drop.
  }
  this.classList.add('over');

  e.dataTransfer.dropEffect = 'move';  // See the section on the DataTransfer object.

  return false;
}

function handleDragEnter(e) {
  // this / e.target is the current hover target.
}

function handleDragLeave(e) {
  this.classList.remove('over');
}

function handleDrop(e) {

  if (e.stopPropagation) {
    e.stopPropagation();
  }

  if (dragSrcEl != this) {
    this.parentNode.removeChild(dragSrcEl);
    var dropHTML = e.dataTransfer.getData('text/html');
    this.insertAdjacentHTML('beforebegin',dropHTML);
    var dropElem = this.previousSibling;
    addDnDHandlers(dropElem);

  }
  this.classList.remove('over');
  return false;
}

function handleDragEnd(e) {
  this.classList.remove('over');

}

function addDnDHandlers(elem) {
  elem.addEventListener('dragstart', handleDragStart, false);
  elem.addEventListener('dragenter', handleDragEnter, false)
  elem.addEventListener('dragover', handleDragOver, false);
  elem.addEventListener('dragleave', handleDragLeave, false);
  elem.addEventListener('drop', handleDrop, false);
  elem.addEventListener('dragend', handleDragEnd, false);

}

var cols = document.querySelectorAll('#drag-list li');
[].forEach.call(cols, addDnDHandlers);
* {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    list-style: none;
    outline: 0;
}

html {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    font: normal 18px/100% Helvetica,Arial,sans-serif;
    color: #666;
}

.transitions, a, .page {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

a {
    color: #000;
    text-decoration: underline;
}
a:hover { text-decoration: none; }

.page {
    max-width: 750px;
    min-width: 230px;
    margin: 25px auto;
    padding: 0 25px;
}

.list li {
    position: relative;
    overflow: hidden;
    margin-bottom: 5px;
    border: 1px solid #DDD;
    cursor: move; //effect drag and drop
}
.list span {
    display: block;
}
.list span:nth-child(1) {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 25px;
    background-color: #EEE;
}
.list span:nth-child(2) {
    padding: 10px 10px 10px 40px;
    line-height: 120%;
}

        01 - Lorem ipsum dolor sit amet.

        02 - Lorem ipsum dolor.

        03 - Lorem ipsum dolor sit amet, consectetur adipisicing elit.

        04 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet aliquam dolore totam, labore, voluptate delectus?

        05 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo, soluta.

A: Add the dragover and drop events to the list.
Reference:
https://developer.mozilla.org/en-US/docs/Web/Events/drop


text:
NEW MEMBER OF THE BOARD OF COWIFONDEN - MAY 2018
COWIfonden welcomes Suzanne C. Beckmann as new member of its board with effect from May 2018. COWIfonden is the majority shareholder in the COWI Group.
We have appointed Suzanne C. Beckmann as new external board member. Suzanne enters the board after Lene Lange resigned from the board in connection with the board meeting on 30 May 2018.
Suzanne was born in Germany and holds a master's degree from the University in Bonn in Nutritional Science. Later Suzanne achieved a PhD in psychology at the university in Stuttgart in 1992. Since 1990, Suzanne has been employed at the School of Business and Social Sciences in Aarhus and later at the University of Southern Denmark, and since 1996 professor at CBS, initially with a professorship in "Consumer research", then in "International Strategic Management" and latest in "Consumer research, marketing and communication". Suzanne has through the years been a member of numerous Danish and international boards of directors, committees and steering groups. Suzanne has since 2016 been independent as director and partner in the company ECOconnection.
By 30 May 2018, COWIfonden's board comprises:
Anton Petersen (Chairman)
Martin P. Bendsøe (Vice Chairman)
Suzanne C. Beckmann
Knud Erik Christensen
Ejgil Martin Veje
Birgit Farstad Larsen
Jesper Kjølholt (elected by the employees)
Heidi Lund Hansen (elected by the employees)
Kristin Sandberg (elected by the employees)

redpajama_set_name: RedPajamaCommonCrawl


Author Lucy Wang does some investigating "down there" where she discovers chirping chickens, spicy red peppers and the door to death and destruction.
This guerrilla reading is an excerpt from her one-woman show, Chinese Girls Don't Swear. Read more about Wang or follow her @sensuousgourmet.


text:
San Bernardino and the Islamic State Footprint in America
November / December 2015, Volume 8, Issue 11
Lorenzo Vidino, Seamus Hughes
Operations, Plots & Attacks
Abstract: While details are still emerging, evidence appears to indicate that the perpetrators of the December 2 San Bernardino shooting had radicalized, supported the Islamic State, and had long been planning an attack. While still at a significantly lower level than seen in most Western European countries, the degree of recent Islamic State-related mobilization in the United States is unprecedented in this country, with more than 70 individuals arrested and 900 open investigations throughout the country.
On December 2, 2015, Syed Rizwan Farook and his wife, Tashfeen Malik, attacked a holiday party at the Inland Regional Center in San Bernardino, California. After the attack, which killed 14 and injured 21, the duo fled the scene before engaging in a firefight with police that ended in their death.[1] Information about the Farooks' lives and motives has been slow to emerge, but the FBI labeled it an act of terrorism after combing through the couple's belongings and their digital footprint.
Farook was born in Illinois and raised in California, while his wife, Malik, was born in Pakistan and reportedly had lived in Saudi Arabia for some time.[2] The couple lived in a modest Redwoods home and pursued a seemingly unremarkable life, Farook working as a health inspector and Malik as a stay-at-home mother.
Initial reports do not seem to point to any direct link between the couple and any jihadist group or network. Yet there are clear indications, as the FBI stated, that "both subjects were radicalized and [had] been for quite some time."[3] While many reports initially claimed that Malik radicalized her husband, investigators suggest that Farook held militant views prior to meeting his wife.[4] It is very difficult to determine who influenced whom or if, as is equally likely, it was a mutual radicalization. It is clear that the couple had been preparing for some kind of operation for an extensive period of time. Investigators believe that Farook "may have discussed an attack as many as three years ago," even before marrying Malik.[5] At the time of writing, investigators have been exploring the possibility that in 2012 Farook had discussed carrying out attacks together with his friend and neighbor Enrique Martinez. According to the Latino convert, Farook and Martinez abandoned their plans once authorities caught four local men seeking to travel to Afghanistan to kill Americans.[6] Reports suggest that Farook was "in the social circle" of the group's ringleader.[7]
Farook's intentions seemed to have grown stronger once he married. Leading up to the attack, he and his wife[5] both frequented local gun ranges and made financial arrangements regarding their daughter and Farook's mother. Malik's pledge of allegiance to the Islamic State on behalf of both, reportedly posted on Facebook shortly before the attack, while not necessarily indicating any kind of operational connection with the group, would be the culmination of her and her husband's seemingly quiet and long radicalization trajectory.[8]
The Islamic State Mobilization in America
While the exact details are still emerging, the Farooks' actions appear to follow a trend seen in the United States over the last few years. In 2010, then-Attorney General Eric Holder indicated that the terrorist threat had "changed from simply worrying about foreigners coming here, to worrying about people in the United States, American citizens—raised here, born here—and who for whatever reason, have decided that they are going to become radicalized and take up arms against the nation in which they were born."[9] Authorities have thwarted most of these domestic plots, many of which were prodded in part by the FBI through sting operations. On other occasions, however, American militants succeeded, as in the cases of Little Rock (2009),[10] Fort Hood (2009),[11] and Boston (2013).[12] These fears have become heightened with the rise of the Islamic State, which has triggered an unprecedented mobilization among U.S.-based jihadist sympathizers. The reasons are multifaceted. As in other countries, small but not insignificant numbers of Americans have been attracted by the emotional and religious appeal of the self-proclaimed caliphate. And the Islamic State has conveyed its powerful message through a masterful social media campaign that has managed to reach countries like the United States that traditionally have not hosted a large jihadist/Salafist network.
While still significantly less dramatic than what has been seen in Western European countries, the degree of recent mobilization in the United States by Islamic State sympathizers shows the magnitude of the phenomenon. Publicly available information confirms a sharp surge in jihadist activities, especially when compared to the relative lull seen after the wave of arrests following 9/11. While U.S. authorities arrested 209 people on terrorism-related charges between 2001 and 2012,[13] 71 individuals linked to the Islamic State have been charged since March 2014. The number of arrests has spiked in recent months, with 56 arrested since January 2015. In the same period, a handful of attacks have occurred across the country, to include Garland, Texas, and Chattanooga, Tennessee.
In June 2015, the FBI stated that "upwards of 200 Americans have traveled or attempted to travel to Syria to participate in the conflict."[14] A few weeks later, the Office of the Director of National Intelligence estimated that more than 250 individuals from the United States had traveled or attempted to travel to the conflict area, while a few dozen had joined the Islamic State and around 20 had died.[15]
The number of American foreign fighters is small compared to those who sympathize with and embrace the Islamic State's ideology. U.S. authorities have said consistently that the popularity of the Islamic State's propaganda, driven largely by its savvy social media tactics, wholly overshadows that of al-Qa`ida. Tellingly, in May 2015, FBI Director James Comey spoke of "hundreds, maybe thousands" of Islamic State sympathizers and potential recruits across the country, disclosing that the Bureau had related investigations running in all 50 states.[16] A few months later, in October 2015, Comey revealed that the FBI had 900 active investigations against homegrown violent extremists.[17]
The Islamic State Community in the United States
While early reports point to a link, albeit purely inspirational and not operational, between the Farooks and the Islamic State, there has not yet been any public confirmation. While husbands and wives have been implicated before in similar attacks, there is no typical profile for an Islamic State sympathizer in the United States.[a] A report by these authors recently released by the George Washington University's Program on Extremism, ISIS in America: From Retweets to Raqqa, examined the cases of all 71 individuals charged in the United States in relation to Islamic State activities. The findings clearly indicate that Islamic State supporters are extremely heterogeneous, ranging from grown men who had flirted with jihadist militancy for over a decade to teenagers who have only recently converted to Islam, from the son of a Boston-area police officer to a single mother of two young children, these individuals differ widely in race, age, class, education, and background.
Equally important, Islamic State sympathizers in the United States have different patterns of radicalization and degrees of connectivity to the group. For many Americans, involvement with the Islamic State is a purely virtual experience. Shannon Conley[b] and Christopher Cornell[c] are quintessential examples of individuals whose radicalization was confined to the online space, completely devoid of contact with like-minded individuals in the physical world. The role of social media in recent developments in the jihadist scene in the United States, as elsewhere, is unquestionably central. Indeed, the Islamic State's ability to directly and constantly reach Americans through social media has manifested itself in a number of ways, to include triggering or advancing their radicalization process, helping them leave for Syria, and inciting them to carry out attacks in United States.
It would be wrong, however, to overemphasize the impact of social media by considering it the sole medium of radicalization and mobilization for American supporters of the Islamic State. A close examination reveals a significantly more nuanced reality in the United States where social media, while almost ubiquitous, plays many different roles. In many cases, the role of the internet is not all encompassing, but rather complementary to equally, if not more, important dynamics in the physical world. In these cases, individual Islamic State sympathizers did not begin their radicalization alone in front of a computer screen, but rather via face-to-face interactions with preexisting social contacts who had already embraced jihadist ideology. Over time, these individuals tend to form a cluster, a small, informal knot of like-minded individuals whose group dynamics reinforce the beliefs of its members. Such clusters were identified, for example, in various FBI investigations in Minneapolis, St. Louis, and the greater New York area. Just as the virtual community of Islamic State supporters acts as an echo chamber, these real-life connections reinforce and strengthen individual commitment to the Islamic State.
The diversity of American Islamic State recruits also extends to the roles they take in support of the cause. At one end of the spectrum is the small, yet alarming, number of Americans who have managed to establish deep connections to the Islamic State, in some cases even occupying mid-level leadership positions.[d] On the opposite end of the mobilization spectrum, a more common typology are those whose contributions to the Islamic State fail to exceed online declarations of support and personal fantasies of joining the group.
Travel or Stay?
A little more than half (51 percent) of those indicted on Islamic State–related charges in the United States had attempted to travel abroad or successfully left the country for Syria and/or Iraq. Yet, over the last few months, authorities have noted a decline in the number of Americans seeking to travel overseas.[16] It is not clear what has caused this shift. Possible overlapping factors include an aggressive arrest campaign carried out by the FBI over the summer and increased difficulties in reaching Syrian territory. It cannot be ruled out, however, that the Islamic State's exhortation to supporters worldwide to "rise and defend your state [Islamic State] from your place wherever you may be" might have a role in the decline, the implication being that Islamic State sympathizers like the Farooks might be more inclined to carry out domestic attacks rather than attempt the arduous journey to join the caliphate.[17]
The U.S. counterterrorism community is facing a new and unprecedented challenge. The number of U.S.-based individuals who espouse jihadist ideology, while still not comparable to central and northern European dynamics, has boomed over the last three years. Most of the participants in this counter-culture will never make the leap from talk to action, and will never move from the sterile echo chamber of keyboard jihad to actual militancy. But, like their European counterparts, U.S. authorities are struggling with the legal and manpower challenges inherent in attempting to distinguish between who is exercising free speech and who is about to commit acts of terrorism.
The potential threat environment for the United States appears to be multifaceted. Individuals and small clusters who, in one way or the other, have managed to acquire operational skills from radical Islamist groups and who could carry out attacks either independently or under direct operational control are one dimension. Another, perhaps less sophisticated, but, maybe more difficult to detect dimension are those individuals and small clusters (perhaps like the Farooks) who, without any operational links with foreign organizations, can still pose a significant threat.
Lorenzo Vidino is the director of the Program on Extremism at George Washington University.
Seamus Hughes is the deputy director of the Program and you can follow them @gwupoe
Substantive Notes
[a] One notable example is Texas resident Michael Todd Wolfe, who attempted to travel to Syria with his wife and two children.
[b] Colorado native Shannon Conley is a convert who was arrested in April 2014. She had developed an obsessive infatuation with the Islamic State and had engaged Islamic State sympathizers online but never interacted with any like-minded individual in the physical space.
[c] Ohio native Christopher Cornell, a loner who lived with his parents, developed an online persona as Raheel Mahrus Ubaydah and a network of online contacts. One of them was an FBI undercover operative and Cornell was arrested in January 2015.
[d] That is the case, for example, of Bosnian native Abdullah Ramo Pazara, a naturalized U.S. citizen from St. Louis who became the emir of an Islamic State khatiba in Syria and died in Kobani in the fall of 2014.
[1] Faith Karimi, Jason Hanna, and Yousuf Basil, "San Bernardino Shooters 'Supporters' Of ISIS, Terror Group Says," CNN, December 5, 2015.
[2] Adam Nagourney, Ian Lovett, Julie Turkewitz, and Benjamin Mueller, "Couple Kept Tight Lid On Plans For San Bernardino Shooting," New York Times, December 4, 2015.
[3] Adam Nagourney, Adam, Salman Masood, and Michael Schmidt, "Killers Were Long Radicalized, F.B.I. Investigators Say," New York Times, December 8, 2015.
[5] Andrew Blankstein, Robert Windrem, Pete Williams, Richard Esposito, and Hannah Rappleye, "San Bernardino Shooters Practiced for Attack a Year in Advance," NBC, December 8, 2015.
[6] Joel Achenbach, Sari Horwitz, and Adam Goldman, "Friend of San Bernardino shooter is at center of FBI investigation," Washington Post, December 13, 2015.
[7] Evan Perez and Pamela Brown, "San Bernardino shooting: Farook tied to jihadist recruiter, officials say," CNN, December 11, 2015.
[8] Michael S. Schmidt and Richard Perez-Peñadec, "F.B.I. Treating San Bernardino Attack as Terrorism Case," New York Times, December 4, 2015.
[9] Jack Cloherty and Pierre Thomas, "Attorney General's Blunt Warning on Terror Attacks," ABC News, December 21, 2010.
[10] Steve Barnes and James Dao, "Gunman Kills Solider Outside Recruiting Station," New York Times, June 1, 2009.
[11] Ellen Wulfhorst and Jana J. Pruet, "Fort Hood Shooter Sentenced to Death for 2009 Killings," Reuters, August 28, 2013.
[12] Jennifer Levitz, "Boston Marathon Bomber Dzhokhar Tsarnaev Sentenced to Death, Apologizes to Victims," Wall Street Journal, June 24, 2015.
[13] Charles Kurzman, "Muslim-American Terrorism in 2013," Triangle Center on Terrorism and Homeland Security, February 5, 2014, p. 2.
[14] Testimony of Michael B. Steinbach, Assistant Director of the FBI, Terrorism Gone Viral: The Attack in Garland, Texas and Beyond, House Homeland Security Committee, June 3, 2015.
[15] Barbara Starr, "'A Few Dozen Americans' in ISIS Ranks," CNN, July 15, 2015.
[16] Tom Vanden Brook, "ISIL Activity Drives up Pentagon Threat Level," USA Today, May 8, 2015.
[17] Kevin Johnson, "Comey: Feds have Roughly 900 Domestic Probes about Islamic State Operatives," USA Today, October 23, 2015.
[18] Johnson, "Comey: Feds have Roughly 900 Domestic Probes about Islamic State Operatives."
[19] "Just Terror," Dabiq, 1:12, 2014, p. 40.


text:
Q: IE 8: background-size fix I've tried to add background size to IE but it's not working at all:
HTML

Notícias

CSS:
div#content h2#news {
    background: url('../images/news-background.jpg') no-repeat;
    background-size: 100%;
    border-radius: 20px;
    color: #fff;
    margin: 20px 0 0 20px;
    padding: 8px 20px;
    width: 90%;
    -moz-background-size: 100%;
    -moz-border-radius: 20px;
    -webkit-background-size: 100%;
    -webkit-border-radius: 20px;
}

What's wrong with the filter?

A: I created jquery.backgroundSize.js: a 1.5K jquery plugin that can be used as a IE8 fallback for "cover" and "contain" values. Have a look at the demo.
Solving your problem could be as simple as:
$("h2#news").css({backgroundSize: "cover"});

A: As pointed by @RSK IE8 doesn't support background-size.
To figure out a way to deal with this, I used some IE specific hacks as showed here:
//IE8.0 Hack!
@media \0screen {
    .brand {
        background-image: url("./images/logo1.png");
        margin-top: 8px;
    }

    .navbar .brand {
        margin-left: -2px;
        padding-bottom: 2px;
    }
}

//IE7.0 Hack!
*+html .brand {
    background-image: url("./images/logo1.png");
    margin-top: 8px;
}

*+html .navbar .brand {
    margin-left: -2px;
    padding-bottom: 2px;
}

Using this I was able to change my logo image to a ugly resided picture. But the final result is fine. I suggest u try something like this.

A: Also i have found another useful link. It is a background hack used like this
.selector { background-size: cover; -ms-behavior: url(/backgroundsize.min.htc); }

https://github.com/louisremi/background-size-polyfill

A: As posted by 'Dan' in a similar thread, there is a possible fix if you're not using a sprite:
How do I make background-size work in IE?
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale');

-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='images/logo.gif',
sizingMethod='scale')";

However, this scales the entire image to fit in the allocated area. So
  if your using a sprite, this may cause issues.

Caution
The filter has a flaw, any links inside the allocated area are no longer clickable.

A: I use the filter solution above, for ie8.
However..
In order to solve the freezing links problem , do also the following:
background: no-repeat center center fixed\0/; /* IE8 HACK */

This has solved the frozen links problem for me.

redpajama_set_name: RedPajamaStackExchange


text:
// -----------------------------------------------------------------------
// <copyright file="StripePaymentProcessorFixture.cs" company="Rare Crowds Inc">
// Copyright 2012-2013 Rare Crowds, Inc.
//
//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.
// </copyright>
// -----------------------------------------------------------------------

using System;
using System.Configuration;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PaymentProcessor;
using Stripe;
using Utilities;

namespace BillingIntegrationTests
{
    /// Integration-test fixture for Stripe implementation of IPaymentProcessor.
    [TestClass]
    public class StripePaymentProcessorFixture
    {
        /// Stripe secret key used for testing.
        private string stripeTestSecretKey;

        /// Stripe public key used for testing.
        private string stripeTestPublicKey;

        /// Per-test initialization.
        [TestInitialize]
        public void InitializeTest()
        {
            this.stripeTestSecretKey = ConfigurationManager.AppSettings["PaymentProcessor.ApiSecretKey"];
            this.stripeTestPublicKey = ConfigurationManager.AppSettings["PaymentProcessor.ApiPublicKey"];
        }

        /// Successfully run customer charge pipeline (create, update, charge, refund).
        [TestMethod]
        public void ChargePipelineSuccess()
        {
            var tokenId = this.GetTestBillingToken();
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            var customerBillingId = paymentProcessor.CreateCustomer(tokenId, "rc_TestCompany");
            Assert.IsFalse(string.IsNullOrEmpty(customerBillingId));

            tokenId = this.GetTestBillingToken();
            var customerBillingIdUpdate = paymentProcessor.UpdateCustomer(tokenId, customerBillingId, "rc_TestCompanyModified");
            Assert.AreEqual(customerBillingId, customerBillingIdUpdate);

            var stripeCustomerService = new StripeCustomerService(this.stripeTestSecretKey);
            var resultStripeCustomer = stripeCustomerService.Get(customerBillingId);
            Assert.AreEqual("rc_TestCompanyModified", resultStripeCustomer.Description);

            var chargeId = paymentProcessor.ChargeCustomer(customerBillingId, 10.00m, "Rare Crowds Inc.");
            Assert.IsFalse(string.IsNullOrEmpty(chargeId));

            var stripeChargeService = new StripeChargeService(this.stripeTestSecretKey);
            var stripeCharge = stripeChargeService.Get(chargeId);
            Assert.AreEqual(1000, stripeCharge.AmountInCents);

            var chargeIdRefund = paymentProcessor.RefundCustomer(customerBillingId, chargeId, 5.00m);
            Assert.AreEqual(chargeId, chargeIdRefund);

            stripeCharge = stripeChargeService.Get(chargeId);
            Assert.AreEqual(1000, stripeCharge.AmountInCents);
            Assert.AreEqual(500, stripeCharge.AmountInCentsRefunded);

            var chargeIdCheck = paymentProcessor.PerformChargeCheck(customerBillingId, 10.00m, "Rare Crowds Inc.");
            stripeCharge = stripeChargeService.Get(chargeIdCheck);
            Assert.AreEqual(1000, stripeCharge.AmountInCents);
            Assert.AreEqual(1000, stripeCharge.AmountInCentsRefunded);
        }

        /// Failure throws on create customer.
        [TestMethod]
        [ExpectedException(typeof(AppsGenericException))]
        public void CreateCustomerFail()
        {
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            paymentProcessor.CreateCustomer("bogustoken", "rc_Fail");
        }

        /// Failure throws on update customer.
        [TestMethod]
        [ExpectedException(typeof(AppsGenericException))]
        public void UpdateCustomerFail()
        {
            var tokenId = this.GetTestBillingToken();
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            paymentProcessor.UpdateCustomer(tokenId, "bogusbillingid", "rc_Fail");
        }

        /// Failure throws on charge customer.
        [TestMethod]
        [ExpectedException(typeof(AppsGenericException))]
        public void ChargeCustomerFail()
        {
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            paymentProcessor.ChargeCustomer("bogusbillingid", 10.00m, "rc_Fail");
        }

        /// Failure throws on perform charge check.
        [TestMethod]
        [ExpectedException(typeof(AppsGenericException))]
        public void PerformChargeCheckFail()
        {
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            paymentProcessor.PerformChargeCheck("bogusbillingid", 10.00m, "rc_Fail");
        }

        /// Failure throws on refund customer.
        [TestMethod]
        [ExpectedException(typeof(AppsGenericException))]
        public void RefundCustomerFail()
        {
            IPaymentProcessor paymentProcessor = new StripePaymentProcessor(this.stripeTestSecretKey);
            paymentProcessor.RefundCustomer("bogusbillingid", "buguschargeId", 10.00m);
        }

        /// Call Stripe api to get a test billing token.
        /// <returns>The token id.</returns>
        private string GetTestBillingToken()
        {
            var tokenService = new StripeTokenService(this.stripeTestPublicKey);
            var stripeToken = new StripeTokenCreateOptions();
            stripeToken.CardNumber = "4242424242424242";
            stripeToken.CardCvc = "123";
            stripeToken.CardExpirationMonth = "{0}".FormatInvariant(DateTime.Now.AddMonths(1).Month);
            stripeToken.CardExpirationYear = "{0}".FormatInvariant(DateTime.Now.AddYears(1).Year);
            return tokenService.Create(stripeToken).Id;
        }
    }
}

redpajama_set_name: RedPajamaGithub


A leading feminist has had an invitation to speak at Cambridge University withdrawn amid concerns that transgender activists could oppose her.
Linda Bellos had been invited by the Beard Society at Peterhouse College and sent a list of dates — which were withdrawn after she said she would be "publicly questioning some of the trans politics . . . which seems to assert the power of those who were previously designated male to tell lesbians, and especially lesbian feminists, what to say and think".


Mozilla plans to improve the way Firefox users can switch the default interface language of the browser and the spell checker that comes with it. Firefox users have to download language packs and dictionary packs from Mozilla's website currently to change the interface language or download the browser in a different locale.
Most users of the browser who downloaded the browser in a language that they don't want to use have probably downloaded the browser in the correct language. It is possible to install the new language version over the old to switch to the new language.
The workaround does not help Firefox users who want to use multiple interface languages. While it is theoretically possible to use different profiles each with its own language, or switch between languages using the preference intl.locale.requested, it is not really comfortable.
If you look at how Chrome handles the switching to a different interface language, you will realize that Google's browser handles things much better.
Chrome users select a different language in the settings to switch to it. A restart of the web browser is all that is required to display Chrome in the newly selected language.
The language switching and dictionary switching process of Firefox will change significantly and for the better in the future. Basically, what Mozilla plans to do is integrate options to switch the interface language of the Firefox browser directly in the preferences.
Mozilla plans to roll out the functionality in steps. Firefox will display all installed languages under language preferences in the first stage; this makes it easy to switch to another of the languages as it can be selected.
A link to download new language packs is provided in the first stage of implementation. The second stage makes it even easier as it is then possible to search for and install language packs directly from within Firefox similarly to how Google Chrome handles the functionality.
Similar functionality improvements will be included for the supported spell checkers of the browser. Mozilla plans to list all installed spell checkers in a table on the preferences page. Firefox users may select and deselect dictionaries if available using the interface.
Dictionaries will be downloaded alongside newly installed languages eventually, another useful feature that will improve language switching in Firefox.
Firefox Nightly users may set the preference intl.multilingual.enabled to true to get some of the new functionality right away.
Mozilla plans to improve the way Firefox users can switch the default interface language of the browser and the spell checker that comes with it.
Nice new features indeed. Loving that there offering an improved interface language switching.
Only the improved spelling is something that is where I have a question about.
Do you Martin (Or anybody else) know or this improved spelling function is offering less -, the same – or even more possibilities as the free, Grammarly grammar and spelling WebExtension?
It is offering less, basically only a word by word comparison between what you write and the dictionary.
For privacy I use the ghacks-user.js with all user_prefs related to geolocation enabled. This "improvement" from Mozilla about languages do not concern me, only all bad changes concern me.
"does not", sorry for the typo.
Functionality that makes FF distinct from Chrome? Remove!
Functionality and UI tweaks that make FF indistinguishable from Chrome? We're lovin' it!
Always the English interface here but English and French dictionaries, the former included in Firefox because I always install Firefox en-US, the latter downloaded from AMO.
I have a few, very few settings in my userChrome.css file that depend on the interface language; their functions would become inefficient if I changed Firefox's interface language (I'd have to modify the settings or double them).
I hope this change will be for the best. I hate geo-localization features deciding to show me something in Spanish (I'm from Mexico) when everything in my PC and smartphone is installed in English (in order to practice ESL). Also having two or more dictionaries is much more streamlined in Chrome, where you simply select "your languages" and spellchecking works with all of them without having to manually switch back and forth (as I do in Firefox).
I don't care about "rebranding". I want bookmarks, decent tabs management, and less memory hogging (which we didn't have with the "old" Firefox).


Membership in an entrepreneur organization is much more than just having a membership card. It also offers information, support and networks. As a member, you receive a wealth of member benefits and services with monetary value. Your partners include the 3,400 member enterprises of Päijät-Hämeen Yrittäjät and more than 115,000 companies that are members of the Federation of Finnish Enterprises.
Six great reasons for becoming a member!
We make your voice heard nationally, regionally and locally.
You'll find support, friends and business partners among the 3,400 entrepreneur colleagues in Päijät-Hämeen Yrittäjät. The events are great for networking, and the Synergia business search service offers you a channel for marketing your business online.
Make use of the real-time online responses to your questions concerning entrepreneurship and receive news directly to your e-mail address. Two magazine subscriptions are also included.
Our nationwide and regional experts are at your disposal every business day.
Targeted training to support entrepreneurs' business operations – also free of charge.
Your company needs fuel, insurance, hotel accommodation, payment terminals and services, as well as electricity. Take advantage of the member benefits and save money!


text:
Home » Cargill income climbs 25% in quarter
Cargill income climbs 25% in quarter
By Eric Schroeder
MINNEAPOLIS — Strong contributions from the company's holdings in The Mosaic Co. helped drive a 25% gain in earnings at Cargill in the second quarter. Net income in the second quarter ended Nov. 30 was $1.19 billion, up from $954 million in the same period a year ago. For the first half of fiscal 2009, earnings totaled $2.68 billion, up 43% from $1.87 billion in the first six months of fiscal 2008.
"Cargill performed solidly in a period like no other," said Greg Page, chairman and chief executive officer. "The global financial system was under significant stress, energy and agricultural commodity prices fell sharply, and recessionary risks took hold in developed economies in a worsening global economic environment. Because of Cargill's focus on market fundamentals and risk management, we were able to work our way safely through exceedingly volatile conditions."
Cargill said results during the second quarter were led by its origination and processing segment as well as its industrial segment, both of which increased earnings significantly from the second quarter a year ago. Earnings in agriculture services, meanwhile, decreased moderately, while results declined overall in the food ingredients and applications segment despite some strong performance in individual food ingredient and meat units during the quarter. Results in the risk management and financial segment were lower.
During the second quarter, Cargill opened two major additions to its global processing capacity: a rapeseed crush facility in Montoir, France, and a cocoa processing plant in Tema, Ghana. The Montoir plant, a joint venture with a French cooperative, will draw primarily on locally grown rapeseed to produce a variety of oil- and meal-based products for the French food, animal nutrition and biodiesel industries. The cocoa processing plant in Ghana converts locally grown cocoa beans into high-quality cocoa liquor, butter and powders for customers globally. The facility employs about 200 and adds to the local economic base.
Looking ahead to the remainder of fiscal 2009, Mr. Page said Cargill will be even more mindful of costs and expenditures, and the risks it chooses to take.
"We do not expect Cargill to be immune from the economic challenges in this environment, but the essential nature of many of our products and services, the diversity of our businesses and our financial discipline should lend resilience to our operations," Mr. Page said. "We will keep our resources available to run the sourcing, processing, logistics, transport and risk management activities that support our customers' supply chains and contribute to the world's food security. We also will continue existing efforts to reduce our company's energy and water usage, find new and better ways to manage waste, and protect the natural resources so vital to producing food for a still-growing world."
Cargill income climbs 35% in fiscal 2011
Gruma income increases 25% in quarter
Gruma USA operating income climbs in quarter


The heart is a hollow muscular organ the size of a fist. It lies in the center of the chest, slightly to the left and under the sternum or breastbone.
The heart's function is to pump blood containing oxygen and nutrients to all parts of the body. The heart is divided into four chambers (two atriums and two ventricles). The right side of the heart receives "used" blood from the body and pumps it to the lungs, where it picks up oxygen. The oxygen-rich blood then returns to the left side of the heart and is pumped through the aorta to all parts of the body.
There are four valves in the heart. These are located between the upper and lower chambers of the heart and in the major blood vessels of the heart. The valves keep blood pumping in one direction.
At rest, a heart beats an average of 60–100 times a minute. Each beat or contraction is caused by an electrical stimulus triggered by specialized cells called the SA node. The electrical impulse from the SA node travels through a series of fibers located throughout the heart chamber and causes a contraction of the heart muscle.
The heart, like the other organs in the body, needs oxygen to function effectively. The coronary arteries provide oxygen-rich blood to the heart muscle.
The coronary arteries branch off the aorta. They lie on the surface of the heart and have many branches to feed all of the heart muscle.
The lining inside a healthy coronary artery is normally smooth. Damage to the inner lining of the artery contributes to gradual build up of material (fatty layers and other deposits - called atherosclerosis). This build-up blocks the flow of blood and may eventually lead to serious problems such as angina or heart attack.
The build up is much like what happens in an old rusty pipe. Only a trickle of blood can get through which creates an imbalance between the demand of the heart muscle for oxygen and the ability of the narrowed coronary artery to meet that demand.
When the heart does not receive enough oxygen-rich blood some discomfort called angina may be experienced. Angina is also caused by a spasm in the coronary artery. Angina is the heart's way of warning that it needs more oxygen.
Each person may experience any of the many different symptoms associated with angina.
Symptoms may be felt in the chest, shoulders, upper back, arms, neck, throat or jaw. Angina can be triggered in times of stress, during vigorous physical activity, or after heavy meals. Never ignore angina. Rest and medication are both effective ways to relieve angina.
What is a Heart Attack or Myocardial Infarction?
A heart attack occurs as a result of a blocked coronary artery. Since the coronary arteries are like pipelines running through the heart, a clot, blockage or spasm will restrict blood flow. The area of the heart that does not receive oxygen may become permanently damaged. Damage to the heart muscle occurs when the cells of the heart are starved of oxygen. These cells die because of the blockage. Eventually scar tissue is formed in the damaged area.
How your heart muscle heals?
After a heart attack, the heart muscle is damaged. The damaged area will heal and scar tissue will form. Small blood vessels can enlarge to nourish the area that surrounds the scar or damaged site. A partial scar is formed in three to four weeks. A firm scar develops anywhere from six weeks to three months after the initial injury.
New circulation surrounding the damage area is called collateral circulation. Aerobic exercise helps to form this new circulation that nourishes the heart. Rest and gradual increase in activity is the key to success. Aerobic exercise will strengthen the heart muscle and help it become a more efficient pump.
Congestive heart failure (CHF) occurs when the heart is unable to pump forcefully enough to circulate blood to all parts of the body. If the heart is weakened or damaged, it may be a less effective pump. When this happens, blood begins to back up in the chambers of your heart, lungs or other parts of the body.
Most of the time these symptoms can be controlled with rest, diet and medications.
Contacting your doctor when any of the above symptoms concern you. Take your medications as prescribed. They will help prevent water retention and increase effective heart contraction. Weigh yourself each day, recording your weight and call your doctor with any rapid weight gain. Follow a low sodium diet as recommended by your doctor. Rest when you feel tired. This will help to reduce the workload on your heart.
Damage to the heart can affect the electrical impulse in the heart and change the rhythm. Disturbance in the rhythm of the heartbeat is called an arrhythmia. It has various causes. Arrhythmias can be too slow, too fast, irregular or all of these.
Some are serious. They can be treated by medications and sometimes surgery. Some arrhythmias may need a pacemaker. Life -threatening arrhythmias may need emergency shock treatment (defibrillation) to restore the heart's rhythm.
There are many unanswered questions when it comes to heart disease but there are certain risk factors that have been identified as contributing to its development and progression.
Coronary risk factors are habits or personality characteristics that may increase a person's risk of developing heart disease. Risk factors are divided into two groups: the controllable risk factors that can be altered, and the uncontrollable risk factors that cannot be altered.
It's important to note that while you can't change your age, gender or family history, you can modify or delay their effects by working on controllable risk factors that can be changed. You can prevent future cardiac problems.
Family history: Your chance of having a heart attack is greater if you have parents, grandparents or siblings with heart disease. Familiar lifestyles as well as genetic tendencies may contribute to this fact.
Age 55 or over: Coronary artery disease is associated with the aging process. The older a person becomes the more likely he or she is to develop atherosclerosis.
Gender: Current research shows that coronary artery disease is more prevalent in men than in women. This may be due to hormonal factors. Women after menopause have increased risk of cardiac events.
Cigarette smoking: Smoking contributes to lung cancer, bronchitis and emphysema. Smokers have more than twice the risk of heart attack and are two to four times more likely to die of sudden cardiac death than non-smokers. Smoking is also detrimental to family members. The nicotine in cigarettes causes the heart to work harder, increasing the heart rate and blood pressure. The carbon monoxide in cigarette smoke clings to the hemoglobin in your blood more readily than oxygen does, thus your heart may not get the oxygen it needs. These chemicals may also contribute to injury in the artery walls. Do not smoke!
High Blood Pressure: High blood pressure can speed the process of atherosclerosis and put an added strain on your heart. The pumping force needed to supply blood for your body is greater with elevated blood pressure.
Hypertension increases your risk of heart attack, heart failure or stroke. You can control hypertension by modifying your diet, exercising regularly, taking medications your doctor has prescribed as directed and learning relaxation and stress management techniques.
High Cholesterol: Cholesterol is a fatty substance made by your body and found in some foods. Cholesterol is the main ingredient of the fatty deposits that are found in the coronary arteries when coronary artery disease develops. The higher the cholesterol levels in your blood, the greater the chance this disease will develop and progress quickly. To keep blood cholesterol at a healthy level, it is important to follow a low-fat, low cholesterol eating plan.
Diabetes: Diabetes Mellitus is a disorder characterized by raised blood sugar levels. This is caused by the failure of the body to produce insulin (a hormone that helps to move sugar from the blood to the body's cells), or the body resisting the insulin that is present. Prolonged high levels of blood sugar damage the inside lining of blood vessels and encourage plaque deposits to accumulate (atherosclerosis). Keeping your diabetes well controlled reduces the risk.
Sedentary lifestyle: Inactivity has been shown to increase the risk of developing coronary artery disease. Regular exercise has numerous benefits. It can strengthen your heart muscle and help it work more efficiently. It can also help lower your cholesterol level, maintain an ideal body weight and aid your coping with stress. If you do not exercise regularly (at least three to five times per week) and your job does not involve regular physical activity, you have a sedentary lifestyle. Beginning a safe exercise program after a heart attack or bypass surgery can help you to recover more rapidly and help prevent further cardiac problems. It is important to start slowly, increase your level of exercise gradually and have fun. Most people find it helpful to participate in a cardiac rehabilitation program designed to help you begin a safe exercise program which is individualized to meet your needs.
Diet: A low fat and low cholesterol diet can help to prevent atherosclerosis (the deposit and build up of fatty substances in your arteries). Foods to avoid are foods that contain large amounts of saturated fats such as meats, fast foods, butter, and full fat dairy products.
Stress: Negative stress has been linked to many physical ailments ranging from heart attacks to tension headache. Learning to recognize your stress response and anticipating situations that trigger it may help avoid some stressful situations.
Obesity: If you are obese or overweight, your heart has to work harder to supply your tissues with blood, oxygen and nutrients. An overweight person's heart also works harder to do activities than a person at his or her ideal body weight. Reducing your weight with exercise and sensible diet can help you modify other controllable risk factors.
Excessive use of alcohol: Prolonged use of excessive amounts of alcohol can contribute to elevated fat (triglyceride) levels in the blood. It may also damage your heart muscle, thus interfering with your heart's ability to pump blood to the rest of your body.
There are often no signs that a person has heart disease. A doctor can use a number of tests to determine if there is a problem.
A complete physical examination can help determine if you have or may develop heart disease. Your medical history is also important. Questions about smoking history, alcohol intake and exercise habits, will be asked. Information about your health history as well as a history of your family's health will also be important.
ECG is short for Electrocardiogram, which measures the heart's electrical beating pattern. Electrodes are placed on the chest wall to pick up the electrical impulses, which are then printed on a graphed paper. A similar pattern is seen in normal functioning hearts. A change in this pattern may indicate that an area of the heart is injured or damaged. This is a very simple procedure and can be easily performed in any doctor's office.
A stress test is similar to a resting ECG test in that a series of leads are attached to your chest. However, the recording is made while exercising, such as walking on a treadmill or riding a stationary bicycle. This exercise intensifies the demands on your heart by increasing your heart rate and blood pressure. This test is used to evaluate the heart's response to physical stress, including: electrical abnormalities, the amount of blood flowing to the heart muscle, and the heart muscle's response to exercise.
Cardiac enzymes are substances normally stored in heart muscle cells. When the heart is damaged, enzymes are released into the bloodstream. These blood tests show an increase in the level of enzymes when you have had a heart attack.
An echocardiogram uses high frequency sound waves to take moving pictures of your heart. Your doctor studies the pictures to measure and determine the function and structure of your heart.
A radionuclide scan is a test in which a radio-active substance (Radionuclide) is injected into your blood stream and travels to your heart. A special camera projects a picture of your heart on screen, showing any malfunction of your heart.
A heart catheterization is an X-ray test performed by a doctor. A thin, flexible tube is passed through the blood vessel in your groin and follows the artery to your heart. A special dye is injected through the tube. The location of any narrowing or blockages can be seen on an X- Ray screen.
There are many medications that can be used to treat heart disease, and they all work in different ways. Some decrease the stress on your heart and others may increase its ability to pump blood.
Coronary angioplasty (PTCA) and stent insertion is a method used to open a blockage in a coronary artery from inside the artery. Like an angiogram, a long tube or catheter is threaded through to the heart from the artery in the groin or arm. The catheter used has a special balloon at the tip. The balloon catheter is threaded down the coronary artery containing the blockage. The balloon is inflated at the blockage and compresses the plaque of cholesterol, thereby opening a new channel for blood flow. Where possible, an expandable metal tube (stent) is implanted in the blockage, using the balloon catheter. The stent acts like a scaffold in the blockage and provides a better opening in the artery.
Coronary artery surgery is done to bypass each narrowed artery with a healthy vein or artery from your body. A leg vein (usually the saphenous vein) or an artery from your chest (internal mammary artery) and from your arm (radial artery) or Gastroepiploic artery can be used for the bypass graft. Your doctor will decide on what type of graft to use depending on the number and location of your blockages. The bypass increases blood flow to the heart muscle to relieve angina and improve heart function.
The valves can be abnormal or damaged by birth defects, infection (rheumatic fever or scarlet fever) and degeneration from aging. When scarring or thickening occurs, this makes the valves harder to open (stenosis) or unable to close completely (insufficiency). A damaged heart valve may be repaired but more often it must be replaced with a mechanical or tissue valve.
The atrial septum is the wall that divides the upper chambers (atria) of the heart. An atrial septal defect (ASD) is an opening in this wall "hole in the heart" that fails to close during fetal development. The surgery is designed to repair this hole so that blood will follow the normal pathway through the heart chambers.
You can read more articles about the heart disease treatment and condition in detail at Heart (Cardiology) Center and Arrhythmia Center.


Below is a directory of alternative medicine services in Tucson, Arizona. If you are interested in alternative medicine, you can find a large number of alternative medicine service providers in this directory. Please contact individual alternative medicine service providers for their service details.
Above is a list of alternative medicine services in Tucson, Arizona. Please contact individual alternative medicine service providers for their service details.


Cromwell Road One Serviced Apartments offers stylish apartment accommodation located in the heart of Kensington in fashionable South West London.
Built during the Victorian era, the apartments at Cromwell Road One have been renovated in a modern style, with features that include bay windows, hardwood floors and complimentary Wi-Fi, luxurious bedrooms, sleek bathrooms and relaxing living areas. Each apartment has a living room with a sofa and a flat-screen TV, a well-equipped kitchen with a dishwasher, as well as a washing machine and dryer.
King's Road and the boutique shops of Sloane Square are both within 1.5 miles of Cromwell Road One. The bars, restaurants and markets of Notting Hill are 10 minutes away by public transport, with Hyde Park being only a 15-minute walk away.
With this superb South Kensington address, staying at Cromwell Road One places you right in the centre of some of London's best known attractions. A short walk away is the famous Natural History Museum, the Victoria & Albert Museum and Hyde Park. Earls Court Exhibition Centre is also close by.
You will enjoy coming back to your stylish Cromwell Road One apartment in its period building where you can appreciate the space and modern furnishings. Each apartment has a well equipped kitchen and comfortable dining area to make catering for yourself a pleasure.
These contemporary apartments at Cromwell Road One are perfect for leisure or business guests alike making you feel right at home.


James Faulkner is expecting a heated contest in a "cut-throat" atmosphere when Australia play defending champions India in the Cricket World Cup semi-finals.
The two teams have previous following a series of contentions incidents in a recent four-match Test series, with the likes of David Warner, Virat Kohli, Mitchell Starc and Ishant Sharma all being punished for on-field misdemeanours.
Both sides faced criticism for their conduct, but, speaking ahead of Thursday's intriguing last-four clash in Sydney, Faulkner is expecting no let-up.
"There's going to be words said and it's going to be a really tough contest," Faulkner said.
"I think there always is [sledging] in the game, if there isn't you've got problems.
"It's the nature of the game, it's a semi-final. Cut-throat. Neither team will be backing down."
With India having gone unbeaten in the tournament so far, Faulkner is well aware of the size of the challenge facing Australia.
"They've spent a fair bit of time in the country, so they've adapted well to the conditions," he added. "It should be a good spectacle."


Malvern Riding School is inspected and licensed by Malvern Hills District Council and is fully insured to take riders from aged four years old.
It is run by Julie Davies-Bennetts who established the riding school within it's current location in 1999.
We are a training centre for everyone wishing to learn to ride or improve their current skills.
If you want to train for equestrian exams or be a pleasure rider who doesn't want to go faster than a trot, we are happy to help you get there.
Our instructors will teach you with lessons plans to suit your needs.
The yard really is a friendly one and everyone's love for horses and riding is encouraged.
We have a lovely selection of ponies for children and 14.2hh upwards for adults.
We have a lovely all weather Equestrian Direct Flexiride arena surface which doesn't flood or freeze over. It is an outdoor arena so please check the weather forecast to make sure you are comfortably dressed.
There is show jump equipment and a cross country course.
The Pony Club is a feature of our riding school and you can join between the ages of four and 25 years of age.


text:
Find Trails > Connecticut > Stonington > Stonington Cross Country Skiing Trails
Stonington, CT Cross Country Skiing Trails and Maps
Looking for the best Cross Country Skiing trails around Stonington?
Find the top rated cross country skiing trails in Stonington, whether you're looking for an easy short cross country skiing trail or a long cross country skiing trail, you'll find what you're looking for. Click on a cross country skiing trail below to find trail descriptions, trail maps, photos, and reviews.
Air Line State Park Trail
Arkwright Riverwalk
State: RI
Blackstone River Greenway
State: MA, RI
Asphalt, Boardwalk, Crushed Stone, Dirt
Burrillville Bike Path
Charter Oak Greenway
East Bay Bike Path
Hop River State Park Trail
Moosup Valley State Park Trail
Ballast, Crushed Stone, Dirt, Grass, Gravel, Sand
Phenix-Harris Riverwalk
Putnam River Trail
Quinebaug Valley Rail Trail
Ballast, Cinder, Dirt, Grass
Shoreline Greenway Trail
Southern New England Trunkline Trail
Asphalt, Ballast, Crushed Stone
Ten Mile River Greenway
Trolley Trail (CT)
Vernon Rails-to-Trails (Hop River State Park Rockville Spur)
Washington Secondary Bike Path
William C. O'Neill Bike Path
The Air Line State Park Trail winds nearly 55 miles from the northeast corner of Connecticut, where the state borders Massachusetts, down to East Hampton in the heart of the state. The pathway is...
CT 54.6 mi Ballast, Dirt, Gravel
The Arkwright Riverwalk, founded on a former rail bed purchased from Penn Central Railroad, is located in Coventry, a rural central Rhode Island town that was built around textile mills. The one-mile...
RI 0.8 mi Dirt, Woodchips
Throughout history, the Blackstone River has been an important waterway, from its use by American Indians who fished its once-abundant salmon to its role as a major artery for the transportation of...
MA, RI 26.6 mi Asphalt, Boardwalk, Crushed Stone, Dirt
Burrillville Bike Path runs for just over a mile through its namesake rural community in northwest Rhode Island. It connects the villages of Pascoag and Harrisville through a corridor that once...
RI 1.2 mi Asphalt
The Charter Oak Greenway offers more than 16 miles of paved pathway through Hartford and its eastern suburbs. At first glance, the trail looks as if it is simply a highway side path, but the journey...
CT 16.6 mi Asphalt
With spectacular maritime views and an abundance of coastal wildlife, the East Bay Bike Path offers a spectacular New England experience. Inducted into the Rail-Trail Hall of Fame in 2009, the route...
RI 14.3 mi Asphalt
It's hard to pick a favorite season to experience the Hop River State Park Trail, set amid the dense forests of Eastern Connecticut. Sections of the 20-mile rail-trail dive through steep rock cuts...
CT 20 mi Crushed Stone
This 5.8-mile trail is part of the planned East Coast Greenway, an off-road path that will eventually run from Calais, Maine, to Key West, Florida. The Moosup Valley State Park Trail will connect with...
CT 5.8 mi Ballast, Crushed Stone, Dirt, Grass, Gravel, Sand
The Phenix-Harris Riverwalk, a short trail built on a former rail bed purchased from Penn Central Railroad, connects West Warwick and Coventry, two towns on the outskirts of Providence. The dirt...
RI 0.3 mi Dirt
The Putnam River Trail extends between Arch Street in the Putnam District and Providence Street to the south. The trail follows the east bank of the Quinebaug River between the river and Kennedy...
CT 2 mi Asphalt
The Quinebaug Valley Rail Trail runs on the corridor once occupied by the Southbridge & Blackstone line of the Providence & Worcester Railroad, transforming a corridor once designed to link rural...
MA 5.7 mi Ballast, Cinder, Dirt, Grass
When complete, Connecticut's Shoreline Greenway Trail will be a scenic 25-mile route through four quaint New England towns off Long Island Sound. From Lighthouse Point to Hammonasset Beach State Park,...
CT 4.1 mi Crushed Stone, Dirt
The Southern New England Trunk Line Trail (aka the "SNETT") was designated as a National Recreation Trail in 1994. It is built upon a segment of the former right-of-way of the New Haven Railroad's...
MA 22 mi Asphalt, Ballast, Crushed Stone
Ten Mile River Greenway, named for the waterway it parallels and not its length, runs 3 miles through a serene and green corridor connecting the City of East Providence and Pawtucket. The southern end...
RI 3 mi Asphalt
The Trolley Trail runs through Plainfield and is a key link the East Coast Greenway. Plans are to use this trail as a link between the Moosup Valley State Park Trail and the Airline State Park...
CT 0.75 mi Asphalt
The Rockville Spur, a section of Vernon Rails-to-Trails, is a stone-dust rail-trail stretching 4.2 miles into the heart of historical Rockville. The trail begins on Warren Avenue in Vernon, but you'll...
The Washington Secondary Bike Path offers just over 19 miles of paved trail from Cranston (Providence's southwestern neighbor) to Coventry. The rail-trail, Rhode Island's longest, follows the former...
Imagine a wealthy 19th-century textile mill owner building an 8-mile railroad to get coal to his plant or products to market, and then adding accommodations to carry vacationers to beach resorts or...
RI - 3 miles
RI - 19.2 miles
RI - 7.2 miles
CT - 2 miles
MA,RI - 26.6 miles
MA - 5.7 miles
CT - 16.6 miles
CT - 20 miles
CT - 0.75 miles
CT - 4.1 miles
More Stonington bike trailsView Fewer Stonington bike trails
MA - 22 miles
More Stonington walking trails View Fewer Stonington walking trails
More Stonington running trailsView Fewer Stonington running trails
JAYCEE Arboretum & Senator Roch Riverwalk
Needs serious upkeep
January, 2021 by jenamawal
I had high hopes for this trail, based on the description. In reality, it falls far short! There are downed trees and overgrown brambles everywhere. The further in you go, the more trash you see. About midway on the trail, we started seeing tent sites with significant trash. Although we didn't see any residents in the five or six encampments, its obvious they are lived in. There was no clearly marked exit from the trail and you have to wander across a parking lot or two to find your way back to the entrance.
The trail has a lot of potential, but needs some serious upkeep.
Midway Starting Point
December, 2020 by victoriafelson
Parked in West Warwick next to rev dept tennis courts. Hopped on trail right there. Rode in direction toward Coventry. Interesting mix of residential, industrial, mills, rural areas. Clean, level and super fun.
Good Resource That Needs Improvement (Part 2)
November, 2020 by rk2976
Rode the eastern section of this trail from the parking lot at the end of Adams St in Uxbridge to Grove St in Franklin, approximately 11 miles. For the first 3.5 miles the trail is part of the Blackstone River Greenway and is in excellent condition with smooth blacktop surface. You'll see cyclists, skateboarders, runners and walkers on this section. The improved trail ends in Blackstone at Canal St. Follow Canal St downhill, make a left onto St Paul St, then right on Main St, and left into Castle Hill Way. The Southern New England Trunkline Trail (SNETT) resumes without markings at bend on Castle Hill Way. Surface now is packed dirt. Condition of trail worsens (sand, rocks, ballast) between Farm St and Center St in Bellingham. From Center St to Prospect St in Franklin, the dirt trail surface is groomed and in very good condition. The Prospect St bridge is now complete and the trail continues to Grove St in slightly rougher condition.
I definitely preferred this 11 mile Eastern section of the trail over the 12 mile Western section (in Part 1 of my earlier review).
I Wanted to Like this Trail More
November, 2020 by eric_gardner
I have done a couple of segments of the trail. One segment Starting in Franklin and going into Blackstone. Some parts of this trail were closed or almost impassible short of having a hardcore mountain bike not to mention that some segments are not marked at all. I have also done the segment from Rte. 98 in Douglass working east toward Blackstone there were segments that were in decent shape but there were others you can see that were rutted or still very wet given that we have been in a drought for a good chunk of the summer makes me concerned what they would be like if we had a normal amount of precipitation. Additionally, once I got near Rte. 146 the trail just seemed to disappear there were no markings to figure out where to go. Next time I will try and go from Douglass and work my way west and see how that goes. This trail has potential but needs a lot more work on it to be good.
Good Resource That Needs Improvement
Cycled approximately 12 miles of the trail from New Road in E Thompson, CT to RT 146 in Uxbridge, MA. The first few miles through the Douglas State Forest are in very good condition and patrolled by MA Dept of Conservation personnel. After that the trail begins to slowly deteriorate first with the surface becoming very sandy in places and then areas of ballast (large gravel) and standing water. The section from Chocolog Rd to RT 146 was challenging based on these surface conditions. You will need to look for a steep left turn down to RT 146 where singletrack runs alongside the roadway. Then watch for a steep right turn down onto Elmwood Road where the trail becomes interrupted for a short distance. To continue on the SNETT, make a left on Elmwood Rd to go under RT 146, then right onto Balm of Life Spring Road, right onto RT 146A, left onto Providence St, and finally left onto Adams St where it's possible to pickup the trail again continuing East.
Disappointed with new trail resurfacing
November, 2020 by carrie.vezina
The Air Line State Park Trail is one of my favorite bike trails in Connecticut. Rode our bikes there last week and was very disappointed with the recently resurfaced section from the Cranberry Bog in East Hampton. The gravel that was used in the resurfacing is to soft and to deep. Has only been open for a week (10/28/2020) and it is already marred by craters from horses and foot traffic. The ride is bumpy like a wash board. At one point I swerved to miss a pile of horse droppings and got to close to the edge which then collapsed under my bike causing me to fall. What was once a favorite section of the trail for us, is now a major disappointment.
Nice Trail
November, 2020 by adab
We parked by the pet store mentioned in a previous review and biked to just passed the covered bridge, maybe 6 miles out? Beginning of trail is rough but that ends quickly . Nice ride in the woods. Not much to see. It was a slight incline on the way out which made the return better. I wish there some benches along the way to take a break.
Warren Bike Path
This is a very peaceful paved pathway. You can park on Asylum rd in the middle of the path. You can then walk both sides for a good walk. Lots of birds ¿ especially towards the river. Not very long for bikes but good walk for small dogs.
October, 2020 by chabba99
Quonset Point Bike Path
Avid Runner
October, 2020 by runner3092
Started my run from the Home goods location and it was pretty easy to get on the bath. Park in the main lot, Take the road that leads around back to the left of the store and there is a foot path that connects you. When starting from this location the path is longer than what is said on the official length. I'd say it more like 3.5-4 miles. Other that that its a beautiful trail the brings you all the way to the water front.
Near perfect but the narrow gates earn this a 4.5 star rating
September, 2020 by robert.richter89
I rode the entire Hop River Trail beginning in Manchester and ending in Willimantic on a wonderful Fall day. The trail is tightly packed gravel and was in very good condition. The trail is mostly shaded and offers a nice views of woods, streams and rock formations throughout the trail. I didn't notice many opportunities to easily exit the trail for food or supplies so plan your trip accordingly.
My biggest complaint about the Hop River Trail is that every road crossing has very narrow gates on each side that only have one opening. It wasn't very busy when I rode but I can see that these gates would cause congestion on a busy day. Also they almost require you to carefully walk your bike through as riding in those narrow openings can be very difficult. I enjoyed the tunnels along the trail but I could see how the lack of lighting in one of the tunnels could be uncomfortable for some riders.
Wonderful trail full of vareity
I rode the entire East Bay Bike Path starting in Providence at India Point Park and ending in Bristol. The path is completely paved, well marked and in perfect condition. My only complaint is that finding the beginning of the Path was slightly difficult for me due to some confusing signage but I was able to find it without too much issue.
I really enjoyed the varying scenery starting with an urban environment flanked by a more industrialized part of the bay in Providence. As I rode I passed by residential neighborhoods, beaches, saltwater marshes and nature preserves. There were many towns along the way that afford many options to grab something to eat or drink. There isn't much shade in Providence but that wasn't much of an issue for me during a beautiful Fall day.
The two bridge closures were not unsafe at all as the detour puts you on busy bridges that have very wide sidewalks that give you an option to walk your bike on to avoid riding on the narrow shoulder.
G & S Trolley trail
Nice bike path, better than expected
September, 2020 by gregory.messina
This asphalt bike path has a one fairly large hill and seemed longer than 1.6 miles. Very quiet and low volume bike path. As mentioned, there are easy off-shoots to the Hayley Farm dirt trails and Bluff Point trails. With all of connecting trails we were able to amass a 10-mile ride. Instead of parking in the Midway Oval neighborhood cul-de-sac, you can park at Hayley Farm or Bluff Point - the bike path can be accessed from both spots but the Hayley Farm trail can be rocky in parts. From Bluff Point the path can be reached two ways: first way is passing by the port-o-lets on the left and riding east all the way to the foot bridge over the train tracks - the bike path starts/ends here. Second way is by riding out of Bluff Point back towards RT 1, after passing under the railroad trestle bridge - turn right onto Industrial Drive and into the industrial park. Take this road about 500 yards and on the left will be a a short dirt path that connects to the Midway Oval cul-de-sac.
Vernon, CT


Army Rally Bharti 2017-18 (सेना रैली भारती 2017-18 तमिलनाडु (तिरुवन्नामलाई) 1 9 जुलाई से शुरू) Indian Army has recently announced its new job recruitment program Indian Army Rally Thiruvannamalai. Therefore all the candidates who are looking for the latest Army Jobs Notification can go through this article and get the complete details of Army Rally Bharti Date. The candidates who have completed their 10th, 12th and are willing to join the Indian army can make their entry through the Indian Army Rally. All the job seekers can visit the official website and fill the Indian Army Rally Bharti Application Form before the last dates which is 3rd July 2017 and attend the Army Rally Tamilnadu on 19th July 2017.
Every year millions of candidates are recruited by Indian Army from different specialization for various job posts. Therefore if you are currently looking for the Latest Army Vacancies, then it is good news for you as Indian Army has recently released the notification of Indian Army Bharti Recruitment Rally 2017-18. Currently vacancies for various posts are released such as Havildar, Soldier, Captain, General etc. To get the complete information in regards to Indian Tamilnadu Army Rally Schedule such as Age Limit, Selection Process, Pay scale, Required Physical standards you can check below details further.
Indian Army conducts Bharti Rally every year for various posts with Zone Wise. All the interested aspirants currently willing to take Army Jobs in Tamilnadu state must go for online registration for the Open Rally Registration. Therefore in order to be eligible for the recruitment, the candidates must take online registration token. To check the important information about Latest Indian Army Open Rally Bharti 2017, check the details below.
Candidates must be 12th pass with 45% having Commerce or Arts or Science as their stream with Physics, Chemistry, Maths and English and must have 10th with 50% marks from any Recognized Board.
Candidate must be in between 18 to 23 years of age.
Check the Latest Notification Details.
Click on the Link of the official notification of Tamilnadu Army Rally Bharti and Read it.
Fill the application form and upload the scanned documents.
Submit the application form after complete ir.
Take the printout for the future uses.
To get more updates on Indian Army Rally Schedule 2017 keep visiting our website www.jobs.chekrs.com. We aim to provide you the complete notification in regard to the Indian Army Open Bharti Date . In case of any query or review we welcome your valuable comments in the commenting section below and our team will get in touch with you shortly.


text:
/**
 * Utility function that generates a more human-readable name
 * for an attribute in lowerCamelCase format.
 * @param attribute Attribute name in the form of lowerCamelCase
 * @returns Displayable name for the provided attribute.
 */
export function displayableName(attribute: string): string {
  if (attribute.length > 0) {
    const displayable = attribute[0].toUpperCase() + attribute.substring(1);
    return displayable.replace(/([a-z](?=[A-Z]))/g, '$1 ');
  }
  return '';
}


OMG I don't know about you, but I am a huge fan of The Bone Season series. If you're just as big a fan as I am, then you probably feel the same way I do: why does it take a million years for this author to put out a new book?
Seriously, The Bone Season was released back in 2013 and then The Mime Order came out two years ago. We're finally on the third book and from what I heard before the first novel came out, she's got a whole seven-book series or something like that. I'll be dead before that even happens!
So far, the novels have been extremely interesting. I even re-read The Bone Season when The Mime Order came out so that I wasn't completely lost with all the people and the magical orders. Every book has been so riveting and it pulls you in and I can't wait to start The Song Rising.
The Song Rising and The Bone Season series is published by Bloomsbury and The Song Rising was published on March 7th, 2017.


text:
Finally back on the road for yet another mammoth world tour, Bob Dylan the musical genius continues his career spanning generations! Experience the genius for yourself this winter! Saturday 20th November 2021 is a date for the diary, as the man himself comes to the great Beacon Theatre on the first leg of his world tour. Perfectly situated for such an event, one you'll be telling the kids about because it's not every day you get to see your hero right infront of your eyes! Let 2021 be a year to remember, book your tickets today, before they're snapped up!
Singer songwriter Bob Dylan has been gracing the airwaves with his musical talent for as long as most of us can remember, so how do you fancy seeing him in the flesh? Well Bob's non stop tour is back up and running after the pandemic stoppage and he's thirsty for more!
The unstoppable and legendary 80 year old will be playing the glorious Beacon Theatre, New York City, New York Saturday 20th November 2021. The Beacon couldn't be more ideal for the megastar, known for it's large capacity, convenient location and vast range of amenities it's the obvious choice for shows like this that are…well kind of a big deal!
A night of musical entertainment isn't all you'll be getting, you're bound to leave in absolute awe of the man, the myth, Bob Dylan. This'll be a memory maker and unforgettable experience, so be sure to book your tickets now, you'll surely regret it if you miss out! Click 'get tickets' to secure yours!


Over the previous decade, asteroids have come to the vanguard of planetary technology. Scientists throughout vast disciplines are more and more spotting that knowing asteroids is vital to discerning the fundamental methods of planetary formation, together with how their present distribution bespeaks our sun system's cataclysmic prior. For explorers, the closest asteroids beckon because the so much obtainable milestones in interplanetary house, supplying spaceflight locations more straightforward to arrive than the lunar floor. For futurists, the clients of asteroids as advertisement assets tantalize as a twenty-first-century gold rush, albeit with some distance better demanding situations than confronted via nineteenth-century pioneers. For humanity, it's the consciousness that asteroids subject. it isn't a question of if—but when—the subsequent significant effect will ensue. whereas the catastrophe chances are fortunately small, absolutely cataloging and characterizing the possibly detrimental asteroid inhabitants continues to be unfinished business.
Asteroids IV units the newest medical origin upon which most of these subject matters and extra may be outfitted upon for the longer term. approximately a hundred and fifty overseas professionals via greater than forty chapters show the definitive country of the sector by way of detailing our present astronomical, compositional, geological, and geophysical wisdom of asteroids, in addition to their distinctive actual approaches and interrelationships with comets and meteorites. most significantly, this quantity outlines the phenomenal questions that might concentration and force researchers and scholars of every age towards new advances within the coming decade and beyond.
1. so much authoritative and tested of graduate-level textbooks and references within the box. 2. offers not just experts with the main points they wish but in addition non-specialists with entry to the jargon and fundamentals of this important box. three. new version bargains thoroughly rewritten chaptes on interferometry and aperture synthsis, in addition to completely revised chapters on receiver expertise and interstellar molecules.
The outlet of the Parkes radio telescope in October 1961 put Australia on the vanguard of foreign examine in radio astronomy and ushered in an period of quick advancements in our figuring out of the beginning and nature of the Universe and our position inside it. Thirty years later, the scientists, engineers and technical employees desirous about the institution, operation and next improvement of this so much winning of Australian learn tools collected to study and examine their achievements, and to recount the various human tales that have been so in detail certain up with this terribly effective interval in Australia's medical background.
As with the author's fresh books severe Explosions and lower than a red Sun, the complicated subject of celebrity clusters is damaged down and made available with transparent hyperlinks to different components of astronomy in a language which the non-specialist can simply learn and enjoy. The full range of themes are addressed relating to how celebrity clusters are formed.
This publication relates the background of asteroid discoveries and christenings, from these of the early pioneering giants of Hersehel and Piazzi to modern day amateurs. relocating from heritage and anecdotal details to technology, the book's constitution is supplied through the names of the asteroids, together with one named after the writer.


text:
Banda Alegria e Aleijadinho do Pombal foi um grupo musical de forró eletrônico brasileiro.

Discografia
Banda alegria ao vivo
Trem de emoção
Desejos

Bandas do Brasil
Bandas de forró eletrônico

redpajama_set_name: RedPajamaWikipedia


text:
Q: Javascript - Pausing and continuing requestAnimationFrame loop I'm trying to animate the movement of image across the canvas using requestAnimationFrame in 2 directions using a recursive function.
Animate 1 move the image in one direction on 1 click and then the opposite direction on 2nd click. Animate 2 moves the image in one direction.
Before I get to test my recursive function, my requestAnimationFrame returns an error on my first click of Animate 1. I ran a simple debug to find out that after my first click on Animate 1, the image animates successfully to the left. But as it exits the animation2(), it returns back to requestAnimationFrame to return the following error:
Uncaught TypeError: Failed to execute 'requestAnimationFrame' on 'Window': The callback provided as parameter 1 is not a function.

What causes this error? And I'm pretty sure my recursive function will not work as it is. What correction should I make?
The following is my crude coding.

var canvas = document.getElementsByTagName("canvas")[0];
canvas.width = 286;
canvas.height = 60;
var ctx = canvas.getContext("2d");
trackTransforms(ctx);

var img = new Image();
img.src = "https://www.dropbox.com/s/bq8wk2rashbsjxw/Capture.PNG?raw=1";

window.onload = function() {
  redraw();
};

var button1 = false;
var pause;
var coordinate = new Array();
coordinate[0] = {
  X1: 286,
  X2: 136
};
coordinate[1] = {
  X1: 150,
  X2: 0
};
var coordinate2 = new Array();
coordinate2[0] = {
  X1: 286,
  X2: 136
};
coordinate2[1] = {
  X1: 150,
  X2: 0
};

function animation() {
  var track = coordinate.slice(); // copy the array to keep track of which items are left to process after click event
  coordinate.forEach(function(item, index) {
    track.splice(track.indexOf(item), 1); // remove the item from the processed array
    button1 = true;
    animation2(item);
    button1 = false;

    button.onclick = function(event) {
      animation(track); // call function in the callback passing in the unprocessed items array
      event.target.onclick = null; // remove the click event so it can't be fired again
    }

  });
}

var fps = 1; // animation speed
var slideX = 0;

function animation2(coordinate) {
  if (button1) {
    var cornerRight = coordinate.X1; // animation in to and fro
    var cornerLeft = coordinate.X2;
  } else {
    var cornerRight = coordinate2[0].X1; // animation in single direction
    var cornerLeft = coordinate2[0].X2; // change index number to change direction
  }

  var cornerCenterX = (cornerLeft + cornerRight) / 2;
  var canvasCenterX = canvas.width / 2;

  if (cornerCenterX > canvasCenterX) {
    // to determine image to move right or left
    slideX -= fps;
    var distanceX = Math.abs(cornerCenterX - canvasCenterX);
    var pt = ctx.transformedPoint(slideX, 0);
    ctx.translate(pt.x, pt.y);
    redraw();
    if (button1) {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2(coordinate));
    } else {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2);
    }

  } else if (cornerCenterX < canvasCenterX) {
    slideX += fps;
    var distanceX = Math.abs(cornerCenterX - canvasCenterX);
    var pt = ctx.transformedPoint(slideX, 0);
    ctx.translate(pt.x, pt.y);
    redraw();
    if (button1) {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2(coordinate));
    } else {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2);
    }
  }
}

function redraw() {
  var p1 = ctx.transformedPoint(0, 0);
  var p2 = ctx.transformedPoint(canvas.width, canvas.height);
  ctx.clearRect(p1.x, p1.y, p2.x - p1.x, p2.y - p1.y);
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.restore();
  ctx.drawImage(img, 0, 0);
}

function reset() {
  var p1 = ctx.transformedPoint(0, 0);
  var p2 = ctx.transformedPoint(canvas.width, canvas.height);
  ctx.clearRect(p1.x, p1.y, p2.x - p1.x, p2.y - p1.y);
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.drawImage(img, 0, 0);
  slideX = 0;
  button1 = false;
}

function trackTransforms(ctx) {
  var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  var xform = svg.createSVGMatrix();
  ctx.getTransform = function() {
    return xform;
  };

  var savedTransforms = [];
  var save = ctx.save;
  ctx.save = function() {
    savedTransforms.push(xform.translate(0, 0));
    return save.call(ctx);
  };

  var restore = ctx.restore;
  ctx.restore = function() {
    xform = savedTransforms.pop();
    return restore.call(ctx);
  };

  var translate = ctx.translate;
  ctx.translate = function(dx, dy) {
    xform = xform.translate(dx, dy);
    return translate.call(ctx, dx, dy);
  };

  var transform = ctx.transform;
  ctx.transform = function(a, b, c, d, e, f) {
    var m2 = svg.createSVGMatrix();
    m2.a = a;
    m2.b = b;
    m2.c = c;
    m2.d = d;
    m2.e = e;
    m2.f = f;
    xform = xform.multiply(m2);
    return transform.call(ctx, a, b, c, d, e, f);
  };

  var setTransform = ctx.setTransform;
  ctx.setTransform = function(a, b, c, d, e, f) {
    xform.a = a;
    xform.b = b;
    xform.c = c;
    xform.d = d;
    xform.e = e;
    xform.f = f;
    return setTransform.call(ctx, a, b, c, d, e, f);
  };

  // convert the mouse coordinates (in pixels) into the global space of your SVG document
  var pt = svg.createSVGPoint();
  ctx.transformedPoint = function(x, y) {
    pt.x = x;
    pt.y = y;
    return pt.matrixTransform(xform.inverse());
  };
}
body {
  background: #eee;
  margin: 1em;
  text-align: center;
}

canvas {
  display: block;
  margin: 1em auto;
  background: #fff;
  border: 1px solid #ccc;
}
<input id="button" type="button" value="Animate 1" onclick="animation();" />
<input id="button2" type="button" value="Animate 2" onclick="animation2();" />
<input id="button3" type="button" value="Reset" onclick="reset();" />
<canvas id="main"></canvas>

A: Following up from the comments:
You should read more about the requestAnimationFrame method:
https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
The syntax is: window.requestAnimationFrame(callback);
That callback is a parameter specifying a function to call when it's time to update your animation for the next repaint.
Using your code as an example:

*

*animation2 is a function

*animation2(coordinate) is NOT a function

*function() { animation2(coordinate) } is a function

Consider reading about nameless/anonymous functions

Here is your code working without errors:

var canvas = document.getElementsByTagName("canvas")[0];
canvas.width = 286;
canvas.height = 60;
var ctx = canvas.getContext("2d");
trackTransforms(ctx);

var img = new Image();
img.src = "https://www.dropbox.com/s/bq8wk2rashbsjxw/Capture.PNG?raw=1";

window.onload = function() {
  redraw();
};

var button1 = false;
var pause;
var coordinate = new Array();
coordinate[0] = {
  X1: 286,
  X2: 136
};
coordinate[1] = {
  X1: 150,
  X2: 0
};
var coordinate2 = new Array();
coordinate2[0] = {
  X1: 286,
  X2: 136
};
coordinate2[1] = {
  X1: 150,
  X2: 0
};

function animation() {
  var track = coordinate.slice(); // copy the array to keep track of which items are left to process after click event
  coordinate.forEach(function(item, index) {
    track.splice(track.indexOf(item), 1); // remove the item from the processed array
    button1 = true;
    animation2(item);
    button1 = false;

    button.onclick = function(event) {
      animation(track); // call function in the callback passing in the unprocessed items array
      event.target.onclick = null; // remove the click event so it can't be fired again
    }

  });
}

var fps = 1; // animation speed
var slideX = 0;

function animation2(coordinate) {
  if (button1) {
    var cornerRight = coordinate.X1; // animation in to and fro
    var cornerLeft = coordinate.X2;
  } else {
    var cornerRight = coordinate2[0].X1; // animation in single direction
    var cornerLeft = coordinate2[0].X2; // change index number to change direction
  }

  var cornerCenterX = (cornerLeft + cornerRight) / 2;
  var canvasCenterX = canvas.width / 2;

  if (cornerCenterX > canvasCenterX) {
    // to determine image to move right or left
    slideX -= fps;
    var distanceX = Math.abs(cornerCenterX - canvasCenterX);
    var pt = ctx.transformedPoint(slideX, 0);
    ctx.translate(pt.x, pt.y);
    redraw();
    if (button1) {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(function() { animation2(coordinate) });
    } else {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2);
    }

  } else if (cornerCenterX < canvasCenterX) {
    slideX += fps;
    var distanceX = Math.abs(cornerCenterX - canvasCenterX);
    var pt = ctx.transformedPoint(slideX, 0);
    ctx.translate(pt.x, pt.y);
    redraw();
    if (button1) {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(function() { animation2(coordinate) });
    } else {
      if (Math.abs(slideX) < distanceX) requestAnimationFrame(animation2);
    }
  }
}

function redraw() {
  var p1 = ctx.transformedPoint(0, 0);
  var p2 = ctx.transformedPoint(canvas.width, canvas.height);
  ctx.clearRect(p1.x, p1.y, p2.x - p1.x, p2.y - p1.y);
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.restore();
  ctx.drawImage(img, 0, 0);
}

function reset() {
  var p1 = ctx.transformedPoint(0, 0);
  var p2 = ctx.transformedPoint(canvas.width, canvas.height);
  ctx.clearRect(p1.x, p1.y, p2.x - p1.x, p2.y - p1.y);
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.drawImage(img, 0, 0);
  slideX = 0;
  button1 = false;
}

function trackTransforms(ctx) {
  var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  var xform = svg.createSVGMatrix();
  ctx.getTransform = function() {
    return xform;
  };

  var savedTransforms = [];
  var save = ctx.save;
  ctx.save = function() {
    savedTransforms.push(xform.translate(0, 0));
    return save.call(ctx);
  };

  var restore = ctx.restore;
  ctx.restore = function() {
    xform = savedTransforms.pop();
    return restore.call(ctx);
  };

  var translate = ctx.translate;
  ctx.translate = function(dx, dy) {
    xform = xform.translate(dx, dy);
    return translate.call(ctx, dx, dy);
  };

  var transform = ctx.transform;
  ctx.transform = function(a, b, c, d, e, f) {
    var m2 = svg.createSVGMatrix();
    m2.a = a;
    m2.b = b;
    m2.c = c;
    m2.d = d;
    m2.e = e;
    m2.f = f;
    xform = xform.multiply(m2);
    return transform.call(ctx, a, b, c, d, e, f);
  };

  var setTransform = ctx.setTransform;
  ctx.setTransform = function(a, b, c, d, e, f) {
    xform.a = a;
    xform.b = b;
    xform.c = c;
    xform.d = d;
    xform.e = e;
    xform.f = f;
    return setTransform.call(ctx, a, b, c, d, e, f);
  };

  // convert the mouse coordinates (in pixels) into the global space of your SVG document
  var pt = svg.createSVGPoint();
  ctx.transformedPoint = function(x, y) {
    pt.x = x;
    pt.y = y;
    return pt.matrixTransform(xform.inverse());
  };
}
body {
  background: #eee;
  margin: 1em;
  text-align: center;
}

canvas {
  display: block;
  margin: 1em auto;
  background: #fff;
  border: 1px solid #ccc;
}
<input id="button" type="button" value="Animate 1" onclick="animation();" />
<input id="button2" type="button" value="Animate 2" onclick="animation2();" />
<input id="button3" type="button" value="Reset" onclick="reset();" />
<canvas id="main"></canvas>


text:
Volunteers Week Club Welfare Officer
Volunteers' Week: Club Welfare Officer
During Volunteers' Week, we have spoken to Wroxham FC's Club Welfare Officer, Lisa Hamilton.
During Volunteers' Week, we have spoken to Wroxham FC's Club Welfare Officer, Lisa Hamilton, about what her role entails and why volunteering in football is so important for the survival of our clubs and leagues.
Norfolk FA's Football Development Officer Anna Larkins asked Lisa Hamilton some questions on her experience as a Club Welfare Officer for Wroxham FC, a club she has volunteered with for 10 years now.
What does your role as a Club Welfare Officer involve?
"It's a varied role and has many aspects. There is a lot of admin to ensure the club is up to date with the latest guidelines, liaison with everyone in the club, regular training, and dealing with any safeguarding issues that arise. You do need good communication and empathy skills as you need to deal with all sorts of situations and people. It can sound a bit daunting but there is always a huge amount of support from Norfolk FA and I'm lucky enough to have a very experienced group of staff at the club which makes life a lot easier. The role has changed recently as I started my role when the club was purely an adult club, but it is now is becoming an excellent club for youth teams, community projects and has affiliation to college and school programmes too. I now am part of a safeguarding team so have extra help as there is a lot more to now do. It's a varied role and although sometimes you have some very difficult situations to deal with it is very rewarding."
How important do you think volunteers within football are?
"I honestly believe without volunteers there would be no football - at least at grassroots level. Even with a big club like Wroxham, if we took away the volunteers then it wouldn't exist. Volunteers are the lifeline now for all football clubs and this is why it's important to keep encouraging and recruiting all the time."
Are there rewards to volunteering?
"Undoubtedly! Sometimes people think why should I volunteer when I can get paid in a job? However the list of what you gain from volunteering is endless. Personally during my last 20 years volunteering in football I have gained valuable work experience which has helped me get jobs, made some amazing friends, built a strong network of people and businesses, enjoyed hours of quality football for free, and most importantly it's given me confidence and helped me through some very difficult times in my life. Everyone gains their own rewards from volunteering but the main one I would say is knowing that you make a difference to a lot of people purely by helping out."
Why do you think others should volunteer their time with local clubs and leagues?
"No matter what your strengths or weaknesses there is some kind of role for you within clubs or leagues. From making tea to doing accounts there is something for everyone. Without you the leagues and clubs probably wouldn't survive. If you wonder what you could do then just go to a game one day and really look at what's making it possible for this to happen. In a typical youth match volunteers will be managing, coaching, refereeing, sorting kit out, putting nets up, bringing children to and from the game, providing refreshments, giving first aid. Then look at the children's faces and see what volunteering helps provide to others and know you can be a part of that."
What advice would you give to someone looking to volunteer in football?
"Look at what clubs are in your area and get in touch to see what help they may need. There are pages on Norfolk FA where clubs can advertise for volunteers too. I would honestly say that if you want to volunteer and do not know where to start, then contact Norfolk FA for advice as they will always be happy to share any information they have on volunteering and possible places you can approach."
Are there any other thoughts you would like to share?
"All sports and clubs these days rely on volunteers to help keep them going. Life is getting more and more stressful and it's important we all are able to access sports, social events and have time out from our routine lives. You may not think one person like you will make a difference, but volunteering not only helps others it can help you too. Give it a go you may be surprised how much you enjoy it."
Anna Larkins, Norfolk FA's Club Development Officer (Clubs and Leagues) said:
"We are so lucky to have volunteers like Lisa in our County. The role of a Welfare Officer is not always an easy one, but we are so grateful for the work these volunteers are doing in ensuring that young people can enjoy their football in a safe environment."


Our next Throwdown is Thursday August 6th at the Gutter.
Want to test out a new '10 Star series boat?? You can at the Throwdown! We are teaming up with Alpenglow Mountainsport in order to add Jackson Kayak Demo-Daze to the mix. Alpenglow will provide a slew of boats for you to test out during the evening including the 2010 Star series. Alpenglow also has all 2010 Star models in stock and available for Demos including the new MonStar!