This week's FOMC decision to birth QT in early October certainly wasn't a surprise. To the Fed's credit, this unprecedented paradigm shift had been well-telegraphed. Back at its mid-June meeting, the FOMC warned "The Committee currently expects to begin implementing a balance sheet normalization program this year". Its usual FOMC statement was accompanied by an addendum explaining how QT would likely unfold.
That mid-June trial balloon didn't tank stock markets, so this week the FOMC decided to implement it with no changes. The FOMC's new statement from Wednesday declared, "In October, the Committee will initiate the balance sheet normalization program described in the June 2017 Addendum to the Committee's Policy Normalization Principles and Plans." And thus the long-feared QT era is now upon us.
The Fed is well aware of how extraordinarily risky quantitative tightening is for QE-inflated stock markets, so it is starting slow. QT is necessary to unwind the vast quantities of bonds purchased since late 2008 via QE. Back in October 2008, the US stock markets experienced their first panic in 101 years. Ironically it was that earlier 1907 panic that led to the Federal Reserve's creation in 1913 to help prevent future panics.
Technically a stock panic is a 20%+ stock-market plunge within two weeks. The flagship S&P 500 stock index plummeted 25.9% in just 10 trading days leading into early October 2008, which was certainly a panic-grade plunge! The extreme fear generated by that rare anomaly led the Fed itself to panic, fearing a new depression driven by the wealth effect. When stocks plummet, people get scared and slash their spending.
That's a big problem for the US economy over 2/3rds driven by consumer spending, and could become self-reinforcing and snowball. The more stocks plunge, the more fearful people become for their own financial futures. They extrapolate the stock carnage continuing indefinitely and pull in their horns. The less they spend, the more corporate profits fall. So corporations lay off people exacerbating the slowdown.
The Fed slashed its benchmark federal-funds interest rate like mad, hammering it to zero in December 2008. That totally exhausted the conventional monetary policy used to boost the economy, rate cuts. So the Fed moved into dangerous new territory of debt monetization. It conjured new money out of thin air to buy bonds, injecting that new cash into the real economy. That was euphemistically called quantitative easing.
The Fed vehemently insisted it wasn't monetizing bonds because QE would only be a temporary crisis measure. That proved one of the biggest central-bank lies ever, which is saying a lot. When the Fed buys bonds, they accumulate on its balance sheet. Over the next 6.7 years, that rocketed a staggering 427% higher from $849b before the stock panic to a $4474b peak in February 2015! That was $3625b of QE.
While the new QE bond buying formally ended in October 2014 when the Fed fully tapered QE3, that $3.6t of monetized bonds remained on the Fed's balance sheet. As of the latest-available data from last week, the Fed's BS was still $4417b. That means 98.4% of all the Fed's entire colossal QE binge from late 2008 to late 2014 remains intact! That vast deluge of new money created remains out in the economy.
Don't let the complacent stock-market reaction this week fool you, quantitative tightening is a huge deal. It's the biggest market game-changer by far since QE's dawn! Starting to reverse QE via QT radically alters market dynamics going forward. Like a freight train just starting to move, it doesn't look scary to traders yet. But once that QT train gets barreling at full speed, it's going to be a havoc-wreaking juggernaut.
QT will start small in the imminent Q4'17, with the Fed allowing $10b per month of maturing bonds to roll off its books. The reason the Fed's QE-bloated balance sheet has remained so large is the Fed is reinvesting proceeds from maturing bonds into new bonds to keep that QE-conjured cash deployed in the real economy. QT will slowly taper that reinvestment, effectively destroying some of the QE-injected money.
These monthly bond rolloffs will start at $6b in Treasuries and $4b in mortgage-backed securities. Then the Fed will raise those monthly caps by these same amounts once a quarter for a year. Thus over the next year, QT's pace will gradually mount to its full-steam speed of $30b and $20b of monthly rolloffs in Treasuries and MBS bonds. The FOMC just unleashed a QT juggernaut that's going to run at $50b per month!
When this idea was initially floated back in mid-June, it was far more aggressive than anyone thought the Yellen Fed would ever risk. $50b per month yields a jaw-dropping quantitative-tightening pace of $600b per year! These complacent stock markets' belief that such massive monetary destruction won't affect them materially is ludicrously foolish. QT will naturally unwind and reverse the market impact of QE.
This hyper-easy Fed is only hiking interest rates and undertaking QT for one critical reason. It knows the next financial-market crisis is inevitable at some point in the future, so it wants to reload rate-cutting and bond-buying ammunition to be ready for it. The higher the Fed can raise its federal-funds rate, and the lower it can shrink its bloated balance sheet, the more easing firepower it will have available in the future.
But QT has never before been attempted and is extremely risky for these QE-levitated stock markets. So the Fed is attempting to thread the needle between preparing for the next market crisis and triggering it. Yellen and top Fed officials have been crystal-clear that they have no intention of fully unwinding all the QE since late 2008. Wall Street expectations are running for a half unwind of the $3.6t, or $1.8t of total QT.
At the full-speed $600b-per-year QT pace coming in late 2018, that would take 3 years to execute. The coming-year ramp-up will make it take longer. So these markets are likely in for fierce QT headwinds for several years or so. At this week's post-FOMC-decision press conference, Janet Yellen took great pains to explain the FOMC has no intentions of altering this QT-pacing plan unless there is some market calamity.
Yellen was also more certain than I've ever heard her on any policy decisions that this terminal $50b-per-month QT won't need to be adjusted. With QT now officially started, the FOMC is fully committed. If it decides to slow QT at some future meeting in response to a stock selloff, it risks sending a big signal of no confidence in the economy and exacerbating that very selloff! Like a freight train, QT is hard to stop.
With stock markets at all-time record highs this week, QT's advent seems like no big deal to euphoric stock traders. They are dreadfully wrong. CNBC's inimitable Rick Santelli had a great analogy of this. Just hearing a hurricane is coming is radically different than actually living through one. QT isn't feared because it isn't here and hasn't affected markets yet. But once it arrives and does, psychology will really change.
Make no mistake, quantitative tightening is extremely bearish for these QE-inflated stock markets. Back in late July I argued this bearish case in depth. QT is every bit as bearish for stocks as QE was bullish! This first chart updated from that earlier essay shows why. This is the scariest and most-damning chart in all the stock markets. It simply superimposes that S&P 500 benchmark stock index over the Fed's balance sheet.
Between March 2009 and this week's Fed Day, the S&P 500 has powered an epic 270.8% higher in 8.5 years! That makes it the third-largest and second-longest stock bull in US history. Why did that happen? The underlying US economy sure hasn't been great, plodding along at 2%ish growth ever since the stock panic. That sluggish economic growth has constrained corporate-earnings growth too, it's been modest at best.
Stocks are exceedingly expensive too, with their highest valuations ever witnessed outside of the extreme bull-market toppings in 1929 and 2000. The elite S&P 500 component companies exited August with an average trailing-twelve-month price-to-earnings ratio of 28.1x! That's literally in formal bubble territory at 28x, which is double the 14x century-and-a-quarter fair value. Cheap stocks didn't drive most of this bull.
And if this bull's gargantuan gains weren't the product of normal bull-market fundamentals, that leaves quantitative easing. A large fraction of that $3.6t of money conjured out of thin air by the Fed to inject into the economy found its way into the US stock markets. Note above how closely this entire stock bull mirrored the growth in the Fed's total balance sheet. The blue and orange lines above are closely intertwined.
Those vast QE money injections levitated stock markets through two simple mechanisms. The massive and wildly-unprecedented Fed bond buying forced interest rates to extreme artificial lows. That bullied traditional bond investors seeking income from yields into far-riskier dividend-paying stocks. Super-low interest rates also served as a rationalization for historically-expensive P/E ratios rampant across the stock markets.
QE's super-low borrowing costs fueled a stock-buyback binge vastly greater than anything seen before in world history. Literally trillions of dollars were borrowed by elite S&P 500 US corporations to repurchase their own shares! This was naked financial manipulation, boosting stock prices through higher demand while reducing shares outstanding. That made corporate earnings look much more favorable on a per-share basis.
Incredibly QE-fueled corporate stock buybacks have proven the only net source of stock-market capital inflows in this entire bull market since March 2009! Elite Wall Street banks have published many studies on this. Without that debt-funded stock-buyback frenzy only possible through QE's record-low borrowing rates, this massive near-record bull wouldn't even exist. Corporations were the only buyers of their stocks.
QE's dominating influence on stock prices is unassailable. The S&P 500 surged in its early bull years until QE1 ended in mid-2010, when it suffered its first major correction. The Fed panicked again, fearing another plunge. So it birthed and soon expanded QE2 in late 2010. Again the stock markets surged on a trajectory perfectly paralleling the Fed's balance-sheet growth. But stocks plunged when QE2 ended in mid-2011.
The S&P 500 fell 19.4% over the next 5.2 months, a major correction that neared bear-market territory. The Fed again feared a cascading negative wealth effect, so it launched Operation Twist in late 2011 to turn stock markets around. That converted short-term Treasuries to long-term Treasuries, forcing long rates even lower. As the stock markets started topping again in late 2012, the Fed went all out with QE3.
This stock bull went from normal between 2009 to 2012 to literally central-bank conjured from 2013 on. The Fed's QE3-expansion promises so enthralled traders that the S&P 500 went an astounding 3.6 years without a correction between late 2011 to mid-2015, one of the longest-such spans ever! With the Fed jawboning negating healthy sentiment-rebalancing corrections, psychology grew ever more greedy and complacent.
QE3 was finally wound down in late 2014, leading to this Fed-conjured stock bull stalling out. Without central-bank money printing behind it, the stock-market levitation between 2013 to 2015 never would have happened! Without more QE to keep inflating stocks, the S&P 500 ground sideways and started topping. Corrections resumed in mid-2015 and early 2016 without the promise of more Fed QE to avert them.
In mid-2016 the stock markets were able to break out to new highs, but only because the UK's surprise pro-Brexit vote fueled hopes of more global central-bank easing. The subsequent extreme Trumphoria rally since the election was an incredible anomaly driven by euphoric hopes for big tax cuts soon from the newly-Republican-controlled government. But Republican infighting is making that look increasingly unlikely.
The critical takeaway of the entire QE era since late 2008 is that stock-market action closely mirrored whatever the Fed was doing. Ex-Trumphoria, all this bull's massive stock-market gains happened when the Fed was actively injecting trillions of dollars of QE. When the Fed paused its balance-sheet growth, the stock markets either corrected hard or stalled out. These stock markets are extraordinarily QE-dependent.
The Fed's balance sheet has never materially shrunk since QE was born out of that 2008 stock panic. Now quantitative tightening will start ramping up in just a couple weeks for the first time ever. If QE is responsible for much of this stock bull, and certainly all of the extreme levitation from 2013 to 2015 due to the open-ended QE3, can QT possibly be benign? No freaking way friends! Unwinding QE is this bull's death knell.
QE was like monetary steroids for stocks, artificially ballooning this bull market to monstrous proportions. Letting bonds run off the Fed's balance sheet instead of reinvesting effectively destroys that QE-spawned money. QE made this bull the grotesque beast it is, so QT is going to hammer a stake right through its heart. This unprecedented QT is even more dangerous given today's bubble valuations and rampant euphoria.
Investors and speculators alike should be terrified of $600b per year of quantitative tightening! The way to play it is to pare down overweight stock positions and build cash to prepare for the long-overdue Fed-delayed bear market. Speculators can also buy puts in the leading SPY SPDR S&P 500 ETF. Investors can go long gold via its own flagship GLD SPDR Gold Shares ETF, which tends to move counter to stock markets.
Gold was hit fairly hard after this week's FOMC decision announcing QT, which makes it look like QT is bearish for gold. Nothing could be farther from the truth. Gold's post-Fed selloff had nothing at all to do with QT! At every other FOMC meeting, the Fed also releases a summary of top Fed officials' outlooks for future federal-funds-rate levels. This so-called dot plot was widely expected to be more dovish than June's.
Yellen herself had given speeches in the quarter since that implied this Fed-rate-hike cycle was closer to its end than beginning. She had said the neutral federal-funds rate was lower than in the past, so gold-futures speculators expected this week's dot plot to be revised lower. It wasn't, coming in unchanged from June's with 3/4ths of FOMC members still expecting another rate hike at the FOMC's mid-December meeting.
This dot-plot hawkish surprise totally unrelated to QT led to big US-dollar buying. Futures-implied rate-hike odds in December surged from 58% the day before to 73% in the wake of the FOMC's decision. So gold-futures speculators aggressively dumped contracts, forcing gold lower. That reaction is irrational, as gold has surged dramatically on average in past Fed-rate-hike cycles! QT didn't play into this week's gold selloff.
This last chart superimposes gold over that same Fed balance sheet of the QE era. Gold skyrocketed during QE1 and QE2, which makes sense since debt monetizations are pure inflation. But once the open-ended QE3 started miraculously levitating stock markets in early 2013, investors abandoned gold to chase those Fed-conjured stock-market gains. That blasted gold into a massive record-setting bear market.
In a normal world, quantitative easing would always be bullish for gold as more money is injected into the economy. Gold's monetary value largely derives from the fact its supply grows slowly, under 1% a year. That's far slower than money supplies grow normally, let alone during QE inflation. Gold's price rallies as relatively more money is available to compete for relatively less physical gold. QE3 broke that historical relationship.
With the Fed hellbent on ensuring the US stock markets did nothing but rally indefinitely, investors felt no need for prudently diversifying their portfolios with alternative investments. Gold is the anti-stock trade, it tends to move counter to stock markets. So why bother with gold when QE3 was magically levitating the stock markets from 2013 to 2015? That QE3-stock-levitation-driven gold bear finally bottomed in late 2015.
Today's gold bull was born the very next day after the Fed's first rate hike in 9.5 years in mid-December 2015. If Fed rate hikes are as bearish for gold as futures speculators assume, why has gold's 23.7% bull as of this week exceeded the S&P 500's 22.8% gain over that same span? Not even the Trumphoria rally has enabled stock markets to catch up with gold's young bull! Fed rate hikes are actually bullish for gold.
The reason is hiking cycles weigh on stock markets, which gets investors interested in owning counter-moving gold to re-diversity their portfolios. That's also why this new QT era is actually super-bullish for gold despite the coming monetary destruction. As QT gradually crushes these fake QE-inflated stock markets in coming years, gold investment demand is going to soar again. We'll see a reversal of 2013's action.
That year alone gold plunged a colossal 27.9% on the extreme 29.6% S&P 500 rally driven by $1107b of fresh quantitative easing from the massive new QE3 campaign! That 2013 gold catastrophe courtesy of the Fed bred the bearish psychology that's plagued this leading alternative asset ever since. At QT's $600b planned annual pace, it will take almost a couple years to unwind that epic $1.1t QE seen in 2013 alone.
Interestingly the Wall-Street-expected $1.8t of total QT coming would take the Fed's balance sheet back down to $2.6t. That's back to mid-2011 levels, below the $2.8t in late 2012 when QE3 was announced. Gold averaged $1573 per ounce in 2011, and it ought to head much higher if QT indeed spawns the next stock bear. That's the core bullish-gold thesis of QT, that falling stock prices far outweigh monetary destruction.
Stock bears are normal and necessary to bleed off excessive valuations, but they are devastating to the unprepared. The last two ending in October 2002 and March 2009 ultimately hammered the S&P 500 49.1% and 56.8% lower over 2.6 and 1.4 years! If these lofty QE-levitated stock markets suffer another typical 50% bear during QT, huge gold investment demand will almost certainly catapult it to new record highs.
These QE-inflated stock markets are doomed under QT, there's no doubt. The Fed giveth and the Fed taketh away. Stock bears gradually unfold over a couple years or so, slowly boiling the bullish frogs. So without a panic-type plunge, the tightening Fed is going to be hard-pressed to throttle back QT without igniting a crisis of confidence. As QT slowly strangles this monstrous stock bull, gold will really return to vogue.
Published weekly and monthly, they explain what's going on in the markets, why, and how to trade them with specific stocks. They are a great way to stay abreast, easy to read and affordable. Walking the contrarian walk is very profitable. As of the end of Q2, we've recommended and realized 951 newsletter stock trades since 2001. Their average annualized realized gain including all losers is +21.2%! That's hard to beat over such a long span. Subscribe today and get invested before QT's market impacts are felt!
The bottom line is the coming quantitative tightening is incredibly bearish for these stock markets that have been artificially levitated by quantitative easing. QT has never before been attempted, let alone in artificial QE-inflated stock markets trading at bubble valuations and drenched in euphoria. All the stock-bullish tailwinds from years of QE will reverse into fierce headwinds under QT. It truly changes everything.
The main beneficiary of stock-market weakness is gold, as the leading alternative investment that tends to move counter to stock markets. The coming QT-driven overdue stock bear will fuel a big renaissance in gold investment to diversify stock-heavy portfolios. And the Fed can't risk slowing or stopping QT now that it's officially triggered. The resulting crisis of confidence would likely exacerbate a major stock-market selloff.


SMPTE® has extended the SMPTE ST 2110 Professional Media Over Managed IP Networks standards suite with the publication of SMPTE ST 2110-40. This new document maps ancillary data packets (as defined in SMPTE ST 291-1) into Real-Time Transport Protocol (RTP) packets that are transported via User Data Protocol/Internet Protocol (UDP/IP) and enables those packets to be moved synchronously with associated video and audio essence streams.
The SMPTE ST 2110 standards suite specifies the carriage, synchronization, and description of separate elementary essence streams over professional IP networks in real time for live production, playout, and other professional media applications. SMPTE ST 2110 separately routes the individual essence streams (audio, video, and ancillary data), which simplifies, for example, the addition of captions, subtitles, and Teletext, as well as tasks such as the processing of multiple audio languages and types. It also enables the efficient carriage of next-generation image formats with new features, such as HDR over IP, that may require metadata.
SMPTE is offering a Virtual Classroom course on ST 2110, and the newly published ST 2110-40 standard will be a focus of the course. The course assumes a basic understanding of IP and associated terminology. The SMPTE Virtual Courses "Introduction to Networks," "Routing and Switching Essentials," and "Essentials of IP Media Transport for Broadcasters: Moving Real-Time Video and Audio over Packet Networks" are not required to register for "Understanding SMPTE ST 2110." However, these courses enable a deeper understanding of IP, internetworking, and many essential concepts that are referenced in the ST 2110 suite of standards and are recommended to be completed before enrolling in "Understanding ST 2110." SMPTE Virtual Classroom course descriptions and registration are available at www.smpte.org/courses.
More information about SMPTE ST 2110 standards is available at www.smpte.org/st-2110. Further information about SMPTE and its standards work is available at smpte.org.


Fixed a crash bug that occurred when the player scrolled their mouse wheel down fast enough with a small amount of items in the selected slot.
Please ignore the message about the missing LiteModMouseTweaks class and LiteLoader incompatibility. Everything works fine, I'll clean this up in the next release.


Yum! Brands Inc China, which operates KFC and Pizza Hut in China, on Tuesday published a white paper on its food safety policy, outlining its domestic suppliers' status and their efforts in safeguarding food security.
Sam Su, Yum! Brands Inc Global vice president said the company had full confidence in its Chinese suppliers. The paper said after years of continuous hard work, "the overall quality of Chinese food has improved steadily, together with the food safety status".
In 2005, Yum! Brands Kentucky Fried Chicken (KFC) stores were caught using Sudan 1 coloring, a carcinogen. In 2007, Chinese officials discovered that KFC was adding Magnesium Trisilicate into its frying oil, which Chinese scientists claimed had harmful side effects.
Yum! Brands Inc, the world's largest fast food chain operator, realized a 30 percent profit increase in the Chinese market last year.
The operator of KFC, Taco Bell and Pizza Hut stores in China registered 21.5 billion yuan (about 3 billion U.S. dollars) in turnover, according to its China Division.
The corporation even earned the "stock of the week" honors from Motley Fool last week, primarily for expanding in China.


What is your current NDIS status?
Which age bracket are you in?
Do you require 1:1 support for more than 5 hours per day and also need 24/7 back-up on call support?
Do you have a goal to live more independently in an apartment including using assistive technology and a shared model of support?
What approvals do you have in your plan?
Please provide your first name, last name and a valid email address.


text:
package com.gs.fw.common.mithra.finder;

import com.gs.fw.common.mithra.MithraManagerProvider;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.gs.collections.impl.list.mutable.FastList;
import com.gs.fw.common.mithra.MithraObjectPortal;
import com.gs.fw.common.mithra.attribute.AsOfAttribute;
import com.gs.fw.common.mithra.attribute.Attribute;
import com.gs.fw.common.mithra.attribute.TimestampAttribute;
import com.gs.fw.common.mithra.notification.MithraDatabaseIdentifierExtractor;
import com.gs.fw.common.mithra.util.*;

public class AndOperation implements Operation
{
    private final InternalList operands;
    private transient volatile boolean combined = false;
    private static final OperationEfficiencyComparator EFFICIENCY_COMPARATOR = new OperationEfficiencyComparator();

    public AndOperation(com.gs.fw.finder.Operation left, com.gs.fw.finder.Operation right)
    {
        this.operands = new InternalList(3);
        this.addOperand(left);
        this.addOperand(right);
    }

    private AndOperation(InternalList operands)
    {
        this.operands = operands;
    }

    private void addOperand(com.gs.fw.finder.Operation operand)
    {
        if (operand instanceof AndOperation)
        {
            operands.addAll(((AndOperation) operand).getOperands());
        }
        else
        {
            operands.add(operand);
        }
        combined = false;
    }

    private int addOperandAndRemoveCurrent(com.gs.fw.finder.Operation operand, int index)
    {
        if (operand instanceof AndOperation)
        {
            operands.remove(index);
            InternalList otherOperands = ((AndOperation) operand).getOperands();
            operands.addAll(index, otherOperands);
            return otherOperands.size();
        }
        else
        {
            operands.set(index, operand); // implicit remove
            return 1;
        }
    }

    public boolean usesUniqueIndex()
    {
        this.combineOperands();
        boolean result = false;
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            if (op.usesUniqueIndex())
            {
                result = true;
            }
            if (op instanceof MappedOperation && !op.usesUniqueIndex())
            {
                result = false;
                break;
            }
        }
        return result;
    }

    public boolean usesImmutableUniqueIndex()
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            if (op.usesImmutableUniqueIndex()) return true;
        }
        return false;
    }

    public boolean usesNonUniqueIndex()
    {
        this.combineOperands();
        boolean result = false;
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            if (op.usesNonUniqueIndex() || op.usesUniqueIndex())
            {
                result = true;
            }
            if (op instanceof MappedOperation && !(op.usesUniqueIndex() || op.usesNonUniqueIndex()))
            {
                result = false;
                break;
            }
        }
        return result;
    }

    public int zEstimateReturnSize()
    {
        this.combineOperands();
        return (int) (((Operation) this.operands.get(0)).zEstimateReturnSize() * Math.pow(0.9, this.operands.size() - 1));
    }

    @Override
    public int zEstimateMaxReturnSize()
    {
        this.combineOperands();
        return ((Operation) this.operands.get(0)).zEstimateMaxReturnSize();
    }

    @Override
    public boolean zIsEstimatable()
    {
        this.combineOperands();
        return ((Operation) this.operands.get(0)).zIsEstimatable();
    }

    public void zRegisterEqualitiesAndAtomicOperations(TransitivePropagator transitivePropagator)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            op.zRegisterEqualitiesAndAtomicOperations(transitivePropagator);
        }
    }

    public boolean zHazTriangleJoins()
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            if (op.zHazTriangleJoins()) return true;
        }
        return false;
    }

    public void zToString(ToStringContext toStringContext)
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            toStringContext.beginAnd();
            op.zToString(toStringContext);
            toStringContext.endAnd();
        }
    }

    public EqualityOperation zExtractEqualityOperations()
    {
        combineOperands();
        for (int i = 0; i < this.operands.size(); i++)
        {
            Operation operation = ((Operation) operands.get(i));
            EqualityOperation result = operation.zExtractEqualityOperations();
            if (result != null)
            {
                return result;
            }
        }
        return null;
    }

    public List applyOperationToFullCache()
    {
        combineOperands();
        int otherAppliedOperation = -2;
        int appliedOperation = -1;
        List result = null;
        for (int i = 0; i < this.operands.size(); i++)
        {
            Operation operation = ((Operation) operands.get(i));
            if (operation instanceof MappedOperation)
            {
                for(int j=0;j<this.operands.size();j++)
                {
                    if (operands.get(j) instanceof EqualityOperation) // there can be only one of these, because they should collapse into a MultiEquality
                    {
                        result = ((MappedOperation)operation).applyOperationToFullCache((EqualityOperation) operands.get(j));
                        if (result != null)
                        {
                            otherAppliedOperation = j;
                        }
                        break;
                    }
                }
                if (otherAppliedOperation == -2)
                {
                    result = operation.applyOperationToFullCache();
                }
            }
            else
            {
                result = operation.applyOperationToFullCache();
            }
            if (result != null)
            {
                appliedOperation = i;
                break;
            }
        }
        if (result != null)
        {
            result = applyOperationExcept(appliedOperation, otherAppliedOperation, result);
        }
        else if (!MithraManagerProvider.getMithraManager().isInTransaction())
        {
            throw new RuntimeException("could not resolve against full cache");
        }
        return result;
    }

    private List applyOperationExcept(int appliedOperation, int otherAppliedOperation, List result)
    {
        if (MithraCpuBoundThreadPool.isParallelizable(result.size()))
        {
            result = applyToLargeResultsInParallel(appliedOperation, otherAppliedOperation, result);
        }
        else if (result.size() > 100 && operands.size() > 2)
        {
            result = applyToLargeResults(appliedOperation, otherAppliedOperation, result);
        }
        else
        {
            for (int i = 0; i < operands.size() && result != null && result.size() > 0; i++)
            {
                if (i != appliedOperation && i != otherAppliedOperation) result = ((Operation) operands.get(i)).applyOperation(result);
            }
        }
        return result;
    }

    public static List applyAtomicOperationsInParallel(List result, final Operation[] atomic)
    {
        MithraCpuBoundThreadPool pool = MithraCpuBoundThreadPool.getInstance();
        List<List> lists = pool.split(result);
        int chunks = lists.size();
        CpuBoundTask[] tasks = new CpuBoundTask[chunks];
        final List[] localResults = new List[chunks];
        for (int i = 0; i < chunks; i++)
        {
            final List sublist = lists.get(i);
            final int chunk = i;
            tasks[i] = new CpuBoundTask()
            {
                @Override
                public void execute()
                {
                    localResults[chunk] = applyAtomic(sublist, atomic);
                }
            };
        }
        new FixedCountTaskFactory(tasks).startAndWorkUntilFinished();
        result = new MithraCompositeList(localResults.length);
        for (List localResult : localResults)
        {
            if (localResult == null)
            {
                return null;
            }
            result.addAll(localResult);
        }
        return result;
    }

    private List applyToLargeResultsInParallel(int appliedOperation, int otherAppliedOperation, List result)
    {
        final InternalList complexList = new InternalList(operands.size());
        final InternalList parallelComplexList = new InternalList(operands.size());
        final InternalList atomicList = new InternalList(operands.size());
        separateComplexAndAtomic(appliedOperation, otherAppliedOperation, complexList, atomicList, parallelComplexList);
        final Operation[] atomic = new Operation[atomicList.size()];
        atomicList.toArray(atomic);
        final Operation[] complex = new Operation[complexList.size()];
        complexList.toArray(complex);
        MithraCpuBoundThreadPool pool = MithraCpuBoundThreadPool.getInstance();
        List<List> lists = pool.split(result);
        int chunks = lists.size();
        CpuBoundTask[] tasks = new CpuBoundTask[chunks];
        final List[] localResults = new List[chunks];
        for (int i = 0; i < chunks; i++)
        {
            final List sublist = lists.get(i);
            final int chunk = i;
            tasks[i] = new CpuBoundTask()
            {
                @Override
                public void execute()
                {
                    localResults[chunk] = applyAtomicAndComplex(sublist, atomic, complexList);
                }
            };
        }
        new FixedCountTaskFactory(tasks).startAndWorkUntilFinished();
        List finalResult = new MithraCompositeList(localResults.length);
        for (List localResult : localResults)
        {
            if (localResult == null)
            {
                return null;
            }
            finalResult.addAll(localResult);
        }
        if (parallelComplexList.size() > 0)
        {
            for (int i = 0; i < parallelComplexList.size() && finalResult != null && finalResult.size() > 0; i++)
            {
                finalResult = ((Operation)parallelComplexList.get(i)).applyOperation(finalResult);
            }
        }
        return finalResult;
    }

    private static List applyAtomicNotInPlace(List result, Operation[] atomic)
    {
        MithraFastList newResults = new MithraFastList(result.size());
        for (int i = 0; i < result.size(); i++)
        {
            Object o = result.get(i);
            Boolean matched = Boolean.TRUE;
            for (int j = 0; j < atomic.length && matched; j++)
            {
                Operation op = atomic[j];
                matched = op.matches(o);
                if (matched == null) return null;
            }
            if (matched)
            {
                newResults.add(o);
            }
        }
        return newResults;
    }

    private static List applyAtomicInPlace(FastList result, Operation[] atomic)
    {
        int currentFilledIndex = 0;
        for (int i = 0; i < result.size(); i++)
        {
            Object o = result.get(i);
            Boolean matched = Boolean.TRUE;
            for (int j = 0; j < atomic.length && matched; j++)
            {
                Operation op = atomic[j];
                matched = op.matches(o);
                if (matched == null) return null;
            }
            if (matched)
            {
                // keep it
                if (currentFilledIndex != i)
                {
                    result.set(currentFilledIndex, o);
                }
                currentFilledIndex++;
            }
        }
        resetTheEnd(result, currentFilledIndex);
        return result;
    }

    private static void resetTheEnd(List list, final int newCurrentFilledIndex)
    {
        int initialSize = list.size();
        for (int i = newCurrentFilledIndex; i < initialSize; i++)
        {
            list.remove(list.size() - 1);
        }
    }

    private List applyAtomicAndComplex(List sublist, Operation[] atomic, InternalList complexList)
    {
        List result = applyAtomic(sublist, atomic);
        for (int i = 0; i < complexList.size() && result != null && result.size() > 0; i++)
        {
            result = ((Operation)complexList.get(i)).applyOperation(result);
        }
        return result;
    }

    private static List applyAtomic(List result, Operation[] atomic)
    {
        if (atomic.length > 0)
        {
            if (result instanceof FastList)
            {
                result = applyAtomicInPlace((FastList) result, atomic);
            }
            else result = applyAtomicNotInPlace(result, atomic);
        }
        return result;
    }

    private List applyToLargeResults(int appliedOperation, int otherAppliedOperation, List result)
    {
        InternalList complex = new InternalList(operands.size() - 1);
        InternalList atomic = new InternalList(operands.size() - 1);
        separateComplexAndAtomic(appliedOperation, otherAppliedOperation, complex, atomic, complex);
        if (atomic.size() > 1)
        {
            int size = result.size();
            MithraFastList newResults = new MithraFastList(size);
            for (int i = 0; i < size; i++)
            {
                Object o = result.get(i);
                Boolean matched = Boolean.TRUE;
                for (int j = 0; j < atomic.size() && matched; j++)
                {
                    Operation op = (Operation) atomic.get(j);
                    matched = op.matches(o);
                    if (matched == null) return null;
                }
                if (matched)
                {
                    newResults.add(o);
                }
            }
            result = newResults;
        }
        else if (atomic.size() == 1)
        {
            result = ((Operation) atomic.get(0)).applyOperation(result);
        }
        for (int i = 0; i < complex.size() && result != null && result.size() > 0; i++)
        {
            result = ((Operation) complex.get(i)).applyOperation(result);
        }
        return result;
    }

    private void separateComplexAndAtomic(int appliedOperation, int otherAppliedOperation, InternalList complex, InternalList atomic, InternalList parallelComplexList)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            if (i != appliedOperation && i != otherAppliedOperation)
            {
                Operation o = (Operation) operands.get(i);
                if (o.zPrefersBulkMatching())
                {
                    if (o.zHasParallelApply())
                    {
                        parallelComplexList.add(o);
                    }
                    else
                    {
                        complex.add(o);
                    }
                }
                else
                {
                    atomic.add(o);
                }
            }
        }
    }

    public List applyOperationToPartialCache()
    {
        this.combineOperands();
        int appliedOperation = -1;
        List result = null;
        for (int i = 0; i < this.operands.size(); i++)
        {
            Operation operation = ((Operation) operands.get(i));
            result = operation.getResultObjectPortal().zFindInMemoryWithoutAnalysis(operation, true);
            if (result != null)
            {
                appliedOperation = i;
                break;
            }
        }
        if (result != null)
        {
            for (int i = 0; i < operands.size() && result != null && result.size() > 0; i++)
            {
                if (i != appliedOperation) result = ((Operation) operands.get(i)).applyOperation(result);
            }
        }
        return result;
    }

    protected void combineOperands()
    {
        if (!this.combined)
        {
            // todo: rezaem: check for operator compatibility
            synchronized (this)
            {
                int oldSize;
                do
                {
                    oldSize = operands.size();
                    for (int i = 0; i < operands.size(); i++)
                    {
                        Operation op = (Operation) operands.get(i);
                        for (int j = i + 1; j < operands.size(); )
                        {
                            Operation otherOp = (Operation) operands.get(j);
                            Operation combinedOp = op.zCombinedAnd(otherOp);
                            if (combinedOp != null)
                            {
                                operands.removeByReplacingFromEnd(j);
                                if (op != combinedOp)
                                {
                                    j += this.addOperandAndRemoveCurrent(combinedOp, i) - 1;
                                    op = (Operation) operands.get(i);
                                }
                            }
                            else j++;
                        }
                    }
                } while (oldSize > operands.size());

                InternalList mappedOps = new InternalList(this.operands.size());
                InternalList equalityOps = new InternalList(this.operands.size());
                for (int i = 0; i < operands.size(); )
                {
                    Operation op = (Operation) operands.get(i);
                    if (op instanceof MappedOperation)
                    {
                        mappedOps.add(op);
                        operands.removeByReplacingFromEnd(i);
                    }
                    else
                    {
                        i++;
                        if (op instanceof AtomicEqualityOperation || op instanceof MultiEqualityOperation)
                        {
                            equalityOps.add(op);
                        }
                    }
                }
                optimizeMappedOperations(mappedOps, equalityOps);
                this.operands.addAll(mappedOps);
                operands.sort(EFFICIENCY_COMPARATOR);
            }
            this.combined = true;
        }
    }

    private void optimizeMappedOperations(InternalList mappedOps, InternalList equalityOps)
    {

        for (int i = 0; i < mappedOps.size(); i++)
        {
            MappedOperation mappedOperation = (MappedOperation) mappedOps.get(i);
            for (int j = 0; j < equalityOps.size(); j++)
            {
                Operation op = (Operation) equalityOps.get(j);
                MappedOperation substituted = mappedOperation.equalitySubstitute(op);
                if (substituted != null)
                {
                    mappedOperation = substituted;
                    mappedOps.set(i, mappedOperation);
                }
            }
        }
    }

    public List applyOperation(List list)
    {
        combineOperands();
        return applyOperationExcept(-1, -2, list);
    }

    private InternalList getOperands()
    {
        return operands;
    }

    public Operation or(com.gs.fw.finder.Operation op)
    {
        return OrOperation.or(this, op);
    }

    public Operation and(com.gs.fw.finder.Operation op)
    {
        if (op == NoOperation.instance())
        {
            return this;
        }
        if (op instanceof AndOperation)
        {
            AndOperation other = (AndOperation) op;
            InternalList newOperands = new InternalList(this.operands.size() + other.operands.size());
            AndOperation result = new AndOperation(newOperands);
            newOperands.addAll(this.operands);
            for (int i = 0; i < other.operands.size(); i++)
            {
                if (!this.operands.contains(other.operands.get(i)))
                {
                    result.addOperand((Operation) other.operands.get(i));
                }
            }
            return result;
        }
        if (this.operands.contains(op)) return this; // no need to add again.
        InternalList newOperands = new InternalList(this.operands.size() + 1);
        newOperands.addAll(this.operands);
        AndOperation result = new AndOperation(newOperands);
        result.addOperand(op);
        return result;
    }

    public MithraObjectPortal getResultObjectPortal()
    {
        return ((Operation) operands.get(0)).getResultObjectPortal();
    }

    public String zGetResultClassName()
    {
        return ((Operation) operands.get(0)).zGetResultClassName();
    }

    public boolean zIsNone()
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            if (op.zIsNone()) return true;
        }
        return false;
    }

    public void zAddAllLeftAttributes(Set<Attribute> result)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            ((Operation) operands.get(i)).zAddAllLeftAttributes(result);
        }
    }

    public Operation zSubstituteForTempJoin(Map<Attribute, Attribute> attributeMap, Object prototypeObject)
    {
        InternalList newOps = new InternalList(this.operands.size());
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            Operation op2 = op.zSubstituteForTempJoin(attributeMap, prototypeObject);
            if (op2 != null) newOps.add(op2);
        }
        if (newOps.size() == 0) return null;
        if (newOps.size() == 1) return (Operation) newOps.get(0);
        return new AndOperation(newOps);
    }

    public Operation zGetAsOfOp(AsOfAttribute asOfAttribute)
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            Operation result = op.zGetAsOfOp(asOfAttribute);
            if (result != null) return result;
        }
        return null;
    }

    public void generateSql(SqlQuery query)
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            boolean addedAnd = query.beginAnd();
            op.generateSql(query);
            query.endAnd(addedAnd);
        }
    }

    public int getClauseCount(SqlQuery query)
    {
        this.combineOperands();
        int count = 0;
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            count += op.getClauseCount(query);
        }
        return count;
    }

    public void registerAsOfAttributesAndOperations(AsOfEqualityChecker checker)
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            op.registerAsOfAttributesAndOperations(checker);
        }
    }

    public Operation insertAsOfEqOperation(AtomicOperation[] asOfEqOperations, MapperStackImpl insertPosition, AsOfEqualityChecker stack)
    {
        if (insertPosition.equals(stack.getCurrentMapperList()))
        {
            return this.zInsertAsOfEqOperationOnLeft(asOfEqOperations);
        }
        Operation result = null;
        for (int i = 0; i < operands.size(); i++)
        {
            Operation operation = (Operation) operands.get(i);
            Operation insertedOperation = operation.insertAsOfEqOperation(asOfEqOperations, insertPosition, stack);
            if (insertedOperation != null)
            {
                result = insertedOperation;
                for (int j = 0; j < operands.size(); j++)
                {
                    if (j != i)
                    {
                        Operation operation1 = (Operation) operands.get(j);
                        result = result.and(operation1);
                    }
                }
                return result;
            }
        }
        return result;
    }

    public Operation zInsertTransitiveOps(MapperStack insertPosition, InternalList toInsert, TransitivePropagator transitivePropagator)
    {
        Operation op = transitivePropagator.constructAnd(insertPosition, this, toInsert);
        if (op != this)
        {
            return op;
        }
        boolean returnNew = false;
        InternalList newOperations = new InternalList(this.operands.size());
        for (int i = 0; i < this.operands.size(); i++)
        {
            op = (Operation) operands.get(i);
            Operation inserted = op.zInsertTransitiveOps(insertPosition, toInsert, transitivePropagator);
            newOperations.add(inserted);
            if (inserted != op) returnNew = true;
        }
        return returnNew ? new AndOperation(newOperations) : this;
    }

    public Operation zInsertAsOfEqOperationOnLeft(AtomicOperation[] asOfEqOperations)
    {
        boolean haveMultiEq = false;
        InternalList newOperations = new InternalList(this.operands.size() + 1);
        for (int i = 0; i < this.operands.size(); i++)
        {
            Operation op = (Operation) operands.get(i);
            Operation inserted = op.zInsertAsOfEqOperationOnLeft(asOfEqOperations);
            if (inserted instanceof MultiEqualityOperation)
            {
                haveMultiEq = true;
            }
            newOperations.add(inserted);
        }
        if (!haveMultiEq)
        {
            newOperations.add(MultiEqualityOperation.createEqOperation(asOfEqOperations));
        }
        return new AndOperation(newOperations);
    }

    public void registerOperation(MithraDatabaseIdentifierExtractor extractor, boolean registerEquality)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            op.registerOperation(extractor, registerEquality);
        }
    }

    public boolean zHasAsOfOperation()
    {
        this.combineOperands();
        for (int i = 0; i < operands.size(); i++)
        {
            if (((Operation) operands.get(i)).zHasAsOfOperation())
            {
                return true;
            }
        }
        return false;
    }

    public Operation zFlipToOneMapper(Mapper mapper)
    {
        this.combineOperands();
        int flipIndex = 0;
        Operation flipped = null;
        for (; flipIndex < operands.size(); flipIndex++)
        {
            Operation op = ((Operation) operands.get(flipIndex));
            flipped = op.zFlipToOneMapper(mapper);
            if (flipped != null) break;
        }
        if (flipped != null)
        {
            InternalList leftOver = new InternalList(this.operands.size());
            for (int i = 0; i < operands.size(); i++)
            {
                if (i != flipIndex)
                {
                    leftOver.add(operands.get(i));
                }
            }
            Operation rest = new AndOperation(leftOver);
            return flipped.and(new MappedOperation(mapper, rest));
        }
        return null;
    }

    public Operation zFindEquality(TimestampAttribute attr)
    {
        Operation result = null;
        for (int i = 0; i < operands.size() && result == null; i++)
        {
            Operation op = ((Operation) operands.get(i));
            result = op.zFindEquality(attr);
        }
        return result;
    }

    /**
     * the xor operation is used to ensure the order of operands does not impact the hashcode
     */
    public int hashCode()
    {
        this.combineOperands();
        return operands.hashCode();
    }

    public boolean equals(Object obj)
    {
        if (this == obj) return true;
        if (obj instanceof AndOperation)
        {
            AndOperation other = (AndOperation) obj;
            this.combineOperands();
            other.combineOperands();
            return this.operands.equals(other.operands);
        }
        return false;
    }

    public void addDependentPortalsToSet(Set set)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            op.addDependentPortalsToSet(set);
        }
    }

    public void addDepenedentAttributesToSet(Set set)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            op.addDepenedentAttributesToSet(set);
        }
    }

    public boolean isJoinedWith(MithraObjectPortal portal)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            if (op.isJoinedWith(portal)) return true;
        }
        return false;
    }

    /*
    returns the combined and operation. Many operations must be combined to correctly resolve a query.
    Many operations are more efficient when combined.
    This method is internal to Mithra's operation processing.
    */
    public Operation zCombinedAnd(Operation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithAtomicEquality(AtomicEqualityOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithMapped(MappedOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithMultiEquality(MultiEqualityOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithAtomicGreaterThan(GreaterThanOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithAtomicGreaterThanEquals(GreaterThanEqualsOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithAtomicLessThan(LessThanOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithAtomicLessThanEquals(LessThanEqualsOperation op)
    {
        return this.and(op);
    }

    public Operation zCombinedAndWithIn(InOperation op)
    {
        return this.and(op);
    }

    public Boolean matches(Object o)
    {
        for (int i = 0; i < operands.size(); i++)
        {
            Operation op = ((Operation) operands.get(i));
            Boolean matched = op.matches(o);
            if (matched == null) return null;
            if (!matched) return false;
        }
        return true;
    }

    public boolean zPrefersBulkMatching()
    {
        this.combineOperands();
        for (int i = 0; i < this.operands.size(); i++)
        {
            if (((Operation)this.operands.get(i)).zPrefersBulkMatching()) return true;
        }
        return false;
    }

    @Override
    public String toString()
    {
        return ToStringContext.createAndToString(this);
    }

    public boolean zContainsMappedOperation()
    {
        for (int i = 0; i < this.operands.size(); i++)
        {
            if (((Operation) this.operands.get(i)).zContainsMappedOperation())
            {
                return true;
            }
        }
        return false;
    }

    @Override
    public boolean zHasParallelApply()
    {
        return true;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Long IslandNassau
India Fest celebrates the distinct culture, food and language found in some of India's many states
Sisters Eesha Butni, 14, left, and Radha Prajapati, 11, dancers with Rhythm Dance Academy, practice in the parking lot before performing at India Fest on Saturday at Nassau County Community College in Garden City. Credit: Debbie Egan-Chin
By Brinley Hinemanbrinley.hineman@newsday.com Updated August 27, 2022
The grounds of Nassau Community College became a colorful scene in celebration of India's cultures on Saturday.
The annual India Fest — returning for the first time since 2019 because of the coronavirus pandemic — was organized by the college, the India Association of Long Island and the Nassau County Office of Asian American Affairs. As many as 1,000 people were expected to attend the all-day festival, said IALI president Bina Sabapathy. The inaugural festival in 1990 drew 10,000 attendees, she said.
"[The event] is important, because when you say 'India,' you don't get the full picture of what India is as a country: [it has] different languages, different religions, but still, it is one India," Sabapathy said. "So we want to bring all the states together."
India, the second most populous country in the world, has 28 states and each state has a distinct culture, food and language.
Vendors sold Indian clothing, jewelry and fabrics. Punjabi channa, a chickpea dish, was served for free to give visitors a taste of one of the country's cuisines.
Sign up for the Nassau news this week newsletter
The biggest news, politics and crime stories in Nassau County, in your inbox every Friday at noon.
Aarthi Palaniappar, 14, performs a traditional Indian dance Saturday at India Fest at Nassau County Community College in Garden City. Credit: Debbie Egan-Chin
The most prominent events to take the stage at the festival were dances performed by Rhythm Dance Academy members. Students performed dozens of dances, including Punjabi, Gurba and Bollywood styles, and wore eye-catching attire.
The dance classes, led by Shilpa Mithaiwala and based in Hicksville, have offered a lifeline to Indian culture for their daughters being raised on Long Island, said parents of the performers.
Richa Sharma, 44, of Hicksville, said enrolling her 14-year-old daughter in the classes had encouraged her to embrace Indian traditions. Sharma, who moved to New York nearly two decades ago, said dancing and music was a passion of hers while growing up in New Delhi. Dance is a hallmark of Indian celebrations, she said.
"I feel so proud," Sharma said. "It's so nice they're getting close to their Indian culture."
Her daughter didn't initially want to wear Indian dresses, but since taking the stage for her dances, she's diving into Indian fashion, she said. She also now listens to Indian music.
Suchita Sharma, 45, of Jericho, agreed. The dances — which the students perform across Long Island and New York City — provide a way for her to "bring my culture close to my daughter," she said.
Amita Butani, 44, of Syosset, said the festival provided a chance for those unfamiliar with India to experience the food, sounds and traditions the country offers. Its goal is "to teach everyone how colorful and how welcoming our culture is."
By Brinley Hineman
brinley.hineman@newsday.com
Brinley Hineman covers the Town of Hempstead and the City of Long Beach for Newsday. She previously was a reporter in Nashville, Tennessee, and is a West Virginia native.

redpajama_set_name: RedPajamaCommonCrawl


text:
Fan Shoving Incident Tarnishes Difficult Season for Marcus Smart
College Basketball /
By David Fox, 2/9/14, 5:42 PM EST
Confrontation further clouds season for All-America contender
In an interview before the season, Oklahoma State's Marcus Smart said Texas Tech was his least favorite opposing arena.
"The atmosphere just isn't there," he said.
On Saturday, the atmosphere at Texas Tech was too much.
Smart, a preseason All-American and one of the top prospects for the 2014 NBA Draft, shoved a fan in the final seconds of Oklahoma State's 65-61 loss to Texas Tech in Lubbock.
As he fouled Texas Tech's Jaye Crockett on a fast break layup attempt, Smart fell to the floor behind the basket. As he got up, Smart reacted to a man in the front row behind the baseline, shoving Texas Tech spectator Jeff Orr.
Less than 24 hours later, the Big 12 suspended Smart three games, and Smart issued an apology. Smart's return will be Feb. 22 during a home game against this same Texas Tech team.
In a statement released by Texas Tech, Orr volunteered not to attend Texas Tech basketball games, home or away, for the remainder of the season. Orr also iindicates he called Smart a "piece of crap." Texas Tech also released a video with inconclusive audio.
A Cowboy Radio Network analyst told the Tulsa (Okla.) World he heard Smart tell Oklahoma State coaches that a fan called Smart a racial slur. In a Sunday afternoon news confernece, neither Smart nor Oklahoma State coach Travis Ford provided details on what the spectator said.
"I would like to take this opportunity to offer my sincere apologies to Marcus Smart, Oklahoma State, Tubby Smith and the Texas Tech Men's Basketball program," Orr said in the statement. "My actions last night were inappropriate and do not reflect myself or Texas Tech - a university I love dearly. I regret calling Mr. Smart a 'piece of crap' but I want to make it known that I did not use a racial slur of any kind."
What's clear is that no party comes out of this with any way to save face:
• Smart committed one of the most egregious acts an athlete can commit by physically confronting a spectator. The incident comes only games after Smart apologized on Twitter for losing his composure after a loss to West Virginia.
• The Big 12 officials assessed a technical foul on Smart but didn't eject him, saying the rule book doesn't provide for a disqualification for a player-fan confrontation.
• The Oklahoma State staff allowed Smart to linger on the court and on the bench despite only 6.2 seconds remaining in a game that had been decided. When Smart finally left the floor, the game had ended and Texas Tech fans were rushing the court. A incident could have escalated quickly.
• Orr's conduct at games came under scrutiny following the incident.
The next step will be a suspension handed down by the Big 12 and Oklahoma State, probably both. The Cowboys have eight games remaining before the conference tournament.
The suspension, though, may end up being a footnote to how the incident shapes Smart's reputation from now on.
Anyone who follows college basketball knows Smart as the player who came up from extreme poverty, who is one of the game's great leaders and who shocked everyone by making a calculated risk to skip the NBA Draft.
Smart knew what he was getting into by returning to school — delaying his first NBA contract by a year and risking a drop in the draft. He often talked of the reward of returning and spending another year as a college student.
Smart also has to know he won't escape this incident. College basketball is a niche game until the NCAA Tournament. Now, scores of fans know Smart as for this ugly confrontation first and the rest of Smart's background second, if at all.
Entering this season, Smart's greatest assets were his maturity, leadership and intangibles. All that is in question.
Now, Oklahoma State's season has spiraled out of control. An injury to Michael Cobbins hurt depth in the frontcourt. Smart's backup, Stevie Clark, was kicked off the team after his second legal incident of the season. A team that was expected to contend for the Big 12 title has slipped to 4-6 and almost certainly will slide even further while Smart is suspended.
Smart himself has struggled. He had one of the nation's most dominant performances of any player early in the year against Memphis. The last few weeks had been forgettable until Saturday. His reputation for flopping has been criticized. After a dismal game against West Virginia, Smart stormed off the court in a huff.
Smart returned to school to compete for a championship and dismissed criticism that he should have taken his shot at the NBA Draft.
"I bet on myself," Smart told Athlon Sports in a preseason interview. "I know what I can do. I believe in my ability."
The Top Arenas in College Basketball: Experts Poll
College Basketball Arena Poll: All 12 Individual Ballots
World Cup Schedule
Funny Wifi Names
Best Baseball Movies
Thursday Night Football
Best Dad Jokes 2019
Best Fantasy Football Names
Best Workout Songs
Watch NCAA Tournament Live Stream
Funny Bracket Names
UK Basketball Schedule


text:
Why it's time for Apple to pull the plug on Lightning cables [Opinion]
By Ed Hardy • 11:30 am, October 28, 2018
The Lightning port is a relic of the past, and it belongs with SCSI ports and buggy whips.
Photo: Ste Smith/Cult of Mac
On Tuesday, Apple is almost certainly going to unveil the first iPad with a USB-C port. This could easily mark the beginning of the end for the Lightning connector across all iOS devices.
USB is a welcome addition to the iPad, but Apple should take a more radical step for the iPhone line. Instead of exchanging the Lightning connector for another data/power port, maybe these handsets shouldn't have one at all.
Say good-bye to the Lightning to 30-Pin Adapter
By Ed Hardy • 12:10 pm, October 8, 2018
The switch from Apple's 30-pin connector to Lightning was expensive for a lot of people.
Photo: Cult of Mac
Back in the distant mists of 2012, everyone needed an adapter to plug their collection of 30-pin charging cables into Apple's new Lightning port. Fast forward to today and this once crucial accessory is no longer necessary. To the point where it's been dropped from the online Apple Store.
EU may force iPhone to switch from Lightning to USB
By Ed Hardy • 3:45 am, August 7, 2018
What if your iPhone and iPad had a standard USB port instead of a Lightning one?
Apple has its Lightning connector and everyone else has USB. But EU regulators are considering whether they need to force a common standard for phone chargers.
The idea is to cut down on the 51,000 tons of old chargers and cables thrown away each year.
Next-gen Lightning connector could seal out water
By Ed Hardy • 11:58 am, March 8, 2018
Redesigned Lightning connector could let wet iPhones charge.
Photo: Ed Hardy/Cult of Mac
Apple designed a waterproof Lighting connector that could block out liquids, dust and dirt when inserted into an iPhone.
Hands on: See Hyper's iStick in action
By Ste Smith • 7:56 am, June 8, 2014
The Kickstarter campaign for Hyper's iStick, which surpassed an original goal of $100,000 in just three hours, is currently racing toward $1,000,000 with only eight days left.
With so much interest in the iStick, a USB flash drive with a Lightning connector, we had to take it for a test drive. Watch our video to see what you think. You can keep an eye on Hyper's Kickstarter, which ends June 17, here.
Subscribe to Cult of Mac TV on YouTube to catch all our latest video reviews, how-tos and more.
Kickstart HYPER's new iStick – a USB stick with a Lightning connector
By Ste Smith • 8:00 am, May 12, 2014
HYPER by Sanho – the company behind the Hyperjuice batteries for Macbooks and iPads have just launched their latest creation to the world through Kickstarter.
The iStick is essentially a USB stick with the dual use of connecting it to your iPhone 5, 5s, iPod Touch and iPads with it's Apple certified lightning connector, which is great if you have a internet connection that is too slow in the office for cloud based storage, or if you're on the road and want to watch a couple of movies without eating into your data plan.
Purported iPhone 5S Rear Shell Hints At A Number Of Internal Changes
By Killian Bell • 8:33 am, August 14, 2013
We expect the upcoming iPhone 5S to look a lot like the iPhone 5, so its biggest changes will all be internal. We're likely to see a faster processor and better graphics, an improved camera, and if we're really lucky, a fingerprint scanner. This purported iPhone 5S rear shell shows the changes Apple has made to the handset's design to accommodate the new components.


When taking your photo, ID-Photo overlays guidelines onto the camera so that you can be certain that your photo will meet the requirement. Once your photo is prepared, it is very easy to email or print to an Airplay compatible printer. Not to point out things but isn't "Enter TiPb's new weekly feature" and "The TiPb community will do our best" just old? Recent Commentsbob is here on Dell Inspiron 15 7000 2-in-1 SSD and RAM Upgrade Guide How much faster was it after putting the ssd Jul 18, 2016Jack Waller on ACPISMO8810 Dell driver [SOLVED!] Thank you! When Apple launched the first iPhone in 2007, it entered a new market for the company with its first smartphone. Sales of both devices were extremely low and the company ousted Thorsten Heins in November 2013 and replaced by John Chen, who promised the company would return to releasing smartphone with the company's classic QWERTY keyboard. BlackBerry posted an article on its upcoming square displayed Passport smartphone on the company's blog and highlighted why it chose the screen shape.
BlackBerry made the news official on the company's blog, where it did its best to explain why "It's Hip to be Square" in the form of images and specs. It also shows how the BlackBerry Passport can display Office documents and spreadsheets in an easier read to format than iPhones or Android smartphones.
Originally Posted by diehardbbuser That's 1 thing apple does well that blackberry forgot in bb10..
Can you please make more comparison between these phones for famous apps like Facebook, Instagram, skype, viber and etc. For a lot of people media consumption is the bulk of the activity some people do on a phone. Enter TiPb's new weekly feature where staff and readers alike sort through the App Store and help you find just the right App for That. It knows the sizing requirements in 14 countries and will set up your photo to be printed at the legally required size.
The company is taking a risk with its upcoming 4.5-inch square displayed BlackBerry Passport, which also uses the company's iconic QWERTY keyboard. At the time, BlackBerry was the king of the smartphone world and were issued by IT departments and carried by soccer moms. The device is a risky one for the company, due to the smartphone's 4.5-inch square display, instead of the tried and true rectangular ones. The company claims the 4.5-inch square screen with full HD capabilities offers the same amount of viewing space as a larger 5-inch smartphone.
BlackBerry seems to be marketing this towards corporate and business users as it lays out why the BlackBerry Passport is the best smartphone for architects, writers and healthcare and finance workers, who might benefit by having a square display. Additionally, the app has a list of tips for taking your photo and examples of both acceptable and unacceptable photos.
BlackBerry long had a reputation for its ultra-secure email and dependability of its network. I recently had a chance to demo the newest Note, their on-screen keyboard was very accurate and easy to use. I think the the next iteration of the Passport will be a serious force in the mobile market.
In recent years the company has watched Apple, Google, and most recently, Microsoft pass it in smartphone market share. Still need to get used to some things but overall very happy with selling the iPhone and diving into BlackBerry.
Wish I had both two passports at the discount time but how was I to know the passport beats the iphone6?
Passport Classic Z30 Z10 Q10 Leap OS 10.3.2 Welcome to the CrackBerry Forums Create Your Account or Ask a Question Answers in 5 minutes - no registration required!
Right here - it kicks off in simply patience and timing that stories to seek out.
Studios and PBS for answer, for my part, is that, once you.
Might be saved to your it's not as sharp because the f2, in keeping with this.
So we analytic the DSLR child in entrance of your digital camera has acting talent impacts how.


text:
Q: How to create byte array and fill it with random data I want to create a byte array against the given size filled with random data.How can I do that?Signature of my method would be like this:
private byte[]  GetByteArray(int sizeInKb)
    {

    }

This is what I have tried:
private  byte[]  GetByteArray(int sizeInKb)
    {

        var rnd = new Random();
        var bytes = new Byte[sizeInKb*1024];
        rnd.NextBytes(bytes);
        return bytes;
    }

Here I want to return byte array conataining random data against value of sizeInKb. Is my array size correct , when user inputs value in kb e.g. 10 KB.

A: Try the Random.NextBytes method https://learn.microsoft.com/en-us/dotnet/api/system.random.nextbytes?view=netframework-4.7.2
private byte[] GetByteArray(int sizeInKb)
{
    Random rnd = new Random();
    byte[] b = new byte[sizeInKb * 1024]; // convert kb to byte
    rnd.NextBytes(b);
    return b;
}

If you need cryptographically safe random bytes, use System.Security.Cryptography.RNGCryptoServiceProvider instead.

redpajama_set_name: RedPajamaStackExchange


text:
Perspectives|Ten Most Wanted| Volume 365, ISSUE 9471, P1615, May 07, 2005
Published:May 07, 2005DOI:https://doi.org/10.1016/S0140-6736(05)66496-3
Previous ArticleLiterary doctors
Next ArticleMary Moran
Septic shock—diagnosis and treatment (Jan 1, 2005)
Annane D, et al. Septic shock. DOI: 10.1016/S0140-6736(04)17667-8. Lancet 2005; 365:63–78.
Seminar on colorectal cancer (Jan 8, 2005)
Weitz J, et al. Colorectal cancer. DOI: 10.1016/S0140-6736(05)17706-X. Lancet 2005; 365: 153–65.
PDE4 inhibitors in asthma and COPD (Jan 8, 2005)
Lipworth BJ. Phosphodiesterase-4 inhibitors for asthma and chronic obstructive pulmonary disease. DOI: 10.1016/S0140-6736(05)17708-3. Lancet 2005; 365: 167–75.
Fast-food, obesity, and diabetes (Jan 1, 2005)
Pereira MA, et al. Fast-food habits, weight gain, and insulin resistance (the CARDIA study): 15-year prospective analysis. DOI: 10.1016/S0140-6736(04)17663-0. Lancet 2005; 365: 36–42.
Anastrozole preferred for breast cancer (Jan 1, 2005)
ATAC Trialists' Group. Results of the ATAC (Arimidex, Tamoxifen, Alone or in Combination) trial after completion of 5 years' adjuvant treatment for breast cancer. DOI: 10.1016/S0140-6736(04)17666-6. Lancet 2005; 365: 60–62.
"To whom do the results apply?" (Jan 1, 2005)
Rothwell PM. External validity of randomised controlled trials: "To whom do the results of this trial apply?". DOI: 10.1016/S0140-6736(04)17670-8. Lancet 2005; 365: 82–93.
Seminar on porphyrias (Jan 15, 2005)
Kauppinen R. Porphyrias. DOI: 10.1016/S0140-6736(05)17744-7. Lancet 2005; 365: 241–52.
Hypertension—a global challenge (Jan 15, 2005)
Kearney PM, et al. Global burden of hypertension: analysis of worldwide data. DOI: 10.1016/S0140-6736(05)17741-1. Lancet 2005; 365: 217–23.
Treatment of HBeAg-positive patients (Jan 8, 2005)
Janssen HLA, et al. Pegylated interferon alfa-2b alone or in combination with lamivudine for HBeAg-positive chronic hepatitis B: a randomised trial. DOI: 10.1016/S0140-6736(05)17701-0. Lancet 2005; 365: 123–29.
Challenging the Th1/Th2 theory (Jan 8, 2005)
Umetsu DT. Revising the immunological theories of asthma and allergy. DOI: 10.1016/S0140-6736(05)17714-9. Lancet 2005; 365: 98–100.
The ten most wanted Lancet articles downloaded from ScienceDirect (see Lancet 2003; 361:1265. DOI: 10.1016/S0140-6736(03)12982-0) in January, 2005.


text:
/content/global/en/destinations/flights-to-istanbul/from-seoul https://www.qatarairways.com/en/search-results
Search /content/global/en/destinations/flights-to-istanbul/from-seoul https://www.qatarairways.com/en/search-results
From Seoul
Discover the true meaning of luxury air travel, with flights from Seoul to Istanbul with Qatar Airways whisking you to Turkey's biggest and most exciting city in just a few comfortable hours. We serve delicious, in-flight cuisine and have a great selection of award-winning services for you to enjoy during your journey to one of the world's great cities. Stretch out in our incredibly spacious and comfortable seating, and simply allow us to look after you from the moment you board to the moment you land.
Formerly Byzantium and Constantinople, Istanbul echoes antiquity, in its ancient mosques, palaces, spectacular monuments and traditional bazaars. Fly to Istanbul and you will discover a modern European city with world-class dining and entertainment.
Book a flight ticket to Istanbul with Qatar Airways for an exotic encounter with a true Turkish delight.
Flying from Seoul
As you arrive to Incheon's International Airport to fly from Seoul with Qatar Airways, you'll get a typically warm Korean welcome. Incheon International Airport serves South Korea's capital, and is one of the largest and busiest airports in the world. A spotlessly clean and modern terminal is packed with facilities, and efficient, friendly staff ensure your journey starts smoothly.
The airport has won numerous awards, including being rated the best airport worldwide by Airports Council International, as the world's cleanest airport and the world's best international transit airport by Skytrax.
The huge airport is well served by its own ground transportation network, including an incredibly efficient bus service (known as the limousine bus service) which runs directly from the centre of Seoul to the airport.
The Incheon International Airport Railroad airport express (known as AREX) runs high-speed services from Gimpo Airport and Seoul to the Transport Centre next to the main terminal building.
Fleets of taxis and pre-booked limousine services run to and from the capital to the airport. Look out for the orange-coloured 'international' taxis, whose drivers speak English, Japanese and Chinese. Parking is plentiful, and is available for both short and long-term stays.
Arriving at Incheon International Airport
Passengers flying from Seoul with Qatar Airways depart from the main Terminal, concourse A. This is reached via two very long underground passages (Intra Airport Transit is available). The concourse has 30 gates, and six lounges for passengers to enjoy.
The facilities available at Incheon international airport are truly extraordinary, and include a golf course, a spa, private sleeping rooms, an ice skating rink, a casino, indoor gardens and a Museum of Korean Culture.
There is also an entire mall of retail outlets supplying everything from travel accessories to clothes, perfume, toiletries and luxury goods. Its duty-free shopping mall has been rated the world's best for three years in a row by Business Traveller, and there is a huge selection of food and refreshment vendors serving everything from Korean delicacies to international cuisine of the very highest standard.
Arriving in Istanbul
Sitting astride the Bosphorus, the iconic city of Istanbul bridges Asia and Europe both culturally and physically, giving it a unique perspective on both cultures, and a character unlike any other major city.
This energetic, frenetic city has been at the very heart of trade between the two continents for thousands of years, and today is just as important strategically, and a natural magnet for tourists looking for a fascinating and unique location.
Book a flight to Istanbul with Qatar Airways and you'll quickly discover the charm of the city for yourself. From lively markets and souqs to exclusive malls, beautiful mosques and spectacular forts, Istanbul has it all.
Istanbul's myriad of ancient monuments date back to the Roman, Byzantine, and Ottoman periods. Most, including the Hagia Sophia, Topkapı Palace, Sultanahmet Mosque (Blue Mosque), and Basilica Cistern are clustered around Sultanahmet Square, making a tour of some of the city's finest attractions easy.
However, it is worth wandering a little further afield, and a stroll across the Golden Horn will bring you to Galata. This district to the north is full of its own attractions, including the Galata Tower, which provides visitors with magnificent panoramic views of the city.
If you're interested in seeing some of the best examples of contemporary Turkish art then head to the Istanbul Modern on the waterfront.
A site of considerable religious importance and the home of another iconic image of Istanbul are the Galata Whirling Dervish Hall of Sufi Mevlevi order; you'll find this to the north of the Galata Tower.
Flights to Istanbul with Qatar Airways land at Istanbul Atatürk Airport. Visa restrictions for entry into the country will depend on your country of origin, length of stay and whether your trip is for business or pleasure. Before you fly to Istanbul please check the visa and passport requirements.
Essential facts about Istanbul


text:
Subscribe to the Brilliance Live newsletter
New signing: Novo Amor (UK)
By ruben
Emerging artist 'Novo Amor' releases his highly anticipated 2nd EP 'Woodgate, NY' via Brilliance Records.
This beautifully self produced record comprises of four powerful songs that conjure up images of fragility and a depth of beauty inspired by a callow first love. These well-composed pieces of music were written and recorded between a converted barn in The Lake District, and a makeshift studio within his Welsh home.
"Each song is a moment of Zen. Lacey's voice isn't the first thing you notice about his music, but his haunting, falsetto whisper will be ringing in your ears for days once you've heard it".
Stylistically compared to the likes of Bon Iver, James Vincent McMorrow and Sigur Ros, the shy musical works of Novo Amor are to where his heart is poured.
The multi-instrumentalist producer behind Novo Amor is Ali Lacey, a Welsh born songwriter. Over the past year Novo Amor has been attracting acclaim from influential broadcasters such as Jen Long and Adam Walton, as well as drawing in a strong global audience while landing himself sync deals from highly reputable companies. 'Woodgate, NY' is Novo Amors second EP, which includes his distinguished single 'From Gold'.
"I'm really excited to be sharing this new record with the world. These songs are very personal to me, musically and lyrically. I feel this is a major progression from the first EP 'Drift'… I am very happy to be releasing my latest work with Norwegian record label 'Brilliance Records'.
'Woodgate, NY' will be released digitally and on 12" vinyl on Monday 31st of March through Brilliance Records.


text:
How did the animosity between Loki and Heimdal start?
I'll admit my Norse mythology is rather rusty, but I do recall after an incident these two particular gods saw each other as mortal enemies and would eventually kill each other at Ragnarok. What was it that turned them against one another (I vaguely remember a story where Heimdal caught Loki stealing a piece of jewelry from Freya and kicked his ass over it but the details have eluded me)?
norse loki
king of panesking of panes
You are thinking about a story referenced in the Húsdrápa, which Snorri excerpted in his Edda. It plays out more or less as you described, except Heimdall does not catch Loki in the act, but is asked by Freya to retrieve Brisingamen. The only detail to add was that evidently Heimdall and Loki fought as seals. That is really all we know about it.
Further than this, as have already been noted, Loki and Heimdall will fight and kill eachother at Ragnarök. They also interact in the Lokasenna, a poem where Loki shows up at a party and insults the other gods. Heimdall does not seem to be under more fire than his fellow gods.
andejonsandejons
I don't think it was as much Loki doing anything to Heimdallr in particular as much as it was the fact Loki betrayed all the Aesir when he orchestrating Baldur's death. It is this reason that Loki was imprisoned to begin with.
It is prophesied that, come Ragnarok, Loki will escape from his bonds and join forces with the Giants against the Gods. After that, he runs into Heimdallr and the two mortally wound each other.
Basically, Loki killed Heimdallr's friend and then allied himself with Heimdallr's enemies.
DisturbedNeoDisturbedNeo
Husdrapa, a poem by Ulf Uggason, deals with several mythological stories, including a battle between Loki and Heimdall. Arthur Brodeur's translation:
The famed rain-bow's defender,
Ready in wisdom, striveth
At Singasteinn with Loki,
The son of mothers eight and one,
Mighty in wrath, possesses
The Stone ere Loki cometh:
I make known songs of praise.
While it does say that Loki fought Heimdall it doesn't mention Freyja or indeed Brisingamen. Brodeur's translation refers to the object they fought over as a "stone" but other translations give it as "sea-kidney" (Faulkes) or "magic stone" (Wikipedia).
Snorri Sturluson's Prose Edda identifies it as Brisingamen. From his list of names for Heimdall:
He is also the visitor to Vagasker and Singastein; on that occasion he contended with Loki for the Brisingamen... Ulf Uggason composed a long passage in Husdrapa based on this story, and it is mentioned there that they fought in the form of seals. (Faulkes' translation: 76)
This in turn is often linked to the 13th century story Sorla thattr which describes how Odin got Loki to steal Freyja's necklace, so as to blackmail her into starting a war for him.
solsdottirsolsdottir
A simpler explanation is that Loki - 'Lopt', or 'fire' - is the deadly enemy of the watchman, of whom Heimdall is the archetype; that they were to be deadly enemies was practically a requirement, and so a reason must be supplied by the story-teller for their personifications to hate each other. In the end, the fire gets the fireman, and vice-versa.
The Wyrm OuroborosThe Wyrm Ouroboros
The idea of Loki as a fire god (even as he appears right next to an actual personification of fire) is no longer considered to have any merit. See here: mythology.stackexchange.com/questions/748/… for a quick overview. – andejons Apr 21 '17 at 5:43
I don't agree with those who consider such, however well-educated they are (as Simek and Lindow clearly must be), as there is a distinct difference between the oft-useful sometimes-dangerous Loki-of-fire, that which we use in our homes, and the uncontrolled, naught-but-devastation Logi-of-fire, the wildfire that consumes not only the food but the trencher as well. – The Wyrm Ouroboros May 5 '17 at 9:19
Not the answer you're looking for? Browse other questions tagged norse loki or ask your own question.
Was Loki originally a fire god?
Who is the sword juggler in the Gylfaginning?
How did Sindri and Brokkr win the bet with Loki, when Mjölnir is clearly faulty?
When did Odin and Loki became blood brothers?
How often were Odin and Loki allied?
Did Loki give birth to a monster?
Why was Loki bound, really?
Why did Loki want Baldur dead?
Does Loki grow old and infirm while chained beneath the serpent?


FlamyTech Computers Limited is an innovative Nigerian technology company dealing on computer, laptops, smartphones. We offer top-notch IT consultancy and computer training services.
Lavideepu Nigeria Limited deals on various kinds of laptop computers and its accessories of popular brands such as Compaq, HP, Acer, Dell and Toshiba.
Technology Distributions (TD) Limited offers distribution and sales of ICT products. Represents HP, Microsoft, APC, IBM, Dell, Cisco, D-Link, Huawei, Lenovo, Zinox, Infinix, Tecno, Nokia, Bosch & Samsung.
Amaget Computer Store offers online and offline sales of computers and electronics such as gaming consoles, mobile phones, laptops of various brands and its accessories.
Amatech Computer And Communication Technology is an information technology & consulting firm that offers sales of computers and its accessories such as memory cards, hard drive, re-writer, flash card, monitors and more.
Belle Computers sell Laptops of different brands and models, with phones of various brands, all accessories. Installation of computer software and others.
Collins Tech specialises on import and sales of USA/UK used quality laptop brands such as MAC, HP, Dell, Toshiba, Sony, VAIO and Lenovo.
J'Concept Technology (Jonny Concept Technology) is a one stop IT solution shop providing sales of computers & accessories, networking solution, remote/drop off computer repair services.
Joban Computer Enterprises is a computer business into sales of laptop, phones and accessories of all kinds.
Ngeson Computers is an online computer shop that is basically specialize in the business of selling high quality computers and accessories.
Nglead is a computer shop located in Nigeria Army Shopping Complex Oshodi. They deal on UK used laptops, phones, and tablet and offer for a very cheap price.
Spectrabold Innovative Computer Technology is an IT technology firm that offers sales of desktop & laptop computers, computer repairs and installation services.
SYSBARNET focuses on computer and accessories sales and providing a high level of customer services and fast turnaround time for home, business, and agricultural customers. For your convenience we offer 3 types of service.
Yaztech Investment (Yaztech Computers) is specialized on import/export, sales, repairs and maintenance of laptop and desktop computers.


text:
Since its inception in 1853, Washington University in St. Louis has grown to be an internationally reknowned research university. Washington University School of Medicine (WUSM) has spearheaded efforts to create a model for American medical education and research for the last 150 years. The Department of Radiation Oncology originated as a division of Mallinckrodt Institute of Radiology (MIR), established in 1931.The Department of Radiation Oncology became a standalone department in 2001, and now consists of three divisions: Clinical Radiation Oncology, Medical Physics, and Cancer Biology. The department is one of the largest in the United States and a national leader in developing innovative radiation treatments for cancer patients.
The history of medical physics education and training in Radiation Oncology spans over two decades. In the 1980s, in reaction to a continued shortage of qualified clinical physicists, American Association for Physicists in Medicine (AAPM) developed comprehensive guidelines for hospital-based residencies, outlined in AAPM Report 36[1]. In light of these developments, the Barnes-Jewish Hospital/Washington University School of Medicine formalized their previous "post-doctoral" training approach and established the Radiation Oncology Medical Physics Residency Program in 1992.
Efforts to formalize and streamline physics education and training lead to the WUSM Radiation Oncology Physics Residency program receiving CAMPEP accreditation in 1997, the first ever medical physics training program to obtain this accreditation. In the last 25 years, more than 40 students have graduated from this residency program.
The Medical Physics Division in the department of Radiation Oncology currently provides research and training opportunities to a large number of PhD researchers in different areas of science and engineering as applied to radiation oncology. The Department of Radiation Oncology established the Medical Physics Graduate Certificate Program in 2017, with the intent of providing a pathway for post doctoral fellows to enter into clinical physics residencies.
Our post-PhD certificate program focuses on providing students with the medical physics background necessary for future success in medical physics, while also offering opportunities to perform cutting edge research in patient focused areas.
[1] AAPM Report 36 Superseded by 90 – Essentials and Guidelines for Hospital-Based Medical Physics Residency Training Programs: Report of the Subcommittee on Residency Training and Promotion of the Education and Training of Medical Physics Committee of the AAPM Education Council. ISBN 9781888340624, 2006
Program Format & Course Catalog


text:
è un Pokémon appartenente alla prima generazione. Ideato dal team di designer della Game Freak e fissato nel suo aspetto finale da Ken Sugimori, Blastoise fa la sua prima apparizione nel 1996 nei videogiochi Pokémon Rosso e Blu come stadio evolutivo finale di uno dei Pokémon iniziali che i giocatori possono scegliere per cominciare la loro avventura. Compare inoltre nella maggior parte dei titoli successivi, in videogiochi spin-off, nella serie televisiva anime, nel Pokémon Trading Card Game e nel merchandising derivato dalla serie.

Blastoise è la mascotte di copertina del videogioco Pokémon Blu. Appare inoltre sulle copertine di Pokémon Stadium e di Pokémon Link!. Il Pokémon è presente nei videogiochi della serie Super Smash Bros. e nel film live action Pokémon: Detective Pikachu.

Nel contesto del franchise, Blastoise è un Pokémon di stadio due di tipo Acqua. Il suo numero identificativo Pokédex è 9. Si evolve da Wartortle al raggiungimento di uno specifico livello. Nei videogiochi Pokémon X e Y Blastoise ottiene una megaevoluzione dal nome di .

L'allenatore Rosso e il Superquattro Narciso possiedono un esemplare del Pokémon. Gary Oak e Verde di Pokémon Adventures hanno ricevuto Squirtle come loro Pokémon iniziale che poi hanno evoluto fino a far diventare Blastoise.

Descrizione
Ha due grossi cannoni che gli fuoriescono dalla corazza e che sparano getti d'acqua ad alta pressione in grado di perforare l'acciaio. Per resistere al contraccolpo deve pertanto ancorarsi bene al suolo con le zampe. È piuttosto cruento, schiacciando i nemici con il suo peso o colpendoli coi suoi potenti e rapidi getti d'acqua.

Si evolve da Wartortle al raggiungimento di uno specifico livello. In Pokémon X e Y ottiene una megaevoluzione denominata MegaBlastoise, raggiungibile utilizzando lo strumento Blastoisite. MegaBlastoise pesa 101,1 kg.

Apparizioni

Videogiochi
Nei videogiochi Pokémon Rosso e Blu, Pokémon Giallo, Pokémon Rosso Fuoco e Verde Foglia, Pokémon Oro HeartGold e Argento SoulSilver e Pokémon X e Y Blastoise è ottenibile in seguito all'evoluzione di Wartortle.

In Pokémon Ranger: Ombre su Almia è presente all'interno della Foresta di Vien (Vien Forest).

Blastoise appare anche in Super Smash Bros. e in Super Smash Bros. Melee. In entrambi appare da una Poké Ball e usa il suo attacco Idropompa, nel secondo è presente anche sotto forma di trofeo.

Anime
Blastoise appare per la prima volta nel corso dell'episodio Il grande sonno (Beach Blank-Out Blastoise), ambientato in un'isola abitata esclusivamente da Squirtle e Wartortle, addormentato a causa di un Jigglypuff incastrato in uno dei suoi cannoni. Quest'ultimo, verso la fine dell'episodio, verrà sparato contro i membri del Team Rocket al fine di addormentarli.

La capopalestra Cissy possiede un Blastoise e con questo sfida il Lapras di Ash Ketchum in una gara di corsa sull'acqua nell'episodio Una nuova medaglia (Fit to be Tide). Il Lapras vince la sfida e Ash guadagna la Medaglia Occhio di Corallo.

In Le brigate antincendio (Pokémon Water War), una squadra di Blastoise viene usata, insieme agli Squirtle e ai Wartortle, per spegnere gli incendi.

James del Team Rocket, nell'episodio Uno strano parco (One Trick Phoney!), usa, oltre ad un Charizard e un Venusaur, anche un Blastoise. I tre Pokémon sono di proprietà del Parco Lotta. Il Pokémon d'acqua verrà sconfitto dal Pikachu di Ash.

Gary Oak possiede un Blastoise, evoluzione del suo Pokémon iniziale Squirtle. Tuttavia si scopre che Gary ha iniziato con uno Squirtle solo nel corso dell'episodio Il torneo della vittoria (prima parte) (The Ties That Bind), quando il ragazzo lo fa sfidare contro l'Heracross di Ash (che, nell'episodio successivo, si scopre essere stato sconfitto).

Il Superquattro Narciso nell'episodio Megaevoluzione - Episodio Speciale I (Pokémon: Mega Evolution Special I) usa un Blastoise che può disporre della megaevoluzione. In Un'esperienza preziosa per tutti! (Valuable Experience for All!) Tierno usa il suo Blastoise nella Lega Pokémon di Kalos contro il Slurpuff di Sandro sconfiggendolo, venendo in seguito battuto dal suo Sceptile.

Blastoise, oltre alle apparizioni negli episodi, ha un ruolo nel primo lungometraggio, Pokémon il film - Mewtwo colpisce ancora, in quanto è uno dei tre Pokémon clonati da Mewtwo (gli altri due sono Venusaur e Charizard), prima che venissero clonati i Pokémon degli allenatori da lui sfidati (compresi i Pokémon di Ash, Misty e Brock). L'allenatrice ha dato al suo Blastoise il nome di . Un esemplare di Blastoise è inoltre presente in Pokémon: Destiny Deoxys.

Manga
In Pokémon Adventures Verde possiede un Blastoise, evoluzione del suo Squirtle rubato al Professor Oak.

Carte collezionabili
Blastoise appare in 18 carte, prevalentemente di tipo Acqua, appartenenti a 12 set. In  è inoltre presente una carta dedicata al Blastoise di Sandra. In occasione della proiezione giapponese del lungometraggio Pokémon: Destiny Deoxys è stata inoltre prodotta una carta raffigurante il Blastoise di Sid.

Note

Bibliografia

Voci correlate
 Pokémon di prima generazione

Collegamenti esterni

Specie di Pokémon

redpajama_set_name: RedPajamaWikipedia


Looking for Smile Makeovers in Cincinnati? For an appointment at Stone Creek Family Dental call our office today at 513-741-7281 or make an appointment today.
Your dentist will work closely with you to develop a treatment plan designed to achieve exactly what you want from your smile makeover. Call Stone Creek Family Dental at 513-741-7281.