Sage Days 87: p-adics in Sage and the LMFDB (July 17-22, 2017)

Location: University of Vermont, in Burlington, VT.


Activities will begin the morning of Monday, July 17 and end around in the early afternoon on Saturday, July 22. The workshop will be primarily project-focused, though there will be a few talks.

On the first day Mckenzie West will lead some activities to help novices get oriented with Sage. If you are a novice and would like more information as well as ways to prepare, please scroll down to To prepare for the workshop below.

All events below take place in University Heights South room 133, except as noted.

Monday, July 17

Tuesday, July 18

Wednesday, July 19

Thursday, July 20

Friday, July 21

Saturday, July 22

Location map

Here is a campus map with University Heights circled in green. The check in location for the dorms is also indicated by an arrow. Check in is in University Heights North, but all of our dorm rooms as well as the main room in which we will be meeting (University Heights South 133) are in University Heights South.


Feel free to add suggestions to our list of projects


See our list of participants. If you would like to attend and don't need any funding, please fill out this form: this form.


We anticipate that most participants will stay in these dorms, which have air conditioned rooms, private bathrooms and common spaces for work and socializing in the evenings. Participants who are not funded by the conference may stay in the dorms and will pay for the total price of their accommodation by check. Please contact an organizer for more details.

If you prefer to stay in a hotel and we're funding your lodging, please contact the organizers (we can allocate your lodging amount toward a hotel with enough advance notice). Options include the Hilton Garden Inn Burlington and the Sheraton Burlington Hotel. The Sheraton is not downtown but it is closer to the location of the conference.


If you still need suggestions on travel arrangements, look here.



Instructions for reimbursements will be given on the first day of the conference. If you are not a US citizen or green card holder, please bring your passport and any visa paperwork you have (I-94, visa stamps, etc.) so that we can make scans while you are here.

Internet on campus

The University of Vermont offers eduroam on campus. To access the network at UVM, please take a few minutes to set up your laptop before traveling, while you are on your home university campus. If you do not have eduroam, please contact Christelle Vincent to receive a guest log in for UVM's network.

The k8s server

William has kindly provided a server for us to use during the workshop, with 48 CPUs and 256 GB of RAM. It is running CoCalc, so you can access it from your browser.

Creating an Account

You should create an account here. You will need a secret token, which has been e-mailed to participants (ask someone if you can't find it). Once you have an account, someone will have to add you to the Sage Days 87 project; anyone who is already part of the project can do so from the project settings page. At that point, you will be able to access the server at


If you will be doing Sage development, you need to set up a terminal that knows who you are (since we're all using the same user when we log in from the browser). This way we will be able to share Sage installations on the server. To set this up, open up a terminal (~/Terms/Admin.term exists for this purpose) and run the script ~/Terms/ This will ask you some questions (name, e-mail, trac account info) and create a terminal for you (~/Terms/$TRAC_USERNAME_git.term). It will also create an ssh key specific to you that you should upload to trac. If you're ever interacting with git, you should use this terminal (or the ssh method described below). In particular, please don't set the git configuration on any of the Sage installations.

Note that by default, it will store your trac password in plain text in a file on the server. If you don't want it to, just answer "No" to the "store trac password" question, and you'll be asked for it at the beginning of each ssh session.


Once you add the public key from your laptop (generated by ssh-keygen and then copied from ~/.ssh/ for example) to ~/.ssh/authorized_keys in the browser, you will be able to SSH into the project using the following command.

ssh [email protected] -p 2222 -t .roed

where roed should be replaced by your trac username (if you haven't run, you can just leave off the -t .roed altogether).

Sage installations

You can create a new Sage installation within a couple minutes as follows:

cd ~/Src/
tar xf sage-8.0.rc1.tar
mv SageMath sage-BLAH
cd sage-BLAH
git remote add trac git://
git remote set-url --push trac [email protected]:sage.git

Note that the renaming is very important so that other people can extract from the tarball. Now sage-BLAH is available for you to work on a ticket. If you think you'll be doing a lot of development, feel free to create your own installation (labeled with your trac username); if you're less experienced you might share one as part of a group.

Jupyter notebooks

[edited by William Stein]

Our custom Sages ARE available from Jupyter notebooks. Just make a copy of ~/.local/share/jupyter/kernels/sageroed (next to it) and edit kernel.json to point to your install. See


The current CoCalc terminal implementation has some bugs with resizing inserting strange control characters. The fix is to type tmux after you've opened and logged into your personal terminal, or to just use SSH.

Local dining options

We will add more details as the workshop approaches, but for now check out the map Christelle made!

To prepare for the workshop

On the first day of the workshop, Mckenzie West will lead some activities to help novices get oriented with Sage. Stay tuned for more details. Before the workshop, we recommend downloading and installing the latest version of the source code of Sage, opening a Sage trac account and completing the Code Academy modules on Python and Git.

If you have never done any LMFDB development work and might want to start -- a workshop is by far the best place to get started. A starting point is have a recent installation of Sage on your own laptop, on top of which you can run the LMFDB website software with a little setting up. Here is how to do it:

For this workshop, we have dedicated server for readonly purposes that simplifies some of the steps. If you add to your LMFDB directory a file called mongoclient.config with the following content:

port = 27017
host = 

 sage -python --debug