Sunday, July 12, 2009

WIKI-OS: an interesting project

image

WiKi-OS seems to be quite an interesting open source project in terms of building a “web based OS”. The most important fact that differentiates this form other web OSes is that there is not a single line of JavaScript or HTML in this, but is entirely written in C# and runs in Silverlight plugin. Another interesting aspect is its Wiki nature, you can edit customize and deploy applications (including 3D applications) on the fly as you would edit Wiki pages. And finally, it comes inbuilt with code editor, so you can edit the application code as you want, you do not need any dependence on external tools to write applications on Wiki-OS, not even an editor or a debugger … well eventually that means you don’t require the browser too. Who said browser was becoming the OS of today? I personally feel that this project has quite a large potential, if of course there are compelling applications written for it.

To access visit https://www.wiki-os.org/. Note that as of now the site can only be accessed from a Windows PC running IE or Firefox. But I see no reason why this should not work at places where .Net is supported.

Also would be interesting to know if some one has tried to do similar stuff with JVM instead of .Net, which I think is more portable, though lacks 3D support on many platforms.

Wednesday, July 08, 2009

Google Chrome OS and Windows 7

As has been speculated by many, Google is finally planning to release a Linux based OS for PCs and Mac and those ARM based netbooks, and it is called the Google Chrome OS.

Apparently the idea of OS directly booting into an web browser is not new (for those of you who follow tech news frequently would well know of the CrunchPad from Tech Crunch). Interestingly, the site on CrunchPad's early prototype says that it runs Linux with a WebKit based browser, which sounds quite close to what Google Chrome OS is described to be.

Though it is too early to compare Google Chrome OS with now "quite mature" Windows 7, it would be interesting to know in which market they will compete. Initially I would think that Google Chrome OS will create a whole new market for it self, rather than "downing" the sales of Windows 7. As I see it, Google Chrome OS is targeted more towards people who spent a lot of time on the Web, unlike me, who also spent a lot of time over an ssh connection! I doubt, Chrome OS will have ssh client on it, though I might be completely wrong ;-) That example was not great, but I wanted to bring home a point that if you rely too much on "fat applications", for what ever reason it be (document processing, editing media files, developing applications or system programs), Chrome OS is not for you, the same reason why Sun Microsystem's Java OS was not for you.

There is a difference though. When Sun first came up with the idea of "Network is the Computer", and pursued relentlessly till the end, they always seem to fail, largely because they were way ahead of time. But that time seems to have come now. There are fair bit of "web applications" out there for a web-based OS like Chrome OS to succeed. And when it comes from Google, you know that it comes with some pleasingly simplistic and elegant UI.

Regardless of this, I still see myself moving to Windows 7 as my primary home OS, when it gets released.

(PS: For a more deeper commentary on why this release of Google Chrome OS is a "turning point", have a look at: http://www.winsupersite.com/alt/chromeos_preview.asp).

Saturday, June 20, 2009

A few snaps ;)

Was writing, writing and writing this week (don’t ask me what :( … ) , so though will take some break and put on some snaps …

IM000860

The bubble: does it appear to be cut through?

IM000861

And what about this? Progressively becoming transparent ;-) Wonder if something like that could be used for making the “disappearing act” gadget.

IM000863

Well … am … the picture says as thousand words, they say!

Have fun!

Sunday, June 14, 2009

Is the Indian media truthful to its task?

To me, proactive reporting came to India with Tehelka.com, though before that print media has been and still is constructively proactive in their reporting. Even in pre-independence era, people like Tilak and Agarkar have put in unprecedented effort and energy in upbringing of the thoughts of the fellow people, to fight for a better cause and a better tomorrow. But with Tehelka, the constructiveness in reporting has gradually wiped out. I feel most of the media reporting done today in India, especially on televisions, is nothing but hollow. It is missing a point. And a major one. In that, the media, reporting and journalism has an important role in bringing up the society, shaping their thoughts, and in longer run create a cohesive atmosphere for the nation to progress as a whole.

If the reporting is hollow, the news analysis is even worse and is becoming more and more dangerous of making up a public opinion and to some extent go so far and say that this public opinion is the law of the land! Well, it is not gone that far, but with what is happening on most of the current news channels, such a dangerous idea is not far to come into reality.

For these reasons, I have been particularly choosey about the newspapers and media I refer to.  For newspapers, it has always been Indian Express and The Hindu, and for electronic media, though not perfect, it has always been Doordarshan for Indian affairs and BBC world service for world affairs.

I had all these thoughts for a few months now, but when a friend of mine sent this Youtube video, I was literally shocked.

http://www.youtube.com/watch?v=2l7DmKgKpzc&feature=related 

This is supposedly a news analysis program where Noted criminal lawyer Ram Jetmalani is being questioned as to why he is going against the “public opinion” of defending some one who “majority” of people “think” is a convict. Before I saw this video, I must say frankly that I didn’t have much respect for Ram Jetmalani, because of the kind of cases he handled. But the points he puts in have simply made me think high of him. He has a solid point. When it comes to justice and having the authority to say if the rule of the land is maintained, only the Indian courts must have the final say. Not the media, and not the public, for how much ever they think it is correct. The media should not be in a dangerous position to proclaim that they are the one who deliver justice. Their job is to bring the facts and show it in court, and not be court itself. They should not try to create a situation where every one begins to think that they are the only resort for final justice.

On the other hand it is the duty of every citizen to know the roles of institutions of democracy and the press (or the media), and be vigilant when there are conflicts, and make conscious decision for the greater interest of the society and nation.

 

(PS: Views expressed here are solely mine. I am not trying to give any advice here.)

Wednesday, June 10, 2009

Samsung Solar Guru : the solar powered mobile

A few days ago Samsung India launched world's first mobile phone that could also be power via solar power (see the report on The Hindu). At first take this is good news. I had always wanted this, and it is good to know that a leading company is perusing it and that too in a low end market... The mobile will cost below 3000 INR, which is less costly but obviously far from being the cheapest mobile phones available. If they could really make it cheap, it will sell, for sure.

If we peel of the "worlds first" marketing phrase and come down to actual product specs and its availability, it really does not appear to be that great, though it is definitely a first step. Apparently this is currently only available in Indian market, I wonder why not Oz too, as there is heavy promotion of using solar and alternative sources of energy here as is in India. The only issue I see is, while back in India its more of a necessity to have solar power, in Oz it is more of an option. Another drawback is the specs itself: to get a talk time of 5-10 mins you would need to recharge under sun for one full hour, and to get it fully charged you need 40 hrs of sunlight! This is quite ridiculous. Apart from the fact that you will never have 40 hours of sunlight at a stretch (which means you can never completely rely on solar power), in most cases you would need to make a call when your battery is almost dead .. to wait 1 hr to make that important call is something that does not cut in as a selling point!

But even so, I just like this idea and unit. If they introduce it in Oz market, I will most likely grab it and use it as a secondary backup cell phone to my E51.

I just hope, that there are more innovative products in this space. I also wonder if one day we can have a solar powered Simputer with 3G access, that would be the day when I can conveniently kiss a good bye to my netbook ...

(PS: I was unable to find the actual product specs from Samsung India website: http://www.samsung.com/in/. Views above are based on reports in the media about the specs of Samsung Guru 1107)

Wednesday, May 20, 2009

New Binary installer for MeTA Studio

A new binary installer for MeTA Studio is released for public download. The current version is 2.0.20052009.

New in this version:
- Updates to UFF, HF APIs. HF APIs, in particular, have changed substantially to provide better access to individual parts of the algorithm.
- Improved optimiser APIs
- HF analytical gradients (seems to work, but needs to be tested thoroughly!)
- Gradual changes in graphics backend.
- Support for JNA, simplifying interfacing of native code with in MeTA Studio. The native code libraries can now be easily interfaced from BeanShell or Jython support for MeTA Studio. Expect more information on this in coming days.
- Number of added scripts in 'scripts/' directory
- Numerous bug fixes, as usual ;-)
- And a Linux (x86) installer
- Windows installer on Vista and Windows 7 no longer requires UAC prompt.

Note: If you are compiling MeTA Studio from source, you would need to update the dependent libraries (bsh.jar and jna.jar). While there are substantial changes to BeanShell library (bsh.jar), jna.jar is newly added to support calling native code.

Get all the code here: http://code.google.com/p/metastudio/

enjoy this version!


(Update: There were some glitches reported with the binary distribution, especially missing jna.jar in the Windows installer. I have subsequently updated all the binary distributions to v 2.0.27052009)
(Another Update: Found some really nasty bugs, and had to fix them, so the latest is now v 2.0.04062009 .. this binary release turns out to be a bit expensive, given that I am yet to move to a new online-update mechanism).

Monday, May 18, 2009

Deep in Java: fiddling with Java bytecodes

Even though I heavily program in Java, I have not really felt the need to manipulate at bytecode level for most of the applications that I write. Even for MeTA Studio, which offers scripting interface via. BeanShell and Jython (at present), I used to just use these interpreter packages. Currently BeanShell is (and will probably will always be) the primary scripting interface to MeTA Studio. However, there has been no development on the BeanShell (www.beanshell.org) since long time and I needed some improvements to be put in it which were tailored towards MeTA Studio. So some time back, I forked the BeanShell code for MeTA Studio. Subsequently, I also fixed some minor bugs in the interpreter which affected functionality in MeTA Studio. Later, I also updated the ASM package to the current version, which is used by BeanShell to actually generate bytecodes. All this time, I never ever felt the need to fiddle around JVM bytecode specifications.

However, while finding a best way to call native libraries with in the programmable framework of MeTA Studio (what?? ... yes, but for reasons behind this you will have to wait for subsequent posts, when I get some stuff working) I stumbled upon a JDK incubation project called JNA. JNA, in fact, provides a very clean way to call native libraries without going through the pain of generating JNI stubs.

In fact, its pretty cool. For instance, you can call a C function sqrt like this:

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

public interface CLibrary extends Library {
double sqrt(double v);
}

// and use it as:
CLibrary clib = (CLibrary) Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "m"),
CLibrary.class);
System.out.println(clib.sqrt(2));

Look ma, no JNI, pure Java!

Now, the above code worked fine if I compile using standard Java complier. But failed to run at all via the BeanShell interpreter with the following error:

java.lang.ClassFormatError: Illegal class modifiers in class CLibrary: 0x201

At first glance, I had absolutely no idea of what this meant. Long time ago, when I was in my graduation, I had fiddled around a bit with JVM specification in the hope to write a JVM for a 16-bit DOS environment. Needless to say, it never materialised ;-) But this some how made me check back the JVM class format again to look for possible solution. I also checked the BeanShell code that was generating the bytecodes, and essentially tracked it down to the following lines in bsh.ClassGeneratorUtil

public byte [] generateClass() {
int classMods = getASMModifiers( classModifiers ) | ACC_PUBLIC;
if ( isInterface )
classMods |= ACC_INTERFACE;
...

This too made not much sense, until I read the following in JVM class format specification:
"If the ACC_INTERFACE flag of this class file is set, its ACC_ABSTRACT flag must also be set (§2.13.1) and its ACC_PUBLIC flag may be set. Such a class file may not have any of the other flags in Table 4.1 set."

So the solution was simply to modify classMods |= ACC_INTERFACE | ACC_ABSTRACT; which worked great, except that I got another error:

java.lang.ClassFormatError: Interfaces must have java.lang.Object as superclass in class CLibrary

It appeared that BeanShell somehow did not do this correctly, and possibly the ASM interface would also have changed. I was not sure of the reason behind this, but I knew how to fix this :

if ( isInterface ) {
classMods |= ACC_INTERFACE | ACC_ABSTRACT;
try {
interfaces = new Class[]{Class.forName(superClassName.replace('/', '.'))};
} catch(Exception e) {
e.printStackTrace();
throw new UnsupportedOperationException("Super class " +
superClassName + " is not varifiable for interface : " + fqClassName);
}
superClassName = "java/lang/Object";
}
....

The above seems to do the trick, though am not very sure if this is the correct way to do it. And well in the end, I enjoyed doing this :-) .. and now calling native methods from with in MeTA Studio scripting environment is a lot easier and intuitive, well should I say its pretty cool ;-)

Note that all the source changes for the above are available from MeTA Studio SVN repository: http://code.google.com/p/metastudio/source/checkout

The above changes are not yet reflected in the binary package. But I hope to provide a full binary update too in coming days.

Have fun ;-)

Thursday, May 14, 2009

Who ate that byte of apple ? ;-)

Out of enthusiasm and out of sheer curiosity, I wanted to own an Mac. So I got one, not a shiny new one, an old, but an equally shiny white, iBook G4. After about 5 months of continuous usage of the default OS that came with it (OSX 10.3 aka Panther), I bid it a farewell. No regrets, I spent only $260 for it...

Though I found the software (OSX) to be all crap, for a number of reasons listed below, I found the hardware to be actually too good to just dispose of. So things were reborn.

Why I found OS X to be not good for me?

Reason #1:
To get an update to the Java virtual machine, you need to upgrade the whole OS! This is the most sanest thing I have ever experienced.

Reason #2: If you want to use the latest XCode, you will need to ... yes you gessed it, upgrade the OS! As I had got a second hand Mac, I did not get the installation media with it so could not install the gcc suite that came with the OS. But there was now way to get the earlier version of XCode from apple developer connections site that was compatible with Panther either. The same is true with every other piece of development tools I use: Apache server, PHP etc. .. the list is countless. I simply have no money to invest in an OS like this!

Reason #3: In general, the application support is nothing but. Most of the recent versions of the applications (including OpenOffice and FireFox) are not supported, which is nothing but weired.

Reason #4: The same is the case with drivers. My 3 mobile broadband modem is not supported on this version of the OSX .. but is apparently supported on even antique versions of Windows! Same is the case with my webcam. I tried using macam, but the result was nothing but a poor video resolution.

Reason #5: The general window management in OS X is not at all productive. The only feature I liked in the window manager the ability to directly close an application while using Apple+Tab. I had used OS X before, but at those times I simply used to be amazed with all the jazz that comes along, and hardly ever worried about its usability. However, when I was using this on a day to day basis for more than five months now, I found it to be hardly productive. When I compare OSX with GNOME, Standard Windows or even the latest Superbar in Windows 7 or the KDE4 ... all of them turn out to be much more productive when handling multiple windows. The "Expose" functionality, to me is nothing but of not much use at all.

Who ate that byte of apple?

The iBook G4 that I bought, is not that new. But has fair amount of hardware if I compare with my MiLeap. It is an 800 MHz PPC processor with 640MB RAM, 30 GB HDD, WiFi, 2USB ports and 32MB ATI mobility card (more specs here).
:-) Have you seen a penguin eating an apple? It probably never liked it so it ate only a bite ;-)


Switching from OSX (10.3) to Ubuntu 9.04 :)

So, I made up my mind. No OS X, ever. And then decided to try either Kubuntu / Ubuntu or Fedora. Since Fedora 11 was not yet released, and required me to download a whole DVD to test it, I decided to give Kubuntu a first try. I had tried KDE 4 when it was released, and didn't have a pleasant experience. This time it had improved a lot but still was tempted to install plain Ubuntu instead. And so the switch happened.

Installation was easy as is usually with Ubuntu. I did not have to worry about partitioning hard disk as I was doing a full format, in the process completely removing OS X. I had to boot off from the live CD using live-powerpc video=ofonly option though.

After installation, the login screen looks pretty decent and neat (see above, in the backdrop is MiLeap running Vista).

Here goes some of the screen shots:




What worked out of the box?

Every stuff that matters most works: Most hardware is detected (including the WiFi and my 3 wireless broadband modem), there are some problem with AGP acceleration (more on this later). Most of the software that I need just works: Latest Firefox, OpenOffice, Pidgin, GIMP, GCC. What was not already there: Java and codecs were easy to obtain from the Ubuntu repositories. There is no Adobe official support for Linux-PPC so I use the default evince for viewing PDFs and Gnash as Flash plugin. Though evince is fairly good at handling most of my PDFs, Gnash is not that great in handling all the YouTube videos.

Since I could get the latest JVM (1.6) working on PPC without much trouble, MeTA Studio also worked pretty good. The only downside is that the JVM (icetead) does not currently have a HotSpot VM for its PPC version, so Java applications are not as snappy as on x86 box.

What did not work out of box?

3-D acceleration via the ATI card was not working by default on 9.04, but this happened to be a known bug with the current Ubuntu kernel for PPC and has an easy fix (listed here).


What I miss from OS X?

Big nothing. But being heavily depended on Skype makes me miss that, which obviously is not available on Linux PPC. I have been trying to use Ekiga instead, so if I am successful in using it will put it up as a separate post.

And finally, in the spirit of the "I am" advs:

I am PC (on Windows) and I am Linux (on Mac) ;-)

PS (update):

The compiz has some troubles handling windows that are using OpenGL rendering. For instance, the following is a screen shot which incorrectly overlays the glxgears display with desktop composition. I am not sure if this is a general problem, or problem with the PPC port.


Just for the note at the end, this post was entirely written and edited using Ubuntu 9.04 on Mac.

Friday, May 08, 2009

quick review of windows 7 on eee pc 1000 H

Over the last week, apart from being quite busy with my work (he he working hardly ;)) .. I did some major changes to my computing environment (and my friends). For my self, I installed the latest Ubuntu 9.04 on iBook G4 Mac, completely removing OSX 10.3 (more on this pleasing experience in the next post :-) ).

My friend, who was not quite happy with default Windows XP that came pre-installed with Eee PC, wanted to test out Windows 7. So, I first ran the upgrade advisor for Windows 7 (beta available at: http://www.microsoft.com/windows/windows-7/upgrade-advisor.aspx). This required me to install the .Net runtime which was not installed by default on Windows XP. The upgrade advisor suggested that I can safely install Windows 7 :) On the side note, I also ran this on my MiLeap and my Dell machine back home. For it was quite obvious that MiLeap didn't meet the basic Windows 7 requirements (so would stick to using Vista on it, for the moment), on my Dell machine it noted that I need to update OpenOffice to work well with Windows 7, which seemed reasonable.

So I downloaded the DVD image of Windows 7 RC from (http://www.microsoft.com/windows/windows-7/). Next, as Eee doesn't come with a DVD drive and I didn't have an USB pen drive at my disposal, I downloaded Daemon tools (http://www.daemon-tools.cc/eng/downloads), that allows you to mount .iso images. Well from here it was pretty easy and straight forward to install Windows 7 side by side with Winddows XP. I did not have to worry about disk partitioning too as Eee already had two partitions with one of them being free.

So how does it fair? I am quite impressed. The aero effects are all very pleasing and surprisingly more useful than what was there with Windows Vista. Though the graphics is not very smooth (as compared to my desktop), the speed is quite acceptable, given than I have Nvidia 8500 GTX with 512mb dedicated card for my desktop contrary to the default Intel chipset graphics that comes with Eee for the moment. I would not put any screen shots for pleasing you though (as all these are quite prominently there at various sites on the Internet, and also official videos at http://windowsteamblog.com/blogs/developers/archive/2009/05/07/new-windows-7-videos-on-channel-9.aspx)

Apart from all the (pleasing) reviews that have gone into Windows 7, I like some small but wonderful changes to basic Windows applications:
1) Paint: All the interface changes aside, the default format in which the images are saved is PNG and not BMP. I just like this.
2) Write: Again all the pretty interface changes (finally!!) but good this is that it directly supports OpenOffice Writer formats (opening as well as reading). Though the default options is RTF still, which is OK.

I have not yet tested any third party apps on this installation, but have tested many on my virtual machine setup (including my MeTA Studio ;-)) so I see no problem with major applications that are used daily, with an exception of OpenOffice. It seems there are some issues with 3.0 version but the latest OpenOffice 3.1 seems to have resolved these issues as the Windows 7 upgrade advisor doesn't complain about it.

So the short story is: In most likely hood, when windowd 7 is released, I will upgrade my desktop back home (only the OS)... am not sure though what will happen to my MiLeap ... which is most likely to still run Vista (SP2) ;-)

And well finally, look back for my post on installing Ubuntu on my Mac ..

Have fun!

PS: This post (as usual) was written using Eee running Windows 7 with IE 8.

Thursday, April 23, 2009

MeTA Studio minor bug-fix release

A minor online update fixing a few bugs for MeTA Studio is available. The current version is 2.0.23042009.

enjoy!

PS: In the coming days I would be changing the way online updates will be done in future versions. This is because the current updates were hosted on pages.google.com, which seems to be closing its doors by June this year. By this time I would need a reliable solution, any help in this regard is welcome!

Tuesday, April 14, 2009

Cooking!!!

Never though I would blog on cooking.

Or even, never though I would ever require to blog on cooking.

Mostly because all I do is “only for me cooking”, and is highly experimental, always. ;-)

But then today I made masala dosai, and turned out to be fairly delicious, so thought some pictures are worth it.

IM000851

IM000852

IM000854

Yummy :) … but sorry I ate all of them!

Disclaimer: The dosa batter was given by my friend’s wife, so infact all credits to her. I did make the fillings and rest of the cooking though ;)

Saturday, April 11, 2009

Minor bug fix release for MeTA Studio

A minor bug fix release of MeTA Studio is available as online update. The updated version if 2.0.12042009

Apart from bug fixes there are a number of reorganizations in the graphics code as was planned earlier. These are at this point again far from complete, but as promised earlier these do not break any of the high level APIs.

Have fun!

Upgradability: The prime reason I will still buy a desktop PC

Lately, there has been a lot of talk on how the sales of netbook have overtaken that of PC shipment, though we hardly find any talk of laptop shipments at the same time.
There is one primary thing with a PC however that will always keep its sales up. I for one, will always prefer a PC for one thing it has to offer: Upgradability of each and every component that makes it up. And a PC of all the lot can be built at home by buying your own of-the-shelf components. A laptop is too restricted in its upgrade, and a netbook (what ever that means) is mostly an use-and-throw piece, not a real long term investment, it is more like a mobile phone. So, in the event of a much boasted "economic slowdown", would you be settling for a netbook as a primary computer or would buy a dependable and upgradeable PC? For me it will always be the PC as I said earlier. Of course, if you are looking out for a portable solution, I find netbook to be a better choice for me as compared to a full blown laptop, primarily because of the price, size and weight ratio.

Tuesday, March 31, 2009

Comment on: BeanShell, Rhino and Java -- Performance Comparison

These are my comments on an old performance test by Pankaj Kumar on BeanShell, Jython and others (http://www.pankaj-k.net/spubs/articles/beanshell_rhino_and_java_perf_comparison/index.html).

There are some notable problems with the benchmarks reported in above Blog:
1) When a time comparison is done, you chose the best possible implementation of an algorithm in that language. Evidently this is not the case. For instance, in case of BeanShell, ArrayList is used to represent an array of Strings and not a normal array. This introduces additional overheads especially calls to get() method.
2) If you use inbuilt methods to do the sorting: i.e. array.sort() for Jython and java.util.Collection.sort(array) for BeanShell the results are totally different, and it seem to show Jython to be 13 times slower than BeanShell for array if size 1000. Which is bizarre.

In short, I find all such benchmarks as misleading, and should not be used as the mere metric for choosing a particular scripting language, or for that matter any other programming language. And Pankaj does seem to make this comment at the end of his article.

Another reason to fool around with MeTA Studio: Python support

Well yes! Many had asked for it so now here is it!

First a bit of history. When I started developing MeTA Studio, I did evaluate Jython (Python implementation for JVM) along with BeanShell and many others. But then finally decided that BeanShell would be the first class scripting interface for MeTA Studio with provision for adding any other scripting language that is targeted for JVM. There were couple for reasons for this decision:

- Jython is too heavy. At about 3 mb (with no debug info). My modified BeanShell is 800kb while if u compile it with no debug info it boils down to a mere 200kb!!
- Prototype-to-production. Python code, though easy to write, doesn't translate easily to Java code. It is very easy to prototype in BeanShell and put it into Java.
- Speed. While BeanShell can run at native speed of Java (i.e. after you compile the code for a target JVM), Jython is purely interpreted, and it was definitely orders of magnitude slower than BeanShell. When I tried Jython the first time many years ago it was about 40-50 times slower than BeanShell, enough to keep me away form making it the primary scripting interface for MeTA Studio. In recent times though Jython has improved substantially. In many cases faster, but not as flexible as BeanShell in terms of the earlier point(s).
- License. It is not LGPL/BSD... So I will only distribute it as a separate addon package (maintainers are needed here ;) !)

and why it is included now:
- IBM supports Jython in their enterprise apps like websphere, I want to impress them ;) With rumours of them taking over Sun.. (Glee .. Well now wondering on that as Oracle plans to buy them instead!)
- I want more developers and users for my platform!!
- Proof that other languages can be easily supported, with out changing anything within the core IDE!
- I want to have fun ;)

Well the complete Jython support for MeTA Studio was added with about 4 days of work, which largely involved writing appropriate wrapper functions akin to BeanShell. And thanks to ways to add external library and widgets framework in MeTA Studio, there were no changes made to the core IDE specifically incorporate Jython support.

So you wanna give a try? Here is how:
The installation instructions are same as previous, but again ..
0) Ensure u have v 2.0.01042009 or a higher version installed. Project URL: [http://code.google.com/p/metastudio/]
1) Unzip metajython.zip (download from: Jython support file on Skydrive) in meta/lib/ext
2) Shut down MeTA Studio if it is already running
3) from command line:
meta/bin >$ java -jar MeTA.jar --addlibs jython
(you can skip this step, if you have already done so with the previous builds)
4) Start MeTA Studio, open the code editor. Then open jythonWidget.bsh from meta/lib/ext/meta-jython directory
5) Click on Make Widget to get the Jython widget on the the widget panel

Now you can either use the shell (like the usual python shell) or use the editor to write code in python as you would normally do for BeanShell scripts.

I will be putting up user guides on how to use the Jython support in MeTA Studio at: http://code.google.com/p/metastudio/wiki/PythonSupportForMeTAStudio. You are also strongly encouraged to contribute to the wiki, just drop me in a mail if you want to!

Now that Jython support is out, would like to state few things about future of this Jython support of MeTA Studio:
- Firstly, BeanShell will always be the primary scripting interface in MeTA Studio. Meaning that all new releases of MeTA Studio will come installed by default with BeanShell as has always been the case.
- Jython will never be distributed along with binary distribution of MeTA Studio. This support will always be available as an external download as is provided above.
- Since this project is getting big day-by-day, it would be really nice if some one can take up the responsibility of maintaining the Jython support in near future. Though I would maintain it with a bit less priority till I can get a maintainer for this port.

Fool around ;-)

Monday, March 30, 2009

MeTA Studio bug fix release

Another online release is available (MeTA Studio version 2.0.31032009). This is primarily a bug fix release. But it also includes a test geometry minimizer based on MM/UFF being written by Josh. To use this Right Click in MoleculeViewer, Choose Tools -> Minimize. Again note that the minimizer is an experimental code, and may not give you expected results!

And yes, suggestions are also welcome for the modified project page at: http://code.google.com/p/metastudio/

Have fun!

(Quick Update: as usual, found some last minute bugs after I uploaded the online update, so now the latest version is 2.0.01042009)

Tuesday, March 24, 2009

MeTA Studio SVN repository

Starting from today, daily source updates of MeTA Studio will be available via the SVN repository: http://code.google.com/p/metastudio/source/browse/

Note that I will still release stable source tar balls as earlier (http://code.google.com/p/metastudio/downloads/list), but the current source will give a preview of things to come. I do not recommend using any of the APIs in the current source to write scripts or applications of your own! These are subject to change on day to day basis.

On a side note: I hate SVN :(

Enjoy!

Saturday, March 21, 2009

A reboot on Photography

Well this time at a different place in the world… Oz, the “island continent”, place of kangaroos.

When I got my first digital camera, I had been regularly with my photography interest. But I soon hit into how much I can stress with my very minimal HP camera with 3x optical zoom. Most of times I am interested in either far away objects or macro shots. For either of these I have to strain a lot with my HP camera to get good shots. I also tried things like putting extra lenses for macro shoot and also a telescope for getting a closer look at the moon.

In any case, my interest in photography has not gone done, least because I can not yet afford a good quality DSLR ;-)

So, I decided to go about my photography again with my HP camera, this time a new place. All the photos here are in fact indoor photos, in that me and the camera were both inside my home or on a balcony at a friends place, but what was shot was all outside ;-)

IM000825

On my backyard, the clouds begin to appear…

IM000826 

they are a bit shy ;-)

IM000830

and then they are all over!

IM000827

and the rain…

IM000828

and the storm was hard for this branch…

IM000829

no one out there, its raining there !

IM000833

IM000832

and I try to cook in the mean time… Those potatoes stacked up on their own, I didn’t do it :-)

IM000835 

IM000846

IM000848

and at the end there was this wonderful rainbow. All shots are taken with different EV exposure settings.

And then, I go to play tennis on weekend these days… but since my games is very bad, I though its better to shoot some thing that looks better than my self ;-) which now really makes for  the outdoor photography :D All these photos were taken on my mobile (Nokia e51) camera.

23012009(001)

23012009(004)

Then we went to a small (but quite steep) waterfall near Canberra

25012009(001)

25012009(002)

and some of the photos on Bateman bay

27122008(001)

27122008(002)

27122008(004)

27122008(006) 

That is it for this photo story ;-)

Have fun!

Tuesday, March 17, 2009

My parents fixed the PC at home!

This was an experience!

For the last one month or so my parents have been complaining that my PC at home some times suddenly refused to start up. This was strange to me as the PC in question is a Dell machine and is about an year and a half old. Though I have opened it up and added a few memory modules and a graphics card to over the time.

Now I have absolutely no physical access to my machine @ home, but I heavily depend on it to talk to my parents. The only rational thing I could figure out most of the time was that the power plug was loose and you just need remove it from UPS and fix it back. Though I was pretty sure that it was not the real problem as I have never seen it to be loose before.

And one fine day, i.e. on a Monday (March 9, a holiday for me and had planned a cycling session to a near by lake for the day), my mom calls me and tells me that my computer is broke!! It is giving strange beeps and there is no power on keyboard! From which I could only make a vague guess that there is some memory problem or some of them have gone loose for some strange reason.

That was pretty good observation by my parents, I must admit, as they are not really used to computers as I am. Though my dad has worked on third-generation computers, but that was quite a while ago.

Ensuing this was a real ordeal from my and my parents side, beginning by telling how to open the machine. Thank god it was a Dell machine, and you can easily open the side cover without using screwdrivers! To make them open the cabinet did not take much of a time it was done with some five minutes of instructions.

The real hard part was telling them where the RAM was installed! I tried giving all sorts of rubbish analogies. First I made sure that they know what board to look into (motherboard). And then finally settled on to this one: there are 3 "ruler-like" strips placed next to each other, which are perpendicular to the motherboard and are placed on "white" strips. Lol, I have never had had to tell any one before how a RAM chip looks like :)

After this, they told that yes, they can see it. Next, it was easy to tell them how to remove one and then test whether the system powered on. My system back home has a 2GB, 1GB and a 512MB chip. One-by-one they removed the chips and checked, but all was in vain. So next, I asked them to put back the chips one-by-one, this was more harder to tell them, as you need to put them back properly (they go only one way in) as also you need to press the chips somewhat hard to place them firmly on the holder. It didn't work for the first two times. So I was almost gonna give up and in between I called up my computer guy back in Pune to ask if he could to be free to drop in at home that same day and fix up the things. He told that he would call me back in 10 mins and let me know! This was pretty surprising reply by any standards!

But in the mean time they could properly figure out how to place the chips and started the PC. Next I was able to remotely connect to it and could figure out that only one module was properly fitted. So I again called them and asked them to properly fit the other two. And viola, the next time I connected remotely, every thing was back to perfect and normal.

All of us were pretty happy for this. But I was pretty amazed, my parents fixed the PC!! and this was the first time ever they had opened it by themselves, though they have seen me doing this countless number of times :)

And to add to all the amusement, the computer guy form Pune called back, I am still recovering from this! Any way so I told him that my parents fixed it, though you might be needed some other time ;)

Ha and on the downside, its was all a 3 hour "fixing time", and cost me 500 INR for all the conversation we had, and well I stayed home for the whole day. But what the heck, it was worth it!

Wednesday, March 11, 2009

MeTA Studio online update

A new version is available (2.0.12032009).

Two reasons for this version:
- First, it is a bug fix release with a few new features added. You can also note changes in graphics APIs (which are far from complete). MapReduce is now more simpler to use with wrapper functions, essentially it boils down to:

res = mapreduce("/home/ganesh/meta/scripts/map.bsh",
"/home/ganesh/meta/scripts/reduce.bsh", data);
print(res);

- Second, its a special day ;)

Have fun!