Friday Aug 15, 2008

Where's the Java Posse bloopers episode?

Ok, I have listened to the Java Posse bloopers episode a 100 times and laughed and laughed myself dry.

Now, since I moved to US, I have managed to lose my copy of the episode. And I searched east, west, north and south on the internet but couldn't find it. Anybody know where it can be found?

Tuesday Aug 05, 2008


First day @ MPK17. Everything is so new, and it's a welcome change after three years at BLR03 :)

More posts to follow!

Tuesday Jul 01, 2008

Does this ring a bell?

"When all you have is a hammer, everything looks like a nail"

 Ever been hit by this?

Sunday Mar 16, 2008

Some more Jack of all, master of none...

I started out writing this one as a response to some of the comments to my previous post. I guess I had too many thoughts and this warranted a separate post in itself. First and foremost, I wish to state that I value and respect everyone's opinion, for the matter that was discussed was very very subjective. However, as always, I will blurt out what I think in this blog.

I am not against people who learn new languages, and yes, I would never say that Java is just enough (though I love it immensely). But people mostly learn a language, use it a bit and then move on. For me it's like leaving the climb 200m from the summit of Mt. Everest, just because someone seemed to mention a new and difficult mountain to climb. For me, I will climb the new mountain, but let me get to the top of this one first, is my attitude. Many people try to look for new and better ways of doing things when learning a new programming language, but they haven't charted all the territory of the language that they know currently. It is this attitude that needs to be taken care of, in my personal opinion.

As a computer engineer, when my father asks me something about computers (esp. hardware) that I don't know, I feel ashamed somewhere. Sure, I specialize in software, but still I should have known everything about this field, is what I feel. At Sun, everyday offers me something new to learn about Java, something trivial which I should have known (which does my self respect no good, but keeps me honest), something not so trivial. What I gather in such experiences is invaluable if and when I move to a different platform. Don't we all master the art of quickly learning a new language, once we have learnt a couple of them? I think I am trying to learn an effective way of mastering a language/platform, and I do believe, having patience and a mind that constantly seeks out the unknown seems to be essential elements to achieve it.

I would also like to state that learning a language in and out does not guarantee success. Many people know the language, the working of the platform, but are a bit short of knowing about computer science fundamentals. For eg. I have never used a B-Tree at work, but I know what it is, and there might come a time, perhaps 20 years down the line, when my knowledge of a B-Tree and how it works, will lead me to write a significantly better program, and more importantly, make me feel good about myself. One must pay due respect to the science and not just the current state of practice.

Thursday Mar 13, 2008

Jack of all, master of none

I often see many fellow software engineers learning new programming languages every now and then, in the hope that they are increasing their "marketability". They seem to think that the more programming languages they know, the better. C, C++, Java, Javascript, Python, Perl, Ruby, Groovy, Scala, C#... the list goes on and on. These chaps are the first to get swayed by PR of companies marketing these languages (Microsoft for C# and .NET being a prime example). Hell, I talk as if I have been a saint, no, even I used to be in this - "Run to learn the latest language" club.

But over time, I have figured out that learning a language is never accomplished without using it in and out, in all sorts of ways, in all complexities, in various projects. What's the average length of a code example in a book? Roughly 100 lines. And what's the average size of code bases? 1000s and 1000s of lines. Unless you use the language to create something, you are not using the language at all. After all, a programming language is just a means to an end. It's a tool in your hand to create an application, a service, something concrete and tangible.

Having come over to the Java world 2.5 years back, I have this habit of looking back on the code that I had doled out when I was new, and compare it with the code that I churn today. I find such a huge difference. The code that I produced 2.5 years back, is down right laughable in some places. Being at Sun, I was able to work with some very very smart people and hone my skills as a programmer (there is still a huge scope for improvement, as my recent experiences in the NetBeans land have told me). The code reviews have taught me a lot and continue to. I have been fortunate enough to work with some real wizards of design and Java platform and I am always in awe of such people and their ability to assimilate complexity and I try always to study their approach to problem solving. It gives you lots of pearls of wisdom and improves you as a programmer.

Even after this, when I feel that I write much better code than I used to, there is still a long long way to go for me in the world of Java. I still don't know the little things which one gets to know when he is aware of the Java Language Specification. I still haven't really decompiled a Java class, and tried to understand the byte code. I still am baffled by the whole area of memory management. I haven't ever done a performance analysis or improved performance of code written by a different programmer. Never used NIO, still need to go slow when dealing with multi threading.... the list goes on and on. As Bharath Ravikumar (my former colleague at N1 SPS development team) rightly pointed out when I discussed this with him, it's a matter of spending time gathering these experiences. I should try and work on all sorts of things in Java, and when your day job cannot satisfy such a quest, it's best to turn to open source to satisfy your creative hunger.

You can make out the difference between someone who has just learnt the language and someone who has made better use of the time to work on projects in that language.

Now some readers may say that knowing just Java is not good enough, some languages are much better suited for certain applications. I totally agree. But, knowing a low level language (C), a middle level language (Java) and a dynamic language thoroughly, should be good enough for most, if not all, applications.

Saturday Mar 01, 2008

Been there, done that

I attended the NetBeans day at Hyderabad, and I came out with some pretty interesting discussions, meetups and lots of positives. From what I heard from the audience, Roman Strobl has become a celebrity. His style of presentation and humor was appreciated by all. The audience loved his presentations. Last year, Roman's good friend, Geertjan Wielenga, had a similar success.

However, as always, there was one presentation which was humorous, for me atleast. Collabnet, the company behind Subversion, had a talk. Their presenter started off very well with defining Collabnet's objectives and it's lineage. A very crisp presentation. And in 10 minutes he finished his slides (right on schedule) and handed over to some Subversion contributor from Chennai (the only one in India). And this guy winged the whole presentation. Far removed from the reality of the composition of the audience (many were students with only a cursory knowledge of SVN), this guy rambled on and on giving obscure examples (no, they were not added to the slides, so you really had to follow him through the labyrinth of his examples). This guy must be a fantastic engineer, but he surely came a cropper as a presenter. People around me first became disinterested, then groaned, then some of them slept in the cool air conditioning. And people like me, who had better things to do in life, got up and left, for good.

I see this problem time and again, mostly with Indian speakers. They speak too fast, they fill up their presentations with tonnes of slides (without any graphics or anything to keep the audience interested), and almost none of them add spice to their talks with humor. And yes, most of them forget the audience. They find some nodding heads in the front rows, and then the whole session is presented only to those nodding heads, be it a presentation in front of 70 or 700 people. They will stick to their monologue, blurt out their stuff and go away. The audience sleeps, or leaves.

Please guys, time to learn some presentation skills. Think out of the box, you are not presenting a paper at such conferences. There are better ways to get your message across.

Monday Jan 21, 2008

Have you done your homework?

Having worked with the NetBeans platform for a year now, I am a happy coder. The most pleasing aspect of things is that if I am stuck, I can look at the sources and find out how to go about things. Don't know how to use an API? Just dig into the NetBeans sources and find out how it is implemented and presto, your doubts are gone. Yes, sometimes I have been stuck and needed to ask questions to other NetBeans wizards, who were ever ready to help me, but the rule of the thumb in asking such questions is that you should have done your homework before putting your question across. And this is true for any open source software. However, time and again I see some extremely stupid questions on the mailing lists.

Would you go and ask Linus Torvalds, what is an operating system on the Linux kernel mailing list? Even if he or other kernel commiters were patient enough to answer such a question, instead of writing a tome in reply, they would ask you to grab a book and try to understand yourself what an operating system is. Isn't it really stupid to ask questions whose answers could have been found if you had just bothered to look around a bit? Don't you feel an 'AHA' moment when you have deciphered how something works, all by yourself, after sweating it out?

Whenever I have conducted a training course for students in my home town, I have always been appalled at the awareness index of these would be computer engineers. And if you think India is a low bandwidth country, I don't agree. These youngsters have all the bandwidth at their disposal to download the latest episodes of "Heroes" or tonnes of wallpapers and songs. But the bandwidth suddenly dries up magically when it comes to visiting sites like,, or even

Sun made an attempt in the right earnest to get these students in India out of their slumber. We launched the Code For Freedom contest specially for Indian students, and we have discovered some real gems. But in general I have to admit, an average Indian student wants to be spoon fed again and again. It's a sad thing. I hope this changes some day.

Tuesday Jul 24, 2007

BOJUG@Bangalore BarCamp 4 - Schedule

We just announced the schedule for the 3rd User Meet of Bangalore Open Java Users Group to be held at IIM Bangalore, on 28th and 29th July, in association with Bar Camp Bangalore.




Prizes and goodies courtesy IntelliJ IDEA and O Reilly.

Here's the schedule:

  • BOJUG Introduction and Welcome to participants.
  • June and July in Java by Rohan Ranade, JUG Leader, BOJUG - This session will cover the major happenings in the world of Java in the month of June and July. This will be more of a discussion than a presentation and audience members are encouraged to discuss more on the happenings in Java during the session.
  • Project Woodstock presentation by Venkatesh M. R., Developer, Sun Microsystems - Project Woodstock participants are developing the next generation of User Interface Components for the web, based on Java Server Faces and AJAX. This open source collaboration enables a community of developers to create powerful and intuitive web applications that are accessible and localizable, and which are based on a uniform set of guidelines and components, to help ensure ease of development and ease of use. Vision: Project Woodstock is devoted to providing the best possible web application experience for our customers and communities.That experience will certainly be greatly enriched by the interaction of ideas, information, and techniques that emerge from the cooperation of individuals in the web community, and the rapid introduction of new technologies by members of that community.
  • Java Puzzles - You think you know Java? Think again. Have a go at these brain crackers, and see how deep your knowledge of Java is. Winners will get a free copy of the award winning IDE IntelliJ IDEA worth $249.
  • Cruise Control presentation by Kshitish Balhotra, JUG Leader, BOJUG
  • Adventures with Netbeans Platform and OpenOffice API, a workshop by Rohan Ranade, JUG Leader, BOJUG - This session will take the audience through a session on building a Netbeans module which generates OpenOffice documents using the Java API. (Participants need to get their Laptops please.)
  • Code Generation Presentation - Sathish T. (BOJUG member)
  • Component based java web development with Apache Wicket Framework - Karthik (BOJUG member) - Wicket is a Component based Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Component based framework build pages from reusable components, the way you build a windows GUI application. Wicket strives for a clean separation of role of a HTML Page designer and a Java Developer by supporting plain vanilla HTML templates that can be mocked up, previewed, and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a first-class component model backed by POJO data beans that can easily be persisted using your favorite technology. Wicket  counters the statelessness of HTTP by providing a stateful component model, thereby improving productivity. If you are looking to home your object-oriented programming skills , then Wicket fits like a groove in that respect as well, since it has an architecture and rich component suite that encourages  clean object oriented design. It might be of interest to some to note that Wicket is probably the only "Zero-XML" framework in the Java World right now - All configuration is done in Java. If you love Java and you know HTML and current approaches to Java  web development bores you, give Wicket a try - you would be pleasantly surprised!
  • JMeter - Kshitish Balhotra, JUG Leader, BOJUG


Wednesday May 16, 2007

Bangalore Open Java Users Group - Users Meet



The 2nd users meet of Bangalore Open Java Users Group will be held on May 26th 2007 at Sun Microsystems India Engineering Center, Bangalore.


The main attraction of the users meet is a session on JavaFX by Ranganath from Mphasis.

For meeting details, please see this link :

Also, do not forget to add your name to the attendee's list, if you wish to attend this users meet.

Wednesday Dec 06, 2006

Welcome Bharath

My colleague and the original Netbeans zealot Bharath Ravikumar has finally started blogging!

Welcome to the blogging world Bharath! Hoping for loads of information on JVM and Netbeans Internals!

Wednesday Oct 25, 2006

Bug in Netbeans!

I happened to be at the Netbeans Day at San Francisco, just before JavaOne 2006, and got an awesome red Netbeans 5.0 T-Shirt. Sathish (my colleague) also got one, and we came back to India and donated them. I gave the shirt to my younger brother with the condition that he should wear it to his college :-) and Sathish gave it to Bharath Ravikumar (my team mate) without any conditions (being the Netbeans fan that he is, Bharath will wear a Netbeans T-Shirt to work everyday!).

Anyway, while enjoying a vacation at home, my brother pointed out a huge spelling mistake on the shirt:

Look at the spelling of Worldwide... it has become "WORDLWIDE".

Finally I found a bug in Netbeans! Now, which category to raise it in and who should be the responsible engineer?  ;-)

Thursday Oct 12, 2006

The huge difference called Matisse

Me and my friend, Ruchin (he works in a company called Exeter Software), were watching TV at my place. I was doing frequent context switches between watching "The Best of Friends" on TV and digging into Java Swing, 2nd Edition, when all of a sudden, Ruchin burst out saying that he was not aware that I was reading the Java Swing book. He wanted it badly, coz he was having a hard time at work designing a GUI based tool in Java for requirements gathering. He's a Java EE guy, he said and Swing doesn't come naturally to him. I almost knew he was using Eclipse.

Ah ha! Off I went, fetched my laptop, fired up Netbeans 5.5 RC1 and gave him a quick demo of Matisse in Netbeans. I had done a small presentation on Netbeans as a part of Sun India University Relations Programme recently, so all the tricks were really on the top of my head. I showed him how one could create a GUI Contact Details form, dropping components like buttons, drop downs, text boxes on the frame and showing him how I was being guided along by Matisse all the way. In 5 minutes, we had a form up and running. He was blown over. He wanted to know more about Netbeans.

After watching the editor features, he said that it was similar to Eclipse (he loved the "Hippie Complete" feature, but I think Eclipse also has it). Then it was show off time again and I showed him The Developer Collaboration plugin in action. As we were running through the features one more friend of mine, Sidharth joined in. We did a small remote code review session. The guys were mighty impressed.

Now Ruchin wants to get his hands on Netbeans as soon as possible! It's easy to understand why innovation matters, isn't it?

Btw, It's almost Diwali time here in India. The festive season is coming! Wishing all of you a very happy Diwali! :-)

Monday Oct 02, 2006

Domain Matters

Just this month, I completed two years in the industry. Two years that have given me a mixed bag of experiences. It's been good fun.

Having come this way, my juniors from college do ask me advice from time to time about which domain to choose. They find it a bit daunting to specialize and restrict oneself (so to say) to one particular field. And inevitably the aspect that clinches the field they want to enter, is the money + job opportunities aspect. The frequent questions to me start like "does telecom software have enough job opportunities?" or "do Java programmers get more salary than C programmers?". Sometimes, the field quality aspect also bounces in - "Is GUI work better than backend systems work?"

I try to be honest in such scenarios. I try to give them my opinion on things, coz lets face it, two years is hardly enough experience advantage to start giving advice to people. Rather, I need frequent advice myself from my senior colleagues. But quite frankly, these questions are illogical to me. My only answer to such questions is a question to them - "What would you love to do?" And the answer invariably is a blank face.

Funny how most of my juniors never seem to put their liking above matters like money. I started my career at the age of 22 and would be working atleast till I am 60 years old. Thats almost 40 years of my life! Shouldn't I be doing what I like, no, what I love, for these 40 years? Most would be engineers seem to miss this simple equation.

When you do something you love, you don't need an external force to drive you. You never get tired of it. You just enjoy every moment of it. And naturally, you tend to be the best at something you like, no doubt about it. And if you are the best in something, money will surely follow. In any case, money is just a small part of the whole game. It's all about creative satisfaction in the end.

Everybody has different likes and tastes. Some people like to be involved in operating systems level programming. Some people get kicks out of writing device drivers. Some people enjoy grid computing, and some enjoy GUI programming. Being a developer is not in anyway better than being a tester. Doing development from scratch is just as good as doing maintenance. One has to identify what he/she likes the most.

Ultimately, you have just one thing to go by - in whatever you do, take care that you satisfy the only part of your body that will remain young all along - your mind!

Friday Sep 15, 2006

Students as Developers

Recently, I got a chance to present about my latest hobby - Netbeans Platform, for the Sun University Relations Programme, an effort by Sun to reach out to Indian universities. I gave a small presentation, largely adapted from Roman Strobl's fantastic Netbeans 5.0 demo series, to a gang of 60 students from Pondicherry, visiting Sun's India Engineering Center, Bangalore as part of the programme. 

Though IMHO, Sun is a bit late to enter this field(Microsoft was the pioneer in this field in India, I must accept), I have realized that we have a definite edge over other companies which try to evangelize their products amongst students.

I would be a fool to say that Sun's product offerings are always technically more innovative or complex than competitors' offerings. No. Our competitors have some great stuff too. Then what gives us an edge?

The answer is Open Source.

As a part of Sun's initiative, almost all developer tools are going to be open sourced. OpenSolaris has set the trend. Netbeans has establised a milestone, and open sourcing of Java is the zenith of Sun's commitment to open source.

So, when we present about some technology to these "free radicals", we don't urge them to just use it, rather we can urge them to come, join us and improve it.

Students get a feeling that they are not just customers, they are our developers! And they just love this :-)

Tuesday Sep 13, 2005

Init at Sun

I just completed my first week at Sun, Bangalore, and being in Sun is Fun. I am getting back to Java after fiddling around with C, C++ for a year, and man, has the environment changed. Back in my school days, I used to crib at the lack of IDEs for Java. A visual editing environment like Visual Studio is great, and Java did not have any good IDE at all. But now with the advent of IDEs like Eclipse and Netbeans, things are in perfect shape. Add to that the tonnes of cool features that have come with Java 5! I am a big fan of Generics in Java. And if I am right, C# 2.0 also supports them. It is good to see co-operation amongst language developers from various domains. Next target : Jython! :-)

Rohan Ranade's musings on anything and everything.


« August 2016