Finally libkml 1.3.0!

After years of inactive development, fork updates, discussion, waiting around for answers, trying a lot of quirk fix. I am finally going to release libkml 1.3.0. I have to thank Mr. Bas Cowenberg for his support which made me to take it up to here. I also thank other projects using libkml that showed a willingness to test this fork.

What’s new in 1.3.0 ?
cmake build system
cleanup of embedded sources
charming ExternalProject that allows to download and build
Generated config files for easy use of libkml with other projects.

OSSIM gets a github page

OSSIM recently started to move the code hosting to git and they have a functional github page. The svn repository is kept alive but developers are using github. The team is also rebasing commits from svn to git manually for sometime until everything is settled. I hop commits into svn will be closed and it will be git only soon!

I had tested a small pull request via github and it was nice to see this tool is moving away from svn.

For those who want to checkout sources, here is the github page.



cannot find a better web browser

I have been a long user of Mozilla Firefox. But  I am very much frustrated about its performance in these days. Disclaimer: I am not a web developer so it is not part of my job to check if a website or web app is working smoothly. To be precise, I need a simple browser without much fancy item. Here the word fancy is quite questionable. In this case, I define it as “browser the web, loading Stack overflow, nabble, mailing list archives, xkcd, news, blogs, forums.

Why the almighty firefox eats too much of my memory?

I know , you can argue to turn off javascript, buy some RAM(don’t be stingy), Get a new system with a better graphics and blah blah.  But even with the noscript addon, the memory usage is high.!. Now why should I buy an extra RAM to just feed my browser.

So I decided to embark a journey in search of a good reliable web browsers. There are a tons of other browsers in the market. text based, gui based. Both of them with and without javascript support and other Web2.0 stuff.

I didn’t have selected one right now. I will take some time to review others and find a web browser that sucks less. Having said that word, I say, I am using dwm window manager from suckless for an year now. No complaints. No worries. Completely satisfied with performance and its usability. They have some very cool stuff that really rocks. And guess what!.., there is a project “surf”.

As I am much impressed by their simplicity and design philosophy , I cannot say that I am not leaned towards surf. Maybe I will use it for my day work. So this could be it. But I need to test it.

I cannot ask all firefox features in the alternatives. Seriously.. I am not even thinking “what if some day..” I really don’t. My current web browser is  too slow and experience is unbearable. What worse could happen if I use surf for a week or two.. Heh ?

I will be back if I have some results on the new web browser. Also surf is not the only one on the list. There is emacs’s eww (no javascript) , W3m and suckless has list of other web browser that rocks.



Cross compiling OTB – continued..

clone sources

git clone

build and install dependencies

make gdal itk ossim qt4 muparser muparserx

building  OTB

you need cmake 3.4.0 or higher. This is needed to have support for wine emulator.

git clone

mkdir build ; cd build

cmake ../OTB -DTOOLCHAIN_FILE=/path/to/mxe.cmake

(wait for configure to finish)

By default, OTB does not activate a lot of modules that depend on external libraries such as muparser, opencv, qt.

Below command will enable extra options. YOU MUST have those libraries installed in your system.

 -DOTB_USE_CURL=ON . (note the trailing dot)

start building by running make


optionally change the install location. I use $HOME/install/otb/

for that I run cmake as follows

cmake -DCMAKE_INSTALL_PREFIX=$HOME/install/otb . 
(trailing dot again)

Finally install OTB.

make install

Cross compiling OTB

Recently, I compiled OTB for Windows 7 from a Fedora system using cross compiling tools. There are good support for the Microsoft compilers already in OTB project. But I used MinGW tool-chain via MXE packages. MXE is a cross compile environment supported on any Linux machine.

Already OTB gives packages for windows via OSGeo4W distribution, There is also an NSIS installer generated daily.

So Why do you need to go for GCC tool-chain on Windows.? Why should I cross-compile instead of compiling it on windows ? What is wrong in using visual studio?

Okay. I am not a fan of visual studio and MSVC++ compilers. It maybe very good but I am not a fan. That doesn’t mean there is fundamentally something wrong with that compiler. So I prefer GCC. Well, you can say loud: “news flash fella.. GCC a’int that great either”. But for me it was less painful experience.

MXE is great for generating windows binaries from a Linux box. It is not hard to setup up. It does not use any complex external dependencies. Best of all the build system of mxe is simple and elegant.

cloning the source and running just “make” command will start building packages. You can run “make boost” to build the cross compile tool-chain and use it to download and build boost. It is not a super build system but ‘the’ superbuild.

Next I will try to explain some steps on building OTB.


libkml development

For an year ago, I started working on libkml library. My primary interest is to cleanup the build system and change it to much powerful cmake. Along the way, I fixed some bugs and cleaned all embedded third party sources.

Initially I forked the google/libkml from github and did everything on the fork. I was thinking..Hey,  I can do a pull request to upstream and it will be simple and just fine. The development activity from the side of google is almost nothing. So during my long vacation… libkml got better.! I stopped caring about whether changes will be merged into upstream. Continue reading


Get every new post delivered to your Inbox.