Resurrection of codenode

0 views
Skip to first unread message

Bartosz

unread,
Jul 7, 2010, 5:10:11 PM7/7/10
to codenode-devel
Dear all,

I followed with much interest the recent discussion on the
resurrection of code node and I very much support it. Codenode has
already an excellent code base and it would be great to develop it
into fully blown python notebook.

I don't have much experience with Sage notebook, but I think that it
breaks more than it brings to core Python programmer. What I am
looking for is a notebook format which would also produce usable
python scripts which can be used outside the notebook and without
introduction of additional dependences.

Secondly, codenode is the first notebook which supports matplotlib
transparently, so that the old code does not have to be modified
(other than importing codenode-specific show function). I think that
together with the recent HTML5 canvas backend, this could be even
extended to fully interactive plots.

Thus said, I tried running the git version of codenode and I came
across several problems. They include: incompatibility wit CSRF
introduced in recent django, broken matplotlib support and revision
system.

I have worked on the two first issues and manged to get codenode to
work. If you are interested, I am willing to commit my changes to the
repository or send you patches.

Let me know, what you think.

Yours,

Bartosz

Dorian Raymer

unread,
Jul 7, 2010, 6:06:18 PM7/7/10
to codenod...@googlegroups.com

Hi Bartosz,
I saw this issue with CSRF recently too. It would be great to see your changes. The most convenient way to share your work is to create your own fork of codenode on github, commit your fixes there, and then ping us with a pull request.

It's really awesome to hear your recognition and enthusiasm of the projects potential. I fully agree and am very hopeful that the recent dormancy is not permanent.

The few ideas you listed on portable notebook formats and interactive plotting are right on with our own personal visions. I totally support and appreciate any effort you start and am willing to advise on ideas/design (and help with implementation when I have time) and I'm also open to hearing any feedback on the overall design, if and when you look deep into the code.

Thanks!
-Dorian

 
Let me know, what you think.

Yours,

Bartosz

James Casbon

unread,
Jul 8, 2010, 5:09:41 AM7/8/10
to codenod...@googlegroups.com
On 7 July 2010 22:10, Bartosz <bartosz....@gmail.com> wrote:

> I have worked on the two first issues and manged to get codenode to
> work. If you are interested, I am willing to commit my changes to the
> repository or send you patches.

Please do this! As Dorian says, create a github fork and send a pull request.

thanks for your efforts,
James

James Casbon

unread,
Jul 8, 2010, 8:54:02 AM7/8/10
to codenod...@googlegroups.com
On 8 July 2010 13:46, Bartosz Telenczuk <bartosz....@gmail.com> wrote:
> Done. I sent the pull request. If you are not on the list, the url of my fork is: g...@github.com:btel/codenode.git
>
> The commit includes only basic repairs to make codenode work with recent django (1.2.1) and matplotlib (1.0.0). There are many other remaining issues, for example renaming of the notebooks and and notebook export are not working. Is there any system to file bug reports? If not, should we start one?
>

Great, thanks will take a look at your patch.

There is an issue tracker on github: http://github.com/codenode/codenode/issues
I'm not going to pretend I like githubs issue tracker though! At the
very least it needs to be able to copy this list with new issues.

James

James Casbon

unread,
Jul 9, 2010, 6:34:08 PM7/9/10
to codenod...@googlegroups.com
Bartosz,

On 7 July 2010 22:10, Bartosz <bartosz....@gmail.com> wrote:

> I have worked on the two first issues and manged to get codenode to
> work. If you are interested, I am willing to commit my changes to the
> repository or send you patches.

I reviewed your patch and committed it to the master:
http://github.com/codenode/codenode
Thanks, and welcome to the team!

> Secondly, codenode is the first notebook which supports matplotlib
> transparently, so that the old code does not have to be modified
> (other than importing codenode-specific show function). I think that
> together with the recent HTML5 canvas backend, this could be even
> extended to fully interactive plots.

I am keen to look at this, since R has a canvas backend as well. I
think it is achievable. At the moment, the interpreter returns a json
result:

{ 'cellstyle': ...,
'out': ...,
'err': ..,
'cellid': ...}

There are two cellstyles that matter outputtext, which is displayed as
text, and outputimage, which contains an image url. The actual
engine prints __outputimage__...data..__outputimage__. We can easily
extend the celltypes on the serverside to include __outputcanvas__,
where 'out' then contains the javascript to be evaled in the browser.
However, it is not clear to me how it can the safely evaled and set up
with the correct canvas to draw on. Need a javascript expert here.

Thanks,
James

Alex Clemesha

unread,
Jul 11, 2010, 6:33:00 PM7/11/10
to codenod...@googlegroups.com
On Fri, Jul 9, 2010 at 3:34 PM, James Casbon <cas...@gmail.com> wrote:
Bartosz,

On 7 July 2010 22:10, Bartosz <bartosz....@gmail.com> wrote:
> I have worked on the two first issues and manged to get codenode to
> work. If you are interested, I am willing to commit my changes to the
> repository or send you patches.

I reviewed your patch and committed it to the master:
Thanks, and welcome to the team!

Yes, thanks and welcome to the team Bartosz!

Also, a big thanks to James for doing the review and commit!!


-Alex




 

> Secondly, codenode is the first notebook which supports matplotlib
> transparently, so that the old code does not have to be modified
> (other than importing codenode-specific show function). I think that
> together with the recent HTML5 canvas backend, this could be even
> extended to fully interactive plots.

I am keen to look at this, since R has a canvas backend as well.  I
think it is achievable.  At the moment, the interpreter returns a json
result:

{ 'cellstyle': ...,
 'out': ...,
 'err': ..,
 'cellid': ...}

There are two cellstyles that matter outputtext, which is displayed as
text, and outputimage, which contains an image url.   The actual
engine prints __outputimage__...data..__outputimage__.  We can easily
extend the celltypes on the serverside to include __outputcanvas__,
where 'out' then contains the javascript to be evaled in the browser.
However, it is not clear to me how it can the safely evaled and set up
with the correct canvas to draw on.  Need a javascript expert here.

Thanks,
James



--
Alex Clemesha
clemesha.org

Bartosz Telenczuk

unread,
Jul 12, 2010, 4:14:46 AM7/12/10
to codenod...@googlegroups.com
Dear James,

> I reviewed your patch and committed it to the master:
> http://github.com/codenode/codenode
> Thanks, and welcome to the team!

Thanks for the work. It is great to see codenode work again! I am very happy to be a part of the team.

> I am keen to look at this, since R has a canvas backend as well. I
> think it is achievable. At the moment, the interpreter returns a json
> result:
>
> { 'cellstyle': ...,
> 'out': ...,
> 'err': ..,
> 'cellid': ...}
>
> There are two cellstyles that matter outputtext, which is displayed as
> text, and outputimage, which contains an image url. The actual
> engine prints __outputimage__...data..__outputimage__. We can easily
> extend the celltypes on the serverside to include __outputcanvas__,
> where 'out' then contains the javascript to be evaled in the browser.
> However, it is not clear to me how it can the safely evaled and set up
> with the correct canvas to draw on. Need a javascript expert here.

Canvas backend would be a very nice feature and I would love to help to implement it, but it seems that the issue is quite complicated. Before I do any work, I need a better grip of the code and javascript programming.

Cheers,

Bartek

Reply all
Reply to author
Forward
0 new messages