text:
namespace skia {
namespace textlayout {

namespace {
struct LineBreakerWithLittleRounding {
    LineBreakerWithLittleRounding(SkScalar maxWidth)
        : fLower(maxWidth - 0.25f)
        , fMaxWidth(maxWidth)
        , fUpper(maxWidth + 0.25f) {}

    bool breakLine(SkScalar width) const {
        if (width < fLower) {
            return false;
        } else if (width > fUpper) {
            return true;
        }

        auto val = std::fabs(width);
        SkScalar roundedWidth;
        if (val < 10000) {
            roundedWidth = SkScalarRoundToScalar(width * 100) * (1.0f/100);
        } else if (val < 100000) {
            roundedWidth = SkScalarRoundToScalar(width *  10) * (1.0f/10);
        } else {
            roundedWidth = SkScalarFloorToScalar(width);
        }
        return roundedWidth > fMaxWidth;
    }

    const SkScalar fLower, fMaxWidth, fUpper;
};
}  // namespace

// Since we allow cluster clipping when they don't fit
// we have to work with stretches - parts of clusters
void TextWrapper::lookAhead(SkScalar maxWidth, Cluster* endOfClusters) {

    reset();
    fEndLine.metrics().clean();
    fWords.startFrom(fEndLine.startCluster(), fEndLine.startPos());
    fClusters.startFrom(fEndLine.startCluster(), fEndLine.startPos());
    fClip.startFrom(fEndLine.startCluster(), fEndLine.startPos());

    LineBreakerWithLittleRounding breaker(maxWidth);
    Cluster* nextNonBreakingSpace = nullptr;
    for (auto cluster = fEndLine.endCluster(); cluster < endOfClusters; ++cluster) {
        if (cluster->isHardBreak()) {
        } else if (
                // TODO: Trying to deal with flutter rounding problem. Must be removed...
                SkScalar width = fWords.width() + fClusters.width() + cluster->width();
                breaker.breakLine(width)) {
            if (cluster->isWhitespaceBreak()) {
                // It's the end of the word
                fClusters.extend(cluster);
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, getClustersTrimmedWidth());
                fWords.extend(fClusters);
                continue;
            } else if (cluster->run().isPlaceholder()) {
                if (!fClusters.empty()) {
                    // Placeholder ends the previous word
                    fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, getClustersTrimmedWidth());
                    fWords.extend(fClusters);
                }

                if (cluster->width() > maxWidth && fWords.empty()) {
                    // Placeholder is the only text and it's longer than the line;
                    // it does not count in fMinIntrinsicWidth
                    fClusters.extend(cluster);
                    fTooLongCluster = true;
                    fTooLongWord = true;
                } else {
                    // Placeholder does not fit the line; it will be considered again on the next line
                }
                break;
            }

            // Walk further to see if there is a too long word, cluster or glyph
            SkScalar nextWordLength = fClusters.width();
            SkScalar nextShortWordLength = nextWordLength;
            for (auto further = cluster; further != endOfClusters; ++further) {
                if (further->isSoftBreak() || further->isHardBreak() || further->isWhitespaceBreak()) {
                    break;
                }
                if (further->run().isPlaceholder()) {
                  // Placeholder ends the word
                  break;
                }

                if (nextWordLength > 0 && nextWordLength <= maxWidth && further->isIntraWordBreak()) {
                    // The cluster is spaces but not the end of the word in a normal sense
                    nextNonBreakingSpace = further;
                    nextShortWordLength = nextWordLength;
                }

                if (maxWidth == 0) {
                    // This is a tricky flutter case: layout(width:0) places 1 cluster on each line
                    nextWordLength = std::max(nextWordLength, further->width());
                } else {
                    nextWordLength += further->width();
                }
            }
            if (nextWordLength > maxWidth) {
                if (nextNonBreakingSpace != nullptr) {
                    // We only get here if the non-breaking space improves our situation
                    // (allows us to break the text to fit the word)
                    if (SkScalar shortLength = fWords.width() + nextShortWordLength;
                        !breaker.breakLine(shortLength)) {
                        // We can add the short word to the existing line
                        fClusters = TextStretch(fClusters.startCluster(), nextNonBreakingSpace, fClusters.metrics().getForceStrut());
                        fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, nextShortWordLength);
                        fWords.extend(fClusters);
                    } else {
                        // We can place the short word on the next line
                        fClusters.clean();
                    }
                    // Either way we are not in "word is too long" situation anymore
                    break;
                }
                // If the word is too long we can break it right now and hope it's enough
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, nextWordLength);
                if (fClusters.endPos() - fClusters.startPos() > 1 ||
                    fWords.empty()) {
                    fTooLongWord = true;
                } else {
                    // Even if the word is too long there is a very little space on this line.
                    // let's deal with it on the next line.
                }
            }

            if (cluster->width() > maxWidth) {
                fClusters.extend(cluster);
                fTooLongCluster = true;
                fTooLongWord = true;
            }
            break;
        }

        if (cluster->run().isPlaceholder()) {
            if (!fClusters.empty()) {
                // Placeholder ends the previous word (placeholders are ignored in trimming)
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, getClustersTrimmedWidth());
                fWords.extend(fClusters);
            }

            // Placeholder is separate word and its width now is counted in minIntrinsicWidth
            fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, cluster->width());
            fWords.extend(cluster);
        } else {
            fClusters.extend(cluster);

            // Keep adding clusters/words
            if (fClusters.endOfWord()) {
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, getClustersTrimmedWidth());
                fWords.extend(fClusters);
            }
        }

        if ((fHardLineBreak = cluster->isHardBreak())) {
            // Stop at the hard line break
            break;
        }
    }
}

void TextWrapper::moveForward(bool hasEllipsis) {

    // We normally break lines by words.
    // The only way we may go to clusters is if the word is too long or
    // it's the first word and it has an ellipsis attached to it.
    // If nothing fits we show the clipping.
    if (!fWords.empty()) {
        fEndLine.extend(fWords);
        if (!fTooLongWord || hasEllipsis) {
            return;
        }
    }
    if (!fClusters.empty()) {
        fEndLine.extend(fClusters);
        if (!fTooLongCluster) {
            return;
        }
    }

    if (!fClip.empty()) {
        // Flutter: forget the clipped cluster but keep the metrics
        fEndLine.metrics().add(fClip.metrics());
    }
}

// Special case for start/end cluster since they can be clipped
void TextWrapper::trimEndSpaces(TextAlign align) {
    // Remember the breaking position
    fEndLine.saveBreak();
    // Skip all space cluster at the end
    for (auto cluster = fEndLine.endCluster();
         cluster >= fEndLine.startCluster() && cluster->isWhitespaceBreak();
         --cluster) {
        fEndLine.trim(cluster);
    }
    fEndLine.trim();
}

SkScalar TextWrapper::getClustersTrimmedWidth() {
    // Move the end of the line to the left
    SkScalar width = 0;
    bool trailingSpaces = true;
    for (auto cluster = fClusters.endCluster(); cluster >= fClusters.startCluster(); --cluster) {
        if (cluster->run().isPlaceholder()) {
            continue;
        }
        if (trailingSpaces) {
            if (!cluster->isWhitespaceBreak()) {
                width += cluster->trimmedWidth(cluster->endPos());
                trailingSpaces = false;
            }
            continue;
        }
        width += cluster->width();
    }
    return width;
}

// Trim the beginning spaces in case of soft line break
std::tuple<Cluster*, size_t, SkScalar> TextWrapper::trimStartSpaces(Cluster* endOfClusters) {

    if (fHardLineBreak) {
        // End of line is always end of cluster, but need to skip \n
        auto width = fEndLine.width();
        auto cluster = fEndLine.endCluster() + 1;
        while (cluster < fEndLine.breakCluster() && cluster->isWhitespaceBreak())  {
            width += cluster->width();
            ++cluster;
        }
        return std::make_tuple(fEndLine.breakCluster() + 1, 0, width);
    }

    // breakCluster points to the end of the line;
    // It's a soft line break so we need to move lineStart forward skipping all the spaces
    auto width = fEndLine.widthWithGhostSpaces();
    auto cluster = fEndLine.breakCluster() + 1;
    while (cluster < endOfClusters && cluster->isWhitespaceBreak()) {
        width += cluster->width();
        ++cluster;
    }

    if (fEndLine.breakCluster()->isWhitespaceBreak() && fEndLine.breakCluster() < endOfClusters) {
        // In case of a soft line break by the whitespace
        // fBreak should point to the beginning of the next line
        // (it only matters when there are trailing spaces)
        fEndLine.shiftBreak();
    }

    return std::make_tuple(cluster, 0, width);
}

// TODO: refactor the code for line ending (with/without ellipsis)
void TextWrapper::breakTextIntoLines(ParagraphImpl* parent,
                                     SkScalar maxWidth,
                                     const AddLineToParagraph& addLine) {
    fHeight = 0;
    fMinIntrinsicWidth = std::numeric_limits<SkScalar>::min();
    fMaxIntrinsicWidth = std::numeric_limits<SkScalar>::min();

    auto span = parent->clusters();
    if (span.size() == 0) {
        return;
    }
    auto maxLines = parent->paragraphStyle().getMaxLines();
    auto align = parent->paragraphStyle().effective_align();
    auto unlimitedLines = maxLines == std::numeric_limits<size_t>::max();
    auto endlessLine = !SkScalarIsFinite(maxWidth);
    auto hasEllipsis = parent->paragraphStyle().ellipsized();

    auto disableFirstAscent = parent->paragraphStyle().getTextHeightBehavior() & TextHeightBehavior::kDisableFirstAscent;
    auto disableLastDescent = parent->paragraphStyle().getTextHeightBehavior() & TextHeightBehavior::kDisableLastDescent;
    bool firstLine = true; // We only interested in fist line if we have to disable the first ascent

    SkScalar softLineMaxIntrinsicWidth = 0;
    fEndLine = TextStretch(span.begin(), span.begin(), parent->strutForceHeight());
    auto end = span.end() - 1;
    auto start = span.begin();
    InternalLineMetrics maxRunMetrics;
    bool needEllipsis = false;
    while (fEndLine.endCluster() != end) {

        lookAhead(maxWidth, end);

        auto lastLine = (hasEllipsis && unlimitedLines) || fLineNumber >= maxLines;
        needEllipsis = hasEllipsis && !endlessLine && lastLine;

        moveForward(needEllipsis);
        needEllipsis &= fEndLine.endCluster() < end - 1; // Only if we have some text to ellipsize

        // Do not trim end spaces on the naturally last line of the left aligned text
        trimEndSpaces(align);

        // For soft line breaks add to the line all the spaces next to it
        Cluster* startLine;
        size_t pos;
        SkScalar widthWithSpaces;
        std::tie(startLine, pos, widthWithSpaces) = trimStartSpaces(end);

        if (needEllipsis && !fHardLineBreak) {
            // This is what we need to do to preserve a space before the ellipsis
            fEndLine.restoreBreak();
            widthWithSpaces = fEndLine.widthWithGhostSpaces();
        }

        // If the line is empty with the hard line break, let's take the paragraph font (flutter???)
        if (fHardLineBreak && fEndLine.width() == 0) {
            fEndLine.setMetrics(parent->getEmptyMetrics());
        }

        // Deal with placeholder clusters == runs[@size==1]
        Run* lastRun = nullptr;
        for (auto cluster = fEndLine.startCluster(); cluster <= fEndLine.endCluster(); ++cluster) {
            auto r = cluster->runOrNull();
            if (r == lastRun) {
                continue;
            }
            lastRun = r;
            if (lastRun->placeholderStyle() != nullptr) {
                SkASSERT(lastRun->size() == 1);
                // Update the placeholder metrics so we can get the placeholder positions later
                // and the line metrics (to make sure the placeholder fits)
                lastRun->updateMetrics(&fEndLine.metrics());
            }
        }

        // Before we update the line metrics with struts,
        // let's save it for GetRectsForRange(RectHeightStyle::kMax)
        maxRunMetrics = fEndLine.metrics();
        maxRunMetrics.fForceStrut = false;

        if (parent->strutEnabled()) {
            // Make sure font metrics are not less than the strut
            parent->strutMetrics().updateLineMetrics(fEndLine.metrics());
        }

        // TODO: keep start/end/break info for text and runs but in a better way that below
        TextRange textExcludingSpaces(fEndLine.startCluster()->textRange().start, fEndLine.endCluster()->textRange().end);
        TextRange text(fEndLine.startCluster()->textRange().start, fEndLine.breakCluster()->textRange().start);
        TextRange textIncludingNewlines(fEndLine.startCluster()->textRange().start, startLine->textRange().start);
        if (startLine == end) {
            textIncludingNewlines.end = parent->text().size();
            text.end = parent->text().size();
        }
        ClusterRange clusters(fEndLine.startCluster() - start, fEndLine.endCluster() - start + 1);
        ClusterRange clustersWithGhosts(fEndLine.startCluster() - start, startLine - start);

        if (disableFirstAscent && firstLine) {
            fEndLine.metrics().fAscent = fEndLine.metrics().fRawAscent;
        }
        if (disableLastDescent && (lastLine || (startLine == end && !fHardLineBreak ))) {
            fEndLine.metrics().fDescent = fEndLine.metrics().fRawDescent;
        }

        SkScalar lineHeight = fEndLine.metrics().height();
        firstLine = false;

        if (fEndLine.empty()) {
            // Correct text and clusters (make it empty for an empty line)
            textExcludingSpaces.end = textExcludingSpaces.start;
            clusters.end = clusters.start;
        }

        // In case of a force wrapping we don't have a break cluster and have to use the end cluster
        text.end = std::max(text.end, textExcludingSpaces.end);

        addLine(textExcludingSpaces,
                text,
                textIncludingNewlines, clusters, clustersWithGhosts, widthWithSpaces,
                fEndLine.startPos(),
                fEndLine.endPos(),
                SkVector::Make(0, fHeight),
                SkVector::Make(fEndLine.width(), lineHeight),
                fEndLine.metrics(),
                needEllipsis && !fHardLineBreak);

        softLineMaxIntrinsicWidth += widthWithSpaces;

        fMaxIntrinsicWidth = std::max(fMaxIntrinsicWidth, softLineMaxIntrinsicWidth);
        if (fHardLineBreak) {
            softLineMaxIntrinsicWidth = 0;
        }
        // Start a new line
        fHeight += lineHeight;
        if (!fHardLineBreak || startLine != end) {
            fEndLine.clean();
        }
        fEndLine.startFrom(startLine, pos);
        parent->fMaxWidthWithTrailingSpaces = std::max(parent->fMaxWidthWithTrailingSpaces, widthWithSpaces);

        if (hasEllipsis && unlimitedLines) {
            // There is one case when we need an ellipsis on a separate line
            // after a line break when width is infinite
            if (!fHardLineBreak) {
                break;
            }
        } else if (lastLine) {
            // There is nothing more to draw
            fHardLineBreak = false;
            break;
        }

        ++fLineNumber;
    }

    // We finished formatting the text but we need to scan the rest for some numbers
    // TODO: make it a case of a normal flow
    if (fEndLine.endCluster() != nullptr) {
        auto lastWordLength = 0.0f;
        auto cluster = fEndLine.endCluster();
        while (cluster != end || cluster->endPos() < end->endPos()) {
            fExceededMaxLines = true;
            if (cluster->isHardBreak()) {
                // Hard line break ends the word and the line
                fMaxIntrinsicWidth = std::max(fMaxIntrinsicWidth, softLineMaxIntrinsicWidth);
                softLineMaxIntrinsicWidth = 0;
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, lastWordLength);
                lastWordLength = 0;
            } else if (cluster->isWhitespaceBreak()) {
                // Whitespaces end the word
                softLineMaxIntrinsicWidth += cluster->width();
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, lastWordLength);
                lastWordLength = 0;
            } else if (cluster->run().isPlaceholder()) {
                // Placeholder ends the previous word and creates a separate one
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, lastWordLength);
                // Placeholder width now counts in fMinIntrinsicWidth
                softLineMaxIntrinsicWidth += cluster->width();
                fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, cluster->width());
                lastWordLength = 0;
            } else {
                // Nothing out of ordinary - just add this cluster to the word and to the line
                softLineMaxIntrinsicWidth += cluster->width();
                lastWordLength += cluster->width();
            }
            ++cluster;
        }
        fMinIntrinsicWidth = std::max(fMinIntrinsicWidth, lastWordLength);
        fMaxIntrinsicWidth = std::max(fMaxIntrinsicWidth, softLineMaxIntrinsicWidth);

        if (parent->lines().empty()) {
            // In case we could not place even a single cluster on the line
            if (disableFirstAscent) {
                fEndLine.metrics().fAscent = fEndLine.metrics().fRawAscent;
            }
            if (disableLastDescent && !fHardLineBreak) {
                fEndLine.metrics().fDescent = fEndLine.metrics().fRawDescent;
            }
            fHeight = std::max(fHeight, fEndLine.metrics().height());
        }
    }

    if (fHardLineBreak) {
        // Last character is a line break
        if (parent->strutEnabled()) {
            // Make sure font metrics are not less than the strut
            parent->strutMetrics().updateLineMetrics(fEndLine.metrics());
        }

        if (disableLastDescent) {
            fEndLine.metrics().fDescent = fEndLine.metrics().fRawDescent;
        }

        ClusterRange clusters(fEndLine.breakCluster() - start, fEndLine.endCluster() - start);
        addLine(fEndLine.breakCluster()->textRange(),
                fEndLine.breakCluster()->textRange(),
                fEndLine.endCluster()->textRange(),
                clusters,
                clusters,
                0,
                0,
                0,
                SkVector::Make(0, fHeight),
                SkVector::Make(0, fEndLine.metrics().height()),
                fEndLine.metrics(),
                needEllipsis);
        fHeight += fEndLine.metrics().height();
        parent->lines().back().setMaxRunMetrics(maxRunMetrics);
    }
}

}  // namespace textlayout
}  // namespace skia

redpajama_set_name: RedPajamaGithub


text:
La Bosse, commune française du Doubs ;
 La Bosse, commune française de la Sarthe ;
 La Bosse, ancienne commune française de Loir-et-Cher, aujourd'hui intégrée à Vievy-le-Rayé ;
 La Bosse, hameau de la commune suisse du Bémont.

Voir aussi
 La Bosse-de-Bretagne, commune française d'Ille-et-Vilaine

 La Bosse (The Hump en anglais) pont aérien Allié pendant la Seconde Guerre mondiale

redpajama_set_name: RedPajamaWikipedia


text:
Home » 2009 theatrical releases » The International (review)
The International (review)
by MaryAnn Johanson
Fri Feb 13 2009, 05:38am | 2 comments
Bank on Thrills
Corruption! High finance! Political murder! Clive Owen!
Mmmm, Clive Owen…
Boo, naughty banks!
The timing of this smart, savvy thriller couldn't be better, what with its corporate-banks-are-evil theme and a hero who yells at banksters that he wants "some fucking justice." And of course Clive Owen is always welcome on my movie screen: The International is like the answer to my wish after his one bit in The Bourne Identity in which he so burned up the screen as an assassinating spook that I wanted the whole movie to be about him. And here it is.
The International, from Run Lola Run wunderkind Tom Tykwer and newcomer screenwriter Eric Singer, is so good at whipping up global conspiracies concocted in boardrooms that we might as well put on our tinfoil hats and declare this part of a real conspiracy, a pacifier thrown our way by our capitalistic overlords: if we're getting our justice jollies voyeuristically via Owen's angry Interpol agent, then we're not out there carrying pitchfords and peasant torches ourselves. Damn, but this movie is satisfying in a lot of ways. It's one of those movies that feels like it goes on forever, but in a good way, like you don't ever want it to end, and are sorry when it does.
And I don't mean only in the getting-some-fucking-justice sense, either. Surprisingly old-fashioned in its adherence to solid, unpretentious suspense, The International is perfectly exhilarating for its craftsmanship and low-key style, too. We join Owen (Elizabeth: The Golden Age, Shoot 'Em Up) and Naomi Watts (Eastern Promises, The Painted Veil) — as a New York City district attorney — in procedural progress as they try to nail the ominously monikered International Bank of Business and Credit for some Very Bad Things that could, arguably, be deemed crimes against humanity. Owen's agent is twitchy in his hindered authority: he's ex-Scotland Yard, eager to do some real police work to bring down this banking bastards (he's crossed swords with them before, of course), and doesn't want to be limited to Interpol's information-gathering mandate. Watts is his unruffled counterpart, sleekly professional and calmly competent. (Refreshingly, their investigation is not complicated by romance, though the two actors sizzle with creative chemistry together onscreen.)
As they trot around the globe — Berlin, Milan, Istanbul — the feeling that we're watching a great episode of Law and Order: Europe, all coolly elegant Sherlock Holmesian stuff, gives way to superbly executed action excitement, such as a footchase through a crowded Turkish street market and a shootout at the Guggenheim Museum in New York City that is an instant cinematic classic — it reminds you why filmmakers always resort to gunplay, because when it's pulled off well, it is uniquely thrilling. Few filmmakers can do it this well. And then come the plot twists: things I never saw coming and should have. At one point — during the Guggenheim sequence, in fact — everything I thought I knew about what was going on took a 180 turn… and then moments later took another 180 turn that, were normal physics involved here, should have taken us back to where we started, but instead takes us into a whole new realm. It's awe-inspiring not just in a storytelling sense — how wonderful to be genuinely startled by a movie! — and also in an artistic one: so there really are still filmmakers out there who aren't content merely to do work that is good enough, but better than we ever might have expected.
I didn't realize it till long after the movie ended, but there's a huge plot hole that should have ruined that Guggenheim sequence. But I find that I don't care. The International is so entertaining that I can forgive it that one small flaw. It's like 1984 introduced to The Conversation by Tyler Durden. And who'da thunk we'd ever be able to say that about any movie?
MPAA: rated R for some sequences of violence and language
viewed at a private screening with an audience of critics
official site | IMDb | trailer
more reviews: Movie Review Query Engine
2009 theatrical releases | action | crime | political | reviews | suspense/thriller
1984 | Bourne Identity | Clive Owen | Conversation | Eric Singer | Fight Club | International | Law and Order | Naomi Watts | Sherlock Holmes | Tom Tykwer

redpajama_set_name: RedPajamaCommonCrawl


text:
U2 Feedback > Lypton Village > Free Your Mind > Free Your Mind Archive
US PolitiX -Angry Left Wing Mob Edition
Page 9 of 51 < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 > Last »
LuckyNumber7
Blue Crack Addict
Location: Washington, DC
Originally Posted by dazzledbylight
What constitutes a Canadian Conservative?
Riding a horse backwards and politely not wanting immigrants to terkerjerbs that nobody wants to work in Yukon.
Headache in a Suitcase
Blue Crack Distributor
Location: DC
Originally Posted by LuckyNumber7
While wearing denim. With a moose
It's telling how awful a time we're currently in that this kinda gets a shrug... but
The President praised a congressman body slamming a reporter in the middle of a controversy over a reporter being kidnapped and dismembered.
MrsSpringsteen
Hey guys, did you know Trump has a "natural instinct for science"?
Well that's how science works isn't it
Location: nazi punks fuck off
Is it like sliding a range of policies rightward on a left - right continium? More complex? Etc.
it's not that much different than the states. canadian society is more left-wing in general than the US (though not as much as we used to be), so our federal Conservative party has been a bit more centrist than the GOP. i would say that traditionally, Liberal governments have been the norm in canada at least since world war two - the Liberal parties generally being centre-left. so mostly when Conservatives win here, it seems to be as a reaction to longstanding Liberal governments that people eventually get sick of. a lot of people are worried about our own trumpy new premier in ontario, thinking that it's a sign of a cultural shift to the right, but that's really not true - the Liberals had been in power for something like 16 years in this province and suffered from a number of corruption and spending scandals over the years and went into the election with an unpopular leader, essentially knowing that they were almost certain to lose. it was more a matter of who was going to replace them, the Conservatives (known as PCs in ontario) or the NDP (a left-wing progressive party (in theory, but that's another story)).
the PC leader got #metoo'd about two months before the election and doug ford, former drug dealer and enabler of his brother (international laughingstock rob ford) and mother's addictions to alcohol and crack cocaine and former do-nothing toronto city councillor when rob was mayor, ran for the leadership, won strictly on name recognition, and became premier despite running an atrocious campaign in the general election that was basically his to lose - he almost blew a double-digit lead in like a month and was only really saved by the fact that the campaign wasn't longer. so no, the people that think that we voted "for doug ford" and that this is a sign of things to come are flat out wrong - he's a shady opportunist who got lucky, but now we're stuck with him. i suspect though that he's not going to last the full four years, as he has a tendency to say and do really dumb things and i bet he's going to cause some sort of minor scandal that will give the party an excuse to turf him at the earliest opportunity.
anyways right now there is a lot of infighting in the federal parties that aren't the Liberals. in general canadian (small-c) conservatives in the past used to be all about fiscal responsibility, and generally maintaining the status quo socially. this was the kind of prime minister stephen harper was. but in the last 3 or 4 years there has been a growing tea-party style faction in the conservative party that has been trying to yank the party hard to the right, especially since trudeau's election. they basically hate the guy who was elected party leader, andrew scheer (he's about as interesting as a soggy piece of white bread and it seems his motto in life is "never ever ever make anyone upset" which obviously doesn't sit well with neofascists and christian taliban). it seems like they may finally have had enough with trying that tactic though as one of the most high-profile Conservatives has recently left the party and announced that he is starting his own right-wing party. it sort of remains to be seen whether it's going to be a far-right kind of social conservative whackadoodle party or if they're actually going to be focused on old-school style fiscal conservatism like the guy who founded it is claiming it will be.
the NDP is also having similar issues, with a moronic leader who was elected because he's young and trudeau-ish (but also a POC, major bonus for the identity politics party) that nobody really likes anymore and who keeps making dumb mistakes. they've basically mired themselves so far into identity politics that they don't really have much to say anymore about the economy or other more pragmatic issues. there is a large highly progressive faction pulling one way, a smaller democratic-socialist sort of faction pulling one way, an environmentalist faction going one direction, and finally another more liberal faction pulling the other direction (with lots of overlap between these groups) and no real leadership to make any decisions which way to take the party. so they just seem to be flapping in the wind and probably won't make any gains until they find a stronger leader.
so by this time next year when the still very popular trudeau government is up for re-election, this new right-wing party is up and running and splitting votes off from the main Conservative party, and the NDP likely will still be mired in infighting, so barring something game-changing or catastrophic i can't see any outcome to the 2019 election other than another Liberal majority with four more years of trudeau, and probably an even stronger one than they have now.
tl;dr - dave had 4 shots of espresso this morning
womanfish
Rock n' Roll Doggie
Location: moons of Zooropa
Originally Posted by namkcuR
I think there was some discussion about 2020 candidates at the end of the last thread, and I wanted to chime in...
Warren is perhaps my first choice. She knows how to get a crowd excited - in that regard she's perhaps better than any female politician I've seen and also better than a lot of male ones too. I have two concerns though:
1. We have two-year election cycles now, and I don't know if I can stomach two years of Drumpf calling her Pocahontas every day for two years. It's nauseating to think about. I hate the misogyny that permeates his base.
2. The governor of Massachusetts is a Republican. If we don't take back the Senate in the midterms, we'll have another chance in 2020, and if Warren were to run and win, the Republican governor would fill her seat with a Republican. Something to think about. In contrast Harris and Booker are both from states with Democratic governors(I'm assuming Gavin Newsom will win his governor's race in California in November). Speaking of which...
Harris & Booker are both similar in that they are young, African-American, relatively new to the Senate, and both are excellent politicians who can get a crowd going wild(Booker blew the roof off the place at the 2016 Democratic convention). They are both eminently likable I'd be able to support either wholeheartedly. Though it should be mentioned that the far-left Bernie types are going to tear Booker apart for his connections to Wall Street.
Gillibrand doesn't interest me much. Too much like Hillary. I had no problem voting for Hillary, but I don't love her, and I feel like Gillibrand would present some of the same problems as a candidate - too reserved, too buttoned up, unable to really light a fire under the base. Then again, she's the one I know least about here, so maybe I'll change my mind.
Biden. There isn't a bigger fan of Biden than me. I love the man. Back in 2008, after Obama locked up the nomination and the media was speculating about who he would pick to be his VP, the whole time I was saying Biden, it's gotta be Biden, he's clearly the best candidate, the best person, the most qualified, etc. I think he was a great VP. I love him. But I'm weary of him running. Because he's 80. Because I fear that while he'll appeal to people in Ohio/Pennsylvania/Michigan/etc who may have voted for Drumpf, I feel that the increasingly liberal base may seem him as too centrist. That said, I could get on board, if he were to, say, commit to serving one-term only, and select a younger home-run VP candidate to basically have the nomination served up on a platter in 2024, i.e. Booker or Harris maybe.
Sanders. I'm sorry, but I've decided that I don't want him to run. He's just too divisive. I started as a Bernie supporter in 2016. I voted for him in the Ohio primary. But I became increasingly uncomfortable with him and his supporters as time wore on. With him, because he talked about one thing only and appeared to have no mental agility - nothing to say about anything else, especially foreign policy, he was one-note - he was too lax about gun-control, and he didn't appeal enough to minority voters who are vital to getting Democrats elected. With his supporters, because to them Bernie was the only honest progressive. Even now, they call Warren, Harris, and Booker faux-gressives. Because Warren didn't support Bernie in 2016. Because Harris didn't bring charges against Steve Mnuchin's company when she was the AG of California. Because of Booker's aforementioned ties to Wall Street. For them, Bernie is the only one. That's not support of a candidate, it's worship, similar to how Drumpf's supporters worship him, and it's not a healthy relationship to have with a politician. There's no perfect progressive, we can't let 'good' be the enemy of perfect, and I don't want to have to have that argument for the next two years.
Wow, we have very similar feelings on all this. Especially the Bernie part. I started out supporting him and couldn't take it anymore as it went on. At this point I kind of think the shine is off Warren, and she can be too divisive as well. And not really the most charismatic. She becomes one note as well.
I think that a winning ticket could be Biden/Booker or Biden/Harris.
You pair an extremely liked, experienced candidate with a more energetic, younger candidate that can communicate effectively. You get the rust belt states back with Biden, and still draw in a higher African American vote, possibly higher female and AA vote.
Irvine511
Blue Crack Supplier
If I could choose today, I'd go Biden/Harris. She strikes me as the future of the party.
But I have no actual idea. What needs to happen is someone to draw a sharp contrast with Trump and offer an actual vision of the future. That's what Obama did better than anyone — vague as it was. Tell a better story. That's who wins.
Couldn't Biden be, ya know, VP again?
The Joe Biden I know is done playing second fiddle.
http://interactives.theonion.com/biden/
bono_212
Originally Posted by Headache in a Suitcase
I don't know that it's getting a shrug. It's blowing up my feed today.
dazzledbylight
Location: in the sound dancing - w Bono & Edge :D
And flannel, too?
Originally Posted by bono_212
I remember the original incident.
Public Radio has been on it all day.
Originally Posted by DaveC
Thanks! I will have to re-read this as I just got into the site and this thread; my library (free-wifi) is about to close. Got parts but not all of it in such a quick run through!
In the meantime how was Canada more Left like in the past?
I mean, like, I don't recall people getting all up in arms over the decades about "Our Terrible Socialist Neighbor to The North" , so to speak. And I live in NYC- relatively not that far away. Visited Montreal and Toronto (family trips) back in the mid-late 60's.
Oh, man I remember Rob Ford!
OK found our free street Wi-Fi station. So I reread a bit more. Doug Ford is now Ontario's premier. That's what his official title is?
Ha, lucky opportunist?! I wonder who that reminds me of.
canada has long been fairly progressive, especially relative to our neighbour to the south. from the various socialist parties that cropped up in the prairies and gave us a strong welfare state and universal health care in the 30s to our long-standing policy of multiculturalism beginning in the 70s. we've had an openly social-democratic party in mainstream politics (federal and provincial) since the 70s and they've been elected to govern in most provinces at least once, and been the official opposition party in the federal parliament. canada's military after world war 2 (until 9/11) was focused on (and very successful at) peacekeeping missions around the world rather than training to fight major wars. we were the first non-european country to legalize same-sex marriage nationwide in 2005 and we were the first G7 country to legalize cannabis nationwide just this past wednesday.
i could probably come up with some more examples but that's just off the top of my head.
Nice to see you namkcur and womanfish drop in.
I know a lot of poly pundits (in their 30's on up) are saying Biden's too old. But I like him.I
I like Cori, Harris, and Gillibran. Gillibran can get fired up. I likevWarren, too. You think she's too one note? Consumer Protection, economics?
I do like the idea of Biden with a younger VP.
I still like Bernie, but I hear all the he "buts" you mentioned. You got a point.
Oh, and tax-free do NOT let the "good become the enemy of the he 'perfect' "!
Thanks, Dave.
And like I said no one here went bonkers about Canada being I guess a 'pink' country.
As in 'red diaper baby', 'pinkos' terms often slung widely about down here 50's - 80's? You rarely hear those terms today, but there are ready replacements.
Time to get on home.
What the actual fuck is up with Georgia. It's just so blatant.
Cue The random "what election" comment...
Oh and Dems have to win the house at very least to see what's on his tax returns.
May not change anything but i always feel awareness will equal change
Originally Posted by BEAL
Did you see his commercial where he is in a big pickup truck and says "good thing I have a big truck so I can round up all the criminal illegals and deport them myself"???
It's one part disgusting and one part hilarious. Hilarious in that he literally makes a mockery of himself and his electorate by pandering to their truck fetish.
it's not even subliminal anymore haha
You laugh but that is the consequence of "they bring drugs, they're rapists, they're murderers..."
The floodwaters of hatred are only just seeping in right now...


This check verifies status of disk enclosures or arrays connected to a host running Veritas VxVM.
It is in status OK an enclosure is in status CONNECTED. Any other status will be reported as a CRIT status, assuming the enclosure has lost connectivity or has been removed. Veritas also lists the local disks of a system in a "pseudo-enclosure" named OTHER_DISKS. If you do not run the local disks under Veritas control, you can add these to ignored_services.
You need to install the agent plugin vxvm.
One item is generated per VxVM disk enclosure, the naming is inherited from VxVM. See the man page for vxdmpadm about naming enclosures.


Traditional virtual or high-throughput screening approaches for drug discovery are highly specific to screening compound libraries against a single biological target of interest. It often results in ineffective leads, in that, even after an expensive lead optimization process, the clinical candidates are often non-efficacious or unsafe human drugs. The most effective drugs in humans (e.g. Aspirin® or Gleevec®) inevitably interact with multiple proteins, a feature that traditional models based on single target drugs fail to take into account. Currently, there are no high-throughput experimental methods to look at all biochemical interactions of a small molecule compound in an organism (human) that is much needed to ascertain both toxicity and efficacy of a drug. Furthermore, the synthesis of compound libraries explores diverse chemical space that is unrelated to the disease of interest with no input from disease specific biological targets and antitargets to guide synthesis. Recognizing this unexplored area, the overarching goal of our research program is to develop interactome based computational chemistry techniques and bioanalytical assays, (1) to design, synthesize and verify disease specific multitargeted immunomodulatory drugs, and (2) enable immunomodulation by using cell-drug conjugates as drugs.
Towards this goal, we have developed a drug discovery, design, and repurposing platform that analyzes compound-protein structural interaction signatures across multiple proteomes from different organisms to determine drug behavior. The platform implements a modeling pipeline that generates an interaction between 'all' (currently 3,733) human ingestible drugs and 'all' (currently 48,278) proteins using our interactome flexible docking program to compute ~1 billion proteome-compound interactions. Our hypothesis is that similar set of interactions across the representative universe of protein structures determine drug behavior by inferring homology of compound/drug behavior at a proteomic level. We, along with our collaborators, have prospectively validated our predictions using in vitro and in vivo preclinical studies for more than 10 different diseases including immunological, metabolic, infectious and genetic indications (castration resistant prostate cancer, type 1 diabetes, dental caries, dengue, herpes, drug resistant tuberculosis, cirrhosis, etc.), yielding an overall rate of ~35% that are comparable or better than the corresponding treatment for the disease.
We have used our approach for all 1439 known diseases and indications to discover disease-disease relationships (e.g. overlapping mechanisms between Alzheimer disease with diabetes, heart failure, inflammation, and prostate cancer with breast cancer, hypertension and inflammation, among others) that are used to identify novel targets and antitargets. Our research on interactome modeling and verification will contribute to the understanding that diseases are heterogeneous combination of other diseases and indications with overlapping mechanisms to discover and design novel therapeutics.
We have developed a hierarchical flexible docking with design software (candock) that takes multiple biomolecules and biomolecular interfaces (protein, protein/protein, protein/nucleic acids, etc) along with a database of small molecules to generate a profile of the interaction of a compound with all proteins (interactome). We use this interactome profile, as a surrogate of compound function and activity for drug repurposing and discovery, and as a guide to do interactome based drug design. The potential energy functions computing protein-compound interactions are derived from statistics on large-scale compound libraries resulting in hundreds of atom types. This results in selection of atom types based on the chemical make up of the binding pocket to suggest changes to the lead. Future development of these functions will include polarizable components to complement the current atom types, as well as, new statistical energy functions for improved accuracy. We are implementing a faster version of this software that takes advantage of General Purpose Graphics Processing Units (GPGPU). We are also in the process of deploying web based applications that will enable free and public use of all features of our software.
We are developing new bioanalytical chemistry methods for an 'interactome assay' to complement our computational docking and design method. These tools will experimentally measure the interaction profile of a mixture of proteins and compounds. These assays will also be used to quantify biomolecular interactions in cell mixture environments (micro-interactome) to guide and verify our cell responsive drug predictions and designs. We also plan to use these techniques to develop biosensors for the diseases of our interest.
Till a few years ago, the brain was thought to be an "immune privilege" organ. Recent advancements have highlighted the crucial interaction between the central nervous system and the immune system thereby creating new opportunities to explore the underlying disease mechanisms in neurodegeneration.
Alzheimer's disease (AD) is the most common form of dementia and has affected more than 40 million people worldwide (World Alzheimer Report 2015). We are currently focused on elucidating the immune suppressive mechanisms in AD. Along with the amyloid-beta aggregates and neurofibrillary tau tangles, inflammation is also known to be a major pathological hallmark of AD. Our efforts extend towards finding new ways to treat this devastating disease by discovering novel immunomodulatory drugs and identifying novel targets for AD immune suppression. Specifically, we use our computational drug predictions in vitro on primary neuron cultures and cell lines (e.g. SH-SY5Y cells) for drug testing, use CRISPR-Cas9 and shRNA technology for target identification, and humanized mouse models for in vivo testing.
The role of the immune system is essential to treatment of many diseases. Cancer immunotherapy has gained a lot of attention in recent years. Almost all cancer drugs, either target the mechanisms to kill the tumor directly (anti-disease), or the immunotherapeutic agents use mechanisms of the immune system to target cancer without affecting cancer directly. Our primary goal is to design single chemical entities with dual action for anti-disease activity: target the anti-disease mechanisms directly, as well as, alter the function of suppressive immune cell types for targeted disease-specific immunotherapy. Specifically, our novel compounds designs and synthesis are based on anti-disease active compounds, that will change the phenotypic response of suppressive immune cell types for targeted immunotherapy. As one example, the cell types we use are regulatory T cells (Tregs) for type 1 diabetes and Alzheimer disease, and myeloid derived suppressor cells (MDSCs) for castration resistant prostate cancer. We are collaborating with disease experts in the medical schools across the country to test these compounds in vivo, after in vitro validations are done in our laboratory. Some ongoing projects related to design and synthesis of immunomodulatory compounds are to: (a) selectively enhance Tregs proliferation, (b) alter suppressive function of monocytic MDSCs derived from the peritoneal cavity by targeting disease-specific upregulated genes in these cells.
We have also initiated a new direction to develop cell-drug bio-conjugation chemistry to perturb immunological tolerance and use 'cells as drugs' for targeted immunotherapy.
A challenge in computational drug discovery and design is a requirement for large amount of computational power to include full flexibility of the receptor and ligand. We want to involve citizens to play a game where they can make moves to change the conformation of the drug molecule and the protein target to get the best score. We have teamed up with the Envision Center at Purdue, along with some of the computer science undergraduates in our lab, to develop a virtual reality based "drug discovery game" guided by our docking program that identifies how a drug fits inside a binding pocket of a protein target and the best fragments to select for modifications to the ligand relevant to the target of interest. This involves both education and science, where we will give out drug targets currently active in the lab to the community and the best prediction (either from the computational prediction or the citizen scientist) will be tested for their chosen targets of interest. If the results are experimentally validated and we write a paper based on this prediction, the person who identified the best hit will be a co-author on the paper. We are also developing automated resources (our raspberry pi powered liquid handling robot) to use for validation of compound-protein binding predictions. This is a huge undertaking and we hope this project can become a community-wide initiative. We welcome other labs to join hands for target selection and experimental verification to enhance science and education to spread the love for chemistry.


text:
Working group 3: Development of sustainable school food systems
Thursday, 24/06/2021, 12:00 – 14:15 p.m. CET
Promoting sustainable supply and value chains for healthy school catering
Promoting the reference system for healthy and sustainable school feeding
What positive examples of sustainable supply and value chains and children's sustainable consumption exist in school feeding? Which criteria for sustainability have been defined? How binding are they or should they be, and how can they be made obligatory?
What hurdles had to be overcome? What are important factors for success or what have they been?
Who needs to be involved in order to achieve healthy and sustainable school meals for all children at all times? When and how must this reference system be involved?
Document title: Promoting sustainable supply and value chains for healthy school meals
Promoting sustainable supply and value chains for healthy school meals
Document description: Florence Tartanac
Document title: Involving Kids and the Whole School in a Healthy and Sustainably Food and Meal Culture
Involving Kids and the Whole School in a Healthy and Sustainably Food and Meal Culture
Document description: Emil Kiær Lund
Carmen Burbano
During her 16 years of experience with WFP, Carmen Burbano de Lara has focused on supporting governments to improve the nutrition, education and wellbeing of children. Specifically, she is interested in tackling the interrelated issues of malnutrition, poor health and learning and in strengthening the national safety net systems designed to address these issues.
She has held management positions in Peru, Rome, Colombia, Ethiopia, Kenya, Malawi and Tanzania; and provided temporary support to earthquake relief efforts in Haiti and Nepal. Ms. Burbano de Lara is WFP's world expert in school feeding. In this capacity, she has advised the governments of China, Colombia and Kenya, Ghana, among others, often in partnership with the World Bank. She is the co-author of the most influential publications on school feeding over the last ten years including "Re-imagining school feeding: a human capital investment in health, education, social protection and agriculture" (2018); "The School Feeding Sourcebook" (2016); and "Rethinking School Feeding" (2009), published by the World Bank. She has authored WFP's flagship publication "The State of School Feeding Worldwide" (2013) and conceived and drafted WFP's Global School Feeding Policy (2013). Prior to assuming her current position in July 2018, she was WFP's Representative and Country Director in Peru. She has also worked in UNDP's Executive Office.
Carmen is Ecuadorian and holds a Master's Degree in Public Administration from Harvard University and Bachelor in Latin-American Studies and Comparative Literature from New York University.
Florence Tartanac
Florence Tartanac works at FAO since 2001 and she is actually Senior Officer in the Food and Nutrition Division at FAO Headquarters in Rome, Italy. She is Team Leader of the Market linkages and value chains team and her areas of expertise are the following: sustainable food value chain development and inclusive business models; voluntary standards and geographical indications; public food procurement; small and medium food enterprises development. Before FAO, she worked 10 years in Guatemala, for the French Cooperation, the Institute of Nutrition for Central America and Panama and UNIDO. She also worked 5 years in the FAO regional office for Latin America and the Caribbean in Santiago, Chile. As academic background, she is a food engineer and has a PhD in Economical Geography from Paris University.
Emil Kiær Lund
Emil Kiær Lund is a M.Sc. in Integrated Food Studies, which gives him a cross-sectional knowledge of food systems, public health nutrition and service design. He is the coordinator and consultant to the so-called "Food Schools" in The City of Copenhagen. In the past five years he has been working in depth with school food within the municipality. In his current role he facilitates network between the schools, initiates vocational training activities, and practical implementation of the City's food strategy that is targeting a 25 percent reduction of the CO2 footprint of the public meals.
There are currently 16 Food Schools in Copenhagen and they have a daily production of around 6000 meals a day. The students take part in the daily food production and the Food Schools have an increased focus on food literacy and using food as a learning space. The Food Schools have an active involvement in various EU funded projects. In one of them training activities targeting public kitchens with an emphasis on shifting menus are established to align with a more climate friendly menu.In another one a process of making tenders for local SME's and farmers to deliver produce to our large kitchens is started. This will be made possible by linking the procurement with teaching materials on the different produce. The pilot project is procurement of local potatoes.
Miriam Shindler
Better Diets for Children Programme Lead, Global Alliance for Improved Nutrition (GAIN)
Miriam provides strategic leadership and technical guidance to GAIN's projects and partnerships that improve the diets of children aged 0 -10 years old. These aim to transform food systems to protect and cater to the specific needs of children. Before joining GAIN, she managed a first of its kind co-created nutrition programme at the World Association of Girl Guides and Girl Scouts (WAGGGS) and worked at the International Maize and Wheat Improvement Center (CIMMYT) in Mexico. Miriam started her career in government, specialising in youth engagement. She is passionate about child-centered systems approaches to improve children's nutrition during their first 8,000 days. Miriam holds a Masters Degree in Environment and Development, and a Bachelors Degree in Philosophy and Political Science from the University of Manchester.
Ms. Carmen Burbano
UN World Food Programme (WFP)
Ms. Florence Tartanac
Food and Agriculture Organization of United Nations (FAO)
Mr. Emil Kiær Lund
School Food Team, City of Copenhagen
Ms. Miriam Shindler
Global Alliance for Improved Nutrition (GAIN)
Document description: Development of sustainable school food systems


text: Q: Deleting only certain image and xml files in a folder I have a folder with images named in the format of "29304.jpg". I cant figure out how to make a loop that will remove images within a range. I only images 29349.jpg to 33091.jpg, anyway I can move only these to a new folder or removed the other ones I dont need? Thank you!

redpajama_set_name: RedPajamaStackExchange


After spending the best part of 5 days in Cefalù, Steve and I made our way via our hire car to Catania. What a difference in location. Cefalù in its medieval magnificence with manicured gardens and clean streets was the polar opposite of the graffitied walls and grubby looking exterior of Catania. We arrived early Saturday afternoon in the blistering summer heat and were keen to get ourselves acquainted with our bed & breakfast and surrounding area.
We had a reservation at Centro Storico B & B right in the heart of Catania old town. The room was a delight. A large room with high ceilings and a bathroom en-suite. Decorated beautifully, complete with air conditioning, tea and coffee making facilities, a mini fridge and a delightful terrace. I loved our little home from home for the weekend. Rated 9.6 on Bookings.com we had found a gem of a place.
The location couldn't have been more perfect for us too. With the cathedral, theatre and many of the sights of Catania only 650 meters away. Everything was within walking distance.
We took ourselves out exploring the local area in search of mini fridge supplies for our pre-drinks and nibbles. Local wine and beer purchased along with olives, cheese and salted snacks we headed back out of the sweltering late afternoon heat.
After showering away the day and putting our glad rags on it was time for our usual holiday ritual. Snacks and an aperitivo on our cute little balcony. Terracotta tiles, whitewashed walls and pot plants galore, complete with comfortable seating this balcony was hitting all the right holiday boxes. Enjoying our drinks whilst listening to music gives us a bit of time to research on Trip Advisor and the like for recommendations for places to eat and drink.
It was a Saturday night so we were a little concerned that we might not get in anywhere but we thought we would try our luck in an area about a 20-25 minute walk from our B & B. The area we had earmarked was adjacent to Castello Ursino. We had found a restaurant called Il Gambero Pazzo with great reviews that we were keen to try. Unfortunately when we arrived, as expected it was fully booked for that evening so we promptly booked for the following night so as not to miss out on the opportunity.
On leaving we followed the road around in the direction of the castle in search of a bar and a restaurant. We stumbled across this amazing square called Piazza Federico di Svevia complete with a read and return library and artwork hanging from the trees. With a truly bohemian vibe, we figured it was a perfect place to stop. The nearest bar was really just a kiosk (Bar Chiosco In 68) with seating but it was full of locals. Couples, friends and families all enjoying what was on offer. Granita with brioche, cocktails, snacks, wine and beers. It may have looked a little rough and ready but I instantly fell for the place. I loved the laid back simplicity. Steve ordered a beer and myself an Aperol Spritz and our bill was €4. We were completely amazed at the prices considering we were right in the hub of the city. The bar was a perfect spot for people watching and a great pre-dinner stop off.
After a good nights sleep, breakfast was served. Our Bed and Breakfast host Salvatore had provided us with a fabulous feast. Juice, coffee, toast with ham, eggs and cheese and fresh fruit. It was amazing and I couldn't fault it one bit. Being able to sit out on our private balcony whilst enjoying a leisurely breakfast was the perfect start to the day.
Following breakfast, we had set aside some time for the red bus sightseeing tour with a company called Tourist Service. We figured it was the best way to see the main tourist sites without a car. To be honest, in the city centre most of the main touristic areas are close enough to walk but the red bus tour took you up along the coast to a couple of smaller villages that had ruins of importance and gorgeous views. The red bus tour is a hop on, hop off affair or you can choose to stay on for the whole route. We decided that we would do that so that we could enjoy the afternoon at our leisure. The tour cost €30 per person (July 2018) and in my opinion was a really good way of seeing the city and surrounding areas highlights. Taking approximately 1 and a half hours from start to finish it meant that we could still explore ourselves afterwards.
Whilst on the tour we noticed a flea market behind the Cathedral square which we earmarked for a visit later on. On returning we made our way straight over and managed to catch the end. We must have got there around 1pm. It was winding down but still enough to look at. With pure guesswork, I would say it ran from 10am – 1pm (Sunday). In a way I wish we had got there a little earlier to have a real good rummage. I do love a flea market.
We decided it was definitely gelato time after the market as it was so darn hot. We headed over to Prestipino Cafe near Piazza Duomo. I had it in my mind that I really wanted to try a gelato con brioche before leaving Sicily. Imagine a buttery brioche bun, split and filled with gelato. I chose almond, hazelnut and black currant cheesecake flavours and it was truly one of the nicest ways of eating ice cream. A gelato sandwich if you will. So darn good and you HAVE to try one when in Sicily.
With the sun being so strong and the temperatures soaring throughout the afternoon we took ourselves back to our adorable bed and breakfast to cool off in the air conditioning, have a beer and some nibbles then get ready for our final evening in Catania.
Thankfully with our booking already confirmed at Il Gamberro Pazzo we knew we didn't have to concern ourselves with more research. It was a case of getting ready and heading off back to the Piazza Federico di Svevia for drinks at Bar Chiosco In 68. I switched up my Aperol for a Negroni and Steve ordered himself a beer. Another €4 Bar bill suited us just fine. Whilst we were enjoying our drinks we noticed a group of people setting up what looked like a stage and mixing desk. So putting two and two together we concluded there must be live music later on that evening. We decided we would return after supper to check it out.
Dinner at Il Gamberro Pazzo didn't disappoint. We had asked for a table outside on booking so when we arrived we were ushered out on to their cute terrace. From outside you wouldn't have guessed that they would have outside seating but that they did and enough space for about 7 or 8 tables. Soft lighting and candlelight contributed to the ambiance.
We decided on the set menu which seemed fantastic value at €25 per head. A selection of fish starters, a main course of seafood pasta or fish, sorbet, water, wine and limoncello to finish. Every dish that came out was exquisite. Razor clams, mussels, octopus, swordfish, the list goes on and on. It was a true seafood extravaganza. I opted for the seafood pasta and Steve had a large swordfish steak. Our dessert was the most refreshing blood orange sorbetto with a limoncello alongside. I really couldn't fault the evening. The setting, the attentive staff and amazing seafood that was as fresh as fresh could be. It was absolutely wonderful and a definite Catania highlight for me.
After dinner we headed back to the cute square we had discovered previously. Just as we thought, there was a fabulous folk band wowing the crowds. This was the the best way to end our evening. We stayed and watched until nearly midnight before heading back to our B & B for our final night.
Breakfast served and enjoyed, Steve and I packed up our belongings and said farewell to our host Salvatore. We made our way over to Catania Railway station to pick up the shuttle bus to the airport.
Visiting Catania was a great shout after our time in Cefalù. Going from the seaside into the city showed us two opposing sides to the island. It was a shame we only had two days to explore. I would love to head back and experience more of the fine dining and cultural events that it has to offer. There really is something about Sicily that has captured my heart.
If you fancy reading about my visits to Cefalù click here to read "A Few Days In Cefalù" and here to read "A Few More Days In Cefalù".
Disclaimer: I was not asked to write or paid to write this post. I just wanted to share my holiday experience with you all.


I have a partner who is asking me about the number of Active Directory domains supported on Firepower integration using User Agent and ISE.
- Is there any limit of Active Directory domains using ISE integration with Firepower ?
- What is the limit of Active Directory domains using User Agent with Firepower ?
- What is the limit of Active Directory domains using ISE with Firepower ?
- Is it possible to combine multiple domains using User Agent or ISE with Firepower ?
- With User Agent, is it possible to install the Agent in the same machine with multiple domains ?


This is a 4 piece front set of ABS pocket style fender flares to fit facelifted Toyota Hilux (mk7) single, extra and double cab tray back utes made from 2012 to early 2015. These are mounted simply through the underside lip of the fender flares into the inner fender lip. These are ABS wheel arch extensions and include rubber edge trim, installation hardware, double sided tape and stainless steel hardware already mounted in the pocket locations. This set includes two main front flares and the two small flares that mount to the original front bumper. They have a smooth (non-textured) matte black finish although we can not guarantee it will be blemish-free after shipping.
4 piece set of front fender flares for Trayback models including two main front fender flares and the two small fender flares that mount to the front bumper. This set also comes with hardware in the pocket locations, installation hardware, double-sided tape and rubber edge trim.
Get a shipping quote in seconds! Just click "Add to Cart" below and then choose your location. There is no registration nessesary.


The Char-Broil 4-Spark Electronic Ignitor replaces igniters on most grills up to 4 sparks. This ignition set includes ignition module with push button, igniter wire for side burner, igniter wire and ground wire. Quickly connect to replace spark igniters and get back to grilling faster! Set requires one AA battery, not included.


Call an experienced to support unclog your pipes as doing it yourself may create you more issues later on in Waltham forest E7.
Private sewers belong to you, and they're usually only within your property border. Public sewers do not belong to you, so if there are any blockages within them, then you do not have to pay to unclog a stoppage in the pipes in Waltham forest E7. If blocked drains are becoming a complication then contact one of our experienced plumbers to support unclog a stoppage in the pipes in Waltham forest E7. Using a plunger is frequently one of the most common technologies to free the clogged drains, as a plunger dislodges the material that is locked up and locked inside of the waste steel pipe in Waltham forest E7. When you need to get your drains fixed in an emergency, one of our specialist skilled plumbing professionals is on hand to unclog your pipes before the problem gets worse in Waltham forest E7.
Most qualified plumbing technicians pride themselves on their reputation, so they books diligently to free up congestion in pipes as fast as they can. They also offer a myriad of cost sensible solutions in Waltham forest E7.
You constantly have to consider your safety when uncloging pipes, and if you do suffer from any underlying health criteria we would recommend that you stay well away from them in Waltham forest E7. A bites upvc lead pipe can be a nightmare, but call one of our skilled plumbing professionals for immediate aid to free up drains at your house in Waltham forest E7. You should to take the right steps to open up congestion in the drains as soon as you notice a difficulty especially if they're in the privy or an area that could prove to be hazardous in Waltham forest E7. Professional skilled plumbing professionals know how to unclog a steel plastic tube so that you don't have to get your hand dirty in Waltham forest E7. No matter how badly bites our professional experts will unclog your steel copper pipe in a heart beat and not for a high price too in Waltham forest E7.
We can provide you with a large number of services, so if you want to unclog a iron copper pipe in your house or quandary problem solve any other plumbing quandary just call in Waltham forest E7.
Call our plumbing services if you feel the need to unclog a copper iron pipe and we promise we will not let you down when it comes to the quality of our books in Waltham forest E7. Fed up with looking at the bathwater an hour after you've pulled the plug? Then call us to help unclog your pipes in Waltham forest E7. Need a plumbing professional urgently, then call one of our friendly experts who are on call to unclog blocked drains at home in Waltham forest E7. It would be desirable to unclog your kitchen sink at a fair fee by calling one of our trained plumbing professionals who can unclog your pipes within 24 hours in Waltham forest E7. Sometimes a wc can get clogged up and produce complications which is when you need a professional to unclog blocked drains and repair your convenience with relative ease in Waltham forest E7.
If your bath or shower does not iron upvc pipe away, you may need to seek the help of a guaranteed plumbing technician to support open a butcher from pipes at home in Waltham forest E7.
Household objects are capable of obstruct the vast majority of pipes, and if you have children in your apartment then we are sure you'll be familiar with the 'flush the toy down the privy' routine. Toys get stuck going around the U-Bend in a diligent manner, and rather than putting your hand in a potentially harmful environment as a consequence of the amount of bacteria in your privy; you can contact a trained plumbing expert to do it for you in Waltham forest E7. If you feel the need to unclog a plastic iron pipe just grab a phone and call our plumbing company because we are permanently in time and we hire only the highest quality trained plumbing technicians in Waltham forest E7.
Copious amounts of tyrannizes train their toilets to block by flushing a number sanitary items down them and usually, a blockage will be quite severe when It's due to sanitary items. This is because a great number of sanitary items drag on when exposed to water. You should to always contact a trained plumbing engineer to decongest a stoppage from the pipes immediately if you are in this position; otherwise, you could run the risk of your washroom turning into a swimming pool in Waltham forest E7. Bite pipes can fast to give a hygiene issue as bacteria breed in the water that can not travel down the copper pipe We believe that it is in your interest always contact a qualified to unclog any pipes that you is plausible that it is in need of aid with, that technology you are not exposed to any harmful bacteria in Waltham forest E7. The majority of qualified plumbing specialists will offer All week response times, and they'll come fully equipped to unclog your pipes as quickly as they can in Waltham forest E7.
The vast majority of lavatory upvc copper pipe blockages are actually as a result of foreign objects that are lodged in the U-Bend, including the smelly things that clip to the side of your loo It can be easy to knock those in, and if you do you are going to need to seek professional support to unclog your pipes quickly in Waltham forest E7.
Do not be ambivalent and call one of our skilled plumbing engineers if the water in your sink is standing, because you have to unclog your iron pipe and we can do it fast and cheaply in Waltham forest E7. Safety should always be your key worry when attempting to unclog your pipes, and it can be impossible to tell what is and isn't safe. Plumbing specialists are fully qualified and trained to know how to handle the majority of situations that they are faced with, and they can do so with ease in Waltham forest E7. If it looks like your shower is not draining away and your dwelling efforts to unclog your drains are not working, call one of our specialists act who can open up a blockage in the pipes at an affordable valuation in Waltham forest E7. When you flush objects down the privy that are not supposed to be flushed down the wc they'll occasionally get caught attempting to go around the U-Bend. In this case just you only to contact someone to unclog your pipes swiftly; otherwise, the product could block your entire system in Waltham forest E7. If your shower is not draining properly then call one of our expert skilled plumbing engineers to come to your house to open up a blockage in the pipes in Waltham forest E7.
Over time, the oils and fats that we use to cook our food harden up within the pipes of our sink as they solidify the sink becomes bite Guaranteed plumbing experts have the tools needed to open a blockage in the pipes quickly in Waltham forest E7.
In a diligent manner plumbing issues can be fixed within the home but are our experts act are on hand should you need aid to do disappear a caulk in pipes in your house in Waltham forest E7. Standing water in your kitchen handbasin is very frustrating and is most likely owing to a clogged pvc steel pipe so do not waste a minute and call our establishment to send over a skilled plumbing engineer to unclog the plastic pipe in Waltham forest E7. Most skilled plumbing technicians offer beneficial prices when it comes to having to unclog a stoppage in the pipes; this is because the job is in a diligent manner simple for them to complete although it can be annoying in Waltham forest E7! If you are suffering from foul-smelling water in the drains you may need to enlist the help of one of our professional skilled plumbing technicians to support unclog your pipes in Waltham forest E7. Call one of our experts act today who are professionally trained to delete a clog in pipes in your house at an affordable rate in Waltham forest E7.
Sometimes only a professional will be able to open the bites pipes in your dwelling so do not hesitate and call one of our experts act pretty damn quick in Waltham forest E7.
Our experienced plumbing specialists are professionally trained and competitively priced, so look no further and arrange for for them to come around and free an obstruction in the pipes at dwelling in Waltham forest E7. Getting immediate aid for a plumbing difficulty can save you money later on so call one of our professional experienced plumbing specialists to unclog your pipes in Waltham forest E7. If you are in need of aid clearing a copper pipe on your own, just call our specialist certified plumbing specialist to unclog the copper pipe and spare yourself the unnecessary hustle in Waltham forest E7. After you have taken the right steps to unclog your pipes, make sure that you run a myriad of electric water heater down them. That way you can certify that no debris will be left in Waltham forest E7.
By using baking soda and vinegar, it is in your interest unclog a plastic tube because as a consequence of their chemical properties they to stop the residual in Waltham forest E7.
Not all upvc steel pipe blockages are as a consequence of household wasted a number of them are actually as a consequence of the roots of trees. Moisture from leaking joints in the pipes attracts them, and they gain access through any cracks that may be present. You are going to need a plumbing engineer to aid you unclog these pipes, as they will also have to seal off the cracks to remove the problem or concern occurring again in Waltham forest E7.
Experts who are both affordable and professional are waiting for your call to free the bites pipes in your home and resolve any plumbing headaches in Waltham forest E7. If you are looking for a experienced plumbing professional to put right your wc then call one of our experts act who will be on standby to unclog your pipes in Waltham forest E7. To unclog the upvc upvc pipe it is better prepare some boiling water, baking soda and vinegar which is supposed to loosen up the residual that has built up inside the steel pipe in Waltham forest E7. Whether the caulk is in your decisive pipes or a secondary line, call for the support of one of our qualified plumbing professionals to free the bites pipes in your dwelling in Waltham forest E7. If you do not want to leave plumbing troubles to to give long-standing issues call one of our experts act to free the bites pipes in your house in Waltham forest E7.
Blocked pipes can to lead stacks of unseen big headaches including big complications to wiring or electrical device fittings. As a result of this, just you only to continually contact a trained plumbing specialist to unclog your pipes, as they'll be able to see if any of this big headaches has already occurred. The last thing you want is an electric shock while attempting to unclog your pipes in Waltham forest E7.


text:
package com.signalcollect.features

import akka.actor.{ActorRef, Props}
import akka.cluster.Cluster
import akka.pattern.ask
import akka.remote.testkit.{MultiNodeConfig, MultiNodeSpec}
import akka.testkit.ImplicitSender
import akka.util.Timeout
import com.signalcollect.{MultiJvmConfig, TestConfig, STMultiNodeSpec}
import com.signalcollect.nodeprovisioning.cluster.{ClusterNodeProvisionerActor, RetrieveNodeActors}
import com.signalcollect.util.TestAnnouncements
import com.typesafe.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.time.{Millis, Seconds, Span}

import scala.concurrent.duration._
import scala.language.postfixOps

class ClusterSpecMultiJvmNode1 extends ClusterSpec

class ClusterSpecMultiJvmNode2 extends ClusterSpec

class ClusterSpecMultiJvmNode3 extends ClusterSpec

object ClusterSpecConfig extends MultiNodeConfig {
  val provisioner = role("provisioner")
  val worker1 = role("worker1")
  val worker2 = role("worker2")

  val clusterName = "ClusterSpec"
  val seedPort = 2557

  nodeConfig(provisioner) {
    MultiJvmConfig.provisionerCommonConfig(seedPort)
  }

  // this configuration will be used for all nodes
  commonConfig {
    MultiJvmConfig.nodeCommonConfig(clusterName, seedPort)
  }
}

class ClusterSpec extends MultiNodeSpec(ClusterSpecConfig) with STMultiNodeSpec
with ImplicitSender with TestAnnouncements with ScalaFutures {

  import ClusterSpecConfig._

  override def initialParticipants = roles.size

  implicit override val patienceConfig =
    PatienceConfig(timeout = scaled(Span(300, Seconds)), interval = scaled(Span(1000, Millis)))

  val workers = roles.size
  val prefix = TestConfig.prefix

  muteDeadLetters(classOf[Any])(system)

  "SignalCollect" should {
    "get the cluster up" in {
      runOn(provisioner) {
        system.actorOf(Props(classOf[ClusterNodeProvisionerActor], MultiJvmConfig.idleDetectionPropagationDelayInMilliseconds,
          prefix, workers), "ClusterMasterBootstrap")
      }
      enterBarrier("all nodes up")

      runOn(provisioner) {
        implicit val timeout = Timeout(300.seconds)
        val masterActor = system.actorSelection(node(provisioner) / "user" / "ClusterMasterBootstrap")
        val nodeActorsFuture = (masterActor ? RetrieveNodeActors).mapTo[Array[ActorRef]]
        whenReady(nodeActorsFuture) { nodeActors =>
          assert(nodeActors.length == workers)
        }
      }
      enterBarrier("tests done!")
    }
  }
}


FINALLY A LONG-TERM WEIGHT LOSS supporting supplement that actually works! Pure, potent, powerful, proven natural Garcinia Cambogia extract contains 95% HCA CONCENTRATE, the highest, safest beneficial concentration found in clinical trials.
SLIMS AWAY BODY FAT IN 5 WAYS: Studies show this precise combination supports excess carb blocking, sugar blocking, fat storage blocking, appetite reduction, plus flushes out colon and digestive waist, so your waistline looks slimmer fast.
HELPS STOP EMOTIONAL EATING: Because HCA promotes higher serotonin levels, Celluwin garcinia extract naturally elevates your happiness, a critical factor in whether you binge out of misery, or stick to your healthy eating plan and see long term success!
THIS ALL NATURAL, PLANT BASED, CAFFEINE FREE weight loss supplement contains 100% pure Garcinia Cambogia Plant Extract, and it's free from fillers, chemicals, stimulants, or anything else nutritionists question. Just clean, pure, healthy belly fat blasters, the way Mother Nature intended it.
LIFETIME GUARANTEE – SERIOUSLY OUR PREMIUM garcinia reigns supreme as one of the best weight management supplements on the market. We meticulously and continuously inspect and test every formulation for purity, potency, safety and effect, guaranteeing your results. You'll love how you look or your money back, no questions asked!
FINALLY A LONG-TERM WEIGHT LOSS supporting supplement that actually works! Pure, potent, powerful, proven natural Garcinia Cambogia extract contains 95% HCA CONCENTRATE, the highest, safest beneficial concentration found in clinical trials. 100% LIFETIME GUARANTEED.
Celluwin Pure Garcinia Cambogia | 100% Natural HCA Extract Plus Calcium Booster Promotes Weight Loss, Belly Fat Burn & Supports Suppressed Appetite | 60 Max Strength Capsules ON SALE!


A cow moose stands in a road during the first week of moose hunting season. Unfortunately for hunters Larry and Libby Gardner, their permit only allowed them to shoot bull moose.
With two sessions of moose hunted completed, hunters have been enjoying above-average success thus far, with 1,508 of 2005 permit holders — 75.4 percent — filling their tags according to preliminary data.
Lee Kantar, moose biologist for the Maine Department of Inland Fisheries and Wildlife, said that during the first six-day session of moose hunting, which stretched from Sept. 24 until Sept. 29, 658 of 835 permit-holders — 79 percent — shot a moose.
The second six-day season, held Oct. 8-13, featured similar success, with 850 of 1,170 hunters (73 percent) filling their tags.
"[It] looks like both seasons there was an increase over last year," Kantar said in an email.
In 2017, hunters had a 78 percent success rate during September and a 69 percent success rate during the first October week, according to Kantar. But the September totals can't really be directly correlated, year to year, because moose hunting was added in four Wildlife Management Districts during this year's September hunt.
Kantar said the first two days of the September season were nearly perfect for hunting, with cold, crisp mornings and moose that were very receptive to calling. The opening day of the first October season featured good weather, but temperatures climbed over the next two days before falling again.
Kantar was able to provide real-time data on the moose hunt because of the implementation of an internet-based registration system that the DIF&W is using this year for the first time. Previously, it took biologists months to receive paper registration books from far-flung tagging stations, and data wasn't released until all of those books were sent to Augusta and logged.
In all, 2,500 moose permits were issued to prospective moose hunters this year.
— Oct. 22-27, with 450 cow-only permits issued in six northern Wildlife Management Districts.
— Oct. 29-Nov. 24, with 45 any-moose permits issued in two WMDs farther south.


Felines are inclined to groom themselves naturally and do not require frequent baths. But whenever you do feel a bath is necessary for your kitty to rid it of dirt and unpleasant smells, opt for a cat shampoo that is free from artificial dyes, sodium laurel sulphate, petrochemicals, and parabens. In order to find the perfect shampoo and cat conditioner for your pet, visit Petsworld which offers safe and natural grooming products for different skin & coat conditions.
If your kitty suffers from sensitive and itchy skin, you can purchase shampoos laden with natural oils. Aloe-vera and chamomile are some components to look out for to reduce itching, and nurture the skin & coat. The Beaphar anti-itch shampoo is a great choice to soothe skin-irritation and brighten your pet's coat. Bio-groom offers a great tearless formula for kittens.
Another magical product free from parabens, sulphate, petroleum derivatives, DEA and propylene glycol is Pet Head De-shedding rinse for cats. This premium quality product is composed of organic coconut oil that leads to a super smooth fur and manageable mane. It works well on all types of fur & breed-types, helps to remove loose hair and prevents formation of mats.
Petsworld also supplies water-less shampoos that come in the form of a spray. The Pet-Head dry clean for cats can be used in-between baths to provide dry clean services anytime and anywhere to achieve a perfect smelling and dirt-free pet!


Happy New Year everyone! The entire Hello Creative Family team hopes that you have had the happiest, healthiest, most creative, winter break ever! I'm so excited for 2016 and want to thank each and every one of you for joining us on this wonderful ride and for being such a huge part of our past year! Thank you for everything that you've done to make the transition from Sew Creative to Hello Creative Family such a huge success.
Today we're looking forward to everything that 2016 is going to bring our way. We're sending those positive vibes out into the universe and we can't wait to see what they bring our way!
A few years ago I heard of this crazy fad of setting "New Year's Intentions". I'd long since given up the idea of setting New Year's resolutions… don't most people usually drop their resolution within a month or so anyways? But I loved the idea of putting a word out their into the universe that I was going to live my life by for the following year. I decided to go for it, set an intention, and I shared it on what was then Sew Creative.
My intention the first year was "Do It!" At the time, I was letting fear stop me, and I decided that I was going to cast my fears aside and let nothing hold me back. I had no idea how much those two little words were going to change my life. That year I quit my job of 8 years, opened my own social media company, and stepped outside of my comfort zone as I attended a variety of blog conferences.
My intention in 2014 worked so well, that I decided to do it again in 2015 and set another intention for myself. My word for 2015 was "Quality". In 2014 I volunteered a ton in my daughter's classroom. I knew her teachers well, all of her classmates knew me by name, and it had a huge impact on my daughter's quality of life at school. I also came to the realization that no one woman can do it all herself, and so I decided to take Sew Creative in a new direction, bringing on a business partner (the multi-talented, Karen Bannister), rebranding as Hello Creative Family and bringing on a team of incredible writers to join the Hello Creative Family family.
My family and I have also decided to set a family intention for the year, and we have chosen Gratitude. This year more than ever, we are going to take time to recognize all of the ways, big and little, that we are blessed. Each night before dinner we're each going to share one thing that we are grateful for.
I asked Karen and our Hello Creative Family contributors to share their intentions for 2016. Here are their responses.
When I began running, I never thought my body wouldn't always be up to the task. I thought as long as I could get over the mind hurdle of getting out there, I'd be good. Then I got injured. I've spent the last year learning how to listen to my body (totally re-learning how to run).
2015 was rough on my thyroid. The poor thing just isn't giving me optimal health right now. Rather than my usual super sonic speed, I will learn to listen to what I need. That may mean shutting off the computer, playing more with no agenda, and worrying less.
I am working so hard to build my business. I sometimes forget the golden rule of business: listen to what people want and need. Give them that. I want to practice this, but also bring the message of how to be a better listener to others.
And finally, terrible twos? How about the feisty fives? My middle child has given us a fair share of battles this year. And of course I learned a few lessons along the way. The biggest, the one I need to admit to you, is that as soon as I got down on my knees and listened, really really listened to her, the power struggles stopped (mostly). What a lesson! And in 2016 I want to take more quiet time to listen to what my kids have to say. They are very very smart.
Find more of Karen at Her Story Media.
Happiness is maybe not a word that people think about on a daily basis, but I do. Happiness is a quest that I started last year and it continues.I realized that I had so many wonderful things in my life but for some reason, I wasn't as happy as I could be. So I decided to change that and went on a quest, my own sort of happiness project. And it's a quest to not only be happier myself, but to also make others happy. Because when you're happy, life is just better.
Find more of Salma's writing at The Write Balance.
The one thing I intend to do in 2016 is SHINE. Over the last few years I've been an archaeologist, unearthing the sparkly bits of my soul that light me up and hopefully light up others. On this quest, I've learned a lot about the things that fulfill me and give my life purpose, but I haven't fully stepped into it all yet. I guess I see myself teetering on the edge of a new year and really wanting this bright light inside me to burst forth. I want to do more than just *know* I'm a writer, teacher, musician and community-builder. I want to superimpose those bits of me over everything I do.
Find more of Taslim's writing at Let Me Out Creative.
My word for 2016 is SING. I'm working hard this year on freeing my creativity and expressing myself. I intend to SING in 2016 with a stronger voice, feeling even more inspired to follow my passions. I'm not going to limit myself anymore, now is the time to act on what I truly want for myself.
Find more of Renee's writing at Sweet Revelations.
My word is popcorn. Because I know through the fire, the wind, happiness, sadness, grey, light, weeknights, weekends, joy, sorrow and desire, I will ALWAYS have popcorn. Attainable AND delicious. You may say this is a cheap cop out. I won't respond because my mouth is full of delicious popcorn.
Find more of Brooke's writing at Miss Teen USSR.
My word for the year is me. I'm going to be focusing on what will be best for me, from work to my personal life. This is the year that I will not stretch myself thin. I will finally get the balancing act together, even if that means I have to say no more often.
Find more of Randa's writing at The Bewitchin' Kitchen.
My focus word is simplify. This is the second year in a row I will be choosing this intention. Last year I paired down a lot but between full time work, graduate school, and family life, my year was anything but simple. This year, in honor of my health, my happiness, and my loves, I will simplify more (and more and more). I know that with less commitments and distractions we will have more quality. Simplify!!!
Find more of Heather's writing at Mother Your Business.
My intention for 2016 is "all in". I want to spend the next year living life to the fullest. I don't want to do it all but what I do I want to do well. As for my blog I want to focus more on growing and learning throughout 2016. I am attending a new conference and I have a few ebooks to read! If anyone has suggestions of books, blogs etc I would love any and all advice!
Find more of Jessica's writing at Mommy Envy.
Tell us… have you set an intention for 2016? What is the word (or words) that you are going to live by over the upcoming year?


text:
Q: How to get the subscriber count of a YouTube channel to Google Sheets I have a list of YouTube channels' URLs. How do I get their subscriber count to a Google Sheet?

A: YouTube Data API v3 credentials will be required. See:

*

*YouTube Data API Overview

*Obtaining Credentials
Once you get the API key:

*

*Get your URL list to a Google Sheet.

*Create a new Google Apps Script project. (Tools > Script Editor)

*Paste this code to your script file:
 var api_key='YOUR_API_KEY'
 var google_url = 'https://www.googleapis.com/youtube/v3/channels/'
 var url_id = google_url + '?key=' + api_key + '&part=statistics' + '&id='

 function GET_SUBS(input) {
     /** Takes channel ID as input and returns the subscriber count */
     url_id = url_id + input
     return +ImportJSON(url_id, "/items/statistics/subscriberCount", "noHeaders")
 }

*Click on the plus icon next to the "Files" and choose "Script". Rename your new script file as "ImportJSON" and paste this code.

*Go back to the sheet and set up a column for channel IDs. You can use the following code to strip ID of a channel from the URL:
=ArrayFormula(REGEXREPLACE('CHANNEL_URL',"(.*\/)(.*)$","$2"))

*Use the GET_SUBS() function to get the follower count.
GET_SUBS('CHANNEL_ID')

Note: Currently YouTube API doesn't provide the exact subscriber count of a channel publicly. See this Stackoverflow question. So the results we have are rounded.


text:
▸Updates
Explore the Luxury Amenities of Solea Cinco Ranch
If you're living a full life and you're looking for the perfect 55 and older apartments in Katy, Texas, you'll find a warm welcome at Solea Cinco Ranch. Our new senior living apartments offer the best features, amenities, and comforts that add up to a great living experience.
At our 55 community in Katy TX, you'll find elegant, spacious apartment homes with gorgeous, decorator-inspired interiors with private terraces and yards. Our luxury amenities give our residents a fun, comfortable lifestyle.
Discover Fun Again
At Solea Cinco Ranch, you can rediscover your sense of fun. Our beautifully appointed grounds and public areas include outdoor seating areas, a two-story clubhouse that's open anytime, a game lounge and a library with free wi-fi, scanners, and printers.
Stay fit with weekly fitness classes of all kinds, sparkling resort-style pool, fitness gym that's open 24-7 and nearby walking areas. Bring your pet and enjoy a walk in our private dog park.
Mix and Mingle
Enjoy making new friends and having new experiences at our new apartments in Katy. Solea Cinco Ranch's luxury apartments are made for adults over 55 who want to enjoy life to the fullest in a fun, vibrant community. Enjoy happy hours, game nights, a self-service coffee bar, and outdoor grilling with your friends and family.
You'll never be bored as you stroll the lovely courtyard area, take in some rays on our poolside sun deck, or watch a movie in our media lounge. We have a full calendar of social events. You can join in, or just do your own thing!
Live Luxuriously
Are you ready to live in the lap of luxury? You'll feel pampered every day that you're in one of our gorgeous apartments. We've made sure to add everything you need for an active adult lifestyle, including granite countertops, chef-style kitchens, huge bathrooms with oversized bathtubs and vanities, private terraces, walk-in closets, and your own washer and dryer.
Life is easy and convenient at Solea Cinco Ranch. Each building has elevators and a mail room. You'll have your own garage or parking space, additional storage space, and trash and recycling pickup.
Feel Safe and Secure
Your safety is a top concern at our 55 community in Katy. Our senior living apartments have controlled-access entry gates and fenced outdoor areas.
Katy is a charming town where you'll find old-fashioned warmth and modern convenience all in one. It's a safe, quiet community where you'll find great shopping, dining and entertainment options. You're going to love living here.
If you're ready for a new active lifestyle that's as fun-loving and vibrant as you are, you're ready for life at Solea. Our new senior living apartments are open to active adults ages 55 and older. We look forward to welcoming you to your new home.


Raflatac celebrates 10 years of operation in Russia this year – a decade in which the country has developed into one of Europe's largest pressure sensitive label markets.
"Together with favourable political and economic conditions, Raflatac has played an important role in this success story," asserts Thomas Rohweder, senior vp for Raflatac Europe. "Our Russian representation has been helping Russian printing companies to attain the high level of professionalism that they are demonstrating today. Strong background support will be even more important in the future as demand for filmic and special products grows," he stresses.