Monday, July 30, 2007

MeTA update and recreational programming ;)

New MeTA Studio updates are available at: http://code.google.com/p/metastudio/

Features include:
a) subvolume generation and saving
b) Support for Fuzzy Volume generation
c) function value interpolation APIs
d) lots of improvements to UI and standard set of bug fixes..


To get a break of what i generally do, i am (re) learning a bit of windows programming and with it am writing a small set of C++ APIs for doing windows programming on my old Win98 machine. Its called weon and is downloadable from http://tovganesh.googlepages.com/weon.tar.gz

To create and open a window its as simple as:

include "weon.h"

CWeonApp app;

WEON_APP_MAP(app)


weon is under development and right now you cant do much with it. but i promise to make it simple to read and use :)

And with the help of APR and RK we have written a small set of APIs for doing MPI style programming purely using Python. Called pimpi its available from: http://tovganesh.googlepages.com/pimpi.tar.gz


A small test program that uses pimpi looks like this:

import pimpi
import sys

pimpi.init(sys.argv)
noOfProcessors = pimpi.size()
myRank = pimpi.rank()

print "Total number of processors: ", noOfProcessors
print "My rank: ", myRank

if (myRank == 0):
for i in range(1, noOfProcessors):
pimpi.send(i, "hi")
else:
print pimpi.recv()

data = pimpi.bcast(0, "bhello")

print data, myRank

data = pimpi.bcast(0, repr((1,2,3)))

print data, myRank

pimpi.finalize()


To run the above code you use:
python pimpiboot.py test.py

Note that pimpiboot.py reads a file called "node.list" that contains the nodes which you want to use in parallel. You need to setup your cluster environment for password less rsh/ssh access for pimpi to work correctly.

... look back here for more updates on these codes :)

Sunday, July 29, 2007

JavaFX

Some time ago Sun Microsystems announced their plans for JavaFX and now they seem to have many of the tools ready (https://openjfx.dev.java.net/?intcmp=hp2007jul25_javafx_download#downloads). With this, I think Sun is on the verge of creating another revolution in application creation that spans multiple devices based on the same (now ubiquely available) Java platform. Hope I get some time off my writing to try out this new stuff :)

Monday, July 23, 2007

Bharat and India

A few days ago I had to travel by a crowed bus to Viman Nagar. As the bus starts of from Pune station I waited outside till the bus started to get on to it. My mind has already adjusted to the fact that I won't be having a smooth ride back home. And then something really nasty happened. One of the elderly passengers complained to the conductor of the bus that a person sitting on a seat reserved for the senior citizens was adamantly refusing to get up. To my utter surprise this conductor instead shot back to this elderly man and said that he can do nothing about it!! This really angered the elderly fellow and he directed the driver to go to the police station. This action angered the rest of the travellers, instead of expressing solidarity towards his action and his stance (which I rightly feel was 100% correct). Any way I didn't express any great action by the police. By the time the police came the adamant man in question merely got up and walked away from the bus. One of the police officials accompanied the elderly and merely made sure that he got the seat. He had no word of advice to either the conductor, driver or the commuters. And the most terrible part of all this was that I merely remained a mute spectator of the whole incident.

Later when the bus neared Viman Nagar and most of the in between passengers got down, by mere chance I got a seat next to this elderly man. I was just about to speak to him when I saw his trembling hand and could hear his bitter murmuring (surely about what all happened). This observation was so strong to me that I completely forgot as to what should I talk to this guy... was completely clueless and didn't open my mouth till we bot got down at the same stop. He joined his wife back to home. And I still kept wondering about the whole incident made my walk towards my home.

In retrospect, I felt so bad about this incident not because someone didn't get up to give a seat to an elderly person. But because we seem to have forgotten that to be a Bharateeya is to respect and elder. Because we do not seems to have inculcated this bharateeyaness in our new generation and because we are only worried about the economic growth of India and not maintaining Bharat's values and spirituality. And because we seem to be unaffected by suffering of fellow humans and often make fun or criticize those in trouble. And because I seem to have become a more Indian than a Bharateeya. 

Thursday, July 19, 2007

Review of BenQ DeskSaver keyboard with Mobilis



Some time ago I had reviewed the Freedom mini keyboard which I use with my Nokia 6600. I find the form factor of that keyboard very well suited for ultra mobility and convenience. Some time ago I had also got an ultra compact device called the Mobilis and had commented that the inbuilt keypad on Mobilis was more or less useless. I could not use the Freedom mini keypad with this device as it did not have any kernel support for bluetooth and all my attempts to compile my own kernel for this device have not so far been successful. I had gone far to even load the compiled kernel on to Mobilis but alas could not make it run!

And well I connected it to Mobilis and fired up Abiword and was up writing this review :) At 800 INR the keypad seems to be a bit expensive. But its small tablet PC form factor and slim and sleek look appears to tone down the weight on your pockets. This is a full PC style keypad as opposed to a reduced version (QWERTY basic) Freedom mini keypad. Its definitely easier to work and type out documents with this "natural" PC style keypad. Almost all the keypad button except the one specific to Microsoft Windows are usable and work as advertised. Especially I find using the editor, bash terminal and vi was much easier with this keypad. I also found that using this keypad was much easier than using the keypad that comes with most of the laptops. Thus I find that the ergonomics of this keypad are nicely done.

To test out the usability of this device on a desktop PC (as it is marketed as a DeskSaver keyboard) I connected this keypad to my PC. This also allowed to test other keys which are of non usable on Mobilis. The special Windows keys works as expected. So does the shortcut keys for accessing Internet and Email as well as keys for controlling the volume (Note that you need to install the provided driver software for this to work properly). However, I find that this keypad is a bit constrained if you do heavy coding and would not really recommend it if you intend to replace your standard keyboard with this one. In fact the standard USB keypad that comes with today's branded PCs provide the same softkey experience as this keypad provides.

In conclusion I find that this keypad is only useful if you are looking into using this device in conjunction with a mobile device especially a tablet PC. It also works great with Mobilis, the only drawback being that its a bit bigger than the default carry case provided for Mobilis.

Monday, July 09, 2007

Core Aware MeTA Studio : Early Implementation

A new version of MeTA Studio is available for download. This is the first release of MeTA Studio where some algorithms have started taking advantage of multi core systems. Though MeTA Studio uses a lots of threads to do tasks in background, the multi core (or processor) functionality has never been earlier in algorithms that are compute intensive. As a first step the following algorithms in MeTA Studio use the multi core (processor) features of the system when available:
1) Building molecular connectivity graph.
2) One electron integral evaluation (quantumj implementation in MeTA Studio)
3) Two electron integral evaluation (quantumj implementation in MeTA Studio)

As always the updates are available from http://code.google.com/p/metastudio/

Check back as I add more features that take care of multi core features offered in todays multi core processors.

Other minor changes:
1) Bug fixes related to exporting .list and .key files
2) Updated Java3D system to 1.5.1 so that it works with Windows Vista.
3) And usual set of small bug fixes.

OpenMoko's first "open" mobile phone is up for sale

Yes! Finally OpenMoko has made available their first "open standards" based mobile phone available to be bought online at: https://direct.openmoko.com/ (Warning: if you are using some latest version of browser like IE7 or FireFox 2, you will get a warning on the certificate validity of the HTTPS site. I hope OpenMoko fixes this issue soon!).

From the site:

"OpenMoko is a GNU / Linux based open software development platform. Developers have full access to OpenMoko source and they can tailor their implementations to underlying hardware platforms. "

The current developer edition (Neo Base 1973) is costing 300 USD. The advanced developer edition comes for 100 USD more (which contains tools and stuff to open up the mobile physically).

There is a consumer edition slated to be released in October this year.

I am hopeful of this device, but as of now don't simply have the money to buy this cool stuff :(