distributed collective mind
478 stories
·
3 followers

Square Sounds Melbourne 2020 Set and Ableton Live Project

1 Comment


Download the Ableton Live project data here.
Read the whole story
sness
14 days ago
reply
<3
milky way
Share this story
Delete

SVG and CSS animations, without JavaScript

1 Comment

Andrew Wang-Hoyer built over 200 animations on and off over two years. They are satisfyingly hypnotic. They also only use SVG, CSS, and HTML, and you can get the code on GitHub.

I feel like sans-JavaScript is becoming a thing. Is this becoming a thing?

Tags: , ,

Read the whole story
sness
14 days ago
reply
neat
milky way
Share this story
Delete

Machine learning to help you not touch your face

1 Comment

The CDC recommends that you do not touch your face to minimize the spread of the coronavirus. We do this quite a bit without even thinking about it, so Do Not Touch Your Face uses machine learning to help you adjust. Train the algorithm, and then the algorithm trains you.

Tags: , ,

Read the whole story
sness
14 days ago
reply
lol
milky way
Share this story
Delete

Why did the Plague spare Poland?

1 Comment


  • Calm down, we're not comparing COVID-19 to the Plague.
  • Well, not literally. But this map raises an interesting question: Why were some parts of Europe spared of the Black Death?
  • And can that tell us something about where the coronavirus will or won't spread?

The doctor will see you now


The Black Death was a ruthless killer – and, if you were lucky, a swift one. Its more fortunate victims "ate lunch with their friends, and dinner with their ancestors in paradise," wrote Giovanni Boccaccio, who lived through the initial wave of the Plague as it struck Italy in the 1340s.

What does that have to do with the coronavirus? Not a whole lot, fortunately. Except that the brief of this little corner of the internet is to look for strange maps, and one map led to another.

The Plague was brought from China to Europe in the 1330s by rodents hitching rides with traders. The infection with the Yersinia pestis bacterium was typically transmitted to humans by fleabites. The Plague's three manifestations were bubonic (causing painful swellings), septicemic (infecting the bloodstream) and pneumonic (choking off breathing, and transmittable via coughing). Left untreated – as was necessarily the case in the Middle Ages – bubonic plague had a mortality rate of about 50%, for the other two, it's virtually 100%.

Bocaccio's Italy was hit hard by the epidemic. Cities like Venice and Pisa lost three-quarters of their population. The disease followed the traditional trading routes north, racing forward each spring as a new generation of fleas was ready to spread the infection.

The Plague afflicted most of Europe in a relatively brief period. It's estimated that it killed as many as 25 million – a third of Europe's population at the time – in just five short years.

Absent explanations and remedies, Europe's populations turned to God for hope, and victimized outsider groups as scapegoats. Some of Western Europe's worst anti-Jewish pogroms before WWII took place during outbreaks of the Plague.

Plague's progress


The Black Death spread rapidly along the major European sea and land trade routes. Spread of bubonic plague in medieval Europe. The colors indicate the spatial distribution of plague outbreaks over time. Spread of plague in the 1340s: 1347 mid-1348 early-1349 late-1349 Areas that escaped with minor plague outbreak. The migration of the Black Death across Europe.

This map shows the progress of the Plague, from its arrival in the Mediterranean:

  • First afflicted (in 1347) were Asia Minor, and the islands of Sicily, Sardinia and Corsica, with just small bridgeheads on the European mainland: Marseilles and environs, Calabria (the tip of Italy's shoe), and the southern shore of what is now Turkish Thrace (i.e. European Turkey).
  • By the next year (1348), the disease had achieved a firm foothold in Europe, reaching as far as the gates of Toledo and Paris.
  • In early 1349, the Plague had overwhelmed London and Frankfurt, and was poised to pounce Vienna and Bucharest. Later that year, it reached as far as Ireland and Norway.
  • Its relentless march north continued. In 1350, it hit Lübeck and Copenhagen, reaching high into Norway. In 1351 and thereafter, it swept further north, touching the entire continent.
The Black Death has left deep traces in European history. To this day, ødegård – 'deserted farm' – is a fairly common place name in Norway, to name just one example.
But as this map indicates, the Plague spared certain areas (marked green on the map) on march of destruction:
  • an area in Italy centered on Milan;
  • small, contiguous parts of Spain and France, on either side of the Pyrenees;
  • an area in the Low Countries around Bruges;
  • a large area in Eastern Europe, stretching from Magdeburg to beyond Warsaw, taking in most of present-day Poland, plus some surrounding areas.

Why? First off, the map is slightly misleading. Green does not mean 'safe', just 'less deadly'. Milan, for example, only lost about 15% of its population. Horrific by today's standards, but a mere trifle compared to the almost wholesale extinction of Italy's other cities. In Poland and the other 'green' areas too, people did die of the Plague, albeit in much lower numbers than elsewhere.

Blues vs. Greys


Global case numbers are reported by the World Health Organization (WHO) in their coronavirus disease 2019 (COVID-19) situation report

One main reason why Poland escaped relatively unscathed, was the decision by Poland's king, Casimir the Great, to close the country's borders – and set up internal quarantines.

This increased Poland's natural isolation, both from the outside world and between the settlements within the country – generally smaller and less connected than elsewhere in Europe. Prague to Krakow took eight days on horseback. People infected took between 24 to 72 hours to get sick. So the issue would 'resolve' itself well before the danger reached the Polish border.

Isolation plus quarantine certainly helped spare Poland from the worst of the epidemic. One more spurious explanation is that Poland had more cats than other parts of Europe, and thus less disease-carrying rats…

Milan's significantly lower mortality rate may also be down to the city's stricter quarantine measures: The houses of infected families were simply bricked up (with the infected left to die inside).

Like Poland, the French-Spanish area, corresponding to the then-kingdom of Navarre, may have benefited from its relative isolation. Why the area around Bruges – then a thriving port with connections to the Mediterranean – might have been spared, is more of a mystery.

So, what's the lesson, if any? Isolation definitely helps against infectious diseases. But that's about the only advantage of being isolated. Take this map of the spread of COVID-19 as of 11 am on 5 March. If you had to divide the world into 'fun' and 'no fun' halves, they would correspond quite well with the blue and grey zones on this map, respectively.

For example, one sure-fire way to limit your exposure to the outside world is to have a bloody civil war – see Yemen, Libya and Syria. Another is to be a destination as out of the way and unconnected as Paraguay, the Central African Republic or Mongolia.

If it's the price of living in an interconnected world, then perhaps there are worse things than having to fight off a slightly deadlier iteration of the flu. Praise globalization and pass the hand sanitizer – with your elbows, please!

Strange Maps #1014

Got a strange map? Let me know at strangemaps@gmail.com.



Read the whole story
sness
17 days ago
reply
dark but interesting
milky way
Share this story
Delete

Do you like containers?

2 Comments and 5 Shares


Read the whole story
sness
24 days ago
reply
rm -rf /
milky way
Share this story
Delete
1 public comment
michelslm
24 days ago
reply
If you can't follow instructions...

Testing on the Toilet: Tests Too DRY? Make Them DAMP!

1 Comment
This article was adapted from a Google Testing on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office.

By Derek Snyder and Erik Kuefler

The test below follows the DRY principle (“Don’t Repeat Yourself”), a best practice that encourages code reuse rather than duplication, e.g., by extracting helper methods or by using loops. But is it a well-written test?
def setUp(self):
self.users = [User('alice'), User('bob')] # This field can be reused across tests.
self.forum = Forum()

def testCanRegisterMultipleUsers(self):
self._RegisterAllUsers()
for user in self.users: # Use a for-loop to verify that all users are registered.
self.assertTrue(self.forum.HasRegisteredUser(user))

def _RegisterAllUsers(self): # This method can be reused across tests.
for user in self.users:
self.forum.Register(user)

While the test body above is concise, the reader needs to do some mental computation to understand it, e.g., by following the flow of self.users from setUp() through _RegisterAllUsers(). Since tests don't have tests, it should be easy for humans to manually inspect them for correctness, even at the expense of greater code duplication. This means that the DRY principle often isn’t a good fit for unit tests, even though it is a best practice for production code.

In tests we can use the DAMP principle (“Descriptive and Meaningful Phrases”), which emphasizes readability over uniqueness. Applying this principle can introduce code redundancy (e.g., by repeating similar code), but it makes tests more obviously correct. Let’s add some DAMP-ness to the above test:

def setUp(self):
self.forum = Forum()

def testCanRegisterMultipleUsers(self):
# Create the users in the test instead of relying on users created in setUp.
user1 = User('alice')
user2 = User('bob')

# Register the users in the test instead of in a helper method, and don't use a for-loop.
self.forum.Register(user1)
self.forum.Register(user2)

# Assert each user individually instead of using a for-loop.
self.assertTrue(self.forum.HasRegisteredUser(user1))
self.assertTrue(self.forum.HasRegisteredUser(user2))

Note that the DRY principle is still relevant in tests; for example, using a helper function for creating value objects can increase clarity by removing redundant details from the test body. Ideally, test code should be both readable and unique, but sometimes there’s a trade-off. When writing unit tests and faced with a choice between the DRY and DAMP principles, lean more heavily toward DAMP.

Read the whole story
sness
97 days ago
reply
DAMP principle (“Descriptive and Meaningful Phrases”)
milky way
Share this story
Delete
Next Page of Stories