Synopsis Place a bounty on the next release of an open-source project. Until the bounty is met, those who need/want the newest release must pay an amount in order to get it. Previous releases remain free. Once the bounty is met, the new release becomes free.
The Problem of Funding I think open-source is one of the most important cultural and business innovations produced (so far) by the computing and network revolution.
Pycon was wonderful this year. It was held at the Portland convention center which I like, and there were about 40% women at the conference; my perception was that around the same percentage of women were speaking. I credit Guido Van Rossum with requesting that the conference and the community become more inclusive (his goal is 50%). This is an amazing accomplishment in our field; my usual experience is in the low single digits.
As an exploration of the uncertainties of streams and parallel streams, let’s look at a problem that seems simple: summing an incremental sequence of numbers. There turns out to be a surprising number of ways to do this, and I’ll take the risk of comparing them through timing—trying to be careful, but acknowledging that I might fall into one of the many fundamental pitfalls when timing code execution. The results may have some flaws (there’s no “warming up” of the JVM, for example), but I think it nonetheless gives some useful indications.
Here is the opening keynote presentation I gave at the Jet Conference in Minsk, Belarus, last Fall, titled A Language is More Than a Language.
For some reason, all my travels in recent years have been exceptional, and this one was no different. Everyone there was really warm and enthusiastic.
(Significantly rewritten 11/25/2015)
Based on what I’ve heard, I was surprised to discover that the short answer is “yes, with a caveat that, after explanation, isn’t terrible.” So, a qualified yes.
For the longer answer, we must first explore the question of “why, again, are we doing all this?”
Abstraction over Behavior The simplest way to look at the need for lambdas is that they describe what computation should be performed, rather than how it should be performed.
Here are the slides for my opening keynote at the JET Conference in Minsk, Belarus, Sept 28, 2015. Note that many of the slides also have notes.
The evening before the conference, I will be presenting “Creating Trust Organizations,” and you can find the slides for that here.