-
7 votes
-
Board Games and Social Isolation
9 votes -
The EU Copyright Directive: What redditors in Europe need to know
11 votes -
A business with no end - Where does this strange empire start or stop?
8 votes -
Welcome Café - Weave (2018)
5 votes -
Les Triaboliques - Black Earth Boys (2009)
4 votes -
Ugress - Some Early Tracks 1999-2000
7 votes -
Fkj & Masego - Tadow
4 votes -
Lenovo to pay $7.3m for installing adware in 750,000 laptops
21 votes -
Reggae music to be protected by the UN
10 votes -
Point of view matters: The scourge of modelitis
9 votes -
Panama the new flashpoint in China's growing presence in Latin America
7 votes -
30,000 empty homes and nowhere to live: inside Dublin’s housing crisis
19 votes -
Global food systems are failing humanity and speeding up climate change: New report from 130 national academies issues wake-up call
8 votes -
An Alternative Approach to Configuration Management
Preface Different projects have different use cases that can ultimately result in common solutions not suiting your particular needs. Today I'm going to diverging a bit from my more abstract,...
Preface
Different projects have different use cases that can ultimately result in common solutions not suiting your particular needs. Today I'm going to diverging a bit from my more abstract, generalized topics on code quality and instead focus on a specific project structure example that I encountered.
Background
For a while now, I've found myself being continually frustrated with the state of my project configuration management. I had a single configuration file that would contain all of the configuration options for the various tools I've been using--database, API credentials, etc.--and I kept running into the problem of wanting to test these tools locally while not inadvertently committing and pushing sensitive credentials upstream. For me, part of my security process is ensuring that sensitive access credentials never make it into the repository and to limit access to these credentials to only people who need to be able to access them.
Monolithic Files Cause Monolithic Pain
The first thing I realized was that having a single monolithic configuration file was just terrible practice. There are going to be common configuration options that I want to have in there with default values, such as local database configuration pointing to a database instance running on the same VM as the application. These should always be in the repo, otherwise any dev who spins up an instance of the VM will need to manually tread documentation and copy-paste the missing options into the configuration. This would be incredibly time-consuming, inefficient, and stupid.
I also use different tools which have different configuration options associated with them. Having to dig through a single file containing configuration options for all of these tools to find the ones I need to modify is cumbersome at best. On top of that, having those common configuration options living in the same place that sensitive access credentials do is just asking for a rogue
git commit -Ato violate the aforementioned security protocol.
Same Problem, Different Structure
My first approach to resolving this problem was breaking the configuration out into separate files, one for each distinct tool. In each file, a "skeleton" config was generated, i.e. each option was given a default empty value. The main config would then only contain config options that are common and shared across the application. To avoid having the sensitive credentials leaked, I then created rules in the
.gitignoreto exclude these files.This is where I ran into problem #2. I learned that this just doesn't work. You can either have a file in your repo and have all changes to that file tracked, have the file in your repo and make a local-only change to prevent changes from being tracked, or leave the file out of the repo completely. In my use case, I wanted to be able to leave the file in the repo, treat it as ignored by everyone, and only commit changes to that file when there was a new configuration option I wanted added to it. Git doesn't support this use case whatsoever.
This problem turned out to be really common, but the solution suggested is to have two separate versions of your configuration--one for dev, and one for production--and to have a flag to switch between the two. Given the breaking up of my configuration, I would then need twice as many files to do this, and given my security practices, this would violate the no-upstream rule for sensitive credentials. Worse still, if I had several different kinds of environments with different configuration--local dev, staging, beta, production--then for
msuch environments andnconfiguration files, I would need to maintainn*mseparate files for configuration alone. Finally, I would need to remember to include a prefix or postfix to each file name any time I needed to retrieve values from a new config file, which is itself an error-prone requirement. Overall, there would be a substantial increase in technical debt. In other words, this approach would not only not help, it would make matters worse!
Borrowing From Linux
After a lot of thought, an idea occurred to me: within Linux systems, there's an
/etc/skel/directory that contains common files that are copied into a new user's home directory when that user is created, e.g..bashrcand.profile. You can make changes to these files and have them propagate to new users, or you can modify your own personal copy and leave all other new users unaffected. This sounds exactly like the kind of behavior I want to emulate!Following their example, I took my
$APPHOME/config/directory and placed askel/subdirectory inside, which then contained all of the config files with the empty default values within. My.gitignorethen looked something like this:$APPHOME/config/* !$APPHOME/config/main.php !$APPHOME/config/skel/ !$APPHOME/config/skel/* # This last one might not be necessary, but I don't care enough to test it without.Finally, on deploying my local environment, I simply include a snippet in my script that enters the new
skel/directory and copies any files inside intoconfig/, as long as it doesn't already exist:cd $APPHOME/config/skel/ for filename in *; do if [ ! -f "$APPHOME/config/$filename" ]; then cp "$filename" "$APPHOME/config/$filename" fi done(Note: production environments have a slightly different deployment procedure, as local copies of these config files are saved within a shared directory for all releases to point to via symlink.)
All of these changes ensure that only
config/main.phpand the files contained withinconfig/skel/are whitelisted, while all others are ignored, i.e. our local copies that get stored withinconfig/won't be inadvertently committed and pushed upstream!
Final Thoughts
Common solutions to problems are typically common for a good reason. They're tested, proven, and predictable. But sometimes you find yourself running into cases where the common, well-accepted solution to the problem doesn't work for you. Standards exist to solve a certain class of problems, and sometimes your problem is just different enough for it to matter and for those standards to not apply. Standards are created to address most cases, but edge cases will always exist. In other words, standards are guidelines, not concrete rules.
Sometimes you need to stop thinking about the problem in terms of the standard approach to solving it, and instead break it down into its most abstract, basic form and look for parallels in other solved problems for inspiration. Odds are the problem you're trying to solve isn't as novel as you think it is, and that someone has probably already solved a similar problem before. Parallels, in my experience, are usually a pretty good indicator that you're on the right track.
More importantly, there's a delicate line to tread between needing to use a different approach to solving an edge case problem you have, and needing to restructure your project to eliminate the edge case and allow the standard solution to work. Being able to decide which is more appropriate can have long-lasting repercussions on your ability to manage technical debt.
16 votes -
Paul Manafort’s lawyer is said to have briefed US President Donald Trump's team on Robert Mueller talks
14 votes -
Middle-class San Francisco tenants are moving into dorms for reasonable rent
9 votes -
Magnus Carlsen beats Fabiano Caruana in tie-breakers to retain World Chess crown
11 votes -
Halestorm - Love Bites (So Do I) (2012)
5 votes -
Details about the event-stream incident
23 votes -
Shakey Graves - "Climb on the Cross" | Inde88 Black Box Sessions (2018)
4 votes -
The Queer Fudanshi’s starter guide to BL manga
6 votes -
Reddit silently introduces an option to report content as violating the German NetzDG law
27 votes -
Margaret Atwood writing sequel to The Handmaid's Tale, coming out in Sept. 2019
11 votes -
Weekly game discussion thread 3: Battlefield V
Let's give this discussion format another try. The new Battlefield is now out, and I'm sure I'm not the only wave playing it. What are your thoughts?
9 votes -
Sega Dreamcast at twenty: the futuristic games console that came too soon
28 votes -
The 100 greatest innovations of 2018
6 votes -
The insect apocalypse is here
19 votes -
Return of African artifacts sets a tricky precedent for Europe’s museums
5 votes -
Best 120mm fans for a desktop?
I was looking for preferences on 120/140mm case fans. RGB is a want, but not at the expense of quality fans. I'm pretty new to the topic and not super familiar with the technical side. So open to...
I was looking for preferences on 120/140mm case fans. RGB is a want, but not at the expense of quality fans.
I'm pretty new to the topic and not super familiar with the technical side. So open to reading more in depth too.
Thanks!
7 votes -
A break in the quest for the quantum speed limit
4 votes -
What have you been watching/reading this week? (Anime/Manga)
Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of. If you want to, feel free to find the thing you're...
Feel free to talk about something you saw that was cool, something that was bad, ask for recommendations, or anything else you can think of.
If you want to, feel free to find the thing you're talking about and link to its Anilist, MAL, or any other anime/manga database you use!
8 votes -
Synchronised swimming may be dominated by women, but Ethan Calleja is making a big splash
4 votes -
Queensland bushfires prompt 'firestorm' warning as people flee homes in Deepwater, Rules Beach and nearby areas
4 votes -
If you could choose to live out your entire life in any time and place in history, what would you choose and why?
There are many periods and places of history that are romantic to me, but I wonder which would have been the best/most interesting to actually live in.
18 votes -
What's your favorite song cover?
As the title says. Bonus points for covers that really surprised you. My personal favorite is Sugar Ray's cover of The Steve Miller Band's Abracadabra. It's super faithful to the source material...
As the title says. Bonus points for covers that really surprised you. My personal favorite is Sugar Ray's cover of The Steve Miller Band's Abracadabra. It's super faithful to the source material but Sugar Ray kinda heavied it up a bit
28 votes -
The 'link' button in the inbox should (at least by a user setting) mark that reply as read.
As per title. It's rather annoying to click through to topics, then have to go back to the inbox to mark it read. If I click 'link' then I've clearly read it.
14 votes -
America’s thirty-eight essential restaurants
4 votes -
Deconstructing a genius climate change argument
9 votes -
Gay student gets standing ovation after coming out in front of whole Catholic school
17 votes -
What are the primary pressures leading us towards collapse?
I’m trying to organize a series of statements which reflect the primary pressures pushing civilization towards collapse. Ideally, I could be as concise as possible and provide additional resources...
I’m trying to organize a series of statements which reflect the primary pressures pushing civilization towards collapse. Ideally, I could be as concise as possible and provide additional resources for understanding and sources in defense of each. Any feedback would be helpful, as I would like to incorporate them into a general guide for better understanding collapse.
We are overwhelmingly dependent on finite resources.
Fossil fuels account for 87% of the world’s total energy consumption. 1 2 3
Economic pressures will manifest well before reserves are actually depleted as more energy is required to extract the same amount of resources over time (or as the steepness of the EROEI cliff intensifies). 1 2
We are transitioning to renewables very slowly.
Renewables have had an average growth rate of 5.4% over the past decade. 1 2 3 4
Renewables are not taking off any faster than coal or oil once did and there is no technical or financial reason to believe they will rise any quicker, in part because energy demand is soaring globally, making it hard for natural gas, much less renewables, to just keep up. 1
Total world energy consumption increased 15% from 2009 to 2016. New renewables powered less than 30% of the growth in demand during that period. 1
Transitioning to renewables too quickly would disrupt the global economy.
A rush to build an new global infrastructure based on renewables would require an enormous amount resources and produce massive amounts of pollution. 1 2
Current renewables are ineffective replacements for fossil fuels.
Energy can only be substituted by other energy. Conventional economic thinking on most depletable resources considers substitution possibilities as essentially infinite. But not all joules perform equally. There is a large difference between potential and kinetic energy. Energy properties such as: intermittence, variability, energy density, power density, spatial distribution, energy return on energy invested, scalability, transportability, etc. make energy substitution a complex prospect. The ability of a technology to provide ‘joules’ is different than its ability to contribute to ‘work’ for society. All joules do not contribute equally to human economies. 1 2 3
Best-case energy transition scenarios will still result in severe climate change.
Even if every renewable energy technology advanced as quickly as imagined and they were all applied globally, atmospheric CO2 levels wouldn’t just remain above 350 ppm; they would continue to rise exponentially due to continued fossil fuel use. So our best-case scenario, which was based on our most optimistic forecasts for renewable energy, would still result in severe climate change, with all its dire consequences: shifting climatic zones, freshwater shortages, eroding coasts, and ocean acidification, among others. Our reckoning showed that reversing the trend would require both radical technological advances in cheap zero-carbon energy, as well as a method of extracting CO2 from the atmosphere and sequestering the carbon. 1
The speed and scale of transitions and of technological change required to limit warming to 1.5°C has been observed in the past within specific sectors and technologies {4.2.2.1}. But the geographical and economic scales at which the required rates of change in the energy, land, urban, infrastructure and industrial systems would need to take place, are larger and have no documented historic precedent. 1
Global economic growth peaked forty years ago.
Global economic growth peaked forty years ago and is projected to settle at 3.7% in 2018. 1 2 3
The increased price of energy, agricultural stress, energy demand, and declining EROEI suggest the energy-surplus economy already peaked in the early 20th century. 1 2
The size of the global economy is still projected to double within the next 25 years. 1
Our institutions and financial systems are based on expectations of continued GDP growth perpetually into the future. Current OECD (2015) forecasts are for more than a tripling of the physical size of the world economy by 2050. No serious government or institution entity forecasts the end of growth this century (at least not publicly). 1
Global energy demand is increasing.
Global energy demand has increased 0.5-2% per year from 2011-2017, despite increases in efficiency. 1 2 3
Technological change can raise the efficiency of resource use, but also tends to raise both per capita resource consumption and the scale of resource extraction, so that, absent policy effects, the increases in consumption often compensate for the increased efficiency of resource use. 1 2 3 4
World population is increasing.
World population is growing at a rate of around 1.09% per year (2018, down from 1.12% in 2017 and 1.14% in 2016. The current average population increase is estimated at 83 million people per year. The annual growth rate reached its peak in the late 1960s, when it was at around 2%. The rate of increase has nearly halved since then, and will continue to decline in the coming years. 1 2
Our supplies of food and water are diminishing.
Global crop yields are expected to fall by 10% on average over the next 30 years as a result of land degradation and climate change. 1
An estimated 38% of the world’s cropland has been degraded or reduced water and nutrient availability. 1 2
Two-thirds of the world (4.0 billion people) lives under conditions of severe water scarcity at least one month per year. 1
Climate change is rapidly destabilizing our environment.
An overwhelming majority of climate scientists agree humans are the primary cause of climate change. 1
A comparison of past IPCC predictions against 22 years of weather data and the latest climate science find the IPCC has consistently underplayed the intensity of climate change in each of its four major reports released since 1990. 1
15,000 scientists, the most to ever cosign and formally support a published journal article, recently called on humankind to curtail environmental destruction and cautioned that “a great change in our stewardship of the Earth and the life on it is required, if vast human misery is to be avoided.” 1
Emissions are still rising globally and far from enabling us to stay under two degrees of global average warming. 1 2
Climate feedback loops could exponentially accelerate climate change.
In addition to increased atmospheric concentrations of greenhouse gases, many disrupted systems can trigger various positive or negative feedbacks within the larger system. 1 2 3 4 5
Biodiversity is falling rapidly.
The current species extinction rate is 1,000 to 10,000 times greater than the natural background rate. 1 2
World wildlife populations have declined by an average 58% in the past four decades. 1
The marginal utility of societal complexity is declining.
Civilization solves problems via increased societal complexity (e.g. specialization, political organization, technology, economic relationships). However, each increase in complexity has a declining marginal utility to overall society, until it eventually becomes negative. At such a point, complexity would decrease and a process of collapse or decline would begin, since it becomes more useful to decrease societal complexity than it would be to increase it. 1 2 3
25 votes -
How a change in climate wiped out the ‘Siberian unicorn’
3 votes -
Muslim Magomayev - Chortovo koleso (Ferris wheel) (1969)
6 votes -
Black box data reveals pilots’ struggle to regain control of doomed jet
13 votes -
Crack Magazine: Best of Aphex Twin’s Soundcloud Dump – Mixed by EOD (2018)
3 votes -
Drew Brees is hiding in plain sight
4 votes -
If cash is king, how can stores refuse to take your dollars? (2016)
5 votes -
Suggestions regarding clickbait and misinformation
One thing (amongst many) that always bothered me in my 6+ years of using Reddit was their lax rules about posting clickbait articles and straight up misinformation. In my opinion this was...
One thing (amongst many) that always bothered me in my 6+ years of using Reddit was their lax rules about posting clickbait articles and straight up misinformation. In my opinion this was something that contributed to the rise of radical communities and echochambers in the website.
In this post I'll talk about Clickbait, Unreliable studies, and Misinformation. I'll give examples for each one and suggest a way to deal with it.
Clickbait-
Let's start with the most benign one. These days most big websites use clickbait and hyperbole to gain more traffic. It's something that they have to do in order to survive in today's media climate and I sort of understand. But I think that as a community in Tildes we should raise our standards and avoid posting any article that uses clickbait, instead directly link to the source that the article cites.
An example would be: An article titled "Life on Mars found: Scientists claim that they have found traces of life on the red planet".
But when you read the original source it only states that "Mars rover Curiosity has identified a variety of organic molecules" and that "These results do not give us any evidence of life,".
(This may be a bad/exaggrated example but I think it gets my point across.)On Reddit the mods give these kinds of posts a "Misleading" tag. But the damage is already done, most of the users won't read the entire article or even the source, and instead will make comments based on the headline.
I personally think that these kinds of posts should be deleted even if they get a discussion going in the comments.Unreliable studies-
This is a bit more serious than clickbait. It's something that I see the most in subjects of psychology, social science and futurism.
These are basically articles about studies that conclude a very interesting result, but when you dig a bit you find that the methodologies used to conduct the study were flawed and that the results are inconclusive.An (real) example would be: "A new study finds that cutting your time on social media to 30 minutes a day reduces your risk of depression and loneliness"
Link: https://www.businessinsider.com/facebook-instagram-snapchat-social-media-well-being-2018-11At first glance this looks legit, I even agree with the results. But lets see how this study was conducted:
In the study, 143 undergraduate students were tested over the course of two semesters.
After three weeks, the students were asked questions to assess their mental health across seven different areas
Basically, their test group was 143 students, The test was only conducted for 6 months, and the results were self-reported.
Clearly, this is junk. This study doesn't show anything reliable. Yet still, it received a lot of upvotes on Reddit and there was a lot of discussion going. I only spotted 2-3 comments (at the bottom) mentioning that the study is unreliable.
Again, I think that posts with studies like this should be deleted regardless if there is a discussion going in the comments or not.
Misinformation-
This is in my opinion the biggest offender and the most dangerous one. It's something that I see in political subreddits (even the big ones like /r/politics and /r/worldnews). It's when an article straight up spreads misinformation both in the headline and in the content in order to incite outrage or paint a narrative.
Note: I will give an example that bashes a "left-leaning" article that is against Trump. I'm only doing this because I only read left-leaning to neutral articles and don't go near anything that is right-leaning. Because of this I don't have any examples of a right-leaning article spreading misinformation (I'm sure that there are a lot).
An example would be this article: "ADMINISTRATION ADMITS BORDER DEPLOYMENT WAS A $200 MILLION ELECTION STUNT"
Link: https://www.vanityfair.com/news/2018/11/trump-troops-border-caravan-stuntThere are two lies here:
- Trump administration did not admit to anything. (The article's use of the word 'Admit' is supposedly justified with 'They indirectly admitted to it'. I personally think this is a bad excuse.)
- Most importantly, the 200 million figure is pure speculation. If you go to the older article that this article cites, the 200m figure comes from a speculation that the operation could cost up to 200m if the number of troops sent to the border is 15,000 and they stay there for more than 2 months.
In reality the number of troops sent was 8,500 and they stayed for only a few days/weeks.
A few days after this article was published it turned out that the operation costed 70 million. Still a big sum, still ridiculous. But it's almost a third of what the article claimed.
The misinformation in this example is fairly benign. But I've seen countless other articles with even more outrageous claims that force a certain narrative. This is done by both sides of the political spectrum.
Not only do I think that we should delete these kinds of posts in Tildes, in my opinion we should black list websites that are frequent offenders of spreading misinformation.
Examples off the top of my head would be: Vanity Fair, Salon.com, of course far right websites like Fox News, Info Wars and Breitbart.
A good rule in my opinion would be: If three posts from a certain website get deleted for spreading misinformation, that website should be blacklisted from Tildes.In conclusion:
I think we should set some rules against these problems while our community is still in the early stages. Right now I don't see any of these 3 problems on Tildes. But if we don't enforce rules against them, they will start to pop up the more users we gain.I'll be happy to know your opinions and suggestions on the matter!
32 votes -
Magnetic levitation: The return of transport's great 'what if?'
6 votes -
European Soccer - This week results (10.10.2018) - *Includes UEFA Nations League results*
First of all, I want to apologise for the delay of this weekly post. Yesterday I did not have the time to write it, because with the inclusion of the Nations League it would have taken me time I...
First of all, I want to apologise for the delay of this weekly post. Yesterday I did not have the time to write it, because with the inclusion of the Nations League it would have taken me time I did not have.
With that being said, here are last week national and international results:UEFA Nations League - Matchweek 5-6
The four group winners of League A qualify for the Nations League Finals in June 2019:
Netherlands, Switzerland, Portugal, EnglandThe following teams are promoted to a higher league:
B->A Ukraine, Sweden, Bosnia & Erzegovina, DenmarK
C->B Scotland, Finland, Norway, Serbia
D->C Georgia, Belarus, Kosovo, FYR MacedoniaThe following teams are relegated to a lower league:
A->B Germany, Iceland, Poland, Croatia
B->C Slovakia, Turkey, Northern Ireland, Ireland
C->D Estonia, Slovenia, Cyprus, LithuaniaMatch Score Statistics League A - Group 1 Germany-Netherlands 2-2 9' Werner T., 20' Sane L.; 85' Promes Q., 90+1' van Dijk V. Netherlands-France 2-0 44' Wijnaldum G., 90+6'(Pen) Depay M. League A - Group 2 Switzerland-Belgium 5-2 26'(Pen) Rodriguez R., 31', 44', 84' Seferovic H., 62' Elvedi N.; 2', 17' Hazard T. Belgium-Iceland 2-0 65', 81' Btshuayi M. League A - Group 3 Portugal-Poland 1-1 34' Silva An.; 66'(Pen) Milik A. Italy-Portugal 0-0 League A - Group 4 England-Croatia 2-1 78' Lingard J., 85' Kane H.; 57' Kramaric A. Croazia-Spain 3-2 54' Kramaric A., 67', 90+3' Jedvaj T.; 56' Ceballos D., 78'(Pen) Ramos S. League B - Group 1 Czech Republic-Slovakia 1-0 32' Schick P. Slovakia-Ukraine 4-1 6' Rusnak A., 26' Kucka J., 52' Zrelak A., 61' Mak R.; 47' Konoplyanka E. League B - Group 2 Sweden-Russia 2-0 41' Lindelof V., 72' Berg M. Turkey-Sweden 0-1 71' Granqvist A. League B - Group 3 Northern Ireland-Austria 1-2 57' Evans C.; 49' Schlager X., 90+3' Lazaro V. Austria-Bosnia & Herzegovina 0-0 League B - Group 4 Denmark-Ireland 0-0 Wales-Denmark 1-2 89' Bale G.; 42' Jorgensen N., 88' Braithwaite M. League C - Group 1 Scotland-Israel 3-2 34', 43', 64' Forrest J.; 9' Kayal B., 75' Zahavi E. Albania-Scoltland 0-4 14' Fraser R., 45+2' Fletcher(Pen), 55', 67' Forrest J. League C - Group 2 Greece-Estonia 0-1 44ì(OG) Lambropoulos K. Hungary-Finland 2-0 29' Szalai A., 37' Nagy A. Greece-Finland 1-0 25'(OG) Granlund A. Hungary-Estonia 2-0 8' Orban W., 69' Szalai A. League C - Group 3 Bulgaria-Slovenia 1-1 68' Ivanov G; 75' Zajc M. Cyprus-Norway 0-2 36', 48' Kamara O. Cyprus-Bulgaria 1-1 24' Zachariou P.; 89'(Pen) Dimitrov N. Slovenia-Norway 1-1 9' Verbic B.; 85' Johnsen B. League C - Group 4 Montenegro-Romania 0-1 44' Tucudean G. Serbia-Lithuania 4-1 51'(OG) Zulpa A., 58' Mitrovic A., 71' Prijovic A., Ljajic A.; 64' Petravicius D. Romania-Lithuania 3-0 7' Puscas G., 47' Keseru C., 65' Stanciu N. Serbia-Montenegro 2-1 30' Ljajic A., 32' Mitrovic A.; 70' Mugosa S. League D - Group 1 Andorra-Latvia 0-0 Georgia-Kazakhstan 2-1 59' Merebashvili G., 84' Chakvetadze G.; 90' Omietayev O. Andorra-Georgia 1-1 63' Martinez C.; 9' Chakvetadze G. Kazakhstan-Latvia 1-1 377' Suyumbayev G.; 49' Rakeis D. League D - Group 2 Moldova-Luxemburg 1-1 58'(Pen) Ginsari R.; 70' Bensi S. San Marino-Belarus 0-2 8' Dragun S.,52' Saroka A. Luxemburg-Belarus 0-2 37', 54' Dragun S. San Marino-Moldova 0-1 78' Damascan V. League D - Group 3 Kosovo-Azerbaijan 4-0 2', 50', 76' Zeneli A., 61' Rrahamani A. Malta-Faroe Islands 1-1 4' Corbolan J.; 3' Joensen R. Azerbaijan-Faroe Islands 2-0 18'(OG) Nattestad S., 28' Madatov M. Malta-Kosovo 0-5 15' Muriqi V., 70' Kololli B., 78', 80' Avdijaj D, 86' Rashica M. League D - Group 4 FYR Macedonia-Gibiltar 4-0 27' Bardhi E., 67', 80' Nestorowski I., 82' Velkoski D. Liechtenstein-Armenia 2-2 Gibraltar-Armenia 2-6 10' De Barr T., 78' Priestley A.; 27', 48', 52', 54' Movsisyan Y., 66' Karapetian A., 90+4' Karapetian A. Liechtenstein-FYR Macedonia 0-2 53' Bardhi E., 90+1' Nestorowski I. English Premier League - Matchweek 13
Match Score Statistics Burnley-Newcastle 1-2 40' Vokes S.; 4'(OG) Mee B., 23' Clark C. Bournemouth-Arsenal 1-2 45+1' King J.; 30'(OG) Lerma J., 67' Aubameyang P. Brighton-Leicester 1-1 15' Murray G.; 78'(Pen) Vardy J. Everton-Cardiff 1-0 59' Sigurdsson G. Fulham-Southampton 3-2 33', 63' Mitrovic A., 63' Schurrle A.; 18', 54' Armstrong S. Manchester Utd-Crystal Palace 0-0 Tottenham-Chelsea 3-1 8' Alli D., Kane H., 54' Son Heung-Min; 85' Giroud O. Watford-Liverpool 0-3 67' Salah M., 76' Alexander-Arnold, 89' Firmino R. West Ham-Manchester City 0-4 11' Silva D., 19' Sterling R., 34', 90+3' Sane L. Wolves-Huddersfield 0-2 6', 74' Mooy A LaLiga - Matchweek 13
Match Score Statistics Real Sociedad-Celta Vigo 2-1 37' Oyarzabal M., 47' Zurutuza D.; 82' Gomez M. Atheltic Bilbao-Getafe 1-1 67' Nolaskoain P.; 77' Mata J. Atlético Madrid-Barcelona 1-1 77' Costa D.; 90' Dembele O. Eibar-Real Madrid 3-0 16' Escalante G., 52' Enrich S., 57' Kike Espanyol-Girona 1-3 4', 6' Stuani C., 90' Doumbia; 74' Iglesias B. Huesca-Levante 2-2 23' Riveira C., 51' Etxeita X.; 45+1' Roger M., 74' Boateng E. Leganes-Alaves 1-0 42' En Nesyri Y. Sevilla-Valladolid 1-0 30' Silva An. Valencia-Rayo Vallecano 3-0 35', 61' Mina S., 76' Gameiro K. Villarreal-Betis 2-1 52' Moreno, 54' Chukwueze S.; 90' Lo Celso Serie A - Matchweek 13
Match Score Statistics Cagliari-Torino 0-0 Bologna-Fiorentina 0-0 Empoli-Atalanta 3-2 42' La Gumina A., 77'(OG) Masiello A., 90+2' Silvestre M.; 33' Freuler R., 40' Heteboer H. Genoa-Cagliari 1-1 17'(Pen) Piatek K.; 8' Quagliarella F. Inter-Frosinone 3-0 10', 82' Keita B., 57' Martinez L. Juventus-Spal 2-0 29' Ronaldo C., 60' Mandzukic M. Lazio-AC Milan 1-1 90+4' Correa J.; 78'(OG) Wallace Napoli-Chievo 0-0 Parma-Sassuolo 2-1 6' Gervinho, 25' Alves B.; 36'(Pen) Babacar K. Udinese-AS Roma 1-0 54' De Paul R. Bundesliga - Matchweek 12
Match Score Statistics Augsburg-Eintracht Frankfurt 1-3 90' Cordova S.; 1' de Guzman J., 47' Haller S., 68' Rebic A. Bayer Leverkusen-Stuttgart 2-0 76', 83' Volland K. Bayern Munich-Dusseldorf 3-3 17' Sule N., 20', 58' Muller T.; 44', 77' 90+3' Lukebakio D. Borussia Monchengladbach-Hannover 4-1 7' Hazard T., 44' Lang M., 58' Stindl L., 77' Zakaria D.; 1' Wood B. Freiburg-Werder Bremen 1-1 42'(Pen) Waldschmidt G.; 90+2' Augustinsson L. Hertha Berlin-Hoffenheim 3-3 12' Ibisevic V., 71' Leckie M., 87' Lazaro V.; 1' Demirbay K., 10' Kramaric A. Mainz-Borussia Dortmund 1-2 70' Quaison R.; 66' Alcacer P., 76' Piszczek L. Schalke04-Nurnberg 5-2 26', 84' Skrzybski S., 32' Harit A., 70' Burgstaller G., 90+3' Oczipka B.; 38' Palacios-Martinez F., 78' Zrelak A. WolfsburgRB Leipzig 1-0 50' Roussillon J. Ligue 1 - Matchweek 14
Match Score Statistics Amiens-Marseille 1-3 8' Dibassy B.; 26', 80', 90+1' Thauvin F. Caen-Monaco 0-1 55' Falcao Dijon-Bordeaux 0-0 Lyon-Saint Etienne 1-0 62' Denayer J. Montpellier-Rennes 2-2 45+1', 49' Delort A.; 5' Ben Arfa H., 71'(Pen) Bourigeaud B. Nantes-Angers 1-1 89' Majeed W.; 5' Bahoken S. Nice-Lille 2-0 25' Cyprien W., 79' Saint-Maximin A. PSG-Toulouse 1-0 9' Cavani E. Reims-Guingamp 2-1 2' Chavalerin X., 68' Dia B., 81'(Pen) Thuram M. Strasbourg-Nimes 0-1 70' Lybohy H. 5 votes