Je viens de découvrir un outil que je recherche dans Gimp depuis que je l'utilise. Un éditeur de forme vectorielle. C'est à dire qu'on peut créer des figures géométriques (rond, carré, cercle, ovale, polygone) simplement avec un outil. Bien attendu, je ne l'ai pas découvert avant car son intégration est vraiment "pourrie". J'ai du cherché "créer une ellipse gimp" sur google. Au lieu de proposer une barre d'outils, gimp affiche une fenêtre par dessus notre image... Mais bon, il fait quand même des ellipses! Pour ouvrir cet outil, aller dans le menu Filtres > Rendu > Figures géométriques (GFig)... On peut enregistrer nos anciennes figures si on les enregistre avant mais je n'ai pas trouver de façon d'éditer les calques existants. Comme Gimp, la sélections d'objet est assez difficile puisque l'option par défaut est de créer des lignes. Toutefois, si on regarde les boutons attentivement, il y a un bouton de "mouvement" des figures sélectionnées (le 10e bouton dans mon cas) et juste à côté, un bouton pour modifier les points d'une figure (la grandeur, le centre). Le bouton avec le curseur (la flèche blanche) ne fait que sélectionner mais nous permet pas de déplacer les objets en mode figure.
Bad luck
Ma nièce a reçue un DVD-R gravé d'un de ces professeurs de 5e année du primaire. Le DVD-R a été gravé avec un logiciel de Microsoft Windows Vista probablement. Sous Ubuntu 2008, 2009.04, debian sid, il est impossible de le monter comme système de fichiers. Impossible de le lire. Avec un utilitaire nommé dares-qt, j'ai pu extraire un fichier binaire de type "Microsoft Cabinet archive data". Sous Windows 2000, je n'ai pas trouvé de logiciel pour ouvrir ce fichier. Le fichier binaire fait 100 Mo... sur un DVD-R de 4.7GB. J'ai essayé de l'extraire avec cabextract et il y a 4 fichiers qui sont corrompus ou vide. Après extraction, j'ai trouvé une vingtaine de photographies (jpg), un fichier project.xml et un fichier sonore .wma. Il semblerait qu'il s'agit d'un genre de présentation avec quelques animations. Lorsque j'ai essayé de le copier sur ma clé USB, elle s'est corrompue ou je me suis aperçu aujourd'hui quelle était corrompue. J'ai du essayer de copier un par un chaque fichier que je pouvais encore lire et ensuite formater ma clé ensuite en perdant ce que je n'ai pas pu copier.
Puisque je connais personne avec Vista et un lecteur DVD près de chez moi, je vais devoir attendre et peut-être qu'un jour je vais savoir ce qu'il y a sur ce DVD.
Ah oui, aujourd'hui je voulais faire du vélo, je sors dehors fait 200 mètres et il se met à pleuvoir. Je rentre chez moi et il arrête de pleuvoir. Je vais chercher le DVD chez ma soeur, je reviens chez nous, j'ouvre le coffret et le DVD n'est pas là. Je retourne chez ma soeur chercher le DVD, le met dans le coffret, revient chez nous, fait les opérations d'extraction, me prépare à retourner chez ma soeur, et il pleut.... ;-(
Commenter (0)
Par yansanmoSection: Libre
Encore fait un dist-upgrade de trop
La semaine dernière, j'ai fait un dist-upgrade sur debian sid et j'ai perdu nautilus. J'ai pu le récupérer 5 jours plus tard. Hier matin aussi, nautilus voulait disparaître, mais pas hier soir.
Hier, j'ai fait un dist-upgrade sur sidux, et j'ai perdu mes logiciels de capture vidéo. Ils crashent tous X (tvtime, xawtv, ...). Je soupçonne que c'est un problème avec X pour le pilote intel. On dirait qu'il y a plus de problèmes rajoutés dans le pilote Intel qu'il y en a d'enlever à chaque mise à jour. Heureusement, j'ai trouvé une façon secondaire de voir la télévision: redémarrer avec le CD-live de sidux, enlever le module kernel cx88xx, rajouter le module cx8xx avec l'option card=4, rajouter le module cx8800, lancer tvtime, sélectionner NTSC, poste 3 et régler le contraste des couleurs. Franchement, franchement, franchement, pourquoi est-je l'impression que les logiciels supportent de moins en moins mon matériel? J'aimerais bien me concentrer à travailler avec "Besoin du client - Analyse du programmeur - Utilisation des outils et de la documentation - livraison du produit", mais il y a toujours le côté technique qui manque quelques choses: stabilité, rapidité, documentation complète, traduction incomplète, logiciel inexistant pour mes besoins. Et pour ceux qui me disent que je ne devrait pas utiliser des distributions instables, qu'ils sachent que lorsque j'utilise des versions stables, je subit tous les problèmes des vieux logiciels. Ensuite les programmeurs des logiciels m'expliquent que je devrais utiliser leur dernière version, pas celle inclue dans la distribution stable. Je reviens au point de départ. Et pour ceux qui me dise que je devrais utiliser un autre système d'exploitation, ce n'est pas une solution miracle car je rencontre d'autres type de crash, d'omission et de problèmes. C'est seulement les problèmes qui se déplacent, pas la quantité.
Parlant de bien inexistant pour mes besoins, j'ai le même problème avec les biens de consommations qui me sont proposés. Je me sens comme un tourisme au nord du Vietnam à qui les habitants lui proposent d'acheter des bracelets de métal inutile ou d'autres babioles sans intérêts lors de mon voyage. On dirait qu'on les prend en pitié et qu'on achète un ou deux trucs hors-de-prix pour qu'ils puissent manger le lendemain. Depuis que je suis jeune, j'avais la fausse impressions que les entreprises répondaient au besoin du client, mais c'est plutôt le client qui répond au besoin de l'entreprise. Je généralise là, mais il en existe des entreprises qui répondent au besoin. On dirait seulement qu'elle sont plus dans l'ombre. Je n'ai jamais rencontrer celui qui cultive 20 sacs de pommes pour moi chaque année. Même à ça, le producteur de pomme me dit pas quoi faire avec le coeur de pomme et le sac après usager? Deux autres problèmes non résolus. De la même façon, je n'ai jamais travailler avec ceux qui écrivent mon pilote Intel pour X, en utilisant mon ordinateur, ma carte graphique intégrée. Devrais-je commencer un pèlerinage de ceux qui répondent à mes besoins primaires et secondaires?
Commenter (0)
Par yansanmoSection: Libre
Ajout d'une extension à icedove
Depuis jeudi, j'essaie de faire une petite extension à Icedove (Thunderbird). Cette petite extension permet de choisir un modèle (dans la barre d'outil) après avoir ouvert un nouveau message. Pour avoir la liste des modèles, c'est assez simple. Pour avoir le sujet du modèle, c'est simple. Pour avoir les fichiers attachées et le message HTML: c'est presque impossible à faire simplement. Aujourd'hui, j'ai réussi à avoir le contenu du courriel avec une trentaine de lignes de code. Toutefois, le contenu du courriel contient les entêtes, les fichiers attachés, la version HTML et parfois la version texte. Donc, ce qu'il me reste à faire, c'est de réinventer la roue pour "analyser" et décoder les courriels avec fichiers attachés. C'est très idiot lorsqu'on sait que cette analyse est déjà codée pour un cas très spécial: l'ouverture du message. Le hic, c'est qu'on ne peut pas analyser le courriel sans ouvrir une nouvelle fenêtre. Dans un monde idéal, j'aurais une belle petite fonction avec deux paramètres: l'URL du message et une fonction d'appel asynchrone appelée lorsque l'analyse est terminée. Dommage qu'il n'y a aucun programmeur sur #thunderbird (irc.mozilla.org) pour en discuter.
Commenter (0)
Par yansanmoSection: Libre
À bien y repenser
À bien y repenser, j'ai enlevé les callbacks et les variables globales et j'ai utilisé l'héritage. Le code se trouve à l'adresse suivante svn checkout http://yansanmo.no-ip.org/svn/progysm/ysmcomment
. Il sera mis à jour durant la journée lorsque je fusionnerai ma classe de commentaires pour mes billets de blogue à cette classe.
Commenter (0)
Par yansanmoSection: Libre
C'est trop long
Aujourd'hui, j'ai essayé de migrer mon ancien code de commentaires (pour les articles) vers une classe PHP5. J'avais environ 8 fichiers à migrer plus la table MySQL. Ça m'a pris une journée pour juste cette classe (plus de 8h). C'est vrai que j'ai repensé et recodé souvent. Ce que j'ai tenté de faire, c'est d'avoir une classe de commentaires qui soit très flexible pour le type d'objets commentés. Elle doit pouvoir se réutiliser dans plusieurs projets. Pour ce faire, j'ai ajouté plusieurs callback et des variables globales avec le préfixe 'YSMCOMMENT_'. Je ne pense pas devoir utiliser plusieurs type de commentaire sur la même page, il ne devrait donc pas y avoir de conflits avec les variables globales. Une autre approche serait de définir une classe dérivée (je crois que je vais essayer ça demain). Par exemple, les commentaires pour les articles de mon CMS définissent ces variables: le fichier de configuration, le courriel de l'administrateur et 4 callbacks: obtenir l'item commenté, obtenir l'URL de l'item commenté, obtenir les permissions et réécrire les requêtes.
Voici des cas d'utilisation de ces 4 callbacks:
- Lorsque le formulaire d'envoie d'un commentaire est affiché, un lien vers l'item commenté et le titre de l'item doit être affiché. (callback GetRefItem)
- Lorsque la liste des commentaires à modéré est affichée, les liens vers chaque item commenté doit être affiché. De plus, le titre des items et les commentaires doivent être sélectionnés dans une seule requête. (callback RewriteQuery et GetItemLink)
- Lors de la modification ou modération d'un commentaire, seul les administrateurs du CMS peuvent éditer ces commentaires. (callback HasRights).
Demain, je vais essayer de convertir les commentaires de mon blogue vers ce nouveau système pour mettre à l'épreuve sa flexibilité. Ensuite, je ferai de même pour les commentaires sur le site DomGecko. Et peut-être que je pourrais même le faire pour mes photos.
Commenter (0)
Par yansanmoSection: Libre
Début de réponse pour csync2
J'ai eu un début de réponse pour Csync2 après 10 jours. Quelqu'un m'a éclairé sur un message pas très clair. Donc un message comme ceci: ERROR from peer siduxbox: Open error while backing up '/etc/csync2.cfg': No such file or directory
signifie qu'on ne peut pas écrire dans le répertoire d'archivage (backup). Si le message avait été plus précis en ajoutant le fichier de destination, j'aurais vu le problème tout de suite, mais non. Cependant, j'ai toujours pas eu de réponses sur le problème de certificats SSL avec Debian Sid.
La prochaine étape pour avoir deux ordinateurs semi-synchronisés est de trouver comment répliquer ou faire un backup de postgresql assez performant, rapide et simple. Peut-être qu'utiliser pg_dump serait assez puisque je veux qu'à la fin de la journée, il y est les mêmes données sur l'ordi 1 que sur l'ordi 2. Le but final de l'opération est que si l'ordinateur 1 de travail tombe en panne, j'ai l'ordi 2 qui est en parfaite condition et avec toutes mes données, à un jour prêt.
Commenter (0)
Par yansanmoSection: Libre
Les .tel sont maintenant arrivés
Tel que vu sur Slashdot, les .tel sont maintenant en service.
On peut d'ailleurs faire quelques tests avec la commande dig.
$ dig LOC henri.tel ;; ANSWER SECTION: henri.tel. 3600 IN LOC 33 53 13.880 N 35 30 48.254 E 0.00m 10m 2m 2m $ dig TXT henri.tel ;; ANSWER SECTION: henri.tel. 3600 IN TXT "Henri Asseily, Entrepreneur, CSO/CTO Telnic Ltd., Get your free vip.tel account at http://telnic.org/vip/" henri.tel. 3600 IN TXT ".tkw" "1" "hi" "ski, snowboarding, kitesurfing" henri.tel. 3600 IN TXT ".tkw" "1" "nl" "" "fn" "Henri" "ln" "Asseily" henri.tel. 3600 IN TXT ".tsm" "1" "pddx" "1" $ dig TXT vip.tel vip.tel. 3600 IN TXT "VIP" "is" "the" "beta" "release" "of" "the" "forthcoming" ".tel" "product" "launch" "in" "December" "2008." "For" "more" "information" "on" "this" "initiative" "or" "on" ".tel" "in" "general," "please" "use" "the" "links" "below"
Comme on peut le voir, le champ LOC permet de spécifier la position géographique et le champ TXT permettre d'ajouter le nom de la personne ou de l'entreprise.
En PHP, on peut utiliser dns_get_record pour les champs TXT, mais pas pour le .LOC qui n'est pas définit.
<?php print_r(dns_get_record('henri.tel', DNS_TXT)); ?> Array ( [0] => Array ( [host] => henri.tel [type] => TXT [txt] => .tkw [class] => IN [ttl] => 3600 ) [1] => Array ( [host] => henri.tel [type] => TXT [txt] => .tkw [class] => IN [ttl] => 3600 ) [2] => Array ( [host] => henri.tel [type] => TXT [txt] => .tsm [class] => IN [ttl] => 3600 ) [3] => Array ( [host] => henri.tel [type] => TXT [txt] => Henri Asseily, Entrepreneur, CSO/CTO Telnic Ltd., Get your free vip.tel account at http://telnic.org/vip/ [class] => IN [ttl] => 3600 ) )
J'espère que quelqu'un pourra avoir la brillante idée de modifier dns_get_record() pour ajouter 'LOC' ou pour permettre d'envoyer le type en tant que chaîne de caractères au lieu qu'un int. De plus, le champ ["txt"] n'est pas complet puisqu'il n'affiche que la première chaîne de caractères.
Commenter (0)
Par yansanmoSection: Libre