Saturday, April 05, 2008

All the fuss about Windows Vista

Ever since the release of the much delayed OS from Microsoft, it never seems to be on the correct side of the news reported world around. I beg to differ and through this post I would like to tell my experience of using Windows Vista for more than 8 months now.

 

Setup that I use daily

I do most of my work on GNU/ Linux. At work, all my machines (development, clusters and word processing) use either Fedora 8 or Ubuntu 7.10. For  home and personal use I have two old desktop machines, one new DELL machine (preloaded with Windows Vista Ultimate edition) and two ultra mobiles: Mobilis (reviewed here) and HCL MiLeap -L (reviewed here). Of the two desktop machines one is fairly new and has Fedora 6 loaded on it. The other is about 8 years old and came preloaded with Windows 98 (HP Pavilion 6615).

Of all the machines at home, I have been using the Fedora 6 machine for all my day-today activities till I got the DELL machine. Now I use the Fedora 6 machine mostly for programming and rarely for watching DVDs. When I am on move or bored sitting in front of my desktops I use my ultra mobiles.

Well to be very complete I also own a Nokia 6600, but use it rarely ever since I got the two ultra portables.

In terms of expenses I did for my personal set up, the Windows machines were about 8 times as expensive! That's because my Linux machine was a second hand buy (but of COMPAQ evo brand).

Finally no hurting the feelings of Mac people but I never owned a Mac and probably will never because I always have a feeling that they are too closed source people even if their base kernel and development tools are all GNU based.

 

Vista: An OS that serves me and my parents well

Let us first see the things in the perspective of my parents. They always need a way to communicate using the Internet and easily access many stuffs like photos, videos, watch movies and many a times catchup with the TV shows. Being a media centre computer with Windows Media centre installed, they find the machine relatively easy to use. They also find using IE7 easy (I don't have FireFox installed currently). GTalk and Skype are other applications they use and are relatively mature on Windows than other OS. As far as advanced features of Vista are concerned I do not believe that they are directly useful for them. But features like "sleep" are better implemented in Vista than in XP, in the later case I had constantly observed freezes of my machine. On Vista however this problem seems to have disappeared all together. Another feature my parents had to frequently deal with earlier version of Windows was the "blue screen of death", I have not encountered a single instance of this on my Vista machine to date, despite a number of hardware changes that I did over the original setup.

The Instant Search and the inbuilt voice recognition tools are also frequently used and most loved tools (especially by me). For me the Instant Search is in many ways better than other similar tools provided on other OSes. The voice recognition on the other hand seems to be an unique feature in Vista.

Going into more technicality, my basic needs from an OS are: Good development tools, rich media and Internet experience, devices should just work, be secure to a large extent, and an intuitive user experience. Before using Vista I have used all previous versions of Windows form Windows 3.1. I have also regularly used Linux distributions from Red Hat 6 to Caldera to SusE, PC Quest and Ubuntu (from 6.10). It has always been hard to figure out how to get a particular device work under Linux; which has never been the case with Windows. People would argue that this problem is mainly for devices or peripherals who do not open up their proprietary hardware to Linux developers. This may be partially true, but when I look from a users perspective it comes to choosing between one of the "better" OS, the one on which devices just work. Further, installation of a driver under Linux can simply be not done by an average computer user. You should have fair amount of idea of what a kernel is and what a compiler is, which my parents simply can't cope with! well all that for support of Windows:) But what makes Vista stand out from previous version of Windows is a feature in the Windows update that automatically comes back to you incase no appropriate drivers are found (which I myself experienced with Logitech Quickcam webcam).

Vista also comes with a assortment of development tools, many of which can be downloaded for free from Microsoft's site. Many of the tools can be used to build applications for older version of Windows too. The tools provided with Visual Studio Express edition are just enough for my work. Though I have also installed the Windows SDK as some of the programs I compile require core Win32 libraries.

I regularly use Virtual PC 2007 and VirtualBox for virtualization environment and find both of these to work without any hitch on my Vista machine. I frequently need Linux environment to test a lot of stuff so I have installed Ubuntu with all required compilers in VirtualBox and find its performance under Vista (even when running media center and recording the current TV show) very smooth.

UAC of Vista had been a big topic of debate, but I find it to be pretty usable and worth the hassle. Moreover, it is how it works out in the Linux world (sudo!).

 

Some things are a problem though

I have been wanting to program with the CUDA system from NVidia since a long time, but its drivers for Vista have simply not been available to date :(

 

Finally

In short, after more 8 months of using Vista, I find it to be a fantastic and rock solid product, which makes it worth to invest in a bit of new hardware too.

NB: This full review was written with Windows Live Writer using the iBall pen tablet ( reviewed here).

This review is not endorsed by Microsoft and are my personal views.

Tuesday, March 18, 2008

Review of HCL MiLeap-L

Recently HCL India released a series of ultraportables branded as MiLeap series. The cheapest one of these is a flash based (2GB), Intel class mate PC style, MiLeap X series. I purchased a slightly higher version of these machines called MiLeap L series that instead comes with a 30GB HDD. This review is on MiLeap L series, though I also intend to buy the flash based version of this device for my uncle for reasons given below ;)

Hardware Specs
This is an ultraportable with following main specs:
- Intel Celeron M ULV (ultra low voltage) processor @ 900 MHz
- 512 MB DDR2 RAM
- WiFi, 10/100 ethernet
- 2 USB ports
- 1 SD Card reader
- Inbuilt Mic and Speakers
- Audio out and in jacks
- Touchpad
- 7 inch TFT screen with 800x480 as max res
- Battery Backup: ~4Hrs
- Total weight (including battery): 1.44 Kg

General feel, usability...
I just love this piece :) HCL has done a nice thing in packaging this little laptop not only on the hardware front but on the preinstalled Ubuntu distribution. The preinstalled Ubuntu takes up about 3GB of disk (so i am not sure what the flash version is bundled with). As against a standard install this comes with all the required apps (OpenOffice, Gimp, a series of media players and best of all with all required codes) out of box. The only thing that I didn't like was a 8GB partition on which FreeDOS was installed (presumably for those who want to switch over to windows), which i immediately reformatted as ext3 :)

Ubuntu is quite usable on this little laptop. Word processing and all other apps open without much fuz and seems quite fast for me. The boot time is a bit slow, but thats mostly as a result of using a bit slower processor. Network configuration, WiFi to be specific is just a breeze and worked great for me.

All other usability features of Ubuntu works great, and I feel that this pretty good for people looking for office related tasks and also for surfing.

The most wonderful aspect of the whole thing is the preinstalled gcc compiler set, which just worked out of box. I feel with the price tag (17000 INR) this is a pretty good buy for students learning programming. Though vi is preinstalled, you need to download vim and emacs if you really intend to do serious programming. I also installed the latest JRE and was pleased to see that MeTA Studio ran effortlessly of it ;)

The keypad and the touchpad are also nicely designed and are pretty much usable. There was one small problem though, that I found when using vi, that there is only one SHIFT key, but with a small form factor like that it would be difficult to fit in any extra key.

Overall the battery backup is pretty good and goes well beyond 4 hrs if you use the screen with reduced brightness. With standard brightness too, the battery pack gives at least 4hrs backup.

On heating issue, this heats up as much as my Mobilis, so I think that there is not much of a problem with it. I have continuously used the machine for about 4 hours and find it okay. Some times the base gets heated up a bit, and so its advised not to keep it on your lap for along time ;)

Final thoughts
I think HCL and Intel have finally begun to introduce to Indian market of what I had said earlier in my blogs. I have used Mobilis from Encore and after nearly an year after I tried using it I find it a highly restrictive device that is overpriced (the only thing on which it scores over MiLeap is a battery backup of about 6hrs). I would highly recommend this (and other MiLeap series too) if you are on a lookout for an affordable ultraportable, or even a second computing device.

NB: The whole review was written and published from my MiLeap L :)

Update: About the sound, its pretty good for the form factor.
About the heating issue, I think the use of flash drive will drastically reduce the heat generation. Also the flash drive is more rugged with no moving parts and hence the reason I will be buying it (MiLeap X) for my uncle ;)

Update 2: Aniruddha had written in to ask if VGA connecter is available from MiLeap L, short answer is NO. Check comments for more info.

Monday, January 28, 2008

updates to MeTA Studio

New MeTA Studio builds are available and includes a number of new features and UI:
1) more streamlined UI when viewing molecule object.
2) integrated talk interface
3) few additional scripts to show off scripting powers in MeTA Studio







Of the few scripts included the most notable one is a script (freq.bsh) that computes frequencies from a energy Hessian matrix of a molecular system. I will shortly blog in more detail about these and more scripts.

the code is available from the usual place: http://code.google.com/p/metastudio/

Monday, November 12, 2007

Who "learns" APIs anyway?

This is a sort of after thought and comment on my previous post where I "complained" about learning a new API.

Most of my experience with Java has been not in developing application but rather designing APIs and programming platform (for instance MeTA Studio http://code.google.com/p/metastudio/). Where as, whenever I had used other languages (C, C++, Fortran, Python...) it was mostly for application development. Developing good and usable APIs do require fair amount of thinking and design tactics to be put in. Developing pure application on the other hand is, many a times more faster and easier job. A good API need not be "learned", rather it is apparent form it as to what you can do with it. You do not "learn" a good API, rather you cleverly "use" them to build applications.

In that sense probably Android APIs are "pretty good".

Android is out: But am a bit disappointed.

This is a follow up on my earlier article "speculating on Android". Google has finally released the SDK for Android platform and with a first look at the APIs I am not too happy. Not because my main assumption of inclusion of a scripting interface went entirely for a toss, but because Android has a whole new set of Java libraries (APIs) rather than adopting a standard set of Java APIs. Another claim was that development on Android platform would be easy and fast. But with my experience of using Java from mobile to desktop to server has it that a very strong design and object orientation skills have to go in to develop flexible and robust applications. When you have a "good enough" and many times an evolving design it is not really RAD. RAD is what is been offered by initiatives like, pys60 (python on Nokia S60 phones).

After a bit of pondering over the APIs it does some how feel that many of those are needed but are in no way available in Standard Java libraries. One of such aspects is the touch APIs (http://code.google.com/android/samples/ApiDemos/src/com/google/android/samples/graphics/TouchPaint.html).

But here again I fail to understand as to why the standard Java graphics libraries are not used and instead Android's own libraries are used. This to me feels like introducing more confusion than "helping " the people who develop on Java platform. In essence, I simply do not understand the necessity of learning completely new set of APIs for programming on Android and that too in a "write once and run every where" language.

Saturday, November 10, 2007

Mobilis Crashed!

After months of almost daily use of Mobilis, it has crashed and simply refuses to power on :( Have contacted the Encore staff, but will have to wait till trow for their reply.

Tried to open it up and check for any burned stuff .. but have found nothing that "looks bad". Hope that I am able to get it back working soon...

Friday, November 09, 2007

Speculating on Android Platform

Google and a group of 34 other companies announced the Open Handheld alliance this week (http://www.openembedded.org/). They also announced that a SDK for the "open" platform named Android would be made public on Nov 12,2007. I am just trying to speculate what all this platform might constitute:

1. An embedded Linux kernel, probably built and hardened by Google engineers.

2. A scripting language like Python as an interface for programming. other scripting language that would be included is JavaScript. To Some extent this would be like PyS60 (Nokia's Python implementation for S60 phones - http://wiki.opensource.nokia.com/projects/PyS60), however I feel that this will be the primary mechanism of programming on Android platform. I am not sure it they would provide any native programming support; primarily because of two reasons : cross compiling is difficult and time consuming secondly native code is always a security risk.

3. Large set of APIs for supporting Web 2.0 applications. It will probably support all Google data APIs, however I feel that the platform will it self support integration of other Web 2.0 (or 3.0...) apps. This is what I mean by "open'', and not closed to only Google services.

4. Would have some seamless mechanism to access Internet from all kind of networks supported by the device. This is mostly a hardware feature, but felt like mentioning it.

So these are my speculations! Let us see, what Google and its alliance have out of their hats next week. Turn back to this space to see how poorly I faired ;)



(update: Just forgot to mention in point 2 that Java and JavaFX are also strong contenders here, but with Sun Microsystems currently not officially part of the consortium I wonder whether this is really the central part of the platform).

Sunday, October 28, 2007

OS X Leopard and IPhone Touch

I had a firsthand feel of the new OS from Apple and IPhone touch interface during a visit to apple exclusive showroom. The store called Imagine and is located in Ad Labs mall in Kalayani nagar in Pune. The IPhone  on demo had access to a working Wi-Fi connection that made it possible to check the Safari web browser and the you tube video feature. I was also pleasantly surprised to seethe latest Mac OS which the sure guys had just installed on a big screen Mac. Could also check out other products from Apple, and overall it was a fun experience. This was the first time I ever visited an apple exclusive showroom and frankly I was impressed with the way the store guys allowed to experiment with everything there on display. Only my friend had to pay a price to get in there - Rs. 10 for parking! ...and i am still to get over the hangover of using the Touch interface ;)

Friday, October 26, 2007

Trying to capture moon

IM000515

IM000517

IM000521

After a long time had some stint with photography. These shots were taken during 25/26 th night. I attached my small telescope's (30x magnification) eyepiece to camera lens (with another 3x magnification) to get these photos. Are not really good ones as there is lot of chromatic aberration in these images - Must learn how to correct these. In the last photo there is a strange black spot, that kept on moving in my subsequent shots... looks like some moon satellite ;)

spider!

IM000505

IM000500

One more kind of spider found in Pune University campus.

Friday, October 12, 2007

MeTA Studio update

Update to MeTA Studio is now available with the usual assortment of bug fixes and a few new feature additions. Most notable of the addition is ability to do function interrogation by mouse click when u visualize a scalar field.

I am also formally starting the Issue tracking list at http://code.google.com/p/metastudio/issues/list where you can post Bugs, Issues and Suggestions about MeTA Studio interface and its APIs.

The new version can be downloaded from the usual place at: http://code.google.com/p/metastudio/

Saturday, September 22, 2007

Apple iPhone and HTC Touch

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.

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

Every one has heard about Google Book and many use it frequently.
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

Though I am not a major fan of apple, largely because of its price factor, I almost always am awe with the kind of products it releases.

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

Using the MeTA Studio and Java APIs, RK came up with some cool simple widgets (http://chem.unipune.ernet.in/~tcg/members/ritwik.html)

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

a bug fix release with some small feature additions is available from the usual place:

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

Programming for Devenagari has been largely supported by mordern languages like Java.
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 ;)

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 :(

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

As an example of using MeTA Studio API's I have written up an applet to interactively select a grid for scalar field calculations using WebProp.

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

Playing around with MeTA Studio renderer and water electro static potential (ESP) yields some stunning pictures ... all of these are textured planes of ESP computed using WebProp:




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

For those of who like the simplicity of installer to check out meta studio, i have built a windows installer using Null Soft installer, and is available at:
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

Friday, May 04, 2007

revisiting olpc

Well not exactly, but this NY Times article on the schools in US abandoning the "one-to-one" computing programs as it hardly improves the learning abilities of the kids, is something that really needs to be thought about.

The article notes that in the seven or so years it was functional in many schools, the box has more served as distraction in the learning process.

Incidences like these should be taken seriously and probably we need to study a lot before blindly implementing a new technology driven learning scheme.

As of now India has taken a stand of opting out of the OLPC project, possibly because of these very worries?

Sunday, April 15, 2007

Mobilis Review - Part I : The Hardware, Software and Device aspects


What is it?


A hand held device from Encore Software, Bangalore that was introduced in late 2005 by the Indian minister for Science and Technology, Kapil Sibbal, was dubbed as a sub 10K INR laptop for the masses with an aim to bridge the much debated digital divide. However, since its availability, the price of the device seems to be little over double the initial estimated cost. With most of the connectivity options (like WiFi, GPRS and USB Lan) needing extra money, the device at present seems no where near bridging the digital divide. But if we look closer, it might have some promise...



The Hardware


The Mobilis is based on an ARM architecture and uses an Intel PAX processor clocked at 400 MHz. A main memory of 128MB is fair enough to run a number of applications included. However, a flash memory of mere 128MB is just enough for the installed applications. If you want to store data or music it is advised to get a cheap USB pen drive or an MMC card. However make sure that the drive is formatted with FAT16 only as FAT32 seems not supported. I was successfully able to use my old 128MB Lexar pen drive as well as a new 2GB Transdent drive without much problems. But I find certain data integrity issues while using the 2GB drive, and would rather recommend not to use a higher capacity drive with this device. However, I have not been able to use the MMC card that came with my Nokia 6600 on the device.


On the display side, Mobilis comes with an impressive 800x640, 16bit clear TFT display that also acts as a touch screen. I found this screen as well as the touch screen fairly well made as compared to other competing products.


Another piece of hardware that I am currently using to key in the text for this review is the 56 key keyboard that is a bit cumbersome to use. In the small keypad form factor, I am a regular user of Freedom Mini keypad along with my Nokia 6600. I find the ergonomics of Freedom Mini keyboard far better than the one offered with Mobilis. One major complain that I have about the Mobilis keypad is the size of the individual keys is so small that a person with thick figures will have problem using the keys effectively.


Another piece of hardware is the stereo speakers attached to the device and are fairly good quality piezo electric gadget. The device also includes an inbuilt mic, though I found its quality and sensitivity not at par even with cheap microphones available in the market.



The Software


On the software end Mobilis uses a commercial grade MontaVista Linux distribution.The kernel version is fairly dated in the sense it is 2.4.x series. A uname -a indicates the following kernel version:

Linux Mobilis 2.4.20_mvl31_tft_mg1


Mobilis also includes a BuzyBox based shell ash, which provides most of the command line utilities available on a standard Linux distribution. Other productivity applications like E-mail client, Firefox browser, Abiword, Presentation viewer, VLC player (mp3 and video player) and Flash player are also present.



How does it compare with other offerings in the market?


By any means Mobilis was neither released too early in the market neither too late to be run over by its competing devices. As of now I see two major factors in keeping away general public from buying this device. Most of what this device can do can be performed by a high end Nokia smart phone (except of-course the screen form factor). Another feature that this device lacks is a camera, but I don't think the current design can accommodate a camera in it. When compared with other similar form factor devices like the Nokia Internet tablet, Mylo from Sony, I find that two major things are lacking: an out of box integrated WiFi or a bluetooth connectivity and support for VoIP clients like GTalk and Skype. Though one might argue that these are not real target areas for Mobilis, these features really do affect when people are looking out for the device. Another important area where Encore is missing out is marketing. Where as Nokia and Sony have a huge marketing force as well as get fair amount of third party review, the marketing by Encore is vastly limited and has also probably received far less reviews.


In conclusion I find that Mobilis has a great promise if Encore keeps developing and improving over the current design. It a pretty good start from Indian perspective of bridging the digital divide by reliable low powered computing devices.


In the next part of this review I will cover software and programming aspects of Mobilis in more detail.... so look back at this space.


Note: This review was entirely written using Abiword on Mobilis and then transferred to my PC using USB pen drive and finally uploaded to Google Docs and published to Blogger.



Monday, March 26, 2007

mobihf v0.4

mobihf v0.4 is released and available for download from the usual place: http://tovganesh.googlepages.com/s60#mobihf

This version integrates mobihf and mobimol into a single app now bundled as a single SIS file (only for s60 second edition). All this was again done on Linux.
Due to time constraints some of the promised features (like parallel 2e integrals) are still missing and I will take some fare amount of time put in these things in, till then enjoy this version.

Some screen shots:


Tuesday, March 20, 2007

John W. Backus, the creator of FORTRAN is no more

John W. Backus, who is considered to be the creating members of the first ever high level programming language has passed away at 82.

Apart from the more well known contribution to developing Fortran, he has also been a major contributer to a widely used notation for describing the structure of programming languages called as Backus-Naur form (also known as Panini-Backus form; for the closeness with the way Sanskrit language grammer is defined).

New York times has an Obituary for him.

Friday, March 02, 2007

mobiphoto !

Well just trying to make up a little note of things that my mobile camera saw in Pune :)

When Lalu ji makes the next Budget announcement, he should allocate some funds for improving English for the sign boards put around railway station:



Next time you see street lights on Jangli Maharaj road in broad daylight, you can be sure that Pune University is undergoing power problems and safely head on to E-Square or Mangala!



Typical crime scene: Mice ate Mouse! Only was too late to catch the mice red handed!


On some +ve note: reflections

Sunday, February 18, 2007

updates on simputer and mobilis

It has been a long time since I kept track for developments on Simputer and Mobilies, largely so as I got absorbed in other work as well as was seeing a tremendous revolution in the Mobile Smartphone segment. Infact, if you see my previous posts, I have been personally involved in writing many first time applications specifically using the Python port on S60 devices by Nokia.

Not so long ago I had written a small article on Simputer, mainly questioning its marketing strategy and support for developers (those interested can read this here: http://qbit777.googlepages.com/simputer and a copy at http://tovganesh.googlepages.com/simputer). It appears to me now, that people at PecoPeta (who manufactured Amida Simputer) have probably been thinking the same. PecoPeta (or rather the Amida Simputer) has a new owner, http://geodesiconline.com/, which is a company based in Mumbai. Read this news item for some more info.

Geodesic on its part has taken some important initial steps in reaching out to the developer community as a whole. Like it has GPLed the Alchemy UI framework used in Amida Simputer (see: http://openalchemy.org/), but I feel even this step is not enough to light up the Simputer passion among the developers. To reach a larger mass of developer community, you not only need the software stack open-sourced, but the hardware also needs to be easily accessible (read: can be bought from a local vendor or an online store). And this aspect seem to be still missing in the case of a Simputer.

Another company that has been selling Simputer (largely to Government and Corporate customers) is Bangalore based Encore ltd. Apart from Simputer, Encore had last year introduced a so called "cheap laptop" called as Mobilis, which again seems to be difficult to purchase! However a look at their website (http://www.ncoretech.com/products/ia/mobilis/index.html) indicates that Mobilis has had a substantial software stack + hardware update, providing features like better Linux support, J2ME support, wider connectivity options (WiFi, Ethernet, GPRS, Modem support) etc.

In the end, a feeling of "we have it in us, but can't sell it to others" crosses my mind as I go through the revised product sheet of Mobilis (http://www.ncoretech.com/products/ia/mobilis/pdf/mobilis.pdf).

Friday, February 16, 2007

compiling mobihf python extension module on linux

As Nokia doesn't seem to provide S60 SDK on Linux (largely due to copyright issues), you could do the compilation (generating the Python extension module in my case) by using either gnupoc or using the how to at Simon Woodside.

Somehow, I was not able to get stuff working using Simon Woodside's instructions, neither gnupoc installation worked straight forward. But I was finally able to use gnupoc to get the Python extension modules compiled (for mobihf, see the previous post).

This is what I did. Follow the gnupoc instructions provided at:
http://gnupoc.sourceforge.net/HOWTO/

I used the 2.0 SDK for my work (that what is required to get programs compiled for my Nokia 6600). The only thing I am not so sure about the above instructions is whether Wine is really required to get the stuff working. What appears to me is that only if you need the emulator and a few windows only SDK tools. gnupoc use the gnu-arm cross compiler, which is natively compiled for linux and can be obtained from gnupoc site itself. In any case I have done this installation on an FC6 machine, where Wine refuses to work properly (it simply freezes up any windows program i try to execute, even winecfg). So, I have really not cared about this aspect of the SDK while performing the installation and running the tests.

After following the above procedure, I unzipped the Python SDK files from PyS60 site: http://sourceforge.net/project/showfiles.php?group_id=154155
into $EPOCROOT/. The .bash_profile file had the following entries for PATH and EPOCROOT:

export EPOCROOT=/data/sdk/gnupoc/

PATH=$PATH:/data/sdk/gnupoc/epoc32/tools:/usr/local/er6/bin:$EPOCROOT:$HOME/bin


So my SDK is installed in /data/sdk/gnupoc directory. Note that EPOCROOT needs the last '/'.
Also the GCC-ARM cross compiler is placed in /usr/local/er6/bin directory. Now, make sure that all the files in $EPOCROOT/epoc32 are executable.

You will also need to UNIXify (use dos2unix) all the .h files unzipped from the Python SDK distribution.

Finally, you need to edit bldmake.pl file in $EPOCROOT/epoc32/tools directory to replace:

$Candidate=uc $Candidate;

to :

$Candidate=lc $Candidate;

near the following line:

if ($Section eq 'PLATFORMS') {


This is to allow it to properly find the armi build directory. After this you should be able to use the SDK for compiling Python extension modules as you do in Windows using:

bldmake bldfiles
abld build armi urel
abld freez
abld build armi urel


Hope all this is of some use to somebody! :)

new version of mobihf (v0.3)

a new version of mobihf (along with the C++ compiled module for 2E integral evaluation) is available from: http://tovganesh.googlepages.com/mobihf_ext.tar.gz

this is just a bug fix release. no new "features" are added, except that now mobihf reports time and also indicates if it is using a python or C module for integral evaluation.

after the long expected "retirement" of my windows machine, i needed to fix a few bugs with the C++ module. as i was not planning for investing in a new windows vista machine immediately, i had to use gnupoc (http://gnupoc.sourceforge.net/) with a few modifications (will post soon on how i got the python module compiled for my 6600 on my linux box), till then enjoy the new version ;)


Thursday, February 15, 2007

Putin talks

Hindu has a report on recent speech given by Russian president, an interesting read:
http://www.thehindu.com/2007/02/15/stories/2007021502641000.htm

... and reminds me of revival of cold war, probably with more players this time!

Monday, February 12, 2007

Teraflops on a chip!

Intel has recently announced that their researchers have developed the first programmable chip that can deliver Teraflops computing power!

For more details on this check:
http://www.digitimes.com/mobos/a20070212PR203.html


.... soon you will have gigaflop processors for mobile devices, and then probably things like this:
http://tovganesh.googlepages.com/s60 might make more sense :)

Thursday, February 08, 2007

Tuesday, January 30, 2007

first shots of Java3D in MeTA Studio



Have been working for some time now to seamlessly incorporate Java3D into MeTA Studio... and here is a first screen shot (pictured here is gamma-cyclodextrin).
The basic framework is ready, but still require to fix a lot of things before i can release it into wild. So keep looking back!

Thursday, January 18, 2007

quote

I never see what has been done; I only see what remains to be done -- Marie Curie

Wednesday, January 17, 2007

early fortress implementation

an early implementation of Fortress (termed to be a replacement for FORTRAN for HPC work) has been released by sun and is available at: http://fortress.sunsource.net/

microthreads...

the link to moicrothreads code that i was trying long ago, but didn't do much work:
http://tovganesh.googlepages.com/microthread.py


.. mostly it will be of no use to many as there are far better implementation available on net, just google for microthreads + python!


enjoy!

ps. i won't be updating this code any longer (neither i plan to work on it)! but any one is open to contribute back.

Thursday, January 11, 2007

Get started with HPC on game machines!

IBM developerworks has published an how to on installing linux on PS3 and programming on Cell architecture at here.

Saturday, December 23, 2006

lgezbuy site down!

When I visited lgezbuy.com today morning (10:30 am IST), it said that the domain name has expired and click to renew it!

Its strange that an online retailer like LG's lgezbuy.com can be so lenient to keep up the site especially during the Christmas eve!


Update: (25th Dec, 2k6) It seems to be up again, but a few links seem to be broken still!

Saturday, December 02, 2006

a conversation with rikshawala

This post is based on a real life incident that happened to me a few days ago.. well you would better like to call it a real life conversation than an "incident".

A few days after I came back from my Australian adventure to amchi Pune, I decided to go a bit earlier than usual to the lab. Unfortunately the time I choose was really bad, it was the peek hour in Pune traffic and PMTs and the six seater rikshwas simply didn't stop because all of them were overcrowded. Finally bored at the plight of traffic, I started looking out for the 3 seater rikshwas (tum tum), or the poor man's taxi. After ignoring a couple of "old" ones, I spotted a not so old but one with a large green diamond shaped label sticked to the left upper corner of front glass shield. It read LPG. The rikshawala apparently spotting my curiosity somehow managed to get an eye contact with me and asked me if I want to board it. "Can you take me next to Sasson?", I asked (Sasson is the City general hospital in Pune). He said, "But it will be on meter". I said that would be fine and just pushed my self inside the comfort of this rikshwa, sill somehow wondering about LPG. Liquid Petroleum Gas based vehicles were made mandatory for new as well as some old vehicles a few year ago in India. But I didn't know that they had started enforcing this in Pune about 1-1/2 years ago. Unable to curtail my curiosity, I asked my driver (the rikshawala) as to when did he convert his vehicle to use LPG. "It has been almost a year now", came a prompt reply. And then without a word from me, he stared talking with me! He continued on to tell me the economics of using LPG instead of Petrol. He had bought his Bajaj 3 wheeler Rikshaw in 1985, which was quite contrary to what I had guessed when I saw that "not too old" taxi. For 1 liter of LPG, he had to shell out some 25 Rs while a liter of petrol almost cost double this amount. However, the mileage that he gets out from using the LPG powered was less that what he got when he used to run on petrol. But using LPG was still economical, as he didn't have to buy a new vehicle which according to him are poor in quality and break down in 5-6 years of service; priding himself that he has a 20 year old model which never had given him any major problem to date!

So how was his experience with the Regional Transport Office [RTO] when he went on to do the conversion of LPG? At this point he really started opening up and expressed his views rather openly. On the backdrop of the violence that happened in Maharashtra, just the day before he remarked that the situation here would be worst than in Kashmir today if we can't control our emotions, build good people and a strong society. I was just starting to wonder that probably every Indian thinks that way.. Then came a twist, he began to tell me why the continuing reservation policy is affecting the overall progress of the society. Of incompetent officers being promoted over more competent and experienced peers. Of the reservation policy not benefiting the poor people who really need it. Of providing the benefit of reservation to a person only once in his life time, preferentially only at the early schooling days, because he said once you are given an equal opportunity, every one should prove their competence to go ahead. Providing reservation at each stage for even the well off people serves no means and it just widens the gap in the society. And of corruption and vote bank politics effecting this whole scenario that needs rationalization for a better and all involving India. Of every Indian cherishing the value and the tradition of being an Indian and contributing to her prosperity.

I just couldn't imagine that a talk was just getting deeper. He asked me if I was learning medicine (in BJ), probably for the second time. With a negative answer from me, he asked "then where?". I said I am at Pune University. He continued with his talk, voicing his support for the recent strike by resident doctors all over India against the recently passed bill on extending reservation policy. Its a question of life and death, best people should be the only once that go to medicine, by not having merit as the only basis he said we are sure to get below par medical service.

The journey to my destined place for that day was coming to an end, but probably a few things that my rikshwala said were really troublesome to me and still rang in my ears. Thats why probably I decided to just jot down about it. The last time I had a similar encounter was in Hyderabad, just before the assembly elections there. When I tried to understand if the hyped "Cyberabad" had any impact on the lives of locals (probably i think, a rikshwala is a best person to voice the general view). To my surprise I was to find an interesting and affirmative answer... probably reserved for another post (of course if i get time ;))

Disclaimer: This is my jotting of a real conversation that happend between me an unknown rikshwala. By no means this should be considered a public viewpoint on any of the issues mentioned in the post.

Monday, November 27, 2006

an experience with freedom mini bluetooth keyboard

I am writing this review using the new keyboard for my nokia 6600 that I recently bought here in Australia. It cost me 100AU$ (i.e around 3400 INR! less than half the prize of the nokia wireless keyboard). A small form factor QWERTY keypad that is easy to use to key in text and not operate the phone in general. It is the freedom mini keypad from freedom input. You can also write fair amount of code on the key pad but you may find some missing symbols! Simple symbols like the greater than symbol seem to be missing altogether! Thus you might have to employ alternative logic to program on this phone using the keypad. So far, I myself have only written basic Python scripts on the phone... remains to be still seen how well this scales up though. Also there appears to completely missing features of cut copy and paste! When the keyboard driver is active I am simply unable to use these features even from the phone itself! To me this appears to be a major drawback of this product. Given that this product is meant for text entry copy and paste is an important operation; until of course someone makes a nice port of vi on symbian. But even then it would have problems with key repetition... but generally not bbad so as to make it totally irritating. The device is a complete fun and makes messaging, sending emails and chatting from the phone over gtalk client a real breez... rather than using the predictive text on the phone itself. The keypad can also be used for mobile journalism, blogging especially when you are traveling. It is an extremely compact device that is light enough to slip into your pocket. However while writing large essays a few thing can get irritating, like to put a full stop you need to press two keys! While its easier if you use a lot of semi-colons! Finally it looks to me that it wont be really difficult to develop a device that can connect a standard PS2 keyboard to a bluetooth hub that can be used as a wireless keyboard for the mobile... the only difference being loss of portability. But in return you get a low cost device that can use your existing computer keyboard for the mobile.
Having a QWERTY keypad seems to be a good idea, though out there seems to be some innovative ideas like the frog keypad that claims that you can achieve a blazing 40 words per minute using an average 10hr training! The key layout for these keypads is totally unconventional and contrary to the claims you might find them not so easy to adjust to in the beginning. Another aspect of a keypad design is ergonomics, and in this department freedom mini keyboard does fairly well. Nokia wireless keyboard driver is the next I tried to use instead of a bit buggy freedom mini keyboard drivers. It does resolve some issues like putting of the mobile screen when keypad is not in use. But in the process introduces many new problems like inability to access many special characters. 123456789#()1!@#%",.?:-+*/ Well it appears that if I put the phone pad in numeric mode then everything seems to work quite well. And so here is it (we) can use the nokia wireless keyboard driver effectively for the freedom mini keyboard!... and that too seems without any issues. I also found that we can get other special characters by simply changing the layout of the keypad. Now the most difficult or rather more irritating part is the removal of the freedom mini keyboard drivers from my phone. It simply refuses to go! Finally after a couple of trials I was able to remove the defunct driver without any live trace. The nokia driver that I have been using since, still does not seem to solve the problem of reconnecting the keyboard... the is an option of reconnection but it simply refuses to work... and I end up paring the device again every time! Now I am typing on this keypad in complete darkness. The back lit feature of this keyboard is really nice and is just bright enough to get the work done and not attract others attention toward you. Unlike the freedom drivers which used to keep the screen on even when there was no keyboard activity, the nokia driver appropriately shuts down the screen in case an inactivity on the keypad is detected. The back lit feature also automatically goes into a power safe mode once no key press activity is detected. In any way today successfully managed to crash my phone while using the keypad. Though it appears that the nokia drivers are still able to connect to the keyboard after a restart. Another good thing is that these drivers load up automatically once the phone starts... But IndSMS still crashes have written to the support but never know if that will ever be read! And there are also issues with python ui when using the keypad. There are a few nice things that I found though a bit late like you can use the Ctrl+C to copy selected text and the use Ctrl+P to paste it conveniently. The feature of strapping the phone on the keypad is not that attractive though... It might be useful is u have a PDA type phone whose main keypad is hidden away Well that is all I would like to say about this mini keyboard... it is basically able to suffice my mobile computing needs to a large extent.
Update: I was finally able to get the predictive text working after a bit of twiddling around with the ROM image. Essentially I had to copy the z:\system\fep and z:\system\data\fep.ini to c: in the respective places. It turns out that the freedom keyboard driver simply screws up these files and the nokia drivers do not touch the at all. So my advice is instead to use the nokia keyboard drivers which effectively works well with most of the HID wireless bluetooth keyboard. After doing this modification I was also effectively able to use the IndSMS application from the keyboard without any problems. And after restoring the predictive text feature i have on further issues with using this keypad...Except of the issue of pairing.

This was entirely written on my 6600 and later posted with the windows PC using the same keypad now connected to my windows machine!

Wednesday, November 22, 2006

back to olpc again!

Via PC1 initiative website has more reference to views about pros and cons of OLPC. Check is here.

Btw, Via PC1 initiative is also working towards the same kind of goal using a different approach though. And they have a research center in Mumbai too!

Monday, October 30, 2006

pthreads: when light becomes heavy

Pthreads or POSIX threads are said to be "light weight processes" and are usually recommended instead of fork(), exec() and calls to shared memory and semaphore routines. This is because a thread creation is supposed to take less resource for creation and cheaper for switching between them. Threads (pthreads) may be implemented at OS level or supported by appropriate hardware.

Though it seems that pthreads take up much less resources, but the way an OS is configured can drastically alter the resource requirements of creating pthreads. This was typically the situation I landed up when I was using pthread via Python on a large SGI Altix system (google for: ANUSF).
The stack size on this altix system was set to a default of 1GB, which resulted in stack allocation of 1GB per thread even if no work (or memory allocated) was done within these threads. Initially I though that this was a problem with Python interpreter on IA64, so i coded up a small skeleton code in C using pthreads; to my surprise this also resulted in allocation of 1GB per thread. Next, I tried using OpenMP "threads" and was pleased to see that the memory of this process didn't shoot up like its pthreads counterparts.

After some consultations with my instructor, I discovered that you can set the stack sizes of pthreads using: pthread_attr_setstacksize() function (check google codesearch for examples). But all this meant rewriting all my code in Python in C or writing a full thread wrapper for Python in C.

So determined not to do that I set out finding new ways to handle this in Python itself. I discovered that you could actually set the stack size in Python, but to my dismay this had been only introduced in the latest 2.5 release, and there was no way that the 2.3 version of Python on the Altix machines were to be updated.

After googling around a bit i discovered what is called as stack-less python. This essentially reduces usage of python stacks by maintaining a common stack. But again this had many problems, first and foremost was this was not standard python and had to install it separately. Secondly there is a lot of debate on the merit of using stackless python and the disagreement with the main Python development community.

Ruling this out, by sheer chance i googled for "microthreads" and came across an interesting article by David Mertz. This article suggested using generators in Python to achieve user level cooperative multithreading. This was really an interesting article for me as it was the first time that I was introduced to the wonderful generators in Python. I began toying around this idea, but finally discovered that I would still be requiring preemptive multithreading for my particular application.

I had known the use of "ulimit" in bash (or "limit" in csh), and had frequently used it to query the system limits. But had never intentionally used it to change those limits. As soon as I remembered this command, it was very obvious what I would be doing: wrap up python execution in a shell script, and issue an ulimit with 8MB (or so) as the maximum stack limit. So only the python process will be affected by this change, and the rest of the system process remained intact.

In the end the solution to the problem seemed to be simple, but learned a lot in the process.
Now I am writing a small MicroThreads interface using generators, which I will be soon posting here. (Note: there are many more implementation using this idea, but I just want to have some fun with generators)

day light saving: googly!

Today, i was taken unaware of a practice followed in countries not near equator.
Canberra, where I am presently staying had a daytime saving for +1 hour for the "summer time" .. and evidently not aware of this change, I reached one hour late to my work place. Surprised, my instructor asked me how come you are late today?
late? i looked at my mobile and said "probably u r early, its 8:45am".
"no, the time changed on saturday ... it is quarter to 10!" he said promptly with a smile.

... after some time I realized what day time saving was all about: only heard of now experienced!
Have a look at http://webexhibits.org/daylightsaving/c.html to know more about the rational behind it.

Later on I realized that my nokia 6600 has an option to adjust automatically to day light saving which obviously was set to off!

Tuesday, October 10, 2006

and the web office ...

google just combined its writely and spreadheet app:

http://docs.google.com/

updated to blogger beta

just now updated to new blogger beta...

google code search!

google has release a wonderful code search utility!!

http://www.google.com/codesearch

it has found most of the code that i have released... except one MeTA Studio.
these seem to be many a projects which seem to have similar name!

Wednesday, September 06, 2006

collaborate over the wire (or without it!) with MeTA Studio

The new developements that have been going on in MeTA Studio:
- a peer to peer networking and discovery protocol
- talk application built over the above apis ...

u will have to wait for the latest binaries to be updated! so look back.
(excuse: the source is not yet in a state to be released .. will take time, can't say how much!)

take a look at some of the shots...


Saturday, September 02, 2006

Build ur own Tuxphone

yes, this is a pretty interesting site by Surj Patel and others that is in the process of describing how to build your own cell phone and load customized linux on it.

its really exciting and the work seems to have just begun!
visit http://www.opencellphone.org/ for details