Differences between revisions 59 and 90 (spanning 31 versions)
Revision 59 as of 2017-07-07 18:12:38
Size: 11825
Editor: christelle
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 17: Line 10:
The workshop will be primarily project-focused, though there will be a few talks aimed at graduate students. The workshop will be primarily project-focused, though there will be a few talks.
Line 20: Line 13:

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 25: 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 27: 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 31: Line 66:
 * Samuele Anni (Universität Heidelberg)
 * Asra Ali (Google)
 * Vishal Arul (MIT)
 * Mark Auden (University of Rochester)
 * David Ayotte (Laval University)
 * Angelica Babei (Dartmouth College)
 * Alexander Best (Boston University)
 * Jonathan Bober (University of Bristol)
 * Adele Bourgeois (University of Ottawa)
 * Simon Brandhorst (Universität Hannover)
 * 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)
 * Xander Faber (Center for Computing Sciences)
 * Jean-Pierre Flori (Agence nationale de la sécurité des systèmes d'information)
 * 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)
 * Freda Li (Wesleyan University)
 * David Lowry-Duda (Brown University)
 * Kevin Lui (University of Washington)
 * Ricky Magner (Boston University)
 * Marc Masdeu (University of Warwick)
 * Michael Musty (Dartmouth College)
 * John Jones (Arizona State University)
 * Salomé Oudet (Lycée Alfred Kastler, France)
 * !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)
 * Malcolm Rupert (University of Idaho)
 * Adriana Salerno (Bates College)
 * Jonathan Sands (University of Vermont)
 * Sam Schiavone (Dartmouth College)
 * Brian Sinclair (National Security Agency)
 * Ander Steele (University of California, Santa Cruz)
 * Claire Tomesch (National Security Agency)
 * Gonzalo Tornaria (Universidad de la República, Uruguay)
 * Nicholas Triantafillou (MIT)
 * Tristan Vaccon (Université de Limoges)
 * Mckenzie West (Reed College)
 * Gerardo Zelaya (University of Washington)
== Lodging and Travel ==
Line 78: Line 68:
== Lodging == 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 80: Line 70:
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. 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.
 * Check in is Sunday July 16 at 4pm and check out is Sunday July 23 at 11am; if you arrive outside of normal business hours, please go to University Heights North front desk and call (802) 656-5550. The employee on duty will come and help you check in. Participants may check in and out anytime between the times posted.
 * Each dorms room will contain a bed, a dresser, a wardrobe, a desk, a desk chair, a trash can and a recycling bin as well as the following linens: two flat sheets, one blanket, one pillow, one pillowcase, two towels, one washcloth, one plastic cup and one bar of soap. The room will not have an alarm clock or a desk lamp. If you tend to run cold at night, you might want to bring a second blanket.
 * The rooms have ethernet jacks but no cables; if you would like to use a wired internet connection please bring your own ethernet cable.
 * Refrigerators will be available for participants in a common room. If you require a refrigerator in your room, please let an organizer know; this can be arranged with enough notice.
 * Parking permits will be provided free of charge to dorm residents. If you require a parking permit, please let an organizer know. Please watch for a parking map to be posted closer to the start of the workshop.
 * We will pay the cost of the dorm room directly for all funded participants.

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). We did negotiate a special rate at the [[http://hiltongardeninn3.hilton.com/en/hotels/vermont/hilton-garden-inn-burlington-downtown-BTVDWGI/index.html|Hilton Garden Inn Burlington]] of \$164 per night plus tax (approximately \$183 per night) for a room with either one king-sized bed or two queen-sized beds. To benefit from the conference rate, you must reserve by June 16 and use our [[http://hiltongardeninn.hilton.com/en/gi/groups/personalized/B/BTVDWGI-SAGE17-20170716/index.jhtml?WT.mc_id=POG|dedicated registration link]]. Another option is the [[http://www.sheratonburlington.com/|Sheraton Burlington Hotel]] which should be possible to get at a similar price. The Sheraton is not downtown but it is closer to the location of the conference.

== Travel ==

'''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. If you do combine your travel, you must obtain, at the time you book your travel, a quote for the cost of your travel round-trip to Burlington. You will only be reimbursed the minimum of this quote and your actual travel costs.

There are three main ways to get to Burlington.

 1. Fly into BTV. The cost of a cab ride from the airport to the dorms is approximately \$10 (less using Uber) and to downtown approximately \$20.
 1. Fly to Montreal (YUL), Manchester (MHT) or Boston (BOS) and take [[https://www.greyhound.com/|Greyhound]] to Burlington (or [[https://us.megabus.com/|Megabus]] from Boston).
  * 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.
 2. By private car. There is free parking on campus for participants staying at the dorms. If you would like to carpool, please edit the page below.

There may also be carpools traveling from Boston, Montreal and Hanover, NH. If you're interested in a carpool feel free to edit this wiki page.

=== Carpool ===

 * Montreal -> Vermont:

    * Gonzalo Tornaría: my flight lands on sunday at 14:15 (AA from Miami), not sure I can make it to the 16:15 bus (probably not). Are there no services between 16:15 and 23:30?
    * 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. (Note from Christelle: The transit center downtown is 1.5 miles (2.5km) from University Heights and the airport is 2.5 miles (4km) from University Heights. Depending how much luggage you have, you might need a cab from either location.)

 * Vermont -> Montreal:

    * 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). (Update: they appear as sold out on greyhound.ca, but they are available at greyhound.com --go figure!--).
    * 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.
    * Gonzalo Tornaría: I'm going to Montreal on saturday, staying there for the MCA.
You can use [[https://docs.google.com/spreadsheets/d/1vwwQd-Ig3nZRY-e2jihL72g6hnH0KUfXAoaOeXkccks/edit?usp=sharing|this google doc]] to share taxi rides.
Line 127: Line 80:
== 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 [[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]].

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

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

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)