Differences between revisions 38 and 90 (spanning 52 versions)
Revision 38 as of 2017-05-15 10:23:01
Size: 6375
Editor: jpflori
Comment:
Revision 90 as of 2017-07-21 20:38:26
Size: 9381
Editor: roed
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
'''Organizers''':
 * Jennifer Balakrishnan (Boston University)
 * Xavier Caruso (Université de Rennes 1)
 * Edgar Costa (Dartmouth College)
 * Taylor Dupuy (University of Vermont)
 * David Roe (University of Pittsburgh)
 * William Stein (University of Washington)
 * Christelle Vincent (University of Vermont)
<<TableOfContents>>
Line 16: Line 9:
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 aimed at graduate students.
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|To prepare for the workshop]] below.

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

'''Monday, July 17'''
 * 9:45: Welcome, announcements
 * 10:00: David Roe, Introduction to p-adics in Sage
 * 11:00: John Jones, Introduction to the LMFDB
 * 2:00: Daily general meeting
 * following: Mckenzie West, Get oriented with Sage, University Heights North 119

'''Tuesday, July 18'''
 * 10:00: William Stein, [[https://k8s.sagemath.org/app#projects/da1818ed-996d-4de6-acc6-361415b7725d/files/Talks/william/state-of-sage.ipynb|State of Sage]]
 * 10:20: William Stein, The modular forms code in Sage
 * 11:00: Daily general meeting

'''Wednesday, July 19'''
 * 10:00: Tristan Vaccon: Characteristic polynomials of p-adic matrices
 * 11:00: Daily general meeting

'''Thursday, July 20'''
 * 10:00: Ben Hutz: Dynamical systems in Sage
 * 11:00: Daily general meeting

'''Friday, July 21'''
 * 10:00: Marc Masdeu: Distributing Sage/Python code the right way
 * 11:00: Daily general meeting

'''Saturday, July 22'''
 * 11:00: Daily general meeting, wrap up

=== Location map ===

Here is a [[https://www.uvm.edu/~cvincen1/images/locationmap.pdf|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.

Our rooms are
 * University Heights South 133
 * University Heights North 119
 * University Heights North 016
 * Living and Learning Building B B132
 * Living and Learning Commons 302

We have power strips, blank paper, paper easels and markers available in the common room.
Line 23: Line 60:
Please add "sd87" as a keyword to any tickets you are working in during this week so they show up in this list: [[https://trac.sagemath.org/query?keywords=~sd87&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=status|sd87 Tickets]]
Line 25: Line 64:
If you have applied for funding, you should have heard from us.
If you would like to attend and don't need any funding, please fill out this form: [[https://goo.gl/forms/hWMcMsxVJGTyUnqn1|this form]].
 
See our [[/participants|list of participants]].
Line 29: Line 66:
 * Samuele Anni (Universität Heidelberg)
 * Asra Ali (Google)
 * Vishal Arul (MIT)
 * David Ayotte (Laval University)
 * Angelica Babei (Dartmouth College)
 * Alexander Best (Boston University)
 * Jonathan Bober (University of Bristol)
 * Adele Bourgeois (University of Ottawa)
 * Benjamin Breen (Dartmouth College)
 * Sara Chari (Dartmouth College)
 * Kwangho Choiy (Southern Illinois University)
 * Rachel Davis (University of Wisconsin, Madison)
 * Alyson Deines (Center for Communications Research)
 * Melissa Emory (University of Missouri)
 * Xander Faber (Center for Computing Sciences)
 * Jean-Pierre Flori (Agence nationale de la sécurité des systèmes d'information)
 * Paul Gunnells* (University of Massachusetts, Amherst)
 * Rob Harron (University of Hawaii)
 * Wade Hindes (The Graduate Center at CUNY)
 * Benjamin Hutz (Saint Louis University)
 * Deven Lahoti (MIT)
 * Samuel Lelièvre (Université Paris-Sud)
 * Spencer Leslie (Boston College)
 * Freda Li (Wesleyan University)
 * David Lowry-Duda (Brown University)
 * Kevin Lui (University of Washington)
 * Jetjaroen Klangwang (Oregon State University)
 * Ricky Magner (Boston University)
 * Michael Musty (Dartmouth College)
 * John Jones (Arizona State University)
 * Aurel Page (University of Warwick)
 * !GaYee Park (University of Massachusetts, Amherst)
 * Sebastian Pauli (University of North Carolina, Greensboro)
 * David Roberts (University of Minnesota, Morris)
 * Julian Rueth (Free Software Foundation Europe)
 * Adriana Salerno (Bates College)
 * Sam Schiavone (Dartmouth College)
 * Ander Steele (University of California, Santa Cruz)
 * Claire Tomesch (National Security Agency)
 * Nicholas Triantafillou (MIT)
 * Tristan Vaccon (Université de Limoges)
 * John Voight* (Dartmouth College)
 * Mckenzie West (Reed College)
 * Gerardo Zelaya (University of Washington)
== Lodging and Travel ==
Line 74: Line 68:
* This participant has indicated that they might be coming. If you still need the info on lodging and travel arrangements, [[/travel|look here]]. Check out is Sunday July 23 at 11am, and the front desk's number is 802-656-5550.
Line 76: Line 70:
== Lodging == You can use [[https://docs.google.com/spreadsheets/d/1vwwQd-Ig3nZRY-e2jihL72g6hnH0KUfXAoaOeXkccks/edit?usp=sharing|this google doc]] to share taxi rides.
Line 78: Line 72:
We anticipate that most participants will stay in [[https://www.uvm.edu/~arch/?Page=projects/learningcomplex.html&SM=pastprojectsmenu.html|these dorms]], which have air conditioned rooms, private bathrooms and common spaces for work and socializing in the evenings. They have gotten good reviews from previous conferences, but 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). Similarly, if we're not funding your lodging but you want to stay in the dorms, this may be possible: please contact an organizer as soon as possible. == Reimbursements ==
Line 80: Line 74:
== Travel == 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.
Line 82: Line 76:
'''If you are a US citizen or permanent resident, please book flights on a US carrier.''' If you are not a US citizen or permanent resident, this restriction does not apply to you (since we're funding you from a different grant). Note that the [[http://mcofamericas.org/latest-news/mathematical-congress-americas-2017|Mathematical Congress of the Americas]] is the week after Sage Days 87; if you're interested in attending you may want to plan your travel accordingly. == Internet on campus ==
Line 84: Line 78:
There are two main ways to get to Burlington. The University of Vermont offers [[https://www.eduroam.us/|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.
Line 86: Line 80:
 1. Fly into BTV.
 1. Fly to Montreal (YUL), Manchester (MHT) or Boston (BOS) and take [[https://www.greyhound.com/|Greyhound]] to Burlington.
  * Buses depart from Montreal Berri station at 8:15, 10:45, 16:15 and 23:30 and take about 2:45 to get to Burlington (though this can vary due to US customs). The city bus (747) from the airport takes 45 minutes to go directly to the Greyhound station and runs every 30 minutes. Note that the city bus requires a day pass, which costs $10 and can be purchased inside the terminal.
  * Buses depart from Manchester Airport direct to Burlington -- 0:55-4:00, 11:35-15:20 and 15:05-19:55.
  * Buses depart Boston South Station, running 7:00-11:55, 10:30-15:20, 14:00-19:55, 23:20-4:00. The city bus (Silver line) from the airport takes 15 minutes to go directly to the Greyhound station and runs every 12 minutes. The silver line from the airport is free.
== The k8s server ==
Line 92: Line 82:
There may also be carpools traveling from these Boston, Montreal and Hanover, NH. If you're interested in a carpool feel free to edit this wiki page. 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.
Line 94: Line 84:
=== Carpool === === Creating an Account ===
Line 96: Line 86:
 * Montreal -> Vermont: You should create an account [[https://k8s.sagemath.org/settings|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 [[https://k8s.sagemath.org|k8s.sagemath.org]].
Line 98: Line 88:
    * Marc M.: my flight arrives too late for the afternoon bus. Would be interested in carpooling after 5pm on Sunday (7/16) or early morning on Monday (7/17).
    * JP Flori: Same situation for me (landing from Paris (France) at 3:00pm). I was thinking of taking the 11pm bus, arriving at Burlington (airport... we could share a taxi from there) around 2am. It should be possible to check in at that time according to David. It might be easier to take the monday morning 8:15am bus, arriving at Burlington (transit center, downtown!) before 11am.
=== Git ===
Line 101: Line 90:
 * Vermont -> Montreal: 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 `setup_user`. This will ask you some questions (name, e-mail, trac account info) and create a terminal for you (`~/Terms/$TRAC_USERNAME.term`). It will also create an ssh key specific to you that you should upload to [[https://trac.sagemath.org/prefs/sshkeys|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.
Line 103: Line 92:
    * Marc M.: Greyhound tickets appear to be sold out on Saturday (7/22). I'd like to get to Montreal airport before 7pm (I have a flight at 8.50pm).
    * JP Flori: I plan to take the 12:10pm bus (to montreal main bus station) which still seem available, like any other bus on that day.
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.
Line 106: Line 94:
== Local Dining Options == === SSH ===
Line 108: Line 96:
We will add more details as the workshop approaches, but for now check out the [[https://drive.google.com/open?id=1A2B4-EmWB1cUQat364SzVJV9aD4&usp=sharing|map]] Christelle made! Once you add the public key ''from your laptop'' (generated by `ssh-keygen` and then copied from `~/.ssh/id_rsa.pub` 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}}}

At the beginning of your key in `~/.ssh/authorized_keys` you should add `command=".init_user roed" ` for example. You can look at the other keys there for examples.

=== Sage installations ===

You can create a new Sage installation within a couple minutes as follows (replace BLAH with the name of your installation, e.g. your trac username):

{{{
cd ~/Src/
./new_sage BLAH
}}}

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.

=== Building and Large output ===

Avoid sending huge amounts of output in a terminal, as this slows the whole project down for everybody (proper output truncation isn’t sufficiently implemented).

Instead, please do
{{{
./sage -b > output 2>&1
}}}
rather than just sending a large amount of output to your terminal. You can check on output by typing
{{{
tail output
}}}

Alternatively, if you know tmux, do control+b, then c to make a new session, and leave the large-output session in a different session. You can switch back and forth with control+b then n.

If you've set up your terminal as described above, then
{{{
make build
}}}
in your sage folder will do the redirection for you, as well as automatically use many threads (so that the build goes much faster).


=== Jupyter notebooks ===

[edited by William Stein]

Our custom Sages ARE available from Jupyter notebooks. Just make a copy of /projects/da1818ed-996d-4de6-acc6-361415b7725d/.local/share/jupyter/kernels/sageroed (next to it) and edit kernel.json to point to your install. See https://github.com/sagemathinc/cocalc/issues/2201

=== Tmux ===

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 ==

Check out the [[https://drive.google.com/open?id=1A2B4-EmWB1cUQat364SzVJV9aD4&usp=sharing|map]] Christelle made! Some people will be getting takeout for dinner.

== To prepare for the workshop ==

On the first day of the workshop, [[http://people.reed.edu/~westm/|Mckenzie West]] will lead some activities to help novices get oriented with Sage. Stay tuned for more details. Before the workshop, we recommend [[http://www.sagemath.org/|downloading and installing]] the latest version of the source code of Sage, opening a [[https://trac.sagemath.org/|Sage trac]] account and completing the [[https://www.codecademy.com/|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: https://github.com/LMFDB/lmfdb/blob/master/GettingStarted.md

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:
{{{
[db]
port = 27017
host = readonly.lmfdb.xyz
}}}
 then you can run the LMFDB as usual by doing:
{{{
 sage -python start-lmfdb.py --debug
}}}

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

Location: University of Vermont, in Burlington, VT.

Schedule

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

  • 9:45: Welcome, announcements
  • 10:00: David Roe, Introduction to p-adics in Sage
  • 11:00: John Jones, Introduction to the LMFDB
  • 2:00: Daily general meeting
  • following: Mckenzie West, Get oriented with Sage, University Heights North 119

Tuesday, July 18

  • 10:00: William Stein, State of Sage

  • 10:20: William Stein, The modular forms code in Sage
  • 11:00: Daily general meeting

Wednesday, July 19

  • 10:00: Tristan Vaccon: Characteristic polynomials of p-adic matrices
  • 11:00: Daily general meeting

Thursday, July 20

  • 10:00: Ben Hutz: Dynamical systems in Sage
  • 11:00: Daily general meeting

Friday, July 21

  • 10:00: Marc Masdeu: Distributing Sage/Python code the right way
  • 11:00: Daily general meeting

Saturday, July 22

  • 11:00: Daily general meeting, wrap up

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.

Our rooms are

  • University Heights South 133
  • University Heights North 119
  • University Heights North 016
  • Living and Learning Building B B132
  • Living and Learning Commons 302

We have power strips, blank paper, paper easels and markers available in the common room.

Projects

Feel free to add suggestions to our list of projects

Please add "sd87" as a keyword to any tickets you are working in during this week so they show up in this list: sd87 Tickets

Participants

See our list of participants.

Lodging and Travel

If you still need the info on lodging and travel arrangements, look here. Check out is Sunday July 23 at 11am, and the front desk's number is 802-656-5550.

You can use this google doc to share taxi rides.

Reimbursements

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 k8s.sagemath.org.

Git

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 setup_user. This will ask you some questions (name, e-mail, trac account info) and create a terminal for you (~/Terms/$TRAC_USERNAME.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.

SSH

Once you add the public key from your laptop (generated by ssh-keygen and then copied from ~/.ssh/id_rsa.pub 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

At the beginning of your key in ~/.ssh/authorized_keys you should add command=".init_user roed"  for example. You can look at the other keys there for examples.

Sage installations

You can create a new Sage installation within a couple minutes as follows (replace BLAH with the name of your installation, e.g. your trac username):

cd ~/Src/
./new_sage BLAH

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.

Building and Large output

Avoid sending huge amounts of output in a terminal, as this slows the whole project down for everybody (proper output truncation isn’t sufficiently implemented).

Instead, please do

./sage -b > output 2>&1

rather than just sending a large amount of output to your terminal. You can check on output by typing

tail output

Alternatively, if you know tmux, do control+b, then c to make a new session, and leave the large-output session in a different session. You can switch back and forth with control+b then n.

If you've set up your terminal as described above, then

make build

in your sage folder will do the redirection for you, as well as automatically use many threads (so that the build goes much faster).

Jupyter notebooks

[edited by William Stein]

Our custom Sages ARE available from Jupyter notebooks. Just make a copy of /projects/da1818ed-996d-4de6-acc6-361415b7725d/.local/share/jupyter/kernels/sageroed (next to it) and edit kernel.json to point to your install. See https://github.com/sagemathinc/cocalc/issues/2201

Tmux

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

Check out the map Christelle made! Some people will be getting takeout for dinner.

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: https://github.com/LMFDB/lmfdb/blob/master/GettingStarted.md

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:

[db]
port = 27017
host = readonly.lmfdb.xyz 
  • then you can run the LMFDB as usual by doing:

 sage -python start-lmfdb.py --debug

days87 (last edited 2017-07-21 20:38:26 by roed)