man

Comparing HTTP/3 to HTTP/2 performance-wise

#262 — April 15, 2020

Read on the Web

StatusCode Weekly
Covering the week's news in software development, ops, platforms, and tooling.

GitHub Shakes Up Pricing, Makes Most Core Features Free — One of the good consequences of Microsoft acquiring GitHub seems to be that they want to open it up to everyone without any barriers, so now you can use GitHub for private development with unlimited collaborators for free, and even the enterprise features are cheaper now.

Nat Friedman (GitHub)

Comparing HTTP/3 vs. HTTP/2 Performance — HTTP/3 is still in a draft status spec-wise, but it’s already being supported here and there, including on Cloudflare. This post covers where HTTP/3 is right now, why it matters, and some basic benchmarks.

Sreeni Tellakula (Cloudflare)

We Now Offer Remote Go, Docker or Kubernetes Training — We offer live-streaming remote training as well as video training for engineers and companies that want to learn Go, Docker and/or Kubernetes. Having trained over 5,000 engineers, we have carefully crafted these classes for students to get as much value as possible.

Ardan Labs sponsor

Ask HN: How to Rediscover the Joy of Programming? — A popular Hacker News discussion from this week about how to make programming really click for you, rather than being merely a daily slog.

Hacker News

How Deploys Work at Slack — When you’re running a service that’s used at the heart of so many companies, like Slack, deploys require a careful balance of speed and reliability. This is a very high level look at what Slack does.

Slack Engineering

Quick bytes:

???? Jobs

Full-Stack Developer (Skien, Norway) — We are looking for a full-stack dev with a solid track record to help us adapt to tomorrow's security requirements.

OKAY

Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

???? Stories and Opinions

The Death of Hype: What's Next for Scala — Most languages go through a ‘hype cycle’ and Scala’s initial peak was quite a few years ago now but what’s the long term outlook like?

Haoyi

The Case for Human-Centric Observability

Lightstep sponsor

Clocking a 6502 to 15GHz — Via emulation, of course :-)

Chris Evans

The Malleable Systems Manifesto — An attempt to explore the idea of software being easy to change, reusable, sharable, and thoughtfully crafted.

Malleable Systems Collective

What Outranks Thread Priority? — When reawakening his laptop because to take longer and longer, Bruce set out to find the cause..

Bruce Dawson

Why NextDNS Is My New Favourite DNS Service — Note: This is about using a third party DNS service as a client rather than for serving records.

Stanislas Lange

???? Tutorials

How to Monitor Your Web Page's Total Memory Usage with performance.measureMemory() — Learn how to measure memory usage of your web page in production to detect regressions. (Chrome only, for now.)

Ulan Degenbaev

How Anti-Cheat Systems Detect System Emulation — Not an area I’m involved in but this is fascinating. These folks really know their stuff.

Daax, iPower, ajkhoury, and Drew

▶  Easy And Correct High Availability Postgres with Kubernetes — A 50 minute talk from PostgresOpen 2019 that goes all the way ‘from containers up’ until actually doing stuff with Postgres.

Steven Pousty

Some GitHub Pro-Tips Direct from GitHub — Lee Reilly is a developer and marketer at GitHub and has a whole bunch of genuinely useful GitHub power user tips here.

Lee Reilly (GitHub)

Untangling Microservices, or Balancing Complexity in Distributed Systems“The microservices honeymoon period is over.” Vladik looks at why, as well as at common design issues that turn microservices into ‘distributed big balls of mud’.

Vladik Khononov

▶  Explore Your Microservices Architecture with Graph Theory and Network Science — Can we improve microservice architectures using graph theory? Apparently yes.

Nicki Watt

Continuous Deployments for WordPress Using GitHub Actions — Shipping code to a production server often requires paid services. With GitHub Actions, Continuous Deployment is free for everyone. Read how to set that up.

Steffen Bewersdorff

The DevSecOps Security Checklist — The checklist brings security, operations & engineering together to up-level security without impacting velocity.

Sqreen sponsor

A Beginners Guide to Basic Indexing in Postgres

James Bannister

???? Code and Tools

The Desmos Graphing Calculator — One of those long-standing tools I lean on every now and then that I think everyone should know about. Ideal for graphing functions, doing approximations, etc.. and you don’t have to sign in or anything ????

Desmos

All 200+ Google Cloud Products Described in 4 Words or Less — This is a neat poster. We need AWS and Azure versions of this as well.

Greg Wilson

IntelliJ IDEA 2020.1 Released — Now supports Java 14 and its new features.

JetBrains

Portray: A Python3 Documentation Generation Tool — I’m only a Pythonista on rare occasion, but this looks really neat.

Timothy Crosley

mv.sh: Rename Files with mv Without Typing The Name Twice

Přemek Vyhnal

regex2fat: Turn Your Favorite Regex into FAT32 — This is an absolutely terrible idea (but in a fun, entertaining way ????)

8051Enthusiast

The Simpsons in CSS — Just a bit of fun, but neat to see what you can whip up with (a lot of) CSS.

Chris Pattle




man

Sen. Joe Manchin forgot to mute a call with Senate Democrats while he went through an Arby's drive-through

Contrary to popular belief, people do order fish sandwiches at Arby's.Senate Democrats recently learned one of their own is among that rare crowd when Sen. Joe Manchin (D-W.V.) forgot to hit mute when driving through an Arby's drive-through last month. Manchin pulled up to the fast food spot in his home state, asked for a King’s Hawaiian Fish Deluxe sandwich, and later learned his mistake after staffers texted him, he tells The Wall Street Journal."It's a big piece of fish and it has a big slice of cheese," Manchin described to the Journal. "They were just jealous they weren't getting the good sandwich." Manchin himself may be jealous that unlike West Virginia Gov. Jim Justice, he doesn't have a sandwich named after him at his local Arby's.Manchin is far from the only lawmaker who's been "busted," as he put it, for forgetting to hit mute. Rep. Jamie Raskin (D-Md.) says his children have repeatedly walked by and told him to "tell [House] Speaker [Nancy] Pelosi to say now is the time to start forgiving student loans." Several described overhearing "colleagues exercising on ellipticals, doing sit-ups, dealing with children, or taking other phone calls," they tell the Journal. And many of them have admittedly skipped showers on days they know they don't have to be on camera. Read more about congressmembers' at-home habits at The Wall Street Journal.More stories from theweek.com The full-spectrum failure of the Trump revolution Unemployment is a catastrophe — but it could still be worse Trump reportedly got 'lava level mad' over potential exposure to coronavirus





man

Heat, humidity at edge of human tolerance hitting globe

Researchers found that temperature extremes previously thought to be rare have been recorded more than 1,000 times in 40 years.





man

Woman heartbroken by Smithfield Foods' response to grandfather's death from coronavirus

“I want you to know he died in the hospital alone, isolated, and scared,” she wrote in an Instagram message to Smithfield Foods.





man

Man hit by plane, killed on Austin-Bergstrom airport runway, officials say

A person died Thursday night after being hit by a plane as it was landing at Austin-Bergstrom International Airport, according to airport officials.





man

Virginia Man Faked His Own Death in Ridiculously Elaborate Plot to Avoid Bankruptcy

The wild plot involved faking his own death, stealing the identity of a Florida attorney, using an app to disguise his voice, and pretending to have prostate cancer, bone cancer, and a brain aneurysm.Unemployed Virginia man Russell Louis Geyer was so determined to hide his assets in bankruptcy proceedings, he even threw his own wife under the bus—duping her into handing over $70,000 and using her email address to inform an attorney he was dead. Geyer, 50, pleaded guilty on Wednesday to contempt of court, bankruptcy fraud, wire fraud, and aggravated identity fraud. He faces up to life in prison.“In an effort to game the bankruptcy system, Mr. Geyer devised a made-for-TV plot that ultimately collapsed under its own weight,” U.S. Attorney Thomas Cullen said in a statement.Minnesota Man Killed Wife, Buried Her Under Home, Then Faked Her Disappearance: Court DocsGeyer and his wife, Patricia Sue Geyer, from Saltville, filed for voluntary bankruptcy in late 2018, listing liabilities of $532,583.80, according to court documents.They were behind on payments for three of their four vehicles, for both their home and a rental property they owned, and for most of their furniture. They hadn’t paid electricity bills, bank overdrafts, credit card bills, and dozens of medical bills, and more than 50 creditors were chasing them for everything from their 65-inch TV to their Kawasaki ZX1000 motorbike. At one point in the bankruptcy proceedings, Geyer told his lawyer, John Lamie, he’d gone to the Mayo Clinic in Florida to be treated for prostate cancer, but it had spread to his bones and he intended to stop treatment.Four months later, according to a criminal complaint, he told Lamie he was now in a hospice in Florida after treatment failed. He said his wife was there, too, and had undergone bypass surgery for a heart condition. She wasn’t cleared to drive back to Virginia, he claimed.Then, a few days before September 5, 2019, when Geyer was due to appear in person at a bankruptcy hearing, Lamie received an email from Geyer’s wife. Her husband was dead, it said. He’d apparently had a brain aneurysm in June while being transported back from Florida after his chemotherapy treatments.Around the same time, Geyer’s attorney got a threatening email from an attorney in Florida who said he’d sold the assets that debtors were trying to recover in the bankruptcy case. “[Patricia] doesn’t know anything about this, and neither does Russell,” the email said. “I have complete control of Russell and told him to kill himself. You will not find him in time.” He ended the email by saying: “I am on a plane out of the country.”However, investigators later found that the Florida attorney whose name was used in the email existed but had nothing to do with the case. Geyer had simply set up a bogus email account using his name.‘Please Come Get Me’: Fatal Indianapolis Police Shooting May Have Aired on Facebook He even used the attorney’s identity to fleece his wife, a registered nurse who earned $3,200 a month, for $70,000. Geyer told his wife he’d won a $1 million settlement in Florida in an unrelated court case but needed her to pay $70,000 in legal fees for the money to be released. He used the bogus email address and an app that disguised his voice to pose as the Florida attorney and confirm the settlement was imminent. “It was all untrue,” the U.S. Attorney’s Office for the Western District of Virginia said in a statement on Thursday.The plot unraveled on Sept. 4, the day before the bankruptcy hearing, when a process server visited the couple’s Saltville home to give them a notice to appear.The home was empty but, just as the process server was leaving, Geyer and his wife arrived home in their car and got out—far from the Florida hospice he had claimed to be languishing in. The next day, Patricia Geyer, who said she’d largely let her husband deal with the bankruptcy case, left home to attend the court hearing about an hour after her husband. He never showed up.She told the court she had no idea about her husband’s wild story. She said they hadn’t been in Florida recently, she hadn’t had bypass surgery, and her husband didn’t have cancer. The first time she’d heard of her husband’s supposed death was two days earlier, when Lamie called her to say he’d heard about Geyer’s passing.“A few days ago, [Lamie] called me at work,” she said under cross-examination in court. “I got a message to call him. So I immediately called him and then he told me all this stuff about Russell being dead and all that. It just floored me, so I had no clue.”“Where’s Mr. Geyer now?” a judge asked her.“I couldn’t tell you, because he left the house this morning an hour, hour before me. And he was supposed to come down here and be here at 10:30, and then when I ended up here, he wasn't here. So I don’t know.” After that day in court, she only ever received text messages from Geyer saying he was in a hospital in West Virginia following a suicide attempt. Geyer was tracked down two weeks later and charged with criminal offenses. He underwent a psychiatric evaluation as part of the criminal case but was found to be competent to stand trial.“Despite its complexity and shameless use of deceit, including against his own wife, Mr. Geyer’s scheme failed to account for the FBI’s and the US Attorney’s office’s commitment to protect both fraud victims and our judicial system,” FBI Special Agent David W. Archey said.Read more at The Daily Beast.Got a tip? Send it to The Daily Beast hereGet our top stories in your inbox every day. Sign up now!Daily Beast Membership: Beast Inside goes deeper on the stories that matter to you. Learn more.





man

Katie Miller, Pence spokeswoman, tests positive for coronavirus

The diagnosis brings the threat of infection into the president's inner circle.





man

Dateci Voce: Italian women demand voice in Covid-19 fight

Women post selfies demanding more representation in official bodies dealing with Covid-19.




man

Love Bug's creator tracked down to repair shop in Manila

Two decades after the world's first major computer virus, an author finds the perpetrator in Manila.




man

Robot offers help to human co-workers and other tech stories

BBC Click's Jen Copestake looks at some of the best of the week's technology stories.




man

Mother of killed Georgia man seeks justice

Wanda Cooper says her son, Ahmaud Arbery, was "hunted down like an animal and killed".




man

The man who grew his own Amazon rainforest

Fighting back against destruction in the Amazon: how one man grew a rainforest of his own.




man

From patient to healer: How this woman is saving lives

Women who have overcome depression are running therapy sessions to help others




man

Leveraging React for Easy Image Management

React is a good tool when it comes to building flexible and reusable UI components. However, it’s “one of those libraries” that cannot handle all the tasks involved in building a full fleshed UI project. Other supporting tools - such as a recently announced React SDK from Cloudinary - are available to provide solutions that the React core cannot.

In such cases where media (images and videos) becomes a heavy task to handle, Cloudinary simplifies the process with the new React SDK. Let’s build and image library with Cloudinary and React using the Cloudinary’s React SDK.

Prerequisites

The only requirements for using Cloudinary in your existing React project are to install the React SDK and the upload widget. If you do not have an existing React project and want to try these examples, take the following steps:

1. Install Dependencies

We need a minimal amount of dependencies so we can focus on building a media library and not structuring a React app:

{
  "name": "img-library",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "watch": "webpack -d --watch",
    "build": "webpack",
    "serve": "serve ./public"
  },
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "babel-core": "^6.18.2",
    "babel-loader": "^6.2.9",
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-react": "^6.16.0",
    "serve": "^1.4.0",
    "webpack": "^1.14.0"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "cloudinary-react": "^1.0.1",
    "react": "^15.4.1",
    "react-dom": "^15.4.1"
  }
}

React (and React DOM) must be used since we are making a React app. The cloudinary-react dependency is Cloudinary’s React SDK, which we will soon see how it works. axios is a tool for making HTTP requests and, in our case, we will use it request images from the Cloudinary server.

# Install dependencies
npm install

2. Setup Webpack

Webpack is our build tool. Only minimal settings are required to have a build running and our React app compiling:

// ./webpack.config.js
var webpack = require('webpack');
var path = require('path');

var BUILD_DIR = path.resolve(__dirname, 'public');
var APP_DIR = path.resolve(__dirname, 'src');

var config = {
    entry: APP_DIR + '/index.jsx',
    output: {
        path: BUILD_DIR,
        filename: 'bundle.js'
    },
    module : {
        loaders : [
            {
                test : /.jsx?/,
                include : APP_DIR,
                loader : 'babel'
            }
        ]
    }
};

module.exports = config;

Basic configuration - an entry, output and loaders to handle the React .jsx files.

3. Entry Points

We need to create an entry point, as we specified in the Webpack configuration, and another entry point for the browser, which is an index.html file:

// ./src/index.jsx
import React, { Component } from 'react';
import { render } from 'react-dom';

class Main extends Component {
    render() {
        return (
           <div className="main">
               <h1>Scotchage</h1>
           </div>
        );
    }
}

render(<Main />, document.getElementById('container'));
<!-- ./public/index.html -->
<html>
<head>
    <!--Stylesheet-->
    <link rel="stylesheet" href="style.css">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <!--Container for React rendering-->
    <div id="container"></div>
    <!--Bundled file-->
    <script src="bundle.js"></script>
</body>
</html>

4. Create Cloudinary Account

You need a Cloudinary account to continue with these examples. Sign up for free and store your credentials safely as shown on the dashboard:

Uploading Images

Before using the React SDK to deliver images from the Cloudinary servers, let’s use the awesome Cloudinary upload widget to upload images. First, we need to add this widget to our index.html:

<!-- ./public/index.html -->
<html>
<head>
   . . .
</head>
<body>
    . . .
    <!-- UPLOAD WIDGET -->
    <script src="//widget.cloudinary.com/global/all.js" type="text/javascript"></script>
    <script src="bundle.js"></script>
</body>
</html>

Next, we create a button, attach an event to it and upload an image once the button is clicked:

import React, { Component } from 'react';
import { render } from 'react-dom';

class Main extends Component {

    uploadWidget() {
        cloudinary.openUploadWidget({ cloud_name: 'CLOUD_NAME', upload_preset: 'PRESET', tags:['xmas']},
            function(error, result) {
                console.log(result);
            });
    }
    render(){
        return (
            <div className="main">
                <h1>Galleria</h1>
                <div className="upload">
                    <button onClick={this.uploadWidget.bind(this)} className="upload-button">
                        Add Image
                    </button>
                </div>
            </div>

        );
    }
}

render(<Main />, document.getElementById('container'));

The uploadWidget member method is the handler invoked by the click event to handle our image upload by calling cloudinary.openUploadWidget. openUploadWidget takes a config object and the upload callback handler. The config object must have at least cloud_name and upload_preset properties with valid values. You can read more about Cloud Names and Upload Presets.

Delivering Images with SDK

The Cloudinary React SDK has three major components, Image, CloudinaryContext and Transformation:

  • Image: This component is responsible for the actual delivery of images. It takes the image ID and asks the server for this image. When the image is provided, it is also responsible for painting the image on the browser.
  • Transformation: This component is used to apply transformations to images delivered with Image.
  • CloudinaryContext: You can specify Cloudinary configuration for each image on the Image component. This can be tedious when you are dealing with multiple images. CloudinaryContext allows you to apply configuration to a group of Images.

Most times you would end up with a structure like this:

<CloudinaryContext>
    <Image>
        <Transformation />
        <Transformation />
    </Image>
    <Image>
        <Transformation />
    </Image>
</CloudinaryContext>

Back to our demo app, we can request an image from the Cloudinary server and display it with the following components:

import React, { Component } from 'react';
import axios from 'axios';
import { CloudinaryContext, Transformation, Image } from 'cloudinary-react';
import { render } from 'react-dom';

class Main extends Component {
    constructor(props) {
        super(props);
        this.state = {
            gallery: []
        }
    }
    componentDidMount() {
    // Request for images tagged xmas       
axios.get('http://res.cloudinary.com/christekh/image/list/xmas.json')
            .then(res => {
                console.log(res.data.resources);
                this.setState({gallery: res.data.resources});
            });
    }
    uploadWidget() {
       // . . .
    }
    render(){
        return (
            <div className="main">
                <h1>Galleria</h1>
                <div className="gallery">
                    <CloudinaryContext cloudName="CLOUDNAME">
                        {
                            this.state.gallery.map(data => {
                                return (
                                    <div className="responsive" key={data.public_id}>
                                        <div className="img">
                                            <a target="_blank" href={`http://res.cloudinary.com/christekh/image/upload/${data.public_id}.jpg`}>
                                                <Image publicId={data.public_id}>
                                                    <Transformation
                                                        crop="scale"
                                                        width="300"
                                                        height="200"
                                                        dpr="auto"
                                                        responsive_placeholder="blank"
                                                    />
                                                </Image>
                                            </a>
                                            <div className="desc">Created at {data.created_at}</div>
                                        </div>
                                    </div>
                                )
                            })
                        }
                    </CloudinaryContext>
                    <div className="clearfix"></div>
                </div>
            </div>

        );
    }
}

render(<Main />, document.getElementById('container'));

Take one more look at the upload code:

 cloudinary.openUploadWidget({ cloud_name: 'christekh', upload_preset: 'idcidr0h', tags:['xmas']},
            function(error, result) {
            . . .

Each image is tagged with xmas, which serves as a way to request images with this tag as a collection. This is exactly what we are using the axios library to do when the component mounts:

axios.get('http://res.cloudinary.com/CLOUDNAME/image/list/xmas.json')
            .then(res => {
                console.log(res.data.resources);
                this.setState({gallery: res.data.resources});
            });

axios uses promises, so whenever the promise resolves in our case, we have a payload of images. We take advantage of React state to update our UI with the fetched resources.

Down to rendering, we configure the CloudinaryContext with our cloud_name, iterate over the gallery state that stores the images and displays them using the Image component. We also apply few transformations using the Transformation component.

For security reasons, Cloudinary will not allow you to make such request from the client unless you tell it to. The best way to go is to use the admin API via a backend SDK and then send the resource list to the client.

Updating State with New Uploads

We are able to upload images and request for images to be displayed on the user’s browsers. Here is how we update the displayed images instantly when the user uploads a new image:

uploadWidget() {
        let _this = this;
        cloudinary.openUploadWidget({ cloud_name: 'CLOUDNAME', upload_preset: 'PRESET', tags:['xmas']},
            function(error, result) {
            // Update gallery state with newly uploaded image
                _this.setState({gallery: _this.state.gallery.concat(result)})
            });
    }

Rather than logging the uploaded image information to the console, we update the gallery state, which bears the list of requested images, by concatenating the uploaded result to the gallery.

Image Management Simplified

Image uploads, transformation and delivery has never been easier. These tasks have been a serious challenge for developers. Cloudinary has created a way to abstract all this hard work, enabling you to simply plug and play.




man

2008 Club World Cup Final: LDU Quito 0-1 Manchester United

Liga de Quito-Manchester United, FIFA Club World Cup Japan 2008 Final: Both teams showed impressive attacking flair, but it was Wayne Rooney's angled shot that made the difference.




man

Phil Foden (R) with his 'Man of the Tournament' trophy, Rhin Brewster (L) with his 'Highest Scorer' trophy of England and goalkeeper Gabriel Brazao with his 'Best Goalkeeper' trophy pose

Phil Foden (R) with his 'Man of the Tournament' trophy, Rhin Brewster (L) with his 'Highest Scorer' trophy of England and goalkeeper Gabriel Brazao with his 'Best Goalkeeper' trophy pose for a photo after the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images)




man

England manager Steve Cooper celebrates after the 5th goal

KOLKATA, INDIA - OCTOBER 28: England manager Steve Cooper celebrates after the 5th goal during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images)




man

England manager Steve Cooper celebrates with the trophy

KOLKATA, INDIA - OCTOBER 28: England manager Steve Cooper celebrates with the trophy during the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Jan Kruger - FIFA/FIFA via Getty Images)




man

Esmaeilpour, Iran’s man for the occasion

After back-to-back games decided by his dramatic late interventions, Iran's Ahmad Esmaeilpour reflects on what is turning out to be a FIFA Futsal World Cup to remember.




man

Mane, Alexander-Arnold prepare to take on the world




man

Tickets for high-demand FIFA Club World Cup matches to go on sale tomorrow




man

Seyed Nazemalsharieh the manager of Iran reacts to a missed opportunity

Seyed Nazemalsharieh the manager of Iran reacts to a missed opportunity during the FIFA Futsal World Cup Third Place play off match between Iran and Portugal at the Coliseo el Pueblo Stadium on on October 1, 2016 in Cali, Colombia. (Photo by Ian MacNicol - FIFA/FIFA via Getty Images)




man

Oman hold off Nigeria to secure three crucial points




man

Portugal made to sweat by Oman before punching quarter-final ticket




man

Russia’s Romanov delights in repeat of 2015 heroics




man

Match 5: Germany v Costa Rica – FIFA U-17 World Cup India 2017

Watch highlights of the Group C match between Germany and Costa Rica at the FIFA U-17 World Cup.




man

Germany 2-1 Costa Rica (India 2017)

Watch highlights of the Group C match between Germany and Costa Rica at the FIFA U-17 World Cup.





man

Guinea 1-3 Germany (India 2017)

Watch highlights of the Group C match between Guinea and Germany at the FIFA U-17 World Cup.




man

Colombia 0-4 Germany (India 2017)

Watch highlights of the Round of 16 match between Colombia and Germany at the FIFA U-17 World Cup.




man

Germany 1-2 Brazil (India 2017)

Watch highlights of the quarter-Final match between Germany and Brazil at the FIFA U-17 World Cup.




man

Mannequin Challenge at the FIFA Confederations Cup Draw

Mannequin Challenge at the FIFA Confederations Cup Draw.




man

Manuel Neuer: "We want to win every possible trophy!"

Germany's World Cup™ winner 2014, Manuel Neuer, spoke with us about the upcoming Confederations Cup in Russia.




man

15 DAYS TO GO! Germany deadly on home soil

Germany netted 15 goals at the FIFA Confederations Cup in 2005, the biggest haul by a host nation at the Tournament of Champions. Die Mannschaft would go on to record a third-place finish that year, defeating Mexico 4-3 (AET) in the semi-finals.

 

 




man

Cristiano Ronaldo: Budweiser Man of the Match, Portugal v Mexico (Portuguese)

Hear from Cristiano Ronaldo: Budweiser Man of the Match, Portugal v Mexico (Portuguese)




man

Arturo Vidal: Budweiser Man of the Match, Cameroon v Chile (Spanish)

Hear from FIFA Man of the Match Arturo Vidal after his side's 2-0 win over Cameroon at the FIFA Confederations Cup 2017 (Spanish).




man

Germany v Australia, FIFA Confederations Cup 2005

Germany and Australia played out a seven goal thriller at the 2005 FIFA Confederations Cup.




man

Australia 2-3 Germany (Russia 2017)

Watch highlights of the match between Australia and Germany from the FIFA Confederations Cup 2017 in Russia.




man

Aaron Mooy Post-Match Interview, Australia v Germany

Hear from Australia midfielder Aaron Mooy after his side's 3-2 defeat against Germany at the FIFA Confederations Cup 2017.




man

West Germany 4-1 Chile (1982 FIFA World Cup)

Highlights of a comprehensive win for Germany FR against Chile at the 1982 FIFA World Cup. Karl-Heinz Rummenigge was the hero of the day, bagging a hat-trick.




man

West Germany 2-0 Chile (1962 FIFA World Cup)

Highlights of the Group Stage match between Germany FR and Chile at the 1962 FIFA World Cup. Goals from Horst Szymaniak and Uwe Seeler saw Germany FR prevail and ensured they topped Group 2.




man

West Germany 1-0 Chile (1974 FIFA World Cup)

Highlights of the match between Germany FR and Chile at the 1974 FIFA World Cup. A Paul Breitner goal was enough to secure victory for hosts Germany FR, who would go on to lift the trophy.




man

Cristiano Ronaldo: Budweiser Man of the Match - Russia v Portugal

Hear from FIFA man of the match Cristiano Ronaldo after his sides 1-0 win over Russia.




man

Javier Aquino: Budweiser Man of the Match - Mexico v New Zealand

Hear from FIFA man of the match Javier Aquino after his sides 2-1 win over New Zealand.




man

Germany v Chile - Promo - FIFA Confederations Cup 2017

Promo previewing match 8 of the FIFA Confederations Cup 2017 - Germany v Chile




man

Andre-Frank Zambo Anguissa: FIFA Man of the Match - Match 7: Cameroon v Australia

Hear from FIFA man of the match Andre-Frank Zambo Anguissa after his sides 1-1 draw against Australia at the FIFA Confederations Cup 2017.




man

Germany 1-1 Chile (Russia 2017)

Watch highlights of the match between Germany v Chile from the FIFA Confederations Cup 2017 in Russia.




man

Alexis Sanchez: FIFA Man of the Match - Match 8: Germany v Chile

Hear from FIFA man of the match Alexis Sanchez after his sides 1-1 draw with Germany at the FIFA Confederations Cup 2017.




man

Hirving Lozano: Budweiser Man of the Match (Spanish)

Hear from FIFA Man of the Match Hirving Lozano after his side's 2-1 win over Russia at the FIFA Confederations Cup 2017 (Audio in Spanish).




man

Cristiano Ronaldo: FIFA Man of the Match - Match 10: New Zealand v Portugal

Hear from FIFA man of the match Cristiano Ronaldo after his sides 4-0 win over New Zealand.