October 26th, 2009 @ 4:32pm | njames | Categories Serendipity | 4 Comments »
  • un projet rigolo http://richard.jones.name/google-hacks/google-cartography/google-cartography.html.
  • Apache Pig.
  • il y a depuis le mois de mai une nouvelle version de texlipse, le plugin eclipse pour rédiger du latex, cette version 1.3.0 corrige des bugs notamment celui des captions contenant des citations dans un bloc figure qui étaient considérées dans la version précédente comme des erreurs de syntaxe.
  • calc2latex une macro OpenOffice pour obtenir du code latex à partir d'un sheet calc.
  • Pour faire de l'UML sous Eclipse, il y a l'UML2 Tools, mais c'est très lent (popup bars, animated layout, animated zoom et anti-aliasing sont activés par défaut! c'est déjà moins lent quand tout cet inutile eye-candy est désactivé) et de plus fourmille d'options et spécificités pas forcément UML. Un plugin pour Eclipse qui permet de faire de l'UML 1.4 classique, un peu dans une optique KISS, Keep It Short and Simple, (ce dont sont infiniment éloignés les outils UML que l'on trouve ces derniers temps) est AmaterasUML.
June 29th, 2009 @ 9:09pm | njames | Categories Development tools | No Comments »
  • Pour la gestion de dépôt SVN, le plugin Subversive accompagné du connector SVN de Polarion est un brin buggy, sur certain (gros) dépôts SVN il me fait un heap space error, plutôt embêtant... Le plus étrange, c'est cette gestion d'erreur de la part d'Eclipse:

    screenshot-operation-failed

    Un fonctionnement anormal est détecté mais l'action "send report" est indisponible.

  • Pourquoi diable le gestionnaire de plugins/packages sous Eclipse est aussi complexe ? et surtout aussi LENT !! c'est purement incroyable ! et ça empire avec Eclipse Galileo (la nouvelle mouture d'Eclipse fraîchement sortie) pour ma part sur ma machine !

  • Avec Eclipse Galileo, il y a une nouvelle gestion des libraries (.jar et .jar externes). Pour ma part, j'aime bien avoir un sous-répertoire ./lib dans mon projet dans lequel je mets mes libraries (.jar et .so). C'est bien pratique de faire ainsi car le répertoire apparait dans l'arborescence du projet Eclipse, et les .jar qu'il contient apparaissent aussi dans Referenced Libraries:

    eclipse_annoyance1

    Avec Eclipse Galileo, le répertoire disparait de la vue arborescente, un développeur a trouvé pertinent de faire disparaitre le répertoire car il contient les libraries... je trouve cela complètement stupide: faire une vue système de fichier et une autre vue conceptualisée, orientée application Java qui ne reflète pas le système de fichier, oui! NetBeans le fait très bien, mais mélanger les deux... je suis tatillon mais je trouve cela stupide.

    Note: en fait c'est un comportement de l'import de jar automatique (une des nouveautés de Eclipse Galileo Java, voir la section Classpath resolution honors the 'Class-Path' header of JAR manifest file), on peut aller dans Referenced Libraries, clic droit sur le répertoire > remove from Referenced Libraries, ce qui fait réapparaitre le répertoire dans le package explorer.
    (Voir la page New and Noteworthy sur le site d'Eclipse pour toutes les nouveautés de Galileo).
April 22nd, 2009 @ 2:47pm | njames | Categories Java | No Comments »
Pour rediriger les sorties standard output et error de la console eclipse vers un fichier de log:
  1. configuration du lancement du main > onglet common
  2. cocher File
  3. indiquer le chemin vers le fichier de log
[source]
January 16th, 2009 @ 5:07pm | njames | Categories Java, XML/XSD | No Comments »
Pour écrire des scripts XQuery sous Eclipse, il n'y a pas pléthore de plugins pour apporter de l'autocomplétion, coloration syntaxique, et de la vérification de syntaxe.
  • DataDirect XQuery
  • XQDT
  • xqIde: coloration syntaxique, vérification de syntaxe, génération de xqDoc, et intégration avec la database Marklogic pour l'exécution de requête XQuery.
Bug avec XQDT: Si dans votre précédente session d'Eclipse, le Workbench contenait un ficher .xq ouvert, le prochain lancement d'Eclipse est bloqué par l'exception suivante:
Exception in thread "Thread-2" org.eclipse.swt.SWTException: Device is
disposed
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.widgets.Display.error(Display.java:1142)
at org.eclipse.swt.widgets.Display.wake(Display.java:4068)
at
org.eclipse.ui.application.WorkbenchAdvisor$1.run(WorkbenchAdvisor.java:797
)
Cette exception bloque complètement le chargement d'Eclipse. Si il n'y a pas de .xq d'ouvert dans la session précédente de Eclipse, il n'y a pas de problèmes, le plugin fonctionne correctement. Problème rencontré avec Java1.6, Ubuntu 8.04 Hardy Heron et Eclipse Ganymede for Java developer Linux GTK.
October 22nd, 2008 @ 2:38pm | njames | Categories Research | No Comments »
Dans le cadre de mes travaux de thèse, je construis des graphes à l'aide de la bibliothèque Java Jung (la 1.7 cependant, pas la 2.x qui inclus les generics et encore en beta), et qui utilise Colt pour les opérations sur les matrices. Pour les formats de stockage des graphes, il existe de nombreux standards:
  • dot graphviz
  • GML, Graph Modelling Language, non XML
  • GML-XML
  • GraphML
Jung ne permet de sérialiser les graphes que dans le format GraphML, donc pas de Graphviz dot, c'est assez embêtant car les applications de visualisation de graphe prennent en entrée du Graphviz dot ou du GML, et assez rarement du GraphML. C'est un point de vue personnel, mais le GraphML est vraiment un format de stockage pour les graphes au sens type de donnée abstrait, comparé à Graphviz dot ou GML qui attaquent aussi directement le rendu du graphe. De plus, les détracteurs du GraphML peuvent dire que c'est du XML donc verbeux et coûteux en parsing mais GML n'est pas moins verbeux... Cependant, il est intéressant de convertir du GraphML en Graphviz dot, par exemple pour illustrer un article car il existe de nombreuses macros latex pour importer du Graphviz dot.
Pour la conversion de standard, par exemple convertir de GraphML vers Graphviz dot
  • avec graph-easy, un script perl, cependant j'ai un problème avec graph-easy, il semble qu'il n'aime pas les GraphML en input. Il imprime sur la sortie d'erreur mon fichier GraphML suivi de:

    not recognized by Graph::Easy::Parser::Graphviz at /usr/local/bin/graph-easy line 87
    En précisant le format d'entrée, ça ne fonctionne pas mieux:
    nicolas@trantor:~/Desktop$ graph-easy --from graphml graph.xml graph.dot
    Unknown input format 'graphml' at /usr/local/bin/graph-easy line 332.
  • graph-tool: Très long à compiler, comme indiqué sur la page d'accueil du projet. Si un prefix est précisé dans le configure, il faut modifier le script python graph-tool, car il ne trouve pas la library, alors ajouter dans le script:

    sys.path.append("../lib/python2.5/site-packages")
Visualisation
  • avec GraphViz:
    dot -Tps graph.dot -o graph.ps
Visualisation interactive
  • tulip, très intéressant celui là.
  • zgrviewer: voir http://zvtm.sourceforge.net/zgrviewer.html#download (mais bug sous linux, probablement à cause de la JVM et le forwarding sous X, j'avais vu une exception là dessus, mais j'arrive pas à la reproduire). Mais en le recompilant, ça fonctionne bien http://zvtm.sourceforge.net/zgrviewer/doc/build.html. Le problème vient probablement du bug dans Java 1.6 pour Linux à propos de Xlib/XCB qui a été corrigé depuis. Voir aussi
  • gephi
  • InfoVis cyberinfrastructure, ivc (s'appuie très largement sur Jung, je pense que ce n'est pas adapté aux large graphs).
  • InfoVis Toolkit, ivtk (INRIA futurs, LRI, IN-SITU project)
  • Walrus
  • Pajek
Remarques
  • visualiser des Graphviz dot avec une application web, http://ashitani.jp/gv/.
  • il existe un plugin Eclipse pour écrire des Graphviz dot, Graphviz Eclipse Plugin. Cependant la présence de ce plugin fait que les icônes de certains types d'images, dans l'arborescence d'un projet, sont remplacées par l'icône "fichier texte" (notamment les jpg et png)... un bug ?
September 22nd, 2008 @ 3:27pm | njames | Categories Research | No Comments »
TeXlipse est un plugin Latex pour Eclipse. Parmi les options cachées, du genre de celles que l'on cherche désespérément avant de tomber dessus dans un bout de doc, il y a le line wrapping esc+q, qui ne fonctionne cependant que sur le paragraphe courant. Ainsi il est intéressant d'utiliser le plugin Eclipse Word Wrap.
Notes: Dans la version 1.2.2, l'inclusion de citation dans une caption est considérée comme une erreur dans Eclipse: une icône d'erreur apparaît sur le nom du fichier .tex incriminé et dans l'éditeur. La compilation latex ne retourne aucuns problèmes, et le document est correct, c'est juste pas géré dans TeXlipse.
Un pense-pas-bête sur natbib.
June 12th, 2008 @ 2:47pm | njames | Categories Development tools | No Comments »
Comme je travaille avec un ami sur un même bout de code pour un petit projet prospectif, j'ai déployé un subversion sur mon serveur. Voici un mémo de quelques tests: La machine utilisée tourne sous Ubuntu8.04.
Pour un usage en local:
  • installer le paquet subversion.
  • pour créer un repo:
    $svnadmin create projectName
  • pour le checkout:
    $svn co file:///path/to/the/repository
  • pour flagger un fichier comme nouveau dans le repo (et donc à ajouter sur le repo distant)
    $svn add newFile
  • pour commiter:
    $svn co fileToCommit -m "message"
    Si échec du dernier commit et intégration nécessaire, il faut récupérer la version plus récente présente sur le serveur (pour faire la fusion à la main):
    $svn update fileToUpdate
    SVN va alors créer 3 fichiers: file.mine (copie de la version modifiée en local), file.r1 (version locale avant modification), file.r3 (version du serveur, donc plus récente que file.r1). Quand l'intégration est effectuée (fusion de file.mine et r3) alors il faut flagger le conflit comme résolu (et recommiter le fichier ensuite):
    $svn resolved fileResolved
    flags possibles: C : conflict (fichier conflictuel) A : added (fichier ajouté dans le projet) D : deleted (fichier supprimé du projet) G : fusion (fichier plus récent sur le repo et version locale modifiée depuis le dernier checkout mais la fusion ne pose pas de conflit) M : modified (modifications sur un fichier qui n'a pas été modifié localement, alors le fichier locale est écraser par sa version du repository).
  • pour créer une nouvelle branche à partir du trunk:
    $svn cp http://.../trunk http://.../branches/mybranch
En réseau avec svnserve (et donc écoute sur un port particulier, le 3690):
Rien de particulier, il suffit soit de lancer le deamon à la main, soit de faire un script à placer dans /etc/rc1.d/K20svnserve et /etc/rc2.d/S20svnserve (ou placer le script dans /etc/init.d, et utiliser l'outil Debian rcconf).
#!/bin/sh
case "$1" in
  start)
        start-stop-daemon --start --chuid www-data:www-data --exec /usr/bin/svnserve -- -d -r /home/subversion/usvn/svn
        ;;
  stop)
        start-stop-daemon --stop --exec /usr/bin/svnserve
        ;;
  restart)
	$0 stop
	$0 start
	;;
esac
exit 0
En réseau avec Apache sur le port 80:
  1. installer les paquets subversion, subversion-tools, libapache2-svn
  2. charger le module $a2enmod dav_svn
  3. rendre le repo accessible par apache: Éditer /etc/apache2/mods-available/dav_svn.conf
    <Location /svn> 
    DAV svn
    Require valid-user
    SVNParentPath /home/subversion/repo/
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /home/subversion/conf/htpasswd
    AuthzSVNAccessFile /home/subversion/conf/access
    </Location>
  4. gérer les utilisateurs avec $htpasswd /home/subversion/conf/passwd nicolas
  5. gérer les droits en éditant le fichier /home/subversion/conf/authz
    [groups]
    developer  = nicolas
    [projectName:/]
    @developer = rw
    * = r
En réseau avec USVN:
C'est la solution utilisée à la date de rédaction du billet. Plus léger et pratique qu'un Trac, mais certes bien moins puissant (ce n'est même pas comparable en fait, Trac étant un bug tracker), USVN ne propose pas de wiki, ni d'exploration du code (mais on peut naviguer dans l'arborescence du dépôt dans une interface Web). USVN, UserfriendlySVN est un projet de l'Epitech distribué sous licence CECILL, qui permet la gestion de repository SVN par une application PHP (création, gestion des droits), en fait c'est très partique pour créer des dépôts SVN à distance et gérer les droits d'accès.
  1. installer les paquets libapache2-mod-php5 php5-sqlite sqlite3
  2. activer le module $a2enmod rewrite
  3. récupérer l'archive de USVN et la copier dans /var/www, la décompresser et modifier le propriétaire des fichiers $chown -R www-data: usvn
  4. vérifier le /usvn est accessible sur votre website, et utilisez l'application php pour l'installation.
Eclipse et SVN:
Avec Eclipse Ganymede, un projet Eclipse est né pour intégrer SVN dans eclipse, subversive, mais le plugin subclipse fonctionne aussi avec Ganymede.
  1. installer le plugin subclipse disponible sur Tigris. Par défaut, une dépendance (buckminster) est nécessaire à l'installation du plugin (et semble poser problème), mais l'installation du plugin peut s'effectuer en décochant l'option "Integrations (Optional)".
  2. un "new project" puis "checkout projects from SVN", et ça roule tout seul.
Avec Subversive:
  1. installer le plugin subversive depuis les dépôts Eclipse http://download.eclipse.org/technology/subversive/0.7/update-site/.
  2. installer un SVN connector, par exemple celui de Polarion: http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ On y trouve une implémentation de Polarion, SVNKit, et une autre de Tigris, JavaHL. Cependant, il semble que si vous avez des projets anciennement gérer avec subclipse, le plugin subversive n'arrive pas à reprendre la main dessus...


 Valid XHTML 1.0 Transitional Valid CSS! WordPress