ag

5 Burgers If You Agree!!!1!1






ag

Meghan McCain Goes Off on Kayleigh McEnany for ‘Spinning Propaganda’

Meghan McCain, The View’s resident conservative host, tore into Kayleigh McEnany for “spinning propaganda” on Thursday morning after the new White House press secretary dismissed the need for increased coronavirus testing as the economy reopens.During her press briefing on Wednesday, McEnany said it was “nonsensical” to think that every American should be able to get tested for coronavirus, even though President Donald Trump said two months earlier that “anybody that wants a test can get a test.” The hosts of The View took the press secretary to task over those remarks.Co-host Sunny Hostin said she found it “shocking” that the White House spokesperson would say that considering recent news that one of the president’s personal valets just tested positive for the virus.“So it’s obviously important enough for everyone in the White House and surrounding the president to be tested for the coronavirus, but it’s not important to the press secretary and to the administration for Americans to be tested for the coronavirus,” she declared. “And so that tells me that she is just spinning lies to the American people rather than being honest with the American people.”After first saying there has been “mixed messaging” coming not just from the White House but from medical experts since the beginning of the coronavirus pandemic, McCain went on to blast McEnany as a propagandist.“I think in regards to Kayleigh McEnany, she was hired for this job because she’s good at spinning propaganda, and she was good spinning propaganda before she got hired,” she exclaimed. “And you can make the argument that’s the role of any press secretaries but it’s probably a little more egregious with this particular president.”The conservative co-host then worried aloud that we were reaching a tipping point on saving the economy, criticizing the Trump administration for not taking the necessary steps to safely reopen the country.“If we don’t start getting a plan to get testing, to somehow pull ourselves out of this and get America back to work,” she proclaimed. “This is going to be far more egregious than any crisis any of us have seen in all of our lifetimes.” “If the tests aren’t important, why is the White House, and everybody else getting tested before they go before the president?” McCain concluded. “I would like to go back to work. I know you would, and I would be comfortable doing that if we all had the capacity to get tested.”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.





ag

Russia is fast becoming a coronavirus epicenter, with health workers still reporting PPE shortages. Putin is already thinking about reopening.

On Thursday, the country reported its largest one-day increase in new cases of 11,231 — yet President Putin already has his eyes on reopening.





ag

No warning, no escape as deadly gas swept through an Indian village

When gas began leaking from a nearby chemical factory and drifting towards his house in southern India, there were no warnings and no alarms, welder Elamanchili Venkatesh said. Venkatesh, who staggered outside blindly, said he coughed up blood before losing consciousness.





ag

Coronavirus: Staggered work times considered when lockdown eases

Transport Secretary Grant Shapps says it could help maintain social distancing on public transport.




ag

'B' teams or partner clubs back on the agenda? Clubs may have to 'share resources' to survive

The controversial concept of B teams may be back on the agenda as football tries to navigate a way through Covid-19, Brighton technical director Dan Ashworth says.




ag

Extra substitutes among temporary law changes when leagues resume

Teams will be allowed to use five substitutes when the season resumes after a Fifa proposal to help with fixture congestion was approved.




ag

Watford third team to oppose Premier League neutral venue proposals

Watford become the third team to publicly oppose the use of neutral venues when Premier League football returns.




ag

Coronavirus: Belarus WW2 parade defies pandemic and upstages Putin

Belarus goes ahead with a Victory Day parade but in Russia coronavirus forced its cancellation.




ag

Magician Roy Horn dies after catching coronavirus

He and his stage partner Siegfried Fischbacher were one of the longest-running acts in Las Vegas.




ag

npm's CTO: So Long, and Thanks for All The Packages

#334 — April 16, 2020

Read on the Web

Node Weekly

npm Has Now (Actually) Joined GitHub — We announced GitHub’s acquisition of npm a month ago but now the process is complete. Not much real news here but the plan is to now focus on community engagement and improving registry infrastructure.

Jeremy Epling (GitHub)

Node v13.13.0 (Current) Releasedfs.readv is a new function to sequentially read from an array of ArrayBufferViews, util.inspect now lets you specify a maximum length for printed strings, the default maximum HTTP header size has been increased to 16KB, there are three new collaborators, and more.

Michaël Zasso

Get Better Insight into Redis with RedisGreen — Modern hosting and monitoring services include memory usage maps, seamless scaling, key size tracking, and more.

RedisGreen sponsor

▶  Watch the Live Coding of a New Feature for Node.js — This is not something for novices, but if the idea of watching ‘over the shoulder’ of a Node.js collaborator implementing a new feature directly into Node itself interests you.. this could be a valuable hour spent.

Vladimir de Turckheim

node-libcurl 2.1: libcurl Bindings for Nodelibcurl is a very powerful and well established way to fetch data from URLs across numerous protocols. node-libcurl 2.1.0 brings support for the latest version of libcurl (7.69.1) to us in the Node world.

Jonathan Cardoso Machado

npm's CTO: 'So Long, and Thanks for All The Packages!' — Ahmad Nassri was npm’s CTO but has now left. Here, he reflects on the past ten years of npm, the repo, the company, and the achievements of both.

Ahmad Nassri

???? Jobs

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

Vettery

Node.js Developer at X-Team (Remote) — Join X-Team and work on projects for companies like Riot Games, FOX, Coinbase, and more. Work from anywhere.

X-Team

▶️ Get ready for your next role: Pluralsight is free for the entire month of April. Stay Home. Skill Up. #FreeApril — SPONSORED

???? Tutorials

Working With AWS Route 53 from Node — Route 53 is Amazon Web Services’ suite of DNS-related services. Like every AWS service, you can control it via an API, and here’s how to manipulate hosted zones from Node.

Valeri Karpov

Best Practices Learnt Running Express.js in Production for 4 Years — There’s a lot of stuff packed in here focused around middleware, testing, logging, and general concerns around scaling and keeping apps running in production.

Adnan Rahić

The Node.js Security Handbook — Improve the security of your Node.js app with the Node.js security handbook made for developers.

Sqreen sponsor

How To Set Up an Express API Backend Project with PostgreSQL — A pretty extensive walkthrough of creating an HTTP API using Express with Node.js and Postgres on the backend, then deploying it all on Heroku.

Chidi Orji

Porting to TypeScript Solved Our API Woes — From the guy behind the (in)famous Wat video comes a tale of porting a backend from Ruby to TypeScript.

Gary Bernhardt

How to Mass Rename Files in Node

Flavio Copes

▶  Let's Build a Digital Circuit Simulator In JavaScript — A special episode of the Low Level JavaScript series takes us on a brief journey into the world of digital logic.

Low Level JavaScript

The Story of How I Created a Way to Port Windows Apps to Linux — We mentioned ElectronCGI recently as a way to let .NET and Node.js code depend upon each other, but here its creator explains more about the how and why.

Rui Figueiredo

How to Create an Alexa Skill with Node — Implementing a custom ‘skill’ for Amazon Alexa by using Node and AWS Lambda.

Xavier Portilla Edo

???? Tools, Resources and Libraries

Node v10.20.1 (LTS) Released — If you’re still using Node 10, don’t use v10.20.0, use this, due to a bug in the .0 release.

Bethany Nicolle Griggs

emoji-regex: A Regular Expression to Match All Emoji-Only Symbols

Mathias Bynens

ip-num: A Library to Work with ASN, IPv4, and IPv6 Numbers — Happy in both Node and the browser.

dadepo

Optimize Node.js Performance with Distributed Tracing in Datadog

Datadog APM sponsor

verify-json: Verify JSON Using a Lightweight Schema — A lighter weight alternative to something like JSON Schema.

Yusuf Bhabhrawala

middle-manager: A Lightweight 'No BS' Presentation Tool — A bit of humor, really. It turns Markdown into basic presentations but then the magic is it detects your ‘BS’ business language so you can remove it ????

Anders




ag

Ellie and Nele: From she to he - and back to she again

When two trans men fell in love they began to have second thoughts about their gender.




ag

The actor who was really stabbed on stage

Conor Madden was playing Hamlet when a sword fight went badly wrong. Would he ever act again?




ag

The shop where you can still buy huge bags of pasta

Wholesalers are opening their doors to members of the public keen to buy supplies in bulk.




ag

Staging a 'socially distanced' boxing match

Inside the Nicaraguan boxing event that caught the world's attention during the pandemic.




ag

Millie Small: My Boy Lollipop singer dies aged 72

The singer, who had Jamaica's first million-selling single, dies after suffering a stroke.




ag

Coronavirus: Brazil's outbreak 'threatens Paraguay's success'

Paraguay's president says he has reinforced the border with the worst-hit country in South America.




ag

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.




ag

Serio Gomez of Spain celebrates after scoring a goal against England

Serio Gomez of Spain celebrates after scoring a goal against England during their final FIFA U-17 World Cup football match at the Vivekananda Yuba Bharati Krirangan stadium in Kolkata on October 28, 2017. / AFP / Dibyangshu SARKAR




ag

Head coach Santiago Denia of Spain looks on

KOLKATA, INDIA - OCTOBER 28: Head coach Santiago Denia of Spain looks on 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 Buda Mendes - FIFA/FIFA via Getty Images)




ag

Head coach Steve Cooper of England gives a gift for coach Santiago Denia of Spain

KOLKATA, INDIA - OCTOBER 28: Head coach Steve Cooper of England gives a gift for coach Santiago Denia of Spain 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 Buda Mendes - FIFA/FIFA via Getty Images)




ag

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)




ag

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)




ag

Shayakhmetov eager to learn from defeat

Vladislav Shayakhmetov stands in the changing room entrance at the Coliseo el Pueblo in Cali, saddened and with his head bowed. He has just suffered a 5-4 defeat to Argentina in the final of the FIFA Futsal World Cup Colombia 2016, missing the chance to help Russia win a first-ever title.




ag

Thueanklang does it again

In a repeat of the 2012 vote, the users of FIFA.com chose a sumptuous Suphawut Thueanklang strike as the best goal of the FIFA Futsal World Cup Colombia 2016.




ag

Oceanian contenders line up for shot at world stage




ag

Carrillo: We’ll play with the same determination as the Champions League




ag

Five strengths Al Hilal will lean on against Flamengo


FIFA.com analyses five factors that have helped Saudi side Al Hilal shine this year, strengths which coach Razvan Lucescu will be hoping to use against Brazil's Flamengo.




ag

Dalian youngsters enjoy thrilling Wanda FIFA Flag Bearer experience




ag

Players of Russia celebrate at the end of the semi final against Iran

MEDELLIN, COLOMBIA - SEPTEMBER 27: Players of Russia celebrate at the end of the FIFA Futsal World Cup Semi-Final match between Iran and Russia at Coliseo Ivan de Bedout stadium on September 27, 2016 in Medellin, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images)




ag

Sergey Abramov (C) of Russia celebrates at the end of the semfinal againstl Iran

MEDELLIN, COLOMBIA - SEPTEMBER 27: Sergey Abramov (C) of Russia celebrates at the end of the FIFA Futsal World Cup Semi-Final match between Iran and Russia at Coliseo Ivan de Bedout stadium on September 27, 2016 in Medellin, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images)




ag

Argentina's Cristian Borruto (R) scores against Portugal

Argentina's Cristian Borruto (R) scores against Portugal during their Colombia 2016 FIFA Futsal World Cup match at the Coliseo El Pueblo stadium, in Cali, Colombia on September 28, 2016. / AFP / LUIS ROBAYO




ag

Argentina's team players celebrate after scoring against Portugal

Argentina's team players celebrate after scoring against Portugal during their Colombia 2016 FIFA Futsal World Cup match at the Coliseo El Pueblo stadium, in Cali, Colombia on September 28, 2016. / AFP / LUIS ROBAYO




ag

Leandro Cuzzolino (bottom) of Argentina celebrates with his teammates Pablo Taborda (middle) and Santiago Basile (top) after scoring

Leandro Cuzzolino (bottom) of Argentina celebrates with his teammates Pablo Taborda (middle) and Santiago Basile (top) after scoring his team's fifth goal during the FIFA Futsal World Cup Semi-Final match between Argentina and Portugal at the Coliseo El Pueblo stadium on September 28, 2016 in Cali, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images)




ag

Cristian Borruto of Argentina reacts after he scores against Portugal

CALI, COLOMBIA - SEPTEMBER 28: Cristian Borruto of Argentina reacts after he scores during the FIFA Futsal World Cup Semi Final match between Argentina and Portugal at the Coliseo el Pueblo Stadium on September 28, 2016 in Cali, Colombia. (Photo by Ian MacNicol - FIFA/FIFA via Getty Images)




ag

A Montage showing Sergey Skorovich, coach of Russia, and Diego Giustozzi, coach of Argentina, at the FIFA Futsal World Cup Colombia 2016

A Montage showing Sergey Skorovich, coach of Russia, and Diego Giustozzi, coach of Argentina, at the FIFA Futsal World Cup Colombia 2016




ag

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)




ag

Portugal's Cardinal (top) celebrates his goal against Iran

Portugal's Cardinal (top) celebrates his goal against Iran with teammates during the Colombia 2016 FIFA Futsal World Cup final match at the Coliseo El Pueblo stadium, in Cali, Colombia on October 1, 2016. / AFP / LUIS ROBAYO




ag

Vladislav Shayakhmetov of Russia vies with Santiago Basile of Argentina

CALI, COLOMBIA - OCTOBER 01: Vladislav Shayakhmetov of Russia vies with Santiago Basile of Argentina during the FIFA Futsal World Cup Final match between Russia and Argentina at the Coliseo el Pueblo Stadiumon October 1, 2016 in Cali, Colombia. (Photo by Ian MacNicol - FIFA/FIFA via Getty Images)




ag

Hosts Paraguay defeat USA to end on high




ag

Paraguay's pride and pain after early exit




ag

Akaguma's ascendancy a tribute to Ramos's persistence




ag

Portugal beat Senegal to keep Paraguay 2019 dream alive




ag

Four remain as holders pack their bags




ag

Quartet make history at Paraguay 2019





ag

Paraguay 4-2 New Zealand (India 2017)

Watch highlights of the Group B match between Paraguay and New Zealand at the FIFA U-17 World Cup.