Programmation C++/Conventions d'appel
Convention d'appel.
Une convention d'appel à une fonction définit la manière d'appeler une fonction.
La manière varie selon le langage de programmation, le compilateur, et parfois l'architecture du processeur cible.
En C++ la convention d'appel définit les points suivants :
Pour l'avant dernier point, le désempilage des paramètres est toujours effectué par le code appelant lorsque la fonction a un nombre variable d'arguments, car seul le code appelant connaît assurément le nombre de paramètres qu'il a empilé.
Spécifier la convention d'appel.
La convention d'appel est spécifiée juste avant le nom de la fonction.
Parmi les conventions d'appel possibles :
Les noms des conventions cités ci-dessus sont ceux supportés par Visual C++.
GCC supporte également la plupart de ces conventions d'appel, mais doivent être spécifiées comme attribut avec codice_8 dans la déclaration de la fonction :
Certaines conventions peuvent être spécifiques à une famille de processeurs.
Différences entre les conventions d'appel.
Si la convention d'appel utilisée par le code appelant ne correspond pas à celui de la fonction appelée, la fonction ne comprend pas l'appel effectué et peut causer des dégâts.
Nommage des fonctions.
Pour éviter des problèmes lors de l'édition de liens avec les librairies externes (extension codice_20 sous Windows, codice_21 sous Unix/Linux), le compilateur nomme les fonctions selon les critères suivants :
Chaque compilateur utilise un nommage différent.
Par exemple, pour la fonction codice_22 le nom généré dépend du compilateur :
Il est donc difficile d'utiliser une librairie qui n'a pas été compilée avec le même compilateur que l'application l'utilisant.

Contourner le grand pare-feu de la Chine

"Cette page présente les moyens techniques pour contourner la censure en RPC et dans le monde."
Principe.
Le pare-feu de la Chine ne peut pas contrôler un grand flot d'informations. Il est relativement facile de le contourner en passant par des serveurs relais (proxy), situés sur des ordinateurs au delà du pare-feu. Les connections par VPN ( *liste de fournisseurs VPN) ou ssh avec l'extérieur de la Chine continentale ne sont pas bloquées, donc le contournement de la censure et des méthodes de surveillance est facile pour ceux qui ont accès à une connexion sécurisée à des ordinateurs hors de Chine.
Freegate.
Le logiciel Freegate est un programme répandu modifiant périodiquement le serveur proxy utilisé. Ces proxies http, dont l'accès est public, sont situés aux États-Unis. Dirigé par le hacker et dissident chinois Bill Xia, la société américaine Dynamic Internet Technology développe et distribue Freegate et maintient le réseau de proxy accessible. Cependant cette méthode rend la communication, non cryptée, aisément surveillable et rend nécessaire la présence d'un logiciel sur le client.
Le réseau Tor.
Le réseau Tor, en combinaison de Privoxy, permet d'obtenir un moyen de contourner aisément la censure. Le réseau Tor tient une liste publique des nœuds d'entrée sur le réseau, que les autorités pourraient donc facilement bloquer. Cependant, la FAQ de Tor, section 6.4 et 7.9 indique que l'utilisation de Tor peut être détectée par les autorités, par une analyse des temps de réponse. Ceci constitue une réelle faille sur l'anonymat. En conclusion, Tor permet l'accès à des contenus non censurés, bien qu'il soit détectable, ce qui peut avoir des conséquences. 
En plus de Tor, il existe de nombreux services de tunnel HTTP/HTTPS, qui fonctionnent de manière similaire à Tor.
Au moins l'un d'entre eux, "Your Freedom", a été confirmé comme fonctionnant en Chine, en offrant également des fonctions de chiffrement.
Psiphon pour le plus grand nombre.
Mené par le Citizen Lab de l'université de Toronto, Canada, le projet Psiphon est basé sur un système bénévole, où une relation de confiance aide les utilisateurs à contourner la censure de l'Internet.
Le logiciel Psiphon constitue la partie serveur, installée hors de Chine. Son interface conviviale permet de spécifier facilement les utilisateurs autorisés à se connecter. Ensuite, la connexion chiffrée HTTPS s'établit grâce à SSL via le port 443, à l'instar d'une transaction commerciale sur Internet. De son côté, le client souhaitant accéder à l'Internet complet utilise simplement son navigateur pour se connecter au serveur Psiphon. 
Les avantages de ce nouveau système sont multiples : Il n'y a pas de logiciel anti-filtre sur le client, la connexion chiffrée utilise le même protocole que pour une transaction commerciale classique sur internet et enfin cette méthode est développée par une université pour tous les pays du monde et non par la dissidence chinoise.
Freenet.
Freenet est un réseau anonyme et décentralisé bâti au dessus d'Internet visant à permettre une liberté d'expression et d'information totale profitant de la sécurité de l'anonymat. Il est indépendant du Web.
Anonymizers.
Les anonymizers sont une solution rapide pour contourner la plupart des sites censurés en Chine. On peut en trouver une liste sur freeproxy.ru

Suédois/Se présenter
- Hej! "Salut !"
- Hej, hur mår du? "Salut, ça va?"
- Jag mår bra. Och du? "Ça va bien, et toi?"
- Jag mår bra. Vad heter du? "Ça va bien. Comment tu t'appelles?"
- Jag heter Weiron och bor i Göteborg. Var bor du? "Je m'appelle Weiron et habite à Göteborg. Tu habites oú?"
- Min farbror har sagt att jag inte får säga det. "Mon oncle a dit que je ne peux pas le dire."
- Okej, hejdå! "D'accord, ciao!"
- Adjö. "Au revoir."
Des mots:
Hej - Salut
hur - comment
du - tu
och - et
bra - bien/bon
var - oú
min/mitt - mon/ma

Algorithmique impérative/Instructions
Nous avons vu qu'un algorithme est une séquence d'instructions ; de quoi s'agit-il exactement ? Les instructions sont les actions devant être effectuées par l'algorithme. Elle peuvent requérir que l'on précise certaines informations.
Deux instructions de base.
Voici expliquées deux instructions que l'on retrouvera très fréquemment dans des algorithmes. Il s'agit des instructions codice_1 et codice_2.
Afficher.
codice_1 permet d'afficher des données à l'écran et ainsi de communiquer avec l'utilisateur. Pour cette instruction, on doit préciser une expression qui sera évaluée avant d'être affichée.
Quelques exemples :
 Afficher ("ceci est un exemple : on affiche une chaîne, sans utiliser de variables")
Ce programme affiche : 
 ceci est un exemple : on affiche une chaîne, sans utiliser de variables
Si l'algorithme contient
 Constantes
 PI = 9
Le programme
 Afficher(PI)
affiche
 9
Lire.
La fonction codice_2 permet de demander à l'utilisateur de fournir des informations. Chaque information donnée par l'utilisateur est stockée dans une variable (attention au type !). Vous précisez cette variable dans les parenthèses.
Un exemple : nous réalisons un algorithme qui demande à l'utilisateur d'entrer son âge. Tout d'abord il apparaîtra dans le lexique :
 Lexique
 age : entier (* l'âge donné par l'utilisateur *)
Pour demander l'âge :
 Lire(age)
Les blocs d'instructions.
Souvent, l'exécution d'une seule instruction ne suffit pas pour faire un algorithme complet. Nous pouvons faire en sorte que plusieurs instructions soient considérées comme une seule. Pour cela, il faut créer un bloc d'instructions. Partout où l'on peut mettre une instruction, on peut mettre un bloc d'instructions.
Concrètement, on procède ainsi : les instructions sont séparées par un saut de ligne ou par codice_5. Le bloc d'instruction est précédé de codice_6 et suivi de codice_7.
Un exemple :
 Début
 instruction1
 instruction2
 Afficher("Cet affichage est la troisième instruction")
 instruction4
 Fin
Une autre notation, courante dans les langages de programmation, est plus courte. Les instructions formant un bloc sont entre codice_8 et codice_9.