<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="0.92">
	<channel>
    <title>yay</title>
    <link>http://yay.blog2geek.com</link>
    <description>Blog specialise; geek et geek attitude.</description>
    <language>fr-FR</language><item>
        <title>C\'est la fuite des cerveaux...</title>
        <link>http://t4c4evr.blog2geek.com/c-est-la-fuite-des-cerveaux-879.html</link>
        <description>
Dans le billet suivant : cousins d&amp;#39;amérique


On trouve tout ce qu&amp;#39;on veut savoir sur la fuite des cerveaux vers l&amp;#39;amérique...


Selon wikipedia, La fuite des cerveaux ou exode des cerveaux (Québec) ou drainage des cerveaux ( brain drain en anglais) désigne les flux migratoires des scientifiques et des chercheurs s&amp;#39;installant à l&amp;#39;étranger pour trouver de meilleures conditions de travail ou de rémunérations. 
</description>
		<pubDate>Sun, 28 Feb 2010 16:12:00 GMT</pubDate>
      </item><item>
        <title>black hattitude</title>
        <link>http://journaldugeek.blog2geek.com/black-hattitude-878.html</link>
        <description>
L&amp;#39;annuaire du geek participe activement au nouveau concours seo intitulé black hattitude dont l&amp;#39;objectif est de sortir du lot quand on tape la requete black hattitude dans le meilleur des moteurs de recherche français: Google.


La black hattitude c&amp;#39;est un état d&amp;#39;esprit qui consiste à manipuler les résultats des moteurs de recherches à de fins personnelles ou financières. 



	
	
	

 


Soyez prêt à affronter les meilleurs black haters du web ;) 


 
</description>
		<pubDate>Mon, 07 Sep 2009 20:39:00 GMT</pubDate>
      </item><item>
        <title>Annuaire</title>
        <link>http://journaldugeek.blog2geek.com/annuaire-877.html</link>
        <description>Pour information, la plateforme du blog est sur l&amp;#39;annuaire geek ;)</description>
		<pubDate>Sat, 04 Apr 2009 11:26:00 GMT</pubDate>
      </item><item>
        <title>Bientot disponible</title>
        <link>http://journaldugeek.blog2geek.com/bientot-disponible-876.html</link>
        <description>
Promis je vous concocte rapidement des posts géniaux !


 


A bientot! 
</description>
		<pubDate>Sat, 04 Apr 2009 11:24:00 GMT</pubDate>
      </item><item>
        <title>location villa grèce</title>
        <link>http://appartexpresscom.blog2geek.com/location-villa-grece-875.html</link>
        <description>http://www.appartexpress.compour voir la villa cliques compies-colles le lien suivant ; http://www.appartexpress.com/fiche_appart.php?idapart=590&amp;pays=GRECE&amp;ville=Halki%20dodecanese Villa Lorenzo! magnifique villa pour 3 personnes entièrement vue mer, terrasse, douche exterieur... décoration raffinée. Un vrai petit coin de paradis pas encore envie par la foule des touristes..Plage calme, eaux limpides. ile axée sur le repos, le calme et la détente. Description						Surface (M2) : 45			Etage : 0			Pièce(s) : 2			Capacité : 3			Style : Ancien			Exposition : Sud			Quartier : ile dodecanese Grece						 						 AdresseHalki81000 Halki dodecanese </description>
		<pubDate>Thu, 05 Mar 2009 03:25:00 GMT</pubDate>
      </item><item>
        <title>location villa cannes france: http://www.appartexpress.com/fiche_appart.php?idapart=103&amp;pays=FRANCE&amp;ville=Cannes</title>
        <link>http://appartexpresscom.blog2geek.com/location-villa-cannes-france-http-wwwappartexpresscom-ficheappartphpidapart103-paysfrance-villecannes-874.html</link>
        <description>http://www.appartexpress.com http://www.appartexpress.com/fiche_appart.php?idapart=103&amp;pays=FRANCE&amp;ville=Cannes The famous &quot;Mas Ste Hélène&quot; selected by the best international guides of the residences of charm, is ideally located in California, residential district made up of villas hidden under the pines, at 15 minutes walk to the Croisette,. The cottage, full southern exposed, enjoys a pleasant sight released on the district with an interview on the sea, a closed and raised garden. A paved private court is prolonged on a decorated covered terrace with a barbecue, allowing to shelter the meals in the open air. -This charming small villa of approximately 70 m2, furnished in Provence style is ideal to receive 4 people. -Ground floor: a living room with an american kitchen, entirely equipped, a wash-house with a washing machine and to dry the linen and an independent bathroom with an external access. -On the 1st floor: 2 double rooms, including a bathroom and a balcony reaching directly the garden brimming with lavender, olive trees and rosemary.-Patio with wines and barbecue for open air dinners.Tennis a hop away, horseback riding and golf also nearby. International Nice airport is 30 km away, Saint-Tropez: 50 km away and Monaco: 60 Km away.</description>
		<pubDate>Thu, 05 Mar 2009 03:21:00 GMT</pubDate>
      </item><item>
        <title>Schaïly Vanderlhon</title>
        <link>http://beeinge.blog2geek.com/schaily-vanderlhon-873.html</link>
        <description>
Je suis née le 24/09/1977 en France,
j&amp;#39;aime la mode depuis mon enfance, ayant la chance de vivre à
Paris, mon étude de stylisme dans la capitale de la mode m&amp;#39;a
permis d&amp;#39;évoluer dans un monde de rêve à la
recherche du nouveau et de l&amp;#39;excellence. Directrice
artistique de la marque de couture Française BEEINGE, j&amp;#39;ai
conçu ma collection de prêt à porter pour homme
suivant une énigme : Do you know who i am. J&amp;#39;ai voulu me
regarder, me retrouver dans ce luxe à l&amp;#39;état pur.


&amp;#39;&amp;#39;Le luxe à l&amp;#39;état pur&amp;#39;&amp;#39; (Slogan
déposé et protégé appartenant
exclusivement à l&amp;#39;enseigne BEEINGE)



</description>
		<pubDate>Thu, 18 Dec 2008 11:26:00 GMT</pubDate>
      </item><item>
        <title>hey hey chesnut</title>
        <link>http://chesnut30.blog2geek.com/hey-hey-chesnut-872.html</link>
        <description>

</description>
		<pubDate>Wed, 03 Dec 2008 00:56:00 GMT</pubDate>
      </item><item>
        <title>location vacances</title>
        <link>http://appartexpresscom.blog2geek.com/location-vacances-871.html</link>
        <description>Pour vos vacances ( mer-montagne-ville-campagne ), ou voyages affaires, mobilités et déplacements professionnels, en France ou ailleurs dans le Monde, vous avez besoin d&amp;rsquo;un appartement meublé, villa meublée ou chalet meublé, contacter http://www.appartexpress.com

For your holiday (sea-mountain-town campaign), or travel business mobility and travel in France, or elsewhere in the world, you need a furnished apartment, furnished villa, or furnished cottage- chalet , contact 
http://www.appartexpress.com
</description>
		<pubDate>Fri, 21 Nov 2008 01:11:00 GMT</pubDate>
      </item><item>
        <title>casse toi pauvre con</title>
        <link>http://root.blog2geek.com/casse-toi-pauvre-con-867.html</link>
        <description>
« Je suis pas illégal! je vends un nom de domaine j&amp;#39;ai tout à fait le droit et c&amp;#39;est chose courante sur leur site d&amp;#39;ailleurs ! ». 


Vu sur pcinpact.com, la vente du nom de domaine Casse-toi-pauvre-con.com
via eBay a été interdite par le site ebay, c&amp;#39;est pourtant inspiré d&amp;#39;une phrase du président Sarkozy en viste au salon de l&amp;#39;agriculture !
</description>
		<pubDate>Fri, 29 Feb 2008 19:06:00 GMT</pubDate>
      </item><item>
        <title>1er poste</title>
        <link>http://lionelba-s-moss-blog.blog2geek.com/1er-poste-866.html</link>
        <description>
Et voilà aujourd&amp;#39;hui j&amp;#39;ouvre mon Blog, sur MOSS 2007 et Windows SharePoint Services 3.0.


Après 7 années de travail chez Microsoft Services en France et presque 4 ans à travailler et aider les clients sur Sharepoint, j&amp;#39;ai décidé de partager mes connaissances chez Sword-Group et aussi de partager à la communauté mon expérience sur Sharepoint au travers de ce Blog.



J&amp;#39;essaierais aussi de parler d&amp;#39;autres sujets qui me tiennent à coeur :


	Développement .Net
	Business Inteligence
	SQL Server XXXX


Alors bienvenu sur le Lionelba&amp;#39;s MOSS Blog. Lionelba c&amp;#39;était mon user interne à l&amp;#39;époque chez Microsoft.
</description>
		<pubDate>Mon, 25 Feb 2008 10:28:00 GMT</pubDate>
      </item><item>
        <title>Berbiqui ?</title>
        <link>http://berbiqui.blog2geek.com/berbiqui--865.html</link>
        <description>
Vous voulez en savoir plus ? allez voir le site :


association berbiqui 
</description>
		<pubDate>Sun, 03 Feb 2008 18:20:00 GMT</pubDate>
      </item><item>
        <title>Probleme sous IE7</title>
        <link>http://jeuxvgagner.blog2geek.com/probleme-sous-ie7-864.html</link>
        <description>
Hello a tous,


 Je me présente:


 Je m&amp;#39;appelle Jordan Samouh et je suis en derniere année d&amp;#39;ingénieur en informatique à EPITA. J&amp;#39;ai connu ce site grace a un ami -&gt; Chuck(ami de toujours et colloc en Hollande--Erasmus)  qui m&amp;#39;a dit que je pouvais exposer mon probleme en postant un billet sur ce site!!


 


J&amp;#39;ai un site qui se nomme jeuxVgagner accessible a l&amp;#39;adresse www.jeuxvgagner.com


jeuxVgagner.com
est un site français de jeux basés sur le principe de &quot;l&amp;rsquo;instant
gagnant&quot;. Il permet de gagner de 5 à 1500 Euros ainsi que de nombreux
cadeaux en moins d&amp;#39;une minute ! L&amp;#39;inscription au service est simple et
gratuite avec 0.10cts d&amp;#39;euros offert. Les gains sont garantis.


 


 Voila pour l&amp;#39;intro, passons au probleme:


 Le site tourne merveilleusement bien sous firefox (comme d&amp;#39;hab) mais sous IE 7 le site saccade!! Il est super lent et du coup vraiment pas facile dans la navigation!!


 


Je n&amp;#39;ai pas trouvé de solution !! Mon site jeuxVgagner commence à être assez convoité par des joueurs mais certains se plaignent encore de la lenteur sous IE (quelque soit la version)


 


Can U help me???????????? Qnn peux me dire ou est le probleme?


 


Cordialement,


Jordan Samouh , webmaster du site jeuxvgagner.com 


 
</description>
		<pubDate>Fri, 25 Jan 2008 14:31:00 GMT</pubDate>
      </item><item>
        <title>Ask.com again</title>
        <link>http://root.blog2geek.com/askcom-again-863.html</link>
        <description>Ask fait de la pub via google, plutôt marrant d&amp;#39;annoncer via un concurrent, non ?</description>
		<pubDate>Sat, 05 Jan 2008 11:26:00 GMT</pubDate>
      </item><item>
        <title>Intel et OLPC</title>
        <link>http://root.blog2geek.com/intel-et-olpc-862.html</link>
        <description>
La news du moment c&amp;#39;est qu&amp;#39;intel a décidé de cesser sa participation au projet OLPC (One Laptop Per Child) du fameux Negroponte( prof au MIT).


La goutte d&amp;#39;eau ayant fait déborder le vase étant la demande par Negroponte de l&amp;#39;arrêt des partenariats entre Intel et les fabricants de machines pouvant concurrencer la petite machine du projet OLPC. Ce qui inclue par exemple les ASUS EEEPC... 
</description>
		<pubDate>Sat, 05 Jan 2008 11:25:00 GMT</pubDate>
      </item><item>
        <title>Cours F# et migration du blog</title>
        <link>http://test.blog2geek.com/cours-f-et-migration-du-blog-853.html</link>
        <description>
Cours F#


Depuis quelques semaines, je rédige un cours d&amp;#39;introduction à F#. C&amp;#39;est disponible sur mon site : Cours et tutoriels F#


Voici les liens directs vers les chapitres :


	Introduction à F# et Hello world
	Types de base et expression 
	Déclarations et expressions conditionnelles
	
	Les fonctions : utilisation et définition
	Fonctions anonymes, application partielle et opérateurs
	Fonctions d&amp;#39;ordre supérieur et composition de fonctions
	
	Pattern matching
	Types énumérables et compréhensions de listes
	



Migration

J&amp;#39;ai commencé à migrer un certain nombre de billets de ce blog vers mon site. Les nouveaux articles seront désormais écrits sur mon site (je les dupliquerai peut-être aussi ici pour la transition). Voir mes articles (c&amp;#39;est la partie &quot;Divers&quot;). Il va falloir mettre à jour vos flux RSS.


L&amp;#39;intérêt pour moi est surtout d&amp;#39;avoir plus de contrôle sur mes billets, sur leur mise en page (il y a la coloration syntaxique du F# !), d&amp;#39;avoir un flux RSS (et même plus) pour moi tout seul. De plus, l&amp;#39;interface de blog2geek n&amp;#39;est pas très agréable. Et enfin, il n&amp;#39;y a pas de pub ! :)
</description>
		<pubDate>Sun, 25 Nov 2007 03:08:00 GMT</pubDate>
      </item><item>
        <title>[Musique] Une solution pour la musique adaptative - suite</title>
        <link>http://test.blog2geek.com/musique-une-solution-pour-la-musique-adaptative-suite-850.html</link>
        <description>
Partie 5 - Une solution - suite


Cette page n&amp;#39;est qu&amp;#39;un miroir. Pour la dernière version, veuillez lire Une solution pour la musique adaptative - suite sur mon site.

 

Le plus important, pour moi, est que le musicien connaisse précisément le scénario du jeu et l&amp;#39;étudie. Dans beaucoup de jeux amateurs, le musicien a juste une liste de musiques à faire, et elles sont souvent faites indépendamment du jeu (il a une vague description de ce qu&amp;#39;il doit faire). A contrario, dans les films, la musique à être faite en accord avec le reste. La musique est adaptée à l&amp;#39;image, et l&amp;#39;image s&amp;#39;adapte aussi à la musique (par exemple, faire durer la scène une seconde de plus pour que ça tombe bien).


Je pense qu&amp;#39;il est préférable que la musique soit réfléchie une fois que le scénario détaillé est prêt. Il convient ensuite de lister les musiques à faire et de créer un graphe sur papier. Sur le graphe, chaque n&amp;oelig;ud représente une musique, chaque arc indique qu&amp;#39;une transition sera nécessaire. Il peut être intéressant de pondérer les arcs avec l&amp;#39;importance de la transition (qui est liée avec la probabilité de son apparition). Cela permet de se concentrer en priorité sur les passages essentiels. Sur le graphe, il faut aussi noter si la transition doit être subtile (une simple évolution de la musique) ou si elle marque un changement (deux musiques différentes).


Lorsque l&amp;#39;on fait une simple évolution, il est préférable que les aspects de la musique soient composés en parallèle. Les deux musiques devraient avoir la même mesure et durer le même temps. Ainsi, lors d&amp;#39;une transition, on peut jouer la musique B à la position précise où s&amp;#39;est arrêtée A. Cela permet de garder la continuité de la musique, en particulier si la mélodie est la même.


Lorsque l&amp;#39;on fait un changement de musique, il est plus simple de commencer la musique B au début et marquer la transition (par exemple, avec une cymbale). Pour plus de variété, il peut être intéressant de noter plusieurs points de commencement possibles. Par exemple, au lieu de jouer B du début, on peut jouer B à partir d&amp;#39;une position t décidée à l&amp;#39;avance. Cela permet, si le joueur fait des allers-retours entre deux zones, de briser la monotonie et de ne pas toujours jouer les mêmes passages (le début de la musique).


De même, si les joueur est susceptible d&amp;#39;alterner entre deux zones, il est judicieux de prévoir plusieurs transitions possibles. Le moteur de son en choisit alors une au hasard. Cela casse une certaine linéarité et une prédictibilité. Cela génère bien entendu un surplus de travail. Il est donc important de bien concevoir le graphe, de noter les relations entre les musiques pour travailler en détail les parties qui méritent l&amp;#39;attention. De même, puisque le graphe peut potentiellement être complexe, je conseille d&amp;#39;implémenter une transition par défaut (de type fondu). Cette transition sera jouée quand aucune autre n&amp;#39;a été faite.


 


Conclusion


La solution présentée est donc un bon compromis entre la playlist classique et le format tracker. Elle permet d&amp;#39;avoir une très bonne qualité de son, un faible coût en CPU, et permet des transitions agréables. Cependant, il faut garder à l&amp;#39;esprit que cela demande beaucoup plus d&amp;#39;efforts pour le musicien. Chaque transition devra être travaillée individuellement. Cela pose aussi des restrictions sur les musiques, qui ne pourront pas être aussi complexes que le musicien pourrait le souhaiter. Il est donc important de réfléchir et de décider à quels endroits une transition fluide est nécessaire, et à quels endroits une discontinuité dans la musique peut convenir.


 


P.S. : n&amp;#39;hésitez pas à dire en commentaires si ces billets vous ont été utiles, ou si vous avez des choses à ajouter. Ça me permettra de compléter si nécessaire. 
</description>
		<pubDate>Sat, 27 Oct 2007 13:49:00 GMT</pubDate>
      </item><item>
        <title>[Musique] Musique adaptative : une solution efficace</title>
        <link>http://test.blog2geek.com/musique-musique-adaptative-une-solution-efficace-849.html</link>
        <description>
Partie 4 - Musique adaptative : une solution efficace


Cette page n&amp;#39;est qu&amp;#39;un miroir. Pour la dernière version, veuillez lire Une solution efficace pour la musique adaptative et les autres billets sur mon site.


 


Un compromis...


Comme nous l&amp;#39;avons vu, la solution naïve (une simple playlist, avec fondus) offre très peu de flexibilité, mais permet une très bonne qualité sonore. L&amp;#39;approche des modules garantit une grande souplesse, mais a un certain nombre de problèmes. Comme souvent, il faut trouver le juste milieu et trouver un compromis.


À mi-chemin entre la musique en mp3/ogg en un seul bloc, et la musique découpée note par note, on peut imaginer une musique divisée de façon plus subtile. On peut séparer la musique de manière plus logique : d&amp;#39;un côté, les percussions, de l&amp;#39;autre l&amp;#39;accompagnement et les mélodies. Ce découpage n&amp;#39;est pas le seul possible, ça dépend du contexte et de ce que l&amp;#39;on veut faire. Mais partons de là. Le concept est d&amp;#39;avoir plusieurs fichiers ogg que l&amp;#39;on lit simultanément pour retrouver le morceau d&amp;#39;origine. Techniquement, il n&amp;#39;y a aucune perte. La qualité du son et celle de la composition sont potentiellement excellentes. Regardons maintenant ce que l&amp;#39;on peut faire au niveau des deux aspects de la musique adaptative : l&amp;#39;évolution d&amp;#39;une musique et la transition entre deux musiques.


Pour faire évoluer une musique, plusieurs possibilités s&amp;#39;offrent à nous. Pour faire évoluer le rythme, c&amp;#39;est simple : il suffit d&amp;#39;avoir deux fichiers ogg, chacun correspond à un rythme différent. La musique utilise le premier rythme, et passe au suivant quand la transition est requise. Il y a quand même une chose à respecter : il est préférable que la mesure ait la même durée dans les deux fichiers. Par ailleurs, il est nécessaire que la transition se fasse entre deux mesures. Il faut donc insérer un délai de quelques secondes pour que la transition soit propre.


Pour l&amp;#39;accompagnement, on peut utiliser la même technique : deux musiques, synchronisées, utilisant les mêmes accords, mais ayant des ambiances différentes. Par exemple, la même mélodie jouée par deux instruments différents. Ou encore, le deuxième accompagnement peut avoir juste quelques instruments de plus. La transition entre les deux fichiers est assez simple : soit un remplacement brutal, de la même façon que pour les percussions ; soit un fondu (cross-fade) entre les deux fichiers. Le choix entre ces deux transitions dépendra des fichiers.


Cela suffit pour faire évoluer une musique, mais les transitions restent pauvres et n&amp;#39;atteignent pas ce que ferait un vrai compositeur. Pour obtenir un résultat beaucoup plus crédible, il faut ajouter une possibilité : celle de jouer un sample, temporairement, pour la transition. Imaginons la transition suivante :


	Jouer immédiatement un sample (de durée t). Par exemple, un son de percussions qui s&amp;#39;accélèrent progressivement.
	Jouer, au temps t, un sample. Par exemple, une cymbale.
	Arrêter l&amp;#39;accompagnement actuel, au temps t.
	Jouer un autre accompagnement, au temps t.


 


Cela donne un résultat beaucoup plus crédible. Il faut bien sûr faire en sorte que le temps t coïncide parfaitement avec la mesure. La transition entre deux musiques très différentes suit la même logique : il faut définir une suite d&amp;#39;effets à exécuter.


 


Lire la suite de billet : une solution efficace - suite
</description>
		<pubDate>Sat, 27 Oct 2007 01:41:00 GMT</pubDate>
      </item><item>
        <title>[Musique] Tracker et musique adaptative</title>
        <link>http://test.blog2geek.com/musique-tracker-et-musique-adaptative-848.html</link>
        <description>
Partie 3 - Tracker et musique adaptative



Cette page n&amp;#39;est qu&amp;#39;un miroir. Pour la dernière version, veuillez lire Tracker et musique adaptative et les autres billets sur mon site.


 


L&amp;#39;utilisation du format tracker pour transformer de la musique


Le but est de générer (une partie) de la musique en temps-réel, à l&amp;#39;exécution du jeu. Calculer la musique en temps réel n&amp;#39;a finalement rien de nouveau : c&amp;#39;est ce que font les logiciels de MAO, et en particulier les trackers. Une idée est donc de stocker, non pas un fichier mp3/ogg, mais plutôt la partition et l&amp;#39;ensemble des instruments. Le logiciel a donc beaucoup d&amp;#39;information pendant l&amp;#39;exécution et peut plus facilement effectuer des modifications sur le son.


Pour que les choses soient claires : il n&amp;#39;est pas question ici de créer de la musique à partir de rien, mais plutôt d&amp;#39;adapter la musique à la situation. On ne souhaite fabriquer des mélodies, mais moduler l&amp;#39;ambiance de la musique. Musicalement, une mélodie créée par informatique est très pauvre, sa qualité est très loin de ce que ferait un musicien professionnel. Nous voulons une musique riche et complexe, mais qui s&amp;#39;adapte pendant le jeu. Concrètement, il y a deux points importants : il faut être capable d&amp;#39;une part de modifier subtilement l&amp;#39;ambiance dégagée par la musique, et d&amp;#39;autre part de fournir des transitions fluides entre les différentes musiques.


Si la musique est stockée sous forme de module (.it, .xm...), un certain nombre d&amp;#39;opérations sont faciles à implémenter. On peut activer ou désactiver des channels à tout moment. Par exemple, si un personnage parle, il peut-être judicieux de couper momentanément les percussions (pour mieux entendre la voix). Il est facile aussi d&amp;#39;effectuer des modifications sur le volume des instruments : si dans la scène un personnage joue du piano, le volume de piano pourrait varier en fonction de notre position ; il est possible aussi de jouer sur le panning, mais de façon très douce (sinon, ça peut devenir très désagréable quand c&amp;#39;est une musique de façon). Mieux encore : il est possible de changer d&amp;#39;instrument à tout moment. Par exemple, une flute paisible pourra se transformer en trompette menaçante à l&amp;#39;approche d&amp;#39;un ennemi. Ou encore, il est possible d&amp;#39;effectuer des transformations sur les notes elles-mêmes. Un changement de gamme de la mélodie principale, ou le changement d&amp;#39;octave peuvent avoir des effets intéressants sur l&amp;#39;atmosphère créée. Enfin, il est possible d&amp;#39;influer directement sur le tempo : accélération et ralentissement de la musique sont assez enfantins à faire.


L&amp;#39;autre aspect concerne les transitions entre les musiques. Comment passer d&amp;#39;une musique à une autre, de manière fluide ? Le fondu naïf étant bien sûr à éviter. Dans un module, il est possible de définir des patterns supplémentaires, qui ne font pas vraiment partie de la musique. On peut donc les utiliser pour les transitions. Pour passer d&amp;#39;une musique A à une musique B, on peut jouer un pattern (composé à l&amp;#39;avance) entre les deux.

Limitations


La principale limitation concerne la qualité du son. Pour obtenir une bonne qualité sonore avec un tracker, il est souvent nécessaire d&amp;#39;utiliser des générateurs (de type VST). Cela se révèle très couteux en terme de CPU, sans compter les problèmes de licences pour les VST non libres. On peut convertir certains sons obtenus par ces VST en wave (ou les compresser), mais ça reste toujours limité. On perd en qualité de son et il faut limiter les effets sur la musique. Bref, on retrouve la qualité des musiques de la fin des années 90. C&amp;#39;est assez loin de ce qu&amp;#39;un bon compositeur peut faire. De plus, il n&amp;#39;est possible de retoucher la musique en studio, d&amp;#39;effectuer les réglages et le mixage nécessaires à une musique de bonne qualité.


Si cette solution pouvait se révéler très efficace pendant les 90, périodes où les trackers régnaient en maitres, elle relativement mal adaptée à la musique contemporaine. Dans 10 peut-être, on pourra générer de la musique de haute qualité, à partir de sa partition, en temps réel pendant les jeux. À l&amp;#39;heure actuelle, quand un compositeur crée une musique sur ordinateur, tout le CPU est utilisé.


 


Dans le prochain billet, je décrirais une technique permettant d&amp;#39;adapter interactivement de la musique de très bonne qualité, en temps réel et à faible coût en CPU.


 


Lire la suite :  Musique adaptative : une solution efficace
</description>
		<pubDate>Fri, 26 Oct 2007 22:20:00 GMT</pubDate>
      </item><item>
        <title>[Musique] Jeux vidéo et musique adaptative</title>
        <link>http://test.blog2geek.com/musique-jeux-video-et-musique-adaptative-847.html</link>
        <description>
Partie 2 : Jeux vidéo et musique adaptative


Cette page n&amp;#39;est qu&amp;#39;un miroir. Pour la dernière version, veuillez lire Jeux vidéo et musique adaptative et les autres billets sur mon site.


 


La problématique


La musique dans les jeux vidéo a considérablement évolué ces 15 dernières années. L&amp;#39;augmentation des espaces de stockage et l&amp;#39;utilisation généralisée de format type mp3/ogg a permis d&amp;#39;utiliser dans les jeux des musiques de très bonne qualité, comparables à ce que l&amp;#39;on trouve au cinéma.


Pourtant, il existe une différence de taille : au cinéma, tout est prévu à l&amp;#39;avance et la musique peut être précalculée, pour correspondre précisément à l&amp;#39;image. Dans un jeu vidéo, le joueur a un certain contrôle sur l&amp;#39;histoire ; il n&amp;#39;est donc pas possible, dans le cas général, de prévoir ses actions. On ne sait pas non plus quelle sera la vitesse de sa progression. 


Le problème est donc : comment faire évoluer interactivement la musique d&amp;#39;un jeu, en fonction des actions du joueur ? Une solution simple est de créer une playlist de musiques, chacune associée à une scène, et d&amp;#39;effectuer des fondus quand il le faut. D&amp;#39;un point de vue musical, le fondu est une transition bien trop pauvre et coupe l&amp;#39;enchainement. Comment faire quelque chose de satisfaisant, à la fois sur le plan de la qualité du son et au niveau de l&amp;#39;enchainement sonore ?


Comme souvent en informatique, il est nécessaire de trouver un compromis. Il faut limiter la taille des musiques sur le disque dur, il faut aussi limiter l&amp;#39;utilisation du CPU et ne pas faire trop de calculs... Il faut également que ce ne soit pas trop complexe à réaliser, tant au niveau programmation, qu&amp;#39;au niveau composition de la musique. Enfin, en plus de toutes ces contraintes, on veut une bonne qualité de son et une flexibilité de la musique. Évidemment, il n&amp;#39;y a pas de solution miracle. De plus, la « meilleure » solution va dépendre des priorités et du type de jeu choisi.


Dans le prochain billet, je détaillerai une solution extrêmement puissante et flexible. Cela se fera au détriment soit d&amp;#39;une qualité de son moyenne, soit d&amp;#39;un surcoût au niveau CPU ou mémoire sur le disque. De plus, elle posera certaines contraintes sur la conception de la musique.


 


Lire la suite : Tracker et musique adaptative 
</description>
		<pubDate>Fri, 26 Oct 2007 18:01:00 GMT</pubDate>
      </item><item>
        <title>[Musique] Le tracker</title>
        <link>http://test.blog2geek.com/musique-le-tracker-846.html</link>
        <description>Cette page n&amp;#39;est qu&amp;#39;un miroir. Pour la dernière version, veuillez lire Le tracker et les autres billets sur mon site.

 


Je vais écrire quelques billets sur le thème « musique et informatique ». J&amp;#39;ai plusieurs choses à dire (et à demander) sur la musique dans les jeux vidéo (comment la rendre interactive, etc.). Ce premier billet va donc me servir d&amp;#39;introduction et d&amp;#39;historique.


 


Un peu d&amp;#39;histoire...


C&amp;#39;est avec l&amp;#39;Amiga que la musique assistée par ordinateur a pris son essor, en même temps que le reste de la demo scene. Le principe de base est très simple : le logiciel (appelé « tracker ») est composé de 4 pistes (ou canaux, ou channels). Sur chaque piste, des sons (samples) peuvent être joués. En faisant varier la fréquence de ces sons, on obtient différentes notes. Au départ, les sons étaient très simples : formes sinusoïdales, carrés, triangulaires... Les samples étaient stockés dans le même fichier que la partition, cela permettait d&amp;#39;avoir le même rendu sur toutes les machines (par opposition au format midi). Ces musiques, au format .mod (puis .s3m, .it, .xm...) pouvaient durer plusieurs minutes et tenir sur quelques kilo octets.


Les années 90 ont été marquées par la demo scene. La grande majorité des jeux de l&amp;#39;époque utilisaient aussi ce format. Progressivement, les trackers supportent 8 (Octamed), 16, puis en 1994, 32 channels avec FastTracker 2, qui devient un immense succès. Les contraintes de place diminuant, les sons (au format wave, en 8bit) deviennent plus riches et simulent de vrais instruments. FT2 possède aussi une cinquantaine d&amp;#39;effets sur le sons (vibrato, volume, panning, portamento...) ainsi qu&amp;#39;un contrôle des sons avec des enveloppes.


Les années 2000 permettent l&amp;#39;utilisation généralisée de sons en 16 bits (ou plus). Les contraintes sur la place ou le nombre de canaux ont quasiment disparu. La qualité du son rivalise maintenant avec la musique professionnelle. De plus, les sons wave sont progressivement remplacés par des générateurs : ce sont les VST (des bibliothèques dynamiques au format dll, qui génèrent ou transforment les sons). Les bibliothèques de sons sont devenues courantes : il est possible de simuler un véritable orchestre, à condition de payer le logiciel plusieurs centaines d&amp;#39;euros.


Du fait de l&amp;#39;utilisation de bibliothèques extérieures, de retouches sonores sur la musique finale, des instruments de plus en plus gros, le format tracker a presque disparu : il est beaucoup plus simple de distribuer un fichier encodé en mp3 ou ogg. Ça prend souvent moins de place et on a la garantie qu&amp;#39;il sera joué partout de la même façon.


Cependant, même si des logiciels comme Cubase sont courants dans le monde professionnel, certains gagnent leur vie en composant la musique avec un tracker. Citons entre autres Modplug Tracker (un logiciel libre), MadTracker et Renoise.


 


Pour ceux que ça intéresse, je recommande vivement la lecture de l&amp;#39;interview d&amp;#39;Audiomonster (attention, c&amp;#39;est un peu long). Il vient de la demo scene, a été recruté par hasard chez Delphine Software, a composé la musique de Flashback. Aujourd&amp;#39;hui, il utilise toujours, et de manière professionnelle, Modplug Tracker.  Pour les amateurs, je recommande aussi la web radio Nectarine, qui diffuse en permanence de la musique de la demoscene.


Lire la suite : Jeux vidéo et musique adaptative


 
</description>
		<pubDate>Wed, 24 Oct 2007 01:33:00 GMT</pubDate>
      </item><item>
        <title>F# enfin reconnu</title>
        <link>http://test.blog2geek.com/f-enfin-reconnu-845.html</link>
        <description>
F# va bientôt devenir un langage officiel de la plateforme .NET. Il bénéficiera donc d&amp;#39;une intégration totale dans Visual Studio et VS sera distribué avec. 



I
am a big fan of technology transfer between a research organization and
a product development organization so that we can &amp;ldquo;productize&amp;rdquo; the
great research ideas and deliver to customers in a timely manner.  This is one of the best things that has happened at Microsoft ever since we created Microsoft Research over 15 years ago.  Here is another great example of technology transfer at work.  We
will be partnering with Don Syme and others in Microsoft Research to
fully integrate the F# language into Visual Studio and continue
innovating and evolving F#. In my mind, F# is another first-class programming language on the CLR. &amp;mdash; S. Somasegar 


Par ailleurs l&amp;#39;équipe de F# grossit, passant des deux concepteurs à quatre membres à plein temps. Ils travaillent actuellement sur la finition de la V1.


De plus, Microsoft utilise de plus en plus F# dans ses produits, j&amp;#39;ai vu plusieurs offres d&amp;#39;emploi liées à F# ces derniers jours. La programmation fonctionnelle va prendre son essor chez Microsoft. :)
</description>
		<pubDate>Wed, 17 Oct 2007 23:17:00 GMT</pubDate>
      </item><item>
        <title>Parlons français</title>
        <link>http://test.blog2geek.com/parlons-francais-844.html</link>
        <description>
Parlons français.


 


J&amp;#39;ai souvent rencontré des gens qui critiquait les traductions françaises des termes informatiques. Des gens qui, par moquerie ou hypercorrection, utilisent les termes mél, butineur ou hypertoile dans leurs phrases. Des sites qui se plaisent à propager, parfois de manière erronée, les décisions de la commission de néologie. Ou encore des questionnaires incorrects relatifs à ce vocabulaire, comme celui du 20 minutes : « Parlez-vous français ».


Voici donc une liste de rumeurs avec les explications et les sources :


 


On ne dit pas WIFI, mais ASFI


C&amp;#39;est une rumeur qui a été très vite répandue sur Internet, et reprise par de nombreux sites. Pourtant, c&amp;#39;est faux. ASFI signifie Accès Sans Fil à Internet. C&amp;#39;est donc la traduction de WIA (Wireless Internet Access), et non de WIFI.



http://www.culture.gouv.fr/culture/dglf/cogeter/05-05-05-telecommunications.htm


 


Browser se traduit par butineur


C&amp;#39;est faux. En français, on dit navigateur (ou logiciel de navigation). Le terme butineur vient du Canada.



http://www.culture.gouv.fr/culture/dglf/cogeter/16-03-99-internet-listes.html



 


En français, il faut écrire mél


Non, ce n&amp;#39;est pas tout à fait ça. Mél est une abréviation, qui s&amp;#39;utilise de la même façon que &quot;tél&quot; (et ne peut donc pas être utilisé comme un nom). À la place, on utilise plutôt courriel, courrier électronique ou message électronique. Ce qui me semble bien, personnellement. Le terme courriel n&amp;#39;est pas uniquement québécois, il a été reconnu par journal officiel.



http://www.culture.gouv.fr/culture/dglf/cogeter/20-06-03-courriel.htm


 


En français, on dit barrière de sécurité et non pare-feu


C&amp;#39;est ce qu&amp;#39;affirme le questionnaire du 20 minutes cité au début. Pourtant, le terme pare-feu est régulièrement utilisé (notamment sous Windows). Cependant, après une rapide recherche, on se rend compte que les deux termes sont acceptés. Encore une erreur propagée...



http://www.culture.gouv.fr/culture/dglf/cogeter/16-03-99-internet-termfrancs.html


 


On ne dit pas implémenter, mais implanter


C&amp;#39;est faux, implanter n&amp;#39;a pas vraiment le même sens, à ce que je sache. Le terme implémenter a été reconnu dans le journal officiel.



http://www.culture.gouv.fr/culture/dglf/cogeter/20-04-07-informatique.htm


 


On ne dit pas web, mais hypertoile


Non. Le terme complet est &quot;toile d&amp;#39;araignée mondiale&quot;, mais on dira plus simplement toile.



http://www.culture.gouv.fr/culture/dglf/cogeter/16-03-99-internet-listes.html


 


Au pluriel, on dit fora, virii, scenarii...


L&amp;#39;académie française a été claire lors de la réforme de 1990 : « les noms ou adjectifs d&amp;rsquo;origine étrangère ont un singulier et un pluriel réguliers : un zakouski, des zakouskis ; un ravioli, des raviolis ; un graffiti, des graffitis ; un lazzi, des lazzis ; un confetti, des confettis ; un scénario, des scénarios ; un jazzman, des jazzmans, etc. On choisit comme forme du singulier la forme la plus fréquente, même s&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un pluriel dans l&amp;rsquo;autre langue. »


Cette réforme n&amp;#39;est bien sûr qu&amp;#39;une recommandation, mais pourquoi chercher à tout compliquer ? Cette règle est fort simple à suivre.



http://www.academie-francaise.fr/langue/orthographe/regles.html#regles


 


C&amp;#39;est moche de piquer tous les mots étrangers couramment utilisés, pour se les approprier et dire qu&amp;#39;on en fait un mot français...


Pas tous. Le vocabulaire trop technique ou peu utilisé n&amp;#39;a souvent pas d&amp;#39;équivalent. La plupart des mots sont francisés et ça me semble normal : c&amp;#39;est ce qui a toujours été fait. Pouvoir utiliser des mots français est quand même agréable (ordinateur, navigateur, fenêtre, télécharger, internaute, site...). Utiliser les termes anglais tend à rendre l&amp;#39;informatique plus obscure pour les néophytes. Il y a quelques traductions qui ne sont pas élégantes, mais c&amp;#39;est l&amp;#39;usage qui décidera. Par exemple, le mot camping fait partie des dictionnaires, alors que c&amp;#39;est campement qui avait été proposé à l&amp;#39;origine (c&amp;#39;est l&amp;#39;usage donc qui a décidé).


Bref, je trouve ça plutôt bien dans l&amp;#39;ensemble. Beaucoup de traductions sont pertinentes, les autres seront probablement mises de côté.

</description>
		<pubDate>Tue, 09 Oct 2007 22:34:00 GMT</pubDate>
      </item><item>
        <title>[Autopromotion] Ascii art</title>
        <link>http://test.blog2geek.com/autopromotion-ascii-art-843.html</link>
        <description>
Pour ceux qui aiment l&amp;#39;ascii-art... 


Ou l&amp;#39;humour absurde...


Ou qui s&amp;#39;ennuient au boulot...


 


Da ascii blog


 


 
</description>
		<pubDate>Sun, 07 Oct 2007 13:19:00 GMT</pubDate>
      </item><item>
        <title>Bloup !</title>
        <link>http://yay.blog2geek.com/bloup--842.html</link>
        <description>
Culture du jour : http://fr.wikipedia.org/wiki/Bloop


 


Image : Winter, lolthulu.com 


 
</description>
		<pubDate>Sat, 06 Oct 2007 01:58:00 GMT</pubDate>
      </item><item>
        <title>[RANT] FlexBuilder</title>
        <link>http://yay.blog2geek.com/rant-flexbuilder-841.html</link>
        <description>
Convention Over Configuration fait peur à certaines personnes.


Mais il vous facilite la vie sans pour autant créer plus de soucis que son alternative le &quot;tout XML&quot; (si tant est qu&amp;#39;on puisse on oser le qualifier d&amp;#39;alternative décente).


 


Quand on créé un projet, Flex Builder vous demande son nom pour en inférer le dossier de votre filesystem. Je prétends que l&amp;#39;inverse serait plus utile. Pourquoi ?


 


Pour peu que vos projets soient dans un sous-dossier différent, cette histoire de dossier par défaut est obsolète. De plus, si vos dossiers de projets et libs sont tous dans le même dossier, avec un peu d&amp;#39;intelligence, la boîte &quot;Browse...&quot; vous ouvrirait de toutes façons le bon dossier.


Pour des fanatiques du WIMP (interfaces graphiques malheureuses), j&amp;#39;aurais également cru qu&amp;#39;il serait plus simple de cliquer sur le bon dossier dans un dialogue &quot;parcourir...&quot; plutôt que de taper un nom de fichier (sans complétion) avec tous les risques que ça comporte : lenteur, fautes de frappe...


 


Il est plus logique à mon sens que le nom du dossier soit explicite et puisse donc donner le nom du projet ou de la lib à créer.


Et puis, Eclipse et FlexBuilder s&amp;#39;adresse surtout à des gens dont le cerveau a été atteint par Java (le nom de la classe doit être identique au nom du fichier) alors &quot;le nom du projet conditionné par le nom du dossier&quot; ne devrait surprendre personne.  


 


Enfin, quand vos projets ne sont pas dans le dossier par défaut, il ne les trouve pas. Le vrai Eclipse vous donne un avertissement, mais FlexBuilder vous crééra sans broncher un projet, que vous commencerez avidement à configurer (ajouter les dépendances dans le Build Path par exemple ou pire préciser les classes exportées, voilà d&amp;#39;autres choses qui gagnerait à inférer ou proposer une automatisation).


Et que vous devrez supprimer pour recréer. Tristesse.

</description>
		<pubDate>Sat, 29 Sep 2007 19:44:00 GMT</pubDate>
      </item><item>
        <title>Exalead et Baagz</title>
        <link>http://test.blog2geek.com/exalead-et-baagz-840.html</link>
        <description>
Exalead et Baagz


 


Exalead


Vous connaissez sans doute, au moins de nom, Exalead, ce moteur de
recherche français. Il innove par rapport à ses concurrents et
proposent des fonctionnalités très intéressantes. Il propose par
exemple une recherche selon une expression rationnelle, un affinage
des résultats à posteriori (tout en affichant des statistiques sur les
résultats obtenus). De plus, il est possible de faire une recherche
phonétique ou une recherche par proximité de mots... Utile quand on
hésite sur une orthographe (ou pour trouver même les sites qui ont
fait une faute :)).


Sa recherche d&amp;#39;images me semble bien plus agréable que celle de Google
et peut être filtrée selon plus de paramètres (tailles, nombre de
couleurs, restreindre le résultat aux visages, etc.). Les filtres
peuvent être très précis. Par exemple, il est facile de chercher une
image dont la taille fait entre 400px et 600px (width&gt;400 width&lt;600), ou encore en fonction du nombre d&amp;#39;octets du fichier.


L&amp;#39;autre fonctionnalité que j&amp;#39;utilise beaucoup est la recherche de
vidéos. Les vidéos sont recherchées parmi les sites les plus connus
(Dailymotion, Youtube, Google Video...). Là encore, des options très
intéressantes sont disponibles. On peut chercher une vidéo dont la
durée est comprise entre 5 et 8 minutes ou encore voir seulement
celles qui ont été vues plus de 4200 fois.


Le principal problème d&amp;#39;Exalead reste la pertinence de ses résultats
(avant affinage) et la fréquence de ses mises à jour. On est encore
loin de Google pour les recherches classiques. Cependant, il se révèle
être un bon complément de Google pour les besoins plus
spécifiques. D&amp;#39;autres personnes seront plus sensible aux arguments
éthiques ou politiques : préférez-vous donner l&amp;#39;argent à une PME
française ou bien à une multinationale américaine ?


 


Baagz, un projet prometteur...


Exalead vient tout juste d&amp;#39;annoncer son dernier produit, Baagz. Baagz
est présenté comme étant leur « tout nouveau service de recherche,
combinant moteur de recherche sémantique et réseau social ». Comme
souvent avec le marketing, il vaut mieux se méfier des mots, en
particulier de la notion de « sémantique ». Baagz est en version bêta
et l&amp;#39;inscription nécessite une invitation (mais on peut faire une
demande sur le site).


Baagz est un réseau social, basé sur la notion de « centres d&amp;#39;intérêts
partagés » : chaque utilisateur peut définir ses amis et ses centres
d&amp;#39;intérêts. Dans un baag, on peut mettre des liens, des images, des
vidéos, etc. On peut ensuite visiter les baagz publics des autres
gens. L&amp;#39;interface du site est soignée et repose entièrement sur de
l&amp;#39;Ajax. C&amp;#39;est plutôt bien fait, on a du drag-and-drop, de la
transparence, des jolies fenêtres. Bref, tout ce qui est
caractéristique du web dit 2.0. D&amp;#39;autant plus que, contrairement à
beaucoup d&amp;#39;autres sites, le bouton retour du navigateur reste
opérationnel.


Le grand intérêt de Baagz, c&amp;#39;est qu&amp;#39;il s&amp;#39;interface avec le moteur de
recherche d&amp;#39;Exalead. Si on fait une recherche classique (web, images,
vidéos...), on peut faire un drag-and-drop des résultats vers ses
propres baagz. Ils ont donc aussi un rôle de bookmarks. Pour un
utilisateur régulier d&amp;#39;Exalead, Baagz se révèle donc être
incontournable : l&amp;#39;interface est beaucoup plus riche et
personnalisable. On peut également faire une recherche parmi les
autres baagz.


Évidemment, Baagz propose également de gérer les flux RSS. Il se place
donc en concurrent des pages personnalisables, de type Netvibes,
iGoogle, etc. D&amp;#39;autres widgets sont disponibles, comme un mémo, la
météo, les mails ou un chat.


 


... mais encore un peu trop jeune


On est prévenu dès le départ, ce n&amp;#39;est qu&amp;#39;une version Bêta. Et la bêta
ici, ce n&amp;#39;est pas la qualité des bêtas de Google. Le site ne fonctionne
que sous Firefox 2 pour le moment (c&amp;#39;est temporaire, bien sûr). Il y a
beaucoup de problèmes de traduction, si bien que l&amp;#39;on a un affreux mélange de
français et d&amp;#39;anglais sur le site. Le moteur de recherche accepte
moins d&amp;#39;options que sur Exalead.fr : regexp ou caractères spéciaux (du
genre &quot;C#&quot;) sont refusés. Le menu « recherche avancée » d&amp;#39;Exalead.fr est
absent ici. Dans la page de recherche, le bouton droit est désactivé, ce
qui peut être gênant (pour ouvrir dans un nouvel onglet, copier l&amp;#39;adresse du site ou les autres options, selon les plugins installés). Le widget pour le chat se révèle peu utile : il faut que les deux personnes aillent dans le même baag, au même moment. De plus, il n&amp;#39;y a pas de notification (sonore ou dans la barre de titres) en cas de message (comme on peut avoir sur GMail).


J&amp;#39;aimerais bien aussi pouvoir accéder à un baag directement, mais
est-il possible d&amp;#39;avoir une telle URL ? Le titre de la page n&amp;#39;est
jamais modifié, c&amp;#39;est dommage quand on revient en arrière avec le
navigateur. Le site n&amp;#39;est pas prévu pour de la navigation
multi-onglet. Même si c&amp;#39;est un problème récurrent aux sites de type
web 2.0, je trouve ça dommage. D&amp;#39;autant plus que ça devrait être
faisable en bidouillant un peu le javascript. L&amp;#39;interface gagnerait
aussi à être allégée : j&amp;#39;apprécierais de pouvoir réduire la taille des
images des baagz (voire n&amp;#39;afficher que leur titre), dans la liste de
gauche, de façon à tous les voir sans scroller.


 


Conclusion


Baagz est un projet prometteur et intéressant. Je le conseille à tous
les utilisateurs d&amp;#39;Exalead. Pour les autres, ça peut être une occasion
de (re)découvrir Exalead. Quand je vois toutes les fonctionnalités
ajoutées à Exalead en un an, j&amp;#39;ai bon espoir pour Baagz. Il est encore
loin d&amp;#39;être parfait, mais je pense que les corrections seront faites
rapidement. Si Exalead ajoute rapidement de nouvelles fonctionnalités,
le produit pourrait devenir très bon. J&amp;#39;aimerais par exemple avoir une
bonne navigation au clavier, avoir une solution pour ranger proprement
les liens (là, on a des icônes en vrac, j&amp;#39;aimerais pouvoir les
afficher en liste, un peu comme l&amp;#39;explorateur de Windows) ou encore
avoir une bonne gestion des flux (lire le contenu du flux sans aller
sur le site).


Si Exalead arrivait à avoir une pertinence similaire à Google dans ses
résultats de recherche, nul doute que Baagz pourrait devenir
incontournable. Un projet à suivre, donc. Ça permet en plus d&amp;#39;avoir
une alternative au monopole de Google.
</description>
		<pubDate>Sat, 29 Sep 2007 00:58:00 GMT</pubDate>
      </item><item>
        <title>Georges Brassens (3)</title>
        <link>http://yay.blog2geek.com/georges-brassens-3-839.html</link>
        <description>
Encore une série de chansons à écouter et réécouter absolument. Ce sont celles que j&amp;#39;ai découvert très récemment et qui m&amp;#39;ont immédiatement séduites par leurs textes profonds, mélodies sympathiques, et maîtrise irréprochable de la langue. 


 


Ces six chansons, malgré le ton toujours un peu léger ou grivois du bon Georges, sont de vrais hommages à la femme : qu&amp;#39;il parle d&amp;#39;une histoire de coeur ou de cul, il garde toujours le plus grand respect. Et ça manque, de nos jours. Comment dire à une fille qu&amp;#39;on a pour elle une attirance purement sexuelle sans être pour autant un vrai salaud ? Georges a la réponse, &quot;et l&amp;#39;amour y trouvait quand même son comptant&quot; :) 


La marine
Le blason
Vénus Callypige
La première fille
La complainte des filles de joie


 


Les cinq suivantes sont des chansons semi-autobiographiques, chantées comme souvent à la première personne, avec l&amp;#39;humour et la philosophie qui caractérisent Brassens. Une sorte de blog de l&amp;#39;époque (sauf le respect que je lui dois). Je pense qu&amp;#39;on aurait beaucoup à apprendre, mais pour être en train de le tenter, je vous garantis qu&amp;#39;écrire une chanson de qualité sur une petite réflexion personnelle est autrement plus de travail que de pianoter son clavier quelques minutes ! 


L&amp;#39;épave
Le mécréant
La traîtresse
Le testament
Je suis un voyou
La fille à cent sous 


 


Enfin, échappant aux deux classements ci-dessus, n&amp;#39;oubliez pas d&amp;#39;écouter la très drôle :


Les patriotes

</description>
		<pubDate>Thu, 20 Sep 2007 09:25:00 GMT</pubDate>
      </item><item>
        <title>[BLOG] Ca t\'énerve</title>
        <link>http://yay.blog2geek.com/blog-ca-t-enerve-838.html</link>
        <description>
Les gens de http://www.catenerve.com/ ont trouvé un bon filon : les râleurs.


 


Il faut avouer qu&amp;#39;il y en a beaucoup dans la blogosphère et je ne fais pas exception. A l&amp;#39;instar de Boulet, mais avec moins de dessins et beaucoup moins de talent, la violence gratuite est reine.


Le Franchouillard moyen va râler sur le monde, son voisin, sa femme... bref, ceux qui ne pensent pas comme lui sont des cons ((c) Brassens évidemment). Jusqu&amp;#39;ici, je n&amp;#39;ai croisé de râlage constructif qu&amp;#39;exceptionnellement. 


Le blog, catharsis moderne ? Remarquez, ça doit coûter moins cher qu&amp;#39;un psy.
Avec l&amp;#39;assurance totale que les concernés ne seront pas mis au courant, et que ça ne changera jamais rien.


 


Mais malheureusement, je me dois de râler contre eux.


Je sais que les lycéens sont les râleurs les plus oisifs : rien à faire de la journée, pas mieux dans la soirée sinon cliquer entre MSN et forums zalacon.


Je sais que c&amp;#39;est la meilleure niche pour toute activité Internet, qui dépensera l&amp;#39;argent de ses parents.


Je sais aussi (pour en avoir été lycéen, un jour, ou plutôt trois ans) qu&amp;#39;il est plus simple de râler contre le monde plutôt que le changer. De blogguer qu&amp;#39;on est grosse plutôt que de faire du sport. De blogguer qu&amp;#39;on a une vie chiante plutôt que de se lancer dans des trucs excitants. Bref, le lycéen qui râle est d&amp;#39;un potentiel infini, qui en plus se renouvelle tous les ans. 


 


MAIS PAR PITIÉ, ÉCRIVEZ CORRECTEMENT ! 

Autochtone ne s&amp;#39;écrit pas &quot;otoctone&quot;.

Raciste ne prend pas de S avant le C (par contre, ascendant ou ascétisme oui, mais comme ce mot n&amp;#39;est que trop rarement utilisé, on en souffre moins).


 


Le pluriel, le féminin, la différence démonstratif/possessif ont dû faire l&amp;#39;objet de cours chaque année entre le CP et la 6eme, voire plus. La conjugaison aussi, mais bon là j&amp;#39;ai un peu abandonné l&amp;#39;espoir.


Ne me dites pas qu&amp;#39;ajouter un E au féminin et un S au pluriel c&amp;#39;est dur. J&amp;#39;accepterais sans aucun problème qu&amp;#39;on se trompe sur un irrégulier (&quot;chasseuse&quot; au lieu de chasseresse ou même &quot;chevals&quot; au lieu de chevaux), mais à mon sens, quand on ne sait même pas si l&amp;#39;on parle d&amp;#39;un truc ou de plusieurs, il y a un sérieux problème mental.


Ou bien l&amp;#39;information est elle-même mal enregistrée dans les cerveaux, ou bien elle n&amp;#39;est pas ressortie correctement. Mais c&amp;#39;est GRAVE !


 


PS : &quot;titre de votre énervement&quot; est le titre par défaut. Oui oui, il faut le changer.


 
</description>
		<pubDate>Sun, 16 Sep 2007 15:21:00 GMT</pubDate>
      </item><item>
        <title>Création d\'un logiciel libre</title>
        <link>http://johan-oudinet-geek.blog2geek.com/creation-d-un-logiciel-libre-837.html</link>
        <description>
Le logiciel libre commence à prendre de l&amp;#39;importance même au sein des entreprises et/ou gouvernements (OpenOffice dans les administrations françaises, Surcouf qui vend des ordinateurs avec Ubuntu, etc).


En temps qu&amp;#39;utilisateur de logiciels libres vous prêchez certainement leur utilisation à la place de logiciels propriétaires équivalents auprès de vos proches (qui sont pour la plupart des gens ayant une connaissance très limité de l&amp;#39;informatique et une appréhension démesurée dès que vous leur proposez de leur remplacer les outils propriétaires qu&amp;#39;ils connaissent). Bref, vous passez déjà assez de temps à essayer de les former à ces nouveaux outils (et à assurer la maintenance) en espérant qu&amp;#39;ils finiront aussi par prêcher la bonne parole et lutter contre le propriétarisme :)


 Mais vous avez peut-être envie de passer le cap supérieur en n&amp;#39;étant plus simplement un utilisateur du libre, mais aussi l&amp;#39;un de ses nombreux contributeurs. Vous avez certainement quelques connaissances dans un langage de programmation possédant un compilateur lui aussi libre (par exemple C ou C++). Prenons alors le cas où vous souhaitez développer une bibliothèque libre pour l&amp;#39;un de ces langages.


La première question à se poser est sous quelle licence allez vous partager les sources de votre bibliothèque ? En tant que bibliothèque libre, si elle rencontre un certain succès, elle sera amenée à être réutilisée, voir même améliorée, par d&amp;#39;autres développeurs. Et même si comme moi vous n&amp;#39;êtes pas un expert en droit, vous avez déjà entendu plusieurs noms de licences existantes pour les logiciels libres (licences GPL, licence BSD, licences Creative Common, licence CeCILL, etc.). Mais comment choisir celle qu&amp;#39;on utilisera pour notre bibliothèque ? Les nuances entre toutes ces licences peuvent être subtiles, pour ne pas dire invisibles, au néophyte. Par fainéantise (et car mon éditeur de texte me permet de rajouter automatiquement en entête de mes fichiers le jargon associé à la licence GPL, c&amp;#39;est celle-ci que j&amp;#39;ai choisi.. mais si vous êtes moins fainéant que moi, peut-être en choisirez vous une autre). 


 Une fois la question de la licence réglée, il faut choisir un système sur lequel le développement de votre bibliothèque pourra se faire de manière collaborative (car si les sources sont partagées, vous pouvez espérer obtenir de l&amp;#39;aide de la part d&amp;#39;un autre développeur de logiciels libres). Pour ma part le choix fut encore plus rapide que pour le problème de la licence, car connaissant assez bien le logiciel libre de gestion de version Subversion et ayant un serveur à disposition, je l&amp;#39;ai retenu.


Un autre point important est la portabilité de la future bibliothèque : en effet en temps que logiciel libre, elle est amenée à être utilisée sur de nombreuses architectures différentes et du coup vous devez vous assurer que votre bibliothèque fonctionnera (ou du moins compilera) sur une machine qui n&amp;#39;est pas la votre et qui peut même être très différente de la votre ! Cette tâche très difficile est en partie gérée à votre place par un ensemble d&amp;#39;outils : les Autotools. Je dis en partie, car leur utilisation reste encore pour moi une tâche compliquée qui me demande beaucoup de temps pou obtenir le résultat attendu (à savoir d&amp;#39;être à peu près sûr que l&amp;#39;utilisateur de votre bibliothèque réussira à la compiler). 


Bien, la partie la plus compliquée, mais aussi la plus intéressante dans la création d&amp;#39;une bibliothèque libre est la suivante : la conception. En effet, votre bibliothèque sera à terme - vous l&amp;#39;espérez - utilisée par de nombreux développeurs qui devront réussir à s&amp;#39;en servir sans vous demander de venir leur faire une présentation dans leur bureau. Ils devront même pouvoir lui rajouter des fonctionnalités sans avoir à modifier le code que vous avez écrit. Cette généricité et modularité n&amp;#39;est pas facile à obtenir et demande un réel effort de votre part. Il ne faudra pas seulement développer un outil uniquement pour l&amp;#39;objectif que vous avez, mais au contraire chercher perpétuellement comment séparer aux mieux tous les ingrédients dont vous avez besoin afin qu&amp;#39;ils puissent tous être utilisés séparément. Malheureusement je ne connais pas de solution ni d&amp;#39;outil miracle pour cette étape dans la réalisation d&amp;#39;une bibliothèque libre. Et seul l&amp;#39;utilisation abusive de papiers, stylos, tableaux et autres ustensiles de réflexion pourra vous aidez à réussir cette étape...


 Enfin une dernière étape, mais néanmoins indispensable, est la mise à disposition de votre bibliothèque au reste du monde ayant accès à la toile. Vous pouvez bien sûr juste déposer une tarball (make dist) de votre projet sur un site Web. Mais dans ce cas, le suivi des bugs; et le retour des utilisateurs de votre bibliothèque sera bien moindre que si vous leur offrez la possibilité de faire un rapport via une interface Web. Comme j&amp;#39;utilise subversion (svn) pour le développement de la bibliothèque, utiliser Trac semble être une bonne idée.


 Voilà je pense que ce billet est suffisamment long pour ne pas rajouter un tas de détails sur chacun des outils cités tout au long de ce billet. Je détaillerai peut-être un jour certains de ces outils, mais l&amp;#39;idée principale à retenir est que le développement de logiciels libres demande un surcoût non négligeable dans toutes les phases de réalisation, mais ce surcoût conduit à un produit d&amp;#39;une qualité bien supérieure.


En attendant j&amp;#39;aimerai améliorer mon classement sur Google ; Voici la mise à jour de ma page professionnelle Oudinet 


 
</description>
		<pubDate>Sat, 15 Sep 2007 19:19:00 GMT</pubDate>
      </item><item>
        <title>[F# et Shell] Un peu de réseau</title>
        <link>http://test.blog2geek.com/f-et-shell-un-peu-de-reseau-836.html</link>
        <description>
F#


Je viens d&amp;#39;écrire un petit programme en F#, je le poste ici puisqu&amp;#39;il
pourra me resservir plus tard, et il peut être utile à d&amp;#39;autres
personnes.


Le code est assez court, il s&amp;#39;agit d&amp;#39;un serveur (en TCP). Lorsqu&amp;#39;un
client se connecte, il communique avec : le client envoie un nombre,
le serveur renvoie ce nombre, mis au carré. C&amp;#39;est donc très simple,
mais ça me fait une base pour une application réseau. Le programme
permet d&amp;#39;accepter plusieurs clients ; j&amp;#39;utilise un thread par client.


Le code total tient en 25 lignes, ce qui me semble plutôt
raisonnable. Le code se trouve à cette adresse : http://laurent.le-brun.eu/fsharp-server.fs


Cet exemple sert aussi à montrer que F# est utilisable dans la vraie vie et qu&amp;#39;il n&amp;#39;y a plus de raison de persister avec C#, Java, C++... (sauf cas particuliers)


 


Shell


Et puisque les gens sous-estiment très souvent la puissance du Shell
(et des binaires souvent associés), voici un équivalent en Shell :


$ nc -lp 3000 -c &amp;#39;sed -u &quot;s/.*/&amp;*&amp;/&quot; | bc&amp;#39;


Netcat (ou nc) est un client / serveur utilisable en console. Par
défaut, il est en mode TCP. Le 3000 correspond au port à utiliser et
l&amp;#39;option -c indique la commande à exécutée quand un client se
connecte. L&amp;#39;entrée standard correspond alors au message envoyé par le
client et la sortie standard est le texte renvoyé. Le Sed sert juste à
dupliquer l&amp;#39;entrée et insère un &amp;#39;*&amp;#39;. Cela permet donc de calculer le
carré, grâce à bc. L&amp;#39;option -u de Sed est très importante ici : cela
permet de ne pas bufferiser la sortie.


Ce code n&amp;#39;est pas un équivalent fidèle du programme F# : il manque la
gestion d&amp;#39;erreur (si l&amp;#39;entrée n&amp;#39;est pas un nombre, le résultat est
incertain et dépend de bc), la gestion de plusieurs clients simultanés
et il faudrait que le serveur reste actif quand le client se
déconnecte (dans la version ci-dessus, le serveur se termine).


Voici une solution plus fidèle. Code à mettre dans le fichier
server.sh (avec les droits d&amp;#39;exécution) :


#! /bin/bash
nc -lp 3000 -e server.sh &amp;
sed -u &quot;s/.*[^0-9].*/*/;s/.*/&amp;*&amp;/&quot; | bc


Exemple d&amp;#39;appel, via le shell :


$ nc -lp 3000 -e server.sh


À chaque fois qu&amp;#39;un client se connecte, un nouveau serveur (un nouveau
processus donc) est lancé qui sera à l&amp;#39;écoute des nouveaux clients. On
a donc une récursion mutuelle entre nc et server.sh. Le code Sed a été
légèrement modifié de sorte que bc renvoie une erreur dès que l&amp;#39;entrée
n&amp;#39;est pas un nombre.
</description>
		<pubDate>Fri, 14 Sep 2007 14:37:00 GMT</pubDate>
      </item><item>
        <title>[SECU] Philo 1</title>
        <link>http://yay.blog2geek.com/secu-philo-1-835.html</link>
        <description>
Petit interlude technique avant deux nouvelles listes de favoris Brassens.
Aujourd&amp;#39;hui : philosophie de la sécurité informatique en entreprise. 


Je n&amp;#39;ai pas encore vu énormément d&amp;#39;entreprises mais je pense avoir déjà un panel correct de toutes tailles, compétences informatiques et politiques de sécurité.


 


Jusqu&amp;#39;ici, toute politique de sécurité se doit d&amp;#39;être
intransigeante. Si les mécanismes physiques des banques sont des
modèles (à mon sens) incroyablement bien foutus (destruction des
valises de billets, dissuasion, triples clés...), on s&amp;#39;attend d&amp;#39;un système
informatique qu&amp;#39;il ne bloque pas non plus le business en cas de force
majeure.


Et c&amp;#39;est là que les soucis commencent. 


 


 


N&amp;#39;hésitez pas à m&amp;#39;envoyer vos expériences personnelles, ça
m&amp;#39;intéresse (par mail, mes commentaires sont tellement spammés que je
ne les modère plus jusqu&amp;#39;à nouvel ordre) !


 


 


Mais pourquoi une mini série plus philosophique que technique ?


Parce que je ne crois pas en la fiabilité des sécurités : même si c&amp;#39;est très intéressant, ce n&amp;#39;est pas mon domaine (je ne suis pas assez parano pour ça). De toutes façons, j&amp;#39;ai pris le parti de me dire qu&amp;#39;aucune donnée informatique n&amp;#39;était vraiment protégée contre un vrai hacker qui n&amp;#39;en veut.


Une chaîne est aussi solide que son maillon le plus faible, donc le facteur humain dans 99% des cas, et je me vois mal (hélas) réussir à contrôler parfaitement ce risque. Il faudrait pour cela que les personnes en qui je fais confiance soient asexuées, sobres, désintéressées et tout à fait insensibles au kidnapping de leurs femme(s?), enfants, chiens, chats, dinosaures... 


Bref, je mets les sécurités qu&amp;#39;il faut pour éjecter la plupart des boulettes et des attaques bidon, mais je ne mets rien de plus et ça ne m&amp;#39;empêche pas de dormir. 

</description>
		<pubDate>Fri, 14 Sep 2007 10:58:00 GMT</pubDate>
      </item><item>
        <title>Georges Brassens (2)</title>
        <link>http://yay.blog2geek.com/georges-brassens-2-834.html</link>
        <description>
Suite de mes chansons favorites de Georges : celles que j&amp;#39;ai découvertes un peu plus tard. 


- Le cocu
- L&amp;#39;orage
- La fessée
- Le fantôme
- Grand-père
- Les passantes
- La femme d&amp;#39;Hector
- Le bulletin de santé
- La ronde des jurons
- Le mouton de Panurge



Comme toujours, impossible de choisir un ordre précis. Je vous souhaite une bonne écoute, surtout depuis qu&amp;#39;on peut les écouter légalement sur le net via le célèbre deezer.com ! 


Bref mot à propos de deezer : je n&amp;#39;ai pas tout testé, tout recherché, car l&amp;#39;interface m&amp;#39;insupporte et les méfaits du Flash me font grincer les dents. Comment imaginer une liste dans laquelle on ne peut pas utiliser la recherche de son navigateur ? Comment ont-ils pu choisir cette solution qui interdit d&amp;#39;ouvrir plusieurs onglets, nous obligeant à subir le temps de chargement affreusement long (l&amp;#39;internaute moyen est impatient et s&amp;#39;énerve au bout de trois secondes) ?


 


 
</description>
		<pubDate>Tue, 11 Sep 2007 14:01:00 GMT</pubDate>
      </item><item>
        <title>[Haskell] Lecture du soir</title>
        <link>http://test.blog2geek.com/haskell-lecture-du-soir-833.html</link>
        <description>
Si vous ne maitrisez pas Haskell, voici une belle occasion d&amp;#39;apprendre ce langage merveilleux. Un blog vient d&amp;#39;être créé avec pour thème : apprenez Haskell en 5 minutes... par soir.


Il a été créé hier, donc vous avez juste un jour à rattraper. Tout est clair et bien détaillé (pour le moment), je vous le recommande. Les leçons sont rapides à lire et devraient être quotidiennes.


 


http://learnhaskell.blogspot.com 
</description>
		<pubDate>Tue, 11 Sep 2007 00:38:00 GMT</pubDate>
      </item><item>
        <title>[Caml] Surcharge et problèmes de cohérence</title>
        <link>http://test.blog2geek.com/caml-surcharge-et-problemes-de-coherence-832.html</link>
        <description>
OCaml, ses problèmes de généricité et son absence de surcharge.


 


Une question fréquente chez les débutants en Caml concerne le problème
d&amp;#39;affichage des valeurs. Quand on utilise Caml en mode interactif,
Caml affiche la valeur du résultat, quel que soit son type. Cet outil
d&amp;#39;affichage est très pratique et plutôt joli. Il est donc naturel de
vouloir l&amp;#39;utiliser aussi dans ses projets (dans l&amp;#39;exécutable
final). Cette question revient régulièrement et la réponse habituelle
est : « Non, ce n&amp;#39;est pas possible. »


Quand on réfléchit un peu au problème, on se dit qu&amp;#39;il faudrait
qu&amp;#39;OCaml garde toutes les informations de types à l&amp;#39;exécution (ce qui
permettrait par la même occasion d&amp;#39;avoir de l&amp;#39;introspection). Mais ce
serait compliqué à gérer, les performances seraient réduites... Une
autre solution serait de gérer la surcharge de fonctions. En effet, il
suffirait au moment même du typage de faire les liaisons nécessaires. Par
exemple, print serait parfois compilé en print_string, parfois en
print_int, etc. selon le type de la valeur. Selon certains, la
surcharge pose de nombreux problèmes, affaiblit le typage et réduit
l&amp;#39;efficacité de la détection d&amp;#39;erreurs. Ce qui est vrai lorsqu&amp;#39;on en
abuse. Mais nous, on veut juste avoir une fonction print. Il est aussi
souvent dit que la surcharge n&amp;#39;apporte rien de plus, et qu&amp;#39;ajouter à
la main le type après print n&amp;#39;est pas long à faire. Ce qui, selon moi,
est faux.


Une remarque que l&amp;#39;on peut faire est : les opérateurs de comparaison
(égalité, infériorité, etc.) ont un type &amp;#39;a -&gt; &amp;#39;a -&gt; bool. Ils
acceptent donc n&amp;#39;importe quel type en entrée. Pourtant, la comparaison
entre deux entiers et la comparaison entre deux chaines de caractères
ne peuvent pas avoir le même code, au final. C&amp;#39;est donc une forme de
surcharge : elle est gérée par le compilateur, une sorte de hack en
fait. C&amp;#39;est donc incohérent : pourquoi seuls les opérateurs de
comparaison sont-ils surchargés ?


Par souci de consistance (et puisque la vraie surcharge nous a
toujours été refusée), il serait bon que les opérateurs de comparaison
ne soient plus surchargés. Qu&amp;#39;est-ce que cela changerait au final ? Il
faudrait créer plein d&amp;#39;opérateurs de comparaison : par exemple &amp;#39;=&amp;#39;
pour les entiers, &amp;#39;=.&amp;#39; pour les flottants, &amp;#39;=^&amp;#39; pour les chaines de
caractères. Il en faudrait aussi pour les chars, les booléens, les
références... Et puis aussi pour les couples d&amp;#39;entiers, les couples de
booléens, les couples avec entier et char, et les couples... et puis
aussi pour les triplets... etc. Cela ne suffirait même pas : il
faudrait que l&amp;#39;utilisateur définisse lui-même la fonction d&amp;#39;égalité à
chaque fois qu&amp;#39;il déclare une structure ou un type somme. Et comme si
cela ne suffisait pas, il faudrait également faire tout ce travail
pour l&amp;#39;infériorité, la supériorité... Bref, ajouter des dizaines
d&amp;#39;opérateurs, ce qui ne serait pas gérable. Surtout que les fonctions
comme min, max, List.mem et les types comme Map ou Hashtbl ne
pourraient plus exister en l&amp;#39;état.


Ce problème qui survient avec les opérateurs de comparaison aurait dû
mettre la puce à l&amp;#39;oreille : plutôt qu&amp;#39;un hack dans le compilateur,
une gestion propre de la surcharge aurait été grandement
appréciée. D&amp;#39;autant plus que ce hack n&amp;#39;est pas totalement
transparent. La comparaison entre deux fonctions n&amp;#39;est pas
définie. Mais, puisqu&amp;#39;un opérateur de comparaison a pour type &amp;#39;a -&gt; &amp;#39;a
-&gt; bool, c&amp;#39;est accepté à la compilation. Pire : le code suivant génère
une exception à l&amp;#39;exécution : &quot;let f x = x in f = f&quot;. Le problème aurait dû leur mettre la puce à l&amp;#39;oreille parce que leur hack n&amp;#39;en a réglé qu&amp;#39;une partie. À chaque fois que l&amp;#39;on crée un type, on doit souvent définir soi-même sa fonction d&amp;#39;affichage (de même que l&amp;#39;on aurait dû définir les opérateurs de comparaison). 


De vraies solutions existent pourtant. En Haskell, ce sont les classes
de types. Par exemple, la classe Num regroupe tous les types
numériques ; la classe Ord regroupe les types pouvant être comparés et
ainsi de suite. Il est d&amp;#39;ailleurs possible d&amp;#39;ajouter des types dans
une classe et même de redéfinir la façon dont un type peut être
comparé. En Caml, il n&amp;#39;est pas possible de redéfinir l&amp;#39;opérateur de
comparaison sur un type particulier. En F#, on a un principe similaire
par le biais d&amp;#39;interfaces et par la surcharge. Cela permet notamment
d&amp;#39;avoir une fonction print générique que l&amp;#39;on peut redéfinir pour
chaque type. Une extension de Caml, GCaml, permet même d&amp;#39;ajouter la
surcharge au langage. Cette extension a été faite il y a plusieurs années,
mais elle n&amp;#39;a jamais été intégrée à la distribution officielle.


Parmi les autres conséquences, on trouve l&amp;#39;impossibilité de travailler
indifféremment sur les listes et les tableaux. On se retrouve donc à
dupliquer le code, ou à obliger l&amp;#39;utilisateur à faire des conversions
non souhaitées. On se retrouve aussi à dupliquer le code, si on veut
avoir une version sur les entiers et une sur les flottants.


 


Pour finir, admirez le code suivant :


let mean_ilist x =
float_of_int (List.fold_left (+) 0 x) /. float_of_int (List.length x


let mean_flist x =
(List.fold_left (+.) 0. x) /. float_of_int (List.length x)


let mean_i64list x =
Int64.to_float (List.fold_left Int64.add Int64.zero x) /. float_of_int (List.length x)


let mean_iarray x =
float_of_int (Array.fold_left (+) 0 x) /. float_of_int (Array.length x)


let mean_farray x =
(Array.fold_left (+.) 0. x) /. float_of_int (Array.length x)


let mean_i64array x =
Int64.to_float (Array.fold_left Int64.add Int64.zero x) /. float_of_int (Array.length x)
</description>
		<pubDate>Mon, 10 Sep 2007 01:07:00 GMT</pubDate>
      </item><item>
        <title>Georges Brassens (1)</title>
        <link>http://yay.blog2geek.com/georges-brassens-1-831.html</link>
        <description>
Je suis un grand fan de Georges Brassens, en ce moment j&amp;#39;essaie d&amp;#39;écrire des paroles inspirées de son oeuvre géniale, mais c&amp;#39;est évidemment beaucoup de travail et ça me prend du temps (que je n&amp;#39;ai pas en masse).


J&amp;#39;ai découvert Analyse Brassens, un site fantastique se proposant de commenter un peu ses chansons, expressions de son cru ou de l&amp;#39;époque, jeux de mots, et informations sur le contexte culturel du moment. Bref, un must.


Voici donc la liste de mes chansons préférées que je vous enjoins vivement de (ré)écouter et de savourer le rythme, le style et l&amp;#39;historiette du bon Georges.


Impossible de toutes les commenter, classer, préférer, elles sont toutes excellentes !


 


Celles de mon premier best of de Brassens que je connais par coeur :


- Le temps ne fait rien à l&amp;#39;affaire (la révélation)
- Les trompettes de la renommée
- Le pornographe
- Hécatombe
- Misogynie mise à part
- Brave Margot
- Quatre vingt quinze pour cent
- Auprès de mon arbre
- La rose, la bouteille et la poignée de mains
- La route aux quatre chansons
- Fernande
 


PS : j&amp;#39;ai trouvé partout sur le net les textes de chansons &quot;hors album&quot; de Brassens, comme &quot;le sein de chair et le sein de bois&quot; ou &quot;les radis&quot; dont je n&amp;#39;ai jamais pu écouter la chanson. Comment faire ? :&amp;#39;(  


 


PPS : ce n&amp;#39;est pas une opération de spam de PageRank, mais d&amp;#39;une part, le site le mérite, et je n&amp;#39;allais pas faire une liste de chansons ultimes sans donner les liens. L&amp;#39;internaute est paresseux et en voyant ce genre de listes, moi je préfèrerais middle-cliquer que copier-coller les titres dans un moteur de recherche ^^ 


 
</description>
		<pubDate>Sat, 08 Sep 2007 13:20:00 GMT</pubDate>
      </item><item>
        <title>connexion SSH</title>
        <link>http://d3vil.blog2geek.com/connexion-ssh-830.html</link>
        <description>SSH (Secure SHell) : Connexion sécurisée à un ordinateur distant

 


définition de trustomne.net ;)
--------------------------------------- 


 SSH est le nom d&amp;#39;un protocole réseau mais c&amp;#39;est aussi un ensemble de
programmes utilisant ce protocole. SSH vous permet de vous connecter à
une machine distante et de transférer des fichiers depuis celui-ci ou
vers celle-ci.
Comme son nom l&amp;#39;indique, SSH est sécurisé, ce qui signifie que la
connexion entre le client et le serveur est encryptée. De plus, ssh
utilise une double authentification client et serveur ce qui isole
potentiellement chaque connexion d&amp;#39;autres utilisateurs indélicats.
L&amp;#39;intérêt d&amp;#39;un tel protocole, face à telnet, rlogin ou ftp est évident,
c&amp;#39;est pourquoi je vous le conseille vivement en remplacement des
protocoles sus cités, quand vous le pouvez.
Il existe 2 versions de SSH et plusieurs logiciels permettant de les
utiliser 

Voila pour la déscription, merci trustomne.
Bon alors comment installer les paquetage SSh pour commencer, alors :

mandriva --&gt;  urpmi openssh openssh-clients openssh-server. Votre $SYSCONFDIR a pour valeur /etc/ssh.

Fedora (notre cas) --&gt; yum install openssh openssh-clients openssh-server. Votre $SYSCONFDIR a pour valeur /etc/ssh.

Debian --&gt;  apt-get install ssh. Votre $SYSCONFDIR a pour valeur /etc/ssh.

Slackware --&gt; nstallpkg /où_est/openssh-xxx.tgz. Votre $SYSCONFDIR a pour valeur /etc/ssh.


Bien maintenant passons à la suite.

CONFIGURATION
-----------------------

Toute la configuration du serveur SSH est enregistrée dans le fichier $SYSCONFDIR/sshd_config. Quand vous tapez (remplacez $SYSCONFDIR par sa valeur) :

$ sed /^#/d $SYSCONFDIR/sshd_config

Vous devez avoir au minimum :



Port 22
HostKey $SYSCONFDIR/ssh_host_key
HostKey $SYSCONFDIR/ssh_host_rsa_key
HostKey $SYSCONFDIR/ssh_host_dsa_key
PermitRootLogin yes
X11Forwarding yes
Subsystem sftp /chemin_vers/sftp-server

Voila, bon c&amp;#39;est bien jolie tout sa mais pour se connecter ilo nous faut un client, 
Voila ce que je vous propose.


ssh
qui est un shell sécurisé (remplace telnet), vous vous connecté à une
machine et vous utilisez le shell par défaut (ou un autre) comme si
vous étiez en face de la machine.
scp
autorise la copie sécurisée du client vers le serveur (remplace rcp).
sftp
elle permet l&amp;#39;upload et le download sécurisés (semblable à la commande ftp en mode console).
slogin
qui fonctionne de manière analogue à rlogin.

*CONNEXION*
-------------------

Bon je fait comment pour me connecter un mon linux, depuis un windows ??
et bien il vous faut installer un client appellé putty.exe

Bon maintenant on se lance dans le vif du sujet la connexion.

Mettons que je souhaite, me connecter à l&amp;#39;adresse 192.168.0.6 en tant
qu&amp;#39;utilisateur kernel, sur mon réseau local, il me suffit de taper :

$ ssh kernel@192.168.0.6

Ça marche aussi sur Internet, par adresse IP bien-sûr mais aussi par le
nom du site, grâce aux DNS qui font correspondre une adresse IP à un
nom :

$ ssh kernel@fr.yahoo.com

Si tant est que yahoo aie un serveur ssh bien-sûr. A la première
connexion, il y&amp;#39;a échange de clé, acceptez celle du serveur par &quot;yes&quot;
et hop ! vous êtes connecté au PC distant. Vous remarquerez que votre
shell a changé d&amp;#39;aspect, vous pouvez effectuer toutes les commandes de
votre choix, excepté lancer des outils graphiques. Pour cela
rendez-vous au 6.
A partir de la connexion actuelle pour vous déplacer dans un réseau, au
lieu d&amp;#39;utiliser rlogin, faîtes plutôt :

$ slogin -l kernel machine3

a et pourvous deco c&amp;#39;est logout ^^ oui c&amp;#39;est tout con mais utile.

Bon maintenant voila la commande pour le transfert de fichier !!

$ scp test.txt kernel@192.168.0.9

Vous commencer à capter ??
c&amp;#39;est tout con est TELLEMENT utile.

Si vous souhaitez approfondire le sujet encor un peu, je vous conseil http://www.trustonme.net/didactels/111.html
qui est un très très bon site.

@ + sayonnara 









 
</description>
		<pubDate>Thu, 06 Sep 2007 21:23:00 GMT</pubDate>
      </item><item>
        <title>SPAM !</title>
        <link>http://yay.blog2geek.com/spam--829.html</link>
        <description>
Depuis quelque temps, mon blog se fait honteusement spammer.
C&amp;#39;est pénible mais bon, c&amp;#39;est l&amp;#39;avenir du Web (snif :&amp;#39;| ). Faut croire.


Bref, ce qui était assez limité (un spam par jour) est devenu plus conséquent (une ou deux dizaines), blog2geek n&amp;#39;étant pas fourni avec un système de protection de commentaires de spam.


En plus, avant c&amp;#39;étaient des billets identifiables aisément : gros pâté de liens en BBCode (quel horreur ce truc), tandis que maintenant c&amp;#39;est parfois des messages bien plus courts.  


Dans ma hâte de suppression des spams, j&amp;#39;ai ainsi effacé trop vite un vrai commentaire.


Désolé ^^;
</description>
		<pubDate>Wed, 05 Sep 2007 01:54:00 GMT</pubDate>
      </item><item>
        <title>clé USB</title>
        <link>http://d3vil.blog2geek.com/cle-usb-828.html</link>
        <description>
Voila je présume que vous avez tous une clé USB, un tuto sur le montage de celle-ci sera donc je pense le bienvenue.  :) 

bon premièrement connecter vous en &quot;root&quot; ensuite :

crée le répertoire avec cette commande : mkdir /mnt/clef

ensuite montez votre clé avec la commande :

mount -t vfat /dev/sda1 /mnt/clef

et voila normalement votre clé est prette à l&amp;#39;emploie :)

faite ls /mnt/clef pour afficher le contenue de votre clé.

encuite très important vous devez démonter votre clé USB pour être sur de ne pas endommagé de donnée, pour ceci c&amp;#39;est tout simple faites :

umount /mnt/clef





Attention parfois, tout ne se passe pas si facilement, en effet il y a des clé plus énervente que d&amp;#39;autre ;)
Mais ne vous inquiettez pas il y a une solution.

Pour les personnes qui n&amp;#39;arrive pas à monter leurs clefs, il faut faire un peu de nettoyage et un formatage dans les règles.

Premièrement connectez vous en &quot;root&quot;.



Puis faites cfdisk /dev/sda
Si ça fonctionne, supprimer toutes les partitions et créer un partition FAT16


Ensuite ecrivez la table des partitions et quitter cfdisk


Si ça ne fonctionne pas faites fdisk /dev/sda
Utiliser l&amp;#39;aide pour supprimer toutes les partitions (Souvent 1-4)

Ecrivez la table et faites cfdisk /dev/sda ....


Ensuite faites :


mkfs.msdos -F16 /dev/sda1


Vous pouvez maintenant monter votre clef


merci de m&amp;#39;avoir lu, @+ syonnara


 
</description>
		<pubDate>Mon, 03 Sep 2007 20:22:00 GMT</pubDate>
      </item><item>
        <title>correspondance</title>
        <link>http://d3vil.blog2geek.com/correspondance-827.html</link>
        <description>
Voila nouveau billet, celui-ci va traiter des correspondance entre les logiciels windows et les logiciels linux.

voici une petite liste appellée aussi liste d&amp;#39;équivalence,


premièrement un naviguateur internet, he bien au lien de IE utlisés firefox !!

Comme messagerie au lieu de Outlook utlisé Thunderbird Mail Client ou encor Kmail

AAA je ne veut pas quitter windows car je suis Geek d&amp;#39;msn, pas de problème il existe Gaim ou Pidgin ou encor amsn (clone)

vous me dites world, je répond Writer, vous me dites excel je répond calc, et biensur Impress a la place de powerpoint.
(les accros de openoffice vont me tuer de ne pas l&amp;#39;avoir cité ^^  )


Et pour le célèbre photoshop, alors la je dit GIMP !

Dessin, ben Kpaint à la place de Paint.

lecteur pdf, il y a Xpdf

P2P, vous avez le célèbre aMULE

Archiveur vous avez Ark, et unzip pour les .rar (voir ma rubrique archive .rar )

Graveur CD, he bien je vous conseil K3B.

Vous aller me dire, oui mias mois je suis dans une école technique etc.. on fait du dessin vectoriel, pas de problème 
Inkscape est la pour vous.

Connexion PDA, pas de problème non plus Palm Pilot et JPilot

Et pour le dessin technique Qcad fait des merveilles.

Voila sachez qu&amp;#39;il existe toujours un équivalent libre.



ce tableau est plutot utilse car il regroupe les logiciels les plus utilisés.



merci de m&amp;#39;avoir lu @+ sayonnara


 
</description>
		<pubDate>Mon, 03 Sep 2007 17:45:00 GMT</pubDate>
      </item><item>
        <title>pas cher !</title>
        <link>http://sobof.blog2geek.com/pas-cher--826.html</link>
        <description>La firme Lenovo a déclaré vendredi dernier qu&amp;#39;elle allait vendre un
modèle d&amp;#39;ordinateur à très bas prix pour les campagnes chinoises.

L&amp;#39;info qui date de début août se trouve ici. Avec tous ces ordianteurs pas cher on va pouvoir faire du calcul paralel. 
</description>
		<pubDate>Sun, 02 Sep 2007 20:43:00 GMT</pubDate>
      </item><item>
        <title>Pub honteuse</title>
        <link>http://sylvain.blog2geek.com/pub-honteuse-825.html</link>
        <description>
Pour des amis qui font de la réalisation, de la production audiovisuelle et aussi des DVD, des reportages, des documentaires et tout et tout :


société de Conception, de Production et de Réalisation Audiovisuelles
</description>
		<pubDate>Sun, 02 Sep 2007 20:37:00 GMT</pubDate>
      </item><item>
        <title>. bin</title>
        <link>http://d3vil.blog2geek.com/-bin-824.html</link>
        <description>
Voila un petit billet sur les fameux .bin sous linux 

Tout d&amp;#39;abord allez dans le shell et mettez votre status en mode &quot;root&quot;.
ensuite tappez :


chmod  u+x  &quot;votre_fichier&quot; --&gt; pour le rendre executable
puis tapper  ./&quot;votre_fichier&quot; pour l&amp;#39;executer.

attention vous pourez obtenir un message d&amp;#39;erreur du genre : 

Download program &amp;#39;wget&amp;#39; was not found.



Please check your Internet connection, or try again later.
The autopackage support code could not be installed.

It can be manually downloaded and installed by running the
installation script located in the downloaded archive.


 


Ce message veut dire qu&amp;#39;il vous faut installer &quot;wget&quot;
donc par exemple si vous vous trouver sous Fedora 7 tapper.

- yum install wget

dernière note, si vous ne retrouvez pas votre programme utilisé la commande &quot;locate&quot;merci de m&amp;#39;avoir lu, et merci pour les commentaire déjà poster qui me font évoluer.@ + sayonnara  
</description>
		<pubDate>Sun, 02 Sep 2007 20:14:00 GMT</pubDate>
      </item><item>
        <title>[ANIME] L/R</title>
        <link>http://yay.blog2geek.com/anime-l-r-823.html</link>
        <description>
La suite de ma liste d&amp;#39;anime &quot;préférés de tous les temps&quot;, bien que ça fasse un peu pompeux et que mes goûts soient discutables, évidemment. Je prépare des posts un peu plus rédigés mais... justement, ça prend du temps ^^;


Pour une revue complète, cette page est assez sympathique et bien illustrée, mais pour les pressés (ou les strictement francophones) voici ma version :


 


Imaginez deux James Bond, chacun avec l&amp;#39;un des côtés de la personnalité de notre agent secret favori : celui qui a toujours la classe, distant, pince-sans-rire, et celui un peu moins distingué, impertinent et je m&amp;#39;en foutiste. Un duo impeccable ! Et leurs gadgets planqués dans des cigarettes sont des petits bijoux de geekerie :)


En 12 épisodes seulement, la série est très plaisante et efficace, dans une ambiance &quot;so British&quot; que j&amp;#39;ai adorée. La musique très bonne, et évidemment le scénario tarabiscoté juste comme il faut, alternant les phases légères et plus graves, le rythme intense ou les phases plus cool. 
</description>
		<pubDate>Sun, 02 Sep 2007 14:47:00 GMT</pubDate>
      </item><item>
        <title>Utilisation du shell bash</title>
        <link>http://d3vil.blog2geek.com/utilisation-du-shell-bash-822.html</link>
        <description>
Dans ce billet je vais traiter de l&amp;#39;utilisation du sehll bash.
Tout d&amp;#39;abord il faut savoir que &quot;bash&quot; vient de l&amp;#39;anglais : Bourne Again SHell

Ce n&amp;#39;est ni plus ni moins une sorte de shell (interpréteur de commande).
mais me direz vous, pourquois je me ferais chier à utiliser un intérpreteur de commande, alors que le mode graphique est tellement plus intuitif.
C&amp;#39;est en partie vrais, mais il faut savoir que le shell permet de faire bon nombre d&amp;#39;action suplémentaire, et qu&amp;#39;en invité de commande ont recois un rapport d execution (erreur ou réussuite), permettant de mieux comprendre le system.


LANCER UNE COMMANDE EN ARRIERE PLAN
-----------------------------------------------------------
vous
pouvez fort bien désirer lancer en arrière-plan une commande dont la durée d&amp;#39;exécution peut être très
longue et continuer à travailler


rien de plus facile !


ajouter simplement « &amp; » à  la fin de votre commande.
exemple : cp /cdrom/kernel/linux-2.6.6.tar.gz . &amp;


copiera l&amp;#39;archive du noyau 2.6.6 du CD-ROM vers le répertoire courant, et s&amp;#39;exécutera en arrière-plan.


(utile aussi pour lancer un serveur de trojan mais j&amp;#39;en dit pas plus ;)

VOIR http://linux.developpez.com/guide/ pour plus d&amp;#39;exmple.


[merci de m&amp;#39;avoir repris concernant mes fautes d&amp;#39;orthographe frappante.]

je vais faire un effort ^^  


Merci de m&amp;#39;avoir lu et sayonnara ++++


 


 


 
</description>
		<pubDate>Sat, 01 Sep 2007 13:13:00 GMT</pubDate>
      </item><item>
        <title>[ANIME] Juuni Kokki</title>
        <link>http://yay.blog2geek.com/anime-juuni-kokki-821.html</link>
        <description>
J&amp;#39;ai récemment discuté avec quelques amis et tenté de faire une liste de mes animes préférés. Les quelques séries qui ont les honneurs de mon top 10 sont vraiment des séries exceptionnelles avec lesquelles j&amp;#39;ai passé de très bons moments.





Parmi celles-ci, Juuni Kokki (&amp;#21313;&amp;#20108;&amp;#22269;&amp;#35352;), &quot;les douze royaumes&quot;. Si le début semble un peu classique et parfois obscur, le scénario se met en place rapidement et on est parti pour 45 épisodes de bonheur, répartis en 4 &quot;arcs&quot; inspirés de 4 des 7 romans.


Si le dessin et l&amp;#39;animation n&amp;#39;ont rien d&amp;#39;exceptionnel (ils sont très bien quand même !), la musique est vraiment magnifique et accompagne parfaitement l&amp;#39;ambiance. Quant au scénario, c&amp;#39;est un vrai bijou : personnages réalistes et attachants, conflits politiques, monde abouti, rien n&amp;#39;est laissé au hasard. 


 


Je ne sais pas pourquoi seuls les 39 premiers épisodes ont été
édités en France : se priver d&amp;#39;un arc parlant de la jeunesse des
souverains de En, parmi les meilleurs personnages de la série à mon
avis, c&amp;#39;est vraiment du gâchis. 


 
</description>
		<pubDate>Sat, 01 Sep 2007 10:20:00 GMT</pubDate>
      </item><item>
        <title>Archive .rar</title>
        <link>http://d3vil.blog2geek.com/archive-rar-820.html</link>
        <description>
Hello é tous , dans ce billet je vais traiter de la décompression d&amp;#39;un archive winrar.

En effet les .rar étant un des modes de compression les plus utiliser, il est utilse de savoir les désarchiver.

Pour ce faire:

Il vous faut simplement telecharger unrar
Par exemple si vous êtes sous Une fedora 7.
tapper : 


 yum install unrar


 


bien évidemment vous devez être en status &quot;root&quot; (comme pour toute manipulation de paquetage XD)

et voila ^^ plus qu&amp;#39;à double clique sur votre archive winrar est à partir de maintenet elle s&amp;#39;ouvre sous vos yeux ébahis ^^ 

merci à tou, sayonnara !!  
</description>
		<pubDate>Thu, 30 Aug 2007 21:51:00 GMT</pubDate>
      </item><item>
        <title>gérer vitesse du lecteur CD</title>
        <link>http://d3vil.blog2geek.com/gerer-vitesse-du-lecteur-cd-819.html</link>
        <description>


Une petite astuce toute bête, mais ô combien utile: Réduire la vitesse de lecture de son lecteur de CD/DVD.


Pour ce faire nous avons besoin de hdparm qui permet de régler
finement les paramètres de ses lecteurs optique/disque dur. Normalement
il est installer de d&amp;#39;office sur nombre de distributions, hormis
quelque cas comme Archlinux.


Il est assez simple d&amp;#39;utilisation, un exemple concret :


 


hdparm -E &lt;vitesse&gt; &lt;lecteur&gt;


 


par exemple:


hdparm -E 8 /dev/hdc


 


A vous les joies du silence. :)

 


 
</description>
		<pubDate>Thu, 30 Aug 2007 19:02:00 GMT</pubDate>
      </item><item>
        <title>[Emacs] switch utf-8 latin-1</title>
        <link>http://johan-oudinet-geek.blog2geek.com/emacs-switch-utf-8-latin-1-818.html</link>
        <description>
Voici un ptit billet qui est plus un mémo, car j&amp;#39;ai la facheuse tendance à écrire certains fichiers en latin-1 et d&amp;#39;autres en utf-8... et j&amp;#39;oublie à chaque fois la $*! de commande emacs pour switcher d&amp;#39;un encodage à l&amp;#39;autre !


Donc au lieu de la chercher sur le net à chaque fois, je me dis que au moins je serai où elle se trouve, et peut-être qu&amp;#39;après l&amp;#39;avoir écrite une fois ici, je m&amp;#39;en souviendrai (c&amp;#39;est beau de rêver :)


Donc pour changer l&amp;#39;encodage sous lequel Emacs sauvegardera ton fichier :


C-x Ret f (ou pour ceux qui préfère retenir un nom de fonction plutôt qu&amp;#39;une séquence de touches, il s&amp;#39;agit de la fonction set-buffer-file-coding-system qui est assez explicite mais à chaque fois je cherche la fonction (re)encode-buffer-file qui elle n&amp;#39;existe pas :(


Et pour ceux qui veulent aussi changer leur système de clavier :


C-x C-m C-\\ (ou M-x set-input-method) (Je vous conseil latin-1-postfix pour ceux qui ont l&amp;#39;habitude d&amp;#39;utiliser des claviers sans accents mais sans être contre leur utilisation) 


Voilà ce billet n&amp;#39;est donc pas très informatif, mais il aura l&amp;#39;avantage de m&amp;#39;être utile. Ce qui je vous l&amp;#39;avoue me suffit amplement :p 


See ya. 


P.S. : Juste pour être un jour premier sur la requête Johan. Et pourquoi pas avec les préférences françaises: Johan 
</description>
		<pubDate>Thu, 30 Aug 2007 11:11:00 GMT</pubDate>
      </item><item>
        <title>[CULT] Luke, je suis ton sabre !</title>
        <link>http://yay.blog2geek.com/cult-luke-je-suis-ton-sabre--817.html</link>
        <description>
A l&amp;#39;occasion du 30e anniversaire de la saga bien connue, le sabre original de Luke Skywalker sera envoyé dans l&amp;#39;espace. 





Quoi qu&amp;#39;on en dise, je trouve ça profondément débile. Je suis sûr qu&amp;#39;un honnête et richissime (peut-être pas si honnête alors) collectionneur aurait rêvé de dépenser une fortune pour se le procurer, montant qu&amp;#39;on aurait pu, tant qu&amp;#39;à faire, donner à une association caritative (ou à une fondation Open Source... on est geek ou on ne l&amp;#39;est pas).


 


[cette partie n&amp;#39;est peut-être plus d&amp;#39;actualité mais elle reste valable pour des tas de choses qu&amp;#39;on peut envoyer dans l&amp;#39;espace, donc je la laisse] 


Au lieu de ça, on va ajouter un déchet de plus dans l&amp;#39;espace. Je me demande si l&amp;#39;extraterrestre, le spationaute dans sa station, ou le satellite humain qui le recevra àune vitesse épatante, démolissant une partie de l&amp;#39;aérobjet (oui, c&amp;#39;est un néologisme) plus ou moins vitale sera content. Surtout que je doute qu&amp;#39;on puisse se réjouir de retrouver l&amp;#39;objet culte, vu l&amp;#39;état dans lequel la collision l&amp;#39;aura mis.


 


Un peu de bonne lecture (Planètes, excellent manga en seulement trois tomes) vous sensibilisera peut-être à ce problème pour lequel, si on ne peut pas faire grand chose à l&amp;#39;heure actuelle, on devrait au moins éviter d&amp;#39;aggraver pour rien.  
</description>
		<pubDate>Tue, 28 Aug 2007 16:42:00 GMT</pubDate>
      </item>		</channel>
</rss> 
