Sunday, 18 September 2011

XML and command line parsing in C++/C

Dynamic languages like python, tcl or alike are taking over in driving many C/C++ codes I/O operations and option parsing due to quick and easy implementation, however it is still possible to use libraries/APIs for parsing options via command line (or XML ) quite efficiently in C/C++. Here is the list of some API/libraries:
  • Xerces is Apache's XML parser for C++.
  • GCCXML is gcc extention for XML parsing in C++.
  • Commons CLI is Apache's command line parsing API.
  • Argtable is ANSI C command line parser.
  • getop is gnu's commang line parser.
  • tclap is templatized C++ command line parser.

Saturday, 14 May 2011

Operating in Multiple Repository within ant

Ant script can not change its base directory after it is invoked, for that reason if you are handling two repositories under same directory it would be wise to write a secondary wrapper script.

Saturday, 16 April 2011

R Package install order automation

There is a bioconductor tool to generate install order for packages [here].
Initially tool generates graph of CRAN package dependencies (ignoring suggests, because otherwise graph will be acyclic).


Usage Example:

source("http://www.bioconductor.org/biocLite.R")
biocLite("pkgDepTools")
require('pkgDepTools')
deps <- makeDepGraph("http://cran.r-project.org", type="source")
a<-getInstallOrder("plyr",
deps,needed.only=FALSE)
a$packages
[1] "iterators" "itertools" "plyr"

Saturday, 9 April 2011

R-plugin for vim

vim is a powerful text editor and R is a powerful environment for statistical computing task. To harness both powers a plug-in for vim is developed. One needs python enabled vim and conqueterm.

Friday, 8 April 2011

Ant task with wildcard expansion for svn.

Ant is a popular tool among Java developers but one can use it for some other generic tasks. For example using svn as a task inside an ant script is provided by a library. However wildcard expansion won't work under this task. One way to over come this to use an exec task as follows (in windowz):
<exec executable="cmd.exe">
<arg line=" /C svn --force delete pathtofiles\*.dat
--username=username --password=password">
</arg>
</exec>