Contents

1 Combinatorics
 1.1 Counting I: Subset enumerator
  1.1.1 Idea
  1.1.2 Implementation
  1.1.3 Remark
 1.2 Counting II: Permutation enumerator
  1.2.1 Idea
  1.2.2 Implementation
  1.2.3 Remark
 1.3 Steganography
  1.3.1 Idea
  1.3.2 Implementation
 1.4 Working with GMP integers
  1.4.1 Idea
  1.4.2 Implementation
 1.5 Enumerating graphs with Pólya’s theorem and GMP
  1.5.1 Introduction
  1.5.2 Permutations
  1.5.3 The Cycle Index
  1.5.4 Pólya’s theorem
  1.5.5 Cycle index of the pair group
  1.5.6 Concerning memory allocation
  1.5.7 Implementation I: auxiliary functions
  1.5.8 Implementation II: Polynomials
  1.5.9 Implementation III: Pólya’s theorem
  1.5.10 Results
 1.6 Backtracking I: The n-queens problem
  1.6.1 Idea
  1.6.2 Implementation
2 Processing mouse events
 2.1 Selecting a part of a static image
  2.1.1 Idea
  2.1.2 Implementation
3 Working with tasks
 3.1 User may interrupt read from task
  3.1.1 Idea
  3.1.2 Implementation
 3.2 Frontend to df
  3.2.1 Idea
  3.2.2 Implementation
 3.3 Code browser with find and grep
  3.3.1 Idea
  3.3.2 Implementation
4 Distributed objects
 4.1 Connect four
  4.1.1 Idea
  4.1.2 Implementation
5 CGI programming
 5.1 Web server
  5.1.1 Idea
  5.1.2 Preliminaries
  5.1.3 Implementation
 5.2 Read GET and POST variables from forms and URLs
  5.2.1 Idea
  5.2.2 Implementation
 5.3 Working with cookies
  5.3.1 Idea
  5.3.2 Preliminaries
  5.3.3 Implementation
 5.4 Webchat with MySQL
  5.4.1 Idea
  5.4.2 MySQL tables used
  5.4.3 Preliminaries
  5.4.4 Implementation I: auxiliary functions and definitions
  5.4.5 Implementation II: main
6 Puzzles
 6.1 The Sixteen Puzzle
  6.1.1 Idea
  6.1.2 Implementation
7 Miscellaneous
 7.1 Color picker with X11
  7.1.1 Idea
  7.1.2 Implementation
 7.2 Screen grab with X11
  7.2.1 Idea
  7.2.2 XWinData
  7.2.3 ImageView
  7.2.4 Controller and main

LICENCE ALC TYPE 3

Article 1

La présente licence s’adresse à tout utilisateur de ce document. Un utilisateur est toute personne qui lit, télécharge ou reproduit ce document

Article 2

La licence rappelle les droits de l’auteur sur son document et les prérogatives qu’il a entendu concéder aux utilisateurs. Chaque utilisateur est donc tenu de lire cette licence et d’en respecter les termes.

Article 3

La licence accompagne le document de manière intrinsèque. Tout utilisateur qui reproduit le document et le cède à un tiers est tenu de céder la licence. La licence s’impose alors à ce tiers, et ce même en cas de cessions successives. En outre, cette licence ne peut en aucun cas être modifiée.

Article 4

Toute concession accordée par l’auteur sur ses droits, conformément à l’objet de l’association qui est de promouvoir l’enseignement et le partage des connaissances, ne vaut que tant que l’exploitation du document est faite à titre gratuit. L’utilisation du document dans le cadre d’un enseignement payant ne constitue pas une utilisation à titre commerciale au sens de la présente licence. Le recouvrement de sommes correspondant à des frais de port ou de mise sur support n’a pas pour effet d’attribuer un caractère commercial à l’exploitation du document. Ces frais ne peuvent en aucun cas exéder les sommes déboursées pour ces services.

Article 5

L’auteur autorise tout utilisateur à reproduire et représenter son oeuvre, sur tout support, dès lors que l’utilisation, privée ou publique, est non commerciale, et sous réserve du respect des dispositions de l’article 6. La reproduction partielle du document est autorisée sous réserve du respect des dispositions de ce même article.

Article 6

L’utilisateur doit respecter les droits moraux de l’auteur: aussi bien la paternité de l’auteur que l’intégrité de l’oeuvre. Ainsi, le nom de l’auteur doit toujours être clairement indiqué, même en cas de reproduction ou représentation partielle. En cas de reproduction ou représentation partielle, il devra être précisé qu’il ne s’agit que d’un extrait, et référence devra être faite à l’oeuvre intégrale. Aucune modification du document n’est autorisée, à l’exeption des modifications apportées par l’auteur lui-même.

Article 7

L’utilisateur peut apporter sa contribution (actualisation, remarques, précision...). Ces insertions doivent apparaitre clairement comme telles (emploi de caractères italiques, ou d’une couleur différente) et doivent être datées. Cet utilisateur devient un auteur contributaire et doit à ce titre être identifiable. Sa contribution sera soumise à cette même licence. La Charte des auteurs lui sera alors applicable concernant cette contribution. Le document peut être traduit dès lors qu’il est fait référence au texte original, que l’auteur reste identifié, et qu’il est précisé qu’il s’agit d’une traduction.

Article 8

Toute infraction à la présente licence pourrait constituer une atteinte aux droits de l’auteur sur son oeuvre. Dans tous les cas, le non-respect de la licence sera suceptible de fonder une action en justice.

Article 9

En cas de litige, la loi française sera la seule applicable.