Monday, February 28, 2011

Sensing meets Mobile Social Networks !

On Feb 08, 2011, the IEEE Computer society of Silicon Valley organized a conference session at the Cadence Design Systems in San Jose. I attended this interesting session. The topic was was "Participatory Urbanism: Smart Computing, or Big Brother is Watching?". My friend Keshava Rangarajan, from Oracle Corporation, was one of the speakers. The other speaker was Vipul Gupta from Sun labs division of Oracle.

Please advert to the following link for more details:
http://ewh.ieee.org/r6/scv/computer/cspage.php?page=talkdetail&talkid=80


The slides are available here:
http://www.slideshare.net/keshava/participatory-urbanism


It was an interesting session which brings the two worlds - (1) Sensing and (2) Mobile Social Networks - together.

The potential seems to be limitless. Sensor applications can be of great help in a wide range of field starting from Defence, Education, Ecology, Health care, etc. My feeling is, it is inevitable - the mobile applications are going to be the future.

Some of the things that I learnt from this session are:

1) Participatory Urbanism
2) Passive Altruism
3) Squawk virtual machine
4) SunSPOT Hardware Developers Kits
5) Spaughts

Just Google "Spaughts" and you would find a whole bunch of youtube videos. You would get a good idea about SensorApps.

Squawk is an open source research virtual machine for the Java language that examines better ways of building virtual machines. The idea seems to be that virtual machines can be simplified by writing them in higher level languages, and further simplified by implementing the VM in the language that the VM is implementing. Squawk is a Java micro edition virtual machine for embedded system and small devices. What makes Squawk different is that Squawk's core is mostly written in Java.

To learn more, here are some links:

1) http://spots.dev.java.net
2) http://www.sunspotworld.com

The other topics which were of interest to me are Participatory Urbanism and Passive Altruism. The speaker talked about a case study that was done in Accra, Ghana. This was a thorough case study about the Carbon Monoxide emissions in Accra, Ghana. This study was done by having sensors hooked on to people and taxis in and around the capital city! The readings from the sensors were stored in backend servers/databases, and were processed. The usage pattern can be mapped. This is a great way of putting mobile technologies and sensing to work!


Any new field is not without hurdles! The sensing and mobile applications also have a huge number of challenges ahead of them. There is a broad spectrum of issues that needs to be resolved. Starting from the hardware, sensors, etc. all the way to the software, there are issues galore. Until then, one can not fully come to a conclusion that the sensing and mobile apps are ready!

Also, the users may not be ready as well! Privacy becomes a major issue. How much of our personal info. can the machines easily gain access to ? How to regulate this limit ?

There is also another problem. Suppose lets say, we come up with a standard for a Health care application. Lets say that we have an intelligent sensor which keeps track of all our medical results, and monitors a whole bunch of stuff from our body. The intension of this application could be genuine. This application can be for helping your health as a medical coach. Lets say, you are using this application for about 5-10 years. Now there is lots of your personal data in the application. There may be some form of access to this data by either the hardware or software company of this application. What if after 10 years, they sell this data to some other company who are interested in knowing their target audience ??

This is a tough question to answer as of today! It is tricky because there are no standards yet.

But this is interesting though! Hopefully issues would get ironed out in the future, and we might have a standard to work with.

Tuesday, February 1, 2011

Fiddling with JProbe 8.3

I was encountering an "OutOfMemory" issue in one of my Java projects. Out of curiousity, I wanted to delve deep and get to the bottom of it.

I downloaded the latest JProbe 8.3 and was going through the tutorial videos, samples, documentation material, and what not.

Our project is a SOA project involving Web Tier, Business Tier and Data tier. I wanted to test out all the various tiers end-to-end and come up with a report of all the memory-leaking spots.

It is always ideal to integrate JProbe with the IDE. This would immensely help the probing exercise. After you have deployed all your applications, you can run an end-to-end test case and monitor through JProbe.

The first step would be to configure JProbe. Follow the documented steps and configure JProbe for your particular App Server. Our app server is Weblogic Server.

Second, integrate the JProbe with your App Server. First, a backup of the existing startWebLogic.sh file. Then JProbe creates another startWebLogic.sh file where it modifies some parameters based on your JProbe configuration performed in step 1.

Then you can launch JProbe via that script. You would see that JProbe monitors everything pertaining to that server.

I was sailing smoothly until this point. Life was all great!!

The next step for me was to integration JProbe 8.3 with our IDE. Our IDE is JDev 11g. I had a shocker here. It seems beginning JProbe 8.x, the support for JDev IDE integration has been dropped! This was a bummer!

JDev was one of the supported IDEs for JProbe integration in earlier releases like JProbe 7.x, etc.

In JProbe 8.x, they support Eclipse integration. But they have dropped JDev. Unbelievable !

This is a bit of a blow. Looks like JDev is being marooned! Is it because as a development platform, JDev is losing market share?