The future of on-time train arrivals depends on the high court.
If you ride Amtrak and care about getting places on time, then the Supreme Court heard a case of great interest to you on Monday. Though the same could be said for anyone who enjoys cheap goods that arrive in an expeditious manner. Or even just those of you who savor thick cuts of constitutional law. Pretty much anyone who isn't a hermetic anti-consumer nihilist has a skin in the game.
Those very familiar with the case can skip ahead to the highlights we've assembled from the 51-minute hearing. The rest need a bit of background.
In most of the United States, with the notable exception of the all-important Northeast Corridor between Washington and Boston via New York, Amtrak's passenger trains run on tracks owned by private freight companies. Congress has granted Amtrak "preference" to use these tracks since 1973—the better to get people places on time—but that rule lacked much bite until 2008.
That year, Congress passed a passenger rail act that asked Amtrak and the Federal Railroad Administration to jointly establish "metrics and standards" for Amtrak's performance: an on-time rate above 80 percent, generally speaking. If Amtrak failed to meet these standards for two straight quarters, a complaint could be filed with the Surface Transportation Board. The board would then investigate and had the power to award damages to Amtrak if the freight railroads were deemed responsible for the delays.
The new rules improved Amtrak's performance enormously, but the freight carriers—represented in court by the Association of American Railroads—took exception to the fact that one of their competitors (in the sense of track space, not passengers or cargo) held too much power over the rules of the game. After an initial ruling in Amtrak's favor, an appeals court found against Amtrak in July 2013, and on-time rates immediately plummeted. Amtrak hopes the Supreme Court will reverse that ruling and return the leverage that helped its trains run on time.
The case largely hinges on whether Amtrak is a private service or a government entity. That's not as clear a matter as it might seem: on one hand, the federal government created Amtrak and funds it with taxpayer money; on the other hand, it operates as a for-profit business. If the high court takes Amtrak to be part of the private sector instead of the government, then it could rule that Amtrak has improperly assumed regulatory power over its own industry (a facet of the case known as "non-delegation doctrine") or that it has created an unfair advantage over its competitors (a matter of due process under the Fifth Amendment).
The Supreme Court's ruling is expected in June. In the meantime, with some guidance from SCOTUSblog, we've reviewed the hearing with an eye for key moments that might reveal which way the court is leaning. (From a lay perspective, it seems fairly split, with Justices Kennedy, Ginsburg, Kagan, and perhaps Sotomayor inclined toward Amtrak's side, and the others either against Amtrak or undecided.) Something to read as you wait for the train.
1. Chief Justice Roberts on a "significant regulatory impact."
And, by the way, if I don't — it's triggered if I don't comply with standards that I get to set.
Here the Chief Justice is entertaining the idea that Amtrak is operating as a private party while also regulating its own industry in the style of a government agency—seemingly favoring the freight side in the case. Not only did Amtrak write the "metrics and standards" that dictate operating practices, says Roberts, but it can raise a grievance with anyone who defies those standards. Curtis Gannon, who argued the case for Amtrak (technically, for the Department of Transportation), responded that private parties initiate government investigations all the time without that being seen as "delegation of legislative power."
2. Justice Breyer worries about the magnitude of the decision.
Here Justice Breyer voices a concern he reiterated many times throughout the hearing: that private agencies create standards under the auspices of government all the time. As a case in point, he mentioned ICANN, a technically private organization that nonetheless works closely with government to manage the Internet's domain system. With that analogy in mind, Breyer seems to be siding with the idea that Amtrak—regardless of whether or not it's a private entity—is doing nothing out of the ordinary in establishing performance standards for an industry.
3. Justice Kennedy offers a hypothetical.
Suppose that the government together with auto manufacturer A made standards, but then auto manufacturers B and C had to follow them. That seems wrong. Why is this different?
Justice Kennedy raised this hypothetical toward the end of Gannon's oral argument, drawing a parallel between what Amtrak has done with its "metrics and standards" and what some car maker might do in a similar situation. Kennedy's thoughts carry considerable weight, given his role as frequent swing vote, so his skepticism here might be telling. Gannon concedes that such a scenario seems wrong, but says the case with Amtrak is different, because Congress itself established the original track standards—referring to the 1973 law that gives Amtrak "preference" over freight carriers—and says the Federal Railroad Administration had a hand in the stronger 2008 metrics.
4. Justice Kagan wonders "what about Amtrak is not governmental."
And here you have a situation where Congress, the President and Amtrak itself have repeatedly declared to the public in explicit terms that Amtrak is not the government.
I mean, I guess I'm just wondering what about Amtrak is not governmental other than the label.
In this exchange, Justice Kagan manages to take a shot at both Congress and the freight railroad's case at the same time. She clearly doesn't buy the idea that Amtrak is a private entity simply because Congress says Amtrak is a private entity. On the contrary, she says later, "there is government all over this at every step." Amtrak is supervised by the government; Amtrak worked with the Federal Railroad Administration on the 2008 metrics and standards; and the federal Surface Transportation Board has ultimate power to enforce those standards. "So there is, like, no place at which a private actor can do something itself in this scheme, it would seem to me," says Kagan—a strong indication that she favors Amtrak's case.
5. Justice Scalia pushes back on due process.
[W]hat difference does it make whether it's a governmental entity or not, so long as it is operating on a for-profit basis and is giving — is given the last word on some regulatory matters that disadvantage its competitors, there's a violation of due process. I — I don't see how it makes any difference whether you call it governmental or not.
Here Justice Scalia contends that the whole debate about whether or not Amtrak is a government entity is besides the point: the government can violate due process, too. The freight railroad attorney Dupree responds that he agrees "a hundred percent." That would seem to put Scalia squarely against Amtrak in this case, though to be fair, there are other moments during the hearing where he entertains Amtrak's side. For instance, when considering whether a private party can bring an enforcement action—as Amtrak can with the Surface Transportation Board when it doesn't get track preference—Scalia says he considers that "perfectly constitutional."


text:
Reject false solutions and uphold agroecology in the Global Biodiversity Framework
Sabrina Masinjila, African Centre for Biodiversity
The transition towards more socially just, equitable and ecologically sustainable agricultural systems to address the converging climate and biodiversity crises, in large part driven by industrial agriculture cannot be overemphasized. Yet, negotiations regarding Target 10 of the GBF are at an impasse because proposals on transitioning towards agroecological systems are being undermined by ecologically catastrophic proposals– including 'sustainable intensification (SI)'.
For Africa, where smallholder farmers predominate, a nod by the global community in the GBF for SI, will give the green light for entrenching the agriculture system that will be the death knell for these farmers. SI entrenches an industrial agriculture paradigm that is wholly captured and controlled by big agribusiness. It indisputably entails ecologically destructive monocrop production systems, whose economies of scale favor large scale production, based on the use of risky and costly patented genetically engineered seed and associated toxic synthetic agrochemicals and fertilizers.
By contrast, agroecology is an integrated and appropriate response to the multiple challenges facing smallholder production in the era of climate change and global disruptions. Further, it hugely contributes towards democracy, social justice, and an inclusive economy. Agroecology is an effective response to meeting multiple Party objectives, ranging from food and nutrition security, natural resource management, biodiversity conservation and sustainable use, sustainable water access and use, localisation, cooperative and small enterprise development, spatial planning, local economic development, employment, empowerment of women and youth. Agroecology and SI cannot and should not co-exist within the GBF if Parties are really serious about the urgency of the tasks at hand and the lateness of the hour to do the right thing.
Corporate rights: Limited liability, unlimited powers
Helena Paul, Econexus
When thinking about corporate power within the CBD, it is worth looking at the history of the corporate structure. The (British) East India Company received its Royal Charter in 1600, giving its members the right to share in the monopoly on trade in "the Indies". During the century its members amalgamated their stock and became a partnership. Then the partnership sold its stock to the company in return for a share in the company, which then traded stock in its own name with members receiving a share of the profits. It thus became the first commercial corporation owned by shareholding members – with no discussion or oversight from government... In 1855 an Act was passed in England limiting shareholder liability to the amount they had paid for their shares. Then in 1966, UK, two decisions (the so-called "Bell Houses clause" and the Court of Appeal's decision) transferred the right to decide the limits of a Corporation's powers from the Courts to the Board of Directors of each Corporation... This allows Directors of Corporations knowingly to cause harm to the public in the pursuit of profit, because the Corporate form protects them from legal responsibility for their actions. Thus shareholders, with full knowledge of that harm, can invest without any fear of being found legally responsible.
Corporate human rights: In the Universal Declaration of Human Rights the word 'everyone' does not only apply to people (natural persons). It may also include companies and corporations, because they too are defined as legal persons once they have been 'incorporated'. They may use their status as legal persons to claim aspects of human rights: for example, freedom of speech in order to lobby and advertise.
Please see https://www.econexus.info/publication/who-is-in-charge
Nature positive - positively meaningless?
Tammi Jonas, Australian Food Sovereignty Alliance
20% of the world's population - the Global North - uses 80% of the world's resources. And it is the highly industrialised countries of the Global North who are calling most loudly for a 'nature-positive world'. The CBD text does not define 'nature'. In contrast, 'biological diversity' (or biodiversity) is clearly defined, and includes ecosystems and habitats, species and communities, and genes and genetic material. 'Positive' is even more ambiguous than 'nature' and is related to other concepts such as 'net gain' and 'no net loss'. If the CBD approves 'The Measurable Nature Positive Goal for the CBD Mission', it will water down what little ambition exists in the GBF, and developing countries are likely to face the greater burden of becoming 'nature positive'. Once again finding a way to capitalise on false solutions to problems they have caused, The Future of Nature and Business report (2020) estimates that a nature-positive economy can unlock $10 trillion of business opportunities by transforming the three economic systems responsible for almost 80% of nature loss: energy, infrastructure, and food.
In fact, the most effective way to transform economic activities in order to halt and reverse biodiversity loss is through strong regulatory measures on the actors behind the destruction of ecosystems, which can be strengthened through ambitious targets in the GBF. A framing that would benefit the business sector more than key rights holders will not take us on a path to transformative change. To genuinely protect biodiversity, we need to ensure that ecosystem functions and the well-being of the communities who depend on them are no longer threatened and destroyed. Rightsholders, their traditional knowledge and their land and tenure rights are not defined in the nature-positive framing, but they are in the Nagoya Protocol, UNDRIP, and UNDROP. They must be supported by respecting these rights and through direct funding mechanisms. Indigenous Peoples, peasants, and local communities - especially women - are the best guardians of the world's ecosystems, and yet their vision and wisdom are not leading nor recognised in the nature positive framing.
TNFD

redpajama_set_name: RedPajamaCommonCrawl


The CRSL includes other nearby towns such as Brighton, Cambridge, Dedham, Lexington, Medfield, Milton, Natick, Needham, Waltham, Watertown, Wellesley, Weston and the areas of Boston that comprise the Parkway Girls Softball League.
This page contains links to information about the Charles River Fall League, which runs from Sunday, September 9th through Sunday, October 28th.
Please contact newton.ma.panthers@gmail.com with any questions not answered by the documents above.


Posted on 10/12/2018 at 10:21 a.m.
The impact of Michael, one of the most powerful hurricanes in United States history that slammed the Florida Panhandle on Wednesday and carried top sustained winds of 155 miles per hour, has forced cancellation of tonight's Homecoming football game between visiting International School of Broward, Fla. and La Salle, it was announced Thursday afternoon. La Salle will hold a Friday Night Lights-themed practice at 7 this evening, the same time kickoff was original y scheduled, and the La Salle High School Marching Band also is scheduled to perform. The event is free and open to the public.


"Cuts virtually all tubular-knitted fabric. "
Svegea's automatic machines are economical yet robust.
Cuts virtually all tubular-knitted fabric.
Simple and exact scales make the machine easy to adjust and to operate.
Provides extremely high precision of the cut band.
Soft start and stop, allows very high running speed and results in highest quality on cut bands from first to last meter.
Unique band and fabric guides for problem-free cutting of most single jersey and terry fabrics.
Cutting knives of highest quality/highest grade Swedish steel.


Medium sized blue flower, with blotch blooms hold up well in rain.
Panolas are free flowering mini pansies that resist stretching in warm weather and are very early and hardy to the 44th parallel (Toronto, Ont. Canada) Height 6-8 in/15-20 cm. Crop time approx 60 days.


A dark brown viscous liquid arrived with its Proprietor. A shipibo native, curandero in training. His grandfather is teaching him the ways of the tribe. He came, having just arrived from Pucallpa, to my friend's apartment in Lima, beckoned by his sister whom I had met a week previously. I had not yet communed with ayahuasa and was excited and slightly apprehensive for this journey.
I had become sick with a cold two days previously and still had some bad chest congestion but this was the only chance so I couldn't pass it up. R seemed trustworthy and we soon prepared for the ingestion. There were five of us: curandero R, his sister J, the apartment owner RL, my partner KT, and I. Finally the moment I had long been waiting for. We turned off all the lights but one, in another room, so it was mostly dark. We cleansed with tobacco and holy wood and began.
My ceremonial intention was to have better understanding of spiritual communication. The liquid was very sour and tart, stripping the mucous membranes in my mouth and throat. I sat, slightly nervous and anxious. R began to sing, soothing my mind. I laid down on my back. Waves on uneasiness broke through me and I had to sit up. I needed to purge. I vomited into a bucket that had no bottom, but an endless void. I was the fourth to vomit and it wasn't much for volume but I felt as if every cell in my body was vomiting at the same time. When I was through and feeling a little better and clearer I laid back down in the fetal position.
I had my eyes closed. I started seeing distant, vague swirling colors. which soon surrounded me and became very sharp and pixellated. I could see the hoographic matrix we are in. I felt a presence moving toward me from behind. A moment of paranoia sprang up in my mind and I thought the presence said ' I am going to torture you!' At that moment R, still singing, directed a specific note toward me. I saw it leave his mouth (with my eyes still closed and not facing him) and pass over me, changing the dissonant vibration of my paranoia into a more harmonic structure. I then saw the presence as an energetic, biosonic jellyfish, hovering above me. It reminded me of the sentinels in 'The Matrix' It was translucent pastel pinks, purples, and blues. Its bell shaped structure was completely made of interlocking eyes, similar to an Alex Grey painting but they were in a constant shiting motion.
It reached out and passed one of its tentacles over me. It seemed to be scanning me and the end of the tentacle was a sort of organic machine device. After it was done scanning me it said 'Lie flat on your back or sit up.' I sat up and the image of the cover art of the album Undertow by Tool came to my mind as the jellyfish sort of morphed into that shape. I felt as if it were going wrap its tentacles around me and envelope me from behind. I was so high I could't handle sitting up so I laid down on my back. The being hovered over me as I felt my own tentacles project out of my back from my spine and move toward it. Our tentalces merged and we made orgasmic spiritual love. I then lost all sense of time or awareness of enything but our merging spirits. I felt unconditional total spiritual love. I don't know how long this lasted but eventually I came back to my individual awareness and the being faded away.
I now had the sense that it had downloaded information into me and also recieved something from me but I could not pinpoint what that could be at the moment. Then my mind began decoding and analyzing the information deposited into it. I just experienced Tantra. Many different peices art I had seen flashed into my head and the realization that this artwork was depicting these beings. I saw art from a Moche pyramid I had recently visited, Alex Grey paintings, the picture on Pacal Votan's Sarcophagus lid and various other pieces from many cultures that I can't individually remember. I realized that at least in some instances, our spiritual form is that of the jellyfish. We use our tentacles to spiritually communicate with each other and to extract bits of information from the energetic sea we are floating in. In our society we are not taught to use our tentacles for spiritual communication and this is one reason why the feeling of spiritual love is rarely felt by the everyday person.
I then quickly returned close to baseline. The peak lasted around an hour and a half. I was pretty much immersed in my own experience for that period of time and don't know what happened to the others during it. My partner had gotten a migraine earlier that day and the trip didn't help it relax and consequently she barely got high. I laid on the floor exploring my thoughts until it was time to go to sleep. The two shipibos didn't speak english and I didn't speak much spanish so comparing trips was difficult. My friend RL had a good trip but didn't explain it much to me other than describing a journey through space seeing stars, planets and comets.
As I look back on the trip now, 5 months away, it has impacted my consciousness greatly. I recall it often and can see how it has fit into the evolutionary structural pattern that my combined journeys have created. I have not ingested a sacred medicine since then but will in the near future. If you are interested to see how my trips on several different entheogens have integrated to create my evolutionary pattern look for my other posts under LSD, Mushrooms and Mescaline. Also a theory of Harvesting the Ego has sprang from these trips. Remember, to truly understand an experience, YOU must undergo it.


Thank you for your interest in working for our family rafting business.
Since 1983 we have been running trips around New England with our unique family style and attention to an awesome guest experience. We are the largest whitewater rafting outfitter in New England and train new staff each spring at both our Massachusetts and Maine locations. Join our team and show people a great time at Crab Apple this season.


text:
Home Top News The New Skillsoft and Global Knowledge Merged Company Starts in the NYSE
The New Skillsoft and Global Knowledge Merged Company Starts in the NYSE
The new Skillsoft Corp will be listed on the NYSE (New York Stock Exchange), with the ticker "SKIL", this Monday, June 14.
This company is the result of the purchase of the IT skills development firm Global Knowledge by Skillsoft and Churchill Capital Corp II (NYSE: CCX) — a special purpose acquisition company — for $1.5 billion.
The completion of the transaction was announced yesterday in a press statement.
The new Skillsoft's client base will include about 70% of Fortune 1000 companies, with 45 million users.
"We bring the newly combined Skillsoft and Global Knowledge to public markets as a leader in the dynamic and growing global digital learning industry," said Jeffrey R. Tarr, Skillsoft's Chief Executive Officer.
"At a time when companies around the world are rapidly transforming to keep pace with a changing world, we are well-positioned to deliver personalized, high-quality learning experiences that will help close the global skills gap and build workforces that are future-fit, skilled, and ready for the jobs of tomorrow."
"We are excited to create one of the fastest-growing and most profitable companies in the digital learning space; the new Skillsoft is well-positioned to drive growth, profitability, and create exceptional shareholder value," said Michael S. Klein, Chairman and CEO of Churchill II.
[Disclosure: IBL News' parent company has a client as client Global Knowledge / Skillsoft]
Previous articleUniversities with Full Vaccinated People Can Return to In-Person Learning
Next articleChinese Public Companies Lost Billions in Market Cap Because of Deceptive Marketing


In the last note that Dan De Block sent to you was a report of the on-going talks between the Army Chief of Chaplains and Chaplain G.T. Gunhus on a mentoring program using members of our Chaplain Family and members of the active force: chaplains; chaplain assistants; and Directors of Religious Education. I want to celebrate that agreement and invite you to celebrate it with me. What an opportunity for us as chaplains to give back from our experiences and to share that experience with other chaplains who are trying to balance the dual professional role of commissioned officer and religious leader – holders of two offices; clergy and commissioned officer. Anything you read on chaplaincy in the military will point to this dual calling as one of the top tensions of our calling. The same is true for others in our chaplain family to do the same with assistants and DREs.
When I look back on my ministry of 34 years as a chaplain, I see standing alongside me some senior chaplains, other Commissioned and Non-commissioned officers who spent time with me, helping me learn the craft of being a person of faith ministering in a secular environment – the military. Their words of advice and counsel were invaluable.
We, as an organization have made a commitment to keep our legacy alive – a chaplaincy vital, current, and committed to being the conscience of the Army and the protector of religious freedom of all serving within the Army. Now we can put that commitment into action and become mentors to those on active duty, in the reserves and National Guard.
I had the privilege of mentoring the chaplains from my faith community when I was the Director of Chaplaincy Ministries and the endorser of chaplains. I see many of them at our annual Chaplains Retreat and keep our relationship alive and open. I am thrilled when they send an email asking for some history concerning a program or a challenge. A large part of the thrill is my reliving some of my memories and enjoying remembering men and women who served with me. I find every exchange with them an opportunity to pass on what was passed to me.
Some of our regional groups will find opportunities to invite new folks into our organizations and have their get to gathers enlivened by the enthusiasm of active and reserve members of the family. I hope this is a new and welcomed opportunity for you. You will hear more concerning this program soon. I am thankful for G.T.s leadership and his continued efforts on behalf of the chaplaincy.


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.facebook.presto.metadata;

import com.facebook.presto.Session;
import com.facebook.presto.common.QualifiedObjectName;
import com.facebook.presto.common.function.OperatorType;
import com.facebook.presto.common.type.StandardTypes;
import com.facebook.presto.common.type.TypeSignature;
import com.facebook.presto.operator.scalar.BuiltInScalarFunctionImplementation;
import com.facebook.presto.operator.scalar.CustomFunctions;
import com.facebook.presto.spi.function.FunctionHandle;
import com.facebook.presto.spi.function.Parameter;
import com.facebook.presto.spi.function.RoutineCharacteristics;
import com.facebook.presto.spi.function.ScalarFunction;
import com.facebook.presto.spi.function.Signature;
import com.facebook.presto.spi.function.SqlFunction;
import com.facebook.presto.spi.function.SqlFunctionId;
import com.facebook.presto.spi.function.SqlFunctionVisibility;
import com.facebook.presto.spi.function.SqlInvokedFunction;
import com.facebook.presto.spi.function.SqlType;
import com.facebook.presto.spi.function.TypeVariableConstraint;
import com.facebook.presto.sql.analyzer.TypeSignatureProvider;
import com.facebook.presto.sql.relational.FunctionResolution;
import com.facebook.presto.sql.tree.QualifiedName;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import org.testng.annotations.Test;

import java.lang.invoke.MethodHandles;
import java.util.List;
import java.util.Map;
import java.util.Optional;

import static com.facebook.presto.SessionTestUtils.TEST_SESSION;
import static com.facebook.presto.SystemSessionProperties.EXPERIMENTAL_FUNCTIONS_ENABLED;
import static com.facebook.presto.common.function.OperatorType.CAST;
import static com.facebook.presto.common.function.OperatorType.SATURATED_FLOOR_CAST;
import static com.facebook.presto.common.function.OperatorType.tryGetOperatorType;
import static com.facebook.presto.common.type.BigintType.BIGINT;
import static com.facebook.presto.common.type.HyperLogLogType.HYPER_LOG_LOG;
import static com.facebook.presto.common.type.TimestampWithTimeZoneType.TIMESTAMP_WITH_TIME_ZONE;
import static com.facebook.presto.common.type.TypeSignature.parseTypeSignature;
import static com.facebook.presto.metadata.FunctionAndTypeManager.createTestFunctionAndTypeManager;
import static com.facebook.presto.metadata.FunctionAndTypeManager.qualifyObjectName;
import static com.facebook.presto.operator.scalar.ScalarFunctionImplementationChoice.ArgumentProperty.valueTypeArgumentProperty;
import static com.facebook.presto.operator.scalar.ScalarFunctionImplementationChoice.NullConvention.RETURN_NULL_ON_NULL;
import static com.facebook.presto.spi.function.FunctionKind.SCALAR;
import static com.facebook.presto.spi.function.FunctionVersion.notVersioned;
import static com.facebook.presto.spi.function.Signature.typeVariable;
import static com.facebook.presto.spi.function.SqlFunctionVisibility.PUBLIC;
import static com.facebook.presto.sql.analyzer.TypeSignatureProvider.fromTypeSignatures;
import static com.facebook.presto.sql.planner.LiteralEncoder.getMagicLiteralFunctionSignature;
import static com.facebook.presto.sql.tree.ArithmeticBinaryExpression.Operator.ADD;
import static com.facebook.presto.sql.tree.ComparisonExpression.Operator.GREATER_THAN;
import static com.facebook.presto.testing.TestingSession.testSessionBuilder;
import static com.facebook.presto.tpch.TpchMetadata.TINY_SCHEMA_NAME;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.Lists.transform;
import static java.lang.String.format;
import static java.util.Collections.nCopies;
import static java.util.stream.Collectors.toList;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;

public class TestFunctionAndTypeManager
{
    @Test
    public void testIdentityCast()
    {
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        FunctionHandle exactOperator = functionAndTypeManager.lookupCast(CastType.CAST, HYPER_LOG_LOG, HYPER_LOG_LOG);
        assertEquals(exactOperator, new BuiltInFunctionHandle(new Signature(CAST.getFunctionName(), SCALAR, HYPER_LOG_LOG.getTypeSignature(), HYPER_LOG_LOG.getTypeSignature())));
    }

    @Test
    public void testExactMatchBeforeCoercion()
    {
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        boolean foundOperator = false;
        for (SqlFunction function : functionAndTypeManager.listOperators()) {
            OperatorType operatorType = tryGetOperatorType(function.getSignature().getName()).get();
            if (operatorType == CAST || operatorType == SATURATED_FLOOR_CAST) {
                continue;
            }
            if (!function.getSignature().getTypeVariableConstraints().isEmpty()) {
                continue;
            }
            if (function.getSignature().getArgumentTypes().stream().anyMatch(TypeSignature::isCalculated)) {
                continue;
            }
            BuiltInFunctionHandle exactOperator = (BuiltInFunctionHandle) functionAndTypeManager.resolveOperator(operatorType, fromTypeSignatures(function.getSignature().getArgumentTypes()));
            assertEquals(exactOperator.getSignature(), function.getSignature());
            foundOperator = true;
        }
        assertTrue(foundOperator);
    }

    @Test
    public void testMagicLiteralFunction()
    {
        Signature signature = getMagicLiteralFunctionSignature(TIMESTAMP_WITH_TIME_ZONE);
        assertEquals(signature.getNameSuffix(), "$literal$timestamp with time zone");
        assertEquals(signature.getArgumentTypes(), ImmutableList.of(parseTypeSignature(StandardTypes.BIGINT)));
        assertEquals(signature.getReturnType().getBase(), StandardTypes.TIMESTAMP_WITH_TIME_ZONE);

        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        BuiltInFunctionHandle functionHandle = (BuiltInFunctionHandle) functionAndTypeManager.resolveFunction(
                Optional.empty(),
                TEST_SESSION.getTransactionId(),
                signature.getName(),
                fromTypeSignatures(signature.getArgumentTypes()));
        assertEquals(functionAndTypeManager.getFunctionMetadata(functionHandle).getArgumentTypes(), ImmutableList.of(parseTypeSignature(StandardTypes.BIGINT)));
        assertEquals(signature.getReturnType().getBase(), StandardTypes.TIMESTAMP_WITH_TIME_ZONE);
    }

    @Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "\\QFunction already registered: presto.default.custom_add(bigint,bigint):bigint\\E")
    public void testDuplicateFunctions()
    {
        List<SqlFunction> functions = new FunctionListBuilder()
                .scalars(CustomFunctions.class)
                .getFunctions()
                .stream()
                .filter(input -> input.getSignature().getNameSuffix().equals("custom_add"))
                .collect(toImmutableList());

        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        functionAndTypeManager.registerBuiltInFunctions(functions);
        functionAndTypeManager.registerBuiltInFunctions(functions);
    }

    @Test(expectedExceptions = IllegalStateException.class, expectedExceptionsMessageRegExp = "'presto.default.sum' is both an aggregation and a scalar function")
    public void testConflictingScalarAggregation()
    {
        List<SqlFunction> functions = new FunctionListBuilder()
                .scalars(ScalarSum.class)
                .getFunctions();

        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        functionAndTypeManager.registerBuiltInFunctions(functions);
    }

    @Test
    public void testListingVisibilityBetaFunctionsDisabled()
    {
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        List<SqlFunction> functions = functionAndTypeManager.listFunctions(TEST_SESSION, Optional.empty(), Optional.empty());
        List<String> names = transform(functions, input -> input.getSignature().getNameSuffix());

        assertTrue(names.contains("length"), "Expected function names " + names + " to contain 'length'");
        assertTrue(names.contains("stddev"), "Expected function names " + names + " to contain 'stddev'");
        assertTrue(names.contains("rank"), "Expected function names " + names + " to contain 'rank'");
        assertFalse(names.contains("quantiles_at_values"), "Expected function names " + names + " not to contain 'quantiles_at_values'");
        assertFalse(names.contains("like"), "Expected function names " + names + " not to contain 'like'");
        assertFalse(names.contains("$internal$sum_data_size_for_stats"), "Expected function names " + names + " not to contain '$internal$sum_data_size_for_stats'");
        assertFalse(names.contains("$internal$max_data_size_for_stats"), "Expected function names " + names + " not to contain '$internal$max_data_size_for_stats'");
    }

    @Test
    public void testListingVisibilityBetaFunctionsEnabled()
    {
        Session session = testSessionBuilder()
                .setCatalog("tpch")
                .setSchema(TINY_SCHEMA_NAME)
                .setSystemProperty(EXPERIMENTAL_FUNCTIONS_ENABLED, "true")
                .build();
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        List<SqlFunction> functions = functionAndTypeManager.listFunctions(session, Optional.empty(), Optional.empty());
        List<String> names = transform(functions, input -> input.getSignature().getNameSuffix());

        assertTrue(names.contains("length"), "Expected function names " + names + " to contain 'length'");
        assertTrue(names.contains("stddev"), "Expected function names " + names + " to contain 'stddev'");
        assertTrue(names.contains("rank"), "Expected function names " + names + " to contain 'rank'");
        assertTrue(names.contains("tdigest_agg"), "Expected function names " + names + " to contain 'tdigest_agg'");
        assertTrue(names.contains("quantiles_at_values"), "Expected function names " + names + " to contain 'tdigest_agg'");
        assertFalse(names.contains("like"), "Expected function names " + names + " not to contain 'like'");
        assertFalse(names.contains("$internal$sum_data_size_for_stats"), "Expected function names " + names + " not to contain '$internal$sum_data_size_for_stats'");
        assertFalse(names.contains("$internal$max_data_size_for_stats"), "Expected function names " + names + " not to contain '$internal$max_data_size_for_stats'");
    }

    @Test
    public void testOperatorTypes()
    {
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
        FunctionResolution functionResolution = new FunctionResolution(functionAndTypeManager);

        assertTrue(functionAndTypeManager.getFunctionMetadata(functionResolution.arithmeticFunction(ADD, BIGINT, BIGINT)).getOperatorType().map(OperatorType::isArithmeticOperator).orElse(false));
        assertFalse(functionAndTypeManager.getFunctionMetadata(functionResolution.arithmeticFunction(ADD, BIGINT, BIGINT)).getOperatorType().map(OperatorType::isComparisonOperator).orElse(true));
        assertTrue(functionAndTypeManager.getFunctionMetadata(functionResolution.comparisonFunction(GREATER_THAN, BIGINT, BIGINT)).getOperatorType().map(OperatorType::isComparisonOperator).orElse(false));
        assertFalse(functionAndTypeManager.getFunctionMetadata(functionResolution.comparisonFunction(GREATER_THAN, BIGINT, BIGINT)).getOperatorType().map(OperatorType::isArithmeticOperator).orElse(true));
        assertFalse(functionAndTypeManager.getFunctionMetadata(functionResolution.notFunction()).getOperatorType().isPresent());
    }

    @Test
    public void testSessionFunctions()
    {
        FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();

        SqlFunctionId bigintSignature = new SqlFunctionId(QualifiedObjectName.valueOf("presto.default.foo"), ImmutableList.of(parseTypeSignature("bigint")));
        SqlInvokedFunction bigintFunction = new SqlInvokedFunction(
                bigintSignature.getFunctionName(),
                ImmutableList.of(new Parameter("x", parseTypeSignature("bigint"))),
                parseTypeSignature("bigint"),
                "",
                RoutineCharacteristics.builder().build(),
                "",
                notVersioned());

        SqlFunctionId varcharSignature = new SqlFunctionId(QualifiedObjectName.valueOf("presto.default.foo"), ImmutableList.of(parseTypeSignature("varchar")));
        SqlInvokedFunction varcharFunction = new SqlInvokedFunction(
                bigintSignature.getFunctionName(),
                ImmutableList.of(new Parameter("x", parseTypeSignature("varchar"))),
                parseTypeSignature("varchar"),
                "",
                RoutineCharacteristics.builder().build(),
                "",
                notVersioned());

        Map<SqlFunctionId, SqlInvokedFunction> sessionFunctions = ImmutableMap.of(bigintSignature, bigintFunction, varcharSignature, varcharFunction);

        assertEquals(
                functionAndTypeManager.resolveFunction(
                        Optional.of(sessionFunctions),
                        Optional.empty(),
                        bigintSignature.getFunctionName(),
                        ImmutableList.of(new TypeSignatureProvider(parseTypeSignature("bigint")))),
                new SessionFunctionHandle(bigintFunction));
        assertEquals(
                functionAndTypeManager.resolveFunction(
                        Optional.of(sessionFunctions),
                        Optional.empty(),
                        varcharSignature.getFunctionName(),
                        ImmutableList.of(new TypeSignatureProvider(parseTypeSignature("varchar")))),
                new SessionFunctionHandle(varcharFunction));
        assertEquals(
                functionAndTypeManager.resolveFunction(
                        Optional.of(sessionFunctions),
                        Optional.empty(),
                        bigintSignature.getFunctionName(),
                        ImmutableList.of(new TypeSignatureProvider(parseTypeSignature("int")))),
                new SessionFunctionHandle(bigintFunction));
    }

    @Test
    public void testResolveFunctionByExactMatch()
    {
        assertThatResolveFunction()
                .among(functionSignature("bigint", "bigint"))
                .forParameters("bigint", "bigint")
                .returns(functionSignature("bigint", "bigint"));
    }

    @Test
    public void testResolveTypeParametrizedFunction()
    {
        assertThatResolveFunction()
                .among(functionSignature(ImmutableList.of("T", "T"), "boolean", ImmutableList.of(typeVariable("T"))))
                .forParameters("bigint", "bigint")
                .returns(functionSignature("bigint", "bigint"));
    }

    @Test
    public void testResolveFunctionWithCoercion()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("decimal(p,s)", "double"),
                        functionSignature("decimal(p,s)", "decimal(p,s)"),
                        functionSignature("double", "double"))
                .forParameters("bigint", "bigint")
                .returns(functionSignature("decimal(19,0)", "decimal(19,0)"));
    }

    @Test
    public void testAmbiguousCallWithNoCoercion()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("decimal(p,s)", "decimal(p,s)"),
                        functionSignature(ImmutableList.of("T", "T"), "boolean", ImmutableList.of(typeVariable("T"))))
                .forParameters("decimal(3,1)", "decimal(3,1)")
                .returns(functionSignature("decimal(3,1)", "decimal(3,1)"));
    }

    @Test
    public void testAmbiguousCallWithCoercion()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("decimal(p,s)", "double"),
                        functionSignature("double", "decimal(p,s)"))
                .forParameters("bigint", "bigint")
                .failsWithMessage("Could not choose a best candidate operator. Explicit type casts must be added.");
    }

    @Test
    public void testResolveFunctionWithCoercionInTypes()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("array(decimal(p,s))", "array(double)"),
                        functionSignature("array(decimal(p,s))", "array(decimal(p,s))"),
                        functionSignature("array(double)", "array(double)"))
                .forParameters("array(bigint)", "array(bigint)")
                .returns(functionSignature("array(decimal(19,0))", "array(decimal(19,0))"));
    }

    @Test
    public void testResolveFunctionWithVariableArity()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("double", "double", "double"),
                        functionSignature("decimal(p,s)").setVariableArity(true))
                .forParameters("bigint", "bigint", "bigint")
                .returns(functionSignature("decimal(19,0)", "decimal(19,0)", "decimal(19,0)"));

        assertThatResolveFunction()
                .among(
                        functionSignature("double", "double", "double"),
                        functionSignature("bigint").setVariableArity(true))
                .forParameters("bigint", "bigint", "bigint")
                .returns(functionSignature("bigint", "bigint", "bigint"));
    }

    @Test
    public void testResolveFunctionWithVariadicBound()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("bigint", "bigint", "bigint"),
                        functionSignature(
                                ImmutableList.of("T1", "T2", "T3"),
                                "boolean",
                                ImmutableList.of(Signature.withVariadicBound("T1", "decimal"),
                                        Signature.withVariadicBound("T2", "decimal"),
                                        Signature.withVariadicBound("T3", "decimal"))))
                .forParameters("unknown", "bigint", "bigint")
                .returns(functionSignature("bigint", "bigint", "bigint"));
    }

    @Test
    public void testResolveFunctionForUnknown()
    {
        assertThatResolveFunction()
                .among(
                        functionSignature("bigint"))
                .forParameters("unknown")
                .returns(functionSignature("bigint"));

        // when coercion between the types exist, and the most specific function can be determined with the main algorithm
        assertThatResolveFunction()
                .among(
                        functionSignature("bigint"),
                        functionSignature("integer"))
                .forParameters("unknown")
                .returns(functionSignature("integer"));

        // function that requires only unknown coercion must be preferred
        assertThatResolveFunction()
                .among(
                        functionSignature("bigint", "bigint"),
                        functionSignature("integer", "integer"))
                .forParameters("unknown", "bigint")
                .returns(functionSignature("bigint", "bigint"));

        // when coercion between the types doesn't exist, but the return type is the same, so the random function must be chosen
        assertThatResolveFunction()
                .among(
                        functionSignature(ImmutableList.of("JoniRegExp"), "boolean"),
                        functionSignature(ImmutableList.of("integer"), "boolean"))
                .forParameters("unknown")
                // any function can be selected, but to make it deterministic we sort function signatures alphabetically
                .returns(functionSignature("integer"));

        // when the return type is different
        assertThatResolveFunction()
                .among(
                        functionSignature(ImmutableList.of("JoniRegExp"), "JoniRegExp"),
                        functionSignature(ImmutableList.of("integer"), "integer"))
                .forParameters("unknown")
                .failsWithMessage("Could not choose a best candidate operator. Explicit type casts must be added.");
    }

    private SignatureBuilder functionSignature(String... argumentTypes)
    {
        return functionSignature(ImmutableList.copyOf(argumentTypes), "boolean");
    }

    private static SignatureBuilder functionSignature(List<String> arguments, String returnType)
    {
        return functionSignature(arguments, returnType, ImmutableList.of());
    }

    private static SignatureBuilder functionSignature(List<String> arguments, String returnType, List<TypeVariableConstraint> typeVariableConstraints)
    {
        ImmutableSet<String> literalParameters = ImmutableSet.of("p", "s", "p1", "s1", "p2", "s2", "p3", "s3");
        List<TypeSignature> argumentSignatures = arguments.stream()
                .map((signature) -> parseTypeSignature(signature, literalParameters))
                .collect(toImmutableList());
        return new SignatureBuilder()
                .returnType(parseTypeSignature(returnType, literalParameters))
                .argumentTypes(argumentSignatures)
                .typeVariableConstraints(typeVariableConstraints)
                .kind(SCALAR);
    }

    private static ResolveFunctionAssertion assertThatResolveFunction()
    {
        return new ResolveFunctionAssertion();
    }

    private static class ResolveFunctionAssertion
    {
        private static final String TEST_FUNCTION_NAME = "TEST_FUNCTION_NAME";

        private List<SignatureBuilder> functionSignatures = ImmutableList.of();
        private List<TypeSignature> parameterTypes = ImmutableList.of();

        public ResolveFunctionAssertion among(SignatureBuilder... functionSignatures)
        {
            this.functionSignatures = ImmutableList.copyOf(functionSignatures);
            return this;
        }

        public ResolveFunctionAssertion forParameters(String... parameters)
        {
            this.parameterTypes = parseTypeSignatures(parameters);
            return this;
        }

        public ResolveFunctionAssertion returns(SignatureBuilder functionSignature)
        {
            FunctionHandle expectedFunction = new BuiltInFunctionHandle(functionSignature.name(TEST_FUNCTION_NAME).build());
            FunctionHandle actualFunction = resolveFunctionHandle();
            assertEquals(expectedFunction, actualFunction);
            return this;
        }

        public ResolveFunctionAssertion failsWithMessage(String... messages)
        {
            try {
                resolveFunctionHandle();
                fail("didn't fail as expected");
            }
            catch (RuntimeException e) {
                String actualMessage = e.getMessage();
                for (String expectedMessage : messages) {
                    if (!actualMessage.contains(expectedMessage)) {
                        fail(format("%s doesn't contain %s", actualMessage, expectedMessage));
                    }
                }
            }
            return this;
        }

        private FunctionHandle resolveFunctionHandle()
        {
            FunctionAndTypeManager functionAndTypeManager = createTestFunctionAndTypeManager();
            functionAndTypeManager.registerBuiltInFunctions(createFunctionsFromSignatures());
            return functionAndTypeManager.resolveFunction(
                    Optional.empty(),
                    TEST_SESSION.getTransactionId(),
                    qualifyObjectName(QualifiedName.of(TEST_FUNCTION_NAME)),
                    fromTypeSignatures(parameterTypes));
        }

        private List<BuiltInFunction> createFunctionsFromSignatures()
        {
            ImmutableList.Builder<BuiltInFunction> functions = ImmutableList.builder();
            for (SignatureBuilder functionSignature : functionSignatures) {
                Signature signature = functionSignature.name(TEST_FUNCTION_NAME).build();
                functions.add(new SqlScalarFunction(signature)
                {
                    @Override
                    public BuiltInScalarFunctionImplementation specialize(
                            BoundVariables boundVariables,
                            int arity,
                            FunctionAndTypeManager functionAndTypeManager)
                    {
                        return new BuiltInScalarFunctionImplementation(
                                false,
                                nCopies(arity, valueTypeArgumentProperty(RETURN_NULL_ON_NULL)),
                                MethodHandles.identity(Void.class));
                    }

                    @Override
                    public SqlFunctionVisibility getVisibility()
                    {
                        return PUBLIC;
                    }

                    @Override
                    public boolean isDeterministic()
                    {
                        return false;
                    }

                    @Override
                    public String getDescription()
                    {
                        return "testing function that does nothing";
                    }
                });
            }
            return functions.build();
        }

        private static List<TypeSignature> parseTypeSignatures(String... signatures)
        {
            return ImmutableList.copyOf(signatures)
                    .stream()
                    .map(TypeSignature::parseTypeSignature)
                    .collect(toList());
        }
    }

    public static final class ScalarSum
    {
        private ScalarSum() {}

        @ScalarFunction
        @SqlType(StandardTypes.BIGINT)
        public static long sum(@SqlType(StandardTypes.BIGINT) long a, @SqlType(StandardTypes.BIGINT) long b)
        {
            return a + b;
        }
    }
}

redpajama_set_name: RedPajamaGithub


1. — The aim of the Order is to strive for the maintenance of Christian ideals and Western Humanism, and for the perpetuation of liberty and dignity of human beings, and to oppose all forms of oppression.
2. — The High Council of the Order in the United States is invested with irrevocable authority and the moral responsibility to administer, govern and execute the affairs of the Order pursuant to its United States and ancient Heraldic charters. The Council of the Order is composed of the Grand Chancellor, Vice Chancellor, Charge d'Affairs, Secretariat and various Bailiffs. The Grand Chancellor is conferred by historical ascendancy and hereditary authority with full powers to represent, to govern and to direct the affairs of the Order, to protect its archives, to fix the magisterial office, to make and to reform the By-Laws and Regulations, to arbitrate all litigation matters in the United States, to appoint and to select all the dignitaries, to apoint, to promote and to dismiss the Chevaliers91of all ranks on the motion of the Council of the Order, to administer the Estate and property of the Order, and to ex-cercise and possess all of the privileges, honours, powers and prerogatives invested in the supreme power. All decisions shall be executive.
6. — Chevaliers of the Order are required to lead a blameless life and to execute acts of charity. Loss of Civil Rights by a Chevalier is summarily followed by exclusion from the Order with the consequent compulsory return of the insignia.
7. — The Order may be conferred upon any person of any nationality or social strata, who has distinguished himself in the service of his country and/or to mankind and upon which proof has been established concerning the importance and utility of his efforts in the struggle for a moral and social restoration of those principles which correspond to the aims and ideals of the Order.
No one may be accepted into the Order if that person has not submitted a personal request for investiture in the prescribed manner. The applicant must be introduced by two Chevaliers who take upon themselves the positive responsibility, for that person. Any false declaration leads to immediate expulsion of both applicant and sponsors. Distinguished persons proposed by the Grand Chancellory, known for their merits and contributions and their utility for advancing the principles of the Order, will be exempt "motu proprio" from submission of an application.
8. — A. Through resignation B. Through expulsion due to conduct, statements or writings which are contrary to the morals, honour or rules of the Order. C. Death. D. Loss of civil rights.
9. — All Chevaliers are otherwise accepted for life. The number of Chevaliers in the United States is fixed at five hundred; three hundred Chevaliers, one hundred Chevalier-Commanders, seventy Chevalier Grand-Officers, and thirty Chevaliers Grand-Cross. Heads of State, members of Diplomatic missions and distinguished members of clergy or Honorary Citations are not included in that number.
10. — These are fixed by the High Council and may not under any circumstance, deviate from the aims and principles set forth in the By-Laws as registered under the charter of the Order in the United States and that of the Magisterial seat of the Order in Rome, Italy. Modification of By-Laws may be made only by the action in writing of the High Council and upon the approval of the Grand Chancellor.
11. — The Seat of the Grand Master (Magistere) until the said "Grand Maitre" has been elected remains with the Hereditary Grand Chancellor.
12. — For the diffusion of its stated objectives, principles and aims, the Sovereign Order of Cyprus has created the "Institute for High Moral and Social Studies" patronized and subsidized by the Order.
13. — The International Arts, Sciences and Letters Prizes and Awards of the Sovereign Order of Cyprus have been established to honour and reward those who have made outstanding contributions in their respective fields of endeavor and to encourage all good and noble works that seek to advance the great causes of freedom and the dignity of human beings throughout the world.
Nominations will be received by a Special Council by January 15th of each year for consideration. Selections will be made after diligent reesarch has been effected. The awards are given annually in Arts, Sciences and Letters.
The Diplomatic Representatives of the Order represent the Order in their respective countries or territorial districts on matters pertaining to the Order itself.
Legally, the Order is a subject of International Law with a legal national status, not unlike a Sovereign Power, at least in title.
The Principal Seat or Magisterial Seat of the Order is the residence of its Hereditary Grand Chancellor, unless he decrees otherwise. He may also establish alternate Seats of the Order in appropriate localities.
All of the aforementioned Seats of the Order, following the precise institutional aims, traditionally enjoy the privileges of immunity usually granted to regularly accredited foreign diplomatic Representatives. The premises, the archives, and generally, all the documents which belong or are possessed by the Order, are therefore inviolable.
14. — The Hereditary Grand Chancellor, for the purpose of propagating the Order as a Subject of Internationla Law in such Countries in which it is represented and with the right of Active and Passive diplomatic representation and to guarantee and direct such representation in each and every place where its credentials have been presented, can appoint in addition to an Ambassador Extraordinaire, Minister Plenipotentiary for every Nation and a Consul with specified territorial districts. To the aforesaid Diplomatic and Consular Representatives there can be issued by the Order, according to International Customs, appropriate Diplomatic Passports. The prerogatives of the use of a Diplomatic Passport of the Order is extended, for reason of proper respect to the Hereditary Chancellor as well as to the Highest of Dignitaries of the Order. The Ambassadors Extraordinaire and the Ministers Plenipotentiary as well as Diplomatic representatives, have the right and are accorded the respectful title of "Excellency" and can be accredited with the respective Head of State where the Order enjoys special privileges or recognition. The title of Minister Plenipotentiary of the Order can, furthermore, be conferred by the Hereditary Gran Chancellor honorarily, to a person of recognized High Social Position and well deserving of the Order itself. The same is applicable to the office of Consul. Heads of State will have reciprocal courtesies for the ac creditation to the Order of suitable Diplomatic Representatives with commensurate titles.
15. — The Hereditary Grand Chancellor likewise legally represents the Order in all of its relations, in all of its acts and when dealing with third parties guarantees the constant, conscientious observance of the present constitutions, whether in their entirety or in their individual parts; protects the interests of the Order and controls their administration. In the exercise of His High Power, the Hereditary Grand Chancellor may summon as assistants, a certain number of Knights from among the most illustrious of the Order, to whom may be entrusted, at his discretion, offices and various duties with honorary and gratuitous titles, for an unspecified length of time or eventually with hereditary right such as—Grand Chancellor, Grand Herald, Master of Ceremonies, Grand Treasurer and the Grand Prior, of the Nations in which the Order is represented.
16. — The Knights or Chevaliers and Ladies of the Order are distinguished by two categories, Justice and Grace. Those aspiring to the category of Justice must present, to the Heraldic Commission to gether with the application, an exact and legal documentation of paternal nobility. The requirement of nobility is not, moreover a catalyst in itself, but must commit the possessor of such nobility to folIow the examples of our ancestors in the maintenance of exemplary conduct in all facets of the spirit and of social life, so as to constitute an elite part of humanity.
The Knights of the Grand Cross of Justice have the right to be accorded the respectful title of Excellency.The rank of Knight of Grand Cross of Justice may also be confered with the right of transmission, in the line of the first-born, with out end.
The eventual donations, inheritances, bequests, the other unforeseeable proceeds and income of activities undertaken, as weIl as the surplus of income over expenses.
18. — The present Constitution encompasses a right to establish, within the Order, a Corps of the Guard of Honour, with appropriate military grades, uniforms, rank insignia, decorations and banner, pursuant to the laws of the country in which the Order is established following the laws of the Nations in which the Order is represented. The Corps shall have the Honorary duty of serving during ceremonies and sessions of the Order.
19. — The Order recognized the equality of all human beings, be they male or female. Accordingly, it has constitutionalized the conferment of the Order upon la dies of exceptional standing in the world community.
20. — The Grand Cross of the Order is generally conferred upon Heads of State, Ambassadors, Prime Ministers, Parliamentary and High Court Presidents, Lieutenant Generals, Admirals, and others of equivalent rank.The Grand Officer of the Order is generally conferred upon Envoys, Extraordinary and Ministers Plenipotentiary, Parliamentary Vice-Presidents, Departmental Ministers, High Court Judges, Major-Generals, Vice Admirals, Rear Admirals and others of equal rank.
The Commander of the Order is generally conferred upon Attaches and Consuis of Embassy, First Secretaries of Embassy, Consuls-General, members of the Government, Presidents and representatives of scientific institutions, Appeal Court Judges, Colonels, Lieutenant-Colonels, Commodores, Captains and others of equivalent rank.
The Chevalier or the Knight of the Order is generally conferred upon First Secretaries of Legation.Second Secretaries of Embassies, Consuls, Mayors, Commanders, Lieutenant Commanders and others deserving of such recognition and honour.
21. — I ..................................................... , in my status as ..................................................... of the Sovereign Order of Cyprus, promise and swear before Almighty God to observe faithfully the Constitution of the Order, of which I have precise knowledge; to remain forever faithful and obedient to the Grand ChancelIor, and, through him, als o to the other Dignitaries of Order in matters regarding the Order, its discipline, as weIl as its good conduct; always to be mindfuI of the noble purpose which the Order has set forth; to fulfill all the obligations inherent in the duties of my status; to observe and respect exemplarily the precepts of my Religion and the laws of my Country; to support and defend, by word and deed, the prestige of the illustrious Chivalrous Order to which I am honored to belong, and to fight with all means its eventual enemies; lastly, to be helpful in all works of Charity toward my fellow men, according to the means at my disposition, So help me God.


As the golf industry has evolved over the years, so has the type of continuing education golf course superintendents need. Education remains a funding priority for the EIFG. By providing funding for GCSAA education offerings, the EIFG is supporting relevant learning opportunities that meet the ever-changing needs of the golf course superintendent. From webcasts to formal education seminars, the EIFG is proud to be part of GCSAA's extensive education opportunities.


Foreman installation is the easiest. Just head over to https://www.theforeman.org/manuals/1.12/index.html#2.1Installation, select CentOS 7 and follow the 5 easy steps. The defaults are fine, but if you want to provision hosts on Digital Ocean or Amazon Web Services, be sure to use interactive mode (the -i switch on foreman-installer) and configure those settings. You can also re-run the installer as it will remember previous settings. Since the foreman installer is built with puppet, it will not override any settings – just enforce them. This allows running the foreman-installer on an already provisioned puppetserver non-destructive.
The control repo is the next step and is also very easy to perform. Just fork the Puppet control-repo to a local git repository or private git location. Instructions are included in the repo on how to set it up on a gitlab server.
With that file saved, run puppet apply r10k.pp. This will enforce and set up r10k.
# ... r10k stuff should go here. Make sure to add the module and its dependencies to the Puppetfile!
Please clarify steps configuring r10k. You mention r10k-install.pp manifest will need to be created, than mention once that's created to run r10k.pp. How did you get from creating r10k-install.pp to running puppet apply r10k.pp? Did you mean puppet apply r10k-install.pp?


Personal injury cases usually come right after accidents. It cannot be avoided since there are bound to be damages and probably even some injuries that result from whatever accidents occur. If it happens to be a vehicular accident, then a personal injury case definitely becomes a genuine necessity.
The situation will definitely lead to making personal claimsa, which should be made during a specific period after the accident has happened. It is therefore essential that you know how to get your personal injury claim started.
Among the most important things to remember when starting out with your personal injury claim is that you must make careful notice of details. You need to make notes of all the relevant information about the accident.
This will help you tremendously as your claim goes underway, especially since you just can't rely solely on memory – yours or anyone else's. The notes that you will make should include significant details such as the damages caused by the accident, any injuries, medical bills, police reports, etc.
You need to take note of the physical evidence at the scene of the accident, as it can help shed some light on what really happened. There's also the fact that it's useful as proof in finding out the party that's really liable or responsible for all the resulting damages and injuries. Remember that physical evidence of note has to be preserved.
Then you also need to notify your insurance company of the accident immediately. With car accidents, there is a need to inform both insurance carriers; yours and of the other party involved about your plan for filing a claim.
Since no accident occurs without anyone being at fault, you need to determine who's actually responsible for it. The legal responsibility is the important thing to note here because if there were any laws violated then that shall specify the path that the case will take.
A decision should also be made on whether you actually need to get the services of an attorney. If the accident is something that is a little complicated – with plenty of people involved and considerable damages and injuries sustained, then getting legal help is undoubtedly warranted. If in the accident and subsequent personal injury case there happens to be some other parties involved, then you will need to communicate with the insurance company of that other party. You'll need to do this in addition to making immediate contact with your own insurance company, just be sure to exercise caution as to the kind and amount of information that you are relating to that other insurance company.
Get the ball rolling as far as the process of making a claim is concerned. Remember though, that you are aware of the more important details of the accident – the total extent of injuries, the legal liability of the other party, any lost income, medical expenses, all other damages that you have suffered from the accident, and the exact amount that you are seeking in your claim.


text:
Apax Partners closes $7.5 billion global private equity fund
Apax Partners Closes $7.5 Billion Global Private Equity Fund, Increasing Total Committed Capital to More Than $40 Billion Across All Funds
rue21 enters into definitive agreement to be acquired by funds advised by Apax Partners for $42.00 per share in cash
Apax Partners, a global private equity firm, today announced a definitive agreement under which funds advised by Apax Partners will acquire all outstanding shares of rue21
Paradigm Names Arshad Matin as New President, CEO and Board Member
Paradigm Names Arshad Matin as New President, CEO and Board Member. New leadership follows Apax Partners acquisition in 2012.
Apax completes acquisiton of Cole Haan
Funds advised by Apax Partners, a global private equity firm, today announced that they have completed the previously announced acquisition of Cole Haan LLC, a leading designer and retailer of premium footwear and related accessories, from NIKE, Inc.
Apax Funds reach agreement to sell LR Health & Beauty Systems
Funds advised by Apax Partners ('Apax Funds') have reached an agreement to sell LR Health & Beauty Systems ('LR') to a consortium. The consortium consists of private equity firms Bregal Capital and Quadriga Capital. LR is a strongly growing company, which markets cosmetics, personal hygiene products, dietary supplements, perfumes and jewellery through the direct sales channel.
Apax agrees to acquire Cole Haan
Funds advised by Apax Partners today announced that they have entered into a definitive agreement to acquire Cole Haan LLC, a leading designer and retailer of premium footwear and related accessories, from NIKE, Inc. for $570 million in cash. The transaction is expected to close in early 2013.


text:
Online surfing broadcast breaks all records
December 26, 2011 | Surfing
The surfing world is astonished by the number of live streams and viewers that followed the 2011 Triple Crown of Surfing online. More than 10.4 million live streams across 13 days of competition were registered through the official website of the contest and on mobile devices.
The peak of audience in the online broadcast happened during the Pipeline Masters, with more than 6 million streams initiated.
Overall website visitors during the contest period rose from 2.6 million in 2010 to just more than 4 million this year. This year's live streams were viewed by more than 1.8 million unique visitors versus 800,000 during the 2010 Triple Crown season.
Results also showed a dramatic shift to hand-held devices with an estimated 25-30% of streams being viewed on mobile devices, many via the app for iPhone, iPad and iPod Touch. iPhones alone generated 1.1 million streams, or roughly 10% of viewership.
"Surfing's audience is passionate, active and adventurous, and, if they cannot watch in person, they're finding Vans Triple Crown of Surfing events on their computers and mobile devices," says Vans Vice President of Marketing, Doug Palladini.
"Hawaii also helps us to reach a broader audience than any other surfing event given its incredible scenery, dramatic waves and rich beach culture." Webcasts are professional full HD productions simultaneously broadcast on television via Oceanic Time Warner Cable in Hawaii, Time Warner Cable in Southern California and the Desert Cities, and on Fuel TV in Australia.
Surf industry clearly leads the path of success in the sports live stream technology and online broadcast platforms.
Interesting facts about the Triple Crown of Surfing
John John Florence wants to win the 2016 Triple Crown of Surfing
Pumping surf opens the 2015 Hawaiian Pro
Haleiwa, Sunset and Pipeline: the 2015 Vans Triple Crown of Surfing is on
Co-founder of the Triple Crown of Surfing announces full retirement


text:
Walter Bellin
Shana Bellin
Corporate Mindfulness
Organisational Culture Change
Professional Coaching Services
Teambuilding Programmes
Leadership Literature
Our leadership development programmes are based on the fundamental premise that truly great leadership is the result of much more than possessing a set of leadership skills. At its best, leadership is based on the leaders having certain human character traits and capabilities that cause people to trust, be inspired by and be willing to join the leader in pursuing his/ her vision. These character traits and capabilities include (but are not limited to):
Accurate and in depth self awareness;
Courage, integrity and honesty;
The ability to remain calm and steady under pressure or in a crisis;
The capability of envisioning and communicating a compelling vision of the organisations aspirations;
Humility;
Insight into and empathy towards others;
The ability to "walk the talk;
Resilience and tenacity
And above all – Authenticity
Acquiring and nurturing these kinds of character traits and capabilities is a process of personal development that requires increasing the leader's level of awareness or consciousness. This includes:
Awareness of ourselves – of our emotional states and how these affect out behaviour, of our strengths and current limitations and of our basic mindset in approaching our work and workplace relationships
Awareness of others – including their emotional states and how these affect their behaviour, their strengths and current limitations and their basic mindset in approaching their work and workplace relationships. This kind of awareness is crucial to increasing emotional intelligence, which, in turn, is central to developing that kinds of character traits and capabilities described above.
Our leadership programmes are designed to both enable and inspire participants to undertake this journey of increased awareness and personal development, starting from whatever developmental level they have currently achieved. The net result is leaders that are far more capable of delivering the outcomes that they, their companies or organisations desire.
© Corporate Crossroads


Journals that accept replies to other journals?
It's been a while since I've written one of these, but I recently wrote a short "reply" piece to a journal article. As we have discussed before, one difficulty with replies is that most journals don't accept replies to articles in other journals. Consequently, unless you convert a reply into more of a "freestanding" article--something I'm really not interested in spending time on in the case at hand--one can generally only submit replies to the journal the original piece was published in, as well as the smallish number of other journals that consider them.
Anyway, because I'm in this position--yet I don't know which journals do accept replies to articles in other journals, and it would be quite time-consuming to google journal after journal--I though it might be helpful to "crowdsource" a list of such journals here.
So then: which philosophy journals (specialist or generalist) do you know of that consider straight-up replies to articles in other journals? Many thanks in advance to everyone who chimes in!
Let's say that you were a TT junior faculty member of a department without a graduate program. And let's say that you cared about teaching and you were just certain that if only your department would hire some rock star teachers and assign them to intro-level courses, then the number of majors would skyrocket and those additional students would benefit from increased exposure to philosophy. But let's say, also, that several senior members of your department weren't so concerned about exposing more students to philosophy, or diversifying the field, or increasing the number of majors, or teaching fantastic courses. Those members of the department are impressive scholars, especially for members of a department without any graduate students, but they are basically of the attitude that adequate teaching is all one needs. Or perhaps, deep down, they are skeptical that there even is such a thing as great teaching that can break through to students who otherwise would not major in philosophy. Here is the question: how would you approach your role on a search committee so as to maximize the chances that your department hired a truly fantastic teacher who would just rake in the majors?
In the Secrets of Search Committees series, I shared some experiences of what goes on behind the scenes in the job market on the hiring side of things. I hope you all found the series helpful, and if I think of any more things to share I will continue adding to the series. In the meantime, I thought it might be worth trying something new: a series where you, the Cocoon's readers, ask search committee members whatever questions on your mind.
My thought for this series is that it might be something like our "how can we help you?" series, where I periodically post open threads to solicit reader queries. In that series, the queries can be on anything. Whenever a reader posts a query, I write up an original post responding to it and inviting reader discussion. I figured a similar series posing questions specifically to search committee members might be helpful. So, in the comments section below, please share any questions you have for search committee members. I will then write up a short post in reply (based on my experience on search committees), and then ask other people who have served on search committees to weigh in.
Sound good? Fire away, the more questions the better!
Reader query: MA thesis reader?
The objective of this thesis is a broad defense of the passage thesis presented by Ned Markosian. My claim is that for most intents and purposes the word flow and passage are interchangeable. There is some distinction to be made between the dimension or extension of time that is unlike spatial extension or dimension that it is fair to say that it passes or as I prefer to claim it flows. There are two very broad sorts of criticisms that are levelled at the passage thesis. They are motion and meaning.
The first criticism is there is something incoherent or contradictory about the flow of time. Simply put, time is used to measure motions and therefore to describe time itself as a motion seems wrong. If time is a motion as flow implies it needs to be measurable as a rate or at least understood as measurable by a rate. The second criticism proposes that there is nothing usefully descriptive about referring to time as passing or flowing. Everyone agrees that time is not in all respects like a flowing river. The second criticism contends that once we eliminate all the ways time does not flow like a river there remains nothing flow like about time. At best it is without any content and worst it is deceptive. They contend if we eliminate a description of time as passing or flowing we losing nothing testable and we lose no useful concepts. I will argue that the flow of time is neither incoherent nor barren of conceptual content.
If you have a background in philosophy of time and are interested in helping Mark out, please feel free to email him at mgarron@yorku.ca.
I think the practice of the never ending job cycle needs to be fixed. It is utterly absurd to me that application deadlines for visiting positions are as late June 29th. That is, this is when they begin reviewing applications. I understand these positions may open suddenly and is beyond the control of the search committee, department, or university.
How is anyone applying for this kind of position supposed to make any decisions about their life?
Like signing a new lease? Having jobs ads continue to roll in this late makes it so that the cycle never really ends! As a consequence of the cycle never ending, neither does the anxiety.
Is there any remedy to this situation?
I'm not sure I entirely get this reader's worry about temporary positions. When I was on the market, I recall me and my friends who were desperate for a job being happy when a visiting position opened up late in the game. It meant there was still hope--and indeed, many people I know (including me) got visiting offers very late in the game, and were more than happy to! That being said, I very much do empathize with the reader's broader concerns about the never-ending job cycle.
Helen and I have been hard at work matching mentors and mentees who have signed up in this year's iteration of our job-market mentoring program. While we currently have several mentees we have not yet been able to match, we have matched most of those who have signed up so far--and will continue looking to match those we haven't matched yet. In any case, the really good news is that for the first time since we have run the program, we have significantly more mentors signed up than we do prospective mentees.
So, if you are a job-candidate out there with special challenges on the job-market (including, among other things, inadequate access to mentoring whatever your background), please do consider signing up: at this point there is a good chance we will be able to find a mentor for you! Oh, and I should probably add: if you do sign up, please do give us your name, not just your email address. It helps us immensely in making matches.
What it is like to be a philosopher: Helen De Cruz!
This is just a quick note that our own Helen De Cruz (Oxford Brookes) is the subject of a nice interview over at What Is It Like to Be a Philosopher. Helen talks about all kinds of interesting things, ranging from her working class background, to how non-Western philosophy initially attracted her to the discipline, and her interests in music, visual arts, sci-fi/fantasy, and politics. Check it out, it's a great interview!
After another brutal year on the job market, I've managed to secure a decent two-year postdoc at a pretty nice institution. Although I've been advised to go back on the market again in the fall, I'm strongly considering sitting the next round out. Mainly, this is for mental health reasons: I get really depressed and anxious when I'm on the market, to the point that it starts to interfere with my work and personal life. I also figured that time not spent worried about the job market could be better spent making the best of my postdoc for when I do go on the market again the next time. And, of course, there's the fact that the odds of getting a job are so slim that the effort of going out on the market again could be for naught (it's happened before). But, there are very few jobs in my AOS, and passing on any of them seems like a very expensive luxury. I was hoping to hear from other people who have been faced with this kind of calculus, and how they ultimately made their decisions. In short, is it worth it to go out on the job market when you don't absolutely have to?
Take a break. The only reason to apply for a job is if you work in a micro-sub-field, like aesthetics. Then it seems you must apply. But you only need to apply to those few jobs. But think of your health and well being.
I agreed. Despite being warned by many people that taking a break was too risky, I took a one or two year break from the market myself, and it worked to very good effect: the break not only improved my mental well-being--it also enabled me to focus on improving as a candidate, as it enabled me to publish more, improve my teaching, and engage in service to my university that I wouldn't have had time for had I been on the market non-stop. Still, upon further reflection, I have to note that I was in a unique position. I was in a year-to-year visiting position that I had reason to believe would be renewed annually for up to seven years. Given that relatively few people are in such stable long-term nonTT positions, taking a break could well be more risky for most people than it was for me.
Which is why I want to put it to you all. Did any of you take a break from the market? If so, what kind of position were you in when you took it? And how did it turn out? Did it help your well-being? Did it help you improve as a candidate? And did you end up getting a job? I think it would be really good--and hopefully, helpful to 'Time for a Break?'--to find out!
Helen De Cruz (Oxford Brookes) and I are happy to announce that signups are open for this year's iteration of our Job-Market Mentoring Program. We plan to run signups through August, and hope to match as many job-candidates in need with mentors. Also, thanks to the feedback we received on this year's program, we are going to experiment with something new. In cases where we are unable to find a suitable mentor (as we always have more candidates in need than mentors available), our signup process will give mentees the option to sign up to be matched with another mentee for peer-support.
This project aims to complement The Job Candidate Mentoring Program for Women in Philosophy by providing academic job-market mentoring to all those in need regardless of background who cannot utilize the Mentoring Program for Women in Philosophy. The aim of this mentoring project is just what it sounds like: a scheme to enable job candidates in philosophy who face special challenges, including those with little access to mentoring (e.g., because their department or advisor does not offer this), to receive advice and support from more experienced members of the profession.
Prospective mentors and mentees are invited to sign up on our survey.
Although the program is open to candidates of any gender, we encourage women candidates to approach The Job Candidate Mentoring Program for Women in Philosophy first, as our program is intended to complement rather than compete with that program.
Although we will do our best to accommodate all candidates in need, the program will prioritize candidates with special job-market challenges--for example, bi, gay, and trans* candidates, candidates with disabilities, non-white (non-female) candidates, as well as candidates of any background or social identity who have inadequate access to job-market mentoring (e.g., candidates lacking access to their grad program's placement director or otherwise lacking adequate mentoring).
Mentees who are matched with mentors are expected to use their mentor. Mentors should let us know if their mentee is not participating, so that we can pair the mentor with a mentee who will.
Crucially, in order for the program to work--and to help as many candidates in need as we can--we need mentors with tenure stream (i.e. tenure-track or tenured) jobs to sign up. Accordingly, Helen and I would like to encourage readers to reach out to any tenure-stream faculty you know and share the details of our program, as well as the feedback we received from this year's mentors and mentees. We want to help as many candidates in need as we can!


text:
Fifa 21 PS5 update – free upgrade to loading, graphics and more is out now
Harry Pettit, Senior Digital Technology and Science Reporter
PLAYSTATION 4 players who own Fifa 21 can now get a free upgrade to the next-gen version of the game.
That's because EA Sports is letting anyone upgrade from the PS4 version of the world famous footy sim to the PS5 version for free.
Find out all the latest FIFA 21 news, stories and updates
Fifa 21 is out December 4 on the PlayStation 5 having launched on the PS4 last monthCredit: EA Sports
It grants you boosted graphics and shorter loading times, as well as a handful of other features EA is expected to reveal next week.
The update is available through EA Sports' Dual Entitlement scheme, which also offers free upgrades for Xbox One players to the Xbox Series X version of the game.
As well as getting the next-gen Fifa 21, participants have the option to port across all of their progress in the game's online multiplayer mode Ultimate Team, as well as the single player campaign mode, Volta Football.
"Entitle for FIFA 21 on either PlayStation 4 or Xbox One before the release of FIFA 22, and upgrade your game for the equivalent next generation console (PlayStation 5 or Xbox Series X|S) for free," EA says on its website.
Sony's PS5 console boasts an unusual white and black design
"All progress you make and content you acquire in FIFA 21 Ultimate Team and Volta Football will carry over!"
Fifa 21 was released October 9 for Xbox One, PS4 and PC. However, it came out a little later – December 4 – on PS5 and Xbox Series X.
To claim your free next-gen copy of the game, you need to have purchased a copy of it for Xbox One or PS4.
If you buy a physical copy, you're provided with a code in the box. Plug that code into the "redeem code" section of the PlayStation or Microsoft store to download the Xbox Series X/S or PS5 version of Fifa 21.
If you own a digital copy of Fifa 21, you can download the next-gen version by simply heading to the PlayStation or Microsoft store on your new console for a free upgrade.
The Xbox Series X has a tall, boxy design that's markedly different from previous models
How much does FIFA 21 cost?
Unsurprisingly, FIFA 21 doesn't come cheap, and its three varying editions mean a difference in cost.
The Standard Edition sets you back around £49.99 on PS4 and Xbox One.
Meanwhile, the Champions Edition - which gives you three days early access, along with a host of Ultimate Team benefits - costs £79.99.
And the Ultimate Edition that also comes with early access and extra FUT rewards and packs, will make an £89.99 hole in your pocket.
In FIFA 21's trailer, they revealed that Borussia Dortmund ace Erling Haaland's famous celebration will be includedCredit: https://www.youtube.com/watch?v=Jmliox1trPQ
Is there a FIFA 21 demo?
Fans of FIFA - like all games - look forward to getting their first glimpse in the demo.
However, this year, EA Sports have decided not to release one.
The games company declared that they are focussing on development for the upcoming releases of PS5 and Xbox Series X.
What are the top 10 ratings in FIFA 21?
The release of the FIFA 21 ratings is an exciting day for fans of the game and football.
With the ratings based on the footballers' real-life attributes, it has often reignited the debate over who is the best in the world - and typically in the past decade or so, is it Lionel Messi or Cristiano Ronaldo?
FIFA 21 has sided with the Argentine, with the Barcelona star having an overall rating of 93.
That is just one ahead of his Portuguese rival as Juventus' star man clocks in at 92.
The top ten for this year's edition are:
Lionel Messi - 93
Cristiano Ronaldo - 92
Robert Lewandowski - 91
Kevin de Bruyne - 91
Neymar - 91
Jan Oblak - 91
Virgil van Dijk - 90
Kylian Mbappe - 90
Mohamed Salah - 90
Sadio Mane - 90
Here is the full top 100 FIFA 21 player ratings.
What are the new features on FIFA 21?
Just like every year, FIFA 21 brings in a raft of changes - including the improved crossing ability and career mode.
On the gameplay side, the Agile Dribbling system allows more creativity in 1-on-1 situations, while Positioning Personality improves in-game intelligence.
PlayStation 5 and Xbox Series X – when did they launch and how much do they cost?
Microsoft launched the Xbox Series X and its smaller, cheaper sibling, the Series S, on November 10.
The release date covered the UK, US, Australia and a bunch of other countries worldwide.
The disc-free Series S costs £249/$299, while the Xbox Series X comes in at £449/$499.
So how does that compare to the new Xbox's biggest rival, the PlayStation 5?
The PS5 launch fell on November 12, but not everywhere.
That date only stood for the US, Japan, Canada, Mexico, Australia, New Zealand and South Korea.
UK gamers had to wait until November 19 to order one of the consoles.
The PS5 proper costs £449.99/$499.99, while the digital edition comes in at £359/$399.
You will get more control over the runs by your attackers to get in behind defences, while FIFA 21 have updated their collision system so you should get less hilarious gaffes and falling over by your players.
The Career Mode has also been given a much-needed overhaul, including the ability to simulate matches and take control of the key moments.
You can also teach new positions to your players in a revamp of the training system, while for the transfers, you're able to make Loan-to-Buy offers along with being offered swap deals.
David Beckham lands special edition FIFA 21 cover as Man Utd legend is added into game as a FUT Icon
Most read in Gaming
New Playstation 5 stock TODAY at Game, Argos, Smyths, Currys and Amazon
NEXT-BOX
Amazing video reveals what first PORTABLE Xbox might look like
Pokemon Snap release date revealed as iconic 90s game remade for Nintendo Switch
CRIME PLAYS
GTA 6 leak reveals how NEW version of Grand Theft Auto Online may be coming
PS5 hope as Sony 'to make 18MILLION new consoles' in 2021 after mass sell-out
PRICE SLICE
Ghost of Tsushima is 20% off in brilliant deal for PS4 and PS5 owners
In other news, check out our Xbox Series X review.
We also took a look at the Xbox Series S.
And try the powerhouse Dell Alienware R10 gaming PC on for size.
What do you make of the new consoles? Let us know in the comments!
We pay for your stories! Do you have a story for The Sun Online Tech & Science team? Email us at tech@the-sun.co.uk
Gaming Explainers
Gaming Releases
Gaming Tips


text:
The President of Ukraine visited the Church of the Holy Sepulchre
in Carousel Front Page, Politics
President met with Secretary-General of the Jerusalem Patriarchate Archbishop Aristarchos of Constantina and visited the Church of the Holy Sepulchre.
President of Ukraine Petro Poroshenko met with Secretary-General of the Jerusalem Patriarchate Archbishop Aristarchos of Constantina and visited the Church of the Holy Sepulchre.
The Head of State noted the important historic role of the Jerusalem Patriarchate in preserving the holy places and strengthening the authority of the Christian church around the world.
The Head of State noted that with the obtaining of the Tomos of autocephaly on January 6, 2019, the Orthodox Church of Ukraine – one of the largest countries in Europe, had joined the family of Orthodox churches.
The President emphasized that the given event would forever remain in the history of Ukraine in one line with the Baptism of Vladimir the Great and the proclamation of independence having become an act of its spiritual independence.
The Head of State also visited the Church of the Holy Sepulchre where he prayed for the cessation of Russian aggression, for peace and prosperity of Ukraine.
Petro Poroshenko also talked to Ukrainian pilgrims who came to Jerusalem.
SOURCE: president.gov.ua
Tags: Patriarchate of JerusalemPetro PoroshenkoPresident of Ukraine
The feast of Saint Theodosius the Cenobiarch at the Patriarchate of Jerusalem (VIDEO)
Why did the Patriarch of Jerusalem complain to the Archbishop of Athens
Celebration event in Qatar
Patriarchate of Jerusalem continues to protect its properties, progressively advancing land-use planning in Talpiot
The funeral service of former Patriarch Eirinaios of Jerusalem (VIDEO)
Visits of the Christian Churches of Jerusalem at Christmas (VIDEO)
Four stolen frescoes were repatriated to Cyprus