Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Posts Tagged “linux”

Update : Vincent Benony, membre de l’équipe de développement de Guitar Pro, nous a fait le plaisir de laisser un commentaire dans lequel il revient sur les bibliothèques utilisées ainsi que sur la version d’Ubuntu supportée. L’article a été mis à jour en conséquence, merci à lui.

angus C’est en exclusivité que Futurezone a le plaisir de vous annoncer la disponibilité immédiate de Guitar pro 6 !

Guitar pro, le célèbre éditeur de tablatures qui est dans la boite à outils de base de tous les guitaristes, est sur le point de sortir en version 6.
Un aperçu des fonctionnalités est disponible ICI, ainsi qu’une vidéo de démonstration faite par l’un des membres de l’équipe Guitar Pro lors du NAMM 2010.
Comme d’habitude, il sera disponible sous Windows, Mac OS, et (accrochez-vous), GNU/Linux !

Read the rest of this entry »

Comments 3 Comments »

      Comment mettre des données dans le presse-papiers à partir d’un programme en console sous GNU/Linux ? Voici le problème que j’ai rencontré il y a peu de temps alors que je développais une application sans interface graphique en C. M’attendant à une solution triviale étant donné la simplicité du besoin, j’ai été surpris de ne pas trouver de réponse sur Google, malgré des recherches plutôt poussées.

      En effet, sous Windows par exemple, le snippet suivant suffit à placer une chaîne de caractères dans le presse-papiers :

  1.  
  2. char str[] = "chaine à copier";
  3.  
  4. HGLOBAL hText = GlobalAlloc(GMEM_DDESHARE | GMEM_MOVEABLE, sizeof(str));
  5. char *pText = (char *)GlobalLock(hText);
  6. strcpy(pText, str);
  7. GlobalUnlock(hText);
  8.  
  9. OpenClipboard(NULL);
  10. EmptyClipboard();
  11. SetClipboardData(CF_TEXT, hText);
  12. CloseClipboard();
  13.  
  14. GlobalFree(hText);
  15.  

Sous GNU/Linux, c’est assez différent et malheureusement plus complexe à mettre en oeuvre. Tout d’abord, il est nécessaire de connaître les points suivants :

  • En plus du presse-papiers, est accessible sous GNU/Linux un tampon de sélection primaire (accessible avec le bouton du milieu de la souris), ainsi qu’un tampon de sélection secondaire (généralement non-modifiable directement par l’utilisateur).
  • C’est le serveur X qui gère les mécanismes liés à ces tampons.
  • Le serveur X n’alloue pas un tampon mémoire général accessible à toutes les applications graphiques, mais le contenu des sélections et du presse-papiers sont communiqués entre clients (communication peer-to-peer).

Read the rest of this entry »

Comments 3 Comments »

      Me voilà de retour du FOSDEM, qui se tenait à Bruxelles, le week-end dernier. Au risque d’enfoncer une porte ouverte, je présente tout de même le FOSDEM, qui une des plus conséquentes réunions de développeurs Open Source en Europe. Environ 250 conférences ont lieu durant cet évènement et tous les principaux acteurs du libre y ont un stand : la plupart des distributions GNU/Linux, mais également les systèmes *BSD ainsi que la Mozilla Foundation, KDE, OpenOffice.org, et bien d’autres.

Nemiver, ou l’espoir d’un bon débogueur sous GNU/Linux

      Une des premières conférences à laquelle j’ai assisté fut celle sur Nemiver un débogueur C/C++ basé sur Gnome. Le développement d’un tel logiciel fut principalement débuté à cause du manque de convivialité de ddd et de la complexité à déboguer un logiciel C++ en ligne de commande avec gdb. Voici son interface :

Nemiver Screenshot

      N’existant pas de “libgdb“, Nemiver fonctionne en communiquant via une instance de gdb. Pour l’instant, la partie qui m’aurait intéressée le plus du débogueur n’est pas encore développée, à savoir le désassemblage d’un binaire ELF et donc un déboguage à partir du code assembleur seul et non pas une source. Toutefois, Dodji Seketeli, l’un des deux développeurs du projet, fit entendre lors de la conférence que ce point était prévu pour la suite de Nemiver.

L’API de fuzzing Fusil

      Une autre conférence qui m’a laissé un très bon souvenir fut celle de Victor Stinner alias Haypo, sur son API de fuzzing Fusil. Dans cette dernière, Haypo y expliquait tout d’abord ce qu’est le fuzzing : une technique de détection des failles dans un binaire, plus simple et plus rapide que l’analyse statique ou dynamique de celui-ci, basée sur un test de toutes les entrées/sorties sur lesquelles il se fie.

      Afin de provoquer des comportements anormaux aux logiciels, une technique commune consiste à envoyer au binaire des données incorrectes (en général, générées pseudo-aléatoirement) mais ayant un format valide. Ainsi, afin de tester un logiciel tel que GIMP, on peut développer un fuzzer en python utilisant Fusil générant des images respectant par exemple le format JPEG, mais dont les champs sont remplis totalement aléatoirement.

Le système de fichiers ext4

      Ce fut Theodore Ts’o, développeur de nombreux outils pour ext2 et ext3, et principal mainteneur d’ext4 qui effectua la conférence. Il présenta tout d’abord ext4 : ce n’est pas un système de fichiers à part entière, mais une extension de ses prédécesseurs (comme son nom l’indique) et on peut donc utiliser ext2 avec certaines fonctionnalités d’ext4. Puis, il en vint aux avantages par rapport à ext3 :

  • Le support des volumes ayant une taille de 1024 Po (pétatoctet : 1Po = 1 000To)
  • La possibilité de stocker des fichiers de 16TB, voire encore plus volumineux dans de prochaines versions d’ext4
  • Le support d’extent, c’est-à-dire une zone réservée à un seul fichier, en général plutôt volumineux, comme par exemple un DVD. Les extents permettent de réduire fortement la fragmentation d’un fichier, et ainsi d’augmenter fortement les performances en lecture et écriture.

FOSDEM ’10

Etant donné la bonne ambiance de l’évènement, son entière gratuité et la qualité des conférences offertes, j’y serai également l’an prochain, avec peut-être à nouveau quelques habitués de #futurezone@irc.worldnet.net ! Un site utile si vous ne pouvez pas assister aux évènements comme le FOSDEM : http://streaming.linux-magazin.de/

Deimos

Comments No Comments »