mo Things that more developers should know about databases By dbweekly.com Published On :: Fri, 24 Apr 2020 00:00:00 +0000 #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 Rust — RedisJSON 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 Full Article
mo Mother of killed Georgia man seeks justice By www.bbc.co.uk Published On :: Wed, 06 May 2020 23:25:43 GMT Wanda Cooper says her son, Ahmaud Arbery, was "hunted down like an animal and killed". Full Article
mo Norfolk Island morepork owls: Major breakthrough for rare species By www.bbc.co.uk Published On :: Fri, 08 May 2020 16:06:21 GMT Two fledglings may have safeguarded the future of the Norfolk Island morepork owl. Full Article
mo My glamorous life: are you ready to math? By www.zeldman.com Published On :: Sun, 12 May 2019 22:15:07 +0000 For the past two years, I’ve been publishing a daily work-and-life diary on Basecamp, sharing it with a few friends. This private writing work supplanted the daily public writing I used to do here. In an experiment, I’m publishing yesterday’s diary entry here today: YESTERDAY, Ava and a few of her schoolmates participated in a […] The post My glamorous life: are you ready to math? appeared first on Zeldman on Web & Interaction Design. Full Article family glamorous parenting
mo My Glamorous Life By www.zeldman.com Published On :: Thu, 12 Mar 2020 01:34:04 +0000 At 4:00 PM, I went to bed to rest up from my head cold, and promptly fell asleep. When I awoke, the clock said 7:15. Oh, no! I banged on my daughter’s door. “You’re going to be late to school!” I shouted. She cackled with laughter.“It’s 7:15 AT NIGHT,” she explained. The post My Glamorous Life appeared first on Zeldman on Web & Interaction Design. Full Article glamorous My Glamorous Life myglamorouslife
mo Building Great User Experiences with Concurrent Mode and Suspense By reactjs.org Published On :: Wed, 06 Nov 2019 00:00:00 GMT At React Conf 2019 we announced an experimental release of React that supports Concurrent Mode and Suspense. In this post we’ll introduce best practices for using them that we’ve identified through the process of building the new facebook.com. This post will be most relevant to people working on data fetching libraries for React. It shows how to best integrate them with Concurrent Mode and Suspense. The patterns introduced here are based on Relay — our library for building data-driven UIs with GraphQL. However, the ideas in this post apply to other GraphQL clients as well as libraries using REST or other approaches. This post is aimed at library authors. If you’re primarily an application developer, you might still find some interesting ideas here, but don’t feel like you have to read it in its entirety. Talk Videos If you prefer to watch videos, some of the ideas from this blog post have been referenced in several React Conf 2019 presentations: Data Fetching with Suspense in Relay by Joe Savona Building the New Facebook with React and Relay by Ashley Watkins React Conf Keynote by Yuzhi Zheng This post presents a deeper dive on implementing a data fetching library with Suspense. Putting User Experience First The React team and community has long placed a deserved emphasis on developer experience: ensuring that React has good error messages, focusing on components as a way to reason locally about app behavior, crafting APIs that are predictable and encourage correct usage by design, etc. But we haven’t provided enough guidance on the best ways to achieve a great user experience in large apps. For example, the React team has focused on framework performance and providing tools for developers to debug and tune application performance (e.g. React.memo). But we haven’t been as opinionated about the high-level patterns that make the difference between fast, fluid apps and slow, janky ones. We always want to ensure that React remains approachable to new users and supports a variety of use-cases — not every app has to be “blazing” fast. But as a community we can and should aim high. We should make it as easy as possible to build apps that start fast and stay fast, even as they grow in complexity, for users on varying devices and networks around the world. Concurrent Mode and Suspense are experimental features that can help developers achieve this goal. We first introduced them at JSConf Iceland in 2018, intentionally sharing details very early to give the community time to digest the new concepts and to set the stage for subsequent changes. Since then we’ve completed related work, such as the new Context API and the introduction of Hooks, which are designed in part to help developers naturally write code that is more compatible with Concurrent Mode. But we didn’t want to implement these features and release them without validating that they work. So over the past year, the React, Relay, web infrastructure, and product teams at Facebook have all collaborated closely to build a new version of facebook.com that deeply integrates Concurrent Mode and Suspense to create an experience with a more fluid and app-like feel. Thanks to this project, we’re more confident than ever that Concurrent Mode and Suspense can make it easier to deliver great, fast user experiences. But doing so requires rethinking how we approach loading code and data for our apps. Effectively all of the data-fetching on the new facebook.com is powered by Relay Hooks — new Hooks-based Relay APIs that integrate with Concurrent Mode and Suspense out of the box. Relay Hooks — and GraphQL — won’t be for everyone, and that’s ok! Through our work on these APIs we’ve identified a set of more general patterns for using Suspense. Even if Relay isn’t the right fit for you, we think the key patterns we’ve introduced with Relay Hooks can be adapted to other frameworks. Best Practices for Suspense It’s tempting to focus only on the total startup time for an app — but it turns out that users’ perception of performance is determined by more than the absolute loading time. For example, when comparing two apps with the same absolute startup time, our research shows that users will generally perceive the one with fewer intermediate loading states and fewer layout changes as having loaded faster. Suspense is a powerful tool for carefully orchestrating an elegant loading sequence with a few, well-defined states that progressively reveal content. But improving perceived performance only goes so far — our apps still shouldn’t take forever to fetch all of their code, data, images, and other assets. The traditional approach to loading data in React apps involves what we refer to as “fetch-on-render”. First we render a component with a spinner, then fetch data on mount (componentDidMount or useEffect), and finally update to render the resulting data. It’s certainly possible to use this pattern with Suspense: instead of initially rendering a placeholder itself, a component can “suspend” — indicate to React that it isn’t ready yet. This will tell React to find the nearest ancestor <Suspense fallback={<Placeholder/>}>, and render its fallback instead. If you watched earlier Suspense demos this example may feel familiar — it’s how we originally imagined using Suspense for data-fetching. It turns out that this approach has some limitations. Consider a page that shows a social media post by a user, along with comments on that post. That might be structured as a <Post> component that renders both the post body and a <CommentList> to show the comments. Using the fetch-on-render approach described above to implement this could cause sequential round trips (sometimes referred to as a “waterfall”). First the data for the <Post> component would be fetched and then the data for <CommentList> would be fetched, increasing the time it takes to show the full page. There’s also another often-overlooked downside to this approach. If <Post> eagerly requires (or imports) the <CommentList> component, our app will have to wait to show the post body while the code for the comments is downloading. We could lazily load <CommentList>, but then that would delay fetching comments data and increase the time to show the full page. How do we resolve this problem without compromising on the user experience? Render As You Fetch The fetch-on-render approach is widely used by React apps today and can certainly be used to create great apps. But can we do even better? Let’s step back and consider our goal. In the above <Post> example, we’d ideally show the more important content — the post body — as early as possible, without negatively impacting the time to show the full page (including comments). Let’s consider the key constraints on any solution and look at how we can achieve them: Showing the more important content (the post body) as early as possible means that we need to load the code and data for the view incrementally. We don’t want to block showing the post body on the code for <CommentList> being downloaded, for example. At the same time we don’t want to increase the time to show the full page including comments. So we need to start loading the code and data for the comments as soon as possible, ideally in parallel with loading the post body. This might sound difficult to achieve — but these constraints are actually incredibly helpful. They rule out a large number of approaches and spell out a solution for us. This brings us to the key patterns we’ve implemented in Relay Hooks, and that can be adapted to other data-fetching libraries. We’ll look at each one in turn and then see how they add up to achieve our goal of fast, delightful loading experiences: Parallel data and view trees Fetch in event handlers Load data incrementally Treat code like data Parallel Data and View Trees One of the most appealing things about the fetch-on-render pattern is that it colocates what data a component needs with how to render that data. This colocation is great — an example of how it makes sense to group code by concerns and not by technologies. All the issues we saw above were due to when we fetch data in this approach: upon rendering. We need to be able to fetch data before we’ve rendered the component. The only way to achieve that is by extracting the data dependencies into parallel data and view trees. Here’s how that works in Relay Hooks. Continuing our example of a social media post with body and comments, here’s how we might define it with Relay Hooks: // Post.js function Post(props) { // Given a reference to some post - `props.post` - *what* data // do we need about that post? const postData = useFragment(graphql` fragment PostData on Post @refetchable(queryName: "PostQuery") { author title # ... more fields ... } `, props.post); // Now that we have the data, how do we render it? return ( <div> <h1>{postData.title}</h1> <h2>by {postData.author}</h2> {/* more fields */} </div> ); } Although the GraphQL is written within the component, Relay has a build step (Relay Compiler) that extracts these data-dependencies into separate files and aggregates the GraphQL for each view into a single query. So we get the benefit of colocating concerns, while at runtime having parallel data and view trees. Other frameworks could achieve a similar effect by allowing developers to define data-fetching logic in a sibling file (maybe Post.data.js), or perhaps integrate with a bundler to allow defining data dependencies with UI code and automatically extracting it, similar to Relay Compiler. The key is that regardless of the technology we’re using to load our data — GraphQL, REST, etc — we can separate what data to load from how and when to actually load it. But once we do that, how and when do we fetch our data? Fetch in Event Handlers Imagine that we’re about to navigate from a list of a user’s posts to the page for a specific post. We’ll need to download the code for that page — Post.js — and also fetch its data. Waiting until we render the component has problems as we saw above. The key is to start fetching code and data for a new view in the same event handler that triggers showing that view. We can either fetch the data within our router — if our router supports preloading data for routes — or in the click event on the link that triggered the navigation. It turns out that the React Router folks are already hard at work on building APIs to support preloading data for routes. But other routing frameworks can implement this idea too. Conceptually, we want every route definition to include two things: what component to render and what data to preload, as a function of the route/url params. Here’s what such a route definition might look like. This example is loosely inspired by React Router’s route definitions and is primarily intended to demonstrate the concept, not a specific API: // PostRoute.js (GraphQL version) // Relay generated query for loading Post data import PostQuery from './__generated__/PostQuery.graphql'; const PostRoute = { // a matching expression for which paths to handle path: '/post/:id', // what component to render for this route component: React.lazy(() => import('./Post')), // data to load for this route, as function of the route // parameters prepare: routeParams => { // Relay extracts queries from components, allowing us to reference // the data dependencies -- data tree -- from outside. const postData = preloadQuery(PostQuery, { postId: routeParams.id, }); return { postData }; }, }; export default PostRoute; Given such a definition, a router can: Match a URL to a route definition. Call the prepare() function to start loading that route’s data. Note that prepare() is synchronous — we don’t wait for the data to be ready, since we want to start rendering more important parts of the view (like the post body) as quickly as possible. Pass the preloaded data to the component. If the component is ready — the React.lazy dynamic import has completed — the component will render and try to access its data. If not, React.lazy will suspend until the code is ready. This approach can be generalized to other data-fetching solutions. An app that uses REST might define a route like this: // PostRoute.js (REST version) // Manually written logic for loading the data for the component import PostData from './Post.data'; const PostRoute = { // a matching expression for which paths to handle path: '/post/:id', // what component to render for this route component: React.lazy(() => import('./Post')), // data to load for this route, as function of the route // parameters prepare: routeParams => { const postData = preloadRestEndpoint( PostData.endpointUrl, { postId: routeParams.id, }, ); return { postData }; }, }; export default PostRoute; This same approach can be employed not just for routing, but in other places where we show content lazily or based on user interaction. For example, a tab component could eagerly load the first tab’s code and data, and then use the same pattern as above to load the code and data for other tabs in the tab-change event handler. A component that displays a modal could preload the code and data for the modal in the click handler that triggers opening the modal, and so on. Once we’ve implemented the ability to start loading code and data for a view independently, we have the option to go one step further. Consider a <Link to={path} /> component that links to a route. If the user hovers over that link, there’s a reasonable chance they’ll click it. And if they press the mouse down, there’s an even better chance that they’ll complete the click. If we can load code and data for a view after the user clicks, we can also start that work before they click, getting a head start on preparing the view. Best of all, we can centralize that logic in a few key places — a router or core UI components — and get any performance benefits automatically throughout our app. Of course preloading isn’t always beneficial. It’s something an application would tune based on the user’s device or network speed to avoid eating up user’s data plans. But the pattern here makes it easier to centralize the implementation of preloading and the decision of whether to enable it or not. Load Data Incrementally The above patterns — parallel data/view trees and fetching in event handlers — let us start loading all the data for a view earlier. But we still want to be able to show more important parts of the view without waiting for all of our data. At Facebook we’ve implemented support for this in GraphQL and Relay in the form of some new GraphQL directives (annotations that affect how/when data is delivered, but not what data). These new directives, called @defer and @stream, allow us to retrieve data incrementally. For example, consider our <Post> component from above. We want to show the body without waiting for the comments to be ready. We can achieve this with @defer and <Suspense>: // Post.js function Post(props) { const postData = useFragment(graphql` fragment PostData on Post { author title # fetch data for the comments, but don't block on it being ready ...CommentList @defer } `, props.post); return ( <div> <h1>{postData.title}</h1> <h2>by {postData.author}</h2> {/* @defer pairs naturally with <Suspense> to make the UI non-blocking too */} <Suspense fallback={<Spinner/>}> <CommentList post={postData} /> </Suspense> </div> ); } Here, our GraphQL server will stream back the results, first returning the author and title fields and then returning the comment data when it’s ready. We wrap <CommentList> in a <Suspense> boundary so that we can render the post body before <CommentList> and its data are ready. This same pattern can be applied to other frameworks as well. For example, apps that call a REST API might make parallel requests to fetch the body and comments data for a post to avoid blocking on all the data being ready. Treat Code Like Data But there’s one thing that’s still missing. We’ve shown how to preload data for a route — but what about code? The example above cheated a bit and used React.lazy. However, React.lazy is, as the name implies, lazy. It won’t start downloading code until the lazy component is actually rendered — it’s “fetch-on-render” for code! To solve this, the React team is considering APIs that would allow bundle splitting and eager preloading for code as well. That would allow a user to pass some form of lazy component to a router, and for the router to trigger loading the code alongside its data as early as possible. Putting It All Together To recap, achieving a great loading experience means that we need to start loading code and data as early as possible, but without waiting for all of it to be ready. Parallel data and view trees allow us to load the data for a view in parallel with loading the view (code) itself. Fetching in an event handler means we can start loading data as early as possible, and even optimistically preload a view when we have enough confidence that a user will navigate to it. Loading data incrementally allows us to load important data earlier without delaying the fetching of less important data. And treating code as data — and preloading it with similar APIs — allows us to load it earlier too. Using These Patterns These patterns aren’t just ideas — we’ve implemented them in Relay Hooks and are using them in production throughout the new facebook.com (which is currently in beta testing). If you’re interested in using or learning more about these patterns, here are some resources: The React Concurrent docs explore how to use Concurrent Mode and Suspense and go into more detail about many of these patterns. It’s a great resource to learn more about the APIs and use-cases they support. The experimental release of Relay Hooks implements the patterns described here. We’ve implemented two similar example apps that demonstrate these concepts: The Relay Hooks example app uses GitHub’s public GraphQL API to implement a simple issue tracker app. It includes nested route support with code and data preloading. The code is fully commented — we encourage cloning the repo, running the app locally, and exploring how it works. We also have a non-GraphQL version of the app that demonstrates how these concepts can be applied to other data-fetching libraries. While the APIs around Concurrent Mode and Suspense are still experimental, we’re confident that the ideas in this post are proven by practice. However, we understand that Relay and GraphQL aren’t the right fit for everyone. That’s ok! We’re actively exploring how to generalize these patterns to approaches such as REST, and are exploring ideas for a more generic (ie non-GraphQL) API for composing a tree of data dependencies. In the meantime, we’re excited to see what new libraries will emerge that implement the patterns described in this post to make it easier to build great, fast user experiences. Full Article
mo Coronavirus: The month everything changed By www.bbc.co.uk Published On :: Sat, 28 Mar 2020 00:03:25 GMT In the space of a month, the United Kingdom has transformed beyond recognition. Full Article
mo Coronavirus: 'We need to recruit hundreds more live-in carers' By www.bbc.co.uk Published On :: Wed, 08 Apr 2020 23:22:15 GMT The CEO of a social care firm says there is a surge in demand for live-in carers due to coronavirus. Full Article
mo Virus vaccine research 'enormously accelerated' By www.bbc.co.uk Published On :: Tue, 14 Apr 2020 21:19:00 GMT A vaccine normally takes a decade to develop, but GSK and Sanofi want a viable coronavirus vaccine by the end of next year, GSK chief executive Emma Walmsley says. Full Article
mo Morgan Gibbs White of England scores his sides second goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:09:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England scores his sides second 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 Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England and Cesar Gelabert of Spain in action By www.fifa.com Published On :: Sat, 28 Oct 2017 17:10:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England and Cesar Gelabert of Spain in action 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 Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England celebrates a scored goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:10:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England celebrates a scored 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 Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England celebrates with the team scoring his sides second goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:11:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England celebrates with the team scoring his sides second 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 Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England scores the goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:11:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England scores the 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 Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England celebrates with the team scoring his sides second goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:12:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White (2nd L) of England celebrates with the team scoring his sides second 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 Tom Dulat - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White of England celebrates scoring his team's second goal By www.fifa.com Published On :: Sat, 28 Oct 2017 17:13:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White of England celebrates scoring his team's second 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) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Timothy Eyoma and Marc Guehi of England celebrate the victory By www.fifa.com Published On :: Sun, 29 Oct 2017 07:10:00 GMT KOLKATA, INDIA - OCTOBER 28: (L-R) Timothy Eyoma and Marc Guehi of England celebrate the victory after the FIFA U-17 World Cup India 2017 Final match between England and Spain at Vivekananda Yuba Bharati Krirangan on October 28, 2017 in Kolkata, India. (Photo by Buda Mendes - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo Morgan Gibbs White celebrates with the trophy By www.fifa.com Published On :: Sun, 29 Oct 2017 08:11:00 GMT KOLKATA, INDIA - OCTOBER 28: Morgan Gibbs White celebrates with the trophy after winning 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) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA U-17 World Cup India 2017
mo All smiles for mother/daughter volunteer team By www.fifa.com Published On :: Sun, 25 Sep 2016 05:56:00 GMT FIFA.com catches up with Miriam Moreno and her daughter Sara Isabel Collazos who have had a great experience working at Colombia 2016 as volunteers. Full Article
mo Abramov breaks his interview hoodoo ahead of the final By www.fifa.com Published On :: Fri, 30 Sep 2016 17:23:46 GMT Russia's Sergey Abramov broke one of his superstitions and gave FIFA.com an interview ahead of his country's big final against Argentina at the FIFA Futsal World Cup Colombia 2016. Full Article
mo Solomons stamp ticket to Lithuania By www.fifa.com Published On :: Fri, 01 Nov 2019 19:42:00 GMT Full Article
mo Angola join Egypt and Morocco to qualify for Lithuania 2020 By www.fifa.com Published On :: Wed, 05 Feb 2020 19:37:00 GMT Full Article
mo 1 day to go: Brilliant Blancos make more history By www.fifa.com Published On :: Wed, 20 Nov 2019 14:55:00 GMT Full Article
mo Tickets for high-demand FIFA Club World Cup matches to go on sale tomorrow By www.fifa.com Published On :: Wed, 11 Dec 2019 13:40:00 GMT Full Article
mo Five-goal thriller sets Monterrey up for Liverpool clash By www.fifa.com Published On :: Sat, 14 Dec 2019 08:07:00 GMT Full Article
mo Sanchez and Monterrey eye victorious 2019 finale By www.fifa.com Published On :: Fri, 20 Dec 2019 18:03:00 GMT Full Article
mo Cardenas sees Monterrey snatch bronze in shootout By www.fifa.com Published On :: Sat, 21 Dec 2019 10:07:00 GMT Full Article
mo Monterrey’s Cardenas happy to be a hero By www.fifa.com Published On :: Sat, 21 Dec 2019 19:30:00 GMT Monterrey’s Cardenas happy to be a hero Full Article
mo Sergey Abramov of Russia celebrates his goal By www.fifa.com Published On :: Wed, 28 Sep 2016 02:18:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 27: Sergey Abramov of Russia celebrates his goal with team mates during the FIFA Futsal World Cup semi-final match between Iran and Russia at Coliseo Ivan de Bedout on September 27, 2016 in Medellin, Colombia. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Sergey Abramov of Russia celebrates his goal By www.fifa.com Published On :: Wed, 28 Sep 2016 02:19:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 27: Sergey Abramov of Russia celebrates his goal with team mates during the FIFA Futsal World Cup semi-final match between Iran and Russia at Coliseo Ivan de Bedout on September 27, 2016 in Medellin, Colombia. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Sergey Abramov (C) of Russia celebrates at the end of the semfinal againstl Iran By www.fifa.com Published On :: Wed, 28 Sep 2016 04:26:00 GMT 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) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Mehran Alighadr (R), Ahmad Esmaeilpour (2nd R) and Mohammad Taheri (3rd R) of Iran take a selfie By www.fifa.com Published On :: Wed, 28 Sep 2016 04:42:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 27: Mehran Alighadr (R), Ahmad Esmaeilpour (2nd R) and Mohammad Taheri (3rd R) of Iran take a selfie with supporters after 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) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Sergey Abramov of Russia takes a selfie with spectators By www.fifa.com Published On :: Wed, 28 Sep 2016 17:20:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 10: Sergey Abramov of Russia takes a selfie with spectators after the FIFA Futsal World Cup Group B match between Thailand and Russia at Coliseo Ivan de Bedout stadium on September 10, 2016 in Medellin, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Sergey Abramov of Russia takes a selfie with spectators By www.fifa.com Published On :: Wed, 28 Sep 2016 17:22:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 10: Sergey Abramov of Russia takes a selfie with spectators after the FIFA Futsal World Cup Group B match between Thailand and Russia at Coliseo Ivan de Bedout stadium on September 10, 2016 in Medellin, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Goalkeeper Nicolas Sarmiento #1 of Argentina is congratulated by fellow keeper Guido Mosenson By www.fifa.com Published On :: Thu, 29 Sep 2016 03:33:00 GMT BUCARAMANGA, COLOMBIA - SEPTEMBER 12: Goalkeeper Nicolas Sarmiento #1 of Argentina is congratulated by fellow keeper Guido Mosenson after their 1-0 Group E match win against Kazakhstan in the 2016 FIFA Futsal World Cup on September 12, 2016 in Bucaramanga, Colombia. (Photo by Victor Decolongon - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Adil Habil #8 of Morocco takes a shot from behind the center line By www.fifa.com Published On :: Fri, 30 Sep 2016 20:39:00 GMT BUCARAMANGA, COLOMBIA - SEPTEMBER 18: Adil Habil #8 of Morocco takes a shot from behind the center line during Group F match play between Spain and Morocco in the 2016 FIFA Futsal World Cup at Coliseo Bicentenario on September 18, 2016 in Bucaramanga, Colombia. Habil scored on the shot. (Photo by Victor Decolongon - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo A Montage showing Sergey Skorovich, coach of Russia, and Diego Giustozzi, coach of Argentina, at the FIFA Futsal World Cup Colombia 2016 By www.fifa.com Published On :: Fri, 30 Sep 2016 21:44:00 GMT A Montage showing Sergey Skorovich, coach of Russia, and Diego Giustozzi, coach of Argentina, at the FIFA Futsal World Cup Colombia 2016 Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Iran players lifts their captain Mohammad Keshavarz aloft By www.fifa.com Published On :: Sat, 01 Oct 2016 21:12:00 GMT Iran players lifts their captain Mohammad Keshavarz aloft after victory during the FIFA Futsal World Cup third place play off match between Iran and Portugal at Coliseo el Pueblo on October 1, 2016 in Cali, Colombia. (Photo by Jan Kruger - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Micah Lea'alafa of Solomon Islands By www.fifa.com Published On :: Fri, 13 Jan 2017 11:59:00 GMT MEDELLIN, COLOMBIA - SEPTEMBER 18: Micah Leaalafa of Solomon Islands looks on in the dressing room before the FIFA Futsal World Cup Group E match between Kazakhstan and Solomon Islands at Coliseo Ivan de Bedout stadium on September 18, 2016 in Medellin, Colombia. (Photo by Alex Caparros - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Micah Lea'alafa #9 of the Solomon Islands By www.fifa.com Published On :: Fri, 13 Jan 2017 12:18:00 GMT BUCARAMANGA, COLOMBIA - SEPTEMBER 12: Micah Leaalafa #9 of the Solomon Islands passes the ball through center court during Group E match play between the Solomon Islands and Costa Rica in the 2016 FIFA Futsal World Cup on September 12, 2016 in Bucaramanga, Colombia. (Photo by Victor Decolongon - FIFA/FIFA via Getty Images) Full Article Area=Tournament Section=Competition Kind=Photo Tournament=FIFA Futsal World Cup Colombia 2016
mo Akaguma's ascendancy a tribute to Ramos's persistence By www.fifa.com Published On :: Tue, 26 Nov 2019 15:19:00 GMT Full Article
mo Portugal and Europe dominant once more By www.fifa.com Published On :: Wed, 04 Dec 2019 11:26:00 GMT Full Article
mo Famous stars of past U-17 World Cups By www.fifa.com Published On :: Mon, 07 Sep 2015 15:45:00 GMT Recent FIFA World Cup™ stars such as Toni Kroos, James Rodriguez, Memphis Depay, Neymar and many others got their start at the FIFA U-17 World Cup. Check them out before they were the famous footballers we know today! Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA U-17 World Cup Chile 2015
mo What an atmosphere! India fans in New Delhi By www.fifa.com Published On :: Sat, 07 Oct 2017 15:19:00 GMT Loyal fans of the Indian team were out in force for their sides' opening game in New Delhi. The result didn't go their way but they created an incredible atmosphere! Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA U-17 World Cup India 2017
mo Glorious goals, memorable moments at Brazil 2013 By www.fifa.com Published On :: Wed, 23 Oct 2013 16:56:00 GMT Neymar and Brazil showed the world at the FIFA Confederations Cup Brazil 2013 that they are ready to take on all comers at the 2014 FIFA World Cup™. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Confederations Cup Brazil 2013
mo Relive: FIFA Confederations Cup Russia 2017 Official Draw Ceremony By www.fifa.com Published On :: Sat, 26 Nov 2016 19:15:00 GMT Five-time Russian Premier League winner Sergei Semak and two-time Olympic gold medallist Yelena Isinbaeva were on hand to help with the Official Draw for the FIFA Confederations Cup on 26 November 2016 in Kazan. The two Russian sporting icons, supported by FIFA' Deputy Secretary General for Football Zvonimir Boban and Chief Officer for Competitions and Events Colin Smith, conducted the proceedings that defined the road to the coveted title of the "Tournament of Champions" taking place from 17 June to 2 July 2017 in Russia. Full Article Area=Tournament Section=Competition Kind=Static Video Tournament=FIFA Confederations Cup Russia 2017
mo Julio Baptista's Confederations Cup memories By www.fifa.com Published On :: Fri, 23 Dec 2016 12:07:00 GMT The two-time winner shares his top memories of starring for Brazil at the Tournament of Champions. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Confederations Cup Russia 2017
mo 22 DAYS TO GO! Summer in Moscow awaits By www.fifa.com Published On :: Fri, 26 May 2017 09:51:00 GMT The average temperature in Moscow in June, when the Confederations Cup matches are taking place there, is 22 degrees, which is contrary to the popular stereotype of Russia always being very cold. From 17 June to 2 July, supporters do not need to worry about cold weather, while during this time, the Spartak Stadium will be the hottest spot in the city in every respect! Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Confederations Cup Russia 2017
mo 4 days to go: Egypt’s moment in the spotlight By www.fifa.com Published On :: Tue, 13 Jun 2017 11:25:00 GMT Egypt grabbed four goals on their second FIFA Confederations Cup appearance, which came at South Africa 2009. Mohameds Zidan, Shawky and Homos all got on the scoresheet. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Confederations Cup Russia 2017
mo Media briefing: Marco van Basten & Massimo Busacca By www.fifa.com Published On :: Thu, 15 Jun 2017 14:36:00 GMT FIFA's Chief Technical Development Officer and Head of Refereeing rules in the Laws of the Game and Video Assistant Referees (VARs) tests. Full Article Area=Tournament Section=Competition Kind=Video Tournament=FIFA Confederations Cup Russia 2017