This is being written on the background of using my pen for quite some time now. I have neither used iPhone or HTC touch. So my thoughts may be bit biased. At first thoughts, I had thought iPhone to be a wonderful product with on screen QWERTY keypad. But it now appears to me that typing long text is really problematic and if there would be a stylus with equivalent handwriting recognizing software on HTC it would be really wonderful and easy. If Microsoft can include their handwriting recognizer in Windows Mobile OS, they simply have a killer product. As you can do a lot more with HTC mobile than the Apple's phone. More over HTC is available here in India today at a somewhat affordable price of 14k. And it Microsoft can quickly add some localization support they would land up with something very useful to be used by general public rather than a jazzed up mp3 player.
Saturday, September 22, 2007
Quick Review of iBall Pen Tablet with Vista

Lately I have been bored of using a keypad for entering text so finally got an Ball Pen Tablet. One of the first advantages being the product worked on my machine ( Windows Vista UE) without the need to install any additional software. With a bit of configuration I was up and running and writing this review with the pen. One great advantage of using the pen being that, I need not use mouse or keypad fordoing most of the tasks like clicking and entering prose text. Further, the tablet Input panel provided by Vista is really fantastic in handwriting recognition. It also sports a automated spellchecker. I also used the system with GTalk and had no problem text chatting with it. So far have only one complaint about the writing recognition Software, which is not really able to distinguish my I and J properly. In any case its a big boon for papa who are not really comfortable using a keypad. However if you use a Keypad and are good at typing then you may find any the Pen a bit cumbersome at first, but will definitely enjoy using it. Deleting text is as simple as striking off the word. And using it to Paint Some Stuff is another pleasant job. In all I find this product really useful for people with slow typing speed. And I must also mention that the Vista's inbuilt handwriting recognition is d really fascinating and enjoying tool to use. Which to some extent is not good as even if you have a bad handwriting (like mine) , the Vista tool recognizes the stuff and you hardly try to improve!
Sunday, September 16, 2007
Digital Library of India
The Gov. of India in collaboration with many Institutions is building up a digital library in India http://www.new.dli.ernet.in/ primarily to preserver old manuscripts and make available a number of books (whose copyrights have expired) to the general public.
Only complain i have about the site is that the books are mostly in TIFF format and is not very easy to read. Google Book interface is in contrast searchable and more accessible. For example a search on Astadhyayi on Google books returns many interesting results, but the DLI doesn't return any, though there are atleast two books on DLI on Astadhyayi.
Saturday, September 08, 2007
Apple iPod touch
When iPhone was released, it was really a WOW product, execpt for the fact that it was tied to a particular operator and a particular country (US...). And the only thing that I didnot like about it was that it would not be available in India for a long, undecided time.
But, now Apple is introducing iPod touch (http://www.apple.com/ipodtouch/) with all the technologies borrowed from iPhone, except you can't do a phone call. The WiFi access is a cool option, but remains to be seen if i can access gtalk or skype on it. I guess with this Apple has really beaten MS's Zune, though the later was never quite near the competetion.
And I see no reason why iPod touch should be available in India as soon as its released in US :)
Widgets in MeTA Studio
For those of you who had gone through the widgets/ directory in MeTA Studio, you will already have an idea of how to create your own widgets. I give a small description using RKs, Flakes Widget (http://chem.unipune.ernet.in/~tcg/codes/flakes.bsh)
1. Each Widget should have a unique file and function name in a given MeTA Studio installation. In this case it is flakes.bsh and the function name is flakes().
2. The first thing done by the widgets function is to get a shared instance of widgets panel:
panel = getWidgetsPanel();
3. Next a widget is created with a unique string identifier for the widget:
flakes = widget("flakesWidget");
4. Now "flakes" is a panel (just like javax.swing.JPanel) to with components can be added.
5. At the end give a call to :
panel.addWidget(flakes);
is made to finally add the widget to the panel.
6. Finally at the end of this file you give a call to the flakes function:
flakes();
and well here are some cool screen shots taken directly RK's page:
Flakes:
and Plane angles:
Note: There will not be any updates to MeTA Studio in coming 2 weeks ...
Tuesday, August 21, 2007
bug fix release for MeTA Studio
http://code.google.com/p/metastudio/
small feature additions are:
- lots of beanshell wrapper functions to for UI programming and easier access to MeTA Studio APIs
- the windows installer now includes sample scripts and widgets in the respective directories under the installation directory.
Note: To get a desktop shortcut for MeTA Studio under GNOME (under GNU/Linux, shd work for others too) u will need to create a file called meta.desktop in $HOME/Desktop directory and type:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=MeTA Studio
Type=Application
Exec=/usr/java/jre1.6.0/bin/java -jar /home/ganesh/HotCoffee/meta/bin/MeTA.jar
Name[en_US]=MeTA Studio
GenericName[en_US]=
You will need to appropriately modify the
Exec
entry to suit your installation directory of JRE and metastudio.
Monday, August 20, 2007
Programming in and for Devanagari
However, I have never tried before to program in devanagari. Using the Google's Indic transliteration tool (http://www.google.com/transliterate/indic) and a modified BeanShell editor for MeTA Studio I had some fun (http://tovganesh.googlepages.com/ganak.bsh):
गणक(अ, ब) { print(अ + " और " + ब + " की गणना " + (अ + ब) + " है!"); }
now the function can be called as:
bsh% गणक(5, 6);
the result being:
5 और 6 की गणना 11 है
which was cool. I tried the same trick in JavaFX Pad with the following code (http://tovganesh.googlepages.com/om.fx):
import javafx.ui.*;
var नमो = "ॐ नमो भगवते वासुदेवाय";
Frame {
title: "Hello World JavaFX"
width: 200
height: 50
content: Label {
text: नमो
font: new Font("sans", "PLAIN", 22)
}
visible: true
}
and WOW it worked :)

now finally I used a unicode capable editor to key in the following Java snippet:
public class हेलो {
public static void main(String [] args) {
System.out.println("भो विशव \n");
}
}
and compiled and ran it as shown in the screen shot:

and as u see, this too worked . Only the output is a bit problematic because of some font problem with my Indic font installation on FC6. However, the same is not the case when the code is written in the modified BeanShell editor in MeTA Studio.
In any case I enjoyed this experiment and hope that one day I can write a whole useful software in Sanskrit :)
Friday, August 10, 2007
MeTA Studio updates

The latest version adds multi-view panel to the in-built viewer of MeTA Studio allowing you to have different views (camera views) of the same scene at the same time. Especially useful when handling large molecules and viewing properties. Other improvements include support for interpolaters (see Interpolation APIs in metastudio help) and a new "interp" keyword in Find dialog that allows you to intepolate currently loaded properties. To use this:
dx, dy, dz, prop-number, interp
here dx, dy and dz are values with which the current scalar fields grid step size is devided, prop-number is the index of the property (scalar field) you would like to modify. And also includes the usual list of small improvements and bug fixes ;)
Updated packages are available from the usual place: http://code.google.com/p/metastudio/
Monday, July 30, 2007
MeTA update and recreational programming ;)
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
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
.jpg)
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
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 :(
Sunday, June 17, 2007
OLPC and Classmate PC
Last week Intel announced that they are finally introducing their "version" of OLPC dubbed the Classmate PC in India for a price of about 10,000 INR. Though as always I take the price tag with a pinch of salt because as always this price appears to be one what is subsidized and not the retail price (as in you can't buy this from a third party vendor or a distribution outlet, at least at the price which is quoted for).
Though it is made to appear that the goals of OLPC and Classmate PC to make available computing resources for those underprivileged to have an access to a full blown desktop or laptop available today are altruistic on the part of the parent sponsoring companies and rivals at the same time (AMD and Intel respectively), I see more selfish motives. Even though it is the OLPC foundation that is spearheading the development of OLPC, Intel sees it as a competition from AMD. In an attempt to make available the computing power to the next billion, the companies (AMD, Intel and Microsoft alike) only seem to be in a mood to capture the larger market share.
Classmate PC appears to me no different from the Mobilis developed by an Indian company called Encore Software Ltd. Both of these offer compact computing power within the form factor of a very light laptop computer. Even the OLPC project falls in the same category. The only difference that I see is the real hardware and the software combinations used. While Mobilis uses an Intel StrongARM processor with a commercial distribution of GNU/Linux called the MotaVista, Classmate PC uses an Intel Celeron-M processor and possibly Microsoft's $3 software (which is basically a cut down version of Windows and Office). OLPC on the other hand is developing their own version of Linux distribution derived from the Fedora project and uses an AMD processor. But I feel, that none of these "laptops" meant to basically address the larger issue of digital divide seems to serve the real purpose.
Firstly, the foremost criterion of bridging the digital divide is to break the price barrier of a computing device. Mobilis (and its earlier avatar of Simputer) when introduced was touted to be a sub 10K INR device; now it costs 20K INR + extra 2K if you need connectivity options. OLPC was supposed to be $100 device now that is already reached somewhere to $150 (or more?). I do not see a reason why Classmate PC will have the same problem.
Secondly, the basic idea of providing a portable computing device to bridge the digital divide at the cost that is substantially high is flawed. Yes 10K INR or $100 is very expensive for people who can't get even proper schooling, I am not counting the once who do not even manage to feed them properly as I feel that the the digital divide can only be broken in steps.
Thirdly, the idea of providing a portable computing device to a group of kids also seems to be flawed to me. When you have portable computing device, it becomes a personal object, you are tied to it, you start depending on it, you learn to use it and you customize it to your needs and taste. When such a device is used in a group it looses its sheer advantage and appeal. And I feel this is exactly the reason why the Simputer's target audience was a big mistake. You can't expect a PDA form factor device to be shared with the whole village community. You do not share a mobile phone, do you? You also do not share your laptop the same way!
Fourthly, who is responsible for repairing and supporting these devices. I see no indication on the part of the sponsors in this respect.
Lastly, I feel the refurbished PCs should also be considered as a means to bridge the digital device, rather than generating new e-waste.
All this seriously makes me think hard as to whether there is a better solution to this so-called problem of "digital divide"? Can this be achieved via a community activity and not like what currently appears to be largely spearheaded by big corporations eager to get market share in the next billion? Could the price of a decent personal computing device with connectivity options (which may require un-conventional way of designing these devices) be brought down to 1K INR (roughly $25)? (The mobile phone industry has already come up with such options with Reliance Infocom introducing 770INR (roughly $20) mobile phone in Indian market, of course the goal of phone is different (or is it?) but that is exactly the kind of pricing required of a computing device to make it accessible to the larger lot of us.) And finally as the target is a large mass of people (not millions, but well over a billion), how do we make these computing devices greener?
If you, like me feel that these questions be addressed for a better "digital world" of tomorrow, I would like to know your opinion. And possibly come up with a viable practical "first step" solution...
Tuesday, June 12, 2007
Reviewing Windows Live Writer
I am using the Windows Live Writer on Windows Vista to post this blog entry to my blog. This the first time I am using an offline editor to post the entries on this blog. Though I have used Google Docs to publish entries on this blog, I am starting to love this application from Microsoft as it seems to offer support to a wide range of Weblog services. The one greatest advantage of using Windows Live Writer is editing the blog in a completely offline mode and the post it when ever you get online. Windows Live Writer automatically adapts to the current theme that you are using (including the background images, fonts etc.) so writing on to the blog also gives a different experience :)
Tuesday, June 05, 2007
using MeTA Studio APIs to construct new applications
The code is available from:
http://tovganesh.googlepages.com/MeTApplet.tar.gz
But be warned! it not at all documented ;) .. but i guess its simple enough to understand ;)
To know what is WebProp visit http://chem.unipune.ernet.in/~tcg/webprop/
playing with MeTA Studio renderer and water esp




Sunday, June 03, 2007
latest screen shots for MeTA Studio

Full Screen viewer with interactive grid generator.

Improved rendering via JRMan.

and watch the goodness as you fragment manually!
Monday, May 14, 2007
MeTA Studio windows installer
http://chem.unipune.ernet.in/~tcg/MeTAv2/MeTAStudioInstaller.exe
The installer needs an installation of JRE, which can be obtained from http://www.java.com, if u do not have it already installed.
I have tested the installer on Windows Vista Ultimate Edition (32-bit) and Windows XP Professional (32-bit) and it seems to work fine. I guess it should work on other versions of Windows too!
If you are looking of sample files to program in MeTA Studio, the scripts and widgets package is now available separately at:
http://chem.unipune.ernet.in/~tcg/MeTAv2/scriptsAndWidgets.tar.gz