Monday, September 12, 2011

Four Words

I can not believe it has been another year, and what exciting and exhaustive year it has been. All good.

As I been participating for past 4 years, this last weekend on September 10-11, I participated in MS 150 bike ride in Columbia, MO. This year I did not had time for many practice rides due to schedules and temperatures in St.Louis city, still reluctantly I took upon the challenge to ride. It was it was little breezy beautiful Saturday, we started at start line about 7:30 AM and ride lasted until 3:00 PM for finishing 75 miles with many rest stops in between. It seemed like we were chasing the rain and clouds all day long, but luckily we did not get caught.

Once we were back, we were sitting in VIP tent (yeah, my boss raises enough money to be a VIP and he gets us in for some good food and beer), and talking then I enquired with my colleagues if they have seen Charlie. None of them seen him that day. For those who do not know Charlie, he is a graceful older gentle man, who apart from raising lot of money for MS society, he is a great ambassador for MS. He is been involved with MS Society for 27 years.

Few minutes passed by then we heard a loud whistle in the tent, there was Charlie!!! He looked little older and weaker this year than last, however he seemed more determined to his mission. Once he got everybody's attention, he thanked all the staff and volunteer and riders, then asked everybody to follow "Four Words" and those were

Act Now Help Somebody

His message was simple, there are lot people out there who are not blessed as you and I are with good fortunes or good health, so simply do anything whatever you can do help those in need. That is message I bought with me home this year.

For that end, I sincerely thank you all for the donations you have given to MS Soceity on my behalf. If you like, you can donate here

Thank you all again


Sunday, September 12, 2010

Your Kindness Only Exceeds Your Beauty

After a long day of riding bicycle for 75 miles on the first day of MS 150 charitable ride, I was sitting down with my teammates in one of the tents relaxing, then I went and grabbed a beer and came back to the table then a little older gentleman pleasantly offered to open the beer cap, then said something and walked away. Curious I was, I went back to him asked "What is that you just said Charlie?"

"Your Kindness Only Exceeds Your Beauty"
- Charlie September 11, 2010

Then he winked and said you can use this as a pick up line too. Anybody who is part of St.Louis chapter of MS society probably knows Charlie, he is a true devotee in raising money (265K this year alone) and in spreading the awareness about the MS.

This year I set my personal goal to raise $500 in donations for MS Society, and I am so glad and happy to inform you that I raised about $490 so far, with help of my generous family and friends. I want to bring Charlie words and pass them on because you are the true recipients of his praise. So, big thank you to all.

I was little disappointed that I could not raise that last $10 to meet my goal, but during the ride being met with so many passionate riders and volunteers, it was little clearer for me that the goals is nicer to achieve in life, but we must not stop there. Multiple Sclerosis is a real decease, the search for cure must go on. So, please donate to this cause or any of other charity of your choosing, as they do need your help.

Ok, on lighter note, who can tell me what these pictures about?

Sunday, September 13, 2009

"On Your Left"

No, I am not going talk about ideologies in political arena, I am talking about the most spoken word by MS bike riders to the fellow rider while they are passing them on their bike. It is common courtesy to warn the fellow rider to be vigilant about his/her surroundings while they are riding.

That brings to my very exciting, exhausting ride of 150 miles in 2 beautiful days this past weekend through the rural Missiouri near Coloumbia, MO to benefit MS Society. During the ride all the good riders were either ahead of me or chasing me, and I may have collected almost all of the 5999 "on the left" messages and I am glad I did. So, thank you riders, you are the Best!

This year marks a special 25 th anniversary for MS Society and I have been riding for them for last three years in every fall season. As always they have put on great event with great route with tons of volunteers and great food & music, suffice to say it was every bit of fun (some times not! when you are riding for 5hrs on 5 inch wide seat) and it is for great cause.

But it is all possible because of people like you, who supported with your donations and encouragement. I sincerely thank all my supporters now and in the past, who has pledged a donation in supporting MS Society. Please know that every dollar you donated is carefully spent in finding the cure and spreading the awareness of MS.

Thank you again.


Team Picture

Tuesday, March 24, 2009

Teiid is now a Community Open Source Project

After what seems to be a long time after Red Hat's acquisition of MetaMatrix, we are finally ready to announce the availability of Teiid, which is next incarnation of MetaMatrix software. Today, we are announcing the first open source release of this software.

Check it out, take it for trial and let us know your suggestions and comments.


Thursday, March 5, 2009

Connecting or Attching to Local VM (Attach API)

Being spent some part of my past life developing dashboard tools for monitoring the applications in a large enterprise, I am always interested in exposing system health and metrics to external tools for monitoring. So, naturally when Java 1.5 exposed JMX beans for JVM, I was very excited. However, in my current work, we never exposed health of the system through JMX, we had our custom ways to do things and custom monitors for it.

With the latest release coming up, now that we are finally using 1.6 jre, I enabled the in-built support for JMX using these instructions. I did not think much about how JMX client is going to connect to the VM, until today my fellow developer asked, "Ramesh what is the URL for the JMX port on the VM?"

Well, I did not knew the answer, I always used either JConsole or VisualVM to connect and did not pay attention. Looking through the instructions, I see that one could expose the JMX port, so that you can connect remotely from another machine or local machine, however I did not find any default URL I could find to connect to locally to a JVM's JMX port. I did not wanted open a specific port, because once I do that, I would need to provide security mechanism tie it down, more over the agent that is polling for the stats is supposed to live on same box.

To handle the security, I could expose the port on the VM and setup a private SSL certificate between local agent and Server, but I knew some how JConsole connects to the local processes, so started investigate how it does it, then I came across "Attach API"

Attch API, is used by debuggers and profilers, to connect to a VM and inject agents into the VM and expose inner workings of the VM. Here, I just needed to find the URL for local JMX connection, then I came across this blog, which showed how to use the Attcah API to find the JMX URL, now we can dynamically resolve the JMX URL to the local VM. Problem Solved!

Monday, November 17, 2008

Which Class Loader Should I use?

Every Java developer knows thing or two about class loaders in the Java. I am sure there are plenty of articles out there to tell you more about "What class loaders are?" and their significance in the Java language. In this article I would like to go over various different ways you can get hands on a class loader, and which method I use and when and why?

There are two elements you need to know before you can load a class or resource, in a Java application
1) Name of the resource.
2) Location of the resource.

Depending upon the application, developer may or may not know above settings at design time of an application. Below we will discuss, which technique to use depending upon the situation

For example purpose let's assume that there is interface "Foo" and it has corresponding implementation class "FooImpl"

If you know the name and location, then it is pretty simple.

Foo foo = new FooImpl();

If you do not know the name, however if you *know* that resource will be reachable from the same class loader as the executing class, then you can code as below

Class fooClazz = this.getClass().getClassLoader().loadClass("FooImpl");
Foo foo = fooClazz.newInstance(); // assuming there is default constructor


Class fooClazz = Class.forName("FooImpl");
Foo foo = fooClazz.newInstance();

If you do not know both the name and location of resource, then it becomes little complicated. Usually this occurs when you are using some framework code, and writing some extensions and you do not have control over how your resources are being loaded (for example in application server) then the above techniques work some times, but below should be safer option

Class fooClazz = Thread.currentThread().getContextClassLoader().loadclass("FooImpl");
Foo foo = fooClazz.newInstance();

When the executing thread gets created it will be assigned class loader of the executing class, however user could be set to any other class loader at any point depending upon needs giving the most flexibility.

Sunday, November 2, 2008

Bitten By Grub, and Rescued by Super Grub

We are writing documents in DocBook format for our upcoming open source project and I needed to use Open Office 2.4 to convert some our old MS Word documents into DocBook format. Yes, now you can use Open Office Writer to save your documents in DocBook format. I was using Fedora 8 and it came with 2.3 version and it did not had easy upgrade option for 2.4 and Fedora 9 supported it. I had been putting off the Fedora 9 upgrade for a while, so, I thought this is good time as any other and popped in the Fedora 9 CD and hit upgrade and every thing went just fine.

...until I removed the CD and rebooted the machine. To my horror the the screen stopped with words


and would not progress any further, and my mind started racing and my hands started to tremble (after all I am a newbie at this Fedora stuff). Then I switched to another spare machine and started googling for the solution, and I came across some thread which mentioned use of Super Grub rescue disk to fix the issues with Grub, with no options at hand I was ready to give Super Grub a try.

So, I popped in the CD for Super Grub and booted the machine again. This time it booted to a menu I can't describe, the options can be be chosen by your tolerance for amount of risk you are willing to take. By now I am literally cursing.

Super Grub Disk (WITH HELP) :-)))
Super Grub Disk (NO HELP) :-|
GRUB => MBR & !LINUX! (1) AUTO ;-)))
GRUB => MBR & !LINUX! (>2) MANUAL |8-)
!WIN! :(((
WIN => MBR & !WIN! :(((((((((((((((((

By now couple of my colleagues who were watching me suffer (and laughing) looked at the menu and suggested I take the option with smiley face, feeling lost I hit 1, and followed directions in couple other screens and Super Grub finished it job. I rebooted again.

This time I saw the Fedora 9 booting screens and rest is history. Though I was skeptical about Super Grub based on its UI, it did it's job exactly right. So THANK YOU Super Grub team.