Bayer's clothiandin, a pesticide used to pre-treat corn seeds, is also thought to be killing honeybees. And the UN suspects that several other factors are all working together to kill bees, including air pollution (this can disorient bees), virulent fungal pathogens that are spread via trade, and climate change (altered rainfall patterns can change plants' flowering times, which in turn affects nectar supplies). It's possible, in other words, that modern society in general is to blame for the death of the bees. So unless we shut down all of our factories and power plants, nix international trade, stop using pesticides, and turn off our cell phones, we may need to find some other pollination solution–or some more cell-phone and climate change-friendly bees.
This is the second post from my series dedicated to modern programming languages for the Java platform. Last time we’ve discussed the Groovy programming language, which is a member of the ever expanding family of dynamic programming languages. The Scala programming language, that is the object of today’s discussion, is different beast entirely – not only it uses static typing(like Java & C# amongst others), but it also puts a heavy emphasis on the type system, functional and parallel programming.
This article is extremely hard to write for me. Unlike Groovy, I’m deeply familiar with the language and would like to share quite a lot with you. For obvious reasons I cannot go into much detail (otherwise I’d have written an on-line book). You’re encourage to follow up this article by reading some of the excellent resources, mentioned near its end.
“These kind of best practices have been proven to work for us at all scales,” said Malone. “These are techniques that you can deploy. You don’t need an in-house research and development team to do this.”
Concerning this isn't the focus already and goes for industry too – "A few things that jump to mind as ripe areas for academic research on the cloud:
Understanding and predicting performance at scale, with uncertain workloads and frequent node failures.
Managing workloads across multiple datacenters with widely varying capacity, occasional outages, and constrained inter-datacenter network links.
Building failure recovery mechanisms that are robust to massive correlated outages. (This is what brought down Amazon's EC2 a few weeks ago.)
Debugging large-scale cloud applications: tools to collect, visualize, and inspect the state of jobs running across many thousands of cores.
Managing dependencies in a large codebase that relies upon a wide range of distributed services like Chubby and GFS.
Handling both large-scale upgrades to computing capacity as well as large-scale outages seamlessly, without having to completely shut down your service and everything it depends on."
Parallel & distributed are not the same. Akka, Erlang & friends are more in the parallel camp, I foresee some problems.
links for 2011-05-13