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

Thursday, August 24, 2006

Indian Ocean Tsunami Detector

Is a really useful application written in PyS60 which according to the site:
".. is a tsunami prediction program that filters and analyses LIVE data from the United States Geological Surveys (USGS) Earthquake reading..."

update: mobihf and mobimol

Am happy to announce that the source of mobihf and mobimol have now been merged to PyQuante CVS, thanks to Rick.

Please see:
http://tovganesh.googlepages.com/s60

and the CVS:
http://pyquante.cvs.sourceforge.net/pyquante/PyQuante/MobiCode/

all further updates will be made to the above CVS.

Friday, August 11, 2006

on OLPC: why indian policy makers should rethink?

Till my last post of the OLPC (one laptop per child) subject, I was wondering whether someone in India had experimented with the idea of providing access to computers for underprivileged or rural kids?

I was pleasantly surprised to find the "Hole-in-the-Wall" project being run by NIIT in coordination with International Finance Corporation.

From the hole-in-the-wall site:
"The acquisition of basic computing skills by any set of children can be achieved through incidental learning provided the learners are given access to a suitable computing facility, with entertaining and motivating content and some minimal (human) guidance."
is some thing we should seriously look at, rather than outright scrapping of OLPC in india.

Dr. Sugata Mitra, Chief Scientist at NIIT, who is toying with the idea of providing computer access to the kids since 1982, and allowing them to acquire the skills and education on their own is a prime example of why such projects are needed at a large scale in India. And with the GOI honoring Dr. Sugata with Dewang Mehta award for Innovation in Information Technology, the government probably itself recognizes the need for such work.

India could set an example on how to make technology accessible to the masses .... only if we think right and take right decisions.

PS. To know more about the "Hole-in-the-wall" project visit: http://www.hole-in-the-wall.com/

Monday, August 07, 2006

Lost mobile phones: can they be found?

Yesterday while travelling back home from pune railway station to viman nagar, some rouge stole a mobile (samsung) from an unsuspecting girl in an overcrowded bus.
After reporting the matter to the conductor, he offered to stop the bus immediately to get it checked, but as commonsense suggested, this wasn't feasible as the person who stole it would have already disappeared. In any case I found that the attitude of the people really disturbing: instead of suggesting ways what to do next people were finding faults like 'her bag was open', 'its her mistake', 'you cannot find a lost mobile' and all that: not a single attempt the calm down the crying looser!
Any way after waiting for some time, I couldn't resist but offered to call up the customer care center (fortunately it was airtel, same as my service). And also advised to file an FIR with the IMEI (International Mobile Equipment Identity) number as early as possible. After few attempts i was able to get the a line to the customer care executive, to whom she spoke. To my surprise, in spite of giving all SIM details to the executive, she refused to block the SIM! and instead asked to call back after lodging an FIR! This was a real shocker for me.
In any case I am not aware of any other mechanism of tracking a lost mobile, than lodging an FIR and then asking the operator as well as the mobile manufacturer for blocking the stolen mobile.

I guess, with more of these thefts, we must device some way to track down these gadgets. And also people must realise that a lost mobile can be (and probably will be) used for unlawful activities. As law abiding citizens we must do all that is possible to avert such misuse. Thus, a theft of a communication device must be taken seriously.

In the end, i could not (and probably can't - at least for the time being) trace the lost mobile but at least brought a slender smile. :)