All of the interesting technological, artistic or just plain fun subjects I'd investigate if I had an infinite number of lifetimes. In other words, a dumping ground...
Thursday, 30 April 2009
libxml2 indenting or formatting output
The xml file was:
<?xml version="1.0"?>
<root>content<child1>child1 content<child2>child2 content</child2><child3>child3 content</child3><child4>child4 content<child5>child5 content</child5></child4><child6>child6 content</child6></child1></root>
Here you notice that the nodes that have child nodes also have content - I didn't know this was possible in xml. I guess that's why Daniel Villiard harps on how whitespace is significant.
Anyway I removed the content from the nodes that had children and low and behold:
<?xml version="1.0"?>
<root>
<child1>
<child2>child2 content</child2>
<child3>child3 content</child3>
<child4>
<child5>child5 content</child5>
</child4>
<child6>child6 content</child6>
</child1>
</root>
Works like a dream...
Friday, 24 April 2009
OpenMP programming
g++ -Wall -o opm opm.cc -fopenmp
#include <stdio.h>
#include <omp.h>
int main () {
int nthreads, tid;
/* Fork a team of threads with each thread having a private tid variable */
#pragma omp parallel private(tid)
{
/* Obtain and print thread id */
tid = omp_get_thread_num();
printf("Hello World from thread = %d\n", tid);
/* Only master thread does this */
if (tid == 0)
{
nthreads = omp_get_num_threads();
printf("Number of threads = %d\n", nthreads);
}
} /* All threads join master thread and terminate */
}
Wednesday, 15 April 2009
Tailor CVS to Git migration
Tailor VersionOne
Tailor is a tool to migrate changesets between Aegis, ArX, Bazaar?, Bazaar-NG, CVS, Codeville?, Darcs, Git, Mercurial, Monotone, Perforce, Subversion? and Tla? repositories. There are OtherTools with a similar goal, most of them tied and sometime more specialized on a particular system.
See SourceRepository and TargetRepository for more details on supported version-control systems, and ConfigurationFile for how to describe to tailor what you want it to do.
It perform its job executing several MigrationSteps, using a ReplayMechanism? that basically fetches the changesets from any of the source backends and effectively replay each one on the target system. The process can be configured very deeply in several ways, from tweaking a relatively simple configuration file to writing pre- and post- PythonHooks?.
It was written by Lele and it is implemented in Python.
Be sure to RTFM :-)
Local Amazon's EC2 api
Tuesday, 14 April 2009
dual screen script
#!/bin/bash
#xrandr --addmode VGA 1280x768
#xrandr --addmode VGA 1440x900
#xrandr --output VGA --mode 1440x900
#xrandr --output VGA --right-of LVDS
xrandr --output LVDS --auto --output VGA --auto --right-of LVDS --output TMDS-1 --off