Drake Sage Group

This page documents activities of the Drake University Sage group. We regularly meet on Fridays, 11:30-12:20, in Howard 111 (at Drake University, Des Moines, Iowa, USA)

Our initial work is on a single-cell compute server, which basically is a webpage that can execute an arbitrary block of Sage code.

For more information, please contact Jason Grout at jason#[email protected] (replace the # with a .)

Getting Started


Single Cell Server

Here are some project ideas for simple-db-compute, along with some hopefully helpful pointers to resources.

Parts that are done

These projects are done. They may still be able to be improved, though.

Interact Snippet Website

Goal: Design an online library of interacts and other snippets of Sage code. This library should allow:

We could use Mercurial or git to manage the snippets, but that might become pretty unwieldy for just single files (for example, how would we store the repositories on disk? How would locking work?). We could also just do records in a database (one record for each version of a snippet; locking is easier, but having multi-file snippets becomes more unwieldy). Mercurial seems like it would be more efficient space-wise for the sorts of things that we want to do, and there is a nice python api for interacting with mercurial.

More Details

We use Mercurial (because it has a stable and complete python API) and maintain one repository per fork. The database has this info for each repository:

  1. Which object it was forked from
  2. Which user owns the object
  3. tags for the object
  4. Comments on the repository (comments should contain the version number the comment was made on)
  5. Where on disk the repository is located

The repositories are stored in a directory structure that looks like:

where the ## are the first two characters of a hash generated from the user name and the repository fork name. The XXXXXX are the remaining 38 characters of the hash.

Regular Meetings

03 Feb 2010

Meet in Howard Hall 308 at 2pm (room reserved from 1:30-3, so come early if you want).

11 Feb 2011

18 Feb 2011

25 Feb 2011

04 Mar 2011

Group Code Sprints

Tue, 01 Mar 2011 (2pm, Howard 235)

print "hi"
print "bye"

and the "hi" and "bye" appear in separate "pre" html blocks.

Mon, 07 Mar 2011 (3:30pm, Howard 235)

Tue, 08 Mar 2011 (2pm, Howard 235)


  1. Install pyzmq: easy_install pyzmq

  2. Clone the ipython repository. Install IPython: python setup.py develop. Make sure that the new ipython works: ipython-qtconsole

  3. Install tornado: easy_install tornado

  4. Check out the html branch: git checkout origin/htmlnotebook

  5. Run python IPython/frontend/html/notebook/ipythonhttp.py

DrakeSageGroup (last edited 2011-04-28 12:00:59 by jason)