text:
from django.utils.dateparse import parse_datetime, parse_date
import logging

from . import models

logger = logging.getLogger(__name__)

def safeCopy(json, items):
    for k in json:
        if k in items:
            if json[k] is None:
                json[k] = ''
    return json

def verification(body):
    logger.info(body['verification_code'])

def chargeRefunded(body):
    card = None
    customer = None
    subscription = None
    transaction = safeCopy(body['transaction'], [
        'authorization', 'error_message', 'order_id', 'description'])
    if 'customer_id' in transaction:
        customer = models.get_customer_model().objects.get(
            openpay_id=transaction['customer_id'])
    if 'subscription_id' in transaction:
        subscription = models.Subscription.objects.get(
            openpay_id=transaction['subscription_id'])
    if 'card' in transaction:
        if 'id' in transaction['card']:
            card = models.Card.objects.get(
                openpay_id=transaction['card']['id'])
        if not customer and 'customer_id' in transaction['card']:
            customer = models.get_customer_model().objects.get(
                openpay_id=transaction['card']['customer_id'])
    charge, created = models.Charge.objects.update_or_create(
        openpay_id=transaction['id'],
        defaults={
            'authorization': transaction['authorization'],
            'method': transaction['method'],
            'operation_type': transaction['operation_type'],
            'transaction_type': transaction['transaction_type'],
            'status': transaction['status'],
            'conciliated': transaction['conciliated'],
            'creation_date': parse_datetime(transaction['creation_date']),
            'operation_date': parse_datetime(transaction['operation_date']),
            'description': transaction['description'],
            'error_message': transaction['error_message'],
            'order_id': transaction['order_id'],
            'amount': transaction['amount'],
            'currency': transaction['currency'],
            'customer': customer,
            'card': card,
        })

    transaction = safeCopy(transaction['refund'], [
        'authorization', 'error_message', 'order_id', 'description'])
    refund, created = models.Refund.objects.update_or_create(
        openpay_id=transaction['id'],
        defaults={
            'authorization': transaction['authorization'],
            'method': transaction['method'],
            'operation_type': transaction['operation_type'],
            'transaction_type': transaction['transaction_type'],
            'status': transaction['status'],
            'conciliated': transaction['conciliated'],
            'creation_date': parse_datetime(transaction['creation_date']),
            'operation_date': parse_datetime(transaction['operation_date']),
            'description': transaction['description'],
            'error_message': transaction['error_message'],
            'order_id': transaction['order_id'],
            'amount': transaction['amount'],
            'currency': transaction['currency'],
            'customer': customer,
            'charge': charge,
        })

def chargeCancelled(body):
    card = None
    customer = None
    subscription = None
    transaction = safeCopy(body['transaction'], [
        'authorization', 'error_message', 'order_id', 'description'])
    if 'customer_id' in transaction:
        customer = models.get_customer_model().objects.get(
            openpay_id=transaction['customer_id'])
    if 'subscription_id' in transaction:
        subscription = models.Subscription.objects.get(
            openpay_id=transaction['subscription_id'])
    if 'card' in transaction:
        if 'id' in transaction['card']:
            card = models.Card.objects.get(
                openpay_id=transaction['card']['id'])
        if not customer and 'customer_id' in transaction['card']:
            customer = models.get_customer_model().objects.get(
                openpay_id=transaction['card']['customer_id'])
    charge, created = models.Charge.objects.update_or_create(
        openpay_id=transaction['id'],
        defaults={
            'authorization': transaction['authorization'],
            'method': transaction['method'],
            'operation_type': transaction['operation_type'],
            'transaction_type': transaction['transaction_type'],
            'status': transaction['status'],
            'conciliated': transaction['conciliated'],
            'creation_date': parse_datetime(transaction['creation_date']),
            'operation_date': parse_datetime(transaction['operation_date']),
            'description': transaction['description'],
            'error_message': transaction['error_message'],
            'order_id': transaction['order_id'],
            'amount': transaction['amount'],
            'currency': transaction['currency'],
            'customer': customer,
            'card': card,
            'subscription': subscription
        })

def chargeCreated(body):
    card = None
    customer = None
    subscription = None
    transaction = safeCopy(body['transaction'], [
        'authorization', 'error_message', 'order_id', 'description'])
    if 'customer_id' in transaction:
        customer = models.get_customer_model().objects.get(
            openpay_id=transaction['customer_id'])
    if 'subscription_id' in transaction:
        subscription = models.Subscription.objects.get(
            openpay_id=transaction['subscription_id'])
    if 'card' in transaction:
        if 'id' in transaction['card']:
            card = models.Card.objects.get(
                openpay_id=transaction['card']['id'])
        if not customer and 'customer_id' in transaction['card']:
            customer = models.get_customer_model().objects.get(
                openpay_id=transaction['card']['customer_id'])
    charge, created = models.Charge.objects.update_or_create(
        openpay_id=transaction['id'],
        defaults={
            'authorization': transaction['authorization'],
            'method': transaction['method'],
            'operation_type': transaction['operation_type'],
            'transaction_type': transaction['transaction_type'],
            'status': transaction['status'],
            'conciliated': transaction['conciliated'],
            'creation_date': parse_datetime(transaction['creation_date']),
            'operation_date': parse_datetime(transaction['operation_date']),
            'description': transaction['description'],
            'error_message': transaction['error_message'],
            'order_id': transaction['order_id'],
            'amount': transaction['amount'],
            'currency': transaction['currency'],
            'customer': customer,
            'card': card,
            'subscription': subscription
        })

def chargeSucceeded(body):
    card = None
    customer = None
    subscription = None
    transaction = safeCopy(body['transaction'], [
        'authorization', 'error_message', 'order_id', 'description'])
    if 'customer_id' in transaction:
        customer = models.get_customer_model().objects.get(
            openpay_id=transaction['customer_id'])
    if 'subscription_id' in transaction:
        subscription = models.Subscription.objects.get(
            openpay_id=transaction['subscription_id'])
    if 'card' in transaction:
        if 'id' in transaction['card']:
            card = models.Card.objects.get(
                openpay_id=transaction['card']['id'])
        if not customer and 'customer_id' in transaction['card']:
            customer = models.get_customer_model().objects.get(
                openpay_id=transaction['card']['customer_id'])
    charge, created = models.Charge.objects.update_or_create(
        openpay_id=transaction['id'],
        defaults={
            'authorization': transaction['authorization'],
            'method': transaction['method'],
            'operation_type': transaction['operation_type'],
            'transaction_type': transaction['transaction_type'],
            'status': transaction['status'],
            'conciliated': transaction['conciliated'],
            'creation_date': parse_datetime(transaction['creation_date']),
            'operation_date': parse_datetime(transaction['operation_date']),
            'description': transaction['description'],
            'error_message': transaction['error_message'],
            'order_id': transaction['order_id'],
            'amount': transaction['amount'],
            'currency': transaction['currency'],
            'customer': customer,
            'card': card,
            'subscription': subscription
        })

redpajama_set_name: RedPajamaGithub


text:
Welcome to PopMartZoo: My Music Blog and Published Works
This blog features my published clips and a profusion of various music related musings
Blowing My Own Horn
Eric's Picks
HomePosts tagged 'Sgt. Pepper's Lonely Hearts Club Band'
Re-experiencing the Beatles' U.S. Albums
October 1, 2019 October 28, 2019 Eric Allen Abbey Road 50th, George Harrison, Giles Martin, John Lennon, Paul McCartney, Ringo Starr, Sgt. Pepper's Lonely Hearts Club Band, The Beatles, The Beatles White Album
In celebration of the 50th anniversary of the Beatles' landmark Abbey Road album, and as a way to placate my fixated anxiousness for the release of its super deluxe edition and picture disc, I've decided to dust off my box set of the Beatles' U.S. albums. I'm rediscovering and revisiting each individual album in chronological sequence as I await to revel within the newly remixed Abbey Road in all its glory on the golden anniversary of the historic release date. In the meantime…
I wasn't born when the Beatles first arrived in America, but that didn't stop me from liberating their albums from my eldest sister and memorizing every word, harmony and riff until I could hear them in my sleep, and repeatedly dream of the Capitol Records' label with its dome logo and colorband ring spinning in my head. However, I'll shamefacedly admit that during my early adulthood I thought I'd outgrown the mop topped Fab Four and briefly pushed them aside as I sought to forge my own musical identity. But an eager audiophile soon set me back onto the right track. With the Beatles' 13-disc box set The U.S. Albums, I'm able to habitually seize the opportunity to turn back time and experience a taste of Beatlemania for myself.
The U.S. albums (notorious for their equalized echo chamber sound, or duophonic simulated stereo, and arbitrarily sequenced track lists), reportedly annoyed the band members, which is believed to be the inspiration behind the infamous "Butcher's Block" cover (featuring the band holding disjointed baby dolls and raw meat while sporting white lab coats) for the U.S. only release Yesterday and Today. However, these are not the versions included here, but instead merely duplicated track sequencing sourced from an amalgamation of the original 1960s masters and the 2009 remasters. This box set, alongside the deluxe remixed editions of Sgt. Pepper's Lonely Hearts Club Band, The Beatles, and the anniversary remix edition of Abbey Road, are requisite additions to any Beatles completist's collection. [Read full feature]
Why Every Beatles Fan Needs 'Sgt. Pepper's Lonely Hearts Club Band' (Super Deluxe Edition)
May 26, 2017 January 23, 2018 Eric Allen George Harrison, George Martin, Giles Martin, John Lennon, Paul McCartney, Ringo Starr, Sgt. Pepper 50, Sgt. Pepper's Lonely Hearts Club Band, The Beatles
It was 50 years ago today when the Beatles unleashed what would become the band's seminal masterpiece, Sgt. Pepper's Lonely Hearts Club Band. The album was a sonic work of art in 1967, forever changing the landscape of what could be achieved in the recording studio. It's hard to imagine now, but back then, no one had heard anything remotely close to the conceptual revelation that was encapsulated on the fab four's eighth studio effort.
Now, there's an entirely new reason to revisit and marvel at the historic wonders of Sgt. Pepper, as a new super deluxe edition box set has been released to coincide with its original release day (May 26th), to commemorate the album's 50th anniversary. Giles Martin (late producer George Martin's son) has created a new up-to-date remix, not just another remaster, but a completely remixed version from the original tape masters.
Similar to 1999's Yellow Submarine Songtrack, the new Sgt. Pepper mix is well balanced, leaving plenty of headroom for the lead vocals to breathe, which are now appropriately up front and center. It's literally as if you're hearing this beloved masterwork in stereo for the very first time, highlighting a noticeable wealth of previously buried minute details. The 5.1 surround mix on the box set's Blu-ray literally brings the album to life in such a way, you literally feel as if you're standing inside the studio while the Beatles are recording. [Read Full Review]
Favorite Sounds of the Season
Thirty-five Years of Eurythmics' Unnervingly Prophetic Masterpiece: '1984 (For the Love of Big Brother)'
10 Songs I Never Want to Hear Again
'Definitely Maybe': Reliving Oasis' Landmark Debut Album 25 Years On
Music, Arts and Entertainment

redpajama_set_name: RedPajamaCommonCrawl


a crowd, glancing underneath this tower's prow.
denied. She is not alone.
He sees the swarm beneath the tree.
Prometheus gathers above them all.
his is here. The skater's is there.
history forgets. He draws the blinds.
the notes of a time a Titan forgets.
to a heaven he knows is only dreamt of.
the balance denying the weight.
breaks into elements of December.
Silence fogs in all hints of sound.
You are the thing amongst things.
to let things be, but fail grandly; thus, you hover.
that profit not a cent from your worship. So, who has the power?
who crafted your movements, transcarnal as a dream?
Or they, who have dominion over whole worlds, not some dead city?
has the right to decry this existence's stark imprecisions?
all the quests for things as honor, or love, or gold.
is a modern place and Bifrost made of cable and steel.
where the renting gold domed its childish dares.
and if you listen real hard, you can still hear the music.
"Why is it you always look around things?
but you know what I mean."
by the way, and I don't recommend it."
a boy buildings like this did not exist.
all of the things that have happened."
with you being so old and all- "
to think what you might- or must- be thinking."
grants Man the Free Will- or so I was told.
Esther was. But these things take time, Sweetie."
"Oh, but Uncle- I'm not sad- really, no!
there's no Heaven, you know."
that, child? I mean- "
at life it will leave you alone.' I did.
do you really grow so stupid with grief?
and those yet to rise, and those yet to fall.
is my fear just spoken.'"
and they rarely change- unlike love....or life.
'cause in them I'll always be here for you."
outside the night's tower, disavowed of its center.
what kind of love could it light? Or a new love enter?
Time is the avoidance of simultaneity made arrant.
see it seeing you gazing upward toward it. You ask, What is it?
with the agonal creep of time's motion. Beauty.
till next quarter hour brings respite brief. Beauty.
sewer, or a just-opened biscuit pried free of its innards,.
or care to, without the valley-filling cries? Beauty.
on the mouths of the people,- mimicking some discarded hope.
and drink in the city before it sleeps away, tonight?
who know me know to keep passing." Beauty.


text:
Q: UIViewController did not deallocate itself I'm working on an app that changes it's rootViewController depending on it's state. To make a switch I use this code:
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self createManagedDocumentAndContext];

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSString *storyboardId = [userDefaults boolForKey:@"Profile Created"] ? @"User Stats" : @"Profile";

    self.window.rootViewController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:storyboardId];

    return YES;
}

To switch back I call this method from presented ProfileVC:
- (void)returnOldRootViewController
{
    UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    OLDUserStatsVC *userStatsVC = [storyboard instantiateViewControllerWithIdentifier:@"User Stats"];
    userStatsVC.userProfile = self.userProfile;

    [currentWindow setRootViewController:userStatsVC];

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setBool:YES forKey:@"Profile Created"];

}

THE PROBLEM: rootViewController is changed, but previous one is not deallocated. It stays on the "background" of the app - I can see it when VC changes to another one.
The question is how to release it properly?
Thank you very much!

A: The real problem here is that you are changing the root view controller of the window. Don't do that. You should be setting this once and never again. There should be just one root view controller for the lifetime of the app.
Find another architecture for displaying the correct view controller and switching between them as desired. For example, they might both be children of the root view controller, or one might be a presented view controller in front of the other.

redpajama_set_name: RedPajamaStackExchange


If you have $1000 ready to open your child's investment account, great!
Saving a thousand dollars, though, is a very challenging task for some. This includes married couples and single parents alike.
However, there are a number of ways to come up with the money.
1) Use your income tax refund to fund your child's investment account.
2) Save $83 per month for 12 months. The goal of saving for your child's future should be more than enough motivation to do so!
3) Work a second job, or start a side business, with the purpose of using the first $1000 in profit to fund your child's investment account.
4) If you are so financially strapped that you can only put $25 a month aside, then put $25 a month aside! Some money is far better than no money.
I'm sure that many of you have income-generating and/or money-saving ideas to share. Please don't be shy! Tell us about them in the comments section here, or on my Facebook, Twitter or LinkedIn page.
In the next installment, you're going to open your account!


text:
Home > IT Blogs > Modern Mobility
Modern Mobility:
Mobile app dev skills pull in big money
Alyssa Provazza Profile: Alyssa Provazza
Apple iOS, Cloud Computing, Mobile app, Mobile Application Development
If you're a mobile application guru, prepare to make bank. Experience building mobile apps can earn technology pros an average salary of $147,000, according to research by Paysa.com, a professional services...
Google drops 'Android for Work' name
Colin Steele Profile: Colin Steele
Android, Enterprise mobility, Google
Android for Work is no more -- in name only. When Google debuted its secure containerization APIs in 2015, the "Android for Work" name identified which devices shipped with these capabilities and which did not. But now that most Android devices come with these features, Google has eliminated the...
It's up to IT to make end-user computing easy
Citrix, End-user, Microsoft Windows, VMware Workspace One, Workspace
It's part of IT's job to deal with end users who aren't tech-savvy. The latest research says it may be a bigger part of the job than most people realize. About two-thirds of people aged 16 to 65 have poor or worse computing skills, according to a study by the Organization for Economic...
A blog for business leaders, IT pros and developers who want to get the most out of enterprise mobility management, mobile applications and mobile infrastructure.


text:
Walter Reca: Orphan
When Walter was born in September 1933, his family had no idea that in just a few short years he would be left fatherless. Walt's father was in medical school, studying hard as an aspiring doctor. Walt was only 6 years old when his father Walter Peca, Sr. was electrocuted while working in Farnsworth, Michigan. The loss of one parent made Walt an orphan, and his family was shocked by the unexpected passing of Walt Sr.
The family lived with Walter's grandparents, who were able to assist some in raising the children - Walt and his younger sister Sandy - after his father's death. The grandparents spoke Russian and Polish in the home, which equipped Walter well for future international travel and his initial application to the CIA. The family was Catholics, and Walt would later say that he prayed nearly every day.
Even with the grandparents' help, being a single mother to two children in the 1930's was no easy task. Walt remembered his mother Jean fondly, but it was no secret that she couldn't always offer her children the support that they needed. Money was usually scarce, and Walt was left unattended for long hours, which gave him plenty of time to get in trouble. When Walt grew up, he felt responsible for the care of his mother and sister.
Today, we know that losing one or both parents in childhood has a profound impact on a child's emotional and mental health. Walt would have faced issues of depression, anxiety, juvenile delinquency, or substance abuse. In fact, in adulthood Walt was a heavy drinker and smoker, and he was known for being on the wrong side of the law.
Walter also had a soft spot for children who had grown up without one or both parents just like he had. He was always a mix of hard and soft, kind and tough. His experiences as an orphan contributed to much of his wild side, but it also softened his heart to his remaining family and other orphaned children. As for his father's untimely death, Walt might say his own life had enough adventure for the both of them.
Ready to dive deeper? Purchase the memoir D.B. Cooper & Me here.
See the evidence for yourself - watch the documentary "D.B. Cooper: The Real Story" here.
Walter Reca: Generous Thief
Walter Reca: Covert Operative
Walter Reca: Delinquent
Skyjacking: The Landing
Skyjacking: The Jump
Skyjacking: The Idea


The first three installments in this series covering management's most basic principles addresses Planning, Organizing, and Training. Once those have been done, or more realistically, once those are being done, the final principle is that of controlling action.
If nothing is moving, the first challenge is to get things moving in an orderly manner. One that happens, the next logical addition is to control what is moving; minimize waste, maximize efficiency, and focus efforts.
Control happens when movements are contained within certain parameters. In engineering those parameters would be called "tolerances" because a certain degree of latitude is allowed. In retail businesses, they control inventory by budgeting for shrinkage, which is the loss of inventory, through breakage and theft. In manufacturing, control is exercised by managing time, predicting and planning for the supply of component parts, and monitoring specifications.
In all applications of control, there has to exist a standard from which all variance is measured. Here it might be helpful to borrow a term and concept from surveying. When new territory is being plotted, surveyors lay a base line, a straight line running a fixed length along which all other measurements are to be made. When the original settlers of the San Bernardino valley laid out the city their base line, now a busy street, ran for many miles. All other streets and the plots of land that would be parceled out to settlers were measured from that on line.
Management and leadership uses the same principle. A standard is established which becomes the target for measuring performance and therefore a basis for controlling action. Corporate run restaurants establish the target number of diners and their average purchase amount and they control costs by carefully controlling portions in both recipes and servings.
Corporate run casinos know how much money the average gambler will lose at a blackjack table per hand that is dealt. They also set the standard for how many hands the dealer should deal per hour and thus can predict with reasonable accuracy how much the table should earn. They then monitor the take from that table and can see where it deviates from the base line. If a regular pattern emerges, say one particular dealer is earning less than those who precede of follow him, the house begins to look for the reason why.
Base line control works just about everywhere. It was Peter Drucker who said that "if you cannot count it you cannot control it." So the concept and practice of control is a counting action. Leaders do not do so well at this because the nature of leadership is less specific and more inspirational. However, if inspirational and motivational influence does not somewhere and somehow translate to measurable advances, leadership is relegated to platitudes and concepts. They're pleasant but produce little in the way of lasting effect.
Control is a concept many people are uncomfortable with because it requires them to hold people accountable for results. We live in an age of fuzziness where we confuse feelings and attitudes with genuine advancement and progress. HR people and social scientists have proposed that we focus on the feeling side of work which can have a counterproductive effect if not balanced with real control targets. Your role as manager is to place the right people in the right positions so they can do the right job at the right time and produce the right results. Feeling good, loved, accepted, and fulfilled has value as long as that focus does not override the objective – to produce results.
On the other hand, too much control can result in friction (see my post here about that subject). If things are functioning smoothly and on track, a different kind of control is called for. MacGregor's X and Y management styles addresses this and I will too in future posts (this is also the subject of my next book "How To Light A Fire Under Almost Anyone Without Getting Burned") so be informed that that this subject is by no means exhausted here.
Management is a game won or lost by numbers. To be able to control is to be able to count.
A base line needs to be determined and laid out so EVERYONE who is accountable to it understands it and what it means. It is unfair to hold people to standards they are not aware of.
Ineffective managers keep moving the base line. This inevitably causes confusion and resentment. If you arbitrarily move the baseline to put more money in your pocket while taking money OUT of the pockets of the people who work for you, count on your best and most productive people moving on.
Ineffective managers have no baseline going in or they refuse to reveal it to their associates. People respond best when they know what is expected of them. If you are going to hold people accountable for numbers make very sure they know what those numbers are.
Monitor deviation from base line numbers and find out why before jumping to a conclusion. There can be more than one reason why numbers are not met or exceeded.
If you move numbers higher because of better than expected results make sure it is a joint effort and a reasonable one.
To control results you'll need to coordinate efforts. Until you have clear evidence otherwise, you may assume that most people want to do well in their jobs and will continue to do so if given the right tools and competent management. Demanding more with less will doubtless provoke resentment, grumbling, and plots of rebellion (just ask an ancient Pharoah when he demanded his guest workers, the Israelites, to make more bricks with less straw). It takes lots of fuel and gear grinding to get a vehicle moving, but once it is on the road, a different type of control is necessary. You can let the machine do what it was designed to do and simply keep a supply of fuel, lubrication, and guidance to keep it on the road an on the way.
I am yet in Uganda, East Africa. I spent the last two days on the road travelling up-country arriving back in Entebbe last night to discover that my internet access was no longer functioning. As of mid-day today it is still out. I have a wireless modem used here through the mobile phone providers but it is so slow I hesitate to use it. Nonetheless I have. Even getting airtime is fun. A trip downtown to the currency exchange office to but more shillings, then a walk down the street to the mobile phone office, a wait in line, then it's my turn. Select the number of gb's I want for a month and pay the fee while the tech retrieves the SIM card registration, gets the airtime and downloads it onto the stick. I am using the stick modem now. Thanks for your patience.
5 ways to make your important sales quotas, annual projections, and other vital numbers completely worthless.


creating my own but I'm not sure where to begin. Do you have any ideas or suggestions?
Hi, this weekend is nice designed for me, because this occasion i am reading this great informative paragraph here at my residence.
.. I'm not even using WIFI, just 3G .. Anyways, amazing blog!
between superb usability and appearance. I must say you've done a superb job with this.
to be really something that I believe I might never understand.
I'm looking forward for your subsequent publish, I'll try to get the cling of it!
Excellent items from you, man. I've remember your stuff prior to and you're just extremely excellent.
care for to keep it wise. I can't wait to read much more from you.
Somebody necessarily lend a hand to make significantly posts I'd state.


text:
\section{Introduction}
\label{sec:intro}

\paragraph{Molecular based taxonomy:} For a couple of centuries, the diversity of life has been organized as taxonomic systems, based on nested clustering \cite{Sneath1973}. This relied mainly as an expertise on key dissimilarities between
some phenotypic traits, and systematics was a cornerstone of natural history. More recently, systematics has shifted towards molecular systematics \cite{Hillis96}, where
distances between sequences have been organized along phylogenies, which model the history of speciation in a given group \cite{Felsenstein2004}. Slightly later, so called
barcoding has been  an international effort to normalize sequencing (primers choice) to encompass as much as possible of the diversity of all organisms, using very large and
shared databases \cite{hebert03,Hollingsworth2009,Pawlowski2012}. Such an approach is perfectly suited for the geometric view of biodiversity as a replicable procedure, because
there exists algorithms for computing distances between two sequences. In this work we focus on a molecular based construction which scales with massive data sets produced by NGS. Diversity characterization is obtained by visualization of the produced point clouds by projection in low dimension spaces,
as finding a shape in a high dimensional space still remains an open question.
\paragraph{Metabarcoding:} As soon as molecular diversity has been put in relation with taxonomic diversity, several studies have shown that most of the existing diversity had been hidden to our eyes. This
is particularly true for microbial diversity in the oceans \cite{Lopez-Garcia2001,Sogin2006}. In parallel, metagenomics has emerged as a technique to sequence simultaneously
all genomes in a given microbial community. Such a technique has been developed as metabarcoding  \cite{Hajibabaei2011,Bik2012,Taberlet2012,Kermarrec2014,Dafforn2014,Joly2014,Pawlowski2014} by amplifying and sequencing all the sequences of a given marker of taxonomic interest in a given community. Here, we develop some data analysis on metabarcoding of environmental samples of freshwater diatoms. We have selected this clade as it is one of the clades of microbial organisms for which an expertise exists for optical based taxonomic identification \cite{Mann1999}. Hence, consistency between morphological based and molecular based taxonomy can be evaluated.

\section{Data analysis}\label{sec:datanalysis}

As in machine learning, two main families of methods exist to assign taxonomically a set of sequences:
\begin{itemize}
 \item supervised learning, where an unknown sequence is assigned to a taxon by comparison with a reference database, where sequences have been taxonomically annotated
 \item unsupervised learning, where the organization of the diversity itself is sought for, as in clustering. This is traditionally called OTU picking in metabarcoding studies \cite{Bik2012}.
\end{itemize}
There exists classical and efficient tools for each of this task. BLAST \cite{Altschul1990} is by far the most used tool for supervised learning. However, there is no equivalent golden standard for unsupervised clustering. It should be nested agglomerating clustering, which suffers from computation load as computing all distances between $n$ sequences and performing agglomerative clustering are each quadratic with $n$, i.e. the complexity is in $\mathcal{O}(n^2)$ \cite{Muellner2013}. Hence, many heuristics have been used. Among them, one of the mostly used is an adaptation of k-means \cite{Edgar2010}. It can handle huge datasets, as it can work in streaming, but it suffers from some flaws, as the fact that the result depends on the order the sequences have been presented. Swarm \cite{Mahe2014} has solved some of these issues, but still relies on some heuristics. However, there is no better tool for huge data sets (millions of sequences) for clustering. Here, we compute exact distances between sequences, and run Multidimensional Scaling as a way to visualize the structure of the diversity as given by pairwise distances.\\
\\
Historically, Multidimensional Scaling has been derived to find configurations of points in Euclidean space of small dimension the shape of which fits as much as possible a set of pairwise distances \cite{Torgerson1952}. However, the machine learning algorithms used for building a point cloud knowing pairwise distances, as well as just computing the distances between all pairs of reads, have a
complexity respectively cubic and quadratic to the number of specimens. Such a complexity has been acknowledged as a difficulty for dealing with full matrices of pairwise distances, and several procedures have been designed to circumvent it (see \cite{Aflalo2013} and references therein). In this work, we implement an algorithm to circumvent the complexity of the problem by computing pairwise distances on an hyperparallel supercomputer, and by calculating the desired eigenpairs by methods based on random projection \cite{Vempala2004,Halko2011}.

\subsection{A generic approach for large biological datasets}
\label{sec:generic-approach}

	%
	The pipeline we have designed and implemented is the sequence of following steps:
	\begin{itemize}
	 \item compute pairwise distances between all pairs of $n$ reads,
	 \item run Multidimensional Scaling on the distance matrix,
	 \item visualize the first $r$ components with $r \ll n$.
	\end{itemize}
	The novelty lies in an implementation on large data sets, \ie, scaling up to data sets produced by NGS sequencing operations, currently $n \simeq 10^5$ reads. Computing pairwise distances between reads is quadratic in $n$, and requires $\mathcal{O}(Kn^2)$ elementary operations, $K$ being a constant quadratic in the length of the reads. Running MDS requires computing $r$ eigenpairs of a $n \times n$ matrix, which can be done in $\mathcal{O}(rn^2)$ operations. We address this complexity issue by
	\begin{itemize}
	 \item parallelization of the computation of pairwise distances on an hyperparallel machine (an IBM Blue Gene Q)
	 \item using a MDS approach powered by random projection and efficient C++ implementation.
	\end{itemize}

	\noindent The time needed for each of these steps is given in table \ref{tab:mds-chain}.
	\begin{table}[htbp]
	  \centering
	  \footnotesize
	  \begin{tabular}{c | c | c | c | c}
	      Sample      & compute distances    & transfer and convert                    & subsample    & perform MDS  \\
	    (Lake Geneva) & S-W on \emph{Turing} & \emph{iRods}$\rightarrow$\emph{plafrim} & $10^4$ reads & full SVD     \\
        \hline
	    $10^5$ reads  &   4h                 &     20min $+$ 1h40                      &    30s         &   20min     \\
	  \end{tabular}
	  \caption[Estimation of the time required to perform expensive computations in our operational workflow.]{Some average running times related to expensive operations involved in the operational chain.
	  }
	  \label{tab:mds-chain}
	\end{table}

\subsection{Scalable pairwise distances computation}
\label{sub:dis}

	There are several ways to compare sequences (see e.~g. \cite{gusfield97,Yang2006}). The dissimilarity used here is computed from a local alignment score \cite[p.~232]{gusfield97}
	using Smith-Waterman algorithm \cite{SW81}. If the length of the sequences is $p$, the algorithm scales like $\mathcal{O}(p^2)$. As it is quadratic in the number $n$ of sequences, computing the
	whole matrix has a complexity of $\mathcal{O}(n^2p^2)$. We have written a program in C, called \texttt{disseq}, which takes as inputs two fasta files, of length $m$ and $n$ each, and returns the $m \times n$ matrix $D=[d_{ij}]$ where $d_{ij}$ is the distance between sequence $i$ of first file and $j$ of second file. This program has been parallelized with MPI
	(Message Passing Interface) as a map-reduce process, in a program called \texttt{mpi-disseq}, as all distances can be computed independently. \texttt{mpi-disseq} has been run
	on a BlueGene Q (IBM) located at IDRIS to compute the matrix $D$ of all pairwise distances ($\sim 5.10^{9}$ values). Its architecture is made of 6 racks, of 1,024 nodes each, with 16 cores per node, hence 98,304 cores. We have used Turing with $2^{14} =
	16,384$ cores (one rack). Turing peak power is 1,258 Pflops/s. One advantage of such a choice, beside massive parallelization, is a low energy consumption. Such an architecture
	is particularly suitable for massive embarrassingly parallel jobs. The program has been tested on Avakas (Mésocentre de Calcul Intensif Aquitain, 264 computing nodes, 12 cores per
	node), and then ported to Turing. It scales perfectly.

\section{A random projection-based spectral decomposition}
\label{sec:randproj}
In this section, $D$ denotes the pairwise distance matrix and $G$ the Gram matrix built from it (see section \ref{sec:mm}). Next step is to perform MDS on $D$. The calculation is presented in section Material and Methods. It amounts to perform a SVD of a Gram matrix $G$ built from the distance matrix $D$, and of same dimension. In this section we describe an efficient approach for computing the spectral decomposition of the real symmetric matrix $G$ at a quadratic cost in $n$. We put the emphasize on the genericity of the approach and its competitive numerical performance (see \cite{Blanchard2017} for details).
\subsection{Standard iterative approach}
\label{sub:randproj-std}

The standard methods used to compute the full eigenvalue decomposition (EVD) of an arbitrary $n$-by-$n$ real matrix usually take $\mathcal{O}(n^3)$ operations. This complexity makes those methods computationally untractable to large data sets. However, there exists well-known iterative techniques that compute the first $r$ eigenpairs at a $\mathcal{O}(n^2r)$ cost, \eg, Arnoldi or Lanczos algorithm \cite{Sorensen1997}. Despite presenting several flaws, these variants provide an exact spectral decomposition.

\subsection{A \emph{random projection}-based algorithm}
\label{sub:randproj-principle}
Our novel contribution to MDS consists in using low-rank approximation techniques based on random projection, to compute an approximate rank-$r$ spectral decomposition of $G$.
Random projection, along with random sampling, belongs to a broader class of dimensionality reduction tools known as random sketching \cite{woodruff2014sketching}. Although most fast approaches to MDS rely on random sampling \cite{platt2005fastmap}, to our knowledge there are very few contributions to this field that involve random projection if any. Despite involving more intensive computations than random sampling, random projection presents many benefits such as better accuracy, robustness and low variability.
Low-rank approximation techniques based on random projection were made popular by a SIAM review paper by Halko et al. \cite{Halko2011}. Among theses algorithms, the randomized Singular Value Decomposition (or randomized SVD) computes an approximate rank-$r$ SVD of a $m$-by-$n$ matrix in $\mathcal{O}(mnr)$ operations.
This algorithm can be used to compute the first eigenpairs of $G$, by simply remembering that for a symmetric real matrix singular values $\sigma$ can be related to the eigenvalues by $\sigma=|\lambda|$.

\subsection{Numerical performance}
\label{sub:randproj-numperf}

This approach represents a significant alternative to standard EVD algorithms, as it shares the same complexity, namely $\mathcal{O}(rn^2)$, but usually performs significantly better and parallelizes straightforwardly. However, the input matrix has to fulfill a few criteria for the method to work properly. $G$ should be low-rank, \ie, $r \ll n$, and have a fast decreasing spectrum or a low stable-rank, \ie, $st(G)=\|G\|^2_F/\|G\|^2_S \ll n$, \ie a low ratio between the squared Frobenius norm $\|G\|^2_F=\sum_{i\leq n}\sigma_i^2$ and the squared spectral norm $\|G\|^2_S=\max_{i\leq n}\sigma_i^2$. Finally, as stated in \cite{Halko2011}, even though the algorithm has a non-zero chance to fail, tight Frobenius and spectral error bounds were shown to hold with high probability, if $G$ verifies the aforementioned conditions.
-

\section{Visualization of a large diatoms sample}
\label{sec:exp}

The main goal of our approach is to achieve an efficient and handy visualization technique that provides relevant information on the diversity of some real-life samples, currently of about $10^5$ sequences. Due to the longstanding coevolution between clustering and numerical taxonomy, a possible analysis of the shape of the point cloud consists in identifying clusters. Clustering is an immense domain, and we will not enter here into the discussion for the best methods knowing a pairwise distance matrix: this is ongoing work. We focus in this report on studying the concentration of the reads in some subsets in the projection on the first few dimensions of MDS.

\subsection{Dimensionality reduction}

When the dimension of a space is large, the so called \emph{curse of dimensionality} enters into the game. In brief, it can be summarized by telling that there is much room in a high-dimensional space. For example, two opposite vertices of an hypercube are at distance $\sqrt{n}$ (i.e. the distance between two points in a symmetric body of unit volume can be arbitrarily large), whereas the volume of the hypersphere of radius one shrinks to zero: the probability to have a neighbor at distance one or less is negligible \cite{Izenman2008,Wang2012}. This can impact any algorithm based on distances. Therefore, a first step is often to reduce the dimension of the problem, by building a mapping of the original point cloud on a Euclidean space of far lower dimension. This is called dimensionality reduction, and is a key step in machine learning \cite{Izenman2008,Lee2007,Murphy2012}. MDS is the tool for visualizing the geometry of the point cloud associated to distances between reads in low dimension. Hence we present such a visualization by projection on first axis of MDS, and provide some hints for interpretation by a comparison with supervised clustering. We do not report here on unsupervised clustering, which is deferred to further work. We have worked with a full sample named $L_6$ ($n=99,594$, see sample description in Materials and Methods section). We have built the associated point cloud by mean of a rank $r=50$ randomized SVD. Here, we show representations of the full sample in 3D for easy visualization of the point cloud. In such a representation, each point represents a read. We have used a supervised clustering technique (a program called \texttt{diagno-syst}, see \cite{Frigerio2016}) to assess a taxonomical name to each read for which it has been possible, to test whether the clusters were related to species. Then, we discuss the visualization of the cloud in higher dimensions.

\subsection{Reads concentration in low dimension}
\label{sub:exp-visu-concentration}

Because of the number of points, several reads are projected on the same pixel in regions with high concentration of reads in first axis. We have quantified this by hexagonal binning: the plane formed by axis $i$ and $j$ (with $(i,j) \in (1,2); (1,3); (2,3)$) is tessalated by hexagons. Then, the number of points per hexagon is counted, and these figures are displayed, in logarithmic scale. This is presented in figure \ref{fig:L6_Full_HexBin}. In particular, this figure shows that only very specific regions of the full domain contain most of the individuals and that they are surrounded by regions of far lower density. The pattern is an archipelago of islands of high density surrounded by an ocean of low density. It may be tempting to associate high density islands to clusters and clusters to species.
\begin{figure}[h]
\centering
\includegraphics[trim=.5cm .25cm .5cm .5cm,clip,width=.5\textwidth]{L6_L6-fmr-rsvd50-comp-pos-gap6_HexBin_F1toF3.jpg}
\caption{Concentration of the population of a full sample represented in log-scale on the first thee axis.}\label{fig:L6_Full_HexBin}
\end{figure}

\subsection{Interpretation with supervised classification}

In order to validate our approach, and test whether high density islands correspond to reads belonging to a same species, with ideally a one to one correspondence between islands and species, we have colored the points according to an information provided by supervised clustering on all the reads. Indeed, we have at disposal a reference database for diatoms, which is fairly good for Geneva lake \cite{Rimet2016}. We have computed all pairwise distances between the reads in our sample $(\simeq 10^5)$, and the taxonomically annotated reads in the reference database $(\simeq 2.10^3)$. This is intensive computing too, which has been executed on Turing, with \texttt{MPI-disseq} as well. Then, we have selected an homology gap (classically 97\%), and, for each read in our sample, selected all reads in the reference database which were at distance lower than the homology gap. If they all belong to a same species, the read has been annotated with this species name. If not, it has been annotated as ambiguous status. This has been done with a program called \texttt{diagno-syst}, as a work available in \cite{Frigerio2016}. Then, we have colored the individuals \wrt their species as identified by supervised clustering in different colors for different species.  (see figure \ref{fig:L6_Full_Plot2D}). We have checked as well that the species identified this way in the community have been identified optically too. This supports a consistency between morphological based and molecular based taxonomy.

\begin{figure}[h]
\centering
\includegraphics[trim=.5cm .25cm .5cm .5cm,clip,width=.5\textwidth]{L6_L6-fmr-rsvd50-comp-pos-gap6_Plot2D_F1toF3.jpg}
\caption{Concentration of the population of a full sample represented in log-scale on the 3 first pairs of features.}\label{fig:L6_Full_Plot2D}
\end{figure}

\subsection{Representation in many dimensions}
\label{sub:exp-visu-manyD}

In order to visualize the point cloud in more dimensions than 3D, a common alternative to 2D plots is the representation in \emph{parallel coordinates} such as the one displayed on Figure~\ref{fig:L6_Full_ParaCoord}. This technique offers various advantages as it decouples the dimensions and displays them on a single axis. Due to significant density of the cloud, we make use of advanced rendering techniques (opacity, brushing and bundling) provided by the javascript libraries \texttt{d3.js} and \texttt{paracoords.js} in order to better represent the concentration of reads. The clustering of the reads can again be confirmed by observing that individuals of the same species follow a similar path along the first few dimensions, while spreading only on a fraction of the full domain. This observation is made clearer by the observation of each species separately. The consistency of clustering as seen through bundles of trajectories of all reads belonging to the same species with species delineation is shown here up to the first ten dimensions, which permits to envisage such an approach for pattern discovery related to OTU beyond visual inspection in the first three axis.

\begin{figure}[h]
\centering
\includegraphics[width=.5\textwidth]{zoom-F1toF6.jpg}
\caption{Representation of the predominant identified species within the full sample using parallel coordinates over the first 6 features produced by random projection-aided MDS. \underline{Legend:} Encyonema muelleri (orange), Fragilaria perminuta (light blue), Nitzschia dissipita (dark yellow), Encyonema prostratum (yellow), Achnanthidium minutissimum (blue), Navicula cryptotenella (dark blue), Navicula tripunctata (light yellow), Cymbella lanceolata (red). The remaining reads appear in light red in the background.}\label{fig:L6_Full_ParaCoord}
\end{figure}

\section{Conclusions and perspectives}

We have implemented Multidimensional Scaling of the matrix which contained exact distances between all pairs or reads of an environmental sample of $\simeq 10^5$ reads. This has permitted to visualize the points cloud associated to those distances in low dimension spaces. We have shown that points were clustered in islands of high density regions forming an archipelago within an ocean of low density regions.  We have shown by supervised classification that some clusters could be associated to those species which were optically identified in the sample and in the reference database. This establishes consistency between supervised and unsupervised approaches, and paves the way for using unsupervised methods when taxonomic information for supervised approaches is lacking, which will greatly expand the scope of these methods.\\
\\
It can be observed as well that some islands could not be assigned to species by supervised clustering. It may be tempting to hypothesize that those clusters correspond to species which are present in the sample, but not in the reference database. More precisely, some parts of the cloud contains unknown individuals but still exhibits a certain structure and a significant density, which suggests that a deeper analysis of the cloud is possible. Supervised method permit a dictionary between molecular based patterns as derived in metabarcoding and previous patterns in biodiversity studies as derived in Natural History. However, one of the most critical shortcoming of supervised methods is that reference databases will never be complete, because of the tremendous number of species, most of them still unknown. Hence, there is an urgent need for unsupervised methods, which are consistent with supervised methods when taxonomic information is available. We have proposed here such a method by an analysis of high density regions in projection in a low dimension space. Nest step may be the use of image analysis techniques to identify and characterize those high-density islands.\\
\\
Classically, unsupervised clustering of reads for metabarcoding is done by greedy methods, mentioned in the introduction of section \ref{sec:datanalysis} (a couple of them are included as choices in Mothur \cite{Schloss2009} or Qiime \cite{Caporaso2010}). Once again, those methods rely on heuristics, and their accuracy are not assessed for very large datasets. Many different exact methods can be implemented provided one accepts to invest in computation load for a better accuracy. One can mention a few: nested aggregative clustering \cite{Muellner2013}, selecting a threshold $\theta$ and build a graph $G=(V,E)$ with $V$ being the set of reads, and $(i,j) \in E \: \Leftrightarrow \: d(i,j) \leq \theta$, and build the connected components of $G$ (this is linear in time with $n$), or more elaborate methods on the same graph like spectral clustering to derive communities \cite{UvLux07,Girvan2002}.\\
\\
Next steps are not only to compare, but to associate all these methods and tools, in order to build Operational taxonomic Unit with best accuracy on very large data sets, as consistent as possible with our knowledge of the diversity of life as we have inherited it from centuries of studies in Natural History, and as automatized and sound as possible for exploring the unknown diversity.

\section{Material and methods}\label{sec:mm}

\subsection{A sample from Lake Geneva}
\label{su-b:exp-spl}
We have considered 10 environmental samples, denoted $L_t$, that were collected from Lake Geneva at about monthly intervals at times $t=1,\ldots,10$ between April 2012 and March 2013
in order to investigate a seasonal dynamics. Amplicons of chloroplastic marker rbcL have been produced for each sample by DNA extraction, amplification, and sequencing on a Ion Torrent PGM (see \cite{Kermarrec2013} for protocols). The various samples contain from about $7\times 10^4$ to
$1.4 \times 10^5$ reads. The diversity of each sample has been assessed both optically, and by supervised clustering of reads by mapping on a dedicated reference database (see \cite{Rimet2016} for the reference database, and \cite{Frigerio2016} for the algorithm for mapping reads, and its implementation.)
A fraction only of diversity can be assessed with these classical tools.

\subsection{Multidimensional Scaling}
\label{sub:mds}
The method implemented here is \emph{classical multidimensional scaling}\footnote{There is another procedure bearing the same name, called nonmetric MDS due to Kruskal \cite{Kruskal1964}, based on an optimization scheme, which currently cannot be implemented for more than a few thousands items.} (see \cite{Borg2005,Izenman2008} for a recent survey, and \cite{Cox2001} for a seminal monograph) which follows Torgerson's  work \cite{Torgerson1952}. Let us have a set of $n$ items with $i \in V = \{1,n\}$, and a distance $d_{ij}$ between items $i$ and $j$. Then, $(V,d)$ is a finite metric space. For a given dimension $r \in \mathbb{N}$, classical MDS is finding a map $\begin{CD} x \: : \: i @>>> x_i \in \mathbb{R}^r \end{CD}$ such that $\|x_i-x_j\|$ is as close as possible to $d_{ij}$. If the distances $d_{ij}$ are such that the corresponding Gram matrix $G$ is definite positive, the solution is well known \cite{Cox2001}, and is implemented in three steps
\begin{enumerate}
\item The scalar product $\langle x_i,x_j\rangle$ can be computed from the distances only, as
\begin{equation*}
  \langle x_i,x_j\rangle = -\frac{1}{2}\left(d_{ij}^2 - \frac{1}{n}\sum_id_{ij}^2 - \frac{1}{n}\sum_jd_{ij}^2
  + \frac{1}{n^2}\sum_{i,j}d_{ij}^2\right)
\end{equation*}
The scalar products $\langle x_i,x_j\rangle$ are the elements of the Gram matrix $G = [\gamma_{ij}]$ with $\gamma_{ij} = \langle x_i,x_j\rangle$
\item compute the eigenvalues and eigenvectors of Gram matrix $G$
\begin{equation*}
Gu_\alpha = \lambda_\alpha u_\alpha, \qquad \lambda_1 \geq \ldots \geq \lambda_n \geq 0
\end{equation*}
(As $G$ is a Gram matrix, all its eigenvalues are non negative, as there is a $n \times n$ matrix $X$ such that $G=XX'$)
\item Let us denote $\Sigma = \Lambda^{1/2}$ where $\Lambda$ is the diagonal matrix with $(\lambda_\alpha)_\alpha$ on its diagonal. Then compute
\begin{equation*}
X = U\Sigma
\end{equation*}
\end{enumerate}
Then, the best representaton of $D$ as distances within a point cloud in $\mathbb{R}^k$ embedded with standard inner product is $X_r$, which is the extraction of the first $r$ columns of $X$. $x_i$ is the $i-$th row of $X_r$. The best rank $k$ approximation of $G$ is $G_r=X_rX_r'$.

\subsection{Observations}
\label{sub:mds-obs}

Two observations can be made:
\begin{itemize}
\item In general, not all eigenvalues of $G$ are non negative. If all eigenvalues are non negative, then $(V,d)$ can be embedded isometrically in a Euclidean space, and a best low dimensional approximation can be computed as the Principal Component Analysis of the point cloud \cite{Mardia1979}. The condition can be seen directly on the distance matrix, and involves signs of Cayley-Menger determinents (see \cite[thrm 2.1, p. 15]{LLMM14}).
\item  As far as calculation is concerned, step 2 is the most demanding: computing eigenpairs of the Gram matrix. We have implemented here a procedure relying on random projection (see \cite{Vempala2004} for a survey).
\end{itemize}

\paragraph{Acknowledgments:} Computation at IDRIS has been supported by DARI project
\emph{Biodiversiton} \texttt{i2015037360}. Experiments presented in this paper were carried out
using the PlaFRIM experimental testbed, being developed under the Inria PlaFRIM development action with support from LABRI and IMB and other entities:
Conseil Régional d'Aquitaine, FeDER, Université de Bordeaux and CNRS (see https://plafrim.bordeaux.inria.fr/). Sequencing has been performed at the Genome Transcriptome Facility of Bordeaux (grants from the Conseil Régional d'Aquitaine n°20030304002FA and 20040305003FA, from the European Union FEDER n°2003227 and from Investissements d'Avenir ANR-10-EQPX-16-01) and with support of ONEMA project on Mayotte. Humid lab (DNA extraction, PCR) have been done at UMR Carrtel, under guidance of Agnès Bouchez, with support of ONEMA project Mayotte. We acknowledge an \emph{Investissement d'Avenir} grant of the Agence Nationale de la Recherche (CEBA: ANR-10-LABX-25-01). We acknowledge the nice atmosphere of network R-Syst, and support by INRA divisions EFPA and SPE, for methodological developments on metabarcoding, as well as its database infrastructure.

\newpage

\bibliographystyle{alpha}
\newcommand{\etalchar}[1]{$^{#1}$}

redpajama_set_name: RedPajamaArXiv


text:
A small glass of juice or soda a day is linked to increased risk of cancer, study finds
Posted 10:29 am, July 11, 2019, by Tribune Media
There's more bad news for fans of sugary drinks such as soda and fruit juice.
A new study has linked drinking just a small glass of a sugary drink per day — 100 ml, about a third of a typical can of soda — to an 18% increase in overall cancer risk and a 22% increase in risk for breast cancer.
The research, which looked at more than 100,000 French adults, links consumption of sugary drinks to an increased risk of some cancers. This follows a recent study linking sugary beverage consumption to greater risk of premature death.
"The results indicate statistically significant correlations between the consumption of sugar-sweetened drinks and risk of all cancers combined, and of breast cancer," said Ian Johnson, nutrition researcher and emeritus fellow, Quadram Institute Bioscience, who wasn't involved in the research.
"Surprisingly perhaps, the increased risk of cancer in heavier consumers of sugary drinks was observed even among consumers of pure fruit juice — this warrants more research," Johnson told the Science Media Centre in the UK.
Mathilde Touvier, lead author of the study which was published Wednesday in medical journal BMJ, said that the findings added to research showing that reducing how many sweetened beverages we drink would be beneficial for our health.
"What we observed was that the main driver of the association seems to be really the sugar contained in these sugary drinks," said Touvier, who is the research director of the Nutritional Epidemiology Research Team of the National Health and Medical Research Institute at the Paris 13 University.
Touvier said her team observed that sugar seemed to be the main driver of the link.
"High sugary drinks consumption is a risk factor for obesity and weight gain," she said, and, "obesity is in itself a risk factor for cancer."
Another possibility is that additives, such as 4-methylimidazole, which is found in drinks that contain caramel coloring, could play a role in cancer formation.
Touvier suggested that people should stick to public health guidelines that recommend limiting sugary drinks to a maximum of one glass a day.
Responding to the study, the American Beverage Association stressed the safety of sugary drinks.
"It's important for people to know that all beverages — either with sugar or without are safe to consume as part of a balanced diet," Danielle Smotkin, a spokeswoman for the American Beverage Association said in a statement.
"That said, America's leading beverage companies are working together to support consumer' efforts to reduce the sugar they consume from our beverages by providing more choices with less sugar or zero sugar, smaller package sizes and clear calorie information right up front."
No link found with diet sodas
The research found no link between diet beverages and cancer. The authors warned that this finding should be interpreted with caution, as this type of beverage had a relatively low consumption among the study participants.
A study published earlier this year found that drinking two or more of any kind of artificially sweetened drink a day was linked to an increased risk of clot-based strokes, heart attacks and early death in women over 50.
However, Catherine Collins, a dietician in the UK's National Health Service, said that the absence of cancer risk in using diet drinks was the "take-home message" of the research.
"For too long the nutri-myth of sweeteners being a health risk has remained in popular culture," she told the Science Media Centre in the UK.
"All current sweeteners in use have been through rigorous safety testing before being acceptable for human use," said Collins, who was not involved in the study.*
'There is more work to be done'
For the new study, the research team looked at 101,257 healthy French adults — 79% women and 21% men who participated in the ongoing French NutriNet-Santé study.
Participants, who were on average 42 years old, filled out at least two questionnaires and were followed over a nine-year period. Their consumption of sugary drinks was gauged by participants submitting at least two 24-hour diet recall questionnaires, which asked about their usual intake of 3,300 different food and drink items.
Daily consumption of sugary drinks — sugar-sweetened beverages and 100% fruit juices — and artificially sweetened or diet beverages were calculated and first cases of cancer reported by participants were validated by medical records and linked with health insurance national databases.
On average, men consumed more sugary drinks than women — 90.3 ml daily compared to 74.6 ml. Risk factors for cancer, such as age, sex, educational level, family history of cancer, smoking status and physical activity, were considered in the study.
During the study's follow-up period, a total of 2,193 first cases of cancer were diagnosed, at the average age of 59 years. Of these, 693 were breast cancers, 291 were prostate cancer cases and 166 were colorectal cancers.
However, this study is observational and doesn't show cause and effect.
That's a major limitation, researchers say, as it's impossible to determine whether the association is due to a type of beverage or another hidden health issue.
"While this study doesn't offer a definitive causative answer about sugar and cancer, it does add to the overall picture of the importance of the current drive to reduce our sugar intake," said Amelia Lake, reader in public health nutrition at Teesside University.
"Clearly there is more work to be done and measuring dietary intake is challenging, however, the message from the totality of evidence on excess sugar consumption and various health outcomes is clear — reducing the amount of sugar in our diet is extremely important," Lake told the Science Media Centre in the UK. She was not involved in the current study.
Permanent hair dye, chemical hair straightening could increase risk of breast cancer, study finds
Top 34 bestselling 'fruit' drinks for kids deemed unhealthy
Getting the recommended amount of physical activity is tied to lower risk of cancer, study says
Anal cancer rates and deaths are climbing in the US, study says
Pulse – The link between hair dye and breast cancer
US adults who binge drink are drinking even more, study says
FDA investigating whether diabetes drug Metformin contains probable carcinogen
SSM Health Medical Minute – Breast cancer: What treatment questions to ask?
Just 1 dose of the HPV vaccine may protect against infection, new study suggests
Festive hot drinks revealed to contain up to 23 teaspoons of sugar
Eating in a 6-hour window and fasting for 18 hours might help you live longer
Johnson & Johnson recalls baby powder after traces of asbestos found


Gold Bond conventional innerspring mattresses adhere to the highest standards of comfort, quality and craftsmanship. That means old-world attention to detail coupled with the latest technologies in comfort. Crafted with materials like visco-elastic memory foam, traditional urethane foam, silk, wool and strength-tested steel innersprings. Available in a wide variety of firmness options and priced for every budget. Gold Bond conventional innerspring mattresses will exceed your expectations.


text:
Road Renaming
[ARCHIVED] Road Renamings Update
The original item was published from November 3, 2022 3:29 PM to November 3, 2022 4:17 PM
The process of renaming a number of roads and streets throughout Loudoun County that began in April 2022 continues.
Completed Renamings
The renamings of Leesburg Court in Sterling and Little River Lane in Aldie have been completed. Leesburg Court is now Compass Rose Court and Little River Lane is now Vilgrain Farm Lane. The new street names are now available in Apple Maps, Google Maps, Open Street Map and Waze.
Streets in and around Round Hill
The renamings of Early Avenue, Jackson Avenue, Lee Drive, Longstreet Avenue and Pickett Road are underway. Property owners of these streets were asked to nominate names for consideration. Names that are available for use were provided by ballot to the property owners. Once a new name has been chosen by the residents, it will not become official until after the new year. Residents will be notified by letter of the exact date their new address will become effective.
Hampton Road: Hampton Road residents were asked to nominate names for consideration. Only one name was submitted that was available for use – "Cinnamon Fern Road," which will become the new name of Hampton Road. This road name will not become official until after the new year. Residents should not begin using their new address until notified of the exact date it will officially change. Note: "Cinnamon Fern" is a type of fern that is native to Virginia.
Detailed information about the Loudoun County road renaming initiative is online at loudoun.gov/roadrenaming.


This case belongs to one of newest collection from American Tourister, the Bon Air. The collection is available in a range of colours, allowing you to pick a case that catches your eye. Not only does it looks great, but also provides a safe and secure storage space for your travel items. This large suitcase is well suited to longer journeys.


When you meet password protected PDF files, it will be an obstacle for you to handle PDF files in next round. VeryPDF has a professional tool named PDF Password Remover which can be used to decrypt protected Adobe Acrobat PDF files than have "owner" password set, preventing the file from editing (changing), printing, selecting text and graphics or open password. When you meet this kind of situation, you need to remove password first then process them.
Normally speaking, you will use two or more software to finish your task. If you need to make it in one conversion, this software can not make it for you. Some friends asked that "Do you have a software which allows us to remove password for PDF file the add attachment for it?".
In order to cater our friends needs, we developed software VeryPDF PDF Toolbox Command Line which can help you merge, split, encrypt, fill PDF form, edit PDF description information, and optimize PDF including add attachment or detach attachment. Removing password is just a piece of cake for it, now let us witness this wonder share together.
Unzip it to your PC and use it as other command line software.
Open MS Dos Windows or other application which can be used together with PDF Toolbox Command Line.
Check its usage carefully and call it as the usage shows.
pdftoolbox.exe" "36.pdf" -inputpassword opwd -outfile "36_out.pdf"
Note: please make sure input the open password here.
Then you can add attachment for it.
Now let us make a field practice in the MS Dos Windows.
By this way, you can remove password for PDF file together with other operations. Compared with PDF Password Remover, this software can give you more than you can image.
If you need to know about this software, you can search in our knowledge base or develop it yourself. During the developing, you can get more fun. During the using, if you have any question that you can not settle yourself, please contact us casually, we will solve it for you as soon as possible. All the ways on this website can help you reach to us.
How to register Text2PDF v1.5 software?
How to print MNG format to PDF file?
This entry was posted in PDF Toolbox Command Line. Bookmark the permalink.


text:
+++
date = "2019-09-01T09:09:09+02:00"
title = "Controlling the LEGO Mindstorms NXT with Node.js Part 1: It's Alive"
description = "Learn how to control the LEGO Mindstorms NXT with Node.js over Bluetooth."
intro = "For several years now, my LEGO Mindstorms NXT has been living a life as a decorative item on my desk. Since I wasn't in the mood to do real work today, I was wondering if it wouldn't be possible to use JavaScript to control it. After searching the web I found out that it is actually possible to do this. So let's have some fun..."
draft = false
categories = ["Development", "LEGO"]
tags = ["JavaScript", "Node.js", "LEGO Mindstorms"]
images = ["/images/f_auto,q_auto,w_2000/v1542158518/blog/2019-09-01/mindstorms-nxt"]
+++

For several years now, my LEGO Mindstorms NXT has been living a life as a decorative item on my desk. Since I wasn't in the mood to do real work today, I was wondering if it wouldn't be possible to use JavaScript to control it. After searching the web I found out that it is actually possible to do this. So let's have some fun.

This is the first article in a multi-part series. I don't know how far I'll go, but ultimately I have some ideas for building a Vue.js-based web interface to control the LEGO Mindstorms NXT robot. Let's see if I can make this a reality.

If you want to take a closer look at the code used in this article, you can [check out this GitHub repository](https://github.com/maoberlehner/mindstorms-nxt-node).

  <video
    data-src="https://res.cloudinary.com/maoberlehner/video/upload/c_crop,q_auto,w_1464,x_153,y_106/v1567320597/blog/2019-09-01/mindstorms-nxt-signature.mp4"
    poster="https://res.cloudinary.com/maoberlehner/video/upload/c_crop,q_auto,w_1464,x_153,y_106,f_auto,so_0.0/v1532157367/blog/2019-09-01/mindstorms-nxt-signature"
    controls
  ></video>

    The final result: the robot playing a signature melody

## The Setup

There are a few ways you can control the LEGO Mindstorms robot via Node.js, but the one I ultimately chose is the only one I managed to get to work. Unfortunately the LEGO Mindstorms NXT is quite old and most of the tutorials I could find had links to downloads that lead nowhere..

But what I could get to work was [nodejs-nxt](https://github.com/sahithyen/nodejs-nxt). However, I had to fork it and update its dependency to `serialport` to make it work with newer versions of Node.js. So if you want to follow along, please install [my fork](https://github.com/maoberlehner/nodejs-nxt) instead of the outdated version on npm, otherwise it won't work with newer versions of Node.js.

```bash
npm install maoberlehner/nodejs-nxt#464e251d18c144a607f0629642e18c9dcc82a8f9
```

Next, you have to connect your NXT to your computer via Bluetooth. To do this, follow the instructions for your operating system on how to connect to Bluetooth devices. After entering you pin code (usually `0000`) you're ready for controlling your LEGO Mindstorms NXT with Node.js.

## Make it speak

Let's start with a very basic example. Like any good robot, our NXT robot should play a catchy signature melody when turned on.

```js
// nxt.js
const Nxt = require('nodejs-nxt');

// Depending on your OS you might have to change
// the path to your Bluetooth connection.
const makeNxt = (path = '/dev/tty.NXT-DevB') => new Promise((resolve, reject) => {
  const nxt = new Nxt.NXT(path, (error) => {
    if (error) reject(error);
    resolve(nxt);
  });
});

const playTone = (nxt, { duration, frequency }) => new Promise((resolve, reject) => {
  nxt.PlayTone(frequency, duration, (error, response) => {
    if (error) reject(error);
    resolve(response);
  });
});

module.exports = {
  makeNxt,
  playTone,
};
```

The `nxt.js` file contains the function `makeNxt()` to establish a new connection to our NXT via Bluetooth. In addition, we have added a `playTone()`method that allows us to play a tone at a certain frequency for a certain duration.

```js
// programs/signature.js
const {
  makeNxt,
  playTone,
} = require('../nxt');
const { pause } = require('../utils');

const run = async () => {
  const nxt = await makeNxt();

  await playTone(nxt, { duration: 250, frequency: 700 });
  await pause(200);

  await playTone(nxt, { duration: 250, frequency: 1200 });
  await pause(200);

  await playTone(nxt, { duration: 250, frequency: 1000 });
  await pause(200);

  await playTone(nxt, { duration: 250, frequency: 1300 });
  await pause(200);

  await playTone(nxt, { duration: 250, frequency: 800 });
  await pause(250);

  await playTone(nxt, { duration: 250, frequency: 800 });
  await pause(200);

  nxt.Disconnect();
};

run();
```

Above you can see the code for playing a short signature melody on our robot – let's run it.

```bash
node programs/signature.js
```

  <video
    data-src="https://res.cloudinary.com/maoberlehner/video/upload/c_crop,q_auto,w_1464,x_153,y_106/v1567320597/blog/2019-09-01/mindstorms-nxt-signature.mp4"
    poster="https://res.cloudinary.com/maoberlehner/video/upload/c_crop,q_auto,w_1464,x_153,y_106,f_auto,so_0.0/v1532157367/blog/2019-09-01/mindstorms-nxt-signature"
    controls
  ></video>

    The final result: the robot playing a signature melody

The little move the robot makes at the end is not achieved by the above code, this is just a teaser of what you can expect in the second part of this article series.

Like What You Read?

        Follow me to get my latest articles.

        Find me on Twitter

## Wrapping it up

Although there isn't much documentation available, and this can be a bit frustrating from time to time, writing code that causes a small LEGO robot to make noises or even move, is for the most part a lot of fun.

Speaking of movement, in [the second part](/blog/controlling-the-lego-mindstorms-nxt-with-nodejs-its-moving/) of this series we take a closer look at how we can control the motors of the LEGO Mindstorms NXT with Node.js. Stay tuned!


text:
richard.aubrey.isaksen@gmail.com
Isaksens Adopt
Why Adoption?
Letter to You
Isaksens At A Glance
We are Richard and Aubrey Isaksen.
Our first date was a blind date with friends to a haunted attraction, followed up with tiny tacos (Aubrey's favorite).
We got married in July 2017.
We call Utah home.
We have two cats named Bubbles and Oliver.
We love going on weekend adventures to explore nature.
We are members of the Church of Jesus Christ of Latter-Day Saints.
Richard is a software test engineer. Aubrey is a preschool teacher.
Meet Richard – Told by Aubrey
Richard has a heart of gold. In college, a friend told me that Richard is the type of person a new Freshman would stop to ask questions. He is approachable and kind to everyone he meets. He comes from a very large family and is the fourth of seven kids. Family is so important to him. He grew up in Washington, just north of Seattle. Richard participated in drama in high school; I love the way he reads aloud and proclaims words. Richard served a two-year mission in England for the Church of Jesus Christ of Latter-Day Saints. Since we met in 2016, he has always shown those around him empathy and warmth. I love seeing the tenderness in him as he holds and plays with our nieces and nephews. I have no doubt that he will be a wonderful father.
His hobbies include road cycling, trying new recipes, and fishing.
Meet Aubrey – Told by Richard
On the list of all the values that Aubrey has, family is at the top. Aubrey is very close with not just her immediate family, but her grandparents, nieces, nephews, aunts, uncles, great aunt, cousins, second cousins, third cousins, uncle's nephew's best friend's son, and that one guy at the family reunion who no one really knows who they are and why they're there. Aubrey was born in Texas but grew up in the Ogden area of Utah. She studied preschool education in college; she loves interacting with and teaching children. She is incredibly passionate about motherhood and the role of mothers. Aubrey loves nature; she loves not only being out camping and hiking in nature but also loves having and caring for houseplants. While very shy and reserved at first, once she's comfortable around you, she becomes a goofy, funny life of the party. She has a somewhat odd, yet undeniably adorable, love for all things "tiny."
Her hobbies consist of photography, crafts, and home decorating (I dare not leave her unattended at Hobby Lobby).
Meet Us!: About
©2021 by Isaksen's Adopt. Proudly created with Wix.com


text:
Biografia
Viene ricordato come vincitore di una medaglia d'oro nella sua disciplina, vittoria ottenuta ai campionati mondiali del 2000 (edizione tenutasi a Altenberg, Germania) insieme ai suoi connazionali André Lange, René Hoppe e Carsten Embach

Nell'edizione l'argento andò all'altra nazionale tedesca e il bronzo alla nazionale svizzera. L'anno successivo nell'edizione del 2001 vinse una medaglia d'argento sempre nella stessa disciplina.

Note

Collegamenti esterni

redpajama_set_name: RedPajamaWikipedia


A personal finance company is a financial services provider which functions as a mediator offering personal finance services to its customers.Reputed personal finance companies, for example, HSBC, Tesco, Merrill Lynch, Prudential, GE Money, and American Express facilitate individuals to increase and safeguard their investment in the long run.
Whole Life Insurance: The principal advantage of whole life insurance is that the insured person is able to know the amount of yearly premium. In accordance with this, that particular individual is able to gather the non-guaranteed deferred cash value.
Long term care insurance: Long-term care is normally quite expensive. By purchasing long term care insurance, long term care becomes quite affordable.
Annuities: Usually, four types of annuities are available. Individuals chose them in accordance to their own necessities.
Investments: Personal finance company offers unbiased and suitable investment advices, by the help of which both short-term and long-term financial objectives can be attained. The mutual fund can be a profitable investment option. It is better to take advices from a financial expert who has considerable experience in investments.
Before going to invest, educational programs can really be helpful. Following are few examples of investment educational programs.
Managed Money: To balance a portfolio which is not evenly balanced, the Managed Money Program is quite helpful. The Money Management Program deals with risk tolerance, overall portfolio strategy, and long-term objectives.
Retirement accounts: Personal finance company provides professional investment advices in order to ensure safe and profitable retirement plans. Online personal finance tools are also helpful in effective management of retirement plan accounts.
Real Estate: Personal finance company offers valuable advices for buying and selling of real estate through a number of personal finance experts. With the help of personal finance companies, it is easy to find an appropriate home.


Jayson is a junior and is home-schooled. BreakDown has opened his eyes to what true brotherhood looks like, and has given him the opportunity to make friends he'll go through life with. Some of his favorite things include Eggplant Parmesan, "I Got the Juice" by Dream Junkies, the movie "Raiders of the Lost Ark," and the video game "Smite".
Austin is a homeschooled junior. He loves the family environment. His three favorite things to do include playing basketball, cutting grass, and playing Xbox!
Vince is a homeschooled sophomore. his 3 favorite things to do are wrestle with his friends, play video games, and make music.
Jack is a homeschooled senior. He most respects people who are fearless, the ones aren't afraid to fail, and who aren't afraid to admit their faults-- people who are willing to stand for what's right even if they are the only one. One thing Jack loves about BreakDown is how the team constantly challenges their peers to be better. Peers, on and off the team, aren't afraid to speak up about the truth, which is something he personally values.
Miracle is a leadership team member on both the BreakDown North and West teams. She serves on stage crew (West), and on the drama team as drama captain (North). Miracle is excited to step up as a leader on the team and in the community. Her top three favorite things to do are read, play and write music, and hang out with friends! Her favorite part of BreakDown STL is the community of like minded friends that push her to be her best.
Lizzie is a freshman at Eureka High School. Some of her favorite things to do include playing the guitar, spending time with her family and friends, and traveling.
Jaya recently graduated from Incarnate Word Academy, and is now a freshman at Saint Louis University. Some of her favorite things to do include watching Netflix, hanging out with friends, and being outdoors.


text:
NetWorthRoll
Trevor Miller Net Worth 2019
Trevor Miller Net Worth
Height, Weight
How Much money Trevor Miller has? For this question we spent 12 hours on research (Wikipedia, Youtube, we read books in libraries, etc) to review the post.
The main source of income: Authors
Total Net Worth at the moment 2019 year – is about $154,7 Million.
Trevor Miller information Birth date: October 5, 1965 Birth place: Manchester, England, UK Height:5 6 (1.68 m) Profession:Writer, Producer, Editorial Department
:How tall is Trevor Miller – 1,83m.
How much weight is Trevor Miller – 88kg
Trevor Miller is a screenwriter, author and playwright who Record Mirror joked "is hailed by some as the voice of a generation." His plays include HEART OF SATURDAY NIGHT and THE FLESH TRADER both of which debuted at The London New Play Festival. His first book, Trip City (novel), was published in 1989 by Brian Aldiss Avernus Press, and dubbed by The Evening Standard as An On The Road for the post warehouse party generation. " More recently, Miller has lived in Los Angeles working on screenplays with a diverse roster of actors including Sylvester Stallone, Ryan ONeal and Laurence Fishburne.Growing up in Manchester, England during the heyday of Factory Records, The Ha?ienda and the tail-end of Punk Rock – Miller spent formative years in his father's Rocksteady record shop, before moving to London, where he studied Media at the University of Westminster.After brief stints in journalism, rock videos and music management, Miller became a well known fixture in various West End nightclubs serving as promoter, DJ and even doorman. During the youth-culture explosion of the late 80s, Miller was instrumental in the launch of Dazed & Confused (magazine), pioneered various venues like The Brain (club) and help art direct the flyers and interiors that would serve as the backdrop of Acid house.The publication of TRIP CITY lead to various staged readings and Miller's one-man-show which played at the Institute of Contemporary Arts, Edinburgh Festival, Bluecoat Chambers and Axis in New York City. That in turn lead to work in the branding and marketing sector at Blue Source.In 1993, Miller moved to Los Angeles, where he launched Men's Perspective Magazine and became Editorial Director of Metropolis Publications. As a figure on the U.S. publishing scene, Miller was quoted in The Wall Street Journal and Folio. From there he segued to internet publishing and web-development which would ultimately shift into a career as a screenwriter.After working on numerous films and rewrites at Franchise Pictures, Miller had been fast tracked from Jean-Claude Van Damme, through Steven Seagal to Sylvester Stallone – his own independent endeavors financed by more formulaic commercial fare.Over recent years he has worked with a diverse roster of Directors including Larry Clarke, James Gartner and Bernard Rose. Miller's debut as a writer/director is a feature film entitled Riot On Redchurch Street.
The information is not available
Wikipedia Source: Trevor Miller
Last Persons
Bob Ross Net Worth 2019
How Much Is Albert-Bernard Bongo Worth?
Sigurd Barrett Net Worth
Farish A. Noor Net Worth and Wiki
How rich is Monica? Net Worth
How rich is Bill Barrett in 2019?
Rich Person by Niche
richest-djs
rock-stars
tv-personalities


SURF ZINC is all natural sunblock that is water resistant and protects you from harmful ultraviolet rays while you surf / kitesurf / snowboard etc.
SURF ZINC formula is natural and organic, yet very effective! The main ingredient is zinc oxide, a mineral that serves as physical block for harmful UV rays. Heaps of different organic oils & butters used in SURF ZINC to take care of your skin. Some oils even contain natural SPF to give you extra sun protection. SURF ZINC is enriched with Vitamin E that helps your skin fight premature ageing!
There is nothing like ocean that can make me happy & inspire me. Being in the water, getting the feel of the ocean, surfing perfect waves – that is my personal bliss. And of course one thing I would need every time I paddle out is a proper natural sun protection that is not harmful for the ocean.
What can be better than a sunscreen created by a surfer? Living near the ocean and surf every day (or twice a day:) in a tropical place like Bali I test this surf zinc myself every time I paddle out. I tested out different formulas and textures to create the one that works in different conditions.
Bali is special! You just fall in love with this place immediately. Perfect waves, simple life and beautiful nature around you. An in return Bali teaches you to take care about things around you – ocean and nature. That's why I am so proud that SURF ZINC is a natural and is not harmful to ocean and reefs.


Most people who are involved in car accidents wait too long to contact attorneys. They are concerned with the immediate problems, such as getting the medical attention they need and getting their cars repaired.
Unfortunately, what many people do not realize is that while they are getting medical help and before they begin working with their insurance company, they need to actively collect evidence to help strengthen their personal injury case.
When you contact our firm — Gellhaus & Gellhaus, P.C. — we will begin building a strong case to protect your rights. When you contact your insurance company, it will begin building a case to justify why you won't receive the coverage you need. Know your rights before you talk with an insurance adjuster.
Will Your Insurance Company Treat You Fairly?
Many people who contact our firm call because the insurance company is not willing to pay for the full value of the car. We can help with that, but there are also other issues you should think about. If your insurance company isn't treating you fairly with your car, do you think it will compensate you fairly for your injuries?
Experienced Aberdeen personal injury lawyers know that strong cases are built on evidence. If you got bruises from your seat belt, take picture of the injury. Did you get cuts and bruises during the crash? Take pictures. Was a loved one abused by staff member at the nursing home? Document the abuse.
When you contact our firm immediately after an accident or injury, we can help preserve the evidence needed to build a strong case. Sometimes, injuries that seem minor become serious. Documenting the injury and the medical attention required can help ensure you're able to use the evidence in your case.
If you were injured in an accident, or if your loved one was killed because of the negligence of another party, we can hold the negligent party accountable. Learn more about the compensation you may be entitled to. Contact our firm online or call 605-277-4206 to schedule your free initial consultation.


We are calling the newest addition to the BHRR Family – BHRR's Clay.
This is for a number of reasons and I shall not bore all with a Gwennie novel as to why!
Yet, one only has to look up some of the definitions to get a glimpse into why we chose that name for this really precious boy.
No more basements, starvation – I am told that he has put on 20 pounds since he was first taken from living in the basement – neglect, being bred etc. for you sweet man. NEVER again shall you know anything but a loving caring supportive hand.
We will post an update after his Vet visit tomorrow…….
BHRR's Clay would also like to gently remind everyone about our 8th Annual '1-on-1' Special Date With A BHRR Dog Online Auction!
We currently have bids of $775!
From our home to all of our friends, family plus supporters, good night and try to stay dry wishes being sent!


Massive stocks of new Triumph Motorcycle (Meriden) parts from the late 1930`s till late 1980`s just click on the links on the left hand side of the page to see all items in stock and in UK prices only postage to add.
Bike is completely stripped cleaned and inspected, after discussions with owner on type spec that they want for there bike, ie type of rims, paint job, preference of tyres, type of silencers etc.
An estimate of cost and time to complete work is prepared then when agreement is reached with owner, work commences, usually takes between 4 to 6 months for a complete renovation, done in 3 stages.
We have been working with British Motorcycles since the 1970`s,post war Triumph Twins are our favourites, having worked on 1000`s of them as well as numerous Tridents, Norton Commandos, BSA A7/A10,A50/65`s,B25`s,even Ariel Arrows, we live, breathe and understand British Motorcycles.
We do everything from a total restoration to a minor service, just send us an email with your requirements we can even arrange collection of your British Motorcycle and deliver it back.
We are always busy, with a workload in excess of 1 year not uncommon.
so its always best to plan ahead to get your job in the Q.
above quotes apply for parts supplied & fitted by us, parts not supplied by us will be charged accordantly.
Please note we only work on pre 1986 British Motorcycles.
( for fitting parts supplied by us),parts will be extra no Vat to add.


Manufacturing in the region covered by the Federal Reserve Bank of Richmond unexpectedly shrank in July as sales and orders weakened.
The central bank's fifth district factory index, which covers North Carolina, South Carolina, the District of Columbia, Maryland, Virginia and most of West Virginia, fell to minus 11 this month from a revised 7 in June. The median forecast of 10 economists surveyed by Bloomberg projected the index would improve to 9. Measures lower than zero signal contraction.
The Richmond Fed's factory index stands in contrast to improvements in other regions. The New York Fed's general economic gauge climbed in July to a five-month high, while the Philadelphia Fed's measure increased to the highest level since March 2011.
The Richmond Fed's gauge of factory sales fell to minus 15 in July from 11 the prior month, the report showed. The six-month outlook for shipments climbed to 24 from a June reading of 21.
The index of current new orders declined to minus 15 from 9, while the employment measure held at zero.
Data for the Richmond Fed's factory gauge represented responses from 91 of the approximately 220 firms surveyed each month.