Bridge Club Home Page PSI Home Page

Paul Scherrer Institut, CH-5232 Villigen PSI, Switzerland

The Bridge Club Software (BCS) Suite

There is a suite of programs called BCS on the PSI Central Computers, which has been developed by the PSI Bridge Club for:

Originally, this suite of programs ran on a Vax-VMS cluster called PSICLU. In the meantime, it has been migrated to run under the Linux operating system on The suite is a mixture of scripts written in the Python scripting language, executable programs written in Fortran, Web pages written in HTML, and simple ASCII files maintaining the membership, registration and score databases. The source code is kept in a so-called repository maintained with the CVS code management system.

Most of BCS's capabilities are accessible via a normal Web browser (e.g. Netscape or Internet Explorer). Certain privileged operations, such as adding new members to the membership data base, granting users a proxy on behalf of another member, or creating non-standard tournament dates, require special login access to Anyone is permitted to browse the Club's WWW pages. However, to register for tournaments, it is necessary to be an authorised user of BCS. Club members can request to be authorised by sending an e-mail to David or Vjeran.

The use of BCS via a suitable WWW browser, such as Netscape, is intended to be self explanatory. If you find this not to be the case, please contact either David or Vjeran, especially if you have constructive suggestions for improvement.

Access to the three main functions of the suite can be obtained via the following links:

Any notices on the bill-board will also be displayed as part of the registration function. However, to add notices to the bill-board, you will have to send your required text to David or Vjeran.

The BCS Registration System

At the moment, the BCS registration facility holds a database of players who wish to play bridge in the coming 5 weeks at the following time:
  1. Wednesday evening (at 18:00, Schulungsgebäude, OSGA)
We usually play a tournament. The form of the tournament depends on the number of registrations, but is usually a "single-winner" pair tournament of some form or other. Participants are expected to be able to play at a rate of between 7.5 to 8 minutes per board.

The initial BCS registration web page shows the registration status of the coming events. Here is an example:

Registration status

For each tournament date, people who have registered with a partner come first followed by people who have made a definite registration. These are then followed by people on the reserve list, i.e. people who have registered provisionally. There is also a list of those who have indicated that they are unable to play on a given evening.

People who have registered provisionally are expected to check the reservation list after registration for the tournament has closed, which is 6 hours prior to the start of the tournament. The first person on the reserve list is expected to come to play if there is an odd number of definite registrations. In the above example, this would mean that Alex would be expected to come and play on 14th January to make up an even number of players.

To register for a given tournament, one should click the corresponding Register button. At this point, one's web browser should prompt you to enter your BCS User Name and Password. For example, the Netscape web browser's User Name prompt is as follows:

Password prompt

No doubt Microsoft's Internet Explorer will display something similar! A User Name and Password are issued to each authorised user of BCS. Club members should send an email to David or Vjeran to request authorisation. One may specify a desired User Name and Password in the email. Once a User Name and Password have been created for the user, s/he will be informed via email.

Having entered a valid User Name and Password, the registration status of the selected tournament is displayed. For example, if Ron Weasley were to click on the 14th January Register button in the above example, he would obtain a display as follows:

Registration - Level 0

This example illustrates the concept of User Proxies. If a user regularly plays with one or more people, it is possible to grant him a proxy on their behalf. He is then able to make reservations on behalf of these people. In the example, Ron Weasley has proxies for Harry Potter and Hermione Granger. He is therefore presented with a drop-down menu which he can use to select on whose behalf he is registering. He must simply select the appropriate person and then click the Change button. The display will be updated accordingly. Users with no proxies will obviously not see this drop-down menu.

Depending on the precise registration status of the user, up to 3 buttons will be displayed as in the example, namely:

  • Ron Weasley would like to play
  • Ron Weasley could play if necessary
  • Ron Weasley cannot play
The first button corresponds to a definite reservation as described above. When making a definite reservation, it is possible to specify a partner via the associated drop-down menu. The list of names in the drop-down menu is generated from one's list of proxies plus all unpaired registered players.

Note 1: One should not specify a partner when registering until after one has spoken with the person concerned!

Note 2: Anyone who registers without a partner is expected to be prepared to play with any of the other unpaired players. The pairing will be done randomly by the score-sheet generating program.

The second button corresponds to a provisional reservation as described above.

The third button will cancel one's registration. If one clicks this button, one will be deregistered and one's partner, if any, will be moved to the list of unpaired players.

Registrations cannot be changed less than 6 hours prior to the beginning of a tournament.

PLEASE keep in mind that your registration (or deregistration) can affect other people too. Here is a suggested code of conduct that should be followed as far as possible:

  • register well in advance, do not wait until the 6 hour limit;
  • use cannot play for the days when you absolutely cannot play. It will avoid you being telephoned in case an extra person is needed to make up a multiple of 4;
  • use could play if necessary for the days when you could come, if necessary;
  • avoid deregistering on the day of play but, if you really must cancel, try to contact the people on the list who might be affected, especially those near the end of the list;
  • check the lists from time to time, especially after the 6 hour deadline.

How to Interpret the BCS Score-Sheets

On selecting the Results link on any of the BCS web pages, the database of match results will be read and the results of the most recent tournament will be displayed. A drop-down menu of the most recent matches is also presented. On selecting one of these, a detailed score-sheet for the match is generated. The format of the display depends on how many tables there were in the match.

For certain types of tournament, it is also possible to reformat the display of the results. This is intended to allow one to obtain a list of the results in the order in which one played the boards rather than in the board number order of the default display. The results are also sorted so that it appears as though the selected person was the first to play each board. This can make it much easier to analyse the results. As a further refinement, the reformatted output of a tournament with more than 2 tables lists the results of playing a board in columns rather than across the page as is done in the raw display. This in intended to make it easier to compare the results on the different tables. An example is shown later.

Two Table Score-Sheet (non reformatted)

For two table matches, the score-sheet format is of the form:
  2S   w   =   -   110|5Cx  s  -1   -   100|  0     0
  1H   S   =   80   - |3H   S  +1  170   - |  0     3
  4S   s  +1  450   - |5D   n   =  400   - |  2     0
  2C   N   =   90   - |-                   |  3     0
  [1] B.Smith+P.Edwards(NS) : V.Victor+S.Andrews(EW)           NS=5 EW=3
  [2] U.Bloggs+M.Venebles(NS) : D.Maggots+A.Birtwhistle(EW)    NS=3 EW=5
  Final result (Tournament_rank = 1.014) :
  1. B.Smith+P.Edwards         71    58.68%  ( 3 tops, 1 flops )
  2. D.Maggots+A.Birtwhistle   65    53.72%  ( 4 tops, 2 flops )
  3. U.Bloggs+M.Venebles       54    44.63%  ( 3 tops, 3 flops )
  4. V.Victor+S.Andrews        52    42.98%  ( 3 tops, 5 flops )
This shows the results of 4 boards played on the 2 tables. The interpretation is as follows.

On Table 1, B.Smith and P.Edwards were playing North/South and V.Victor and S.Andrews were playing East/West. On Table 2, U.Bloggs and M.Venebles were playing North/South and D.Maggots and A.Birtwhistle were playing East/West.

Taking the third board as an example, it is seen that South on Table 1 played 4-Spades, made 1 over-trick and scored 450 points. On Table 2, North played 5-Diamonds, exactly made his contract and scored 400 points. This result is then converted to IMPs (International Match Points) by taking the difference in points of the 2 results and using a look-up table. The result is shown to the right of the board. In the case of the third board, N/S on Table 1 get 2 IMPs for the 50 point difference in their favour and E/W get zero. On Table 2, of course, the IMPs are reversed between N/S and E/W.

As a second example from the above, consider Board 1 on Table 2. Here South played 5-Clubs-doubled, went 1-down and conceded 100 points to E/W. This balances the 110 points scored by West on Table 1 to within 10 points, resulting in zero IMPs being awarded (see the IMP table).

In Board 4 on Table 2, everybody passed!

A designation such as 3NTxx would indicate re-doubled. It can also be seen that the declarer is sometimes shown as a lower-case letter and at other times as an upper-case letter. Upper-case indicates that the declarer is vulnerable for the board.

Following the list of boards, the IMP score for the session is calculated. In the above example, N/S on Table 1 (and E/W on Table 2) scored 5 IMPs and the other pairs scored 3 IMPs.

Finally, at the very end of the score-sheet, the total IMPs for each pair are calculated, after allowing for the various permutations between the sessions. A percentage of the total points is also calculated for each pair.

The numbers of top and bottom results of each pair are shown in the brackets as tops and flops.

Pairs are ranked according to their total matchpoints. In case that two or more pairs have the same number of matchpoints, the ranking will depend on the number of tops and flops.

The Tournament-rank value shown as part of the final result is supposed to indicate the level of the tournament. For a tournament where many players are high in the Ranking Table, this number will be high. It is displayed purely for information and is not used otherwise in any of the calculations.

Three Table Score-Sheet (non reformatted)

For three table matches, the score-sheet format is of the form:
  3S   N  -3   -  300|2NT  S   =  120  - |3NT  S  +1  630  - |0/4  2/2  4/0
  5S   E  -2  200  - |4S   E  +1   -  650|6NT  E  -1  100  - |4/0  0/4  2/2
  [1] K.Maggots+D.Maggots(NS) : N.Finch+E.Matthews(EW)       NS=4 EW=4
  [2] T.Drabble+C.Simpson(NS) : S.Andrews+M.Andrews(EW)      NS=2 EW=6
  [3] P.Edwards+V.Victor(NS) : C.Martinson+A.Anderson(EW)    NS=6 EW=2
  Final result (Tournament_rank = 1.150) :
  1. N.Finch+E.Matthews        28    77.78%  ( 6 tops, 1 flops )  -> 7 G-pts
  2. P.Edwards+V.Victor        24    66.67%  ( 6 tops, 2 flops )  -> 4 G-pts
  3. K.Maggots+D.Maggots       20    55.56%  ( 4 tops, 2 flops )  -> 1 G-pts
  4. C.Martinson+A.Anderson    15    41.67%  ( 3 tops, 3 flops )
  5. S.Andrews+M.Andrews       11    30.56%  ( 2 tops, 2 flops )
  6. T.Drabble+C.Simpson       10    27.78%  ( 1 tops, 5 flops )
This example shows the results for a group of boards (in this case, 2) played on the 3 tables. Each row corresponds to a board. The first three sections from left to right correspond to the 3 times that the board was played, in the order that it was played. They do not usually correspond to the table or session numbers in which the board was played. The 5 columns for each section give the contract, declarer, result, score for N/S and score for E/W, respectively, in the same way as for the 2 Table score-sheet described above.

The fourth section on the far right gives the matchpoint result for the board. Refer to the notes on Matchpoint Scoring to understand how this works.

The next 3 lines indicate who was playing N/S and who was playing E/W on the 3 tables and how many matchpoints they obtained for the group of boards.

In the example given above, for example, one sees that S.Andrews and M.Andrews were playing E/W against T.Drabble and C.Simpson. On the second board, S.Andrews (E) was declarer and vulnerable in a contract of 4S. He made one overtrick, thus scoring 650 points. This was the best result by E/W for this board and he therefore obtained 4 MPs for his pains. Messrs Drabble and Simpson, on the other hand, must therefore have had the worst result of the N/S pairs for the board and received 0 MPs. Combining the results of the 2 boards, one sees that T.Drabble and C.Simpson scored a total of 2 MPs (2 from Board 1 and 0 from Board 2) and S.Andrews and M.Andrews scored a total of 6 MPs (2 from Board 1 and 4 from Board 2).

Finally, at the very end of the score-sheet, the matchpoint totals for each pair for all boards in the match are calculated. A percentage of the total points is also calculated.

The numbers of top and bottom results of each pair are shown in the brackets as tops and flops.

Pairs are ranked according to their total matchpoints. In case that two or more pairs have the same number of matchpoints, the ranking will depend on the number of tops and flops.

Green points are given to three top ranked pairs only in matches that have more than 12 boards. Short matches on Friday do not count. The distribution of green points is 5-2-1 in case of 2 table match, 7-4-1 for 3 tables and 8-5-3 for 4 tables.

More-than-Three Table Score-Sheet (non reformatted)

The interpretation is a direct extension of the 3 table case.

An Example of a Reformatted Score-Sheet

If the above 3-table tournament example is reformatted in favour of S.Andrews, say, and the session results which are shown happen to be for boards 9 and 10, the reformatted output would look as follows:
  --  9 -----------------|-- 10 -----------------
  2NT  S   =  120  -  2/2|4S   E  +1   -  650 0/4
  3S   N  -3   -  300 0/4|5S   E  -2  200  -  4/0
  3NT  S  +1  630  -  4/0|6NT  E  -1  100  -  2/2
  [1] T.Drabble+C.Simpson(NS) : S.Andrews+M.Andrews(EW)      NS=2 EW=6
  [2] K.Maggots+D.Maggots(NS) : N.Finch+E.Matthews(EW)       NS=4 EW=4
  [3] P.Edwards+V.Victor(NS) : C.Martinson+A.Anderson(EW)    NS=6 EW=2
It appears that S.Andrews was the first to play the boards and the results are listed in tabular form as they would appear on the traveller (i.e. result slip) which circulates with the board during play.

The BCS Ranking Table

The four columns listed in the Ranking Table are:

  1. Number of matches
  2. Green points accumulated in the current year
  3. Average percentage in the current year
  4. Average percentage in the last twelve months
Ranking is based on the twelve month average percentage. Results which are more than a year old are ignored. The percentage is calculated as:
               Sum{ n_boards(match) * perc(match) }
                     Sum{ n_boards(match) }
Players who have not played at least 12 matches in the last 12 months or who have not played for more than 3 months are not ranked but they are listed at the end of the ranking table.

BCS Maintenance

For those responsible for maintaining the BCS suite of software, there are some notes available.

This page is maintained by David and Vjeran
Footnote on WWW Browsers: This footnote is almost certainly now obsolete. It is left in to add historical flavour to this page!

The WWW pages of the PSI Bridge Section, in particular the pages associated with tournament registration, rely on the WWW Browser being able to support a structure known as a table. Early browsers did not have this capability. If using Netscape, ensure that your version is later than Netscape V2.01.