Wednesday, June 28, 2006

2 years of professional life...

Today marks the completion of 2 years of my professional life, but still i hope to go back to college some day ;), I miss my college life a lot!

Sunday, June 25, 2006

HierarchicalTable - Finally a Work in Progress ;)

Finally started working on the HierarchicalTable component which i wanted to takeup long time ago, that is when i first had a chance to look at it ;)

A Hierarchical Table is a variant of a Tree Table. It can display very complex nested table structures, that is, a row in a table when expanded can show another table as a child node, and the child table can show another child table and so on. This is not only limited to tables and can be used for nesting any regular Java Swing components as children of rows in the TreeTable.

Worked for almost 8 hours continuously on this today and finally got the nesting working, but there's lot more to be done to get it into a proper shape.

Luckily i had a TreeTable already available, else i should have spent a lot of time in creating a TreeTable in the first place since TreeTable has a legendary complexity as far as i know. It's not that easy to write something like a TreeTable, kudos to the guys(Scott Violet and Kathy Walrath of Sun Microsystems) who wrote it :)

The picture below shows an ugly W.I.P.(Worki in Progress) version of what i am developing.



The pictures below show what i want the component to look like once it is full done and functional.


Saturday, June 24, 2006

A killer Java Component called TreeComboBox

I was lately thinking of developing something which could hold me in front of my development computer at home for a couple of days! (i badly needed to develop something new like the CheckBoxRadioButtonTree and the killer TableCheckBoxCellEditor)

So apart from working on JAnimationShop, i started working on a reusable component called TreeComboBox, which i found to be very interesting.

This is a killer component and in the Java third party component market, i have seen this only on the JIDE components package. I had a chance to take some time off work ;) and look into JIDE demos at office since i was evaluating some of their components for prospective usage in the GUI of the product that i am working on, and found TreeComboBox to be very innovative though not new.

I have also done some more components in the past which are similar to those in the JIDE repository, but then i did not know that something called JIDE existed. Will post about those sometime later.


The TreeComboBox is an extension of JComboBox with a JTree embedded in its dropdown popup. So, instead of searching and selecting the necessary list item from huge list of dropdown items, user will be able to see an elegant tree structure, select the tree nodes, expand and collapse them and possibly do anything they can do with a normal JTree.


The TreeComboBox can take a ready made JTree or can take a TreeModel and create a JTree from it, and can show the tree in the combo popup.

This one took me almost a day to develop! I had to put in too much thought into get it working to the fullest effect. I am now in the process of cleaning up the code and removing internal dependencies(if any) and make all fields private/protected and provide accessor methods to those. After all , this can be actually called a Component only after doing all these ;)

Wednesday, June 21, 2006

Bill retires...



The above Image is taken from The Joy Of Tech comic.

Tuesday, June 20, 2006

Couldn't resist posting this!

JAnimationShop saves the day at office!

A couple of days back, I had put in the animation shown below(here it's not animated though) in a dialog to show indeterminate progress!

The problem with this animation was the frame delay which was so less(actually zero) that the Java Image Animator thread was just blazing through the frames making the animation look very fast and gawdy!

Since this resulted in a change request/fix task raised on my name to slow down the animation, I had to edit the animation in order to slow down the frame delay!

I was at office and did not have any Animator tools that I have at home, so I decided to use my very own JAnimationShop!

Luckily I had something called a frame properties editor in JAnimationShop which could be used to do lot of frame level stuff and changing the frame delay was one of them and saved my day!

Now I really feel very happy that I could use JAnimationShop for something critical(atleast from my perspective... after all I have a good reputation for doing things quick and slick).

Weekend Coding Marathon!

Spent most of the past weekend coding! This is one thing i had stopped doing at home for more than 6 months now... Did lot of long pending refactoring for my pet project JAnimationShop



Did some amount of refactoring, and also Added some improvements to existing features and tried to improve the usability as a whole.

Some of the existing stuff that were hacked for better looks :

  • Total re-layout of all the components(too bad the locations were hard coded earlier) to move on to a dynamically resizing, self healing fluid layout.
  • All toolbars are now detachable and re-dockable.
  • The color palette can also float and dock!
  • Decided to use Substance L&F as the default for this project due to its smooth eye-candy finish and crisp looks, the substance color chooser was a major attraction though.

Some of the new features i added are :
  • Added a new concept called workarea, which is nothing but another workpane within the same window and can be used to edit a different set of animations if needed. (These are similar to virtual desktops on Linux). To facilitate this, a new Tabbed Pane appears below the menubar and toolbars(if any), and users can switch workareas by switching the tabs.


  • Revamped the whole design of the core part of the editor, the desktop pane which was in the middle and evolved it into a more usable component called Animation Work Area, which is mentioned above.
  • Each workarea shows tabs at the bottom to indicate the animations and previews being edited in that particular workarea, and is isolated from other workareas.
  • Any number of such workareas can be added or removed dynamically!
  • Added numbering to the workarea tabs to make it more visually appealing.


  • Substance L&F also provides a small preview of Internal frames which makes it more lucrative to use in an image editor.


  • Added a generic wizard which could be customized to create different wizards and currently working on the "New Animation Wizard".
  • If customized, Substance L & F can be used to provide more eye-candy stuff than these, but i am not planning to do it since it would close out the option for the users to use other look and feel classes they may like(Substance is just the default L & F i would be bundling, or rather testing on!).
Still to come... since i am continuing the marathon throughout this week... this post, i have been writing by taking breaks in coding ;)... more updates to follow...

Thursday, June 15, 2006

Sunday, June 11, 2006

An Innovation called NetDisaster!

Recently came across this very innovative concept called NetDisaster which can overlay loads of effects externally over a webpage... check the screenshot below and try this link to see what i am saying...

Day 4 - Evening - Arrival at bangalore and to home

Arrived back at the bangalore Airport at around 5:30 PM on 4th June. The return journey was rather long compared to the first one due to the stop at Trivandrum. Had good time getting back to home in an auto rickshaw from the Airport. To conclude, the trip was awesome, at one of the most beautiful and natural places i have ever been to. :)

Saturday, June 10, 2006

Day 2 - Evening...Night - Awards Ceremony with Ashley Powell, Music with DJ Night and Dinner

After the end of the days official presentations and mad-ad videos we headed back to our rooms, to freshen up and come back for the events in the evening. It was a very cool evening and our stage for the evening was on a dock against the backwaters of kumarakom. The party space was attached to the dock itself and the seating arrangements were made all over the dock in groups of 6 chairs forming semicircle. We had a special MC pronounced emcee(Master of Ceremonies : the person who hosts a ceremony) for the evenings Awards Distribution Ceremony.

This guy was a professional emcee named Ashley Powell, he took on the ceremony well, started with a sing along song written about the company and the company's one team one goal principle. Then came along the welcome not for foreign guests and of course all of us following which was the "Awards Ceremony" which everyone had been eagerly waiting for. The restaurant staff had already started serving snacks to the places where people were seated and it had started drizzling a bit in between and stopped after a few seconds. Finally the awards ceremony started after a couple of minutes with Ashley giving an introduction on what the awards were, the award categories and what it takes to be the one receiving an award in each of the categories.

He paused for a brief moment after this and started of the first category "Award for Excellence in Execution of Work", first he explained a bit more about the category and then his talk went on like this to announce the very first award, "This award goes to a person from the Synergy Development Team who has mastered the product and contributed highly in a very short span of time showing excellence in execution of whatever he does, any guesses?" There was silence for a moment and with sudden urge someone from the crowd shouted "Ranga" and many similar shouts followed!

Ashley continued saying "yes, you are right, this award goes to Ranganath Prasannakumar!".

I was in a surge of both sudden shock and excitement for a while since me and my teammates had started working just about 5 months back and these were the annual awards being given and we had no clues that anyone from our team would even get it since there were people from other teams who had worked over the whole of previous year!

It was a great feeling to be called upon the first and given an award, recognition of work gives me the utmost job satisfaction, believe me, it's better than pay ;)

After this the other awards were given out, finally all the awardees had a photo session and then Ashley concluded the awards ceremony and handed over the stage to the DJ at the club house of the resort, the DJ introduced hi8mself as DJ Night!

This is definitely and will forever be a nostalgic moment for me.

Day 2 - Noon - Lunch, post lunch sessions, and the Funniest moments

We broke for lunch at scheduled time and it had started to drizzle again, we had a great menu to choose from loads of different mouth watering cuisines from kerala were being served at Ettukettu, the dining hall at Kumarakom Lake Resort. We had some more business sessions post lunch and in the end of those, we played a bunch of small Mad-Ad type of movies :) The crowd broke out laughing and enjoying the ads we had made. I had acted as showman at the office in one of the ads which was very funny since it talked about version control and configuration management for maintaining girl friends!

Some flicks from the ad:






Day 2 - Morning - The Official Presentation sessions...

After breakfast, we continued with the business presentations that are supposed to be part of any business kickoff meet. Had coffee break as usual at scheduled time. It had started drizzling outside and the view was great from the balcony of the conference hall and we were all sweating heavily in spite of the rain outside due to the high humidity levels at Kumarakom. Nothing much to say about the presentations since they were official.

Day 1 - Night - A Movie and then Dinner

In the end of all the official talks for the evening, we played a wacky movie which we filmed at office with lot of effort... It had some concept related to international peace! I played the role of the "National Security Adviser" in the movie ;)

The movie was a good hit among the crowd, and got accolades from all the audience... After this, we had lunch at the resort's dining hall called *Ettukettu*(In malayalam it means a house with two courtyards...)

It was a tiresome day due to the journey, and more due to sitting for a couple of hours at the conference hall so headed back to the room and hit the sack! and did not open eyes till the next morning ;)

Some stills from the movie:




Day 1 - Evening - Begining of the Official Kickoff Meet...

It was a very boring evening!

We had not much time to rest after getting into the rooms since we had to head back to the conference hall. Freshened up myself and headed to the conference hall with my roommate. On the way we had coffee and snacks at the coffee bar of the resort.

Somehow managed to delay 5 mins before we got into the conference hall ;)

The next couple of hours were full of official presentations, related to my company's future plans and ideas, some of which were interesting.

Had a tough time managing myself silent for 2 hours ;)

Day 1 - Noon - Landing at Kochi Airport, to Kumarakom by bus

Reached Cochin airport by 3.40PM...

We had to wait around 5 minutes for checkout. When we came out of the Airport, there were two volvo coaches ready to take us to kumarakom. It was a cool journey through some small villages and towns, which took almost two hours. We had a very good time in the bus singing and shouting.

We reached the resort by 5.30 PM, we had a warm welcome at the Resort, they garlanded all the men, and decorated all the ladies with garland and Kumkum. Then we headed to our rooms, which were very beautiful. The whole locality was a visual treat.

We had to rush to our rooms to freshen up since we had very less time to get ready and get back to the Conference hall for the kick off of the kick off meet ;)


Day 1 - Noon - Take off from Bangalore Airport after a long wait...

Day 1 - Morning - The journey begins...

Started off from home at 11:00AM with my trekking bag, which i felt was far more comfortable to carry than those with trolleys! Took an Auto Rickshaw and blazed through the bangalore outer ring road towards the Airport.

It was one heck of a ride! I felt like i was on a roller coaster for the whole hour i spent in the auto! Reached airport by 12:20PM, the airport staff had already made an announcement that the flight would be delayed by an hour and half.

Somehow managed to check in the luggage early. The guy at the so called Tele Checkin counter uttered in an exciting voice, "You Have Got A Window Sir!", like windows were something great! (actually the word "window/s" irritates me when i think of Micra$haft!). Later, that is after the flight took off i realized why he greeted me that i had got a window which i will write later ;)

While waiting for the flight to arrive, to pass time, i loafed around the visitors lounge with my friends, got to eat some "part of the package" (which comes free with your boarding pass for the flight) sandwich and drank some coffee, both of which tasted bad and are not even worth mentioning.

Spent some more time talking to people till the flight finally arrived at around 2:30PM. Then we all went through the usual security check and such stuff, waited for five more minutes and then boarded the bus (which would take us till the place where the plane was parked) which seemed like an oven!

Finally got into the flight and took seats and lot of general instructions (which were not given only to me of course) and waited for the flight to take off...

Days at Kumarakom...


As i wrote in my previous post when i come back from Kumarakom, i will be writing the experience in a series of posts. I couldn't write the posts throughout the week since i was a lil busy with work at office...

Sunday, June 04, 2006

Back from Kerala...

Relaxing...


Came back yesterday evening... The place(Kumarakom) was awesome... will write more on the trip and put up some snaps later...