ev

Xbox: Microsoft reveals first games for Series X console

The Xbox team shows off new footage of the highly anticipated Assassin's Creed: Valhalla.




ev

Coronavirus: NHS reveals source code behind contact-tracing app

More than 40,000 people have downloaded the contact tracing app so far, ahead of a wider release.




ev

Things that more developers should know about databases

#301 — April 24, 2020

Read on the Web

Database Weekly

'Things I Wished More Developers Knew About Databases' — A Google engineer (whose name may be familiar to those Go developers amongst you) shares 17 insights about databases she’s picked up over the years. I strongly recommend this piece and I identify with lots of the points myself..

Jaana B. Dogan

Lambda Store: A New 'Serverless Redis' Service — This seems a neat idea. Claiming to not be just another Redis cloud service, Lambda Store applies a serverless-style pricing model which opens up a variety of neat use cases for the popular data structure server (serverless caching, for starters). The underlying system appears to be a custom clone of Redis rather than the real deal, however.

Sven Anderson

???? AWS, GCP, & Azure Punch Back at the 2020 Cloud Report — AWS, GCP, & Azure each responded to the Cockroach Labs 2020 Cloud Report with instructions on how to tune their respective clouds for optimal performance.

Cockroach Labs sponsor

How io_uring and eBPF Will Revolutionize Programming in Linux — Even more exciting times are coming for development on Linux thanks to these technologies. A good overview from an engineer at ScyllaDB.

Glauber Costa

kvrocks: An Open Source, RocksDB-based, Redis-compatible Database — You know Redis’s API is good when so many projects continue to implement it for themselves. kvrocks brings the Redis API (with pretty good support) together with the RocksDB persistent key-value store. Written in C++.

Bit Leak

Mireo SpaceTime: An Absurdly Fast Spatiotemporal Database? — The SpaceTime database provides unprecedented analytical tools speed, sometimes outperforming other state-of-the-art solutions by three orders of magnitude.

Miljen Mikić

Cloud GPUs Aimed at Data Scientists — Core Scientific, an AI and cloud infrastructure vendor, is teaming with GPU-accelerated analytics specialist SQream Technologies to deliver a “GPU Cloud for Data Scientists.”

Datanami

An Easy Postgres 12 and pgAdmin 4 Setup with Docker — Docker provides an easy and loosely coupled way to get things set up in a development environment.

Jonathan S. Katz

Why We Index Everything — Tired of constantly managing indexes to speed up queries? Learn about how Rockset automatically indexes every field in a row-based store, column-based store, and search index.

Rockset sponsor

Redis Labs Moving RedisJSON to a New Codebase Written in RustRedisJSON provides a JSON data type to Redis and it’s been ported from C to Rust for better safety and developer experience.

Gavrie Philipson (Redis Labs)

Replicate Multiple Postgres Servers to a Single MongoDB Server using Logical Decoding Output Plugin

David Zhang

xsv: A Fast CSV Command Line Toolkit Written in Rust — Another ‘Swiss Army knife’ for your slightly structured data.

Andrew Gallant

???? Jobs

DevOps Engineer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.

X-Team

Data Engineer (Remote - USA Only) — Help us architect and design “big data” systems which require queries returning within sub-second response times.

Social Chorus




ev

Introducing the New React DevTools

We are excited to announce a new release of the React Developer Tools, available today in Chrome, Firefox, and (Chromium) Edge!

What’s changed?

A lot has changed in version 4! At a high level, this new version should offer significant performance gains and an improved navigation experience. It also offers full support for React Hooks, including inspecting nested objects.

Visit the interactive tutorial to try out the new version or see the changelog for demo videos and more details.

Which versions of React are supported?

react-dom

  • 0-14.x: Not supported
  • 15.x: Supported (except for the new component filters feature)
  • 16.x: Supported

react-native

  • 0-0.61: Not supported
  • 0.62: Will be supported (when 0.62 is released)

How do I get the new DevTools?

React DevTools is available as an extension for Chrome and Firefox. If you have already installed the extension, it should update automatically within the next couple of hours.

If you use the standalone shell (e.g. in React Native or Safari), you can install the new version from NPM:

npm install -g react-devtools@^4

Where did all of the DOM elements go?

The new DevTools provides a way to filter components from the tree to make it easier to navigate deeply nested hierarchies. Host nodes (e.g. HTML <div>, React Native <View>) are hidden by default, but this filter can be disabled:

How do I get the old version back?

If you are working with React Native version 60 (or older) you can install the previous release of DevTools from NPM:

npm install --dev react-devtools@^3

For older versions of React DOM (v0.14 or earlier) you will need to build the extension from source:

# Checkout the extension source
git clone https://github.com/facebook/react-devtools

cd react-devtools

# Checkout the previous release branch
git checkout v3

# Install dependencies and build the unpacked extension
yarn install
yarn build:extension

# Follow the on-screen instructions to complete installation

Thank you!

We’d like to thank everyone who tested the early release of DevTools version 4. Your feedback helped improve this initial release significantly.

We still have many exciting features planned and feedback is always welcome! Please feel free to open a GitHub issue or tag @reactjs on Twitter.




ev

The 2019 Go developer survey results are available

#309 — April 24, 2020

Unsubscribe  :  Read on the Web

Golang Weekly

Go Developer Survey 2019 Results — The annual survey results are here but calculated differently than in previous years. See how the community feels, what tools we use, and what we’re really using Go for.

The Go Blog

Fiber: An Express.js Inspired Web Framework for Go — If you know Express (from the Node world) than Fiber will look very familiar. It supports middleware, WebSockets, and various template engines, all while boasting a low memory footprint. Built on top of FastHTTP.

Fiber

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

A Comparison of Three Programming Languages for Bioinformatics — This is quite an academic piece but basically Go, Java and C++ were put head to head in an intensive bioinformatics task. The good news? Go won on memory usage and beat the C++17 approach (which was admittedly less than ideal) in performance. The team in question chose Go going forward.

BMC Bioinformatics

Go for Cloud — A Few Reflections for FaaS with AWS Lambda — A response to a this article about Go’s pros and cons in the cloud. You should read both.

Filip Lubniewski

???? Jobs

Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.

Stream

Golang Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.

X-Team

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

Vettery

???? Articles & Tutorials

An Introduction to Debugging with Delve — If you’re in the “I don’t really use a debugger..” camp, Paschalis’s story and brief tutorial might help you dip a toe into the water.

Paschalis Tsilias

Object Ordering in Go — This is all about object comparison and the types of comparisons that are allowed in Go. Reading this post > Not reading this post.

Eyal Posener

How to Manage Database Timeouts and Cancellations in Go — How to cancel database queries from your app and what quirks and edge cases you need to be aware of.

Alex Edwards

The Go Security Checklist — From code to infrastructure, learn how to improve the security of your Go applications with the Go security checklist.

Sqreen sponsor

Data Logging with Go: How to Store Customer Details Securely — Specifically, this looks at using custom protobuf FieldOptions to mark fields as OK to log and reflection to check those options.

Vadzim Zapolski-Dounar

How to Install Go in FreeBSD in 5 Minutes — You can use a package manager, but this way has advantages and it’s easy.

Jeremy Morgan

???? Code & Tools

Fynedesk: A Fyne-Powered Full Desktop Environment for Linux/Unix — Previously we’ve linked to Fyne, a Go-based cross-platform GUI framework, but now it’s been used to create an entire Linux desktop environment!

Fyne.io

Lockgate: A Cross-Platform Locking Library — Has support for distributed locks using Kubernetes and OS file locks support.

Flant

Pomerium: An Identity-Aware Secure Access Proxy — An identity aware access-proxy modeled after Google’s BeyondCorp. Think VPN access benefits but without the VPN. Built in Go, naturally.

Pomerium

Beta Launch: Code Performance Profiling - Find & Fix Bottlenecks

Blackfire sponsor

Apex Log: A Structured Logging Package for Go — Inspired by Logrus.

Apex

mediary: Add Interceptors to the Go HTTP Client — This opens up a few options: tracing, request dumping, statistics collection, etc.

Here Mobility SDK

iso9660: A Go Library for Reading and Creating ISO9660 Images — The use cases for this will be a bit niche. The author created it to dynamically generate ISOs to be mounted in vSphere VMs.

Kamil Domański

pxy: A Go Livestream Proxy from WebSockets to External RTMP Endpoints

Chua Bing Quan




ev

Coronavirus: The month everything changed

In the space of a month, the United Kingdom has transformed beyond recognition.




ev

Electrosensitivity: 'I didn't believe people had it, then it happened to me'

Velma, Emma and Dean believe mobile phone signals, wi-fi and other modern technology makes them ill.




ev

Coronavirus: 'My cafe's going bust before it's even opened'

A car factory worker turned cafe owner explains how coronavirus is affecting his business dream.




ev

Native's Exponent with Charlie Cheever

React Native continues on a development spree in late 2016. With an ambitious two-week release cycle, the framework makes rapid progress towards feature and performance parity with its native Android and iOS equivalents. At the same time, these quick release periods frequently introduce breaking changes, difficulty with setup, and challenges with basic configuration.

Enter Exponent, a tool that promises easier setup, development, and deployment of React Native applications. Rather than being a replacement for React Native, as it is sometimes confused, Exponent augments React Native by dramatically simplifying the development and deployment processes. Whereas basic setup with an Android environment to develop with React Native can take over an hour by hand, even for experienced engineers, Exponent shortens the time to start to “Hello World” to a handful of minutes.

React Native continues on a development spree in late 2016. With an ambitious two-week release cycle, the framework makes rapid progress towards feature and performance parity with its native Android and iOS equivalents. At the same time, these quick release periods frequently introduce breaking changes, difficulty with setup, and challenges with basic configuration.

Enter Exponent, a tool that promises easier setup, development, and deployment of React Native applications. Rather than being a replacement for React Native, as it is sometimes confused, Exponent augments React Native by dramatically simplifying the development and deployment processes. Whereas basic setup with an Android environment to develop with React Native can take over an hour by hand, even for experienced engineers, Exponent shortens the time to start to “Hello World” to a handful of minutes.

Exponent’s prime feature is revealed as it’s namesake IDE. The Exponent IDE is development platform for not only developing apps to test in their respective environment simulators, but also simplifies testing them on real devices.

One of the cofounders of Exponent, Charlie Cheever, agreed to answer a few questions about Exponent and its purpose in the community.


Hi, Charlie. Congrats on the release of Exponent! One of the toughest aspects of Exponent is understanding what its purpose is. What is the primary goal of Exponent?

Thanks :)

Before I worked on mobile software, I spent about 15 years making websites. When I started working on the Quora iPhone app and Android app, it felt like time traveling back to 1993. So many things to worry about that have nothing to do with the product you want to build.

One thing we’re trying to do with Exponent is making it as easy to develop native mobile apps as it is to make websites, or even easier! I think about how I learned to build software as a kid–making games on my TI-85 and making Hypercard stacks–and I want to make it so that the middle school kids of today can make cool stuff for themselves and their friends.

Basic environment setup of the iOS and Android simulators for developing React Native apps is commonly cited as a headache by new developers. What does Exponent do to alleviate this pain?

The biggest thing that Exponent does is take care of everything related to native code for you. So you don’t need to know Swift/Obj-C/Java or even have Xcode or Android Studio to be able to write React Native apps. You write just JavaScript and Exponent has everything else already setup for you.

Since you don’t write any native code with Exponent, just JavaScript, Exponent has a lot of the most popular native modules built in. Native maps, push notifications, Facebook and Google login, camera and camera roll access, contacts, TouchID, and a native video player are all included among other things. We’re always adding more of these as well. We just added full OpenGL support last week and did a game jam and made some mini games with it and are adding sound soon.

We sometimes talk about Exponent as being like Rails for React Native. You could write a website in Ruby on your own. but Rails sets up a bunch of sensible things right off that bat that work together in a coherent way and we kind of do the same thing for React Native. Exponent includes instant app updating as a default, so you can deploy new code and assets with one command in seconds, even faster than most websites can be deployed.

Even after getting set up with the Android and iOS simulators, testing a React Native app on a real phone can still be a challenge. How does Exponent make it easier to share apps in progress with would-be users?

You can actually open any Exponent project that you’re working on in our development app right away. When you develop with Exponent, you get a URL for your project, and you can open that URL on any phone with the Exponent developer app which you can download from the iOS App Store or Google Play Store. You don’t need to jack your phone into your computer–just open the URL.

Another really cool thing about this is that, if you’re working with someone else, you can just send them the URL and they can open it on their phone as well, even if they are halfway around the world.

We’ve done a bunch of work to make this pretty nice, like having console.log work even if the phone running your code isn’t plugged into your computer. And you can, of course, open your project on the iOS Simulator or an Android Emulator as well if you prefer.

I know you mentioned a lot of people have trouble getting React Native setup on Android especially. With Exponent, every project works on both iOS and Android from the start and you never have to deal with Android Studio, so the process of getting going is much easier.

What type, or genre, of application would be a good fit with React Native and Exponent?

I would actually use React Native for almost any mobile app at this point. Doing development the traditional way (writing Swift/Java/Obj-C code) is just too hard to iterate on when you consider the slowness of the code-compile-copy-run loop and the fact that you have to write your app twice (and then keep it in sync!). The other thing that is an absolutely huge deal here but is sometimes overlooked is the layout engine. It’s much easier to build and change a layout in React Native’s Flexbox than any of the UI libraries that I’ve seen for Java/Swift/Obj-C.

And if you need to do something really intense, like Snapchat live video filters, you can just write your own code as a native module and write the rest of your app in JS.

I would use Exponent for anything I could because it just saves a lot of time and headaches since you don’t need to deal with Android Studio or Xcode. Some people don’t know that you can turn an Exponent project into an app store app for iOS or for Android with just one command.

In general, Exponent will work for you in pretty much every case where just having a mobile website is one of the things that you’re considering. The features are pretty equivalent except that Exponent apps feel like native apps and mobile apps still feel like mobile web apps.

The main reason not to use Exponent is if you have some custom native code that you need that isn’t included with Exponent. The most common reasons that people can’t use Exponent are if they need use Bluetooth or HealthKit or something else low level that isn’t built in to Exponent; or if they need to integrate into an existing project (though we are working right now on a solution that will let you do this).

The exception to all this is games. If you are making a mobile game, Unity is probably the best choice for you. But we did add OpenGL support to Exponent recently and had a game jam and I was surprised at how good some of the entries were, so I think that might change.

TL;DR: For apps that aren’t games, always use React Native (if you need to do something super custom, just do it as a native module). If you can, use Exponent (you can most of the time but check our docs to make sure we’re not missing anything you need).

One aspect of React Native that seems to be undergoing constant flux is its solution for navigation. Between the built in Navigators and open source solutions, do you have any thoughts on an ideal solution for navigation?

Short version: I think you should use Ex-Navigation that Adam Miskiewicz (skevy) and Brent Vatne on our team wrote. Skevy in particular has been thinking about navigation in mobile apps and React Native for a long time. Using Ex-Navigation is definitely a better idea than Navigator or NavigatorIOS.

To make things confusing, there is also NavigatorExperimental (yes, that’s different from Ex-Navigation) and ExNavigator (which was made by James Ide and Ex-Navigation is based on). The good news is that everyone working on these problems got together and decided to merge them all together. I don’t know how long that is going to take but it will probably be released sometime in the next few months under the name React Navigation, and that should unify everyone’s efforts!

There is also this other school of thought where some people like to use the platform-specific native code for navigation which is the approach that the Wix Navigator uses. I have a strong personal view that its preferable to write UI components like this in JS because I actually think you want your app to be the same across iOS and Android (they are both just black rectangles with touch screens!) and JS tends to make your code more composable and customizable.

Use Ex-Navigation and keep an eye out for React Navigation! Use JS instead of native for this UI code!

Given the increasingly fast development and deployment times, handling API setup for dealing with data is becoming a large obstacle to React Native apps. Do you have any thoughts about the use of Backend-As-A-Service solutions like Firebase compared to rolling your own API with Node/Express, Rails, or similar?

I don’t have a strongly held view on this right now. There are so many solutions that fit the use cases of people with different needs. We’re seeing things getting easier and easier in every direction that you look.

If you want to write your own code and you’re using JS, you can use something like Zeit’s new now stuff to deploy essentially instantly. If you want a more general purpose solution, Heroku is also really easy. And then of course there is AWS and Google Cloud, etc.

It’s trivially easy for React Native apps to communicate with essentially any backend that uses HTTP/JSON since fetch and JSON.parse are built-in.

If you don’t want to write any code, it seems like Firebase has become the most popular solution since Parse announced its shutdown. One nice thing about Firebase is that you can use their hosted database stuff with React Native using just JS, which means it works just fine with Exponent. Someone wrote up a guide to how to do this here: https://gist.github.com/sushiisumii/d2fd4ae45498592810390b3e05313e5c

Longer term, it seems like something like GraphQL/Relay should become really popular, but that stuff is too hard to setup and use still to be mainstream just yet. I’m not sure whether it will be GraphQL/Relay maturing and getting revised that wins or something else that is slightly different and easy to think about as a developer that comes and beats it, but directionally, it’s definitely right. We built something like this at Quora and it saved a ton of development time.

I would just use whatever you are most comfortable with – almost anything will work! React Native is really similar to the the web in terms of its client capabilities and so I would just think about a React Native or Exponent app as being mostly like a website.




ev

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.




ev

Coach of England, Steve Cooper looks on

KOLKATA, INDIA - OCTOBER 28: Coach of England, Steve Cooper looks on prior to 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 Tom Dulat - FIFA/FIFA via Getty Images)




ev

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)




ev

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)




ev

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)




ev

Seven questions to Skorovich and Giustozzi

To lift the FIFA Futsal World Cup, teams must successfully negotiate seven matches, as Russia and Argentina – the Colombia 2016 finalists who will lock horns on Saturday – know all too well. Prior to that decisive duel, FIFA.com posed seven questions to the coaches of the two surviving teams. 

 




ev

Official Emblem revealed for FIFA Futsal World Cup Lithuania 2020™  




ev

Rodrigo: Nobody will ever get close to Falcao




ev

Vangioni: I still can’t believe that goal




ev

Argentina revolutionise futsal

Diego Giustozzi was a tennis player and customs agent before deciding to focus his energy on his main passion: futsal. A perfectionist and always eager to learn, the 38-year-old was the mastermind behind Argentina's historic triumph. He observed first-hand how Manuel Pellegrini, Pep Guardiola, Luis Enrique and Gerardo Martino, among others, go about their work, and adapted his findings to futsal.




ev

Falcao of Brazil is awarded a life time achievement award

CALI, COLOMBIA - OCTOBER 01:Falcao of Brazil is awarded a life time achievement award prior to 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)




ev

Falcao of Brazil is awarded a life time achievement award

CALI, COLOMBIA - OCTOBER 01: Falcao of Brazil is awarded a life time achievement award prior to 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)




ev

Argentina revolutionise futsal

Several dozen fans followed Argentina to Colombia and the team responded to that show of passion, winning six games and drawing just one. The two most important results came at crucial moments against title rivals: a 5-2 win over Portugal in the semi-finals and, pictured here, the 5-4 victory over Russia in the final in Cali.




ev

Argentina revolutionise futsal

At the first seven editions of the FIFA Futsal World Cup, Brazil and Spain were the only nations to ever win the title. But at Colombia 2016, Argentina caused an upset with a team that combined tactics, technique and fighting spirit. The winners of the individual awards underlined the quality of the champions: Fernando Wilhelm took the adidas Golden Ball and Nicolas Sarmiento the adidas Golden Glove.




ev

Seven hopefuls out to dethrone Brazil




ev

Russia 2017 Confed Cup emblem revealed

In February 2016, Russia welcomed media and fans to the start of a 500-day countdown to the FIFA Confederations Cup in 2017 and revealed the tournament's official emblem.




ev

Cherchesov: Everybody has to get behind Russia

Stanislav Cherchesov spoke exclusively to FIFA.com about his hopes for the upcoming FIFA Confederations Cup Russia 2017, a tournament which he hopes will see the nation united behind his team.




ev

Postecoglou ready for Russian revival

The Australia coach is ready to be measured against the very best as the Socceroos prepare to return to the FIFA Confederations Cup after a twelve year absence from the tournament.




ev

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.




ev

Santos reveals secret to Portugal’s success

Coach Fernando Santos discusses the secret to Portugal’s trophy-winning run of form and discusses his expectations for the upcoming FIFA Confederations Cup.




ev

18 DAYS TO GO! Hwang Sunhong’s unbelievable flick

Hwang Sunhong wore the No18 shirt when he starred for hosts Korea Republic in 2001. The second highest-scorer in Korea Republic’s history scored two of the Taeguk Warriors’ three goals at the tournament, a year ahead of their breakthrough showing at the 2002 FIFA World Cup.




ev

Group stage review: Russia 2017

Enjoy a musical review of an action packed group stage at the FIFA Confederations Cup 2017.




ev

A review of the FIFA Confederations Cup Russia 2017

A musical review of the 2017 FIFA Confederations Cup - a tournament that saw a young Germany team sweep all aside to become champions.




ev

General view inside the stadium of the big screen showing a VAR Penalty review which was given and led to ES Tunis scoring their first goal

AL AIN, UNITED ARAB EMIRATES - DECEMBER 18: General view inside the stadium of the big screen showing a VAR Penalty review which was given and lead to ES Tunis scoring their first goal during the FIFA Club World Cup UAE 2018 5th Place Match between ES Tunis and CD Guadalajara at Hazza Bin Zayed Stadium on December 18, 2018 in Al Ain, United Arab Emirates. (Photo by David Ramos - FIFA/FIFA via Getty Images)




ev

MS Dhoni has unbelievable power; best finisher in history: Michael Hussey

In the latest episode of ESPNcricinfo's Videocast, host Sanjay Manjarekar chats up with Michael Hussey, former international Australian Cricketer and one of the finest finishers cricket has ever produced about his career, his art of finishing, Mahendra Singh Dhoni and more.

A reliable finisher, Hussey usually came to bat at a time when his team either needed to accelerate the run rate rapidly or manage an early crisis. Talking about his mantra on how he handled such enormous pressure, Hussey says, "You can either succumb to it, lose your focus, or narrow your focus. I saw pressure as an opportunity to do something special. To take the pressure off, I would think of how it will feel to win at the end of the game, celebrate and be able to get a goodnight's sleep. And that's what got me going."

Hussey played at a time when Australia boasted of one of the most robust middle order, and he gives credit to his teammates as well, "The guy at the other end needs to help too. I was lucky to have a middle-order that helped me with the chase. I loved batting with Ricky Ponting, Andrew Symonds, Michael Clarke and others. They're all fantastic players in their own right and did lend a helping hand in tricky situations". "I was lucky to have a set, rigid pre-ball routine for every single delivery that I faced, which helped me switch on and off in between deliveries," Hussey adds further.

To understand Hussey's approach better, Sanjay Manjarekar uses one of Javed Miandad's theory, "If Javed needed 11 or 12 runs an over, he would try to get at least 8 runs an over because there will invariably be wide or no-balls to compensate for the remaining runs", and asks Hussey if he followed the same mantra. "I tried not to let it reach 12 or 13 runs an over. And I learnt this from MS Dhoni. He is incredible. He believes that he who panics last wins the game. So Dhoni would keep his cool, and keep it longer because the pressure is on the bowler as well. So, Javed rightly says, chances of a wide or a no-ball are higher. And if you can keep your cool longer than the opposition, you can come out on top", responds Hussey.

Hussey believes that the greatest players of the game have a few common traits like, 'They don't hang on to a defeat for too long. If they lose, they move on quickly. They don't let a loss or a win hamper their thinking. They are always consistent, and level headed whether it's MS Dhoni or Ricky Ponting".

Talking about Dhoni’s finishing ability, Sanjay recalls one of India’s game against Sri Lanka in West Indies. Dhoni was on strike, India needed 17 runs in the last two overs and Sri Lanka put their best bowler to bowl the penultimate over. “Dhoni just got 3 runs in that over leaving 14 to get from the last over which was to be bowled by a weaker bowler. That’s seemingly impossible, but then how does Dhoni manage to do this”, asks Sanjay. Hussey, who is full of praises for former Indian captain, claims, "Dhoni is the greatest finisher of all time that the cricketing world has ever produced." He adds, "Dhoni can keep his cool and make the opposition captain blink first. Dhoni also has unbelievable power. He knows that when he needs to clear the ropes he can do it. He has that kind of self-belief. Honestly, I didn't have that kind of belief in myself."

Chennai Super Kings (CSK) is Sanjay's favorite IPL team, and he wants to know what makes them so consistent. Hussey lets out the secret, "Supportive owners who let the Coach Flemming and Captain Dhoni decide how to run the team, excellent chemistry between the coach and the captain, Dhoni’s leadership and lastly the foresight of the owners, Flemming and Dhoni to pick the best players, particularly the good Indian players and then stick with them for as long as possible." This has built an excellent continuity in the team. And once you have continuity, you build relationships and trust that otherwise takes time to grow."

Responding to Sanjay's question on CSK's future after Dhoni moves on, Hussey says, "That's a 60 million dollar question, and I am equally intrigued. I believe the owners would like to keep Dhoni involved in some way or the other. However, whenever the change of guard happens, CSK might want to start all over again, build a brand new team, and use their existing philosophy as they enter the next decade of IPL. It is definitely going to be more challenging in current times."

Catch up on all the latest sports news and updates here. Also download the new mid-day Android and iOS apps to get latest updates.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news




ev

Played entire 2015 World Cup with fractured knee, reveals Mohammed Shami

Ace Indian pacer Mohammad Shami has revealed that he played the 2015 World Cup, held in Australia and New Zealand, with a fractured knee. "I had knee injury during the 2015 World Cup. I couldn't walk after the matches I played throughout the tournament with the injury. I played the 2015 World Cup because of Nitin Patel's confidence.

"The knee broke in the first match itself. My thighs and knees were the same size, doctors used to take out fluid from them everyday. I used to take three painkillers," Shami told former Indian pacer Irfan Pathan during a candid chat on Instagram live on Wednesday. Shami was the second highest wicket-taker for India with 17 wickets out from seven matches and was only behind Umesh Yadav, who played a game more than him and picked 18 wickets. The 29-year-old credited also former skipper M.S. Dhoni for motivating him to carry on playing despite the pain throughout the tournament, especially in the semi-final at the Sydney Cricket Ground where they lost to eventual champions Australia. Chasing 329, India were bundled out at 223 and bowed out of the World Cup. "Before the semi-final match against Australia, I told the team that I cannot take any more pain," said Shami. "Mahi bhai and the management showed faith in me and they really kept confidence in my abilities.

"I played the match and gave just 13 runs in my opening spell. Then I went off the park and told Mahi bhai that I cannot bowl any longer. But he told me he cannot go to part-time bowlers and asked me to not give away more than 60 runs. I have never been in such a condition like this, some had said my career is over, but I am still here," he added. During the chat session, Shami also said Test cricket as his favourite format of the game due to the intensity of the cricket involved in it. "For entertainment purpose, I would like to choose T20 format but I would like to play Test cricket for the intensity of the game," he told Pathan. He also said that young wicketkeeper-batsman Rishabh Pant has amazing talent. "Rishabh's talent is amazing and it is not like he is my friend that is why I am saying. It is just about confidence, the day he got that confidence, he will be very dangerous," Shami said. The right-arm pacer last featured in the Test series in New Zealand wherein he bagged five wickets as India were whitewashed in the two-match rubber.

Catch up on all the latest sports news and updates here. Also download the new mid-day Android and iOS apps to get latest updates.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news

This story has been sourced from a third party syndicated feed, agencies. Mid-day accepts no responsibility or liability for its dependability, trustworthiness, reliability and data of the text. Mid-day management/mid-day.com reserves the sole right to alter, delete or remove (without notice) the content in its absolute discretion for any reason whatsoever




ev

IPL 2020: Have been a big fan of Steve Smith's captaincy: Jaydev Unadkat

Fast bowler Jaydev Unadkat said that he feels fortunate to have played with former Australian captain Steve Smith and even played under the star batsman early on in his career. Smith was captain of Rising Pune Supergiant when Unadkat had his breakthrough season in the 2017 Indian Premier League (IPL).

"Ever since I have played under him, or for that matter since he has known me, he has backed me to the fullest," said Unadkat in a video interview with his Rajasthan Royals teammate Ish Sodhi on the IPL side's Facebook page.

"I am grateful that this happened to me at that time of my career when I was still trying to make a name for myself. I had confidence in myself but you know how important it is to have the captain's confidence. That happened in the 2017 season. I have been a big fan of his captaincy and obviously of him as a player."

The 28-year-old rejoined Smith at the Rajasthan Royals in the 2018 season where he also shares the dressing room with England trio Ben Stokes, Jos Buttler and Jofra Archer. Unadkat said that he tries to learn from all of them and spoke about how Stokes tried to motivate him when he was feeling low on confidence.

"These guys are not just good on the field, they are pretty lively even in the dressing room," said Unadkat.

"I have been speaking to Jos and Smithy when he was captain. I've had Ben coming to me and giving a nice piece of advice when I have not been confident about my own game and that has boosted me. Jofra was also of equal help, talking about what his mindset is when I asked him in the nets."

Catch up on all the latest sports news and updates here. Also download the new mid-day Android and iOS apps to get latest updates.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news

This story has been sourced from a third party syndicated feed, agencies. Mid-day accepts no responsibility or liability for its dependability, trustworthiness, reliability and data of the text. Mid-day management/mid-day.com reserves the sole right to alter, delete or remove (without notice) the content in its absolute discretion for any reason whatsoever




ev

Give yourself a unique weekend, go crazy with paints at this event in Mumbai

Go crazy with paints
Give yourself a unique weekend and enjoy a party with lots of colours! Paint away all the week's troubles and discover the hidden artist in you. Gorge on food, sip on a drink while you’re at it. Who knows? Maybe it’ll pave the way for the next masterpiece on your wall.
ON May 26, 12 pm onwards
At Tea Villa Cafe, Vashi, Navi Mumbai.
CALL 8080850000
LOG ON TO insider.in cost Rs 1,500

Catch up on all the latest Crime, National, International and Hatke news here. Also download the new mid-day Android and iOS apps to get latest updates





ev

NMMC hacks down 100 trees to develop 'tree belt'!


The Vashi plot where NMMC hacked trees and dumped a different soil to prepare for plantation of new trees

Ever heard of trees being hacked to develop a "tree belt"? Perhaps, it happens only in India, in this case, Mumbai. The forest department is livid, and has raised an objection to stop work, after the Navi Mumbai Municipal Corporation hacked down over a 100 trees of rare species without the department's mandatory permission (as the trees fell in the buffer zone of holding ponds).

The ironic justification given for the hacking is the development of a tree belt under the Centre's AMRUT (Atal Mission for Rejuvenation and Urban Transformation). Vashi residents are mighty upset, having watched NMMC officials hack more than 100 trees. A social activist and resident of Navi Mumbai, Rohit Malhotra, said, "We have been keeping an eye on NMMC officials working on this project; so far, nearly a 100 trees, maybe more, have been cut, all done using people's hard-earned money.


The Vashi plot from where NMMC hacked trees

"When I asked NMMC officials why they were cutting trees for a tree belt, they said they wanted to plant 'good and useful' trees, like of fruits and flowers... The hacked trees are local; this soil is suitable for them, not others. Now, they have added debris of a different soil over the natural one... How will they grow and sustain trees of other regions?"

Under AMRUT, NMMC has planned development of a green space in plot no. 45, sector 10 A, Vashi. The R2-crore project will have a plantation of fruit-bearing trees and shrubs, a lawn and walkways. Chief Conservator of Forests N Vasudevan, who heads the department's Mangrove Cell, said, "NMMC has already cut down nearly a hundred trees that were in a buffer zone. They should have taken permission from us. But they didn't acquire an NOC or even sent a request, just suddenly started the work. Hence, we asked their officials to stop."

NMMC Additional Commissioner Mohan Dagaonkar said, "The cut trees are Subabul; these are not indigenous, just wild trees that serve no purpose. We will plant nearly 8,400 fruit- and flower-bearing trees in their place. The forest department has asked us to submit a letter; once we do that, we'll restart the work."

Rs 2crore
Cost of the project

8,400
Number of new trees NMMC plans to plant

Also Read: NMMC Offers Reward To People Who Report Illegal Debris Dumping Within City Limits

Catch up on all the latest Crime, National, International and Hatke news here. Also download the new mid-day Android and iOS apps to get latest updates





ev

Shankar Mahadevan, Radio City RJs Salil and Archana fill potholes in Vashi

L-R, Radio City's RJ Salil, RJ Archana, Singer Shankar Mahadevan, Mushtaq, Dadarao Bhilorey at Radio City's Kar Mumbaikar initiative at Vashi Toll Naka

Radio City's RJ Salil and RJ Archana filling the potholes in Vashi for the Kar Mumbaikar initiative

Radio City's RJ Salil and RJ Archana along with Singer Shankar Mahadevan filling potholes at Vashi for the Kar Mumbaikar initiative by Radio City

Catch up on all the latest Crime, National, International and Hatke news here. Also download the new mid-day Android and iOS apps to get latest updates





ev

Ancient DNA reveals staying power of early people of the Andes

Despite cultural upheavals, highlands residents persisted




ev

Lethal levels of heat and humidity are gripping global ‘hot spots’ sooner than expected

New study finds a growing number of places with intolerable conditions




ev

Antonio Marin of Dinamo Zagreb shakes hands with Marco van Basten, FIFA Chief Officer for Technical Development, at the Blue Stars/FIFA Youth Cup 2018

ZURICH, SWITZERLAND - MAY 10: Antonio Marin of Dinamo Zagreb speaks with Marco van Basten, FIFA Chief Officer for Technical Development after the Blue Stars FIFA Youth Cup 2018 Final between BSC Young Boys and Dinamo Zagreb at Sportanlage Buchler on May 10, 2018 in Zurich, Switzerland. (Photo by Alexander Hassenstein - FIFA/FIFA via Getty Images)




ev

Neville to step down in 2021




ev

#WorldCupAtHome: Ronaldinho's Brazil prevail in U-17 rematch




ev

Aparshakti Khurana's first-ever audio short film - Hisaab Barabar is here to leave you smiling

Fact that Aparshakti Khurana has emerged as one of the ultimate social media buzz makers amidst the lockdown. After initiating digital antakshari, he started interactive Instagram Lives, brand collaborations, musical series called #InstaMusic and even featured in a special Lockdown Anthem video alongside various YouTubers.

With so much on, it won't be wrong to call Khurana the most entertaining and engaging celeb on social media currently. Taking his creativity to another level this time around, Aparshakti has shared his first-ever audio short film - Hisaab Barabar on Instagram which he wanted to present back from his Radio days.

The plot revolves around a girl called Suhani and her schoolmate Rinku, revealing how after disliking each other all these years during school, they end up falling in love with each other. Hisaab Barabar is already winning hearts, thanks to its beautiful storyline and Aparshakti's brilliance at storytelling. He does not just leave you smiling but makes you believe and see these two characters when you're just hearing about them. Well, that truly is the real art of narrating stories on audio.

 
 
 
View this post on Instagram

A post shared by Aparshakti Khurana (@aparshakti_khurana) onApr 18, 2020 at 3:30am PDT

 

The multi-talented star shared Hisaab Barabar on his handle saying, "For those who don’t know, I was working at a radio station 5 years ago and was working on a pilot of my new audio show but destiny had other plans and Dangal happened (which I am grateful of till date), because of which I had to leave the pilot midway. The idea of this audio show was so close to my heart that it continued to linger in my mind for the last 5 years. One of the segments was to be called YEH DILLI HAI MERE YAAR, where in I would have released one audio short film every Friday. Coming up is a story called Hisaab Barabar which is written and voiced by me. Just FYI, I might not have patience and energy to write and voice more stories but I shall try only if you like this one [sic]."

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news




ev

Shah Rukh Khan was about to jump from the balcony after KKR won IPL; reveals Suhana caught him

Bollywood superstar Shah Rukh Khan says he has never given Chak De! India type of lessons to his Kolkata Knight Riders (KKR) team. KKR co-owner SRK was referring to his role in the film of Kabir Khan, coach of an underdog Indian wimen's hockey team that goes on to win the World Cup under his guidance.

Kabir Khan's "70-minute" pep talk to his team in the film before the final match has gone onto become a contemporary pop classic moment in Bollywood. However, as owner of his IPL team, Shah Rukh essays a very different role.

"I was just hanging there, waving my arms from my balcony. So, when we won it, it was a vindication of belief because a lot of people started telling me to sell the team which I never would. And I don't say that out of evil, I said it out of belief and confidence," Shah Rukh said while recalling the moments when his team won the IPL.

"Actually, the first match we won, I was going to jump from my balcony, but I think my kids, I think it was my daughter who caught me. I could have flown that night, but I settled at home. I have been a sportsman all my life at a very small level, so I have never really given them some ‘Chak De! India' kind of lectures I have never done that," he added.

Shah Rukh opened up on Star Sports show Cricket Connected. Gautam Gambhir, former captain of KKR, was also part of the episode.

Looking back at his memories about the team, Gambhir said: "He told me when I was at the auction that this is your make or break moment and he will not interfere. I just promised him one thing. I don't know when it's going to be, but by the time I leave, whether it's going to be after 3 years or 6, but by the time I leave this franchise, this franchise will be in a much better position. That's the promise I made to him."

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news




ev

After Ajay Devgn, now Aamir Khan and Shahid Kapoor urge coronavirus survivors to donate blood

Aamir Khan has urged those who have recovered from the virus to donate blood. He shared a BMC poster, which read, "The patients have antibodies that protect against COVID-19. They can donate blood and their plasma can be used to save patients who are severely affected (sic)."

“Patients who have recovered from COVID-19 have antibodies that protect against the virus. They can donate blood and their plasma can be used to save patients with severe COVID-19. Patients may be eligible to donate plasma 4 weeks after Complete recovery, but it they have had negative swab tests then they maybe able to donate even sooner,” the poster read.

Shahid Kapoor too argued the coronavirus recovered patients to donate blood by sharing the poster.

Before this, Ajay Devgn too had appealed recovered Covid-19 patients to donate their plasma. Taking to Twitter, Ajay had written, “If you’ve recovered from COVID19, you are a Corona warrior. We need an army of such warriors to overcome this invisible enemy. Your blood contains the bullets that can kill the virus. Please donate your blood, so others, especially the serious ones can recover. Sign up now.”

On the work front, Aamir will be next seen in Laal Singh Chaddha which is a remake of Forrest Gump (1994). He is paired opposite Kareena Kapoor Khan in the film. Laal Singh Chaddha marks the return of the pair after a decade. Before this, they were last seen together in 3 Idiots. The film is set to release in December 2020.

On the other hand, Shahid Kapoor will be next seen in Jersey, a remake of a Telugu film of the same name and tells the tale of a failed cricketer, who tries to make a comeback to the Indian cricket team to win a team jersey to fulfil his son's desire.

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news




ev

Janhvi Kapoor's toddler pic posted by Sridevi is wowing the fans

A childhood snapshot of actress Janhvi Kapoor posted by her mother, the late superstar Sridevi a few years back, has been trending all of Thursday.

In the picture that Sridevi posted on Twitter back in 2016, Janhvi is a bald toddler. She looks too cute for words sporting a red bindi and a gold chain that runs till way below her tummy!

Little Janhvi, clad in a white lehenga-choli ensemble, seems to be in a happy mood in the frame.

"Missing you Janu. Happy Birthday! #JanhviBirthday," went mom Sridevi's emotional post with the picture, on her verified account, @SrideviBKapoor, posted on March 6, 2016. Her words seem to suggest that the doting mother was away from the daughter on that particular birthday when this photo of Janhvi was posted.

While Janhvi fans are amused to bits seeing the picture, Sridevi fans will surely find it special considering the late iconic actress posted it.

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news

This story has been sourced from a third party syndicated feed, agencies. Mid-day accepts no responsibility or liability for its dependability, trustworthiness, reliability and data of the text. Mid-day management/mid-day.com reserves the sole right to alter, delete or remove (without notice) the content in its absolute discretion for any reason whatsoever




ev

Lockdown diaries: Shibani Dandekar cooks pasta; Farhan Akhtar's review will make you smile

Farhan Akhtar and Shibani Dandekar do not shy away from the media or the public glare to profess their love for each other. Their Instagram account is all about pictures filled with Public Display of Affection (PDA), and their cryptic captions leave their fans scratching heads to decode it.

Recently, Shibani shared a video on Instagram of herself, cooking pasta while Farhan films her. As Shibani cooks pasta with mushrooms, spring onions and cream sauce, Farhan is seen gives us a live-commentary. Shibani captioned the post: "How can anyone be this bad in the kitchen? Making pasta with mushrooms, spring onions and cream sauce! I've made this a thousand times and it still isn't that good! Thank you to my wonderful kitchen assistants and cameraman (sic)."

The alleged couple has been enjoying their quarantine time together. They regularly give us insights about the fun they have through their videos and pictures. Recently, Shibani shared a picture where she can be seen chilling with her "mystery man". "On lockdown with this mystery man #quarantine (sic)", she captioned the post.

 
 
 
View this post on Instagram

A post shared by Shibani Dandekar (@shibanidandekar) onApr 18, 2020 at 4:14am PDT

Farhan too shared a video of Shibani enjoying with his dog Tyson. Shibani is trying to scare Tyson by constantly making noises but to no avail. And as soon as Tyson does the same, she gets scared and shocked and bursts out laughing out of fear and panic.

 
 
 
View this post on Instagram

Every action has an equal and opposite reaction 😂😂😂 #tystagram @shibanidandekar

A post shared by Farhan Akhtar (@faroutakhtar) onApr 8, 2020 at 5:51am PDT

The Zindagi Milegi Na Dobara actor started dating Dandekar almost a year-and-a-half ago. Later, they started sharing each other's photos on their social media accounts. Farhan was earlier married to Adhuna Bhabani, with whom he has two daughters - Shakya and Akira. Shibani Dandekar is a model-turned-VJ and has participated in reality shows such as Khatron Ke Khiladi and Jhalak Dikhla Ja.

On the work front, Farhan was last seen in Shonali Bose's The Sky Is Pink, co-starring Priyanka Chopra, Zaira Wasim, and Rohit Saraf. The film opened to a positive response from critics but underperformed at the box office. He will next star in Rakeysh Omprakash Mehra's Toofan, a boxing drama releasing on October 2, 2020.

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news




ev

Ajay Devgn appeals to download AarogyaSetu app to fight COVID-19

Actor Ajay Devgn on Wednesday shared a PSA for 'Aarogya Setu' app. The video featured the actor in dual roles, first as a bodyguard that acts as Setu and the second role shows the actor as himself.

The 'Tanhaji' star took to Twitter and shared the video in which he is shown exercising while Ajay who also played the role of a bodyguard and introduces himself to the actor saying, "Sir, I am your new bodyguard, Setu."

Ajay then says, "But I already have bodyguards." "Sir, I'm a different type of bodyguard. Only Setu can guard you against coronavirus."

"How can this save us from coronavirus," asks Devgn. Setu replies: "I can alarm you in advance about the coronavirus threat, and I also alarm you in advance if coronavirus positive person is around you."

"Sir, I also will let you know if your family has any threat from your family," he added. To which Ajay replies, "Why would my family be threatened of me?"

"Sir, if you unconsciously get in contact with a corona positive patient, I am going to alarm immediately so that you don't pass the disease to your family."

He then announced that the Government of India has recruited me as a personal bodyguard to 130 crore Indians.

At the end of the video, the 'Golmaal' star appeals to download the AarogyaSetup app, and says "Setu is my bodyguard from coronavirus, and yours too! "

Along with the video Devgn wrote, Dhanyawad @PMOIndia@narendramodi for creating a personal bodyguard for every Indian to fight COVID-19. #SetuMeraBodyguard hai aur aapka bhi. Download @SetuAarogya now! #IndiaFightsCorona https://bit.ly/AarogyaSetuAppDownload... "

AarogyaSetu app, that was launched earlier this month in a public-private partnership, enables people to themselves assess the risk for their catching the coronavirus infection. The app makes its calculations based on a person's interaction with others, using Bluetooth technology, algorithms and artificial intelligence.

Catch up on all the latest entertainment news and gossip here. Also, download the new mid-day Android and iOS apps.

Mid-Day is now on Telegram. Click here to join our channel (@middayinfomedialtd) and stay updated with the latest news

This story has been sourced from a third party syndicated feed, agencies. Mid-day accepts no responsibility or liability for its dependability, trustworthiness, reliability and data of the text. Mid-day management/mid-day.com reserves the sole right to alter, delete or remove (without notice) the content in its absolute discretion for any reason whatsoever