text:
using System;
using System.Collections.Generic;
using System.Text.Json;
using Azure.Core;
using Azure.ResourceManager.HybridData.Models;
using Azure.ResourceManager.Models;

namespace Azure.ResourceManager.HybridData
{
    public partial class HybridDataJobDefinitionData : IUtf8JsonSerializable
    {
        void IUtf8JsonSerializable.Write(Utf8JsonWriter writer)
        {
            writer.WriteStartObject();
            writer.WritePropertyName("properties");
            writer.WriteStartObject();
            writer.WritePropertyName("dataSourceId");
            writer.WriteStringValue(DataSourceId);
            writer.WritePropertyName("dataSinkId");
            writer.WriteStringValue(DataSinkId);
            if (Optional.IsCollectionDefined(Schedules))
            {
                writer.WritePropertyName("schedules");
                writer.WriteStartArray();
                foreach (var item in Schedules)
                {
                    writer.WriteObjectValue(item);
                }
                writer.WriteEndArray();
            }
            writer.WritePropertyName("state");
            writer.WriteStringValue(State.ToSerialString());
            if (Optional.IsDefined(LastModifiedOn))
            {
                writer.WritePropertyName("lastModifiedTime");
                writer.WriteStringValue(LastModifiedOn.Value, "O");
            }
            if (Optional.IsDefined(RunLocation))
            {
                writer.WritePropertyName("runLocation");
                writer.WriteStringValue(RunLocation.Value.ToSerialString());
            }
            if (Optional.IsDefined(UserConfirmation))
            {
                writer.WritePropertyName("userConfirmation");
                writer.WriteStringValue(UserConfirmation.Value.ToSerialString());
            }
            if (Optional.IsDefined(DataServiceInput))
            {
                writer.WritePropertyName("dataServiceInput");
#if NET6_0_OR_GREATER
				writer.WriteRawValue(DataServiceInput);
#else
                JsonSerializer.Serialize(writer, JsonDocument.Parse(DataServiceInput.ToString()).RootElement);
#endif
            }
            if (Optional.IsCollectionDefined(CustomerSecrets))
            {
                writer.WritePropertyName("customerSecrets");
                writer.WriteStartArray();
                foreach (var item in CustomerSecrets)
                {
                    writer.WriteObjectValue(item);
                }
                writer.WriteEndArray();
            }
            writer.WriteEndObject();
            writer.WriteEndObject();
        }

        internal static HybridDataJobDefinitionData DeserializeHybridDataJobDefinitionData(JsonElement element)
        {
            ResourceIdentifier id = default;
            string name = default;
            ResourceType type = default;
            Optional<SystemData> systemData = default;
            string dataSourceId = default;
            string dataSinkId = default;
            Optional<IList<HybridDataJobRunSchedule>> schedules = default;
            HybridDataState state = default;
            Optional<DateTimeOffset> lastModifiedTime = default;
            Optional<HybridDataJobRunLocation> runLocation = default;
            Optional<UserConfirmationSetting> userConfirmation = default;
            Optional<BinaryData> dataServiceInput = default;
            Optional<IList<HybridDataCustomerSecret>> customerSecrets = default;
            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("id"))
                {
                    id = new ResourceIdentifier(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = property.Value.GetString();
                    continue;
                }
                if (property.NameEquals("type"))
                {
                    type = new ResourceType(property.Value.GetString());
                    continue;
                }
                if (property.NameEquals("systemData"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    systemData = JsonSerializer.Deserialize<SystemData>(property.Value.ToString());
                    continue;
                }
                if (property.NameEquals("properties"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    foreach (var property0 in property.Value.EnumerateObject())
                    {
                        if (property0.NameEquals("dataSourceId"))
                        {
                            dataSourceId = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("dataSinkId"))
                        {
                            dataSinkId = property0.Value.GetString();
                            continue;
                        }
                        if (property0.NameEquals("schedules"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List<HybridDataJobRunSchedule> array = new List<HybridDataJobRunSchedule>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(HybridDataJobRunSchedule.DeserializeHybridDataJobRunSchedule(item));
                            }
                            schedules = array;
                            continue;
                        }
                        if (property0.NameEquals("state"))
                        {
                            state = property0.Value.GetString().ToHybridDataState();
                            continue;
                        }
                        if (property0.NameEquals("lastModifiedTime"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            lastModifiedTime = property0.Value.GetDateTimeOffset("O");
                            continue;
                        }
                        if (property0.NameEquals("runLocation"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            runLocation = property0.Value.GetString().ToHybridDataJobRunLocation();
                            continue;
                        }
                        if (property0.NameEquals("userConfirmation"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            userConfirmation = property0.Value.GetString().ToUserConfirmationSetting();
                            continue;
                        }
                        if (property0.NameEquals("dataServiceInput"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            dataServiceInput = BinaryData.FromString(property0.Value.GetRawText());
                            continue;
                        }
                        if (property0.NameEquals("customerSecrets"))
                        {
                            if (property0.Value.ValueKind == JsonValueKind.Null)
                            {
                                property0.ThrowNonNullablePropertyIsNull();
                                continue;
                            }
                            List<HybridDataCustomerSecret> array = new List<HybridDataCustomerSecret>();
                            foreach (var item in property0.Value.EnumerateArray())
                            {
                                array.Add(HybridDataCustomerSecret.DeserializeHybridDataCustomerSecret(item));
                            }
                            customerSecrets = array;
                            continue;
                        }
                    }
                    continue;
                }
            }
            return new HybridDataJobDefinitionData(id, name, type, systemData.Value, dataSourceId, dataSinkId, Optional.ToList(schedules), state, Optional.ToNullable(lastModifiedTime), Optional.ToNullable(runLocation), Optional.ToNullable(userConfirmation), dataServiceInput.Value, Optional.ToList(customerSecrets));
        }
    }
}

redpajama_set_name: RedPajamaGithub


Growing up, I was surrounded by talented people. It was normal to wear clothing that my mom sewed especially for me, or to wrap up in a hand-crocheted afghan while watching television. If something in our house needed repair, my dad took care of it :: he even built a two-story addition and an exterior garage. Car trouble? No problem, he took care of that as well.
I was fortunate to know both sets of grandparents. Grandma Doris and Pop Pop were talented too. There was always something creative happening at their house :: sewing and cooking, crochet, needlepoint, knitting, and model-building. And I'll always remember the beautiful gardens that Mumom tended and the wonderful meals she prepared.
But Uncle Paul? I had no idea he was super-talented. Aunt Janie and Uncle Paul didn't live nearby. They always stayed in contact and visited whenever possible but I wasn't exposed to their daily life and talents. Turns out, Uncle Paul is a whittler.
Not long ago I received a photo of some work he's been doing. It's so special I just knew you'd like to see it too.
In the late 1940's, Uncle Paul was a Boy Scout. He purchased this book, published by the Boy Scouts of America in 1945, and so began his interest in carving. Recently, he acquired an old copy of the publication and he's been chipping away in his spare time.
In Uncle Paul's words, "the wood of choice for this type of hobby is Basswood which is softer than pine and easy to work with. Basswood is light in color and can be found at your local lumber yard". He uses an extremely sharp X-acto blade for cutting the wood and mentioned that occasionally a few fingers get cut as well.
It's pretty remarkable that this little Beagle, who's overflowing with personality, was created using a simple piece of wood and a carving knife. I'd say Uncle Paul is a very talented whittler, wouldn't you?
because our Star Magnolia's in full bloom.


text:
How Much Of The Motoring World Does Volkswagen Own?
Your nearest Volkswagen dealership is bound to have many eye-catching vehicles from the German brand available to order, such as the Golf, Passat and Polo. You may be surprised to hear though that the Volkswagen Group is made up of these seven iconic car brands too…
Audi joined the Volkswagen Group family way back in 1965. It was then that Volkswagen completed the acquisition of Auto Union GmbH from Daimler-Benz, with this subsidiary responsible for producing the first Audi vehicles since the end of the Second World War.
Today, Audi is one of the world's leading premium brands and has operations in over 100 markets across the globe. The German manufacturer is also capturing plenty of attention with its revolutionary technology — piloted driving, electromobility and an Audi AI setup are just a few ways that the brand is helping to shape the future of driving.
Number of employees: 90,705
Number of models (in the UK): 65
2017 sales: 174,982
Market share in 2017: 6.89%
2. ŠKODA
The 1990s was the decade where the partnership between the Volkswagen Group and ŠKODA began. In fact, a joint venture partnership agreement was made between Volkswagen and ŠKODA in 1991, with part of this seeing the German manufacturer gaining a 30 per cent stake in the Czech car maker. The stake that Volkswagen had in ŠKODA increased in December 1994 to 60.3 per cent, before rising to 70 per cent in 1995.
It was decided by Volkswagen to turn ŠKODA into a wholly owned subsidiary of the Group as the world was celebrating a new millennium. With the number of deliveries made by the Czech manufacturer increasing by more than sevenfold since the partnership between them and Volkswagen began in 1991, it would be hard to argue against the pairing being a highly successful one for ŠKODA.
2017 sales: 79,758
3. SEAT
The co-operation agreement between Volkswagen Group and SEAT catches the eye as it marked the first time that Volkswagen chose to expand outside of its home nation of Germany. This co-operation agreement was signed in September 1982, with the rest of the 1980s seeing plenty more activity between the pair of firms. In June 1986, for instance, Volkswagen successfully acquired a 51 per cent controlling stake in SEAT — a monumental moment in the motoring industry as it meant SEAT became the Volkswagen Group's first non-German subsidiary — before increasing its stake to 75 per cent in December 1986 to become SEAT's major shareholder.
It was in 1990 that the Volkswagen Group made the decision to purchase the complete equity of SEAT. This was a move that saw the German company take full ownership of the Spanish manufacturer and resulted in SEAT being made a whole subsidiary of Volkswagen.
4. Porsche
The most recent car brand to join the Volkswagen Group is Porsche. However, it did take a few years for Volkswagen to become the parent company of the highly successful German sports car manufacturer.
Towards the end of 2009, the Volkswagen Group successfully purchased 49.9 per cent stake in Porsche AG — a decision that marked the Volkswagen's first step towards an 'integrated automotive group' approach with Porsche. By 2011, a merger between the two companies was scheduled to occur. Unfortunately, unquantifiable legal risks meant that an announcement had to be made stating that the merger was not possible.
However, an announcement was made by Volkswagen the very next year that they were looking into purchasing the remaining half of the shares in Porsche. It was a deal priced at €4.46 billion. This remaining stake in Porsche was officially made by the Volkswagen Group in August 2012.
5. Bentley
While the Volkswagen Group has been associated with Bentley since 1998, the full story is a bit more complicated than that. This is because back in 1997, then Bentley owner Vickers announced that it was putting Rolls-Royce Motors up for sale. BMW came in with an offer of £340 million for the company — not too big of a surprise considering that BMW had been supplying Bentley and Rolls-Royce with engines and other components, as well as the fact that BMW and Vickers both had experience building aircraft engines.
Vickers was offered £430 million by Volkswagen though, outbidding BMW. Even with the deal going through, Volkswagen didn't have ownership of everything. They had the production and administrative facilities, the model nameplates, the vehicle designs and both the Spirit of Ecstasy and Rolls-Royce grille shape trademarks — but they didn't have the Rolls-Royce name or logo, which remained in ownership of Rolls-Royce Holdings.
Things only got more complicated during 1998. BMW began to supply components for new Bentley and Rolls-Royce cars in that year, as well as paid £40 million to Rolls-Royce so that they could licence the Rolls-Royce name and logo. After plenty of battling and negotiating, an agreement was made for BMW to continue with their deal to supply engines and components. Meanwhile, Volkswagen gained access to the rights of both the names and logos.
The deal was altered once more on January 1st 2003. This is when Volkswagen officially became the sole provider of cars that were under the Bentley marque — BMW were presented with Rolls-Royce at the same time.
Number of employees: 4,332
2017 sales: 1,753
6. Bugatti
Over the last century or so, some of the most spectacular cars in the world have been produced by Bugatti. The brand's founder Ettore Bugatti and his son Jean have both always had the ambition to achieve the perfect synthesis of art and technology in everything they created.
It was in 1998 that the Volkswagen Group and Bugatti's partnership started. During that year, Volkswagen bought the rights to produce cars which were under the Bugatti marque. However, it wasn't until the year 2000 that Volkswagen took the official steps to incorporate Bugatti Automobiles into its Group. Around the same time, the Group also bought the former guest house of Ettore Bugatti — based in Dorlisheim — and transformed it into the company's headquarters.
Number of models (in the UK): 1
2017 sales: N/A
Market share in 2017: N/A
7. Lamborghini
So much was going on at the Volkswagen Group during 1998, that's for sure. As well as beginning their partnerships with Bentley and Bugatti during that year, the German company also set their sights on adding Lamborghini to their impressive portfolio of acquisitions.
When 1998 began, Lamborghini was owned by holding company MegaTech, a firm who, in turn, were owned by Indonesian conglomerate SEDRCO pty. A financial crisis would impact a lot of Asia during this year though, with one repercussion being that Lamborghini had to seek a change in ownership. The new chairman of Volkswagen at the time, Ferdinand Piëch, stepped up and bought Lamborghini for an estimated $110million.
Lamborghini began a restructuring phase after this acquisition, becoming the holding company Lamborghini Holding S.p.A and being granted with some stability following a rough few months.
Facts & figures regarding the entire Volkswagen Group
Volkswagen were founded in 1937. They have 200,266 employees on their books and 33 models available across the UK, not to mention achieving 208,462 sales in 2017 to record an 8.21 per cent share of the market. As such, the following is the scale of the Volkswagen Group's car brands combined:
Collective years of experience: 731 years
Number of employees: 372,264
Number of models (in the UK): 213
Market share in 2017: 21.07%
The figures which were used throughout this article were correct as of August 2nd 2018.
https://www.carmagazine.co.uk/car-news/industry-news/uk-2017-car-sales-analysis-winners-and-losers/
https://www.osv.ltd.uk/who-do-volkswagen-own/
https://www.volkswagenag.com/en/group.html
PreviousDevastating DDoS Attacks That Can Affect Any Website
Next5 Reasons to Consider Cloud Colocation
Setting Up A Business In Italy – Know What Is Legally Right
Small Business Success 101: Strategies For Growth
3 Ways To Increase Profits and Lower Your Bottom Line
How To Trim The Fat From Your Business Overheads
No Cashier Necessary: 4 Pros and Cons of Implementing Self Checkouts
Startup Essentials – 5 Services Every Startup Needs to Ensure Success

redpajama_set_name: RedPajamaCommonCrawl


text:
Isolationism and Canada's role in the Syrian refugee crisis
Mark Manicini
FREDERICTON, N.B. (CUP)—As of late, critics, political commentators and the Trudeau government alike have been preoccupied with one issue: the worldwide refugee crisis in Syria, and the admission into Canada of those same Syrian refugees. Two of Trudeau's recent pronouncements are particularly relevant on the matter. At the same time, they are wholly incongruous with one another. What are these pronouncements, you might ask?
The first promise, undoubtedly popular among the Canadian electorate (considering it was one of Trudeau's campaign promises) was a full-out withdrawal of Canadian jets from the coalition air strike effort against ISIL. Though it appears that this promise has not yet been fulfilled, we have heard nothing from the government suggesting that it has rejigged its expectations for this goal.
The second promise, also heralded in the election campaign, was a commitment to bring in 25,000 refugees by the end of the 2015. The government wisely reconsidered this goal, and decided it would be able to bring in only 10,000. However, the government also failed to achieve this goal. It seems as if, sometime this month, the 10,000 goal will be reached.
How are these two promises at all inconsistent with one another? One might argue that they aren't. They are a decisive pull away from militarism, a focus on peacekeeping in Canada's historic tradition, and a bent toward military isolationism which has obviously struck a chord with the Canadian electorate. Yet, to accept this inconsistency is to accept an impoverished view of Canada's role in the world.
First thing's first: These refugees exist as refugees because of Islamic terrorism and infighting in the Middle East, particularly in Syria. These people have been displaced not only by corrupt governments, but by terrorism. The international community has decided, in its wisdom, to fight against ISIL because of what it represents. Not only does it represent a bastardization of the Islamic faith and an existential threat to people the world over, but it represents a real humanitarian crisis. ISIL cannot be ignored. We have seen branches of this deep-rooted tree rear their ugly heads in Paris, California, Philadelphia and southeast Asia. The international community is attempting to up its game by responding with force to ISIL. At some point, countries the world over decided that enough was enough.
Yet, Trudeau has not. Drunk on the tempting liquor of isolationism, Trudeau indicated to U.S. President Barack Obama that Canada would not contribute to air strikes against ISIL. ISIL itself, insofar as it is a consistent group, has acknowledged the damage that these air strikes have done and can do on its infrastructure. Yet, our country is not a part of this worldwide effort. We have implicitly said that ISIL, Syria and the Middle East are not our concern. We have focused on the comforting but flawed thought that it is enough to provide safe refuge to those who have suffered under ISIL.
Of course, that comfort is a necessary condition, and in fact, Canada should be doing more—though, first, Trudeau should probably achieve our outstanding promises to the international world. We have the capacity to accept even over the promised number. And, as a Western world with means, it is our responsibility to welcome refugees into our nation with open and tolerant arms. But to live in splendid isolation and believe that we are tolerant and "doing our part" is a fool's thought. Foreign affairs cannot be separated into neat boxes – we cannot say we are compassionate if we are not doing our full part to address the root cause of the refugee crisis.
Prime Minister Trudeau needs to consider the fact that the world is far more complex than simply "doves" and "hawks." Sometimes, in response to a robust threat, the world needs to respond in a robust way. If we do not do our part to stop ISIL now, as an international community, Trudeau should make contingency plans to accept Syrian refugees ad nauseum.
That is, if we can settle the first 10,000 people sooner rather than later, in a way which fulfills our solemn promises to the international world.
How Omicron is affecting Sackville businesses
New Brunswick government to provide menstrual products in schools
Panelists discuss what has changed in the past year in regard to sexual violence


A federal judge in Washington, D.C. has agreed with our claims – made on behalf of the Friends of the Capital Crescent Trail and two environmental activists – that the proposed "Purple Line" requires further environmental review before it may move forward. The Purple Line is a massively expensive, environmentally harmful project that, if built, would destroy precious park land and seriously impair the popular Capital Crescent Trail, threaten area wildlife, including rare species found only in the Washington, D.C. vicinity, and degrade the quality of many of the region's water ways. Far less environmentally harmful alternatives, such as expanding and improving bus service, would accomplish the project's purported objectives at a fraction of the cost and impact. In the case decided yesterday, the U.S. District Court for the District of Columbia ruled that the Federal Transit Administration and its counterparts in the State of Maryland violated the National Environmental Policy Act by failing to prepare a Supplemental Environmental Impact Statement (SEIS) analyzing the need for the project in view of the "recent extraordinary events involving seemingly endless Metrorail breakdowns and safety issues." Although the Purple Line is not technically part of the Metrorail system, as proposed, the Purple Line is heavily dependent on Metro riders for its projected ridership, and even the project name is intended to emphasize the interrelationship with the Metro system. Consequently, the Court concluded that the federal and state agencies' refusal to prepare an SEIS in view of the "serious issues" plaguing the Metro system, "which may have long-term effects on Metro ridership, only underscores how important it was for defendants to take the requisite hard look at the potential effect of Metro's safety issues on future Purple Line ridership and any related environmental issues." The Court further opined that "WMATA and the FTA's cavalier attitude toward these recent developments raises troubling concerns about their competence as stewards of nearly a billion dollars in federal taxpayers' funds" that would be spent on the Purple Line. The Court therefore vacated the Record of Decision approving the project and required the defendants to prepare an SEIS before it may proceed.
A copy of the Court's opinion is here, and a press release concerning the ruling is here.


text:
Q: Accessing the config.json in tileserver-gl-light from Ubuntu 20.04 server via command line I am trying to access the config.json file for Tileserver-gl-light from a command line on an Ubuntu 20.04 Server. I am new to this operating system and just cannot seem to find the file. From my understanding I can change the info via sudo nano but I cannot find the file in my system. I have a working server using tileserver-gl-light, but intend to change the default map of Zurich to one that better suits my project.
This is the tutorial I used when setting up the server, only deviating to set python3 to work as python.

A: I found the solution was to sudo nano config.json and create my own config file.

redpajama_set_name: RedPajamaStackExchange


text:
NewsCanada
New light at Porteau Cove obscures view for local stargazers
Megan Devlin
Jan 9 2020, 4:59 pm
Stargazers say you used to be able to see the milky way framed by mountains, but this light prevents that. Photo courtesy of Joel Lagemaat
Some Metro Vancouver stargazers say a new light at Porteau Cove Provincial Park obscures the view of the night sky at the important stargazing destination.
Joel Lagemaat, an astro-photographer who enjoys night photography, said he drove past Porteau Cove on January 3 and noticed a strange light. When he went to investigate, he found a floodlight-type contraption pointed at the pier.
"If you're standing out on the pier, any view to the east towards the mountains is just washed out by this bright light," he said.
The new light illuminates the pier too harshly, stargazers say. Photo courtesy of Joel Lagemaat.
Stargazers need a dark environment in order to see the beauty of the night sky, he explained. Light pollution like this ruins the experience for them.
A post shared by Joel Lagemaat (@ajlagemaat) on Aug 6, 2019 at 12:16am PDT
Leigh Cummings, light pollution chair for the Vancouver chapter of the Royal Astronomical Society of Canada, said the council is aware of the problem light at Porteau Cove. Its brightness, glare, and lack of an on/off switch present problems for stargazers.
"This light compared to the old one is absolutely horrible," Cummings said. "You almost have to have someone hold a shade up for you when trying to look through a telescope."
Porteau Cove is a key destination for Metro Vancouver stargazers, Cummings added, because it offers a dark and wide view of the night sky. To find a similar-quality viewpoint, he said you'd have to go as far as the Cariboo or Pemberton.
"There's a community built around there. I've met a lot of different photographers just by randomly going to Porteau Cove," Lagemaat added.
A post shared by Joel Lagemaat (@ajlagemaat) on Jan 4, 2020 at 8:39pm PST
Cummings also said having a bright light close to the water could aggravate marine life. He explained fish are drawn to lights at night, and this light could bring them closer to the surface, where they're an easier target for predators.
BC's Ministry of Environment and Climate Change Strategy told Daily Hive there is a "standard street light" in the Porteau Cove parking lot. It's there for park security and public safety, a spokesperson said.
Staff are looking into getting a dampener installed to direct the light downward and "mitigate light pollution while being mindful of public safety," the spokesperson said.
Aurora Guide: How to spot the Northern Lights in Vancouver
10 best places to go stargazing in BC
Stargazing in Canada ranks among best in the world (PHOTOS)
Cummings and Lagemaat both suggested lighting alternatives such as low-level lights on the ground or a light with a timer on it.
"I'm hoping they'll just go, 'Oh, we made a mistake' and want to fix it," Cummings said.
Overall, RASC wants to have more parks in the province designated to Dark Sky Preserves or Urban Sky Parks. These locations meet standards for low light pollution and allow astronomers clear views of stars and planets in the night sky.


Don't be fooled by movie stars' voluminous hair or a stranger walking down the street with gorgeous hair. Their luxurious locks have four key elements in common; time, product (lots of it), effort and investment.
Let's simply break it down by these four elements.
I'm not telling you anything new by saying it takes time to style your hair. But what may be a fresh concept is to spend some time educating yourself about your specific hair type. By spending a little extra time doing some research and asking the right questions you'll gain invaluable lifelong knowledge. For instance, if you are reading my articles about hair, products and lifestyle, you're off to a good start. Or take time to schedule a consultation with your stylist outside of your regular hair appointment. Most stylists offer a free 30-minute consult. The knowledge you'll gain in half an hour will be invaluable.
Snap decisions. If you're looking for a big change, making rash decisions about your hair rarely works out well. Avoid mishaps by arming yourself with knowledge. Bring lots of photos. My favorite is Google or Pinterest because my clients can bring in several using their phone. Love technology!
There is so much misconception around hair products. We tend to covet the type of hair we don't have. If we have fine-straight hair we want thick-wavy hair. If we have thick-wavy hair, we want straight-silky hair. What each party doesn't realize is, in order for us to get anywhere near the type of hair we covet, we must invest the time and product. Clients bring in photos like this one above all the time. And every time I see the same look of surprise when I explain that the model in the photo took at least an hour to style, and she has at least 3 layers of styling product in order to get all that volume or shine – plus hairspray. Product matters.
There's often lots of anxiety around how we perceive our hair. The most important gift you can give your hair is to embrace your hair's strengths and know the limits of your hair type. Often clients come to me and think they have thin hair, but the reality is, the strands are fine but the mass is dense, actually rendering thick hair. To understand hair type in greater detail, it is divided into two different types of categories: 1. Individual strands and 2. Overall mass density. I could go on with examples of each category, but the combos are as diverse as each individual is unique. That's why consults are so important. A good stylist can put their hands in your hair and give you a proper evaluation.
Now, I know you are beginning to think, "Jeez, this seems like a huge commitment, and I just don't have that kind of time or cash." This is where lifestyle comes into play. Hair is an interesting beast of burden. We tend to get anxious about our hair. The need to change can sneak up on us and cause a knee-jerk reaction. I ease my clients into the products they purchase. I like using the 'Goldie Locks Method'. The products I prescribe for my clients have to be 'just right'. Good products are an investment, and you don't need to break the bank by buying them all at once. A good salon will offer samples so remember to ask when visiting your stylist next.
Apply styling products to damp (not wet) hair.
Dry hair with a blowdryer from side to side until hair is 80% dry.
Twist hair with clips into sections from top to bottom – usually 5 sections for average hair, more sections for thick-fine or thick-course.
Begin styling with blowdryer from the bottom (nape) and work your way to the top (crown).
As you work your way from the nape to the crown the dryer should be hot while your round brush is in motion. Never remain stationary with your brush when the dryer is hot. Keep it moving. Take two to three moving passes with the round brush.
Push the cold button on your dryer when the brush is stationary. Two passes with cool air and stationary for a few seconds before dropping section and moving on to the next.
The cool air 'SETS' the style.
The cool air 'SET' is the key to holding your style.
And brush trough. Yes, brush through and spray again.
By scheduling a consult with your stylist, you can discuss optimal ways to style your hair type on daily basis or how to get those bouncy curls for a special event.
I saved the best for last. Investment. As I mentioned at the beginning of this article, if you are reading this entire article then you have already made a wise investment in yourself. The investment comes from the knowledge you've obtained and giving yourself a break when you look in the mirror by not feeling hopeless about your hair. With the right guidance and a little bit of planning, we can all obtain our personal best. You're on your way!
Previous postProduct matters because I didn't wake up looking like this.


論文:Pathogenetic significance and possibility as a therapeutic target of platelet derived growth factor. Pathology international 67(5) 235-246, 2017.
Glioma-Derived Platelet-Derived Growth Factor-BB Recruits Oligodendrocyte Progenitor Cells via Platelet-Derived Growth Factor Receptor-α and Remodels Cancer Stroma. The American journal of pathology 186(5) 1081-1091, 2016.


text:
/* (c) 2014 LinkedIn Corp. All rights reserved.
 *
 * 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.
 */

package gobblin.runtime;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Collection;
import java.util.List;
import java.util.Map;

import org.apache.hadoop.io.Text;

import com.codahale.metrics.Counter;
import com.codahale.metrics.Gauge;
import com.codahale.metrics.Meter;

import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
import com.google.gson.stream.JsonWriter;

import com.linkedin.data.template.StringMap;

import gobblin.rest.JobExecutionInfo;
import gobblin.rest.JobStateEnum;
import gobblin.rest.LauncherTypeEnum;
import gobblin.rest.Metric;
import gobblin.rest.MetricArray;
import gobblin.rest.MetricTypeEnum;
import gobblin.rest.TaskExecutionInfoArray;
import gobblin.configuration.ConfigurationKeys;
import gobblin.configuration.SourceState;
import gobblin.metrics.JobMetrics;

/**
 * A class for tracking job state information.
 *
 * @author ynli
 */
public class JobState extends SourceState {

  /**
   * An enumeration of possible job states, which are identical to
   * {@link gobblin.configuration.WorkUnitState.WorkingState}
   * in terms of naming.
   */
  public enum RunningState {
    PENDING, RUNNING, SUCCESSFUL, COMMITTED, FAILED, CANCELLED
  }

  private String jobName;
  private String jobId;
  private long startTime;
  private long endTime;
  private long duration;
  private RunningState state = RunningState.PENDING;
  private int tasks;
  private Map<String, TaskState> taskStates = Maps.newHashMap();

  // Necessary for serialization/deserialization
  public JobState() {
  }

  public JobState(String jobName, String jobId) {
    this.jobName = jobName;
    this.jobId = jobId;
    this.setId(jobId);
  }

  /**
   * Get job name.
   *
   * @return job name
   */
  public String getJobName() {
    return this.jobName;
  }

  /**
   * Set job name.
   *
   * @param jobName job name
   */
  public void setJobName(String jobName) {
    this.jobName = jobName;
  }

  /**
   * Get job ID.
   *
   * @return job ID
   */
  public String getJobId() {
    return jobId;
  }

  /**
   * Set job ID.
   *
   * @param jobId job ID
   */
  public void setJobId(String jobId) {
    this.jobId = jobId;
  }

  /**
   * Get job start time.
   *
   * @return job start time
   */
  public long getStartTime() {
    return startTime;
  }

  /**
   * Set job start time.
   *
   * @param startTime job start time
   */
  public void setStartTime(long startTime) {
    this.startTime = startTime;
  }

  /**
   * Get job end time.
   *
   * @return job end time
   */
  public long getEndTime() {
    return endTime;
  }

  /**
   * Set job end time.
   *
   * @param endTime job end time
   */
  public void setEndTime(long endTime) {
    this.endTime = endTime;
  }

  /**
   * Get job duration in milliseconds.
   *
   * @return job duration in milliseconds
   */
  public long getDuration() {
    return duration;
  }

  /**
   * Set job duration in milliseconds.
   *
   * @param duration job duration in milliseconds
   */
  public void setDuration(long duration) {
    this.duration = duration;
  }

  /**
   * Get job running state of type {@link RunningState}.
   *
   * @return job running state of type {@link RunningState}
   */
  public RunningState getState() {
    return state;
  }

  /**
   * Set job running state of type {@link RunningState}.
   *
   * @param state job running state of type {@link RunningState}
   */
  public void setState(RunningState state) {
    this.state = state;
  }

  /**
   * Get the number of tasks this job consists of.
   *
   * @return number of tasks this job consists of
   */
  public int getTasks() {
    return this.tasks;
  }

  /**
   * Set the number of tasks this job consists of.
   *
   * @param tasks number of tasks this job consists of
   */
  public void setTasks(int tasks) {
    this.tasks = tasks;
  }

  /**
   * Increment the number of tasks by 1.
   */
  public void addTask() {
    this.tasks++;
  }

  /**
   * Add a single {@link TaskState}.
   *
   * @param taskState {@link TaskState} to add
   */
  public void addTaskState(TaskState taskState) {
    this.taskStates.put(taskState.getTaskId(), taskState);
  }

  /**
   * Add a collection of {@link TaskState}s.
   *
   * @param taskStates collection of {@link TaskState}s to add
   */
  public void addTaskStates(Collection<TaskState> taskStates) {
    for (TaskState taskState : taskStates) {
      this.taskStates.put(taskState.getTaskId(), taskState);
    }
  }

  /**
   * Get the number of completed tasks.
   *
   * @return number of completed tasks
   */
  public int getCompletedTasks() {
    return this.taskStates.size();
  }

  /**
   * Get {@link TaskState}s of {@link Task}s of this job.
   *
   * @return {@link TaskState}s of {@link Task}s of this job
   */
  public List<TaskState> getTaskStates() {
    return ImmutableList.<TaskState>builder().addAll(this.taskStates.values()).build();
  }

  /**
   * Remove all job-level metrics objects associated with this job.
   */
  public void removeMetrics() {
    JobMetrics metrics = JobMetrics.get(this.jobName, this.jobId);
    for (String name : metrics.getMetricsOfGroup(JobMetrics.MetricGroup.JOB).keySet()) {
      if (name.contains(this.jobId)) {
        metrics.removeMetric(name);
      }
    }
  }

  @Override
  public void readFields(DataInput in)
      throws IOException {
    Text text = new Text();
    text.readFields(in);
    this.jobName = text.toString();
    text.readFields(in);
    this.jobId = text.toString();
    this.setId(jobId);
    this.startTime = in.readLong();
    this.endTime = in.readLong();
    this.duration = in.readLong();
    text.readFields(in);
    this.state = RunningState.valueOf(text.toString());
    this.tasks = in.readInt();
    int numTaskStates = in.readInt();
    for (int i = 0; i < numTaskStates; i++) {
      TaskState taskState = new TaskState();
      taskState.readFields(in);
      this.taskStates.put(taskState.getTaskId(), taskState);
    }
    super.readFields(in);
  }

  @Override
  public void write(DataOutput out)
      throws IOException {
    Text text = new Text();
    text.set(this.jobName);
    text.write(out);
    text.set(this.jobId);
    text.write(out);
    out.writeLong(this.startTime);
    out.writeLong(this.endTime);
    out.writeLong(this.duration);
    text.set(this.state.name());
    text.write(out);
    out.writeInt(this.tasks);
    out.writeInt(this.taskStates.size());
    for (TaskState taskState : this.taskStates.values()) {
      taskState.write(out);
    }
    super.write(out);
  }

  /**
   * Convert this {@link JobState} to a json document.
   *
   * @param jsonWriter a {@link com.google.gson.stream.JsonWriter}
   *                   used to write the json document
   * @param keepConfig whether to keep all configuration properties
   * @throws IOException
   */
  public void toJson(JsonWriter jsonWriter, boolean keepConfig)
      throws IOException {
    jsonWriter.beginObject();

    jsonWriter.name("job name").value(this.getJobName()).name("job id").value(this.getJobId()).name("job state")
        .value(this.getState().name()).name("start time").value(this.getStartTime()).name("end time")
        .value(this.getEndTime()).name("duration").value(this.getDuration()).name("tasks").value(this.getTasks())
        .name("completed tasks").value(this.getCompletedTasks());

    jsonWriter.name("task states");
    jsonWriter.beginArray();
    for (TaskState taskState : taskStates.values()) {
      taskState.toJson(jsonWriter);
    }
    jsonWriter.endArray();

    if (keepConfig) {
      jsonWriter.name("properties");
      jsonWriter.beginObject();
      for (String key : this.getPropertyNames()) {
        jsonWriter.name(key).value(this.getProp(key));
      }
      jsonWriter.endObject();
    }

    jsonWriter.endObject();
  }

  @Override
  public String toString() {
    StringWriter stringWriter = new StringWriter();
    JsonWriter jsonWriter = new JsonWriter(stringWriter);
    jsonWriter.setIndent("\t");
    try {
      this.toJson(jsonWriter, false);
    } catch (IOException ioe) {
      // Ignored
    }
    return stringWriter.toString();
  }

  /**
   * Convert this {@link JobState} instance to a {@link JobExecutionInfo} instance.
   *
   * @return a {@link JobExecutionInfo} instance
   */
  public JobExecutionInfo toJobExecutionInfo() {
    JobExecutionInfo jobExecutionInfo = new JobExecutionInfo();

    jobExecutionInfo.setJobName(this.jobName);
    jobExecutionInfo.setJobId(this.jobId);
    jobExecutionInfo.setStartTime(this.startTime);
    jobExecutionInfo.setEndTime(this.endTime);
    jobExecutionInfo.setDuration(this.duration);
    jobExecutionInfo.setState(JobStateEnum.valueOf(this.state.name()));
    jobExecutionInfo.setLaunchedTasks(this.tasks);
    jobExecutionInfo.setCompletedTasks(this.getCompletedTasks());
    jobExecutionInfo.setLauncherType(LauncherTypeEnum.valueOf(this.getProp(ConfigurationKeys.JOB_LAUNCHER_TYPE_KEY,
        JobLauncherFactory.JobLauncherType.LOCAL.name())));
    if (this.contains(ConfigurationKeys.JOB_TRACKING_URL_KEY)) {
      jobExecutionInfo.setTrackingUrl(this.getProp(ConfigurationKeys.JOB_TRACKING_URL_KEY));
    }

    // Add task execution information
    TaskExecutionInfoArray taskExecutionInfos = new TaskExecutionInfoArray();
    for (TaskState taskState : this.getTaskStates()) {
      taskExecutionInfos.add(taskState.toTaskExecutionInfo());
    }
    jobExecutionInfo.setTaskExecutions(taskExecutionInfos);

    // Add job metrics
    JobMetrics jobMetrics = JobMetrics.get(this.jobName, this.jobId);
    MetricArray metricArray = new MetricArray();

    for (Map.Entry<String, ? extends com.codahale.metrics.Metric> entry : jobMetrics
        .getMetricsOfType(JobMetrics.MetricType.COUNTER, JobMetrics.MetricGroup.JOB, this.jobId).entrySet()) {
      Metric counter = new Metric();
      counter.setGroup(JobMetrics.MetricGroup.JOB.name());
      counter.setName(entry.getKey());
      counter.setType(MetricTypeEnum.valueOf(JobMetrics.MetricType.COUNTER.name()));
      counter.setValue(Long.toString(((Counter) entry.getValue()).getCount()));
      metricArray.add(counter);
    }

    for (Map.Entry<String, ? extends com.codahale.metrics.Metric> entry : jobMetrics
        .getMetricsOfType(JobMetrics.MetricType.METER, JobMetrics.MetricGroup.JOB, this.jobId).entrySet()) {
      Metric meter = new Metric();
      meter.setGroup(JobMetrics.MetricGroup.JOB.name());
      meter.setName(entry.getKey());
      meter.setType(MetricTypeEnum.valueOf(JobMetrics.MetricType.METER.name()));
      meter.setValue(Double.toString(((Meter) entry.getValue()).getMeanRate()));
      metricArray.add(meter);
    }

    for (Map.Entry<String, ? extends com.codahale.metrics.Metric> entry : jobMetrics
        .getMetricsOfType(JobMetrics.MetricType.GAUGE, JobMetrics.MetricGroup.JOB, this.jobId).entrySet()) {
      Metric gauge = new Metric();
      gauge.setGroup(JobMetrics.MetricGroup.JOB.name());
      gauge.setName(entry.getKey());
      gauge.setType(MetricTypeEnum.valueOf(JobMetrics.MetricType.GAUGE.name()));
      gauge.setValue(((Gauge) entry.getValue()).getValue().toString());
      metricArray.add(gauge);
    }

    jobExecutionInfo.setMetrics(metricArray);

    // Add job properties
    Map<String, String> jobProperties = Maps.newHashMap();
    for (String name : this.getPropertyNames()) {
      String value = this.getProp(name);
      if (!Strings.isNullOrEmpty(value))
      jobProperties.put(name, value);
    }
    jobExecutionInfo.setJobProperties(new StringMap(jobProperties));

    return jobExecutionInfo;
  }
}


We have been studying the ecology of red squirrels in the southwestern Yukon for over twenty years. Red squirrels feed on seed from spruce trees and spruce trees exhibit masting behaviour whereby massive cone crops tend to be synchronized over large areas. Consequently squirrels face huge changes in resource levels and this important selective agent drives changes in life history characteristics such as timing of reproduction, litter size, and juvenile growth rates. I will outline how we are able to track phenotypic and evolutionary changes in the populations we study as they experience changes in climate and food supply.


text:
// This file is automatically generated.

package adila.db;

/*
 * ZTE STAR
 *
 * DEVICE: msm8226
 * MODEL: ZTE Star 1
 */
final class msm8226_zte20star201 {
    public static final String DATA = "ZTE|STAR|";
}


Richard Wlezien has been named the Vance and Arlene Coffman Endowed Department Chair in Aerospace Engineering at Iowa State University.
Currently professor and chair of mechanical engineering at Tufts University, Wlezien will begin at Iowa State's College of Engineering on August 16.
Wlezien's career includes extensive experience in industry, academia, and the federal government. He joined Tufts in 2006 after more than 15 years at NASA and DARPA, where he advanced through a number of research and management positions, eventually serving as a program director at NASA headquarters.
Wlezien's research areas include fluid mechanics, turbulent shear flows, laminar and turbulent flow control, aircraft drag reduction, wind engineering, and aerogel processing.
In 2006, Wlezien was awarded the NASA Exceptional Service Medal and was also named a fellow of the American Institute of Aeronautics and Astronautics. He earned a BS, MS, and PhD in mechanical and aerospace engineering from the Illinois Institute of Technology, completing his studies in 1981.
Wlezien will be the first to hold the recently created Coffman departmental chair. Vance Coffman, an Iowa State engineering alum (BS'67), is an Honorary Distinguished Professor of Aerospace Engineering at Iowa State and a retired CEO of Lockheed Martin.
Professor Thomas Rudolphi has served as interim chair of aerospace engineering since August 2009. He had previously been chair of the department from 1996 to 2003.


BISTANGO – Benetti 60m Steel Displacement mega yacht charter, based in the Mediterranean.
Modern and elegant lines blend with excellent specifications to create an impressive superyacht…One of the finest Benetti's available for charter, Bistango has been built to the highest specifications. Her interior is a blend of modern and elegant deign, accommodating 12 guests. She also offers a selection of unique amenities, including zero speed stabiliser, a large Jacuzzi Pool, a Turkish bah, a gym and even a piano.
Modern and elegant lines blend with excellent specifications to create an impressive superyacht. Yacht Bistango has Quantum zero speed stabilisers a large Jacuzzi pool, a Turkish bath a gym and even a piano.
With an exterior designed by Stefano Natucci, she holds a confident aesthetic with comfortable accommodation for 12 guests. The interior holds a classical and refined edge with statues and gilded wooden effects to give a unique element of class. This amazing superyacht boasts a large master suite, three double cabins with a twin on the lower deck plus one VIP cabin held on the bridge deck for those who wish to view the oceans raw scope from a position of luxury.
BISTANGO is an RYA recognised training facility for Jet ski training. Licenses can be issued for the duration of the charter for guests over 16 yrs of age.


Hello all my sustainable babes!
We've been M.I.A, I know. I apologize on both of our behaves. There has been moving, buying homes and engagements on our end over here and it's be crazy! In a good way. Don't worry, we'll be sharing about all that fun later.
I had to post about this AWE-some company I ran into while exploring Know Tomorrow fair at Pitzer College's campus.
"Bureo designs and manufactures a unique line of sustainable skateboards. Bureo's innovative boards are manufactured in Chile through the team's initiative, 'Net Positiva', Chile's first ever fishnet collection & recycling program. Net Positiva provides fisherman with environmentally sound disposal points, while Bureo receives highly recyclable and durable raw materials. By offering recycled high quality products, Bureo enables ethically conscious consumers to support recycling development and job growth for local inhabitants.
How ingenious is that?! This So Cal girl is stoked!
For all my little sustainable board riders out there, you got to get your hands on one of these. Not a skater? That's coo. They have awesome T-shirts, sunglasses and other goodies that are helping our Mother Earth as well.


That doesn't mean, however, that used cars aren't without certain risks. A vehicle that's several years old may have higher mileage if the previous owner was a frequent driver. Used car dealers may not extend the same warranty protections that you might enjoy when purchasing a new car. While driving an older car can reduce your insurance costs, there's a possibility that you could end up spending more on repairs than you would with a newer car.
Then there's the question of whether the car has ever been in an accident. If a car has undergone substantial structural repairs because of a collision, that's something you need to be aware of beforehand. Fortunately, the Internet now makes it possible to check a used car's accident history before you buy so you can feel more confident about your final decision.
As you can see, used cars have both their pros and cons. If you're considering buying a previously owned vehicle, it's vital that you do your research. We've put together this used car buying guide to aid you during the car-shopping process. We've broken down step by step the most important considerations to keep in mind as you complete your quest for a new set of wheels. Keep reading to learn more about how to select a car and make sure that it's road-ready, how to haggle over the final purchase price and how to secure financing once you're ready to seal the deal.
Even the most frugal drivers have a tipping point. Is it time for a new car?
Understand the methodology used by car insurance companies to value cars, and learn why you may not cover the cost of a similar vehicle.
Buy a quality car without driving your expenses through the roof.
Want the best deal buying a used car? Read on to find out what info you need and how to use it.


text:
What the teams said – Race day in Emilia Romagna
Bottas led from the off but his race was marred by running over some debris on the second lap. He pitted early as did Verstappen in P2, and that released Hamilton to go on a race-winning fastest lap rampage. He built enough of a gap to put the pressure on those two before a VSC period guaranteed him the lead after his pit stop. From there the reigning world champion comfortably drove away for a third-straight victory which helped the team secure a record seventh-straight constructors' title. Bottas played his part, coming home second but sees his chances of challenging in the drivers' championship take a further big hit.
Lewis Hamilton, 1st
"It's very overwhelming right now. I look at this team and think of everyone back at Brackley and Brixworth, they are the unsung heroes. They are the ones grafting away, never giving up, continuing to push, elevate and innovate. A big congratulations to the team on a hugely deserved Constructors' title. I'm forever grateful to everyone and so, so proud to be a part of it. To come back year on year and deliver such great performance is absolutely unbelievable. Seven-time champions - that's something I'm going to be able to tell my grandchildren one day. No team has ever achieved this and I feel honoured to be a part of breaking this record.
"A big, big thank you to the entire Mercedes family, to PETRONAS and all of our partners, because we wouldn't be able to do what we do without them. The race itself was an exhausting one, particularly with the speeds that we are experiencing around this track. I had a tricky start but extended the stint and managed to fight back to the front. It feels fantastic to clinch the title today at Imola in style with a 1-2."
Valtteri Bottas, 2nd
"A massive congratulations to the team on winning the constructors' championship! I'm really proud to be a part of this team and thankful for everyone's hard work and dedication. It's well deserved and I'm really happy for everyone at the track, Brackley, Brixworth and Stuttgart. This team keeps pushing and raising the bar and it's inspiring to work with such a dedicated and driven group.
"Obviously, it was a tough race for me today. The start was really good but then on lap two, out of Turn 7, there was some debris on the track. I didn't have time to avoid it, so I aimed for the middle of the car, trying not to run over the debris with the tyres. But it caused some damage and got stuck on the car somehow, which made the car really tricky to drive and also cost a chunk of performance. I was trying as hard as I could to keep Max behind me and had to push over my limits, which led to some mistakes. It was a bit of an unlucky day for me after such a promising start, but it's still good to pick up another podium and play my part in the Constructors' title win."
"This is an unbelievable moment, this afternoon feels like a culmination of everything. This has been an unusual season in so many ways and it makes me very proud that we've been able to achieve this. Lots of blood, sweat and tears went into this behind closed doors, a lot of people have made great sacrifices to achieve this, so a massive thank you to everyone in the team, here at the track and back at home in Brixwoth and Brackely. We have an amazing group of people that keeps pushing and raising the benchmark to new levels, but what stands out the most is the comradery in this team and the right values at the core of it.
"A big thanks as well to everyone at Mercedes for the continuous support and their trust in this team - when I think of the support we have in Germany, it just puts a smile on my face. Thank you as well to everyone at PETRONAS - we could not have done this without you! PETRONAS played a big role in this achievement; they've been with us since Day 1 and we're very proud to represent them on the track. I don't know where this team will go next, but I'm excited to see what the future holds for this inspiring group of people, that is still motivated and energised and wants to set the bar even higher."
Andrew Shovlin, Trackside Engineering Director
"Well done to the whole team, everyone in Brackley and Brixworth on the 7th double, it's just amazing and so nice to do it with a 1-2 finish although it's not sunk it yet. The race wasn't easy, Valtteri picked up someone's barge board on lap two which got jammed in our bargeboard area and was pretty disastrous for the aerodynamic performance. His pace was impressive considering and he was managing the stint well but he couldn't pull away from Max by more than just enough to just protect the undercut. When Max stopped we had to cover with Valtteri and had a go at pulling the part out but we couldn't afford to slow the stop down and had to send the car with it still jammed in there.
"Lewis stayed out and was doing a good job on the older tyres, working his way through backmarkers and trying to get the pit window to Max and Valtteri. We then had the VSC which worked in Lewis's favour and he was able to stop comfortably into the lead. Valtteri had his work cut out trying to defend against Max but on the Hard tyre it was tricky and eventually he lost the position.
"Later in the stint, we were monitoring a bit of vibration on Lewis's tyres when Max had his puncture 12 laps from the end; given that we had free stops we were going to come in on a safety car. The timing was not great for Lewis, he'd just passed the pit entry when it was called so he was stuck behind it for the lap. With Valtteri we got him in and finally managed to remove the competitor's part that had been holding him back all race. We made the call to stop Lewis anyway, even though it risked the win we were concerned the vibrations would grow and amazingly he just managed to hold onto the lead. From there it was just a case of counting the laps to the finish but it was great to get both over the line and secure both championships for Mercedes with a first and second."
Markus Schafer, Member of the Board of Management of Daimler AG, responsible for Group Research, COO Mercedes-Benz Cars and Non-Executive Chairman at the Mercedes-AMG Petronas F1 Team
"Huge congratulations to the entire Mercedes-AMG Petronas F1 Team! Setting a new world record with seven consecutive constructors' championships is an amazing achievement - one that goes far beyond our boldest dreams when we embarked on this journey ten years ago. Thank you to every single member of the team in Brixworth and Brackley for your passion, your determination and your continuous hard work. Our Mercedes-AMG works team has truly earned its place in the history books of Formula One this year. They've built a car that is already considered to be one of the best F1 cars ever created, highlighting how we're constantly trying to push the boundaries of innovation at Mercedes - on the track and on the road.
"A special thanks to the team at Mercedes-AMG High Performance Powertrains who have developed the best hybrid engine in motorsport, powering us to this historic success. But it's not only the technical and sporting achievements that are remarkable. Our F1 team has risen to many challenges this year, showcasing the values that are at the core of this inspiring group. When the F1 season was interrupted at the start of the year, they produced 10,000 breathing aids to help in the fight against COVID-19. And when the F1 season continued, our team returned to the track with renewed purpose, taking a clear stance against racism and discrimination and challenging itself and the sport to become more diverse and inclusive. Our F1 team is also pioneering sustainability in the sport and will achieve a net-zero carbon footprint this year. This has been a challenging season in every aspect, but we have seen what champions are truly made of. In the name of the entire Mercedes family: Great job - we're very proud to have you in our team!"
IMOLA, ITALY - NOVEMBER 01: Race winner Lewis Hamilton of Great Britain and Mercedes GP, second placed Valtteri Bottas of Finland and Mercedes GP and Mercedes GP Executive Director Toto Wolff celebrate after the Mercedes GP team won a 7th consecutive F1 Constructors Championship during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Peter Fox/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Second place Valtteri Bottas of Finland and Mercedes GP celebrates on the podium during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Miguel Medina - Pool/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Race winner Lewis Hamilton of Great Britain and Mercedes GP (R) embraces teammate and second placed Valtteri Bottas of Finland and Mercedes GP (L) in parc ferme during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Rudy Carezzevoli/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Race winner Lewis Hamilton of Great Britain and Mercedes GP celebrates the 7th consecutive F1 Constructors Championship with Mercedes GP Executive Director Toto Wolff in parc ferme during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Dan Istitene - Formula 1/Formula 1 via Getty Images)
A day that promised so much and delivered so little. Verstappen was in the hunt from the off, sweeping past Hamilton at the start and pressuring Bottas. He eventually overtook the Finn on track in a bold move for P2 after Hamilton had jumped them both using the VSC period. But unfortunately, the Dutchman couldn't bring his RB16 home – a suspected tyre failure caused by debris pitching him into the gravel late on. As for Albon, he dropped a place at the start but looked assured of some points at least. But the Thai driver spun at the Safety Car restart on older tyres and dropped to the back of the field.
Max Verstappen, DNF
"I had a good start and was enjoying fighting and staying with both Mercedes cars. I had a good start and got past Lewis, I pitted early to trigger the pit stops and Valtteri followed, but he had damage and started holding us up after the stop so we lost a lot of time to Lewis who was in clean air. Once I got past him, the pace was there and the car felt good. I was actually having a lot of fun and then suddenly on the straight I lost the car because of some sort of tyre failure, so it's a big shame because it would've been very nice to have second place and another podium. It is what it is and to score zero points is obviously not what you want but overall the race itself was very positive."
Alex Albon, 15th
"Finishing last didn't show what really happened throughout the race, it was tricky out there and it was one of those races where we spent lots of time behind other cars in a train. I don't really know what happened at the restart yet. The tyres were cold and I had to push hard to try and stay ahead of the cars who had pitted under the Safety Car, which caused the spin, but it also felt like I may have got clipped but I'm not sure. It all just happened so quickly. In hindsight maybe we could have done something different, it was a difficult one, if we pitted for softs like the other cars did towards the end of the race then we could have seen a much better result. Obviously, it's not what we wanted but I'm going to focus on Turkey now and take the positives from how the car felt and an improved Saturday."
Christian Horner, Team Principal
"We've had three races in Italy this year and three DNFs for Max so it's not been kind to him. Max got a very good start, getting ahead of Lewis and it was a game of chess in the first stint being sandwiched between the two Mercedes cars, seeing who would pit first. It became apparent that Valtteri had damage and after the stops Max was right on him. Max waited for his moment patiently and passed him on the main straight. He then pulled away from Valtteri and was on track for second place until his tyre let go, possibly due to some debris, which ended his race. It's very frustrating, especially as today we felt we had pretty strong pace, so it's annoying not to get second with Max. For Alex, it's a difficult one because he was in a race with Charles and Daniel all afternoon, stuck in a bit of a train, and then at the restart he tried to cover the cars behind who'd just had a free stop for new tyres under the safety car, and he lost it at the second chicane. It's incredibly unfortunate to come away from this weekend with zero points but we'll build back up for Turkey, a track we had good success at last time out. Congratulations to Mercedes and Toto for achieving seven consecutive constructors' championships, an amazing achievement and we certainly hope to be able to give them more of a challenge next year."
IMOLA, ITALY - NOVEMBER 01: Alexander Albon of Thailand and Red Bull Racing walks in parc ferme during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Mark Thompson/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Max Verstappen of the Netherlands driving the (33) Aston Martin Red Bull Racing RB16 on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Miguel Medina - Pool/Getty Images)
More mechanical woes befell Ocon, who pulled over midway through with a suspected gearbox issue for his fourth DNF of the year. Ricciardo at least restored some smiles in the Renault garage with a spirited display. He kept a calm head after Perez jumped him in the pit stop period, put in some tidy laps and found himself fourth when Racing Point pitted the Mexican. Promoted to an unlikely third, the Aussie absorbed all the pressure that came from freshly-shod runners behind him to secure his second podium in three races. And this time, he remembered to do his infamous shoey.
Daniel Ricciardo, 3rd
"Two podiums in three races! I'm very happy and I didn't forget to do the 'shoey' this time around! We were pretty settled in fifth but then Max triggered the Safety Car. It was the right thing to stay out, especially after Perez pitted. It is pretty difficult to overtake here and it was worth the risk today: it paid off. It's a shame about Esteban as the car was strong today. The result here means we get into third in the championship, which is what the team is aiming for. I'm super happy to come away from Imola with a great podium: big thanks for everyone at the team. No second tattoo this time round though, I think Cyril's suffered enough!"
Esteban Ocon, DNF
"It was a tough weekend overall, with a succession of bad luck this weekend. We had a few issues this afternoon. We had a tear off in the brake duct, which meant that we pitted early to take it off and then we had a gearbox problem. Nonetheless I'm very happy for the team today for this podium again, well done to Daniel. This is very positive for the team, we are coming strong and it bodes well for the rest of the season and months to come. We are third in the championship now; we knew this is what we are fighting for so it's good to be ending the weekend like this."
Cyril Abiteboul, Team Principal
"I'd like to start by apologising to Esteban as it was another retirement due to a technical issue. He was not far off yesterday and had a decent start to be in the mix despite the early stop to remove the tear off from his ducts. He then suffered from an issue that caused some trouble with his gearbox and he had to retire. It's a shame as Daniel has shown that when the car is working there is pace and competitiveness. Once again, the race went our way: it looked like we were up for P5 as Perez could benefit from his start on medium tyres and we were going to settle for that, but Verstappen's retirement opened things up. Our strategy team made the bold decision not to stop again, assuming that we had enough life and pace to contain the threat from behind. It was very brave, but it paid off thanks to a fantastic drive from Daniel. With his engineers he managed to keep the exact tyre temperature required during the long safety car and then managed an amazing last few laps to get to the end and give us another podium. We are now third in the championship and need to own it and focus on the weekends that will come very quickly. Finally, I would also like to offer my congratulations to Mercedes on their seventh World Championship; it's a phenomenal achievement, one that will continue to inspire us for all the work still ahead."
IMOLA, ITALY - NOVEMBER 01: Race winner Lewis Hamilton of Great Britain and Mercedes GP and third placed Daniel Ricciardo of Australia and Renault Sport F1 celebrate on the podium during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Lars Baron - Formula 1/Formula 1 via Getty Images)
IMOLA, ITALY - NOVEMBER 01: Third placed Daniel Ricciardo of Australia and Renault Sport F1 celebrates on the podium with a shoey during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Mario Renzi - Formula 1/Formula 1 via Getty Images)
IMOLA, ITALY - NOVEMBER 01: Esteban Ocon of France driving the (31) Renault Sport Formula One Team RS20 makes a pitstop during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Peter Fox/Getty Images)
Fourth always looked on the cards today, but the team might not have expected it to be Kvyat who came home in that excellent position. Gasly's car was being worked on as it sat on the grid and those gremlins were deemed terminal in the early stages of the race when the Frenchman was told to retire or risk a PU failure. That was sad end to what had been looking like a strong weekend for him, but Kvyat was there to pick up the pieces. Running in the top 10, the team pitted him under the Safety Car and he made the best use of his fresh tyres to overtake Perez and Leclerc and nearly pip Ricciardo for the podium spot.
Pierre Gasly, DNF
"This one is quite difficult to take. I had a great start and tried to go alongside Lewis, but he decided to close the door quite hard and I had to back off and lost one position to Daniel, but after that, I felt really good in the car and we were running in P5. The guys spotted a drop of water pressure on the laps to the grid before the race, they tried everything to fix it but unfortunately, we had to retire the car after a few laps. It's very sad because there was a big opportunity for us today. The whole weekend went so well, it was the best practice and the best qualifying we've had and the car felt very strong from the beginning. It's never nice to retire, but it's especially tough here in Imola for our home race, because we knew there was a potential top-five result on the table."
Daniil Kvyat, 4th
"It was a very good and fun race, the car felt amazing and I really enjoyed myself out there! The Safety Car restart was very important, and I managed to overtake a few cars on that lap. Unfortunately, Daniel managed to warm up his tyres so even if I pushed very hard until the end to overtake him, I just missed out on the final podium spot. It's a shame but I'm still very satisfied with my driving and happy with the team's job. We recovered small points to Ferrari in the constructors' championship, so I hope we can give them a little fight until the end."
Jody Egginton, Technical Director
"After today's race, we can probably still say we like the two-day GP format! The race certainly came alive in the closing stages, with the safety car allowing us to roll the dice with the strategy and get Daniil onto some fresh tyres for the final laps. This allowed him to attack at the restart, which worked out very well with him making some strong passes and taking him so close to a podium today. On the flip side, unfortunately, we had to retire Pierre's car from the race early on, which meant we were not able to take what would have almost certainly been a very strong points finish today with him. This is sometimes how it goes, and we will now focus on the next race, pushing to take our current strong form into the remaining events of the season."
Franz Tost, Team Principal
"It was a fantastic feeling to be here in Imola at our home track. We enjoyed yesterday's qualifying, as it was our most successful one this season so far, finishing P4 with Pierre and P8 with Daniil. Both of them had a good start to the race. Pierre got blocked by Hamilton before the first corner so Ricciardo was able to overtake him, which put Pierre back into fifth. Unfortunately, a radiator failure put a stop to his race. It's a shame as I'm sure he could have achieved a very good result today.
"As for Daniil, he had a good race today, he spent quite a while in eighth position until we decided to bring him in on lap 14 while he was in sixth, to put him on the Base tyre. From then on, he did very fast lap times and was one of the fastest on track. He was able to control Sainz quite well and he was closing the gap to Albon. On lap 55, the Safety Car was deployed and we decided to bring him in for the option tyre, which was a fantastic decision from the strategy group because this allowed Daniil to overtake Perez and Albon immediately before the first corner, followed by Leclerc a few corners later.
"At that stage, Daniil was in P4, but unfortunately, the race finished too early - he would have needed another couple of laps to overtake Ricciardo. Nevertheless, fourth is the best race result for Daniil this year, and the team showed a very good performance in both Qualifying and the race. I think we are well prepared for the remaining races of the season and we're looking forward to going to Istanbul to continue our momentum."
IMOLA, ITALY - NOVEMBER 01: Daniil Kvyat of Russia driving the (26) Scuderia AlphaTauri AT01 Honda on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Joe Portlock/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Pierre Gasly of Scuderia AlphaTauri and France during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Peter Fox/Getty Images)
Leclerc was running strongly in the points all afternoon, and was unlucky to be pipped to fourth by Kvyat after the team opted to leave the Monegasque on the older tyres in the Safety Car period. That left him vulnerable to fresher-tyred cars and he was fortunate to keep Perez behind at the flag. As for Vettel, he had contact at the start with Magnussena but a very long first stint on the mediums looked to have lifted him into the fight for the points. On a day where he couldn't buy any luck, his race was ruined by a lengthy pit stop, from which he lost too much time to compete.
Sebastian Vettel, 12th
"We started on the medium, which was the right thing to do as it was still working very well, even after a good amount of laps. Today the pace was good in the first stint, then we lost time in the pit stop, which is a shame. We tried to come back with the soft tyre at the end, but it was very difficult to make progress in a train of cars. This is clearly not the result we wanted and for sure not the one we would have deserved today.
"I was comfortable in the car even if this year the problem is more severe in qualifying, where I struggle to get a feel for the car. We have to remain patient and continue to make gradual progress, as we have been doing, given that we missed Q3 by just two tenths yesterday. If we can start from a bit higher up the grid, the next races could bring us better results."
Charles Leclerc, 5th
"P5 feels quite good today, I think we did the maximum. We expected a very difficult first stint, but in fact, we were quite competitive. Then we switched to the Hard and we were probably a tiny bit quicker than Daniel (Ricciardo) in front, but not enough to overtake, so we were stuck behind him. Then, at the restart after the safety car I struggled more than Daniil (Kvyat), who was coming up behind me on new tyres.
"I was really pushing from the beginning to the end and I feel we were quite competitive during the whole race. Also, we did a good job in managing our tyres."
Mattia Binotto, Team Principal
"It's clear to see that we are consolidating the progress we have made in recent races, especially in terms of race pace at a variety of tracks with very different characteristics. That's important for the rest of this season and for the next one. Once again, Charles did a very good job, both in managing the tyres and when it came to defending position in the closing stages. Seb also had a strong race and we are very sorry for the problem at the pit stop that robbed him of a top 10 finish, thus losing the chance to pick up valuable points.
"Finally, I wish to congratulate Mercedes for winning the constructors' championship. We know we have a very long way to go to be fighting once again for those same goals, something we have achieved so often in our history, but we firmly believe we can do it."
IMOLA, ITALY - NOVEMBER 01: Charles Leclerc of Monaco and Ferrari speaks with teammate Sebastian Vettel of Germany and Ferrari in parc ferme during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Rudy Carezzevoli/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Charles Leclerc of Monaco driving the (16) Scuderia Ferrari SF1000 on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Davide Gennari - Pool/Getty Images)
2020 Emilia Romagna Grand Prix: Chaotic pit stop costs Vettel time
It was an eventful day down at Racing Point. Perez had a solid start, ran a long first stint and was rewarded by jumping his midfield rivals in the first round of pit stops. Fourth was looking impressive enough, but he then inherited third and a podium position when Verstappen retired. But as the Safety Car was announced the team took the decision to pit the Mexican, losing him a handful of places and track position. He ran out of laps to recover despite having that fresher rubber. As for Stroll, he tangled with Ocon at the start and lost his front wing. Dropping to last he had a tough afternoon which included three pit stops, one of which saw his mechanic take avoiding action when the Canadian came in to the box a bit on the quick side. He has now failed to score for the last five races...
Sergio Perez, 6th
"It was clear that today we had the podium in our pocket and I'm disappointed we missed out. It's easy to be critical with the benefit of hindsight, but ultimately we should have tried staying out and keeping track position. However, I don't want to be critical of my team; the important thing is that we learn the lesson for next time. We still put in a great performance to go from P11 and into P6 to score some really strong points. It was clear in the race that it was very tough to overtake and we still managed to improve with a tremendous first stint on the medium tyres – and it was a good decision to pit when we did [on lap 27] to gain three places. It was very close to being the perfect race for us today. We will keep pushing and we're looking forward to returning to Turkey next time out."
Lance Stroll, 13th
"It was a really difficult day out there. The contact with Esteban [Ocon] on the first lap really ruined my race and I had significant damage to the front wing. It's a shame because I was able to make up a couple of places at the start. After the contact, we came in at the end of the first lap and switched to the hard tyre, but we knew that without a really disrupted race, it was going to be tough to make up many places because it's so hard to overtake here. At the final pit stop, I had really cold brakes and that meant I overshot the pit box. I'm really glad to hear that my mechanic is okay – that's the most important thing. There's not a lot of positives to take from today, so onwards and upwards now. I'll work hard to turn the corner in Turkey."
Otmar Szafnauer, Team Principal & CEO
"A challenging afternoon that didn't end quite as we had hoped, despite scoring eight important points. Sergio was well placed to finish on the podium after Max [Verstappen] retired, but, with the benefit of hindsight, we shouldn't have pitted and instead tried staying out on the hard tyre. We chose to pit because we were concerned it would be difficult to switch on the hard tyres after the Safety Car. Those cars behind could do the opposite and were able to stay out on their very old tyres, gaining track position. Unfortunately, George Russell's crash resulted in an extended Safety Car and gave Sergio even less laps to use his tyre advantage. In the end, he had to settle for sixth place. For Lance, his race was pretty much over on Lap One after the contact with Ocon, which broke the front wing. He had to pit and was playing catch up all afternoon, which made it difficult to score points."
IMOLA, ITALY - NOVEMBER 01: Sergio Perez of Mexico driving the (11) Racing Point RP20 Mercedes on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Rudy Carezzevoli/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Lance Stroll of Canada driving the (18) Racing Point RP20 Mercedes on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Rudy Carezzevoli/Getty Images)
2020 Emilia Romagna Grand Prix: Stroll loses front wing in clash with Ocon
Sainz pulled off one of the moves of the day, made even more impressive by the fact it was on his team mate. Those two kept their fight clean but once the Spaniard was ahead, Norris couldn't find sufficient grip to fight back. From there they lapped in formation for the rest of the afternoon, to bring home a solid double points finish with the only drama coming when Sainz nearly collected a spinning Albon at the Safety Car restart. The two barely touched and the Spaniard was able to continue to win the intra-team battle today.
Carlos Sainz, 7th
"It's been a decent and well-executed race for the team. We moved up three positions, the boys did good pit stops, we stayed out of trouble and pace-wise I felt like we were a bit faster than the cars ahead. However, overtaking was extremely difficult and I couldn't move up the order as much as I obviously wanted.
"I had a big moment at the restart when Albon spun right in front me. I had to stamp on the brakes and then defend from the cars behind. I managed to save it and bring the car home seventh. With both cars in the top 10, we scored good points to keep in the fight for the championship, but we need to keep improving because it keeps getting tighter and tighter."
Lando Norris, 8th
"There wasn't a lot we could do today. We couldn't overtake, but neither could a lot of the field, even after the Safety Car. We just didn't have a big enough pace advantage to pass the cars in front. Even if you're three or four tenths quicker, you just get stuck behind. They only have to defend into Turn 1 and then they're safe for the rest of the lap. It became a race of trying to defend our position.
"Saying that, I don't think we should be too disappointed. We still have a lot of pace, we've just been unlucky recently. We need to make sure it goes our way in the final few races and that's what we'll try and do."
Andreas Seidl, Team Principal
"This was a challenging afternoon for us – but a big thank you to the entire team and the drivers for fighting hard, getting both cars home in the points and delivering 10 vital points in our constructors' championship battle.
"Our race was compromised by our qualifying positions, which caused us to be stuck in traffic for the entire race today. Before heading to Turkey, we'll go home and spend the next 10 days looking at every detail of how we can extract more pace from the car – particularly on Saturday. Congratulations to Mercedes for a seventh consecutive constructors' title. They are the benchmark the rest of F1 must strive to emulate."
IMOLA, ITALY - NOVEMBER 01: Lando Norris of Great Britain driving the (4) McLaren F1 Team MCL35 Renault on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Rudy Carezzevoli/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Lando Norris of Great Britain driving the (4) McLaren F1 Team MCL35 Renault makes a pitstop during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Mark Thompson/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Carlos Sainz of Spain driving the (55) McLaren F1 Team MCL35 Renault on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Davide Gennari - Pool/Getty Images)
Alfa proved themselves adapt at playing the strategic game today, with both drivers benefitting from very different strategies. Giovinazzi started on the soft tyres which catapulted him from P20 to 14th on the first lap, and despite an early pit stop always looked like being in the thick of the action. Raikkonen by contrast ran the longest first stint of the field and was running as high as fourth when he pitted. He came out just behind Russell but bided his time and rewarded when others made mistakes. Likewise, Giovinazzi patiently moved forward in the closing laps to score the team their first double-points finish of the year.
Kimi Raikkonen, 9th
"It was a good result for the team, with two cars in the points, so we can be happy about our race. We knew we could make the tyres last so to run as long as we could was the plan all along. We pitted when we did and the Safety Car came out soon after, which is obviously a bit frustrating, but I don't know if it would have made much of a difference. In the end, we had good race pace and we were able to be in the right place to gain from the opportunities that arose. We have been closing the gap lately, there's obviously still much we can improve, but we keep working hard for that."
Antonio Giovinazzi, 10th
"I am really happy for the team's result and, of course, for scoring points in my home Grand Prix. It has been a very strong race, especially starting from last place, and finishing in the top ten really was the most we could do. Our strategy was good and climbing six places in the first lap definitely helped. It's a nice way to celebrate signing a new contract and I am grateful to everyone in the team for today's race."
Frederic Vasseur, Team Principal
"The team has delivered a strong performance as a whole. The strategy calls were good, the pit-stops went well and, of course, the drivers executed their races without putting a wheel wrong. Bringing home our first double-points finish of the season is a good reward for our efforts today. There is still a lot of work to do, of course, but we are making progress and we were in the right place to take advantage of how the race unfolded."
IMOLA, ITALY - NOVEMBER 01: Antonio Giovinazzi of Italy driving the (99) Alfa Romeo Racing C39 Ferrari on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Joe Portlock/Getty Images)
RAIKKONEN Kimi (fin), Alfa Romeo Racing ORLEN C39, portrait during the Formula 1 Emirates Gran Premio Dell'emilia Romagna 2020, Emilia Romagna Grand Prix, from October 31 to November 1, 2020 on the Autodromo Internazionale Enzo e Dino Ferrari, in Imola, Italy - Photo Antonin Vincent / DPPI
What might have been. The team rolled the dice and left Latifi out for a long first stint who leapfrogged him up the field, with Russell looking racy from the off. They found themselves with two cars on the fringes of the points and Verstappen's DNF actually promoted Russell to P10. But the youngster lost control on cold tyres behind the Safety Car to slide into the barriers, ending not just his race but his best points scoring opportunity this season. The Canadian did at last see the chequered flag but came home an agonisingly close 11th place.
George Russell, DNF
"I was pushing as hard as I could from lap one, the most aggressive I have ever been. I knew that with the guys behind me on the new tyres and myself on the old tyres, I had to be super aggressive to be in with the chance of getting a point. I came out of the corner and the tyres were too cold and I just lost the car, and I was already in the wall. It is absolutely gutting, and I am really sorry to the team. We were having an amazing race up until then, we were pushing really hard every lap and the pace was good. There are no excuses, I have to go away and learn from this and come back stronger next time."
Nicholas Latifi, 11th
"It was a strong race for me today, especially off the back of a really tough weekend in Portugal. We ran really long in the first stint aiming to have a tyre life advantage at the end. It seemed that the prime tyre was not a great race tyre in terms of how much grip it was giving, and I didn't really feel any quicker on it. I hoped to capitalise on the second stint but my restart after the safety car was poor. Antonio (Giovinazzi) made a mistake in the chicane on the last lap which gave me DRS. We seemed to have a pretty decent straight-line speed advantage compared to the Alfa Romeos this weekend, so with one more lap maybe I could have got past him for 10th. It is a bit disappointing, but the overall pace today was encouraging."
Dave Robson, Head of Vehicle Performance
"We need to get home and unpick what happened today. After a good performance yesterday and a decent first lap, we were well placed. We opted to pit George early to attack the cars ahead and this allowed us to undercut Ocon. With Nicholas, we decided to leave him on a longer stint on the medium tyre whilst we allowed the race to unfold and waited for an opportunity. Once Perez got close, we brought him in before we lost time. The late Safety Car caused some chaos in the final laps, bunching the pack back up and allowing several cars to make cheap pitstops for fresh tyres. George stayed out and held track position but unfortunately lost control of the car whilst trying to keep his tyres hot. This extended the Safety Car period further and once Albon went off, elevated Nicholas to his third 11th place finish of the season. He came very close to beating Giovanazzi for the final point scoring position whilst also mounting a robust defence with the Haas. Unfortunately, the race was one lap too short for Nicholas to score the final point.
"Overall, we are very disappointed with the result as we worked extremely well and effectively throughout this weekend and have shown good pace in both qualifying and race trim. Considering how much track time Nicholas lost on Saturday morning, he has had an excellent weekend and showed very good pace and race-craft today. George will be very disappointed with today's result, but he had good pace and was able to race competitively with the midfield for much of the race. It has been a tiring but rewarding couple of weeks during which we have raced at some superb venues. We will now head home, regroup and prepare for the final races of the season."
IMOLA, ITALY - NOVEMBER 01: George Russell of Great Britain driving the (63) Williams Racing FW43 Mercedes on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Davide Gennari - Pool/Getty Images)
IMOLA, ITALY - NOVEMBER 01: Alexander Albon of Thailand and Red Bull Racing and Nicholas Latifi of Canada and Williams talk on the grid before the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Lars Baron - Formula 1/Formula 1 via Getty Images)
Once again, Haas lacked the race pace to truly fight with their rivals. Magnussen ran a long first stint and did some favours for others by holding up the midfield runners behind for a number of laps. His involvement in the race was cut short after complaining of headaches when up-shifting. Grosjean couldn't catch a break today and was even penalised late on with a time penalty for repeatedly exceeding track limits, which dropped him from 12th at the flag to 14th.
Romain Grosjean, 14th
"It was a long afternoon. We tried and we pushed hard, but we were lacking pace and straight-line speed, so there wasn't really a chance. I thought we might have had a chance after the Safety Car, but we were losing too much on the straight – I really struggled with that. It's a good track, we've had fun, now it's on to the next one."
Kevin Magnussen, DNF
"We had a problem with the gearbox – we had it yesterday as well on my fastest lap in qualifying. The problem came back in the race, it was there from the first lap. I was having slow up-shifts, and not only are they slow, it's also like a big bang every time you up-shift. It seems okay for a couple of laps but then it starts shaking your head crazily. By the end I just had a massive headache - I told the team. I think they felt there was nothing to fight for, so they boxed me. I mean, I was spun around at the start and that was really the end of it. I lost so much time getting back on track. The pace was really good actually, it was better than we had expected – even with the up-shifts that were costing us around half a second a lap."
Guenther Steiner, Team Principal
"A somewhat frustrating Sunday afternoon, but nothing goes our way it looks like at the moment – not just the moment, it's been a while actually. Kevin (Magnussen) getting together with Sebastian (Vettel) at Turn 7, well that put him in a place where there's not a lot to do. But he caught up pretty well in the end. He then had the gearbox issue which we had since after qualifying, but we were not allowed by the FIA to change the sensors without penalty – so that went against us. Romain (Grosjean), well if you start from those positions, you're just always in dirty air and in trouble with other cars, it's just always very busy there. We tried different strategies, we at least tried to play, but we couldn't get them playing as things happened too quick. In the end it was a long frustrating afternoon. There are four more races to go so there's four more opportunities to score points."
IMOLA, ITALY - NOVEMBER 01: Romain Grosjean of France driving the (8) Haas F1 Team VF-20 Ferrari on track during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Lars Baron - Formula 1/Formula 1 via Getty Images)
IMOLA, ITALY - NOVEMBER 01: Kevin Magnussen of Denmark driving the (20) Haas F1 Team VF-20 Ferrari spins off during the F1 Grand Prix of Emilia Romagna at Autodromo Enzo e Dino Ferrari on November 01, 2020 in Imola, Italy. (Photo by Davide Gennari - Pool/Getty Images)
Mario Isola, Head of F1 and Car Racing
"The Safety Car late in the race influenced the strategy heavily: up until then it was looking like one stop for the majority of drivers; also because there is a big pit stop time loss at Imola. Due to some graining seen on the soft, the previously envisaged strategies involving the soft then largely changed in favour of a medium to hard strategy. The medium tyre was chosen by the top two to start the race on, and showed minimal degradation even over very long stints. The hard tyre was also run by many drivers in excess of 40 laps. Obviously we need to look at the medium tyre that had completed 32 laps with Red Bull's Max Verstappen to understand exactly what happened; it seems that some debris on the track could have caused a puncture. Congratulations to Mercedes for clinching their record seventh consecutive manufacturers' championship: once more after an intensely strategic race, where Hamilton was able to take perfect advantage of the Virtual Safety Car."
Vettel admits he was 'hoping for more' from maiden season with Aston Martin