Installer NS-2 sur Mac OS X

Prérequis

Vous devez installer les outils de développement de Xcode avec le SDK de X11 (xcode developpement tools) sinon vous risquez d’avoir des erreurs avec libX11.

Ayez aussi une certaine aisance avec l’utilisation du terminal sous Mac OS X

Téléchargement des sources

Sur le site officiel vous avez une liste des différentes version des dépendances de NS2 ainsi que des sources de NS2: http://www.isi.edu/nsnam/ns/ns-build.html

Pour faire simple, nous n’allons ici pas faire une installation dépendance par dépendance, mais nous utiliserons le paquet d’installation all-in-one qui marche très bien (même mieux) pour une installation sur Mac Os X

Téléchargez donc la dernière version de ce paquet disponible ici

Le fichier fait aux alentours de 65 Mo (dans la version dans laquelle je l’ai téléchargée)

Compilation et installation

Pour commencer, décompressez le fichier que vous venez de télécharger dans le répertoire dans lequel vous allez l’installer (ça vous évitera de devoir déplacer le répertoire plus tard). Donc dans le terminal, faites :

[bash]
cd repertoire_de_telechargement
sudo tar xvfz ns-allinone-version.tar.gz /usr/local/ns

Une fois que tout est décompressé à cet endroit, allez-y et lancez la compilation :

[bash]
cd /usr/local/ns
sudo ./install

(Si vous ne voulez pas que la compilation utilise toutes les ressources de votre ordinateur, vous pouvez faire tourner la compilation dans « nice »)

Si tout s’est bien passé, voici ce qui doit s’afficher à votre écran :

Please put /usr/local/ns/bin:/usr/local/ns/tcl8.4.14/unix:/usr/local/ns/tk8.4.14/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /usr/local/ns/otcl-1.13, /usr/local/ns/lib,
    into your LD_LIBRARY_PATH environment variable.
    If it complains about X libraries, add path to your X libraries
    into LD_LIBRARY_PATH.
    If you are using csh, you can set it like:
                setenv LD_LIBRARY_PATH <paths>
    If you are using sh, you can set it like:
                export LD_LIBRARY_PATH=<paths>
(2) You MUST put /usr/local/ns/tcl8.4.14/library into your TCL_LIBRARY environmental
    variable. Otherwise ns/nam will complain during startup.
After these steps, you can now run the ns validation suite with
cd ns-2.31; ./validate
For trouble shooting, please first read ns problems page
http://www.isi.edu/nsnam/ns/ns-problems.html. Also search the ns mailing list archive
for related posts.

Comme vous voyez, l’installation n’est pas terminée. Les programmes sont compilés et marchent, mais ne sont pas encore utilisable car vous devez configurer votre environnement de travail. Pour ça, ouvrez un nouveau terminal et faites vim .bash_profile de manière à ajouter les lignes suivantes au fichier :

[bash]
# Ajoute pour le simulateur NS2
export PATH=$PATH:/usr/local/ns/bin:/usr/local/ns/tcl8.4.14/unix:/usr/local/ns/tk8.4.14/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ns/otcl-1.13:/usr/local/ns/lib
export TCL_LIBRARY=$TCL_LIBRARY:/usr/local/ns/tcl8.4.14/library

Faites de même pour votre fichier de configuration .bashrc qui doit aussi être modifié en conséquence. Ca dépend du terminal que vous utilisez d’habitude.

Validation et test

C’est fait? Nous pouvons maintenant vérifier si l’installation s’est bien passée. Fermez votre terminal, ouvrez en un nouveau (afin que les variables d’environnement soient prises en compte) et aller dans le répertoire de ns pour effectuer la validation :

[bash]
cd /usr/local/ns/ns-2.31
sudo ./validate

Il faut modifier le nom du répertoire en fonction du numéro de la version que vous avez évidement.

(A nouveau, vous pouvez utiliser « nice » … cette étape ci peut prendre beaucoup de temps, et si vous voulez avoir accès aux performances de votre ordinateur pendant ce temps ça peut être intéressant).

La validation s’est terminée correctement? Bravo, système de simulation NS-2 est bien installé sur votre ordinateur.

Enjoy !

Facebook is taking over us

Après avoir séduit des millions d’étudiants américains, ce réseau social « made in Harvard » fait un carton en Europe. Après la période de gloire des sites Web et l’immense effet de mode des blogs, c’est au tour des sites de socialisation d’être en haut de l’affiche. Pourtant, beaucoup ignorent encore de quoi il s’agit exactement, ainsi que l’intérêt que représentent ces nouveaux espaces. L’ingénieux créateur de Facebook, Mark Zuckerberg, n’a rien inventé. Il a rassemblé en un seul site tous les services d’échanges qu’un internaute peut rechercher, à travers une interface simple et ludique.

Les utilisateurs peuvent s’échanger des messages privés ou publics, s’envoyer des fleurs, des œufs, entretenir un aquarium, jouer à des blind tests, ou encore faire leur coming out en direct ! L’intérêt premier de Facebook c’est de garder contact avec mes amis mais surtout de m’amuser en regardant leurs photos et en suivant les potins.

Quand on se connecte la première fois sur Facebook, la chose peut faire peur. Privacy, agreements, wall ou encore applications, autant de mots, en anglais bien sûr, qui ne font pas que rassurer le néophyte. Mais on s’y habitue vite, l’anglais, sur Internet, c’est devenu naturel. Le concept est simple. Chaque membre est maître d’une page où figurent photos, applications et surtout son wall, où ses amis peuvent laisser un petit message. Etrangement, c’est souvent plus facile de laisser un mot sur Facebook que de prendre son portable et d’écrire un sms. La distance créée par l’écran d’ordinateur facilite le contact. Un clin d’œil, un petit bonjour, la blague du jour, autant de message qu’elle n’enverrait pas par sms, mais qu’elle partage avec ses amis grâce à ce site.

Mais c’est le secret de Facebook c’est qu’il se veut très complet. D’autres sites s’étaient déjà proposés de publier photos et messages. On pensera à Hi5, Ringo, ou WAYN, mais aucun d’entre eux ne propose tout cela à la fois. Facebook fait l’objet d’un engouement planétaire. Son succès fulgurant lui promet sans doute un bel avenir sur la toile. Le phénomène est tel qu’il suscite déjà la convoitise des géants Microsoft, Google et Yahoo.

Facebook, le site qui vous piste via vos amis

Voici un scénario qui montre à quel point il est important de maîtriser ce que l’on diffuse sur les réseaux sociaux, à l’image de Facebook, un réseau social qui veut tout savoir sur vous !

D’abord, je m’inscris sur Facebook et donne quelques détails personnels, notamment mon véritable nom, puisque tout le monde fait ainsi. Facebook me propose ensuite de voir qui de mes amis est déjà sur le site. J’entre mon identifiant et mon mot de passe Gmail : Facebook extrait une dizaine d’inscrits de mes contacts, que j’ajoute illico à mes amis. Il me propose ensuite d’envoyer un mail à tous mes autres contacts, ce que je refuse ! Tiens tiens, Marie-Euzèbe, une collègue, a déjà répondu à ma demande de contact, tandis que je suis en train de remplir mon profil. Je me rends sur sa page qui m’offre un panorama complet de sa vie en ligne. Je découvre notamment qu’elle est catholique, qu’elle sort avec un gars qui s’appelle José et qu’elle adore la musique hardcore ! J’en profite pour faire un tour chez ses propres amis. Quelques jours plus tard, après avoir consulté mon profil, Marie-Euzèbe m’envoie un mail : Dis donc, c’est du patron dont tu parles sur ton blog? T’y vas pas avec le dos de la main morte… … oups, quelque chose me dit que je n’aurais pas dû afficher les notes de mon blog sur Facebook !

Dangers … Big Brother is watching you !

Attention, depuis quelques jours, ce ne sont plus seulement vos amis qui sont les lecteurs de votre vie, mais 6 milliards de personnes ! Facebook a annoncé il y a quelques jours que n’importe quel internaute pourrait faire une recherche depuis la page d’accueil du site, sans être identifié. Et prochainement, les internautes n’auront même plus à faire l’effort d’aller sur le site de Facebook, car les résultats pourront être visualisés directement depuis un autre moteur de recherche (Google … par exemple). Facebook vous laisse (heureusement) la possibilité de rendre vos informations visibles ou non, mais les chiffres sont les suivants : 82 % répondent favorablement à une demande d’ajout dans leur liste d’amis d’une personne fictive., 41 % des utilisateurs dévoilent leurs infos personnelles en clair.

Se pose alors un grand problème d’étalement de la vie privée.

Que ce soit dans le monde personnel ou professionnel, il est de plus en plus d’usage de saisir le nom d’une personne dans Google, de scruter les résultats en allant de pages en pages pour en découvrir plus sur celle-ci. Maintenant vous gagnerez du temps quand vous verrez une fiche détaillée arriver en première place dans vos résultats !! Les professionnels du marketing se voient également offrir une nouvelle base de données importante.
Cette initiative d’ouverture aux moteurs de recherche inquiètent beaucoup d’experts en sécurité.

Je vous laisse sur un dire d’un ingénieur de Facebook : « In five years, we’ll have everybody on the planet on Facebook.« 

Le point positif dans tout cela est que les rapprochements entre Facebook et Google sont ralentis à cause (ou grâce ?) d’un contrat publicitaire entre Facebook et Microsoft jusque 2011.

Jeunes internautes, attention à votre identité sur Internet !

Microsoft & Facebook For Ever?

Vous n’êtes pas sans savoir que l’emprise de Microsoft sur le net s’étend de plus en plus.

D’après l’agence Reuters, l’entreprise de Billou a pris une toute petite part dans le capital de FaceBook, soit 240 millions de dollars. (sic !)

L’objectif de Microsoft est triple (voire quadruple) :

  • concurrencer MySpace, leader actuel sur le marché, mais plus pour très longtemps.
  • conserver et améliorer ses revenus publicitaires sur FaceBook.
  • intégrer des outils de traitement de texte ou d’imagerie propre au web, 100 % Microsoft ( via son logiciel Expression : un peu de XAML et d’AJAX sauce Atlas)
  • couper l’herbe sous le pied de l’axe du Mal : Google !

Pas mal, pour 240 millions de dollars US, le retour sur investissement sera plus que satisfaisant. Pour le même prix, ça ferait pas mal de nouveau iMac ou d’écrans plasma 100 pouces, mais bon, la vie est question de priorité.

En effet cet accord devrait permettre aux deux entreprises de renforcer leur partenariat commercial. Microsoft vendait déjà les publicités en ligne à paraître sur les pages de Facebook aux États-Unis, la firme de Seattle s’occupera désormais des pubs du site social dans le monde entier. Un pacte qui vaut le coup, sachant qu’actuellement, 60 % des utilisateurs de Facebook ne résident pas aux États-Unis.

Microsoft était en pleine bataille avec Google pour réaliser cet investissement chez Facebook. Google cherchait aussi à capturer ce juteux marché publicitaire. Personne n’a souhaité commenter le déroulement de ces négociations, ni chez Microsoft, ni chez Facebook. Une chose est certaine : le débat entre Google et Microsoft a fait grimper les enchères très haut.

Une porte d’entrée pour les personnes malveillantes

Selon des analystes de VeriSign iDefense, la possibilité de concevoir et d’offrir des applications fonctionnant sur Facebook ouvre la porte à la distribution de programmes malveillants. D’ailleurs, les utilisateurs de telles applications, crées par des développeurs tiers, acceptent de le faire «à leurs propres risques», peut-on lire dans la politique de confidentialité de Facebook.

VeriSign iDefense rappelle que les concepteurs des applications offertes sur Facebook ont la liberté de rédiger leurs propres conditions d’utilisation, ce qui peut mener à d’éventuels excès. Toujours selon VeriSign iDefense, Facebook fait également ressortir le problème grandissant de la divulgation d’informations personnelles sur la Toile.

À titre d’exemple, l’entreprise affirme avoir réussi à accéder, en moins de 15 minutes, à assez de renseignements au sujet d’une utilisatrice de Facebook pour être en mesure de voler son identité.

La meilleure solution est d’éviter de divulguer des informations personnelles, résume Rick Howard, déplorant toutefois que la nature captivante de tels réseaux sociaux l’emporte trop souvent sur la nécessité d’adopter des pratiques en ligne sécuritaires.

MEMO : Personnaliser son terminal en modifiant le fichier .bashrc

Modifier la ligne PS1 qui s’affiche devant votre curseur

PS1="[\u@\h: \w]$ "

Vous avez donc

  • \u : le nom de l’utilisateur courant
  • \w : le path jusqu’au dossier courant
  • \h : le nom de l’hôte

Mettre des alias

Les alias les plus courant sont

alias ls='ls -G'
alias ll='ls -Ghl'
alias la='ls -Ga'
alias l='ls -Ghl'
alias ..='cd ..'
alias cd..='cd ..'
alias ...='cd ../..'

Configurer une variable d’environnement

Créer une variable :

export VARIABLE=valeur1:valeur2:valeur3:$AUTRE_VARIABLE

Ensuite, pour l’utiliser :

$ echo $VARIABLE

(il faut toujours mettre le ‘$’ devant la variable lorsqu’on souhaite l’utiliser)

Ajouter des chemins à votre PATH

export PATH=nouveauchemin:$PATH

Et pour vérifier que le PATH est aussi complet que vous le soutiez :

$ echo $PATH

Pourquoi passer au 64 bits? … ou pas !

Désavantages liés à l’OS

Pour le moment l’inconvénient majeur des version 64bits, c’est qu’il n’y a pas certains paquets, surtout proprio, genre Flash, les w32codecs… Certaines applis ne sont pas non plus compilées en 64its pour être dans les dépôts. Dès lors, il sera plus difficile pour un utilisateur lambda d’accéder à ces applications. Il est toujours possible de les recompiler pour son propre environnement, mais ça n’est pas spécialement évident pour tout le monde.

Il vaut donc mieux rester en 32bit pour la bureautique. Mais bon, rien ne vous empêchera d’installer un noyau 64bit et de booter dessus pour des applications spécifiques. On pourrais par exemple avoir deux noyaux installés sur une même machine et au démarrage on peut faire le choix d’utiliser l’un où l’autre. Il faudrait mesurer le gain. Mais on a déjà une perte au niveau de la facilité d’utilisation.

Si on veux exploiter à fond le 64bit, il faudrait utiliser une distribution source comme Gentoo qui recompile à chaque installation toutes les sources des programmes sur l’architecture choisie. Ca permet d’avoir une distributions « aux petit onions » mais une fois de plus, tout le monde n’a pas envie de perdre son temps à chipoter des heures durant pour que ça fonctionne.

Concernant les performances

Pour une station de travail classique, il n’y a pour ainsi dire pas d’avantages au 64-bit. Que ce soit pour des jeux, de la bureautique ou du multimédia, le 64-bit n’apporte quasi rien. Là où le 64-bit a vraiment un gros avantage, c’est pour des applications spécifiques. Il y a deux avantages majeurs à avoir une architecture 64-bit:

1/ Précision des nombres (naturels,entiers, réels):

Prennons les entiers: en 32-bit, un entier peut prendre des valeurs comprises entre -2147483647 et 2147483647 (si il est codé sur 32-bits et qu’il est signé, c’est pas toujours le cas mais je vais pas rentrer dans les détails). en 64-bit, un entier peut prendre des valeurs comprises entre -9223372036854775807 et 9223372036854775807

Pour les réels, on va donc gagner en nombre de décimales autorisées.

On gagne donc en précision sur les nombres, ce qui est intéressant principalement pour des calculs dans le cadre de recherches scientifiques.
Il est important de noter qu’on peut très bien coder un entier sur 64 bits dans un environnement 32-bit. Mais dans ce cas précis, les calculs seront deux fois plus rapides dans un environnement 64-bit.

2/ Précision de l’adressage:

Ca, c’est l’avantage majeur. Qui n’est jamais qu’une conséquence du point précédent nous avons vu les valeurs limites pour un entier signé. Les OS gèrent la mémoire avec des entiers. Si l’OS utilise un codage 32-bit pour son adressage et qu’il utilise des entiers non signés, il pourra adresser un espace mémoire de 4294967296 bytes =2³² bytes = 4GB.

Si on prends toutes les versions 32-bit d’un OS. A la base, il gère jusqu’à 2GB sans problèmes. Par contre, si vous installez un OS sur un PC avec 4GB de RAM, il ne pourra en exploiter que 3GB et encore, il faut le forcer à modifier sa manière de gérer la mémoire et ça peut devenir instable sur certains chipsets. Une fois de plus, ça ne concerne pas la majorité des gens. Par contre pour un serveur, ça deviens vite un gros problème. C’est pourquoi, les systèmes 64bits se vendent actuellement principalement sur des serveurs.

Un autre cas pratique est l’ancien format de disque Windows, le FAT32. Celui-ci faisait donc de l’adressage sur 32 bits et il était donc impossible de créer un fichier de plus de 4GB (ou même 2GB, je ne sais plus). Une fois de plus, ce genre de problème ne se rencontre que dans des applications spécifiques (grosses bases de données p.e.)

Voilà qui devrait éclaircir un peu les choses au niveau technique.

Performances comparées dans les benchmarks

Pour ce qui est des benchmarks de jeux, ça ne rime à rien. L’idée que le 64-bit augmente les performances est globalement fausse. Trois choses importantes sont à considérer dans ce domaine:

1/ Un jeux qui aurait été codé en 32-bit ne peut pas tourner dans un environnement 64-bit sans ajouter une couche supplémentaire (émulation) comme elle existe dans Win-64, par exemple, mais qui altère méchamment les performances. Si on transpose un code efficace en 32-bit dans une version 64-bit (c’est donc un autre exécutable compilé spécifiquement pour un environnement 64-bit). Les performances doivent être (+/-) identiques (sur un hardware équivalent évidement).

2/ Le seul cas où la version 64-bit serait plus performante est si le jeu a un réel besoin de manipuler une grosses quantité de nombres codés sur 64 bits. Ceci pourrait être le cas pour une grosse simulation 3D, mais en pratique ce n’est pas vraiment le cas pour les jeux. L’avènement des jeux 3D s’est fait en 32-bit et les développeurs ont appris à contourner les problèmes que ça suppose.

3/ Pour faire tourner un jeu efficacement sur une plateforme 64-bit, il faut avoir un hardware traitant efficacement les instructions 64-bit. Et ce du CPU au GPU, en passant par les bus, la mémoire, etc… Ce n’est pas encore le cas à l’heure actuelle.

Conclusion

Donc, pour conclure, la seule chose qui va nous obliger un jour à passer au 64-bit est le fait que les constructeurs hardware vont arrêter de fabriquer des composants 32-bit. Et pour la majorité des gens, ceci n’apportera que des ennuis comme ceux évoqués pour les systèmes d’exploitations. En fait, là où ça va être vraiment pénible, c’est pour les gens qui emploient un vieux logiciel qui n’est plus supporté et qui ne sera pas porté en 64-bit. Celui-ci va fonctionner moins bien dans un environnement 64-bit, si il fonctionne…

Pour plus d’infos, il y a un article sur Wikipédia en anglais : 64-bit

Un peu d'histoire : Le Logo d'Apple

L’origine du logo d’Apple…plus romantique que ce que l’on croit !

Il existe quantités de légendes quant à l’origine du logo d’Apple, mais l’une des plus rapportées, et non des moins belles, est la suivante.

Le logo serait une évocation d’Alan Turing. En effet, ce mathématicien dont les travaux ont permis la naissance de l’informatique, endura un procès pour… homosexualité, puis une… castration chimique. Suite à cela, il s’est suicidé en croquant une pomme qu’il avait trempé dans du cyanure.

La pomme croquée et les couleurs de l’arc en ciel seraient un hommage au grand homme.

D’autres sources rapporteraient d’autres légendes :

Le nom Apple vient de la pomme tombée sur la tête de Newton (si l’on se réfere au premier logo d’Apple avant 1976). Lorsque l’Apple II fut commercialisé, le logo devint une pomme multicolore. Le nom de cette pomme est « McIntosh », d’où le futur nom des ordinateurs de l’entreprise. À force de dire Macintosh (nom plutôt long), le nom a été réduit à « Mac » au retour de Steve Jobs dans l’entreprise.

Une autre légende dit que les créateurs d’Apple étaient en train d’attendre leur tour pour enregistrer leur société quand ils réalisèrent qu’ils avaient songé à tout sauf à un nom. Steve Jobs qui mangeait une pomme pour tromper l’attente décréta : Si nous ne trouvons rien, on mettra « Apple (pomme) ». Ce qui expliquerait (conditionnel) le logo à la pomme croquée…

Sources :

VIM : petit mémo

Voici une petite sélection des raccourcis bons à connaître lorsqu’on utilise, comme moi, l’éditeur de texte VIM à la pèle. Je le met ici juste à titre indicatif pour que je ne les oublie pas … et puis si ça peut servir à quelqu’un d’autre, qu’il en profites surtout.

Toutes les commandes suivantes sont à précéder de « esc » si vous êtes en mode insertion.

  • Couper une ligne: « dd »
  • Couper un mot: « dw »
  • Couper un mot et entrer en mode insertion : « cw »
  • Coller: « p »
  • Annuler: « u »
  • Sauver et quitter (idem à :x) : ZZ
  • Rechercher: « /texte_recherche »
  • Aller a une ligne precise: nombre puis « G »
  • Lancer une commande: « :!commande »
  • Fleches: « h | j | k | l »
  • Ouvrir un fichier dans une autre fenetre: « :vs fichier »
  • Naviguer parmi les fenetres: « :winc h | j | k | l »
  • Effacer la fin de ligne depuis le caractere courant et entrer en mode insertion : « C »
  • idem mais n’ouvre pas le mode insertion : « D »
  • activer la coloration syntaxique : « :syntax enable »

NB : pour garder la coloration syntaxique, il faut rajouter la ligne « :syn on » au fichier /etc/vim/vimrc (valable pour tous les utilisateurs)

Plus de détail sur le logiciel de traitement de texte vim sur wikipédia : http://fr.wikipedia.org/wiki/Vim

PS: je me suis permis d’ajouter encore quelques trucs suite à vos commentaires

OpenPros.Be, pour les Professionnels

Ouverture d’un site dédié à l’Open Source pour le monde professionnel, alors hop, un petit coup de pub ca vaut le coup, c’est pour le Libre 🙂

Openpros.be

  • Esprit libre – business ouvert
  • Une communauté belge pour les professionnels du logiciel libre.

C’est avec joie et fierté que nous ouvrons aujourd’hui au public le site openpros.be

Le site est prêt a accueillir vos articles, offres d’emploi, présentation de sociétés, appels d’offres et autres informations.

Nous vous invitons a créer un profil pour vous ou votre société afin de rejoindre ce qui deviendra nous l’espérons la première communauté belge des utilisateurs professionels de logiciels libres.

L’équipe Openpros.be

Eric Hanuise et Vincent Boulanger.