Blogue

How to contribute to Sage talk at Sage Days 28

19 janvier 2011 | Catégories: sage | View Comments

At Sage Days 28 held this week in Orsay, France, I gave a talk on How to contribute to Sage.

The talk goes into the details because we wanted people to contribute during the talk. Tickets created during the talk are here :

Read and Post Comments

Sharing my branch of Sage development

19 novembre 2010 | Catégories: sage | View Comments

The purpose of this text also available on the Sage wiki is to explain how to share your branch of Sage development. I am sure there more than one way to do so, but the solution shown here is the same as the way Sage Combinat shares its development.

First, clone the sage-main. Below, I use my sage trac username to name that branch, because it's my branch of Sage development:

sage -b main
sage -clone slabbe

Go to the directory associated to that new branch and initialize the Queue for Mercurial. See Sage Development Manual : Mercurial queues for more details.

cd SAGE_HOME/devel/sage-slabbe
hg qinit

This last step created a new directory (SAGE_HOME/devel/sage-slabbe/.hg/patches) where your patches will be saved. In order to share your branch, you simply need to share this directory. For example, you can copy its content to a public directory on your web site. You can also use svn, git or any other revision control system. As I want to work on my branch the exact same way as I am working on the sage-combinat branch, I choose to use hg.

Now I log on the server that will host my patches, I create the (public) patches directory and I initialize that directory as an hg directory:

ssh username@server.com
mkdir patches
cd patches
hg init

I also add a hook to that public repository so that it updates itself automatically when a push is made to it. In other words, I edit the file ~/patches/.hg/hgrc so that it becomes:

#file ~/patches/.hg/hgrc
[hooks]
changegroup = hg update

I then logout from the server and go to the patches directory on my machine and make a clone of the public patches repository created above. I could use the http adress, but I use the ssh one so that I can push to the server later on:

cd SAGE_HOME/devel/sage-slabbe/.hg/patches
hg clone ssh://username@server.com:~/patches .

Like for the Sage-combinat repository, I create in .hg/patches a file called .hgignore containing the following:

# file .hgignore
syntax: glob
status
guards

Then, add, commit and push this first change to the server:

hg add .hgignore
hg commit -m "Added the .hgignore file"
hg push

I can now create patches on my branch like in sage-combinat:

cd SAGE_HOME/devel/sage-slabbe/
hg qnew trac_XXXX-fixing-stuff.patch
vim sage/combinat/partition.py
hg qrefresh -e

I can push my changes to my public server like in sage-combinat:

cd SAGE_HOME/devel/sage-slabbe/.hg/patches
hg st
hg commit
hg push

For the first time, you may need to add the series file as well:

cd SAGE_HOME/devel/sage-slabbe/.hg/patches
hg add series
hg commit
hg push

Last thing, notice that the sage-combinat script can be used to install your branch on any Sage installation with the following one liner:

sage -combinat install -b slabbe -s http://server.com/path/to/your/username/patches/

In my case, the result is here

Read and Post Comments

Le ruissellement pour préserver l'équilibre démocratique de la FQU

13 novembre 2010 | Catégories: ultimate, fqu | View Comments

Le ministère de l'éducation des loisirs et du sports du Québec demande de modifier les règlements généraux de la Fédération québécoise d'ultimate afin d'éviter qu'une association ait un droit de veto sur les votes faits à double majorité.

À ce problème, je propose la solution suivante que j'ai appelé principe du ruissellement:

Explication brève:

Le ruissellement est une répartition du poids des associations pour les votes à double majorité qui s'applique lorsqu'une association est majoritaire, c'est-à-dire possède plus de 50 pour cent des membres individuels de la FQU. Le ruissellement consiste à modifier le poids de l'association majoritaire à 49 pour cent et répartir l'éxédent du 49 pour cent aux autres associations en commençant par l'association la plus petite en nombre de membres et jusqu'à ce que le poids de cette association égalise celui de la deuxième association, puis aux deux associations les plus petites jusqu'à ce qu'elles égalisent le poids de la troisième, puis aux trois associations les plus petites jusqu'à ce qu'elles égalisent le poids de la quatrième, et ainsi de suite jusqu'à épuisement de l'exédent.
Read and Post Comments

Fibonacci Tiles can appear in a fully packed loop diagram

22 octobre 2010 | Catégories: sage, fibonacci tile | View Comments

A Fibonacci Tile appearing in the fully packed loop diagram of the permutation \([16,15,13,12,19,22,9,23,26,8,6,29,30,5,31,32,1,2,28,3,4,27,25,7,10,24,11,14,21,20,18,17]\).

/Files/2010/fibo-zoom.png

Done with Franco Saliola.

Read and Post Comments

Le Memphré 2010, mon centième tournoi d'ultimate

13 septembre 2010 | Catégories: ultimate | View Comments

Le tournoi Chez Memphré 2010 est le centième tournoi d'ultimate auquel je participe.

Année Nombre de tournois participés
2003 19
2004 17
2005 15
2006 12
2007 9
2008 10
2009 11
Read and Post Comments

« Previous Page -- Next Page »