Live data from Hacker News

Seaborn: a high-level Python interface for drawing statistical graphics

github.com

11–17 of 17 posts

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#11
Seaborn is my favorite statistical plotting package in Python. I wrote an astro plotting package that digs deep into the Matplotlib internals and it was not easy. Big props to the developer behind Seaborn and the great aesthetics he imbued it with.

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#12
post #6

While we're talking about stats and Python could I convince someone here to implement a fast medcouple for statsmodels? I can't do it myself because I read R's GPL'ed code in order to understand the algorithm. Using my understanding, I wrote the following high-level description of it: https://en.wikipedia.org/wiki/Medcouple This should be taken as the design spec of a clean-room reverse engineering, so that we can ha…

Are you really suggesting that it's not possible for you write an independent implementation of an algorithm from the version you once read? Is this sort of "clean room" approach typical? It strikes me as absurdly cautious.

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#13
post #8

Earlier quoted context omitted.

Also matplotlib recently added stylesheets http://matplotlib.org/users/style_sheets.html which gets you ~75% of the way there to ggplot style plots. I've found a number of edge cases where the plots don't turn out right when using the ggplot sheet. BUT the important part is you can set your own default plotting style with a single line of code and keep everything nice and pythonic (well kind of pythonic since you're…

There is also http://ggplot.yhathq.com/ which is buggy for complex graphs but rapidly getting better - indispensable for me.

Is this still being developed? The last commit on github was 6 months ago.

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#14
post #12
post #6

While we're talking about stats and Python could I convince someone here to implement a fast medcouple for statsmodels? I can't do it myself because I read R's GPL'ed code in order to understand the algorithm. Using my understanding, I wrote the following high-level description of it: https://en.wikipedia.org/wiki/Medcouple This should be taken as the design spec of a clean-room reverse engineering, so that we can ha…

Are you really suggesting that it's not possible for you write an independent implementation of an algorithm from the version you once read? Is this sort of "clean room" approach typical? It strikes me as absurdly cautious.

Interesting dilemma. I had assumed that re-writing in another language basically meant you were copyright free (as long as you're not literally transcribing or automatically translating), but it appears it's not that simple: http://imranontech.com/2006/12/04/are-algorithms-copyrightab...

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#15
post #12
post #6

While we're talking about stats and Python could I convince someone here to implement a fast medcouple for statsmodels? I can't do it myself because I read R's GPL'ed code in order to understand the algorithm. Using my understanding, I wrote the following high-level description of it: https://en.wikipedia.org/wiki/Medcouple This should be taken as the design spec of a clean-room reverse engineering, so that we can ha…

Are you really suggesting that it's not possible for you write an independent implementation of an algorithm from the version you once read? Is this sort of "clean room" approach typical? It strikes me as absurdly cautious.

It is what is known to be legally safe. We do it all the time in GNU Octave, and we always tell people to not read Matlab source code when implementing Octave functions.

Besides, I just don't feel like it's fair to the R copyright authors. They worked hard to produce an implementation and they copylefted it, and I heavily relied on their implementation in order to reimplement it myself.

According to the United States Copyright Office[1], the algorithm itself can't be copyrighted, so that's why I wrote a high-level description of the algorithm.

----

[1] "Copyright protection is not available for ideas, program logic, algorithms, systems, methods, concepts, or layouts."

http://www.copyright.gov/circs/circ61.pdf

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#16
post #15
post #12

Earlier quoted context omitted.

Are you really suggesting that it's not possible for you write an independent implementation of an algorithm from the version you once read? Is this sort of "clean room" approach typical? It strikes me as absurdly cautious.

It is what is known to be legally safe. We do it all the time in GNU Octave, and we always tell people to not read Matlab source code when implementing Octave functions. Besides, I just don't feel like it's fair to the R copyright authors. They worked hard to produce an implementation and they copylefted it, and I heavily relied on their implementation in order to reimplement it myself. According to the United States…

I agree -- you shouldn't read sources you don't want to treat as derivative while you're writing an independent implementation. So yes, the code you've already written is GPL.

But suppose you decide to reimplement the algorithm now, months later (based only on the notes you wrote on Wikipedia). I'm not a lawyer, but I would say that's almost certainly independent, unless you have extraordinary memory.

Re: Seaborn: a high-level Python interface for drawing statistical graphics

#17
post #16
post #15

Earlier quoted context omitted.

It is what is known to be legally safe. We do it all the time in GNU Octave, and we always tell people to not read Matlab source code when implementing Octave functions. Besides, I just don't feel like it's fair to the R copyright authors. They worked hard to produce an implementation and they copylefted it, and I heavily relied on their implementation in order to reimplement it myself. According to the United States…

I agree -- you shouldn't read sources you don't want to treat as derivative while you're writing an independent implementation. So yes, the code you've already written is GPL. But suppose you decide to reimplement the algorithm now, months later (based only on the notes you wrote on Wikipedia). I'm not a lawyer, but I would say that's almost certainly independent, unless you have extraordinary memory.

I don't know. Maybe. I don't know how a judge and a jury would interpret that situation. They might agree with you or they might not. The only safe jurisprudence I know of is clean-room design, and it's what the SFLC documents I have received recommend.
Post reply on HN