32 stories
·
0 followers

NewsBlur’s Twitter support just got a whole lot better

4 Comments and 12 Shares

It was a little under a year ago that I declared Twitter back, baby on this blog. In that time, NewsBlur users have created over 80,000 Twitter feeds in NewsBlur. Since it’s such a popular feature, I decided to dive back into the code and make tweets look a whole lot better.

Notice that NewsBlur now natively supports expanding truncated URLs (no more t.co links).

And NewsBlur also supports native quoted tweets, where a user links to a tweet in their own tweet. NewsBlur expands the quoted tweet and blockquotes it for convenience.

Plus retweets now show both the original tweet author and the retweeting author. This means that you can quickly scan tweets and see where the retweet originated from. And retweeted tweets that quote their own tweets also get expanded.

It’s almost as if NewsBlur is inching closer and closer to becoming its own full fledged Twitter client. While NewsBlur already hit Zawinski’s Law (“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.”) by supporting email-newsletters-to-rss, Twitter is coming up fast.

Speaking of which, I have this idea I’ve been noodling about better supporting Twitter habits that need to become less of a habit. I want to be able to automatically follow people from my Twitter tweetstream in NewsBlur based the frequency of their posting. I want to be able to infrequently dip into Twitter but still read the tweets from people who only post once a week or once a day.

In other words, I want Twitter, the RSS killer, to better integrate with an RSS reader so that I can pull out the good stuff from the unending flow of tweets. RSS means never missing anything, but Twitter’s main use case is anathema to how we use RSS. I don’t like to preannounce features, but this one intrigues me and if you agree, please share this story to let me know or to give me feedback on how you would like to see NewsBlur be a better Twitter client.

Read the whole story
ssorc
16 days ago
reply
Melbourne, Australia
Share this story
Delete
4 public comments
Groxx
16 days ago
reply
I read every tweet, and twitter makes that very hard to do (which is why I'm a happy user of Talon), so that sounds great :) Infrequent tweeters are often my favorites.

Personally, I'd be happy with a twitter folder, with a "feed" for each follow. With a bit of thumbs-training (and a per-folder focus setting? or something) I'd probably never go back to twitter.com at all.
TheRomit
16 days ago
reply
I like the last idea (I current have some users as columns in Tweetdeck but RSS may be a cleaner solution).

How about Yahoo Pipes-like combination of some users' Twitter feeds that make one RSS subscription?
santa clara, CA
samuel
14 days ago
Well you can read multiple twitter feeds in a folder, and with Focus mode, you can already filter them. And folders have RSS feeds, so you could then pipe that out somewhere else.
TheRomit
11 days ago
Ah! That's a good idea. Thanks for the tip!
samuel
16 days ago
reply
I'm thinking something more automatic than post freq as training. A slider or segmented control and you are subscribed to users who post at the frequency or below. Possibly even multiple sub folders with different frequencies: 1 week, 1 day, and then all the rest.
The Haight in San Francisco
eldritchconundrum
16 days ago
You say "RSS means never missing anything", but to me that isn't true. Posts more than 30 days old cannot be in an "unread" state. The marking as read that occurs automatically after 30 days is literally "missing something". I can't find it anymore among the rest, once it's been marked as read.
samuel
16 days ago
I think a month is a fine line to draw. Everything on the Internet, at a high enough level, is measured in monthly usage. If you're not using NewsBlur once a month then you're not really using NewsBlur.
eldritchconundrum
16 days ago
Certainly one month is fine, for news items. But if I want to e.g. accumulate one hundred of updates of an ongoing story-intense webcomic, then read them all in one go, then I have to track manually where I last stopped, because unread doesn't mean unread. In other words, NewsBlur is not a general-purpose RSS reader, it is specialized for reading recent news. Well, the name says it upfront, so I guess I can't complain. News... And Blur.
samuel
16 days ago
To be fair, those stories aren't gone, they just aren't unread. That's why the default is "All Stories" and not just "Unread Stories".
superlopuh
16 days ago
The unread stories effectively disappear into the void though. I've definitely lost posts that I would have liked to read at some point this way. It would be cool if there was some sort of banner for recently/soon-to-be autoread posts. Automatically sending them to pocket would also be a useful feature.
eldritchconundrum
14 days ago
They are not gone, they are lost in the haystack. If I can't find them, that's the same thing.
tingham
16 days ago
reply
I think I'd like to have my entire feed in a separate drawer here and then be able to use training to push users I follow down (or up) in the visibility stack. Right now NB and TW are the only two pinned tabs in my browser. Getting this down to one would be fantastic. Post frequency as a function of training would be a really nice feature compression.
Cary, NC

Five great government grants for Australian startups

1 Share

Key points at a glance

  • While innovation and R&D are risky ventures for any business – the stakes are highest for Australia’s thousands of startups and small businesses.
  • Through a range of government grants and assistance, Australian startups and entrepreneurs can apply for extra funding to keep R&D dreams alive.
  • Top grants include the Entrepreneurs’ Programme, the Export Market Development Grant and the R&D Tax Incentive.
Five great government grants for Australian startups

No matter which way you slice it, innovation comes with added risks and costs. And in a business landscape studded with large incumbents and smaller upstarts, these risks are proportional – a scuttled research and development project will create a headache for any large company’s balance sheet, the same failed attempt could see a more modest outfit shut up shop.

Fortunately, help is at hand for small Australian businesses in the form of government grants and assistance. There are financial awards provided – if certain conditions are met – to a business or entrepreneur to help achieve a common goal. What’s more, such subsidies don’t need to be paid back, making a real difference to the bottom line.

We’ve compiled a shortlist of the top grants and assistance schemes that aid Australian innovation. You never know – you or your business might be eligible for one or more of these grants:

1. Entrepreneurs’ Programme

What is it?

Part of the federal government’s National Innovation and Science Agenda, the Entrepreneurs’ Programmea is a federal government scheme aimed at helping Australian startups and entrepreneurs on a several fronts – from accelerating competitiveness and productivity to commercialising new products, services or processes.

What’s on offer?

A range of support functions are provided, including co-funded grants, business advice, collaboration opportunities and incubator support.

2. Export Market Development Grant

What is it?

Aimed at current and future Australian exporters, the Export Market Development Grant (EMDG)b reimburses marketing and promotional costs for businesses in international markets. Examples include free samples, trade fairs, or marketing visits.

What’s on offer?

Eligible export businesses can have up to 50% of their promotional expenses covered, provided the expenses are over $15,000. Grants range from $5,000 to $150,000. Each applicant is entitled for up to eight consecutive grants.

Nifty Forms can help individuals and businesses access the EMDG.

3. Public Sector Innovation fund (VIC):

What is it?

At the state level, Victoria’s State Government oversees the Public Sector Innovation fundc, which issues grants aimed at fostering collaboration between the public and private sectors; leveraging innovative new ways to solve complex problems in policy and service delivery. This could include new ways to collaborate, experiential learning, or overhauling procurement systems.

What’s on offer?

The Victorian government provides grants ranging from $50,000 to $400,000 to organisations working alongside or within Victoria’s public sector.

4. R&D Tax Incentive

What is it?

Spearheaded by AusIndustry, the R&D Tax Incentived aims to cultivate new innovations and knowledge in Australia by reimbursing portions of a small business or startup’s research and development costs. It provides a tax offset that encourages more companies to ‘have a go’ and take the plunge into new R&D initiatives.

What’s on offer?

For eligible companies with an annual turnover of less than $20 million, up to 45% of R&D expenses (this changes to 43.5% for cost incurred after 1 July 2016) can be recouped through a tax offset. Unused offsets may also be able to be carried forward to future income years.

Nifty Forms can help companies check their eligibility for the R&D Tax Incentive.

5. Instant Asset Write-Off

What is it?

It’s not technically a grant or rebate, however the Instant Asset Write-Off was a flagship part of the government’s 2015 budget agenda. Coming into effect in November 2016e, the scheme is now available for startups and small businesses around Australia and could be a lifeline for investing in much-needed new equipment.

What’s on offer?

Businesses earning up to $10 million a year can take advantage of the scheme, with assets valued up to $20,000 able to be deducted.

a https://www.business.gov.au/assistance/entrepreneurs-programme-summary
b https://www.business.gov.au/assistance/export-market-development-grants
c http://www.vic.gov.au/publicsectorinnovation
d https://www.business.gov.au/assistance/research-and-development-tax-incentive
e https://www.ato.gov.au/Newsroom/smallbusiness/Lodging-and-paying/Instant-asset-threshold-increase-to-$20,000-now-law/

Read the whole story
ssorc
39 days ago
reply
Melbourne, Australia
Share this story
Delete

It is done – 52 cafes in 52 weeks……

1 Share

It is the 30th December 2016 and we have done it!  We have visited a different cafe every week for the whole year….that is a new cafe every 7 days. We have meet the challenge and now, I think, can consider ourselves to be absolute Brunswick ‘hipsters’.  We have had more coffee than we need.  We have eaten out far more often than we thought we would and much more than we need and have probably each gained a couple of kilos because of it. It has been a great adventure wandering through Brunswick and discovering the weird and the wonderful and those little secrets an old suburb keeps well hidden. At times it has been onorous to squeeze in a cafe amidst a busy week or on a weekend when all we have wanted to do was hide from the world. As the year progressed it was a little challenging to find the next one. But every time we have found it to be a good thing to do – to create a bit time and go for a walk and sit for a bit, no matter how short, and spend a few moments talking together and watching the people around us.

Our overall feeling about it is that it has been fun and that we have enjoyed the challenge.  Would we want to continue it into the new year?….no! Would we want to do it again?…..no way!  Do we want to try a new challenge in 2017?…….absolutely not! It has been fun but we are glad it is done.  

We have been asked many times which has been our favourite and which has been the worst but we have resisted reaching a conclusion on this.  Each place has had its good bits and its bits that probably could be done a bit better.  Certainly some places were much ‘slicker’ than others, some were very ‘organic’ and some really need to make some changes if they are to survive in the very competitive world of cafes in Brunswick.  I suspect that our experience each week has been strongly influenced by our own head-space….whether we were happy, stressed, busy, sad, melancholy, excited, lazy….. So much of life is shaped by our own attitudes and mood, it seems wrong to judge people working hard at their chosen path in life when they are giving it their best shot.

So it is thanks to all the baristas who have made us coffee and to all the wait staff who have tended our every whim and desire and to all the business owners who have greeted us at their door and thanked us for our custom and to all the people in all the cafes who have allowed us to take photos.

And one last image for the year of the things you see when you wander the back streets.  This extraordinary tree (we think) discovered on the way to cafe no. 52…..

rubbish-tree

 






Read the whole story
ssorc
143 days ago
reply
Melbourne, Australia
Share this story
Delete

Getting Started in the Seizure Prediction Competition: Impact, History, & Useful Resources

1 Share
Seizure Prediction Kaggle Competition

The currently ongoing Seizure Prediction competition—hosted by Melbourne University AES, MathWorks, and NIH—invites Kagglers to accurately forecast the occurrence of seizures using intracranial EEG recordings. This competition uniquely focuses on seizure prediction using long-term electrical brain activity from human patients obtained from the world first clinical trial of the implantable NeuroVista Seizure Advisory Sytem.

In this blog post, you'll learn about the contest's potential to positively impact the lives of those who suffer from epilepsy, outcomes of previous seizure prediction contests on Kaggle, as well as resources which will help you get started in the competition including a free temporary MATLAB license and starter code.

This competition is sponsored by MathWorks, the National Institutes of Health (NINDS), the American Epilepsy Society and the University of Melbourne, and organised in partnership with the Alliance for Epilepsy Research, the University of Pennsylvania and the Mayo Clinic.

Seizure Prediction Kaggle Competition

Melbourne University AES-MathWorks-NIH Seizure Prediction Contest: Problem Statement

For many people with epilepsy, seizures reoccur at random times and greatly disrupt their cognitive and emotional state, their ability to work and drive, and their social and economic situation. Being able to predict epileptic seizures will greatly improve the quality of life of people with epilepsy by either giving them a warning of an impending seizure so they can move to safety or activating an implanted seizure control device that can avert seizures through drug delivery or electrical stimulation of the brain.

How can we predict epileptic seizures using electrical recordings of brain activity? Or more specifically, how can we distinguish between brain activity a short time before a seizure from brain activity that is temporally distant from seizures?

section-divider

Background

Epilepsy

Epilepsy is characterised by the recurrence of seizures, abnormal brain activity events that have many types of cognitive and behavioural manifestations. Seizures are often referred to as fits or convulsions. The most well-known type of seizure being tonic-clonic seizures where a person loses consciousness, muscles stiffen, and jerking movements are seen. These seizures usually last 1-3 minutes and take can take a long time to recover from.

Around 1% of the world’s population has epilepsy and there are tens of millions of people who have drug-resistant epilepsy, where seizures are not satisfactorily controlled by anti-epileptic drugs and often drug doses that might control seizures lead to unwanted side effects. The most common treatment for people with drug-resistant epilepsy is resective brain surgery to remove the seizure generating region of the brain. Such surgery poses the risk of removing normal functioning brain tissue and sometimes seizures can return post-surgery due to potentially complex brain networks involved in an individual’s type of epilepsy. A newer option is the use of brain implants that electrically stimulate the brain to avert or control seizures (e.g. the Neuropace RNS system or the Medtronic Activa PC system), however, these devices do not incorporate seizure prediction algorithms and only offer improvement in roughly half of patients. Therefore, more improvements are needed. Reliable seizure prediction algorithms offer a chance to yield such improvements by activating interventions in a more timely manner when a seizure warning is generated.

Seizure Prediction

Given the ability of some epilepsy patients to predict their own seizures through cognitive or behavioural signs called ‘prodromes’, it is believed that although seizures typically seem to emerge through a random process there is an underlying deterministic or dynamical component to the process of seizure generation that could be reliably detected for the purposes of seizure prediction. At present no universal ‘pre-seizure biomarker’ has been discovered. This is likely due to the large degree of heterogeneity in the types of epilepsy. Therefore, a patient-specific strategy is likely to be the most successful option, however, seizure prediction approaches that can be applied to as broad a class of patients as possible will have the greatest utility.

The standard approach to monitor electrical brain activity is to record electroencephalography (EEG) using electrodes placed on the scalp (scalp EEG) or intracranially on the surface of the brain or within the brain (intracranial EEG). Electrocorticography (ECoG) refers electrodes placed on the surface of the brain and Stereo EEG refers to electrodes placed deep within the brain. Scalp EEG is non-invasive but more prone to artifacts and less aesthetically pleasing for people to wear for long-periods of time. Intracranial EEG is invasive and high risk, but has better signal-to-noise qualities and can be more localised to the seizure generating brain tissue. Because of the risks, intracranial EEG is only performed on hard-to-treat epilepsy patients with limited options as a precursor used in the planning of resective brain surgery. Usually recordings of intracranial EEG only last up to two weeks as the electrode implants are temporary and there are risks of infection due to the skull opening required for cables to pass through the skull to the outside data acquisition system. Scalp EEG recordings are also limited in duration because of degrading electrode fidelity and discomfort over long periods of time. On the other hand, seizures occur over a large range of frequencies from say 1 a month to 100 a day depending on the patient. Therefore, in a two week recording it is often the case that one only records a handful of seizures, which is inadequate for reliable training and testing of patient-specific seizure prediction algorithms. Much of the seizure prediction literature is based on such recordings and hence there is a great degree of uncertainty surrounding the clinical utility of much of the published literature.

Seizure Prediction Kaggle Competition

In 2013, a world first clinical trial of an implantable seizure advisory system was completed by NeuroVista Corporation and the University of Melbourne and its partner hospitals. Intracranial EEG electrodes were implanted on the surface of the skull and electrical brain activity was recorded for periods of up to three years in 15 patients. The device was fully implantable and communicated wirelessly with an external warning unit that emitted a red, white and blue light to indicate high, moderate and low risk of having a seizure. Because the device was fully implantable various risks common to standard intracranial EEG recordings, such as infection, were minimised, thus allowing for much longer recordings. Of the 15 patients, nine patients provided adequate data for reliable evaluation of seizure prediction algorithms. Three of these patients achieved very high sensitivity and very low percentages of ‘red-light’ high-seizure-risk warning time. For other patients it was difficult to predict even 50% of their seizures and novel improvements are needed. The current Kaggle seizure prediction contest provides data from three patients from this clinical trial whose seizures were difficult to predict.

Seizure Prediction Kaggle Competition

In 2014, a Kaggle seizure prediction contest was run using long-term data from dogs (obtained using the implantable seizure advisory system mentioned above in the human clinical trial description) and short-term data from humans. The current contest aims to see if any of the winning seizure prediction algorithms from the previous contest generalise to long-term human data or whether other novel approaches can be found. The findings and winning algorithms of the previous contest were recently published in the journal Brain and the forum webpage for the previous contest contains summaries of winning algorithms. Resources to other EEG-derived seizure prediction features published in the literature that might be useful for the current contest also appear below.

section-divider

Resources

Below is a list of resources for those interested in learning more about seizure prediction and entering the Melbourne University AES-MathWorks-NIH Seizure Prediction Contest. Note that two of the links below connect to research articles that require subscription. Check the links to see if you can access the document pdfs, otherwise try the options provided at the bottom of this link.

Seizure Prediction Review Articles and published EEG-derived seizure prediction features

Mormann F, Andrzejak RG, Elger CE, Lehnertz K (2007). Seizure prediction: the long and winding road. Brain 130: 314–333.

Most cited review in the field. Introduces the problem and has a great appendix that summarises the equations of many of the EEG-derived features considered in seizure prediction.

Gadhoumi, K., Lina, J. M., Mormann, F., & Gotman, J. (2016). Seizure prediction for therapeutic devices: A review. Journal of neuroscience methods, 260, 270-282.

A review of the most reliable studies on seizure prediction between 2007 and 2015.

Kuhlmann, L., Grayden, D. B., Wendling, F., & Schiff, S. J. (2015). Role of multiple-scale modeling of epilepsy in seizure forecasting. Journal of clinical neurophysiology, 32(3), 220-226.

Explores the new area of seizure prediction based on computational models of the brain.

The paper on the world first clinical trial that created the contest data

Cook MJ, O’Brien TJ, Berkovic SF, Murphy M, Morokoff A, Fabinyi G, D’Souza W, Yerra R, Archer J, Litewka L, Hosking S, Lightfoot P, Ruedebusch V, Sheffield WD, Snyder D, Leyde K, Himes D (2013) Prediction of seizure likelihood with a long-term, implanted seizure advisory system in patients with drug-resistant epilepsy: a first-in-man study. LANCET NEUROL 12:563-571.

The Previous Kaggle Seizure Prediction competition

Brinkmann, B. H., Wagenaar, J., Abbot, D., Adkins, P., Bosshard, S. C., Chen, M., … & Pardo, J. (2016). Crowdsourcing reproducible seizure forecasting in human and canine epilepsy. Brain, 139(6), 1713-1722.

You might also find the Kaggle blog on a review of the previous seizure prediction contest full of ideas for algorithm approaches.

Standard EEG analysis approaches

Thakor, N. V., & Tong, S. (2004). Advances in quantitative electroencephalogram analysis methods. Annu. Rev. Biomed. Eng., 6, 453-495.

Summarizes many linear and nonlinear time series analysis techniques from FFTs and wavelets through to mutual information. A good potential resource for basic EEG analysis and EEG-derived features.

Stam, Cornelis J. “Nonlinear dynamical analysis of EEG and MEG: review of an emerging field.” Clinical Neurophysiology 116, no. 10 (2005): 2266-2301.

Reviews EEG-derived nonlinear features.

See videos of talks from the 7th International Workshop on Seizure Prediction (www.iwsp7.org). Including a video on the outcome of the previous Kaggle seizure prediction contest that describes some of the winning algorithms that were applied to long-term dog and short-term human data, and a video introducing the problem of seizure prediction and standard approaches.

Free temporary MATLAB license and MATLAB starter code

MathWorks the creator of MATLAB is offering a free temporary license to use MATLAB and many of its signal processing and machine learning related toolboxes for the purposes of the current seizure prediction contest. It is also offering starter solutions that you can use and adapt for the contest. Find out more about free MATLAB and the starter code.

EPILAB: A non-proprietary MATLAB-based toolbox for seizure prediction

EPILAB is free. You should be able to extract MATLAB .m file scripts/functions for various EEG-derived seizure prediction features from the download.

How to read the contest data

Although MATLAB is not needed to analyse the contest data, the data are stored in MATLAB’s .mat file format as described on the contest data page. If you have MATLAB then reading in the contest data is easy. The contest forum also has some tips on reading in the data if you use R or if you use Python (option 1, option 2, option 3).

Other resources

Check out the forum for the current contest.

Seizure Prediction Kaggle Competition Forums

Ignore all of the above and jump right in!

Melbourne University AES-MathWorks-NIH Seizure Prediction Contest

section-divider

Bio

levin
Levin Kuhlmann is a senior research engineer in the Department of Electrical and Electronic Engineering at the University of Melbourne and the Brain and Psychological Sciences Research Centre at Swinburne University of Technology. His research focuses on signal processing, control theory and computational neuroscience applications to neural engineering, neuroimaging, anaesthesia, epilepsy and vision. He is interested in how the brain processes information at multiple-scales, from neuron to whole brain, and utilizing such an understanding to engineer improved diagnostics, interventions and therapies for brain-related medicine.

Read the whole story
ssorc
171 days ago
reply
Melbourne, Australia
Share this story
Delete

Writing libraries is terrible

1 Share

My talk, Writing Libraries is Terrible, is now available online.

You can see the video on youtube, and the slides here.

Transcription

So, yeah. I’m here to tell you about writing libraries and why it’s terrible. And I’ve been basically working full time on a library for about the last year and a half, so I’ve got to experience all of this first hand.

Some caveats: I’m talking about my specific experience, so I’m talking about writing open source libraries. Closed source, proprietary, libraries, do exist. I have no experience with this at the moment, and my impression is that using those is terrible, so this is what the other end looks like.

I’m also talking specifically about my experience writing a Python library. I think very little of what I have to say is actually about Python, or Python specific, but that does colour the experiences. Different languages and different communities do respond differently.

Now, despite the title, I actually really like writing libraries. You get to focus on a very constrained problem, you get to do a lot of interesting things in the course of doing them. There’s really a lot to recommend writing libraries, and the process of writing them is enlightening and enjoyable.

But then people start using them, and that’s where things start to go a bit wrong.

This was originally going to be a talk full of technical war stories, and I’m really glad it no longer is because Jim completely topped any technical war stories I can give you, but I am going to start by just mentioning the single biggest technical problem that gives me a headache as a library author, which is that I currently support three operating systems officially and really dropping any one of these is completely non-optional [ed. I of course mean “supporting” rather than dropping], and on top of that I have to support a really large number of versions of python, and even with the ones I support people complain about the ones I don’t support. So apparently it’s really annoying that I don’t support Python 2.6 despite the fact that Python 2.6 has been end of lifed for a large number of years.

And in general, everyone’s computer is different, and as an application developer you have to deal with this and it turns out that as a library developer you have to deal with this more, because you don’t just have to worry about what’s on their computer you have to worry about the specific versions of different things. If you’re writing an application you can ship a language runtime with it and not really care which version they already have, there all sorts of advantages. I don’t get any of those.

OK, that’s all I want to say on the technical side of things, because it turns out that none of these are actually the really bad thing about writing libraries. The really bad thing about writing libraries is money.

Because, culturally we’ve just moved to this idea that of course libraries are things we get for free. Like I said, open source libraries are great to use, so of course everyone is using open source libraries. And you do get paid for open source projects, like a lot of the big ones in particularly are very well paid these days. Most people who work on Linux are paid to do so. But a lot of the open source ecosystem isn’t this sort of large open source project, it’s these single serving libraries that do one specific thing and people just install them, they don’t even really think about paying for them.

And what they pay for them instead is complaining. Like I said, people complain at me for not supporting Python 2.6, and I get some really entitled comments about it, basically just like “I’m a giant bank building legacy software in Python 2.6, making lots of money, why aren’t you supporting this thing for my for profit business for free?”, and this isn’t much fun to be on the receiving end of obviously, and it turns out to be quite hard to pay your bills with other peoples’ whining.

But actually none of this is the worst about not getting any money to work on these. Because it turns out that as well as sort of being intrinsically useful, being paid for your work gives you lots of advantages that not being paid for your advantages doesn’t have. One of the biggest, I think, under appreciated advantages of making money is that it gives you an amazingly good decision heuristic. Whenever you come to a choice, and you’ve got a choice where you’ve crossed off all the other directions – you’re ethically OK with both options, both options seem like good ideas, so on and so forth… which one of them is going to make you more money? Do I support this obscure version of Python? Well, am I going to make more money than it costs me in effort to support this version of Python? And in the course of design there are a million choices you can make in all these, and basically with open source, and with this sort of library, all that really guides your choice is do I feel like doing it and will I feel bad about not supporting this. And this turns out, if you’re like me, to be a great way of creating an amazingly large amount of work for yourself, and it’s really not obvious which of the work is important and which of the work is not important.

The other great thing about money is that you can hire people. And you do get contributions as an open source library. My project, Hypothesis, I have absolutely got contributions from people, and it’s great, but this is the amount of Hypothesis I’ve done [ed. I’m holding out my arms wide here] and this amount of Hypothesis literally everyone else has done [ed. My hands are close together now]. And I don’t hold that against them. Why should they? I’m not paying them, and basically everything they do for Hypothesis is a gift, and so I’m very grateful to those gifts, but at the same time, it’s still just me doing most of this work.

And what that means is that I have to be a lot of people. If you think about your normal software projects, you don’t just have developers, you certainly don’t just have one developer. That would be ridiculous, why would you do that? I mean, you’ve got not redundancy there, right? But you’ve also got project managers, you’ve got customer supports, you’ve got sales, you’ve got marketing, you’ve got technical writing, you’ve QA… I have to be all of those people. And… in some ways this is a good thing. I’ve really enjoyed learning a lot of these, and the best way to get a lot of appreciation for your colleagues is to try and do their jobs and discover that all the things that you thought were really easy and you thought your colleagues were kindof idiots and were just making a big deal of it… it turns out that actually people have specialised skills and some of those specialised skills are really hard. I’ve been doing a lot of attempts at marketing recently [ed. This slightly overstates the case. I’m talking mostly about hypothesis.works and some behind the scenes stuff, but I’ve been reading more] and it turns out that maybe those marketers did actually know something. This is not an opinion I would have had a year ago. But at the same time, this is really bad, because I’m not good at marketing and I’m doing the marketing for this project. I’m OK at writing, well I think I’m good at writing but I’m not good at technical writing. Documentation it turns out is an entire new skill on top of both technical understanding and writing. So I’m having to learn all of these because I don’t really have another way to do it, and I certainly can’t afford to pay anyone else to do it.

And this is all a massive problem and this isn’t going to change, because from the point of view of the people using our work, what we are basically doing is giving them money. We’re leaving this giant pile of cash on the ground and they’re just coming along and picking up because someone’s just left this giant pile of cash and obviously that means it’s free for use, right? If someone tells you that there’s this thing that is better than thing you were going to pay for and you can get it for free then of course you’re going to take it.

And this very short term thinking. As we saw in the lightning talk about CentOS yesterday, this will bite you, but by the time it’s bitten you we’ve already done all the work and it’s probably too late. So regardless of what a bad decision this may or may not be on the company’s side, this doesn’t actually help me. And this isn’t just about me obviously, this is about everyone else who also finds themselves in this position. But… in particular this is about me. And so this doesn’t help me.

And there’s really only one way this can change, which is my side and our side. At some point we’re going to have to start withdrawing our labour. If the problem is that people are taking our work and using it for free and this is really bad for us, maybe we could just… stop giving our work away for free? Is that a valid plan? It seems like a valid plan. Every time I try and explain my situation to my family they look at me like I’m crazy and ask me why I’m giving away stuff for free.

And I feel sad about this. I really like sharing my work. I’m not writing open source software because I want to make lots of money. My judgement isn’t quite that bad. I’m writing open source software because I want people to use it, and I want so share these ideas, and I really enjoy doing it.

So what I’m really hoping is that there’s some compromise we can do here. And… software licensing is a large part of this. I don’t know what part the GPL necessarily has to play in any eventual solution, but I do know that the MIT and BSD style solutions have nothing to play in this solution. They can go to hell as far as I’m concerned. And I think there’s more scope for improving the situation with licensing. And I don’t know what yet that’s going to be. I am talking to people to find out what it’s going to be. Because ultimately we do need to give people a better way to pay us, and we do need to still have ways of giving things away for free, and I don’t know where the middle ground is.

But… despite my very adversarial framing of this as us vs them, I don’t think us vs them is the solution either. Because as well as sharing, I also like making money, and I’m perfectly happy for other people to make money, and I think working together is the only way we can move forward. We have to start this, but we can’t finish this alone.

And ultimately as well as being better for us open source developers, I think it’s also going to be better for companies. Because when you think about it, 90% of the code you’re running in production has this label on it, and that’s probably a bad idea.

Thank you very much. Any questions?

[ed. I was stupid and forgot to repeat questions and we didn’t have individual microphones. I’m guessing at what people asked me based on interpretation, memory and my responses]

Question: “You must have had a plan for making money off open source software. What was it?”

Answer: I had various plans. Right now I’m mostly doing services and training. I’m going to be starting offering proprietary extensions which try and make it easy to use the core libraries for everyone, but when you start to have problems that you only really have if you’re a large company who is doing serious deployments of these things then you need to start paying me money. And there are a variety of other plans, I’m happy to talk about that at greater length afterwards. But the short answer is that it’s really hard and no-one seems to have a very successful plan yet. The best plan seems to be to do a really bad job of writing the library and then to get people to pay you to help them figure it out, and I’m not a big fan of that one either.

Question: (I have no idea what was said. I think this was mostly a question about bounty source and similar bounty programs?)

Answer: So for about the last six months a lot of the issues and feature requests on my github tracker have had the tag “for a modest fee” on them. Literally no-one has ever approached me about this. I do have a bounty source account which I need to make more obvious but I currently money from donations on that and zero money on issues. This works very well for some people but there’s this general pattern where applications with lots of consumer usage do quite well on these bounty programs more than things with companies using them. For example I know that neovim seems to be doing very well out of bounytsource right now, and I think it’s again a thing where large open source applications work much better for this than these sorts of small libraries. That is probably part of a viable future but I don’t what part it is and it hasn’t been working for me so far.

Question: Do you feel you should be paying for Python and the standard library.

Answer: Well right now I’m not a successful commercial user of it. I kinda do though, yeah. I think certainly in terms of donating to the Python software foundation that’s something I will probably do once my revenue stream starts to look slightly less pitiful and I actually start paying myself again [ed. I am now paying myself again! Or at least, I am starting doing pay roll for myself and that will at some point actually make it into my bank account], but it’s hard. There’s this huge ecosystem of open source and I don’t know yet where the money for it should come from, but I do feel that a lot more of it should come from the people who are making literally billions of dollars running off it than necessarily the individual developers who are building on top of it. But yes, it’s complex, I don’t know the answer.

Question: (Something about developers not general being buyers in a company)

Answer: Not really. I call this the “take me to your leader” problem, which is that basically the only solution I can figure out is that you need to get developers to introduce you to their managers, but that runs into the developers are not marketers problem because basically you’re trying to turn developers into your marketers and we’re not very good at that.

Question: (I have no idea)

Answer: I think there does need to be better charitable organisations but I think I’m not necessarily the person to come up with the ideas around that or to try that.

Question: Have you approached the Python Software Foundation for funding? (Something more to it than that but I’m not sure what)

Answer: The Python Software Foundation have very specific policies which is that you can apply to them for funding to work on a specific isolated chunk of work, so if there were a feature I wanted to add to Hypothesis that I wanted funding for I could potentially apply to the PSF for it, but for the general problem of ongoing Hypothesis development that’s not the sort of thing that they fund, and so I’ve largely not looked into it past that point. But for certain things that’s absolutely a thing you should think about doing. And also there are within specific areas there are other funding bodies, so for example for Django there’s the Django foundation who can do this, there’s NumFOCUS who tend to focus on scientific Python, and a bunch of relatetd things. So sometimes that works, but it tends to be more solutions to specific problem than the general larger problem.

Question: (I think about the idea of my writing a book)

Answer: Yes I’m going to look into that, because I’ve already a huge number of articles and so I figure I can turn those articles into a book. But that’s more marketing than it is going to be necessarily a useful income stream. I’m expecting that to make some money, and this is the sort of solution that only works once you’ve put in all this work and done all this free work, so again I think writing books is… it’s a great partial solution to this problem but it doesn’t actually solve the problem. And maybe with all the partial solutions available if you do literally all of them it starts to add up to a whole solution, but right now I’m not convinced it does.

Question: Is open source possible the wrong answer to this? Or is just a marketing strategy?

Answer: I don’t know if open source is the wrong answer. I think that closed source is definitely the wrong answer, and I think that finding some hybrid between the two, but as we saw in Jim’s talk earlier and in plenty of others, there’s a reason why open source is so popular and it’s not just that stuff is being given away for free. Your life tends to get very bad if you build your things on a foundation of other peoples’ closed source products. And this sort of free sharing of ideas really does have a lot of benefits, so I don’t want to throw the baby out with the bathwater. I really like open source and want it to succeed, and that’s why I’m trying to find a compromise. In terms of the question of whether it’s marketing or not, marketing is definitely a component but I think we need more than just marketing. I think no matter how well you market your open source project that’s not going to make you any money unless you also have a path to making money from it. Which is what I’m trying to figure out.

Question: Something about using the open source product as the marketing for something.

Answer: That is the open source core, or something like that, and I think that’s a viable solution, but you do then end up with… in that case you’re sort of asking “how much of the benefits of open source do you want to get?” and I would like something where you could get both the benefits of open source and the benefits of commercial work. I would also like a pony.

Read the whole story
ssorc
284 days ago
reply
Melbourne, Australia
Share this story
Delete

Rowing champion Ginn set for 24 hour cycling record

1 Share
This Friday the Brunswick Velodrome in Melbourne will play host to a feat of endurance as Drew Ginn, one of the most decorated Australian Olympic rowers in history, will attempt to break the 24-hour world record for the furthest distance ridden on an outdoor track.
Read the whole story
ssorc
545 days ago
reply
Melbourne, Australia
Share this story
Delete
Next Page of Stories