January 2009
  Sun Mon Tue Wed Thu Fri Sat  
          1 2 3  
  4 5 6 7 8 9 10  
  11 12 13 14 15 16 17  
  18 19 20 21 22 23 24  
  25 26 27 28 29 30 31  

Archives

September 2009 (1)
July 2009 (2)
June 2009 (1)
March 2009 (3)
February 2009 (3)
January 2009 (3)
December 2008 (1)
November 2008 (1)
October 2008 (2)
September 2008 (7)
July 2008 (5)
June 2008 (1)
May 2008 (3)
April 2008 (4)
March 2008 (3)
February 2008 (3)
January 2008 (1)

January 9, 2009

root sous Windows...

Les utilisateurs d'Unix et d'OS assimilés ont l'habitude d'avoir des frontières claires en matière de sécurité. Il y a un super-utilisateur (su) nommé root (pour des raisons historiques) qui a tout les droits. Et il y a les autres utilisateurs qui ont moins de droits (il ne peuvent pas installer de programme ni modifier les fichiers qui ne leur appartiennent pas sans autorisation préalable). Sous Windows les règles sont moins claires et bien souvent méconnues. Essayons de faire simple :

  • S'il n'y a qu'un utilisateur, il se trouve être administrateur. Il a donc tout les droits sauf ceux qui pourrait "rendre le système instable" (pun intended).
  • S'il y a plusieurs utilisateurs, le premier sur la liste (à l'installation de Windows) est administrateur. Les autres ont donc moins de droits (pas d'installation, pas de désinstallation, pas de changement des icones du bureau partagé...) avec quelques choix contestables (pas de modification des paramètres de veille (sur un laptop c'est utile), droit de supprimer des entrées du "menu démarrer" partagé...). Bien sur, l'administrateur peut transmettre ses droits d'administrations à d'autres usagers.
  • Dans tout les cas, il y a un vrai administrateur (précédemment il s'agissait d'un faux administrateur) dont le compte est très peu sécurisé. Sous WindowsXP lors du démarage passez en mode sans échec(1), dans le champ "utilisateur" tapez "administrateur" (sans les guillements) et laissez le mot de passe vide et entrez. Voilà ! Vous pouvez a ce moment changer votre mot de passe pour éviter que quelqu'un ne profite de cette faiblesse bien connue. Sous Vista il faut un accès à un terminal en mode administrateur (faux administrateur) pour activer le compte.


Une commande utile sous Unix, consiste a passez en root temporairement. il suffit de taper " su " puis le mot de passe pour obtenir les droits absolus. Une fois le terminal fermé, ces droits disparaissent. Il est possible d'obtenir un comportement similaire sous Windows sans trop se fatiguer. Imaginons qu'il faille installer/désinstaller un nouveau programme et que pour des soucis de sécurité on ait choisi (avec sagesse) de ne pas utiliser son ordinateur en mode administrateur constamment. Deux choix s'offre à nous :



  1. Se déconnecter, se reconnecter en administrateur, (dés)installer, se déconnecter, se reconnecter en utilisateur normal.
  2. Cliquer droit sur un raccourci vers commande, choisir "éxecuter en temps que...", en tant qu'administrateur, (dés)installer, fermer la console.

La deuxième méthode est plus rapide et permet en outre de ne pas nécessiter l'arrêt des programmes en cours.





(1) : deux solutions pour ça, la plus simple est d'appuyer sur F7 durant le boot, l'autre est de passer par éxecuter->msconfig->boot.

Published at 17:10 / 0 comments / 97 visits
This post is public

January 15, 2009

La limite du possible.

Dans les années 1930 (avant internet, le téléphone portable, et même avant l'ordinateur (tel qu'on le connais aujourd'hui (puissant, personnel, courant, ergonomique))) quelques mathématiciens tripotaient allègrement des concepts relevant à l'époque de la science fiction. Les avancées théorique de cette époque influence aujourd'hui encore le développement de l'informatique.


Alan et Alonzo :
Les deux prénoms des mathématiciens qui ont laissés leurs noms sur les mathématiques de l'informatique tout comme Euclide l'a fait sur la géométrie. Avec des motifs très différents, ils ont tout deux découvert (on n'invente pas les mathématiques, on se contente d'exposer des vérités qui n'attendaient que ça) des modèles de calcul qui porte leur nom (de famille).

La Turing-calculabilité (ou T-calculabilité) :
Alan Turing cherchait à découvrir les limites du faisable. Il a donc inventer les machines de Turing, concept théorique cruellement proche des ordinateurs actuels. Il existe plusieurs modèle pour les MTs (machines de Turing) le plus simple étant de considérer un ruban (potentiellement infini(1)) sur lequel se promène une tête de lecture/écriture capable de lire et d'écrire un certain nombre (au moins 2) de symbole et dont le comportement est déterminé par un ensemble de règles (du type : si la machine est dans l'état 42 et que le symbole sous la tête de lecture est '0' alors, se placer dans l'état 24, écrire un symbole '1' et bouger la tête de lecture vers la gauche). A partir de ce modèle, Alan Turing défini un ensemble de fonctions dont on peut calculer les valeurs en un temps prévisible, un ensemble de fonctions dont on peut calculer les valeurs en un temps imprévisible (on lance la machine (au sens figuré) mais on ne sait pas quand ni même si elle va s'arrêter), un ensemble de fonction dont on ne peut pas calculer les valeurs (on lance la machine et elle ne s'arrêtera jamais).
Les machines de Turing ont une influence sur la conception des ordinateurs. Bien que la lente transition vers la mémoire en SSD fasse pencher de plus en plus les ordinateurs actuels dans le camp des machines RAM (cousines proche des MTs). L'influence de ce modèle ne s'arrête pas au Hardware, en effet les langages impératifs sont directement inspirés des fonctions de transition des MTs (avec un niveau d'abstraction plus élevé).

La LAMBDA-calculabilité :
Alonzo Church voulait développer une syntaxe permettant d'exprimer des fonctions mathématiques. Cette syntaxe est d'une simplicité effarante :

les symboles autorisés sont LAMBDA, que j'abrégerai L, des parenthèses et (éventuellement) un point
les règles sont : un terme est soit une variable : v , soit une fonction associant un terme à un autre : Lt1.t2 (où t1 et t2 sont des termes), soit une fonction appliquée à un terme (f)t (ou f est une fonction et t un terme).

A partir de cette syntaxe, Church défini des méthodes de calculs de ses fonctions (appelées réductions) et tout les objets mathématiques courants et notamment les entiers de Church(2). Il montre que certaines fonctions sont exprimables en LAMBDA-calcul et calculable, que d'autres sont exprimables mais difficile à calculer (selon la méthode choisie, le calcul n'aboutit pas forcément), que d'autres encore ne sont pas exprimables du tout.
Oh! surprise, ces catégories coïncident avec celles d'Alan Turing et de sa machine. Les fonctions calculables dans un modèle, le sont dans l'autre ! Il en est de même pour tout les autres modèles étudiés à ce jours.


C et Haskell :
Aujourd'hui encore naissent des langages de programmation si bien que leur nombre est élevé. On peut les distingués de plusieurs manières : paradigmes (la définition est assez difficile), niveaux (ou niveaux d'abstractions), verbosité, typage...

C
Titre court s'il en est, C est, en plus de la troisième lettre de l'alphabet, le nom d'un des langages (de programmation) les plus utilisés actuellement dans le monde. Ce qui le rend intéressant pour nous (en tout cas pour tout ceux qui ont lu jusqu'ici) est qu'il est très proche du modèle des machines de Turing. Dans un pur style impératif/procédural et avec un niveau d'abstraction très bas, il est possible de travailler octet par octet (même si on préfèrera utiliser les quelques raffinement disponibles tel les entiers, les flottants, les structures...) à la manière des cases mémoire des MTs.

Haskell
Le mathématicien américain Haskell B. Curry a beaucoup influencé le LAMBDA-calcul et il a joué un rôle majeur dans l'équivalence de Curry-Howard, c'est donc tout naturellement que son prénom fut donné à un langage de programmation purement fonctionnelle (qui est inspirée du LAMBDA-calcul). Haskell a en plus un typage fort et une évaluation paresseuse tout deux liés à la théorie d'Alonzo Church.

Du faisable et du possible :
Les mathématiques sont la science du possible. Elles sont capables de décrire l'univers tel qu'il est ou tel qu'il serait si <ajouter ici une condition farfelue de votre choix>. Pour s'en convaincre, je conseil la lecture de Flatland(3) (de toute façon je la conseille même si ce n'est pas pour se convaincre de la puissance des mathématiques). Dans la même optique, on peut définir l'informatique comme la science du faisable. Le fait que tout les modèles de calculabilité découvert à ce jour coïncident poussa Alonzo (on fini par être assez intime avec les mathématiciens (et on veut surtout éviter des répétitions trop nombreuses)) à énoncer ce qui deviendra la "thèse de Church". Elle stipule que la notion de Turing calculabilité et celle de LAMBDA calculabilité sont toutes deux équivalentes à la notion intuitive de calculabilité. Il en existe une version "physique" qui dit que les deux modèles ont le même pouvoir que la nature (ils peuvent calculer les même choses).





(1) il existe plusieurs infini, des grands et des petits, des actuels et des potentiels. Un ensemble est potentiellement infini si il est toujours assez grand pour les besoins qu'on en a. Les grecs qui à cause de Zénon avait des problèmes avec l'infini voyaient les entiers comme un ensemble infini potentiel.
(2) par exemple les entiers sont représentés par des itérateurs :
0 <-> (f->id) <-> Lf.Lx.x <-> "0 est la fonction qui a une fonction f associe la fonction f itérée 0 fois"
1 <-> (f->f) <-> Lf.Lx.(f)x <-> "1 est la fonction qui a une fonction f associe la fonction f itérée 1 fois"
2 <-> (f->fof) <-> Lf.Lx.(f)(f)x <-> "2 est la fonction qui a une fonction f associe la fonction f itérée 2 fois"
etc.
(3)
Flatland est un livre d'Edwin Abbott Abbott mettant en scène un univers ne possédant que deux dimension. L'auteur critique de manière virulente la société victorienne (dans laquelle il a grandi) en prétextant de l'exercice de pensée philosophique bien plus que mathématique.

Published at 15:11 / 0 comments / 145 visits
This post is public

January 26, 2009

Du groupe et des individus...

Récemment replonger dans l'univers de "Fondation"(1) à la suite d'une discussion littéraire (ça m'arrive) il m'est revenu en mémoire les principes même de la fiction délivrée par Asimov avec une plume extraordinaire (bien qu'à mon avis il s'agissait au moins en partie d'une machine à écrire). Dans cet univers des plus futuriste, l'Homme a conquis la galaxie dans son intégralité et règne sur tous les systèmes naturellement habitables ou terra-formés.

L'élément central de l'oeuvre est une science - inventée pour l'occasion par l'auteur - qui permet de prédire les évolutions sociales future. La psychohistoire (c'est le nom de la science sus-citée) ne fonctionne que pour des nombres d'individu très important (ici la population galactique (rien que ça !)) car elle repose sur le principe qu'un unique individu a un impact sur la collectivité inversement proportionnel à la taille de cette collectivité (plus il y a de monde dans un groupe, moins un individu seul peut modifier le comportement de ce groupe) ; une sorte d'inertie du groupe.

Sa science est tout de même très limitée - d'abord par la taille minimum du groupe étudié, mais aussi - par l'influence de l'observation/la mesure sur l'observé/le mesuré. Le comportement de la collectivité est modifié par les prévisions des psychohistoriens.

Enfin bref, je ne saurais résumé dans un email ni le contenu ni la forme des livres de "Fondation". Au bout de quelques minutes de réflexion, je me suis demandé : "Un groupe est-il vraiment plus prévisible qu'un individu ? Est-ce que l'orientation actuelle de nos connaissances et de nos sciences favorise les prévisions pour des comportements collectifs ou individuels ?" Dans les sciences "dures" (qui sont parfois plus faciles) on trouve des problèmes relativement proches : le fonctionnement d'un neurone isolé est beaucoup mieux compris que celui du cerveau dans son ensemble ; on sait prévoir le comportement d'une casserole d'eau beaucoup mieux que celui d'une molécule d'eau. Pour les neurones il y a de nombreuses interactions qui rendent les choses plus complexe à grande échelle alors que pour l'eau on moyenne les comportements. Tout dépend de la manière de passer du niveau de l'élément isolé à celui du groupe.

Une question parmi beaucoup d'autres qui aurait put surgir de ma tête...


(1)Fondation est un cycle de roman non moins réputé que le cycle de Dune (par Frank Herbert) dont la lecture peu être assez difficile en une fois - mais qui par son découpage se prête bien à une lecture étalée. Asimov très connu pour son aspect hard-science (science fiction ultra réaliste du point de vue scientifique) s'éloigne ici un peu de cette catégorie dans laquelle l'ont placés de nombreux critiques littéraires.

PS : je viens de m'apercevoir que mes millets commencent souvent par "Récemment", "M'ayant récemment", "Étant récemment",...

Published at 10:52 / 0 comments / 90 visits
This post is public

( 3 posts )

 

Català | Čeština nové | 中文 | Deutsch | English | Español | Esperanto | Ελληνικά | Français | Galego | Italiano | Nederlands | Português | More...