Re: [sage-devel] sagenotebook vs codenode

13 views
Skip to first unread message

Timothy Clemans

unread,
Jun 20, 2010, 1:28:36 PM6/20/10
to sage-...@googlegroups.com, codenod...@googlegroups.com
On Sun, Jun 20, 2010 at 5:04 AM, Ralf Hemmecke <hemm...@gmail.com> wrote:
> What is the relation between sagenotebook and codenode.org?

My understanding is that Codenode was supposed to be a generalized
Sage Notebook. The project is inactive. It does not support interacts
and can not be used within Sage like Sage Notebook.

>
> Ralf
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>

Alex Clemesha

unread,
Jun 20, 2010, 8:36:55 PM6/20/10
to sage-...@googlegroups.com, codenod...@googlegroups.com
.

OK, but that doesn't fully answer my question. From appearance they look
similar. Do they have the same codebase? Was sagenotebook developed from
codenode or vice versa?

They have different code bases.  I was one of the original creators of the Sage Notebook (which came first)
and I'm one of the original creators of Codenode.  Codenode's codebase is more modular, and
"much cleaner" IMHO - with the right amount of continued work on it, it could prove
to be an awesome project - the "core structure" of it is very good.

But *real people* actually use and get work done with the Sage Notebook, and at the end of
the day that is what really matters.  There are more people interested in the Sage project itself,
thus the Sage Notebook gets more attention.



Why does Alex say in
http://groups.google.com/group/codenode-devel/browse_thread/thread/9541cfc34db09a61

 "My recommendation is to focus on the Sage notebook right now,
  it is the most usable."

? It obviously means that the sage notebook is more powerful. But what
are the better features? Why cannot they easily be ported to codenode?

Could someone also comment on another passage from the above thread:

 "The aim of Codenode is to make a "generalized notebook" that could
  be used by all these projects, but in practice it turns out that
  is an *extremely* large amount of work."

What exactly is this large amount of work?

They are so many parts to creating a full-fledged "Online Programming Notebook".
Here are the main 3 parts, each one is a significant challenge:

 1) Content Management System (Users, Notebooks, folders, tagging, search, managed, upload data)
 2) Notebook (Rich Editors, Cells, Worksheets, sharing, multi-user-editing, plots, Interact, etc)
 3) Kernel (Let anonymous people run arbitrary code!!)

especially one that aims to be run on small scale (easily installable locally) and run large
scale like with sagenb.org (which is throwing "502 Proxy Error" right now - I told you it was hard! :-)



-Alex




 
There is certainly some part
of sage that works on the input that comes from the notebook. But
shouldn't all that count as "backend" for the notebook?


Ralf

--
To post to this group, send an email to sage-...@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org



--
Alex Clemesha
clemesha.org

Ralf Hemmecke

unread,
Jun 20, 2010, 7:40:06 PM6/20/10
to sage-...@googlegroups.com, codenod...@googlegroups.com
>> What is the relation between sagenotebook and codenode.org?

> My understanding is that Codenode was supposed to be a generalized
> Sage Notebook.

OK, but that doesn't fully answer my question. From appearance they look


similar. Do they have the same codebase? Was sagenotebook developed from
codenode or vice versa?

> The project is inactive.

:-(

> It does not support interacts

Can you explain what you mean by "interacts"?

> and can not be used within Sage like Sage Notebook.

??? I thought the sagenotebook is an interface to sage (unfortunately
needs quite some part of sage to run). From what you say it sounds as if
Sage is used to program the notebook. True? Shouldn't there be a clean API?

"My recommendation is to focus on the Sage notebook right now,
it is the most usable."

? It obviously means that the sage notebook is more powerful. But what
are the better features? Why cannot they easily be ported to codenode?

Could someone also comment on another passage from the above thread:

"The aim of Codenode is to make a "generalized notebook" that could
be used by all these projects, but in practice it turns out that
is an *extremely* large amount of work."

What exactly is this large amount of work? There is certainly some part

Ralf Hemmecke

unread,
Jun 21, 2010, 3:27:18 AM6/21/10
to codenod...@googlegroups.com
> OK, but that doesn't fully answer my question. From appearance they
> look similar. Do they have the same codebase? Was sagenotebook
> developed from codenode or vice versa?
>
> They have different code bases. I was one of the original creators
> of the Sage Notebook (which came first) and I'm one of the original
> creators of Codenode. Codenode's codebase is more modular, and "much
> cleaner" IMHO - with the right amount of continued work on it, it
> could prove to be an awesome project - the "core structure" of it is
> very good.

OK. It somehow looks as if I could give it a try. Is codenode supposed
to work?

I've said git clone git://github.com/codenode/codenode.git. What comes
next to make it run and read documentation?

>sphinx-build doc docbuild
Making output directory...
Running Sphinx v0.6.4

Exception occurred:
File "/home/hemmecke/scratch/cn/doc/conf.py", line 4, in <module>
import codenode
ImportError: No module named codenode
The full traceback has been saved in
/tmp/hemmecke/sphinx-err-5GFhHr.log, if you want to report the issue to
the developers.
Please also report this if it was a user error, so that a better error
message can be provided next time.
Either send bugs to the mailing list at
<http://groups.google.com/group/sphinx-dev/>,
or report them in the tracker at
<http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!

I know there is easy_install codenode, but that doesn't seem to work for me.

D=/home/hemmecke/scratch/codenode
mkdir -p $D
cd $D
hg clone http://bitbucket.org/ianb/virtualenv
cd virtualenv
python virtualenv.py $D
export PATH=$D/bin:$PATH
easy_install codenode
cd $D
$D/bin/codenode-admin init -name mycodenode
cd mycodenode
$D/bin/codenode-admin run

Now if I go to localhost:8000 and login with the admin account, I get an
error:


Forbidden (403)

CSRF verification failed. Request aborted.

Help

Reason given for failure:

CSRF cookie not set.

Is there some hint of how I should continue?

> Could someone also comment on another passage from the above thread:
>
> "The aim of Codenode is to make a "generalized notebook" that could
> be used by all these projects, but in practice it turns out that is
> an *extremely* large amount of work."
>
> What exactly is this large amount of work?

> They are so many parts to creating a full-fledged "Online
> Programming Notebook". Here are the main 3 parts, each one is a
> significant challenge:
>
> 1) Content Management System (Users, Notebooks, folders, tagging,
> search, managed, upload data)
> 2) Notebook (Rich Editors, Cells, Worksheets, sharing,
> multi-user-editing, plots, Interact, etc)
> 3) Kernel (Let anonymous people run arbitrary code!!)

Since I couldn't yet run codenode I don't really know what would be
missing for me. In the end I just want a better standalone interface to
FriCAS.

Is there an easy tutorial of what I would have to do to connect FriCAS
(or just /bin/sh if that is easiser) to codenode?

Features in (2) would be good (wouldn't that be easy to port from the
sage notebook?), but in fact, currently I would be content with just
running the notebook as a single user at localhost:8000.

Best regards
Ralf

William Stein

unread,
Jun 21, 2010, 3:37:05 AM6/21/10
to codenod...@googlegroups.com, sage-notebook

You can use the Sage notebook separately from Sage.
It includes most of its dependencies. E.g., Ondrej Certik
ships the Sage Notebook with his FEMhub stuff, which
has none of Sage. I don't think the Sage notebook has
much more in dependencies than codenode.

William

--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

Alex Clemesha

unread,
Jun 21, 2010, 3:37:42 AM6/21/10
to codenod...@googlegroups.com
On Mon, Jun 21, 2010 at 12:27 AM, Ralf Hemmecke <hemm...@gmail.com> wrote:
> OK, but that doesn't fully answer my question. From appearance they
> look similar. Do they have the same codebase? Was sagenotebook
> developed from codenode or vice versa?
>
> They have different code bases.  I was one of the original creators
> of the Sage Notebook (which came first) and I'm one of the original
> creators of Codenode.  Codenode's codebase is more modular, and "much
> cleaner" IMHO - with the right amount of continued work on it, it
> could prove to be an awesome project - the "core structure" of it is
> very good.

OK. It somehow looks as if I could give it a try. Is codenode supposed
to work?

It is in a broken state.  You could absolutely rescue it from this
state, but it might take a little effort.  If you want to resurrect the project
from it's currently dead state, I absolutely support you. 

If you are inclined, start hacking away! This is my best advice as of now.


Thanks very much for your interest.
-Alex




 



--
Alex Clemesha
clemesha.org

Ralf Hemmecke

unread,
Jun 21, 2010, 4:09:29 AM6/21/10
to codenod...@googlegroups.com
> If you want to resurrect the project from it's currently dead state,
> I absolutely support you.

That means what?

> If you are inclined, start hacking away! This is my best advice as of
> now.

I'd be very grateful, if you could first help me to get a running system.
Overview documentation seems to be a bit better than for the sage
notebook, but I think I cannot do anything without knowing how to get
from the .git repo to a running system.

Thanks in advance
Ralf

Alex Clemesha

unread,
Jun 21, 2010, 4:18:25 AM6/21/10
to codenod...@googlegroups.com
On Mon, Jun 21, 2010 at 1:09 AM, Ralf Hemmecke <hemm...@gmail.com> wrote:
> If you want to resurrect the project from it's currently dead state,
> I absolutely support you.

That means what?

I support you in spirit.  If you really feel like bringing Codenode
back to life, and you put in some real effort (many commits of code
that brings the project back into a very usable state), then I most likely
will jump on board, but until that time you are on your own.

I only say this to save you time.  Especially if you are looking for a quick
solution to immediate problems.  If you have long-term goals,
I believe the core of Codenode is better than the Sage Notebook,
but as I've said before, in the short term, the Sage Notebook is better right now.


-Alex




 

> If you are inclined, start hacking away! This is my best advice as of
> now.

I'd be very grateful, if you could first help me to get a running system.
Overview documentation seems to be a bit better than for the sage
notebook, but I think I cannot do anything without knowing how to get
from the .git repo to a running system.

Thanks in advance
Ralf




--
Alex Clemesha
clemesha.org

Pavel Solin

unread,
Jun 21, 2010, 6:08:37 AM6/21/10
to codenod...@googlegroups.com, femhub
Hi Ralf and Alex,
  my group took the Codenode notebook a few months ago as we
really liked the concepts. It became a basis for a new FEMhub
Online Lab which is based on ExtJS and will make it possible to
run both Codenode and Sage worksheets in it. The initial version
is almost ready, we would like to show it at the ESCO 2010 conference
in Pilsen that starts in one week http://hpfem.org/events/esco-2010/.
This is a scientific computing conference with a special track on
Python. If you have a chance, you can still jump on the plane and
join us (registration fees waived).

The relevant git repos for FEMhub and the FEMhub Online Lab are
here:

http://git.hpfem.org/femhub.git
http://git.hpfem.org/femhub-lab.git

As Alex is saying, the amount of work that still needs to be done is
enormous, but so could be the impact of the project if we can find
enough good people to join us. 
 
Best,

Pavel
Pavel Solin
University of Nevada, Reno
http://hpfem.math.unr.edu/people/pavel/
Hermes project: http://hpfem.org/
FEMhub project: http://femhub.org/

Ralf Hemmecke

unread,
Jun 21, 2010, 1:06:13 PM6/21/10
to codenod...@googlegroups.com
Pavel,

> my group took the Codenode notebook a few months ago as we
> really liked the concepts. It became a basis for a new FEMhub
> Online Lab which is based on ExtJS and will make it possible to
> run both Codenode and Sage worksheets in it.

As far as I understood, femhub-lab now also contains some code that
connects to femhub/sage. I haven't yet digged deep, but codenode looks
relatively clean. So I would rather prefer to keep the codenode code
separate from the backends. Don't you agree?

What did you change in the codenode.org code? Shouldn't the patches that
only concern the interface code flow back to
http://github.com/codenode/codenode ? Could you easily extract that?

From a design point of view, it would be wonderful, if there were 3
projects.

1) codenode with a clear frontend/backend api
2) the femhub backend
3) the sage backend
4) other backends...

So Sage/FEMhub would just be using codenode as a package.
Why did you decide against that design? Or didn't you? (Sorry, I am at
the stage of getting the picture.)

All I want is a nice web interface, that sends the input string from the
cell to a (registered) process and get's corresponding output.
For something like http://wiki.sagemath.org/interact, there would have
to be a proper API for the backend as well.
The notebook code should not contain anything that is related to the
potential packends (except APIs, of course).

Ralf

Reply all
Reply to author
Forward
0 new messages