Le blog de dup

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

mardi 1 juillet 2008

Heraia 0.0.1

Ok, depuis que je suis administrateur, je comprends un peu mieux la problématique des versions. Moi j'appliquais le fameux "release often, release early" avec mes commits svn. Je considérai chaque commit comme une release en quelque sorte !

Donc, voici la première vraie release d'heraia en version 0.0.1. Il va de soit qu'il s'agit d'une version alpha. Elle est toutefois utilisable, avec un peu de courage sur les système windows (testé sous XP) et linux (testé sous debian i386 et centos x86_64).

Pour la prochaine version je souhaite réécrire le module des types de données, je n'en suis pas du tout satisfait.

Je recherche des testeurs, des packageurs (idéalement une bonne âme qui m'expliquerai comme faire un .deb et un .rpm), des utilisateurs (même occasionnels), et des codeurs (voir les fichiers README, TODO et HISTORY en plus du ChangeLog pour comprendre l'idée que je poursuis.

Bon, que dire de plus ? Ah oui, pour le moment, je n'ai pas encore tout compris à comment ça fonctionne sur gna.org alors je met ce fichier sur http://src.delhomme.org/download/heraia-0.0.1.tar.gz

Évidemment si vous compilez ce programme (et même mieux, si vous l'installez avec succès) sur une autre architecture, un autre système, je suis preneur de l'information.

lundi 12 mai 2008

Nouvelle version de libduptools

La version 0.0.4 vient tout juste de sortir, depuis la 0.0.3 quelques modifications ont été réalisées :


  • renommage des fichiers (ajout du préfixe "ldt_" devant les nom de fichiers)
  • modification de l'API : ajout du prefixe "ldt_" devant les fonctions exportées (nécessite la reprise des codes basés sur la version 0.0.3)
  • grâce au travail de Balise le code est maintenant compilable également sous freebsd.

Pour télécharger les sources de la libduptools (les outils de dup) rendez vous sur le site de gna.org

lundi 7 avril 2008

Publication de code

Sur un outil intégré (une forge quoi), plus exactement chez gna.org.

Je viens de publier la dernière mouture du code de GtkCmpHash (qu'on pouvait jusqu'à lors télécharger depuis ma page spéciale où je met mes programmes, enfin, une partie (il faut que je fasse une synchronisation avec les projets qui sont sur gna.org).

Donc, pas encore de vraie "release", mais ça ne saurait tarder, vu qu'une amie m'a fait remarquer que dans le logiciel libre, la devise serait plutôt release early, release often, il serait donc temps pour moi de la mettre à exécution !

Évidemment, comme toujours, toute remarque sera la bienvenue (comment ça, je pleure pour avoir au moins un user ??? ;)

mercredi 26 mars 2008

Et hop deux projets de plus publiés

Bon, je viens de publier les deux projets suivants :

  • libduptools bibliothèque de fonctions dont je fais usage dans nombres de mes programmes (euh pas forcément tous publiés). Installation aisée grâce aux autotools, utilisation simplifiée grâce à pkgconfig, un grand merci à ces projets.
  • GStressFS qui est un framework pour stresser son système de fichier. Évidemment GStressFS utilise libduptools pour fonctionner ! Il y a déjà quelques tests implémentés, il est possible d'en implémenter d'autres très simplement. Il y a encore beaucoup de travail, regardez le fichier TODO pour contribuer, si vous voulez ajouter un test, référez vous au fichier README, en bref n'hésitez pas à m'écrire et à vous lancez (euh pas trop loin quand même) !

Bien entendu, les contributions diverses et variées seront les bienvenues. Notamment des compilations et des essais sur des systèmes d'exploitation autres que Linux et Windows.

Outils libres

J'ai déjà parlé des outils pour le développement, collaboratif avancé. Dans la même veine, voici trois outils qui ne me quitterons plus désormais :

  • postgresql dont la documentation a été traduite par mon ami gleu. En temps qu'ancien utilisateur de mysql, je peut vous dire que postgresql le surclasse très nettement. En particulier dans postgresql il existe les fonction COPY table TO et COPY table FROM qui permettent un import/export de tables au format texte (style cvs) super propre et très rapide. Rien que pour ça, je l'adopte. Je ne vous parle pas des requêtes qui fonctionnent en 21 heures alors qu'avec mysql elles se plantaient lamentablement au bout de 72 heures après avoir consommé tout l'espace disque !!
  • whiptail qui est normalement inclus dans toute bonne distribution. Il s'agit d'un petit programme qui utilise dialog pour réaliser de jolies boîtes de dialogue et autres menus et widgets en mode texte. C'est très pratique pour les scripts bash qui ont besoin d'une interactivité avec l'utilisateur. C'est très simple d'emploi. Donc, si vous avez besoin de créer des boîtes de dialogue n'hésitez pas : man whiptail !!
  • eval, qui est une instruction du shell et qui permet de lire et d'exécuter une commande shell. Cette petite commande vous sera utile si vous utilisez whiptail et que vous souhaitez créer des menus (par exemple) par l'intermédiaire d'une variable du shell. Notamment parce que cela permet de mettre des espaces dans la variable et qu'elle soit correctement étendue, ce qui n'est pas forcément le cas avec d'autres astuces (cat, xargs et autres ...).

Le logiciel libre, s'il n'existait pas, il faudrait l'inventer !! ;-)

dimanche 3 février 2008

Noyau 2.6.24

J'ai fait une RIM (Run In Memory) d'après les excellents articles parus dans Linux Mag. Ça fait un bout de temps que ça marche et je la met à jour régulièrement, à chaque fois qu'un numéro pair sort (2.6.16, 2.6.18, 2.6.20, 2.6.22 et 2.6.24). (pair et manque ;))

Bref, j'ai certainement loupé un truc dans la compilation du noyau 2.6.24, je n'ai rien changé à part le noyau lui même (du 2.6.22 au 2.6.24) et j'ai des problèmes avec le clavier et surtout, les accents ne s'affichent plus correctement (à la console). J'ai maintenant des carrés infâmes dignes d'anciennes zones obscures de la table ascii à l'époque héroïque où l'on utilisait des caractères pour dessiner les contours des fenêtres et des boîtes de dialogues.

Donc, si l'un de mes assidus lecteurs (lectrice) avait une quelconque idée sur ce que j'ai raté, ce qui à changé dans le noyau, ce qu'il faudrait que je change pour que ça marche, je le (la) prie de bien vouloir laisser ici un commentaire. Je me ferai une indicible joie d'essayer la solution préconisée afin de voir si elle marche (ou pas) et de mettre en exergue la solution lorsque celle ci, je n'en doute pas, aura été trouvée.

vendredi 4 janvier 2008

Quelques nouvelles d'héraia

Comme il parait qu'un petit dessin vaut mieux qu'un long discours voici un Screenshot d'héraia (enfin, une photo d'écran quoi) :

A noter :

  • une nouvelle interface permettant de définir de nouveaux type (calculés en fonction de traitements)
  • un traitement simple implémenté pour l'exemple (inversion de chaîne)
  • une interprétation des nouveaux types définis par l'utilisateur directement dans l'onglet "User defined" du data interpretor.

Le projet avance petit à petit. Je ne le pense pas mûr pour tenter de sortir une première version.

J'aimerai avant cela :

  • ajouter plein de traitements
  • ajouter un module similaire pour la création de modèles de structures de fichiers (ainsi que de recherche de structures)
  • ajouter un module de transfert vers des commandes externes
  • ajouter la possibilité d'éditer plus d'un fichier à la fois
  • ajouter la possibilité de créer un nouveau fichier

Ensuite il faudra reprendre le widget GtkHex, qui a beaucoup de limitations assez invalidantes.

Bref, si vous êtes développeur, que vous avez un peu de temps, et que vous aimez les défis, Héraia vous attends !!

mercredi 21 novembre 2007

GtkCmpHash 0.0.3

Nouvelle version de GtkCmpHash, plus utilisable et plus compilable que la précédente. D'ailleurs, comme les ./configure ont été fait sous l'environnement windows, quand on les exécutes sous linux, y'a des tas de trucs mal foutus et en général ça ne marche pas bien. L'astuce est donc d'utiliser les scripts fournis ./autoclean.sh et ./autogen.sh qui permettent de nettoyer et reconstruire l'environnement de compilation (script configure, Makefile.am etc ...). La seule contrainte étant qu'il faut avoir installer les autotools.

Donc, si vous vous êtes essayé à la compilation et que ça a foiré, si vous n'avez rien compris au programme, si vous avez trouvé un bug, si vous voulez être le premier utilisateur officiel en dehors du développeur, écrivez moi un petit message !!

vendredi 21 septembre 2007

GtkCmpHash

Hop, et voici une nouvelle mouture de GtkCmpHash. Beaucoup de bugs corrigés et pas mal d'options ajoutées (pour la sauvegarde, le chargement, la comparaison). Il reste encore pas mal de boulot, mais il s'agit là d'une version utilisable. J'ai expérimenté pour vous le chargement d'un hashsets de plus de 3,9 millions d'entrées. En pratique ça ne devrait jamais arriver car on peut organiser ses hashsets en répertoires et sous-répertoires de manière à ne charger qu'un sous ensemble (celui qui sera utile). J'ai ensuite fait une comparaison avec quelques 17000 autres hash. Le résultat est obtenu en 2 heures sur une machine n'ayant pas beaucoup de mémoire et deux secondes sur une machine ayant 4 fois plus de mémoire que la première ! (Tests effectués sous Windows, ceci expliquant cela).

Il est possible d'utiliser GtkCmpHash pour :

  • vérifier que les fichiers copiés d'un support sur un autre l'ont été correctement,
  • savoir, entre deux ensembles de photos (l'un trié et l'autre pas) quelles photos sont triées et quelles photos ne le sont pas
  • analyser un disque dur à la suite d'une installation (quels fichiers ont été modifiés - à l'inverse, quels fichiers n'ont pas été modifiés)
  • vérifier une installation (mes fichiers n'ont t'ils pas été rootkités ? Attention pour ça, il faut utiliser une live du genre de celles ci et mettre le programme sur une clef USB par exemple)
  • rechercher certains fichiers spécifiquement (à la recherche du rootkit perdu - si vous avez des rootkits dans votre bibliothèque perso, vous pouvez aussi en réaliser un hashset qui servira pour les comparaisons)

Il est aussi possible d'utiliser GtkCmpHash sur Windows, soit en l'installant, soit en StandAlone ou sur Linux en téléchargeant les sources d'une librairie que j'utilise et le source du programme en lui même. Ensuite il faudra compiler (priez pour avoir toutes les bonnes librairies ;).

Bien entendu ces sources sont sous licence GPL v2.

lundi 27 août 2007

Outils collaboratifs avancés

Comme vous le savez certainement, je cherche à changer de travail (c'est difficile car je cherche un travail auquel je puisse donner beaucoup de sens). Dernièrement j'ai eu l'occasion de voir deux annonces similaires dans lesquelles on pouvait lire Maitrise des outils de développement collaboratif avancés. La première annonce ne spécifiait rien de particulier, je pensais alors à trac, svn et autres outils de type gforge. La deuxième annonce apportait quelques précisions sur les outils à maitriser. Quelle ne fut pas ma surprise de voir calendrier partagé ou encore messagerie (Je précise qu'il ne s'agissait pas de maitriser sympa ou un autre gestionnaire de listes de discussions).

Donc, je souhaitais faire partager à tous mes lecteurs un outil de développement collaboratif avancé (avancé pour de vrai... si si) que j'ai découvert il y a un peu plus d'un an. Il s'agit de Gobby qui permet l'édition simultanée en temps réel, à plusieurs et de manière sécurisée (SSL) d'un même document (vous avez bien lu - simultanée, à plusieurs, sécurisée, d'un ou plusieurs documents). Je l'ai un peu utilisé, c'est vraiment excellent ! Je ne sais pas ce que ça peut donner sur un projet d'entreprise avec 20 personnes qui codent, mais je suis sûr que c'est novateur et avancé dans le domaine du travail collaboratif !

vendredi 10 août 2007

GtkCmpHash

Je voulais le faire depuis un petit bout de temps. Aujourd'hui c'est chose faite : J'ai complètement re-écrit cmphash pour en faire GtkCmpHash. Un programme dans le même principe mais qui possède une interface graphique (Gtk) et qui est compilable sous plusieurs systèmes. Je fourni d'ailleurs un exécutable pour Windows (un installateur) ainsi qu'un fichier zip contenant tout le nécessaire pour une utilisation sans installation (sous windows toujours).

Ceux qui ont la chance d'être sous Linux auront la joie de compiler et installer les programmes (gtkcmphash et liblats une petite librairie que j'utilise pour e pas toujours réécrire les mêmes bouts de codes - utiliser le sésame ./configure; make; sudo make install). Si parmi vous il en est qui ont l'envie de réaliser des paquet deb et autres rpm je suis preneur. De même si quelqu'un arrive a réaliser un paquet binaire utilisable sans installation sous linux, je prends ;-)

Les principales fonctionnalités sont les suivantes :

  • calcul de 3 hashs (md5, sha1 et ripemd160) en une seule lecture du fichier
  • sauvegarde des hashs calculés en un fichier texte plat compressé bz2 (appelé hashset)
  • chargement de hashsets du même format (à partir d'un répertoire et sous répertoires)
  • comparaisons des hashs générés à la base formée par les hashsets chargés et génération de fichiers résultats pour ceux qui sont connus et ceux qui sont inconnus.
  • possibilité de calculer des hashs de plusieurs répertoires (et sous répertoires) en série.

Il reste encore beaucoup d'options et de bidules graphiques a réaliser (voir le fichier TODO). J'accepte volontier les patchs et autres suggestions.

Merci aux projets qui ont permis la création rapide et simple de ce programme :

mardi 7 août 2007

Pointeurs

J'ai envie d'écrire ce soir... tant pis si je raconte des bêtises...

Lire la suite

jeudi 26 juillet 2007

velib

velib, c'est quoi comme bibliothèque ? c'est quoi l'API ?

Lire la suite

vendredi 15 juin 2007

Humeur ?

J'ai hésité à classer ce billet dans la rubrique humeur ...

Finalement je n'en ferai rien. J'ai juste décidé que ce n'est pas parce que mes patchs ne sont pas acceptés pour d'obscures raisons que je ne vais pas les publier. Ceux qui voudront les réutiliser en auront alors tout le loisir, ceux-ci étant bien entendu sous licence GPL. Pour en savoir plus, lisez donc ce thread qui contient absolument tous les échanges que j'ai eus au sujet de ce patch.

Donc, ce patch, enfin, ces patchs (car y'a la doc en texi avec) sont disponibles à ma source :-)

vendredi 8 juin 2007

Héraia sous windows !!!

Hop,

Une petite photo d'écran pour vous prouver que ce qui est écrit dans le titre fonctionne bien :

Bon, le code actuel n'est pas compilable en l'état sous windows. Il m'a fallu pas mal le modifier. (les modifications ne sont pas encore publiées). De plus pour le moment, les plugins ne se compilent pas, pour une obscure raison affectant le lieur, raison qu'il va me falloir éclaircir...

Si vous voulez tentez l'expérience sachez que j'ai utilisé mingw, msys, gcc, les autotools, divers paquets issus du site ftp de gnome, les paquets construits par Tor Lillquist, les paquets de développement de GTK+ et consors pour windows et qu'il a fallu recompiler deux ou trois projets depuis les sources. Au final, ça marche !

Ça donne envie de continuer le développement.