Friday, 10 July 2009

Chrome OS and Google World Domination

The web platform is starting to get annoying in its attempt to re-invent and re-create everything that previously existed in the Desktop space.

Finally, Desktop developers are beginning to wake up to this problem.

For years, browser-developing companies have tried to turn the Browser into an operating-system-like autonomous system. While the rest of us were trying to figure out how to get our favorite tools (Python) into the browser space.

No one seems to have fully realized yet, that it is much easier for us, Desktop denizens to conquer the world than for the browser people. They miss almost everything from the kernel up, while all we need to do is integrate better the web into the desktop.

We don't even need browsers. Minimize your browser (and all other windows you may have open) an look at that beautiful picture in you desktop. When was the last time you had a productive relationship with your desktop? Mine is used mainly to hang a pretty picture and place a bunch of useless files stashed to one side so they don't mess up the view. But even with my beautiful wallpaper unblocked by the icons on the desktop, I rarely look at it, because my browser is always blocking the view.

IMHO, the web should take the place of the walpaper and desktop apps should be gradually adapted to be more and more web aware, so that we don't need thousands of browser extensions duplicating the functionalities of our desktop apps which can't deal with the web.

My extension loaded Firefox, currently takes almost as long to start as Ubuntu to boot. Why do I need this mamooth when I could have the web on my desktop and integrated with all of my operating system? Why on earth do we need yet another OS?

Chrome OS according to recently released information, is a linux kernel with a light-weight graphics layer (not X) dedicate to a browser (chrome in this case). They are doing exactly what I proposed above, but I am not prepared to give away my desktop for that. What we need to do now, is to prove that the browser is the problem, not the operating system.

Friday, 17 April 2009

Parallel version of the Gillespie solver

A few months back I blogged about my implementation of the Gillespie SSA algorithm for solving stochastic differential equations. I have now improved the code allowing for parallel execution on SMP systems. If you don't know what this is all about, please refer the the first post for a quick intro to what a stochastic differential equation is and what it means to numerically solve a system of them.

The code of the solver is in this module. There is an example in the package which is also worth running. On a two core machine the simulation runs about twice as fast, a expected. The parallelization was implemented using the multiprocessing module, and ammounts to roughly 4 lines of code. I love multiprocessing. and it's also compatible with psyco which makes the simulations run twice as fast (on top of the parallelization gains). Probably my next shot at improving its performance will be using scipy.weave and migrate the core of the algorithm to C. Simpler optimizations schemes such as cython (my quick port), runs twice as slow as my python code. Cython can be quite tricky to optimize beyond Python performance, and generates horribly verbose C code (if you don't believe me, try running cython on a print "hello world", you will get a 1000+ lines hello.c !!!).

It is worth noting that the code for the solver and examples are being maintained as a subpackage of BIP, my Bayesian inference package. Even though it is a bit unrelated, Since I frequently have to do Bayesian inference on mathematical models (both deterministic and stochastic), I thought it would be a good idea to keep the solver to those models in the same package as the analysis tools.

Thursday, 5 March 2009

Fixing Rkward startup problems

Rkward is a Nice IDE project for R based on standard KDE components such as Kate, etc.

However, most people wanting to try it (version 0.5b) have come across a startup bug, where Rkward says it can't find some plugins, resulting in a useless interface since some plugins are required for proper operation.

After spending quite some time looking for the solution to this problem, and finding it, I decided to document it here in three simple steps:

  1. The first task is to find the file 'all.pluginmap': just type "locate all.pluginmap" at the console. Mine was located on "/usr/share/apps/rkward/all.pluginmap"
  2. Open "~/.kde/share/config/rkwardrc" with your favorite editor and fix the path to "all.pluginmap" you have just found out in the variable "Plugin Maps" under "[Plugin Settings]".
  3. The if you start Rkward again, you will stumble on another bug (derived again from a hardcoded path) which tells you that some php file cannot be found. To fix this one you have to make a link on your home directory to an Rkward instalation folder. Open a terminal and type "ln -s /usr/share/apps/rkward ~/rkward".
That should get you a working Rkward installation. Enjoy it!

Amazon

Video Bar

Loading...