Here are a few software resources I developped that may interest you. Share, feedback, improve!
Export tables from OpenOffice.org to Dokuwiki!
Dokuwiki is a powerful collaborative wiki I use as a Web2.0 notebook for my research project, and as an interactive plateform for the researchers I work with. Although its simple syntax allow rich text formatting, the coding of complex tables is not ergonomic at all. What else but a spreadsheet program would be the perfect environment to design tables?!?
Thus, I designed the Calc2Dokuwiki extension for OpenOffice.org 2.x/3.x Calc (the spreadsheet module) to automatically generate the formatted Dokuwiki code corresponding to a hand-selected range of cells in Calc. View screenshot.
Speeding up your productivity by outputting flawless Dokuwiki code does not only save your time and energy, but it also facilitates collaborative practices with your colleagues!
Click on the link to view fullsize screenshot.
Calc2Dokuwiki is distributed under the CeCILL and LGPL licenses. The extension is an archived file which contains the source code of the extension (rename .oxt into .zip). Feel free to use, distribute, or improve!
Install and use
Integrate OpenOffice.org in your Web2.0 environment...
Download the extension and use the Tools/Extension manager to add it to Your extensions. Since OpenOffice.org 2.1.0, you only need to double-click on the .oxt file to install an extension. Note: for OpenOffice.org 1.x users, download the macro code calc2dokuwiki.bas and personalize your Calc interface by associating the Calc2Dokuwiki_Main sub with this icon: .
Calc2Dokuwiki adds a button in the Calc interface, which converts a selection of cells into a table in Dokuwiki code. The code is generated in a new OpenOffice.org text document ready to be copy-pasted in your Dokuwiki website! A multiple selection of cells ouputs as many tables (in the same Writer document) as selections. View screenshot.
Google Web Toolkit
Bonnes pratiques pour applications industrielles
Dans le cadre de mes fonctions de Dr-ingénieur R&D chez Ubiflow, j'ai utilisé le Google Web Toolkit pour développer des applications web. L'intérêt grandissant suscité par GWT a amené les ingénieurs de Google à présenter lors de la conférence internationale de 2009 un ensemble de bonnes pratiques pour l'architecture d'applications GWT.
La présentation ci-dessous a pour objectif d'illustrer par l'exemple la pertinence de ces bonnes pratiques (patron de conception MVP, bus d'événements, injection de dépendances, etc.). Mon intervention s'appuie sur deux versions d'une application fictive :
- Hesperis : formulaire de connexion / déconnexion
- HesperisMvp : même application refondue avec la bibliothèque gwt-mvp développée par E.S. Nunes
Les 2 applications de démonstration sont téléchargeables sous la forme de projets Eclipse GWT dans l'archive ci-dessous (cf. tutoriel GWT-Eclipse) :
MoveText (beta version)
Re-arrange your ideas without loosing attention!
Cut-paste is fine but you don't remember what you've just cut? Tired of inaccurate drag'n'drop when moving your text? One click to activate MoveText and you have a large flexibility to move your text selection without leaving your keyboard.
MoveText adds this button in OpenOffice.org 2.x/3.x Writer interface (word processor), which (de)activates the extension. When activated, you can use the following key combinations to move your text selection:
- Alt+/ moves selection sideways by character
- Alt+/ moves selection one line above/below
- Alt+Shift+/ moves selection sideways by word
- Alt+Shift+/ moves selection one paragraph above/below
MoveText is released as a beta version! Contact me for feedback.
MoveText is distributed under the CeCILL and LGPL licenses. The extension is an archived file which contains the source code of the extension (rename .oxt into .zip). Feel free to use, distribute, or improve!
Download the extension and use the Tools/Extension manager to add it to Your extensions. Since OpenOffice.org 2.1.0, you only need to double-click on the .oxt file to install an extension. Note: for OpenOffice.org 1.x users, download the macro code movetext.bas and personalize your Writer interface by associating the Main_MoveTextButton sub with this icon: .
Convert Weka decision trees into interoperable XML files!
Weka is a complete and user-friendly data-mining environment I used for my research project. I needed to build editable decision trees and parsable for further classification. But Weka decision tree classifiers outputs the decision tree either as a Weka-syntaxed text tree or as a binary file (neither readable nor editable in a text editor).
Thus, I developed WekatextToXml to automatically convert a decision tree produced by Weka from its text-syntax (e.g. sample_decision_tree.txt) to an XML file (sample_decision_tree.xml); and optionally, to a mindmap file browsable with the opensource Freemind software (sample_decision_tree.mm). XML files are very easy to parse, you will find many libraries to handle them in every programming languages. View screenshot.
For the moment, WekatextToXml only works with trees produced by the J48 classifier (an implementation of R. Quinlan C4.5 algorithm) or any text-decision tree respecting this syntax. I'm working on an extended algorithm wich will handle CART decision trees as well.
Click on the link to view fullsize screenshot.
For the moment, Wekatext2Xml is released as a freeware. It will hopefully be released someday as an OpenSource software, in order to give you access to the code of the program.
Graphical user interface
To use Wekatext2Xml, you just need to download it and to have Java (version > 1.5.0) installed on your computer. On this screenshot, you can see the Wekatext2Xml GUI. It has 2 buttons:
- the top right one opens a file chooser which lets you specify where is the .txt file containing the text-syntax decision tree (here, it's sample_decision_tree.txt),
- the bottom on converts and automatically saves the decision tree into an XML in the directory of the source file, with the same name and an .xml file extension (here, it's sample_decision_tree.xml).
Ticking the "export to Freemind mindmap" checkbox will convert the decision tree to a mindmap browsable and editable with Freemind (here, it's sample_decision_tree.mm), which is convenient to explore large decision trees.
Wekatext2Xml can also be used from the Java command line to industrially export your decision trees to XML and mindmap files. The command line verbatim handles up to five arguments:...
- the minimum verbatim needs only one argument, which is mandatory: the path to the Weka text file. The command line would be:
java -classpath /path/to/WekatextToXml.jar org.inra.qualscape.wekatexttoxml.WekaTextfileToXMLTextfile /path/to/sample_decision_tree.txt
This will generate the /path/to/sample_decision_tree.txt.xml XML file
- the 2nd argument is optional and specifies the path to the generated XML file (default : source file + ".xml"):
java -classpath /path/to/WekatextToXml.jar org.inra.qualscape.wekatexttoxml.WekaTextfileToXMLTextfile /path/to/sample_decision_tree.txt /path/to/sample_decision_tree.xml
- the 3rd argument is optional and specifies whether to indent the XML file with tabulations (default : true)
java -classpath /path/to/WekatextToXml.jar org.inra.qualscape.wekatexttoxml.WekaTextfileToXMLTextfile /path/to/sample_decision_tree.txt /path/to/sample_decision_tree.xml true
- the 4th argument is optional and specifies whether to convert "<" entities back to "<" in the XML file (leave to false by default or this may produce corrupted XML files)
java -classpath /path/to/WekatextToXml.jar org.inra.qualscape.wekatexttoxml.WekaTextfileToXMLTextfile /path/to/sample_decision_tree.txt /path/to/sample_decision_tree.xml true false
- the 5th argument is optional and specifies the path to the mindmap file (if specified, sets the 4th argument to false)
java -classpath /path/to/WekatextToXml.jar org.inra.qualscape.wekatexttoxml.WekaTextfileToXMLTextfile /path/to/sample_decision_tree.txt /path/to/sample_decision_tree.xml true false /path/to/sample_decision_tree.mm
Last update of the downloads page: 25 November 2012-15:49.