Differences between revisions 45 and 67 (spanning 22 versions)
Revision 45 as of 2018-06-29 09:23:50
Size: 6534
Editor: pelegm
Comment:
Revision 67 as of 2023-08-30 23:10:30
Size: 8270
Editor: tmonteil
Comment: update link to report
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The Sage days 94 will take place in Zaragoza (Spain),
from June
28th to July 4th, 2018, as a satellite activity
of the meeting of the Spanish computer algebra network.

It will be a series of short courses on subjects related to Sage development.
It is mostly oriented to young researchers that want to m
ake the step from
writing some code for their own use,
to contributing that code to the Sage codebase.
Sage days 94 took place in Zaragoza (Spain), from Thursday
28 June 2018 to Wednesday 04 July 2018, as a satellite activity
of the 16th meeting of the Spanish computer algebra network
([[https://eventos
.unizar.es/15634|XVI EACA]]).

They featured
a series of short courses on subjects related to Sage
development. The main target audience was young researchers who want
to t
ake the step from writing code for their own use to contributing
their
code to the Sage codebase.
Line 13: Line 15:
Use [[https://annuel.framapad.org/p/sagedays94|this pad]].

== Subjects to cover (provisional) ==

 * The Sage development workflow (Trac, Git, doctests...)
 * The coercion model
 * Implementation of parents and elements
 * The category framework
 * Cython
 * Using external C/C++ libraries
 * Communication with external packages using pexpect

Besides mini-courses on those subjects, there might be some space for short talks
contributed by the participants (they can be quite informal). Please contact the
organizers if you are interested in giving such a talk.

For the moment, the proposed talks include

 * Rebecca Miller - "Applying and Participating in Google Summer of Code"
 * Pablo Angulo - "Pytorch, a machine learning framework, and Pyro, a universal probabilistic programming language on top of Pytorch" (subtitle: do they fit in Sage?).
 * Vit Tucek: - " how Sage is helping me with my research"
 * Sebastian Oehms - "Cubic braid groups"
 * Peleg Michaeli - "Symbolic discrete random variables"
 * Thierry Monteil - "the various representations of real and complex numbers"




This Sage Days will be a satellite activity of the
[[https://eventos.unizar.es/15634/detail/xvi-eaca-encuentro-de-algebra-computacional-y-aplicaciones.html|XVI EACA encounter]].

== Speakers (provisional) ==

 * Samuel Lelièvre
 * Travis Scrimshaw
 * Jeroen Demeyer
 * Thierry Monteil

== Program (tentative) ==

==== Thursday 28th: ====

 * 10:00-11:00 Registration
 * 11:00-12:00 The Sage development workflow (Samuel)
 * 12:00-13:00 Basics of git (init/add/commit/status/ - Samuel and Thierry)
 * 13:30-15:00 Lunch break
 * 15:00-16h30 Basics of git (clone/remote/push/pull/branch/checkout - Samuel and Thierry)
 * 16h30-17:30 Trac bureaucracy (account/ssh-keygen/git-trac/develop - Samuel and Thierry)
 * 15:00-16:00 Contributed talks
 * 16:00-16:30 Coffee break
 * 16:30-18:30 Coding sprints

==== Friday 29th: ====

 * 09:00 - 11:00 Category (Travis Scrimshaw [[https://drive.google.com/open?id=1TDd6Ph2RG2WBOA09z8hR0x-v62TOWsJb|ipynb]])
 * 11:00 - 11:30 Coffee break
 * 11:30 - 13:00 Category/Parents/Coercion
 * 13:00 - 15:00 Lunch break
 * 15:00 - 16:00 The Sage development workflow (practice)
 * 16:00 - 16:30 Coffee break
 * 16:30 - 17:00 Contributed talk: Symbolic discrete random variables (Peleg)
 * 17:00 - 19:00 Coding sprints

==== Saturday 30th: ====

 * 10:00 - 11:30 The category framework in Sage (practice)
 * 11:30 - 12:00 Coffee break
 * 12:00 - 13:30 The coercion model (practice)

==== Sunday 1st: ====

 * Excursion

==== Monday 2nd: ====

 * 09:00 - 11:00 Category/Parents/Coercion
 * 11:00 - 11:30 Coffee break
 * 11:30 - 13:00 Cython
 * 13:00 - 15:00 Lunch break
 * 15:00 - 16:00 Parents and elements (practice)
 * 16:00 - 16:30 Coffee break
 * 16:30 - 17:00 Contributed talks
 * 17:00 - 19:00 coding sprints

==== Tuesday 3th: ====

 * 09:00 - 11:00 Third-party components
 * 11:00 - 11:30 Coffee break
 * 11:30 - 13:00 Third party components (practice)
 * 13:00 - 15:00 Lunch break
 * 15:00 - 16:00 Contributed talks
 * 16:00 - 16:30 Coffee break
 * 16:30 - 18:30 Coding sprints

==== Wednsday 4th: ====

 * 09:00 - 10:00 Final report and wrapup
 * 10:30 - EACA talks
We used [[https://annuel.framapad.org/p/sagedays94|this pad]]
to take notes during the workshop.

For tickets worked on during Sage days 94, we used the keyword "days94":

  * [[https://trac.sagemath.org/query?keywords=~days94&group=status&col=id&col=summary&col=status&order=priority|days94 tickets by status]]
  * [[https://trac.sagemath.org/query?order=id&desc=1&keywords=~days94|days94 tickets by ticket number]]

== Mini-course speakers and contributed talks ==

Topics to cover

  * The Sage development workflow (Trac, Git, doctests...)
  * The coercion model
  * Parents and elements, and their implementation
  * The category framework
  * Cython
  * Using external C/C++ libraries
  * Communication with external packages using pexpect

Mini-course speakers

  * Samuel Lelièvre
  * Travis Scrimshaw
  * Jeroen Demeyer
  * Thierry Monteil

Besides mini-courses on those subjects, there was some space for short talks
contributed by the participants (which could be quite informal); interested
participants could just contact the organizers to offer such a talk.

Proposed talks included:

  * Rebecca Miller: Applying and Participating in Google Summer of Code
  * Pablo Angulo: !PyTorch, a machine learning framework, and Pyro,
  a universal probabilistic programming language on top of !PyTorch
  (subtitle: do they fit in Sage?)
  * Vít Tuček: How Sage is helping me with my research
  * Sebastian Oehms: Cubic braid groups
  * Peleg Michaeli: Symbolic discrete random variables
  * Thierry Monteil: The various representations of real and complex numbers
  * Mckenzie West: Solving the S-unit equation in Sage

== Program ==

==== Thursday 28 June 2018 ====

  * 10:00-11:00 Registration
  * 11:00-12:00 '''The Sage development workflow''' (Samuel)
  * 12:00-13:00 '''Basics of git''': init, add, commit, status (Samuel, Thierry)
  * 13:30-15:00 Lunch break
  * 15:00-16:30 '''Basics of git''': clone, remote, push, pull, branch,
  checkout (Samuel, Thierry)
  * 16:30-17:30 Trac bureaucracy (account, ssh-keygen, git-trac, develop
  (Samuel, Thierry)
  * 15:00-16:00 Coding sprint
  * 16:00-16:30 Coffee break
  * 16:30-18:30 Coding sprint

==== Friday 29 June 2018 ====

  * 09:00 - 11:00 '''Categories''' (Travis) -
  [[https://drive.google.com/open?id=1TDd6Ph2RG2WBOA09z8hR0x-v62TOWsJb|ipynb]],
  [[attachment:categories_Zaragoza_Days94.ipynb]]
  * 11:00 - 11:30 Coffee break
  * 11:30 - 13:00 '''Parents, elements, coercion, for the user''' (Thierry) -
  [[https://tmpsage.metelu.net/days94/parent_element_coercion_user.ipynb|ipynb]]
  * 13:00 - 15:00 Lunch break
  * 15:00 - 16:00 '''The Sage development workflow''' (practice)
  * 16:00 - 16:30 Coffee break
  * 16:30 - 17:00 Peleg Michaeli: Symbolic discrete random variables
  * 17:00 - 19:00 Coding sprints

==== Saturday 30 June 2018 ====

  * 10:00 - 11:30 '''The category framework in Sage''' (practice)
  * 11:30 - 12:00 Coffee break
  * 12:00 - 13:30 '''The coercion model''' (practice)

==== Sunday 01 July 2018 ====

  * Excursion

==== Monday 02 July 2018 ====

  * 09:00 - 11:00 '''Categories, parents, coercion''' (Travis) -
  [[attachment:parent_examples_travis.sage|Example parent .sage file]]
  * 11:00 - 11:30 Coffee break
  * 11:30 - 13:00 '''Cython''' (Jeroen) -
  [[http://sage.ugent.be/www/jdemeyer/Cython.ipynb|ipynb]]
  * 13:00 - 15:00 Lunch break
  * 15:00 - 16:00 '''Parents and elements''' (practice)
  * 16:00 - 16:30 Coffee break
  * 16:30 - 17:00 Vít Tuček: How Sage is helping me with my research - [[attachment:tucek.pdf]]
  * 17:00 - 19:00 Coding sprint

==== Tuesday 03 July 2018 ====

  * 09:00 - 11:00 '''Third-party components'''
  * 11:00 - 11:30 Coffee break
  * 11:30 - 13:00 Sebastian Oehms: Cubic braid groups - [[https://cocalc.com/share/a3c9835337b41b0c1c7808ac5d793f5dbbef7064/CubicBraidGroup/?viewer=share|shared folder on CoCalc]]
  * 13:00 - 15:00 Lunch break
  * 15:00 - 15:30 Rebecca Miller: Applying and Participating in Google Summer of Code - [[http://lifebynumber.org/sagemath-gsoc-info|Sage GSOC info]]
  * 15:30 - 16:00 Mckenzie West: Solving the S-unit equation in Sage - [[attachment:MWest_Presentation.pdf|slides]]
  * 16:00 - 16:30 Demo: run a [[patchbot]]! (Thierry)
  * 16:30 - 18:30 Coding sprint

==== Wednesday 04 July 2018 ====

  * 09:00 - 10:00 Final report and wrap-up ([[https://tmpsage.metelu.net/days94/report.ipynb|Thierry's personal report]])
  * 10:30 - [[https://eventos.unizar.es/15634|EACA talks]]
Line 114: Line 129:
 * Miguel Marco
 * Enrique Artal
 * Adrien Boussicault
  * Miguel Marco
  * Enrique Artal
  * Adrien Boussicault
Line 120: Line 135:
 * Antonio Rojas
 * Bianca Thompson
* Elisa Palezzato
 * Francisco Castro
 * Friedrich Wiemer
 * Mckenzie West
 * Pablo Angulo
 * Peleg Michaeli
 * Rebecca Miller
 *
Samuel Lelièvre
* Sebastian Oehms
 * Tomer Bauer
 * Vít Tuček
 * Luis Felipe Tabera
 * Akshar Nair
 * Simón Isaza

== developments ==
  * Akshar Nair
  * A
ntonio Rojas
  * [[https://biancasmath.wordpress.com/|Bianca Thompson]]
 
* Elisa Palezzato
  * Enrique Artal
  
* Francisco Castro
  * Friedrich Wiemer
  * Jeroen Demeyer
  * Luis Felipe Tabera
  
* Mckenzie West
  * Miguel Marco
  
* Pablo Angulo
  * Peleg Michaeli
  * [[http://www.lifebynumber.org/|Rebecca Lauren Miller]]
  * [[slelievre|
Samuel Lelièvre]]
 
* Sebastian Oehms
  * Simón Isaza
  
* ThierryMonteil
  * T
omer Bauer
  * Vít Tuček

== Development ==
Line 141: Line 160:
 * (Thierry) Fix oeis internet doctest issues [[https://trac.sagemath.org/ticket/25471|#25471]]
 * Try to progress in the inclusion of train-tracks in Sage [[https://trac.sagemath.org/ticket/20154|#20154]]
 * Polynomial division [[https://trac.sagemath.org/ticket/17638|#17638]]
 * Sage packaging.
* Crypto module.
* Linear algebra
 * CoCoa integration?
 * #8558



You can tag the corresponding tickets
with [[https://trac.sagemath.org/query?keywords=~days94&group=status&col=id&col=summary&col=status&order=priority|days94 keyword]] to that it is easy to list them.
  * (Thierry) Fix oeis internet doctest issues [[https://trac.sagemath.org/ticket/25471|#25471]]
  * Try to progress in the inclusion of train-tracks in Sage [[https://trac.sagemath.org/ticket/20154|#20154]]
  * Polynomial division [[https://trac.sagemath.org/ticket/17638|#17638]]
  * Sage packaging
 
* Crypto module
 
* Linear algebra
  * !CoCoa integration?
    * package cocoalib [[https://trac.sagemath.org/ticket/25707|#25707]]
 
* #8558
  * Ticket [[https://trac.sagemath.org/ticket/25745|#25745]]

Please tag any tickets you
work on during this week with the
[[https://trac.sagemath.org/query?keywords=~days94&group=status&col=id&col=summary&col=status&order=priority|days94 keyword]].
This makes it easy to list all tickets worked on during this week.
Line 157: Line 177:
Since this workshop is focusing in Sage development, it would be
better if the participants come with their own laptop, including
a Sage install that is well suited for development (don't worry
if you can't manage to do so, we can dedicate the first activities
of the workshop to help you with that, but it would save time if
you do that in advance). Also, please ask in advance for an account
in the [[https://trac.sagemath.org/|trac server]].
Given the focus on Sage development, we recommend participants come with
their own laptop, including a Sage installation that is well suited for
development (don't worry if you have trouble installing, we can help with
installation during the workshop, but it would save time if it is done
in advance). Also, please ask in advance for an account
for [[https://trac.sagemath.org/|Sage's Trac server]].
Line 167: Line 186:
We have reserved several appartments in [[www.apartamentoslossitios.com|Apartamentos Los Sitios]]. They are located in the city centre. The reception is open until 22:30. Several apartments were booked in
[[https://www.apartamentoslossitios.com|Apartamentos Los Sitios]].
They are located in the city centre. The reception is open until 22:30.
Line 171: Line 192:
Talks will take place in the main campus of the Universidad de Zaragoza, in the mathematics building. It is about 25 minutes by walk from the appartments (maybe 15 minutes by public transportation).

You can see the train station, the appartments and the event location in [[https://drive.google.com/open?id=1jEMgFXLy7lM-Fenxs8MxKOUnwIklZdkf&usp=sharing|this map]]
Talks took place in the main campus of the Universidad de Zaragoza,
in the mathematics building. It is about 25 minutes by walk from the
a
partments (maybe 15 minutes by public transport).

You can see the train station, the apartments and the event location in
[[https://drive.google.com/open?id=1jEMgFXLy7lM-Fenxs8MxKOUnwIklZdkf&usp=sharing|this map]].
Line 177: Line 201:
The school will be partially funded by the OpenDreamKit project.
The LaBRI (University of Bordeaux) and the CNRS co-organize the
project via the OpenDreamKit Project. We expect to be able to cover
the travel and lodging expenses of the participants and speakers.
The school was partly funded by the [[https://opendreamkit.org|OpenDreamKit]]
project. The LaBRI (University of Bordeaux) and the CNRS co-organized the
project via the !OpenDreamKit project. We expect to be able to cover
the travel and lodging expenses of most participants and speakers.
Line 187: Line 211:
Line 190: Line 213:
There will be a visit to [[https://zaragoza.es/ciudad/turismo/en/que-visitar/detalle_Monumento?id=7|Palacio de la Aljaferia]] on Sunday morning. Here is a picture from the visit to
[[https://zaragoza.es/ciudad/turismo/en/que-visitar/detalle_Monumento?id=7|Palacio de la Aljaferia]]
on Sunday morning.

{{attachment:SageDays94.jpg}}

Sage days 94 -- Sage development days

Sage days 94 took place in Zaragoza (Spain), from Thursday 28 June 2018 to Wednesday 04 July 2018, as a satellite activity of the 16th meeting of the Spanish computer algebra network (XVI EACA).

They featured a series of short courses on subjects related to Sage development. The main target audience was young researchers who want to take the step from writing code for their own use to contributing their code to the Sage codebase.

Collaborative pad

We used this pad to take notes during the workshop.

For tickets worked on during Sage days 94, we used the keyword "days94":

Mini-course speakers and contributed talks

Topics to cover

  • The Sage development workflow (Trac, Git, doctests...)
  • The coercion model
  • Parents and elements, and their implementation
  • The category framework
  • Cython
  • Using external C/C++ libraries
  • Communication with external packages using pexpect

Mini-course speakers

  • Samuel Lelièvre
  • Travis Scrimshaw
  • Jeroen Demeyer
  • Thierry Monteil

Besides mini-courses on those subjects, there was some space for short talks contributed by the participants (which could be quite informal); interested participants could just contact the organizers to offer such a talk.

Proposed talks included:

  • Rebecca Miller: Applying and Participating in Google Summer of Code
  • Pablo Angulo: PyTorch, a machine learning framework, and Pyro, a universal probabilistic programming language on top of PyTorch (subtitle: do they fit in Sage?)

  • Vít Tuček: How Sage is helping me with my research
  • Sebastian Oehms: Cubic braid groups
  • Peleg Michaeli: Symbolic discrete random variables
  • Thierry Monteil: The various representations of real and complex numbers
  • Mckenzie West: Solving the S-unit equation in Sage

Program

Thursday 28 June 2018

  • 10:00-11:00 Registration
  • 11:00-12:00 The Sage development workflow (Samuel)

  • 12:00-13:00 Basics of git: init, add, commit, status (Samuel, Thierry)

  • 13:30-15:00 Lunch break
  • 15:00-16:30 Basics of git: clone, remote, push, pull, branch, checkout (Samuel, Thierry)

  • 16:30-17:30 Trac bureaucracy (account, ssh-keygen, git-trac, develop (Samuel, Thierry)
  • 15:00-16:00 Coding sprint
  • 16:00-16:30 Coffee break
  • 16:30-18:30 Coding sprint

Friday 29 June 2018

  • 09:00 - 11:00 Categories (Travis) - ipynb, categories_Zaragoza_Days94.ipynb

  • 11:00 - 11:30 Coffee break
  • 11:30 - 13:00 Parents, elements, coercion, for the user (Thierry) - ipynb

  • 13:00 - 15:00 Lunch break
  • 15:00 - 16:00 The Sage development workflow (practice)

  • 16:00 - 16:30 Coffee break
  • 16:30 - 17:00 Peleg Michaeli: Symbolic discrete random variables
  • 17:00 - 19:00 Coding sprints

Saturday 30 June 2018

  • 10:00 - 11:30 The category framework in Sage (practice)

  • 11:30 - 12:00 Coffee break
  • 12:00 - 13:30 The coercion model (practice)

Sunday 01 July 2018

  • Excursion

Monday 02 July 2018

  • 09:00 - 11:00 Categories, parents, coercion (Travis) - Example parent .sage file

  • 11:00 - 11:30 Coffee break
  • 11:30 - 13:00 Cython (Jeroen) - ipynb

  • 13:00 - 15:00 Lunch break
  • 15:00 - 16:00 Parents and elements (practice)

  • 16:00 - 16:30 Coffee break
  • 16:30 - 17:00 Vít Tuček: How Sage is helping me with my research - tucek.pdf

  • 17:00 - 19:00 Coding sprint

Tuesday 03 July 2018

  • 09:00 - 11:00 Third-party components

  • 11:00 - 11:30 Coffee break
  • 11:30 - 13:00 Sebastian Oehms: Cubic braid groups - shared folder on CoCalc

  • 13:00 - 15:00 Lunch break
  • 15:00 - 15:30 Rebecca Miller: Applying and Participating in Google Summer of Code - Sage GSOC info

  • 15:30 - 16:00 Mckenzie West: Solving the S-unit equation in Sage - slides

  • 16:00 - 16:30 Demo: run a patchbot! (Thierry)

  • 16:30 - 18:30 Coding sprint

Wednesday 04 July 2018

Organizers

  • Miguel Marco
  • Enrique Artal
  • Adrien Boussicault

Participants

Development

Add here the things you plan to work on during the week:

  • (Thierry) Fix oeis internet doctest issues #25471

  • Try to progress in the inclusion of train-tracks in Sage #20154

  • Polynomial division #17638

  • Sage packaging
  • Crypto module
  • Linear algebra
  • CoCoa integration?

  • #8558
  • Ticket #25745

Please tag any tickets you work on during this week with the days94 keyword. This makes it easy to list all tickets worked on during this week.

Instructions for participants

Given the focus on Sage development, we recommend participants come with their own laptop, including a Sage installation that is well suited for development (don't worry if you have trouble installing, we can help with installation during the workshop, but it would save time if it is done in advance). Also, please ask in advance for an account for Sage's Trac server.

Lodging

Several apartments were booked in Apartamentos Los Sitios. They are located in the city centre. The reception is open until 22:30.

Location

Talks took place in the main campus of the Universidad de Zaragoza, in the mathematics building. It is about 25 minutes by walk from the apartments (maybe 15 minutes by public transport).

You can see the train station, the apartments and the event location in this map.

Financial support

The school was partly funded by the OpenDreamKit project. The LaBRI (University of Bordeaux) and the CNRS co-organized the project via the OpenDreamKit project. We expect to be able to cover the travel and lodging expenses of most participants and speakers.

Contact

If you are interested in participating, or have any questions, please send an email to mmarco <at> unizar <dot> es

Excursion

Here is a picture from the visit to Palacio de la Aljaferia on Sunday morning.

SageDays94.jpg

days94 (last edited 2023-08-30 23:10:30 by tmonteil)