Although Chris Evans has completed filming "The Avengers" film, he is still showing off his superhero figure on a photo shoot for Details Magazine on the beach outside of Los Angeles, California on Wednesday, February 1, 2012.
The 30-year-old hunk put his bulging biceps, chiseled chest and six-pack abs on display as he climbed rocks at Vasquez Rocks Park for the cameras. Chris Evans even went shirtless while posing for the cover of Details Magazine. The Avengers star were also spotted incredibly taking pictures, hugging, kissing, and playing around with three lucky ladies on set, including his publicist, make-up artist, and interviewer/producer.
During the interview with Details, Chris Evans said that he finished filming the movie "The Avengers" in September and now he is gearing to promote the movie for its release in May. In addition, the actor will get back to his superhero character in the movie "Captain America," the role that brought him many sleepless nights just to think about if he should accept it or not.
Chris Evans is not the only Avengers actor who has been captured without his shirt. last month, his costar Chris Hemsworth, who stars Thor, also went shirtless during his vacation with Matt Damon.


text:
Maslak Box
Maslak is a rapidly developing business center where numerous office buildings are being developed with a certain architectural quality. Yet, few of them are interacting with the surrounding street life as much as they aim to reflect a powerful presence. Maslak Box discerns itself as it privileges to animate its surrounding and boosts a footfall which is in fact notably lacking in Maslak. The design purposefully employs a dual character and highlights the corporate identity at the side of boulevard so do its peers, and then reinterpret the office morphology at its backyard façade by employing transparent and permeable design vocabulary. Reaching to 15 000 sq.m size in a moderately rising block, Maslak Box is a quest for an alternative identity which concerns to amplify the street life and to boost a vibrant public realm by creating niches and courtyards around it. The boulevard side façade aims to transfer the energy and mobility of the boulevard towards the vertical plane and conveys it to the backyard however with a tranquil and mild stance. The canopy sets itself as a bridging element that collects the vibrancy of boulevard and transmits it to the backyard and wraps the building as if an urban scarf.

redpajama_set_name: RedPajamaCommonCrawl


text:
"""
Allow representation of queries as logic expressions. This module makes
sure that attributes that are combined using the two logic operations AND (&)
and OR (|) always are in disjunctive normal form, that is, there are only two
levels - the first being disjunction and the second being conjunction. In other
words, every combinations of attributes looks like this:
(a AND b AND c) OR (d AND e).

Walkers are used to traverse the tree that results from combining attributes.
They are implemented using sunpy.util.multimethod. Multimethods are functions
that are not assigned to classes but still dispatch by type of one or more
of their arguments. For more information about multimethods, refer to
sunpy.util.multimethod.

Please note that & is evaluated first, so A & B | C is equivalent to
(A & B) | C.
"""

from __future__ import absolute_import

from sunpy.util.multimethod import MultiMethod

# XXX: Maybe allow other normal forms.

class Attr(object):
    """ This is the base for all attributes. """
    def __and__(self, other):
        if isinstance(other, AttrOr):
            return AttrOr([elem & self for elem in other.attrs])
        if self.collides(other):
            return NotImplemented
        return AttrAnd([self, other])

    def __hash__(self):
        return hash(frozenset(vars(self).iteritems()))

    def __or__(self, other):
        # Optimization.
        if self == other:
            return self
        return AttrOr([self, other])

    def collides(self, other):
        raise NotImplementedError

    def __eq__(self, other):
        return dict(vars(self)) == dict(vars(other))

class DummyAttr(Attr):
    """ Empty attribute. Useful for building up queries. Returns other
    attribute when ORed or ANDed. It can be considered an empty query
    that you can use as an initial value if you want to build up your
    query in a loop.

    So, if we wanted an attr matching all the time intervals between the times
    stored as (from, to) tuples in a list, we could do.

    attr = DummyAttr()
    for from_, to in times:
        attr |= Time(from_, to)
    """
    def __and__(self, other):
        return other

    def __or__(self, other):
        return other

    def collides(self, other):
        return False

    def __hash__(self):
        return hash(None)

    def __eq__(self, other):
        return isinstance(other, DummyAttr)

class AttrAnd(Attr):
    """ Attribute representing attributes ANDed together. """
    def __init__(self, attrs):
        Attr.__init__(self)
        self.attrs = attrs

    def __and__(self, other):
        if any(other.collides(elem) for elem in self.attrs):
            return NotImplemented
        if isinstance(other, AttrAnd):
            return AttrAnd(self.attrs + other.attrs)
        if isinstance(other, AttrOr):
            return AttrOr([elem & self for elem in other.attrs])
        return AttrAnd(self.attrs + [other])

    __rand__ = __and__

    def __repr__(self):
        return "<AttrAnd(%r)>" % self.attrs

    def __eq__(self, other):
        if not isinstance(other, AttrAnd):
            return False
        return set(self.attrs) == set(other.attrs)

    def __hash__(self):
        return hash(frozenset(self.attrs))

    def collides(self, other):
        return any(elem.collides(other) for elem in self.attrs)

class AttrOr(Attr):
    """ Attribute representing attributes ORed together. """
    def __init__(self, attrs):
        Attr.__init__(self)
        self.attrs = attrs

    def __or__(self, other):
        if isinstance(other, AttrOr):
            return AttrOr(self.attrs + other.attrs)
        return AttrOr(self.attrs + [other])

    __ror__ = __or__

    def __and__(self, other):
        return AttrOr([elem & other for elem in self.attrs])

    __rand__ = __and__

    def __xor__(self, other):
        new = AttrOr([])
        for elem in self.attrs:
            try:
                new |= elem ^ other
            except TypeError:
                pass
        return new

    def __contains__(self, other):
        for elem in self.attrs:
            try:
                if other in elem:
                    return True
            except TypeError:
                pass
        return False

    def __repr__(self):
        return "<AttrOr(%r)>" % self.attrs

    def __eq__(self, other):
        if not isinstance(other, AttrOr):
            return False
        return set(self.attrs) == set(other.attrs)

    def __hash__(self):
        return hash(frozenset(self.attrs))

    def collides(self, other):
        return all(elem.collides(other) for elem in self.attrs)

class ValueAttr(Attr):
    def __init__(self, attrs):
        Attr.__init__(self)
        self.attrs = attrs

    def __repr__(self):
        return "<ValueAttr(%r)>" % (self.attrs)

    def __hash__(self):
        return hash(frozenset(self.attrs.iteritems()))

    def __eq__(self, other):
        if not isinstance(other, self.__class__):
            return False
        return self.attrs == other.attrs

    def collides(self, other):
        if not isinstance(other, self.__class__):
            return False
        return any(k in other.attrs for k in self.attrs)

class AttrWalker(object):
    def __init__(self):
        self.applymm = MultiMethod(lambda *a, **kw: (a[1], ))
        self.createmm = MultiMethod(lambda *a, **kw: (a[1], ))

    def add_creator(self, *types):
        def _dec(fun):
            for type_ in types:
                self.createmm.add(fun, (type_, ))
            return fun
        return _dec

    def add_applier(self, *types):
        def _dec(fun):
            for type_ in types:
                self.applymm.add(fun, (type_, ))
            return fun
        return _dec

    def add_converter(self, *types):
        def _dec(fun):
            for type_ in types:
                self.applymm.add(self.cv_apply(fun), (type_, ))
                self.createmm.add(self.cv_create(fun), (type_, ))
            return fun
        return _dec

    def cv_apply(self, fun):
        def _fun(*args, **kwargs):
            args = list(args)
            args[1] = fun(args[1])
            return self.applymm(*args, **kwargs)
        return _fun

    def cv_create(self, fun):
        def _fun(*args, **kwargs):
            args = list(args)
            args[1] = fun(args[1])
            return self.createmm(*args, **kwargs)
        return _fun

    def create(self, *args, **kwargs):
        return self.createmm(self, *args, **kwargs)

    def apply(self, *args, **kwargs):
        return self.applymm(self, *args, **kwargs)

    def super_create(self, *args, **kwargs):
        return self.createmm.super(self, *args, **kwargs)

    def super_apply(self, *args, **kwargs):
        return self.applymm.super(self, *args, **kwargs)

def and_(*args):
    """ Trick operator precendence.

    and_(foo < bar, bar < baz)
    """
    value = DummyAttr()
    for elem in args:
        value &= elem
    return value

def or_(*args):
    """ Trick operator precendence.

    or_(foo < bar, bar < baz)
    """
    value = DummyAttr()
    for elem in args:
        value |= elem
    return value

redpajama_set_name: RedPajamaGithub


Italy's average youth unemployment rate fell to 40.3 percent in 2015 – the first time the rate for the year has fallen since 2007.
The jobless rate among Italy's 15 to 24 year was 2.4 percent lower last year than in 2014, Istat, the national statistics office, said on Thursday.
The overall unemployment rate fell to 11.9 percent from 12.7 percent in 2014, also marking the first annual drop since 2007.
Italy's growth prospects are also looking slightly more positive, with Istat forecasting a 0.1 percent rise in GDP for the first three months of this year.
The rise is driven by consumer spending, although foreign demand for exports is expected to slow.


Artworks are Copyrighted © 2010 MIATARI.
very recommended deviant to follow.. cool art!
Nice, is there a larger version somewhere tho?
Permission to use one of this textures in a manipulation?
Thank you so much!! Love this pack!
Great work! May I use the dark carbon texture as a background in a youtube video of me?
exactly what i need, thanks !
thanks!. feel free to use it!
Thanks... ^^ can i use for my project...???
and i have no idea what that guy is talking about, this is good quality! many thanks!
i thinkim going to use it.


The final chapter in a remarkable mission of exploration and discovery, Cassini's Grand Finale is in many ways like a brand new mission. Twenty-two times, NASA's Cassini spacecraft will dive through the unexplored space between Saturn and its rings. What we learn from these ultra-close passes over the planet could be some of the most exciting revelations ever returned by the long-lived spacecraft.


text:
A feature not available in the iPhone 12 .. OnePlus 8T ignites the market
28 January 2021 2021-01-28T05:34:00-08:00 2021-01-28T05:34:05-08:00
OnePlus launched its 8T smartphone recently, sparking competition in the luxury model category.
At first glance, the OnePlus 8T phone looks stylish and modern, with narrow screen edges, and is surrounded by a high-quality aluminum frame.
Like most other smartphones, the main camera stands out in the back as a rectangle in the upper left, and previously the Chinese company installed its rear cameras in the middle.
OnePlus explained the reason for this change by improving the cooling properties and the antenna technology.
The OnePlus phone is distinguished by its quality and relatively light weight, which does not exceed 188 grams, and includes a 6.55-inch screen that works with FHD + resolution (2400 x 1080 pixels) and has a pixel density of 402 pixels per square inch.
OnePlus adopted a flexible and extremely thin AMOLED panel, which can be observed in everyday life.
The OnePlus 8T has an ultra-thin design, although the electronic components to control the screen are installed behind the screen.
This design contributes to the width of the lower edge of the screen not as was the case in the previous model. The AMOLED screen displays colors beautifully, and is not overly colorful like many competing Chinese models.
Superior picture refresh rate
The OnePlus 8T phone has a superb image refresh rate of 120Hz, a feature not available on the new iPhone 12, so web pages and scenes in computer games can be scrolled smoothly.
Inside the new smartphone is a Qualcomm Snapdragon 865 processor and 8 or 12 GB of RAM, with reliance on the new UFS-3.1 RAM, with a 4,500 mAh battery, which is sufficient for various uses throughout the day.
Warp Charge 65
The primary feature is the Warp Charge 65, which enables the 8T smartphone to be charged 35% within 10 minutes.
The battery can also be fully charged in less than 40 minutes, and this function is one of the main advantages of the new smartphone; Because there is a huge scope for innovation in charging technology.
The package of technical equipment for the OnePlus 8T phone includes a quad main camera, and the wide camera works with a resolution of up to 48 megapixels and is visually stabilized. The ultra-wide-angle lens captures image information at a resolution of 16 megapixels, the 5-megapixel macro camera works, there is a monochrome camera for the depth sensor, and the new smartphone does not include a telephoto lens.
User can take ultra-clear photos and record videos with the 8T smartphone in daylight, and some noise appears under low light conditions.
The "bokeh" effect of the OnePlus 8T is always mixed. Portrait shots usually appear professionally, but the edges of the video recordings may appear blurry.
OnePlus 8T phone owners benefit from the advantages of the current Google Android system. Where the Chinese company supplied its new smartphone with Android 11, with its own touches on the operating system through the Oxygen OS user interface, which looks like a stylish modern design.
In terms of technical aspects, the OnePlus 8T phone meets the current technical requirements by supporting the 5G mobile phone technology, Wi-Fi 6 and Bluetooth 5.1.
The new OnePlus 8T phone is available in green and silver at a price of $ 749


The VAT registration and de-registration limits have been increased in line with inflation, with effect from 1 April 2011, to £73,000 and £71,000 respectively.
The Chancellor also announced a change in the low level consignment relief level for VAT, from £18 to £15 from 1 November 2011. This is the threshold below which goods imported from outside the EU are VAT free.
Comment: This measure is mainly to target operators setting up in the Channel Islands to ship relatively low value items (such as DVDs) to the UK VAT free. If you ever wondered why companies such as play.com send everything you order in separate packges – here is your answer – if the value of each package is less than £18 (soon to be £15), they can ship it VAT free, giving them a price advantage over UK based suppliers.


text:
OTHER CONCERTS IN DURHAM
Arrival - The Music of ABBA
Get The Led Out - Tribute Band
Kenny G. Holiday Show
Andy Grammer Event homeBuy tickets Arrival - The Music of ABBARingo Starr And His All Starr BandGet The Led Out - Tribute BandKenny G. Holiday ShowDavid CrosbyGavin DeGrawThe Mavericks
85 South (Jul 20, 2019)
Carolina Theatre - Fletcher Hall Please selectVenue homeLocation and directionsPre-theatre diningOvernight accommodationSeating maps 85 South (Jul 20, 2019)David Crosby (Aug 13, 2019)Gavin DeGraw (Aug 14, 2019)Three Dog Night (Sep 6, 2019)Judy Collins (Sep 19, 2019)Nate Bargatze (Sep 20, 2019)The Mavericks (Sep 22, 2019)Josh Ritter (Sep 26, 2019)The Righteous Brothers (Sep 29, 2019)Eric Andre (Oct 2, 2019)Mavis Staples (Oct 3, 2019)Criminal Podcast (Oct 5, 2019)Bianca Del Rio (Oct 16, 2019)Rumours of Fleetwood Mac (Oct 19, 2019)Jeanne Robertson (Oct 20, 2019)Justin Hayward (Oct 26, 2019)Mary Chapin Carpenter (Nov 14, 2019)Moscow Ballet's Great Russian Nutcracker (Dec 18 - 19, 2019)The Fab Four - The Ultimate Tribute (Feb 6, 2020)Lila Downs (May 5, 2020)
Prices from: $50
Andy Grammer is back
Why See Andy Grammer?
ConcertsContemporary Pop
Andy Grammer Tours
Multi-platinum singer songwriter Andy Grammer is redefining what it means to be a pop star on his own terms. The Honey I'm Good performer was discovered after his busking on the streets of his hometown Los Angeles drew large crowds. After signing with S-Curve Records, his debut album reached the top of the Billboard Chart in 2011.
Fusing soulful R&B melodies with dance-orientated production, Grammer's fist-pumping anthems are the perfect soundtrack to the good times, calling to mind carefree Summers, young love and nights filled with dancing. As such, the heartthrob's live shows are infused with a party atmosphere, influencing the audience to sing along to every line appreciatively. Breaking the backing-track-pop mould, Grammer plays his own instruments alongside a backing band which has been known to include a full horn section.
Performance date: 4 October 2019
And before you stop reading
Photo: Justin Higuchi Used under Creative Commons License
Fri, Oct 4
Sound good to you? Share this page on social media and let your friends know about Andy Grammer at Carolina Theatre - Fletcher Hall.
Please note: The term Carolina Theatre - Fletcher Hall and/or Andy Grammer as well as all associated graphics, logos, and/or other trademarks, tradenames or copyrights are the property of the Carolina Theatre - Fletcher Hall and/or Andy Grammer and are used herein for factual descriptive purposes only. We are in no way associated with or authorized by the Carolina Theatre - Fletcher Hall and/or Andy Grammer and neither that entity nor any of its affiliates have licensed or endorsed us to sell tickets, goods and or services in conjunction with their events.


E2e Exchange, LLC has partnered with NovaLinxs to bring our clients additional value. We have a team of experts in Accounting, Business, and Law to help reduce our client's current expenses. Our knowledge and experience allow us to offer strategic advisory services that focus on reducing operations and capital expenses. Our goal is to decrease our client's expenses, improve broken processes, and strengthen vendor relationships..
CIPA (Children's Internet Protection Act) compliance is required for an entity to become and remain eligible for the E-Rate Program. If an entity is found to be noncompliant, it could be required to return E-Rate funds received during the period of noncompliance to USAC. This could be a significant loss to E-Rate applicants. Because of this, compliance is incredibly important. The FCC guidelines can be difficult to navigate, and our services help you become and remain compliant.
A vast majority of companies are over-paying their suppliers, and by combining expense items into broad categories, it becomes next to impossible to analyze. We utilize forensic accounting methods to identify true cost ownership, and weaknesses in service contracts. We separate each expense item, compare them against our national database, and create a solution to reduce costs with the current provider or a new provider.
CIPA requires all schools and libraries to take measures to ensure internet safety – protection against access or exposure to inappropriate or harmful content, as well as the education of minors about appropriate online behavior. If an audit fails to show proof of CIPA compliance in any of these areas , USAC may request for all E-Rate funding awarded during the period of non-compliance to be returned. Proof of compliance is vital, and requires careful and strategic tracking of CIPA required documents and education.
We create a savings report based on industry standards, industry best practices, and business goals. The report will serve as a foundation for achieving savings and implementing out sustainable cost savings solution.
Upon approval, we work with your team to build a custom RFP and implement the recommended solution. However, 90% of the time we are successful helping our clients stay with their current provider.
Our team will work with you to review your current CIPA-required policies and practices and develop updated structures and processes with CIPA compliance in mind. We'll help you establish the framework necessary to maintain compliance while adapting the requirements to meet your organization's unique utilization and instructional needs.
Our online compliance portal allows educators to gather, manage, and utilize CIPA compliance data. Administrators can easily create compliance reports using customized data sets, and the portal transforms lesson delivery and tracking procedures by allowing teachers to download CIPA-compliant lesson plans and track their delivery and completion details.
CIPA compliance documents must adhere to USAC's 10 year document retention rules. Our document submission and lesson tracking solutions allow you to meet this requirement with little effort, less paperwork, and by providing instant access to customizable compliance reports via our online portal.
Most importantly, we provide nearly 100% satisfaction for our clients.
To learn more about how e2e Exchange's Expense Reduction service can benefit your district please email us at info@e2eexchange.com, call us at 888.522.8096, or click here to fill out and submit a secure contact form.
To learn more about how e2e Exchange's CIPA Compliance service can help your organization protect its E-Rate funding please email us at [EMAIL], call us at [NUMBER], or click here to fill out and submit a secure contact form.


text:
Bzury – wieś w Polsce położona w województwie podlaskim, w powiecie grajewskim, w gminie Szczuczyn.

Prywatna wieś szlachecka położona była w drugiej połowie XVI wieku w powiecie wąsoskim ziemi wiskiej województwa mazowieckiego. W latach 1975–1998 miejscowość administracyjnie należała do województwa łomżyńskiego.

Wierni kościoła rzymskokatolickiego należą do parafii Imienia Najświętszej Maryi Panny w Szczuczynie.

Mord w Bzurach

W sierpniu 1941 w lesie w okolicach wsi Bzury grupa polskich mężczyzn (m.in. Dominik Gaszewski, Kazimierz Danowski i Jan Marczkowski) zamordowała dwadzieścia młodych żydowskich kobiet, w wieku od 15 do 30 lat, pochodzących z getta w Szczuczynie. Były one zatrudnione przy pracach polowych w majątku w Bzurach. Sprawcy przywieźli je do pobliskiego lasu, gdzie je zabili w brutalny sposób. Wcześniej zabrali im odzież i obuwie oraz zgwałcili niektóre z nich. Potem zakopali ciała.

W 2017 w miejscu zbrodni odsłonięto niewielki pomnik.

Przypisy

Linki zewnętrzne

Wsie szlacheckie I Rzeczypospolitej (województwo mazowieckie)
Bzury (województwo podlaskie)

redpajama_set_name: RedPajamaWikipedia


text:
Insights/Communiqués/Social Impact Newsletter/September 2010/Thrift Shop Consignment Arrangements
Thrift Shop Consignment Arrangements
A number of charities in Canada operate "thrift stores", loosely defined as not-for-profit stores selling low-cost clothing or other items with the aim of providing affordable shopping alternatives to those in need. Inventory is often composed of donated previously used items, constituting "in-kind" donations to the charity for which donation tax receipts may be issued. Because the organized sale of such goods may be considered a business for the purposes of the Income Tax Act (the "Act"), and because the Act imposes strict limits on business activities by charities (and significant penalties for charities that do not operate within these limits), charities that operate thrift stores must ensure that they operate within the provisions of the Act.
There are several instances in which a charity will be permitted to sell goods and remain compliant with the Act. Charities may sell goods when such sales are for the purpose of fundraising and do not constitute a business for the purposes of the Act. Charities may also sell goods where the sales constitute a charitable activity. This could include, for example, relief of poverty, or where the operation provides a sales outlet where economically disadvantaged citizens may sell products.
With respect to fundraising events, many such events will not be viewed by CRA as the carrying on of business. CRA states that although many fundraising events such as concerts will constitute business activities (in that they involve the sale of goods and services to generate income), fundraising events that do not recur regularly or frequently will not constitute "carrying on a business" for the purposes of the Act. As the restrictions in the Act generally apply to the carrying on of a business by charities, such irregular fundraising events will not generally cause a charity to be offside these restrictions.
In certain circumstances, charity-operated sales outlets selling goods produced by those in need will also be found to comply with the Act. CRA states that charities working to relieve extreme poverty in developing countries may sell items made by poor artisans in third-world countries without such sales being considered an unrelated business under the Act. Rather, such sales are viewed as "ancillary and incidental" to charitable programs. The sale of items produced by Canadian artisans is generally excluded from this exception. However, certain "social businesses" that employ Canadians with disabilities may also sell goods without being considered an unrelated business of a charity.
Finally, the operation of certain stores, including thrift stores, may be recognized as a charitable activity if certain conditions are met. In order to constitute a charitable activity, CRA takes the position that such stores should:
be located in sections of a community inhabited largely by the poor;
sell donated goods at a low price; and,
operate on a break-even basis.
Despite this guidance from CRA, the status of thrift stores under the Act remains somewhat uncertain. CRA states that stores which are run as "fundraising vehicles" will not be separately registered, but may constitute related businesses. However, CRA states elsewhere that selling donated goods is not a commercial activity "because businesses do not depend on donations to create their inventories." The line between selling/liquidating donated goods and fundraising is not always clear. Furthermore, case law on the issue has sent mixed signals as to what will and will not be considered a business, what will be considered a "related business", and what will be deemed an "unrelated business".
A recent CRA advance income tax ruling discussed a particular corporate structure proposed by a registered charity. The charity sought to create a new corporation ("Newco") that would sell goods donated to the charity on a consignment basis. In other words, the charity would retain ownership of the goods until they were sold, but all aspects of the sales would be handled by Newco. The purpose of the proposed structure would be to allow Newco to efficiently liquidate in-kind donations received by the charity, and return any funds to the charity in order to fund the charity's programs. The charity requested the CRA's opinion on two issues:
Whether Newco would be exempt from income tax as a non-profit organization; and,
Whether the charity would be carrying on a business by virtue of the consignment sale arrangement.
CRA stated that provided certain conditions were met, Newco would be considered a non-profit organization. On the second issue, the CRA stated that the charity would not be carrying on a business solely by virtue of the consignment sales arrangement.
This ruling is important in that it provides additional guidance as to what business arrangements will be acceptable to CRA. For charities, a consignment arrangement like the one described above may provide advantages over simply liquidating donated goods themselves. The charity will have more time to focus on its charitable activities and not be bogged down in the mechanics of efficiently liquidating in-kind donations. It will also not have to concern itself with running afoul of the "related business" restrictions applicable to charities. Such consignment arrangements may be an attractive structural option for charities with significant thrift store operations.


text:
Fighting wealth inequality an uphill battle – The Royal Gazette | Bermuda News, Business, Sports, Events, & Community
79790f1f-773f-44ca-9542-4b9368c5e025
Fighting wealth inequality an uphill battle
Brian Chappatta
Created: Jan 04, 2021 08:00 AM
When Jamie Dimon, the head of America's largest bank, says the US economy is in jeopardy, Federal Reserve policymakers and elected officials ought to take notice.
Brian Chappatta is a Bloomberg Opinion columnist covering debt markets. He previously covered bonds for Bloomberg News. He is also a Chartered Financial Analyst charterholder
This detail was tucked away in a Wall Street Journal profile of JPMorgan Chase's chief executive published near Christmas. The article began with his near-death experience in early March just as the Covid-19 crisis was escalating worldwide, but sprinkled throughout were multiple warnings from Dimon: without addressing the underlying economic inequality in the US, capitalism could soon meet its demise.
Dimon, of course, is hardly the first billionaire to bemoan the historically wide gap in the US between rich and poor. Ray Dalio, founder of Bridgewater Associates, has said the American dream "does not exist" because of forces such as extreme political polarisation and wealth inequality. Marc Benioff, CEO of Salesforce.com, wrote about "horrifying inequality" and the need for a new capitalism in October 2019. His net worth has increased by about $2 billion this year to $9 billion, according to the Bloomberg Billionaires Index.
It's easy to dismiss all this as cheap talk from those who benefited the most from the present system. But there's only so much even the biggest hedge fund or largest US bank can do to address these persistent problems. The power to narrow the yawning gaps in the world's largest economy begins and ends in the halls of Congress. Unfortunately, for more than a decade, lawmakers have ceded much of that responsibility to the Fed, an institution that is particularly ill-equipped to address wealth inequality.
When I ask investors what they have learnt in 2020, the answer is almost always the same: don't ever doubt how far the Fed is willing and able to go during periods of crisis. It added $3 trillion to its balance sheet in what seemed like a flash. It purchased corporate-bond exchange-traded funds, backstopped the municipal-debt market and injected enough confidence and liquidity into the financial system to lift the prices of just about all assets. As a result, US household net worth reached an all-time high in the third quarter.
So perhaps there's another equally important takeaway from 2020: For all the central bank's plaudits, its one kryptonite remains the same, whether in good economic times or bad. It's powerless to stop the wealth gap in America from growing wider.
The reason is straightforward: At its core, the Fed sets the level of interest rates in the economy. If interest rates are low, as they are now, that props up the value of stocks and other risky assets, which are disproportionately owned by high-net-worth households. If interest rates increase, as they did in 2018, then growth is strong and wealthy individuals can park more of their accumulated wealth in ten-year US Treasuries and earn 3 per cent or more for a decade, virtually free of risk. It's a win-win — provided, of course, that you have a sizeable amount of money to begin with.
That last part is the context that many Fed critics seem to miss. During a year like 2020, when stock markets raced to record highs even as many workers lost their jobs and small businesses folded, it's tempting to paint the central bank as a villain; an institution always looking out for Wall Street's traders, dealmakers and hedge funds instead of the little guys. In reality, higher interest rates and tighter monetary policy are hardly a great wealth equaliser.
Instead, those in search of a foe should focus on Congress.
Yes, lawmakers swiftly passed the Coronavirus Aid, Relief and Economic Security Act early in 2020, which provided much needed relief to many of those hit hardest by the pandemic. But over the course of at least the past decade, that sort of legislation has proved to be the exception rather than the norm. More typical was the excruciating back-and-forth over another round of fiscal aid that lasted for months.
The Cares Act showed how fiscal policy can chip away directly at wealth inequality. From March 31 through September 30, the overall wealth of Americans in the bottom half increased by more than 20 per cent, the largest two-quarter jump since late 2013. It was also a bigger boost than any of the other groups tracked by the Fed. Wealth rose 7.9 per cent for those in the 50 per cent to 90 per cent tier, 10.3 per cent in the 90 per cent to 99 per cent range and 15 per cent for the top 1 per cent. The top 10 per cent now have roughly 34 times the wealth of the bottom half, which, while high on an historical basis, is also the lowest ratio since mid-2007, just before the longest recession since the Great Depression.
In that 13-year span, Congress has rarely been so focused on policies that support the most vulnerable Americans. Earlier in President Donald Trump's term, Republicans passed a tax cut that skewed towards helping corporations and the wealthy. In the final years of Barack Obama's presidency, deficits declined as congressional Republicans reined in government spending. Without a fiscal jolt to the economy, the Fed had little choice but to keep interest rates near zero. Stocks climbed steadily even as the economy recovered more slowly, with predictable and inequitable results. Research from the St Louis Fed shows that the inflation-adjusted wealth gap has widened between White households and Black and Hispanic ones since the global financial crisis as well as over the past three decades. White families have a much higher median net worth to begin with and are twice as likely to own equities.
Some on Wall Street are optimistic that the Covid-19 pandemic has changed the thinking in Washington around fiscal stimulus. "We see no political appetite for fiscal austerity, even as debt ratios hit historic highs globally. The politics of inequality will likely keep deficit spending high," according to the 2021 global outlook from the BlackRock Investment Institute. "A post-pandemic recovery requires fiscal stimulus beyond the fiscal life preserver," strategists at Citigroup wrote. "Without fiscal easing, when the pandemic is brought under control for good, the risk remains for rising inequalities and diminished prospects for living standards."
Yet there are ample reasons to be sceptical. For one, even after Trump demanded $2,000 stimulus checks, a vast majority of House Republicans balked and prospects are fading fast in the Senate. Assuming the party wins at least one of the two Senate races in Georgia, that sets the stage for years of potential gridlock under President-elect Joe Biden and his pick for Treasury secretary, Janet Yellen. There's no Fed policy that can avert such a fate.
"Monetary policy cannot change the distribution of wealth, monetary policy cannot get the stimulus to the right places today — it has to be fiscal," Rick Rieder, BlackRock's chief investment officer of global fixed income, told me in an interview. "When it comes to steering the economy, Jay Powell will be the co-pilot and the pilot will be Janet Yellen. Because whether its tax redistribution or creating more employment, it has to come through fiscal. Monetary has done virtually everything it can do."
As one example, Rieder points to the sharp increase in housing prices, which is cheered on by many economic observers, including Powell at his December 16 press conference. Rieder isn't so sure it's a clear victory. Look no farther than data that shows demand for million-dollar homes has grown faster than any other price tier. "The improvement of prices in housing is not necessarily a good story for a lot of people in the country," he said. "There's a whole series of things that can be done around making housing more affordable, but that all has to come through the fiscal side."
Rieder told me a few years ago that he could see himself one day going into public service. He has a passion for education reform and is chairman of the board of North Star Academy, a charter-school network in Newark, New Jersey. I watched him pump up a gym full of middle schoolers by telling them: "Life is not a dress rehearsal! Life is the big event!" So it makes sense that he would see the urgency on fiscal policy as something of a no-brainer.
Channel money to the right places. Improve access to high-quality education and affordable housing. And once the pandemic has passed, perhaps even raise taxes on wealthier Americans after years of financial-market gains. These are all things elected officials can do and the Fed can't.
I wrote at about this time last year that the US seemed to be turning from the Tea Party to Modern Monetary Theory in the past decade. At the time, I certainly didn't envision the type of fiscal support needed in 2020 to keep the economy from crumbling under the weight of the pandemic. The bigger test might just come later in 2021 when there's no longer such an imminent crisis. Will politicians embrace their power to send funds to the unemployed and those in lower income brackets or retreat and let the Fed do the heavy lifting again? Will they expand access to healthcare and bring the nation's infrastructure up to 21st-century standards? Those are some tough questions.
By contrast, the path ahead is fairly simple for the Fed: it will keep interest rates pinned near zero until the economy approaches full employment and inflation averages 2 per cent. That will be the policy regardless of whether wealth inequality grows even more extreme or reverses the long-term trend.
So in some ways 2020 taught us that the Fed is powerful — except in the area that Dimon and others are warning about.
• Brian Chappatta is a Bloomberg Opinion columnist covering debt markets. He previously covered bonds for Bloomberg News. He is also a Chartered Financial Analyst charterholder
Don't call me on Friday - that's my 'me' time
Boris Johnson may survive due to lack of an obvious successor
Overseas Territories are notable for their differences
David Burt's self-fulfilling prophecy of doom
Published January 04, 2021 at 8:00 am (Updated January 03, 2021 at 11:46 am)


text:
Xfinity Series News
Speedway News
eRacing News
NASCAR Cup Series Schedule
Xfinity Series Schedule
NASCAR Truck Series Schedule
NASCAR Truck Series
Scanner Frequencies
NASCAR Cup Series Frequencies
Xfinity Frequencies
NASCAR Truck Series Frequencies
ARCA Series Frequencies
NCWTS - New Hampshire UNOH 175 Review
Shane Burton
Saturday, Sep 23 3089
The first race of the 2017 NASCAR Camping World Truck Series playoffs took the green this afternoon at the New Hampshire Motor Speedway in Louden, NH. Noah Gragson, who missed out on this year's playoffs, sat on the pole. The race was broken up into three stages. Stages one and two would be 55 laps, with stage three covering 65 circuits of the one mile, flat oval.
As the green flew at the start of the UNOH 175, Gragson jumped in front of the field, piloting his No. 18 KBM Toyota Tundra to a ten truck length lead over teammate Christopher Bell. 20 laps in, Bell began to close on the rear bumper of Gragson. The field had trouble finding grip in the corners, running almost a lane and a half off the bottom, but the lower groove appeared to be the lane where drivers could make a pass if they could make their truck stick.
Bell challenged for the lead with 30 laps to go in the stage. He and Gragson ran side-by-side for a couple laps before catching some back markers, forcing Bell to slide back into second. Johnny Sauter, Matt Crafton and Todd Gilliland put on a good fight for Sauter's fifth position at this point of the race, with challenges in almost every corner, but Sauter continued to hold on to the spot. Bell pulled back beside Gragson with 24 to go but again could not complete the pass.
Playoff contender John Hunter Nemecheck came to pit road for an unscheduled pit stop from the 10th position with 23 laps remaining in the stage. Nemecheck was reporting a bad vibration when his team called him in for service. The No. 8 Chevrolet Silverado received two right side tires and fuel and returned to the race.
The No. 18 led every lap but one until 14 to go when Bell dove the No. 4 truck underneath Gragson as he over shot turns three and four, running himself high up the track. Bell took the opportunity to drive the No. 4 KBM Toyota Tundra low and into the lead.
Inside of 10 laps to go in the stage, John Hunter Nemechek drove his truck to the garage area with the earlier tire change unable to stop the vibration issue. His team feared that there may be a rear gear or drivetrain issue. This would put a serious dent in Nemecheck's chase for the championship.
Bell continued to lead to the green and white checkered flag that ended stage one. It was the sixth stage win of the season for the driver of the No. 4 Toyota Tundra. Gragson, fading after losing the lead to Bell, gave up second position to playoff driver Ben Rhodes. The top ten at the end of stage one, in order: Bell, Rhodes, Gragson, Austin Cindric, Sauter, Crafton, Ryan Truex, Gilliland, Grant Enfinger, Stuart Friesen.
Pit stops at the break between stages one and two seemed to go smoothly for the front runners, with most taking four tires and fuel. Three cars took two tires, Gilliland, Crafton and Kaz Grala, getting them out in the first three positions. They were followed by Bell, Gragson, Truex, Rhodes, Sauter, Cindric and Friesen. Gilliland would have to restart at the end of the longest line after receiving a penalty for running over equipment in his pit box during his stop.
Matt Crafton would lead the field to the green flag signaling the beginning of stage two. Kaz Grala would hang to Crafton's inside for the first lap, but Crafton would win the position and Grala lined up behind.
Three laps in, Noah Gragson got loose underneath Grala in turns three and four, with the two making contact. Gragson spun to the inside and Johnny Sauter caught him with the right side of his truck, causing damage to both the No. 21 and No. 18. Gragson became righted and pointed his truck towards pit road. Sauter continued on, discussing possible damage with his crew and deciding not to pit. Gragson made several stops to try and repair left front and splitter damage.
With 42 laps to go in the stage, the field once again took the green. Crafton returned to the front followed by Bell. Grala battled Sauter for fourth, but the No. 21 started to fall back, the damage to his right side apparently causing some issues with handling.
Caution returned with 39 to go for debris on the front stretch, possibly from Sauter's machine. The debris appeared to be the tailpipe assembly from the No. 21. Once again, Sauter and team decided to stay out on the track, holding on to precious track position.
The race returned to green with 35 laps to go in stage two. Christopher Bell jumped in front of Crafton around the outside heading into turn one for the race lead. A three wide battle for third took place just behind the lead, as Ryan Truex, Grant Enfinger and Kaz Grala squeezed into turn one at three abreast. Truex ended up the winner of that battle followed by Enfinger then Grala.
Todd Gilliland began to show tire smoke from his left front after a battle with Chase Briscoe for tenth place. The tire rub seemed to work itself out after a few laps, as smoke stopped coming from the No. 51. Johnny Sauter continued to hold onto sixth position despite his damage situation. John Hunter Nemecheck returned to the race down 36 laps after changing a rear gear.
Christopher Bell remained basically unchallenged the rest of stage two, holding about a twenty truck length lead to the green and white checkered flag to signal the end of the stage. This was the seventh stage win this season for Bell. Johnny Sauter continued to fight to keep position, holding on to finish in the top ten. The two tire strategy of the Crafton, Grala and Gilliland teams seemed to work well. All three ended the stage in the top ten, even with Gilliland's pit road penalty. Top ten finishers in stage two: Bell, Crafton, Truex, Enfinger, Grala, Friesen, Rhodes, Haley, Gilliland, Sauter.
Drivers took the opportunity between stages to bring their trucks to pit road for service. Again, there were three drivers taking only right side tires. They were Ben Rhodes, Austin Cindric and Justin Haley. They lead the race off pit road followed by Ryan Truex, Kaz Grala, Christopher Bell, Matt Crafton, Todd Gilliland, Stuart Friesen and Grant Enfinger, who all took four tires. Johnny Sauter's team spent an extended time in their pit attempting repairs to the No. 21 truck.
Ben Rhodes chose the outside for the start of stage three. As they crossed the start-finish line, the field stacked up behind the front row. No trucks appeared to have damage. Rhodes got out front going into turn one with the next few rows fanning out two and three wide to contest positions. Truex came away with second place with Bell taking over third. Cindric and Haley dropped back into the clutches of the field, both battling to stay in the top five.
With 49 laps to go, Austin Cindric spun coming out of turn four with a little help from behind by the No. 33 of Kaz Grala. These two had previously gotten together on the final lap at Canadian Tire Motorsports Park, with Cindric using contact to take the win away from Grala coming to the checkers. Austin did not appear to make contact with other trucks or the wall as he spun. He pitted for fresh tires. Teammate Chase Briscoe also took the opportunity to come in, looking for adjustments to make his No. 29 more competitive. Grala remained on the track.
The race went back to green with 44 laps remaining. Truex put a slide job on Rhodes out of turn two and grabbed the lead. Bell looked to the inside of Rhodes into turn three and took second position. A couple laps later, Rhodes missed turn three and went extremely high through the corner, loosing several positions.
With 40 to go, Bell began to pressure Truex, but the No. 16 would slam the door closed whenever the No. 4 would peek to the inside. Behind, Stuart Friesen and Grant Enfinger had a side-by-side battle for several laps for fourth, with Enfinger eventually winning the position.
Truex and Bell settled into first and second as the laps began to click off half way through the final stage. Several battles took place inside the top ten, with Sauter and Grala, then Grala and Cindric, racing for position. Todd Gilliland held third with little pressure from behind.
At 25 laps to go, the field had settled into a rhythm. Most trucks in the top ten faced minimum pressure for position. Truex began to use a line where he was placing all four tires down on the apron through the corners. Bell held the line he had used throughout, about a lane and a half off the bottom. They were close enough that a mistake by the No. 16 would allow the No. 4 to pounce for position.
With 16 to go, Bell drove hard into turn three, diving in front of Truex but sliding high coming out of the corner. Truex was not close enough to capitalize on the crossover and Bell had control of the lead. Within a few laps, Bell pulled out to over a .75 second lead.
Christopher Bell took the checkered flag with a lead of 1.248 seconds over Ryan Truex, completing the sweep of all three stages at New Hampshire. Bell and Truex were followed across the line by Todd Gilliland. The win is Bell's fifth of the season and the seventh of his career. This is Bell's first win at New Hampshire. It was Bell's 11th finish inside of the top five in the 17 races run this season.
"It's a dream come true to drive for Kyle Busch Motorsports", said Bell after the race. When asked about battling Ryan Truex for the lead, Bell stated, "He (Truex) was doing a really good job watching his mirror. I knew it was tough to pass all day but our truck had been so good we didn't have to do it until we got to him. I kept trying to work down and he kept blocking my air down and down and down. Finally I got one run where I could go up in one and two and then got a big run into three."
Top ten finishers of the UNOH 175 at New Hampshire Motor Speedway: Bell, Truex, Gilliland, Enfinger , Friesen, Crafton, Rhodes, Cindric, Sauter, Grala. Playoff contenders Chase Briscoe (11th) and John Hunter Nemecheck (20th) finished outside of the top ten.
Playoff point standings after the UNOH 175: Bell (2100), Sauter (2060), Crafton (2059), Rhodes (2050), Cindric (2043), Grala (2038), Briscoe (2035), Nemechek (2031).
The NASCAR Camping World Truck Series playoffs continue at Las Vegas Motor Speedway on Saturday, September 30. (8 p.m. ET, FS1, MRN, SiriusXM NASCAR Radio)
« UNOH 175 Results from New Hampshire Todd Gilliland A "Magic" Day at New Hampshire »
I am a life-long race fan who has some strong opinions and isn't afraid to share them. I am a husband and a father to 4 wonderful children. I am a life-long resident of Indiana. I also enjoy NFL, MLB and College Basketball. I love all kinds of music, but especially hard rock/metal and classic country. Attending any live event is a thrill for me.
Latest from Shane Burton
Ford EcoBoost 200 Recap
Ford Eco-Boost 200 Qualifying Report
Camping World Truck Series - Homestead-Miami Preview
NCWTS - Lucas Oil 150 at Phoenix Raceway
Phoenix Qualifying Report - Lucas Oil 150
Copyright © 2010 - 2023 STS Motorsports Inc. All Rights Reserved.
SD Staff
Writer Login
No right click
Please link the article.


text:
Q: How to mark parts of text to be persistent and replace the rest using regex? I have a text like s = '__[__Click here__](https://some_url_here.com/bla-bla)__'.
I need to convert it to __[Click here](https://some_url_here.com/bla-bla)__
How to do it? (I don't understand how to mark some pieces of text to be untouchable).
For example when I do re.sub(r'(__[)__(\w\W+)__(])', r'', s) I receive lick here(https://some_url_here.com/bla-bla)__

A: You may use
import re
s = '__[__Click here__](https://some_url_here.com/bla-bla)__'
print( re.sub(r'(__\[)__([^][]*?)__(]\([^()]*\)__)', r'\1\2\3', s) )
# => __[Click here](https://some_url_here.com/bla-bla)__

See the Python demo and the regex demo.
Details

*

*(__\[) - Group 1 (\1): __[ text

*__ - a __ string

*([^][]*?) - Group 2 (\2): any 0 or more chars other than [ and ], as few as possible

*__   - a __ string

*(]\([^()]*\)__)  - Group 3 (\3): ](, then any 0 or more chars other than ( and ) and then )__ string.

redpajama_set_name: RedPajamaStackExchange