/dev/random

Aller au contenu | Aller au menu | Aller à la recherche

Tag - informatique

Fil des billets - Fil des commentaires

dimanche 24 janvier 2010

Dirigé ou orienté

En théorie des graphes, un graphe orienté se traduit en anglais par directed graph (ou digraph). On retrouve tout de même de temps en temps l'anglicisme graphe dirigé comme par exemple ici.

Cependant, on trouve parfois une distinction en graphe orienté et graphe dirigé comme sur la Wikipedia anglophone : The orientation of a simple undirected graph is obtained by assigning a direction to each edge. Any directed graph constructed this way is called an oriented graph. A distinction between a simple directed graph and an oriented graph is that if x and y are vertices, a simple directed graph allows both (x,y) and (y,x) as edges, while only one is permitted in an oriented graph

Les références proviennent du site de Wolfram qui est bien connu pour éditer le logiciel Mathematica :

Je n'ai pas trouvé d'autres références que le cite de Wolfram et Wikipedia qui reprend ce site. On notera cependant que d'après Claude Berge, il n'y a pas de graphe orienté...

jeudi 18 juin 2009

Epsilon dominance

L'epsilon-dominance est une relaxation de la dominance à un epsilon près. Il est cependant fâcheux de voir que comme pour le rang, tout le monde n'utilise pas exactement la même définition. Voir par exemple l'implémentation qui en est faite dans les algorithmes OMOPSO et Omni-Optimizer

Heureusement, cela ne change pas fondamentalement la notion d'epsilon-dominance, mais il faut se méfier de la valeur que l'on donne aux paramètres.

lundi 11 mai 2009

Configurer synaptics sous linux comme sous MacOSX

Synaptics est le pilote du pavé tactile que l'on retrouve par exemple dans le MacBook.

Le moyen préconisé pour le configurer est d'utiliser le fichier xorg.conf. Cependant, ce dernier, pour une raison que j'ignore, ne tient pas compte de mes paramètres, et d'ailleurs, ce fichier est devenu inutile pour les versions recentes de Xorg (je l'ai donc supprimé).

La configuration par défaut du pavé tactile est de clicker quand on le touche et d'utiliser le bord droit pour le défilement à l'intérieur des fenêtres. Je n'aime pas cette configuration anti-ergonomique et je n'ai jamais réussi à m'y faire. Si je veux clicker, il y a un bouton pour ça. Et je ne vois pas comment on pourrait deviner qu'une partie du pavé sert à autre chose que le déplacement de la souris. Quand on est pas au courant de ce fonctionnement, on ne comprend pas vraiment ce qui se passe quand on a le malheur d'approcher cette zone avec le doigt. Sous MacOSX, point de click au touché, et le défilement se fait en utilisant deux doigts.

Pour retrouver ce comportement malgré ce mutin xorg.conf, j'ai utilisé l'utilitaire de configuration synclient en ligne de commande. Taper synclient vous donnera la liste des paramètres, et vous pouvez les changer facilement, par exemple :

  • synclient TapButton1=0
  • synclient VertTwoFingerScroll=1
  • synclient VertEdgeScroll=0
La première commande désactive le click sur le pavé tactile. La seconde active le défilement avec deux doigts et la troisième désactive le défilement sur le côté droit.

Pour que ces paramètres soient pris en compte au démarrage, je les ai mis dans le fichier .bashrc.

mercredi 14 janvier 2009

Question générique

Il est assez ennuyeux et rébarbatif d'écrire une interface en ligne de commande qui pose plein de questions à l'utilisateur. Le code de chaque question est quasiment toujours le même et ça prend vite de la place. Voyons comment écrire une fonction générique qui pose des questions qu'on lui passe en paramètre en Objective Caml.

Qu'a-t-on besoin dans nos questions ? Quatre éléments (à adapter selon les besoins) :

  • La question à poser à l'utilisateur
  • Une fonction pour traiter sa réponse
  • Une fonction pour vérifier si la réponse est correcte
  • Une phrase pour lui signifier que sa réponse est incorrecte

Dans notre cas, une question est donc un quadruplet (qstn,err,rtype,cdtn)qstn est la question posée, err le message d'erreur, actn l'action à réaliser et qdtn la condition à remplir.

Voici un exemple de question :

let question = (
  "Donnez un entier strictement positif : ",
  "Il faut qu'il soit strictement positif",
  int_of_string,
  (>=) 0
);;

et une fonction pour traiter la question :

let rec demande (qstn,err,actn,cdtn) =
  print_string qstn;
  let r = actn (read_line ()) in
  if (cdtn r)
    then begin
      print_endline err;
      demande (qstn,err,actn,cdtn)
    end
  else r;;

Il suffit ensuite d'insérer demande question dans le code et de créer un quadruplet pour chaque question.

dimanche 11 janvier 2009

EFI et MBR

Si vous avez installé linux - et seulement linux - sur votre Mac , une table de patition MBR a été créé à la place de l'habituel GPT de Mac. EFI va chercher une table de partition familière pour démarrer et ce processus dure dans les trente secondes pendant lesquels vous n'avez qu'un écran blanc.

Pour accélérer cela, munissez vous du disque d'installation de Mac OS X et démarrer dessus (en pressant le touche C au démarrage). Dans le menu du haut allez dans Utilitaires > Terminal. Dans le terminal, tapez :

diskutil list

vous devriez avoir quelque chose commençant par :

/dev/disk0/
#: type name size identifier
0: FDisk_partition_scheme *111.8 GB disk0

Installer le code dans la PRAM de votre Mac pour reconnaître les partitions MBR :

bless --device /dev/disk0 --setBoot -legacy

Attention : il se peut que le périphérique ne soit pas /dev/disk0, mettez le périphérique donné par diskutil list.

Au redémarrage de la machine, le détection du MBR ne devrait prendre que cinq secondes.

Source : Wiki Archlinux: MacBook

samedi 27 décembre 2008

MacBook et openSUSE 11.1

openSUSE 11.1 fonctionne globalement bien sur un MacBook Intel Core2Duo.

La table de partition GPT est reconnue. J'ai partitionné le disque avec BootCamp et installé la distribution sur l'emplacement créé par ce dernier. Aucun souci à l'installation. Installation de rEFIt pour avoir le choix de démarrer sous MacOS ou Linux au démarrage.

Le clavier du MacBook est parfaitement reconnu. Il a été configuré automatiquement, j'ai juste eu à préciser que j'avais un clavier français à l'installation. Les touches @ < > et | fonctionnent enfin comme attendu !

Le Wifi fonctionne correctement et s'utilise aisément avec Knetworkmanager.

Le son est un peu criard après l'installation. C'est beaucoup mieux en décochant Muet de Surround dans Kmix.

Pour retrouver le comportement des touches F1, F2 (luminosité de l'écran) et F3, F4, F5 (son) installer l'utilitaire pommed. Attention, il ne se lance pas automatiquement après un redémarrage de la machine.

L'autonomie laisse cependant un peu à désirer par rapport à MacOS. L'ordinateur semble se mettre en veille lorsque le capot est fermé, mais il chauffe tout de même un peu.

Pas de paquets Haskell ou Prolog trouvés par le gestionnaire de paquets... l'offre logicielle paraît plus faible que sous Debian ou Mandriva.

À part ça c'est très joli et bien fini. KDE4 est enfin utilisable. Pas d'Amarok 2 bancale mais un bon vieux Amarok 1.4 qui a le bon goût de fonctionner correctement. Petite bidouille pour faire fonctionner Amarok avec mes fichiers AAC (format Apple) : configurer les dépôts Packman, installer leur version d'Amarok avec le moteur Xine et les codecs qui vont bien.

Petite bizarrerie : les vidéo flash ne fonctionnent pas sur certains sites avec Konqueror alors que ça fonctionne avec Firefox. Pourtant le flash fonctionne avec Konqueror...

samedi 20 décembre 2008

Bilan Qt Extended 4.4.2

Après plusieurs semaines d'utilisation du FreeRunner sous la distribution Qt Extended 4.4.2, petit bilan  :

Les plus :

  • globalement utilisable avec les doigts, pas besoin de sortir le stylet à tout bout de champ,
  • plutôt stable,
  • plutôt réactif,
  • interface la plus pro disponible sur FreeRunner.
Les moins :
  • tout en anglais,
  • manque d'applications : rien à part celles installées de base,
  • obligé de tout réinstaller pour mettre à jour,
  • les réglages du son (haut-parleur et microphone) ne changent rien,
  • écho important pour l'interlocuteur,
  • SMS qui se clonent : plus ils restent longtemps enregistrés, plus il y a de copies du même message,
  • Quelques SMS mis à la corbeille qui ne se suppriment pas.
La dernière version d'openmoko (om2008.12) vient de sortir, il est temps de basculer.

mardi 9 décembre 2008

Passer à Linux (2) : Essayez !

<<< Épisode précédent : les distributions

Il est possible d'essayer une distribution Linux sans risque de mettre la pagaille sur votre ordinateur.

CD autonome

Les live CD sont des systèmes d'exploitation s'amorçant sur un CD (il existe également des versions DVD et pour clés USB) ne nécessitant pas d'installation sur le disque dur.

C'est Slackware qui proposa la première distribution Linux de ce genre en 1995. DemoLinux en développa une autre en 1999, mais c'est avec Knoppix que ce type de distribution est devenu populaire vers 2003.

Le projet Debian propose le terme CD autonome pour désigner un live CD en français.

Les CD autonomes se déclinent souvent en plusieurs saveurs suivant les distributions. Ils sont généralement proposés pour les architectures Intel 32 et 64 bits et embarquent les bureaux KDE, GNOME ou XFCE.

  • Archie ce CD autonome d'Archlinux est disponible en 32 bits avec XFCE.
  • Debian a un projet de CD autonome avec un système de base, KDE, GNOME ou XFCE en 32 ou 64 bits.
  • Fedora utilise GNOME en version 32 bits. Des déclinaisons 64 bits et XFCE sont disponibles.
  • Knoppix est disponible en 32 bits avec KDE.
  • Mandriva One est le CD autonome de Mandriva disponible en 32 ou 64 bits avec KDE ou GNOME.
  • openSUSE est également disponible en 32 ou 64 bits  avec KDE ou GNOME.
  • Slax est un CD autonome de Slackware en 32 bits avec KDE.
  • Ubuntu est disponible GNOME en version 32 ou 64 bits. Il existe toutefois des dérivés pour d'autres bureaux (kubuntu pour KDE, xubuntu pour XFCE).
Ce type de distribution vous permet de tester si le système fonctionne correctement sur votre machine sans toucher à ce qu'il y a d'installé sur votre disque dur. Elles proposent également des outils d'installation simples si vous souhaitez l'installer de manière conventionnelle.

La virtualisation

La virtualisaton vous permet de lancer plusieurs systèmes d'exploitation au dessus de votre système.

VirtualBox est une machine virtuelle simple d'utilisation et fonctionnant sous Windows, Mac OS X et Linux. Il s'agit d'un concurrent libre et gratuit (certaines versions sont juste gratuites) des logiciels VMware et Parallels.

Cette solution a l'avantage de pouvoir utiliser un autre système d'exploitation dans une fenêtre de votre système hôte (il est également possible de mettre en plein écran). En revanche elle nécessite beaucoup plus de ressources qu'une installation classique ou un CD autonome (surtout de la mémoire vive et de l'espace disque).

samedi 6 décembre 2008

Texte, maths et Unicode

Introduction

Pour écrire des mathématiques dans un fichier texte (comme par exemple dans ce billet), on se sent vite limité par le peu de caractères présents sur le clavier.

Une méthode possible est d'utiliser LaTeX qui a un excellent rendu des formules mathématiques et de l'insérer dans la page sous forme d'image dans vos pages web (spécialement générée par vos soins, par un site externe comme codecogs ou par l'intermédiaire d'une extension de votre SGC). Le rendu sera excellent, mais en revanche votre formule ne sera pas un texte comme les autres que vous pourrez copier/coller, redimensionner à votre guise. Si vous passez par un site tiers vous êtes de plus tributaire du fonctionnement du site.

Unicode

L'autre possibilité qui s'offre à vous est d'utiliser les propriétés d'Unicode. Unicode est une norme visant à représenter de manière unifiée tous les jeux de caractères des différentes langues et autres symboles. Tous les fichiers textes manipulés informatiquement sont codés dans un jeu de caractères associant un symbole à une suite de bits. UTF-8 est un format de codage des caractères d'Unicode. Ce format est de plus en plus répandu (par exemple c'est le format de codage de cette page et celui utilisé par défaut sur les distributions Linux populaires actuellement). Le jeu de caractère Unicode contient plusieurs symboles mathématiques.

Exemples

Voici quelques exemples ne représentant qu'une infime partie des caractères Unicode :

  • opérateurs : + - × ÷ ⊕ ⊗ ⋀ ⋁ ⋂ ⋃
  • symboles de relation : ≤ ≥ ≨ ≩ ≼ ≽ ⊊ ⊋ ⊑ ⊒ ⊴ ⊵ ≟ ≠≡
  • flèches : → ↔ ↦ ⇒ ⟺
  • divers : ∫ ∀ ∃ ∞ ⟦ ⟧

Ces symboles sont des caractères comme les autres sur cette page, vous pouvez les manipuler comme vous le feriez pour du texte (par exemple copier/coller ou modifier la taille de l'affichage).

Il est possible que tous ces caractères ne s'affichent pas correctement dans votre navigateur (ou éditeur de texte). Votre navigateur (ou éditeur) ne prend alors pas correctement en charge UTF-8. Il se peut aussi que le fichier ne soit pas spécifié dans le bon codage.

Liens

Passer à Linux (1) : les distributions

Introduction

Passer à Linux pour une utilisation personnelle, d'accord, mais par où commencer ?

Il faut tout d'abord choisir sa distribution. Linux en lui même n'est pas un système d'exploitation, mais un noyau. Une distribution Linux est un système d'exploitation complet avec un ensemble de logiciels. Il existe des centaines de distributions Linux répondant à divers besoins comme on peut le voir sur un site comme distrowatch (qui recense aussi d'autres systèmes comme les BSD). Pour une utilisation classique sur une machine de bureau personnelle (bureautique, multimédia, internet...), les huit distributions les plus populaires sont les suivantes :

  • Arch Linux
  • Debian
  • Fedora
  • Gentoo
  • Mandriva
  • openSuSE
  • Slackware
  • Ubuntu

L'ordre de la liste est purement alphabétique. Aucune n'est vraiment meilleure qu'une autre, tout dépend de ce que l'on cherche.

Simplicité d'utilisation

Parmi les distributions citées, Mandriva, openSuSE et Ubuntu sont les plus tournées vers la simplicité d'utilisation.

Mandriva et openSuSE disposent d'outils de configurations complets qui leurs sont spécifiques. Ces outils sont simple d'utilisation, regroupés dans un unique centre de configuration (bien qu'utilisables indépendamment) et permettent de réaliser toutes les tâches d'administration usuelles sans passer par la ligne de commande.

Ubuntu a une approche différente en faisant des choix par défaut à la place de l'utilisateur pour avoir un système cohérent nécessitant le moins de configuration possible (dans la philosophie de MacOS X). Des outils de configuration sont tout de même disponibles, mais ils ne sont pas spécifiques à Ubuntu et peuvent aussi être utilisés sur toute distribution.

Debian et Fedora ne sont pas pour autant difficiles d'accès. L'installation de ces systèmes n'est pas plus difficile que ceux cités précédemment, mais ce n'est pas leur objectif principal. Fedora est une sorte de laboratoire technologique intégrant les dernières innovations et est plutôt destinée aux utilisateurs avertis. Debian est une distribution généraliste dont le principal objectif est la robustesse. Pour ces deux distributions, l'utilisation de logiciels propriétaires (flash, certains pilotes de périphériques, certains codec audio et vidéo...) n'est pas simplifiée pour l'utilisateur (même si ce n'est pas difficile).

Arch Linux, Gentoo et Slackware proposent des installations plus minimalistes du système pour des utilisateurs qui souhaitent plus de personnalisation. Les outils de configuration sont moins nombreux, plus difficile d'accès pour l'utilisateur débutant, mais offrent la possibilité de configurer plus finement et plus simplement le système pour un utilisateur averti.

Rythme de sortie des nouvelles versions

De nouvelles versions de Mandriva, openSUSE, Fedora et Ubuntu sont disponibles tous les six mois. Debian et Slackware sortent quand elles sont prêtes, c'est-à-dire jugées stables. Arch Linux et Gentoo quant à elles évoluent en permanence.

Les logiciels libres évoluant très rapidement, avoir une nouvelle version tous les six mois permet de profiter de logiciels relativement à jour (à six mois près maximum) tout en garantissant une certaine stabilité : les cycles de développement imposent une phase de test où les logiciels ne sont plus mis à jour mais stabilisés avant la sortie officielle et les mises-à-jour pendant la durée de vie de la distribution concernent seulement des corrections de bug et des mises-à-jour de sécurité (donc pas de risque en théorie d'avoir un changement de fonctionnalité dans un logiciel). Mais avoir des logiciels très à jour implique aussi d'avoir potentiellement plus de problèmes. Il y a donc un compromis à faire entre la nouveauté et la stabilité. Cependant, pour un usage courant, la plupart des distributions sont assez stables (problèmes mineurs).

Arch Linux et Gentoo ont une approche différente puisque ces distributions sont continuellement mises-à-jour. Le système évolue alors lentement, intégrant petit à petit les nouveautés. Cela permet d'avoir constamment des versions récentes des logiciels et d'éviter des mises-à-jour par saut. En contrepartie, il faut prendre le risque de voir les fonctionnalités des logiciels changer ce qui ne convient pas toujours à tous les usages. Les autres distributions permettent de passer d'une version n à une version n+1, mais cela ne se fait généralement pas sans risque.

Notons que Debian se décline en trois versions : stable/testing/unstable. Les deux dernières étant les versions de développement évoluant en permanence, et la dernière une version figée dans le temps. Les logiciels sont introduits dans unstable (parfois après un passage dans experimental), puis dans testing quelques temps plus tard si ça ne pose pas de problème majeur et enfin testing est figée périodiquement (plus de passage de unstable vers testing) pour devenir la prochaine stable quand elle ne contient plus de bug majeur. L'utilisation de Debian testing ou unstable revient alors à l'utilisation d'une distribution qui est mise à jour en continu. Les autres distributions ont également des branches de développement, mais elle est généralement unique (là où Debian en a deux) et la politique de Debian en terme de stabilité fait que même testing et unstable sont raisonnablement utilisables au quotidien. Il faut tout de même être averti du danger d'utiliser une version de développement.

Épisode suivant : essayez ! >>>

samedi 18 octobre 2008

Belle, belle...

J'ai enfin retrouvé ma feuille de style pour linuxfr !

Il s'agit d'une CSS initialement écrite par Willy Morin et mise sous BEER-WARE LICENSE (ce qui signifie que vous devez une bière à l'auteur si vous le croisez), modifiée par Étienne Bersac et que j'ai modifiée à mon tour...

Faîtes-en ce que vous voulez du moment que vous respectez la licence. Peut-être en ferais-je une autre à partir de zéro si j'ai du courage.

dimanche 12 octobre 2008

Miroirs Free pour URPMI

Après une mise à jour de la Mandriva 2008.1 vers la 2009.0 qui ne s'est pas déroulée sans problème, il m'a fallut mettre à jour ma liste de miroirs.

L'outil de configuration des médias de Mandriva ainsi que le site easyurpmi proposent désormais une configuration automatique des miroirs. Problème : la configuration automatique des miroirs me fait pointer vers distrib-coffee qui en ce moment ne répond pas. Étant chez Free, je préfère avoir ce dernier comme miroir. Il m'a donc fallu modifier à la main le fichier de configuration d'URPMI (/etc/urpmi/urpmi.cfg) tant l'interface est devenue compliquée.

Voici donc mon fameux fichier ayant les sources officielles + PLF poitant chez Free : urpmi.cfg.