Saturday, December 29, 2012

Eclipse startup options or JVM Settings

In continuation to my other post on Eclipse, in this post I am detailing the startup options [which are also called JVM Settings] on Eclipse IDE. Eclipse startup is controlled by the options in eclipse.ini file present under Eclipse installation folder [i.e. $ECLIPSE_HOME]. By default, Eclipse comes with a set of values in this file. But those values are not optimized and might cause issues and / or hangs in large projects which might have huge codebase. These can be tuned further for better performance.

My startup options in my current version of Eclipse Juno i.e. v4.2.1 are below:

Please use these options as a reference and update
eclipse.ini file [please do take a backup of this file prior to updating it]. Also, one more important point to note is, use the latest Sun / Oracle JDK for starting Eclipse. This also has a profound effect on the Eclipse startup time as well as the IDE functionality with a decent sized codebase.

Finally, in case you were looking for tuning the startup options of IntelliJ IDEA, please refer my earlier post which details the parameters for IDEA.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Thursday, December 27, 2012

The Dark Knight Rises ultimate trilogy trailer

Wonderfully put together ultimate trilogy trailer of "The Dark Knight Rises", Christopher Nolan's Batman series.
Christopher Nolan's taking is brilliant as always. Apart from him, Hans Zimmer's background score is excellent. I concur with the comment in the below Youtube page which says: "Without Hans Zimmer this trilogy wouldn't be nearly as epic as it is". If you have any doubts, you should check out the Original Motion Picture Soundtrack of The Dark Knight Rises on Amazon or Flipkart.

The only thing I missed in this trailer is the voice of Bane i.e. Tom Hardy.



Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Eclipse Plugins

Eclipse was my main IDE for all my JavaEE and Web development all the time in my career. For all plain Java development and Android app development, I used to revert to IntelliJ IDEA Community Edition, which allows only plain Java development and not Enterprise Java development i.e. JavaEE or Web Development [Spring, Hibernate, Grails, etc]. For more info on what is allowed and what is not allowed in Community Edition, please refer this matrix on JetBrains website. Post the Mayan Doomsday Offer by JetBrains, thanks to the 75% steep discount on 20th December, I now have IntelliJ IDEA Ultimate Edition as well.

Eclipse is open source and is free to use. It is a thriving community for individuals and organizations which collaborate on commercially-friendly open source software. So, over a period of time Eclipse grew on all developers and almost everyone uses it as their main driver for development. And what's more with Scala, Groovy and Android teams giving support for Eclipse as the first IDE has given it a good momentum in the past few years. The plugin ecosystem is huge in Eclipse and in fact, these plugins have helped Eclipse grow as a platform what it is today. Such is the popularity of plugins in Eclipse ecosystem that they have also launched Marketplace for Eclipse plugins. If something is missing in Eclipse, don't worry, just check the Marketplace for the plugin or else you can develop a plugin in no time actually. That has been the mindset of a lot of Java developers in Eclipse ecosystem. There are thousands of plugins available for Eclipse right from customizing the IDE to Maven integration to Python IDE to Spring IDE, for Checkstyle, PMD, FindBugs, etc. 

With all my prior experience in using Eclipse, I have some goto plugins which I install the moment I get a brand new Eclipse version. Here is the list of all Eclipse plugins which I have used till now with a short description and the Eclipse Update Sites of the plugin.
Hope this was of some help to you.

Also, if you are interested in IntelliJ IDEA plugins, please check my earlier post which lists down all the IDEA plugins which I use.

Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Saturday, December 22, 2012

Guava toString() method generator for IntelliJ IDEA

IntelliJ IDEA comes bundled with toString() plugin. If you check the plugins in Settings, you should find GenerateToString plugin, which generates toString() method with options for String concat, StringBuffer, StringBuilder and ToStringBuilder (of Apache Commons) for generating this method.

Google Guava has even better helper method for generating toString() method for a JavaBean or POJO, which is both clutter free and has a very consistent format; in the form of Objects.toStringHelper(this). It looks more elegant than any of the above solutions, actually. Also, as I make it a point to use Google Guava in all my projects, I have defined the following template in my toString() method generator settings in IntelliJ IDEA.

Follow the steps mentioned below for adding this template to your IntelliJ IDEA [picked up from SO]:
  • Go inside a Java Class in an editor in IntelliJ IDEA
  • Hit Alt + Insert to popup the "Generate" menu
  • Choose toString()
  • Click the "Settings" button
  • Go to the "Templates" tab
  • Create a new template named "Guava toString gen" (or any name you prefer)
  • Add the above code to the template
Yes, its that simple!!  After configuring the above template, whenever you want to generate a toString() method for a Class, IntelliJ IDEA generates toString() using Guava template you have added just now.

Now, go ahead and give this a try and also check the other method omitNullValues() which might be useful in some scenarios.


Also, as a bonus tip, Guava's Objects class also has 2 awesome helper methods which aide in writing readable equals() and hashcode() methods. You should try them too.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Friday, December 21, 2012

My User Settings of Sublime Text

In an earlier post, I have listed all the plugins I use in my Sublime Text Editor.

Whenever you edit your Settings in Sublime Text, ensure you update Settings - User under Preferences and not any other file since once you install an update to Sublime Text, the installer does not fiddle with Settings - User and hence you can retain all your settings even in the updated version. Donot update Settings - Default, since it will be erased with the latest version's Settings file.

I played around my Settings and currently I have configured my Sublime Text as per my requirement. Here are my User Settings:
Use these settings as the base and try to create your own flair for your work as per your taste. I am sure it will help you in increased efficiency and productivity in your work. All the best!


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Thursday, December 20, 2012

JetBrains Mayan Doomsday Special Offers

JetBrains is offering steep discount of 75% on all their products which include IntelliJ IDEA, PyCharm and a host of other awesome IDEs.

JetBrains Special Offer

It is a limited period offer and to be precise its an offer only for 24 hours on 20th December, 2012. So, what are you waiting for? Head over to their website and NOW!!



Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Saturday, December 15, 2012

Wikipedia entries for K & R and Steve Jobs

Wikipedia entries for Dennis Ritchie [C and Unix creator], Ken Thompson [Unix creator], Brian Kernighan [worked with K & R during Unix creation] and Stuart Feldman [make creator] put together is just 1/5 or probably 1/10 of the Wikipedia entry for Steve Jobs.

This is definitely nothing against Steve. He is a great visionary.

But, he is a product guy who visualized the product, the actual hard work was done by so many unknown Engineers.
We have come to accept and approve narcissists more than great creators and excellent human beings whose work changed the fate and direction of the world. This is not a good sign for the new generations and needs a change.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Tuesday, December 11, 2012

Packages in Sublime Text

If I am not working on Eclipse or IntelliJ IDEA, I will be grokking on Sublime Text 2. Its a wonderful text editor and in fact it's more than a text editor. Unlimited trial period, multiple cursors, easy customization, etc are its main USPs.

There are a number of blogposts which explain why / how Sublime Text is good. Two of them are from NetTuts. Follow them and see how simple and easy it is to configure and personalize Sublime as per your requirements:
If you have followed the above articles, you would know that the first thing you do after installing Sublime Text is, install Package Control and its all simple from there to install other packages.

Following is the list of packages I have right now which are very useful for my work.
First install Package Control and then search for the required packages in Package Control for installation, that's all you have to do.
In a future post, I will add my User Settings of Sublime Text.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Monday, December 10, 2012

IntelliJ IDEA Plugins

In continuation to my other post on IntelliJ IDEA, here are the plugins I am using currently.
Please check back after sometime, I will keep this list up-to-date with all the interesting plugins I come across.

For a complete list of plugins available in IntelliJ IDEA, please check this link. As of today, there are 865 plugins available for IntelliJ IDEA Ultimate Edition and 819 for IntelliJ IDEA Community Edition.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Performance Tuning of IntelliJ IDEA startup options

IntelliJ IDEA is my favorite IDE for my day-to-day work.
I do moonlight with Eclipse as well from time-to-time, but the sheer speed and power of IntelliJ pulls me back to IDEA every time.

I have found the following tuning parameters to be very useful for fast loading, caching, etc for IDE to function smoothly:

If you are using Windows 64-bit, please add the above config in idea64.exe.vmoptions file and if its 32-bit, please add these tuning parms to idea.exe.vmoptions present in <<IDEA_INSTALLED_LOCATION>>/bin folder.

Also, just in case if you are not aware, on a 64 bit machine, if you want to launch IntelliJ IDEA in 64 bit mode, you need to launch idea64.exe and not idea.exe. For this, ensure you have IDEA_JDK and IDEA_JDK_64 environment variables pointing to your 64 bit Java Installation folder.

Finally, the above IDEA Tuning parameters can also be used for an IntelliJ IDEA installed on a Linux machine as well.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.

Sunday, July 15, 2012

Tips for aspiring Data Scientists

Peter Skomoroch, Principal Data Scientist at LinkedIn has a very good advice for the aspiring Data Scientists.
"Learn Git, Python, Java, Hadoop, Pig. Really just immerse yourself in good software development practices and engineering rigor"
And also
 "... they need to learn a bit of statistics and machine learning as well"
Head over to Metamarkets for the complete interview.


Update on 05th April, 2015: After a fair bit of time here, I have moved on to GitHub hosted Octopress blogs. Please find me on http://P7h.org henceforth for all new updates.