Friday, 20 December 2013

Download list of songs from grooveshark

A simple Js to download the list of song from grooveshark.

Here is the GitHub Link for this Project :


1. Copy js from the linked source.

2. Open grooveshark page that has a song list.

3. Open the JavaScript Console from chrome developer tools. 

4. Paste the JS in the console and Press Enter.

5. Leave it for some time as the process for downloading the list of songs is lengthy and takes time.

6. At the end of the script execution a list of songs will be printed on console in JSON format.

6. Copy the list and you may organize the list at your favorite Json Processor.      


PS: I did this project because grooveshark does not provide a direct means to download the list of songs. Also at any point of time they only load 40 songs on the page. Hence it was a little challenging to download the list, and so this JS came into being.


Sunday, 24 November 2013

Highlight HTML Element on page

Demo: Click on Highlight


Code: How to achieve this effect :

var transitionTime = 1000,

transitionEffect = 'box-shadow 1s',

shadowEffect = 'inset 0px 0px 7px 0px #FF0000, 0px 0px 7px 0px #FF0000',

removeShadow = function(element) {
        boxShadow: 'inset 0px 0px 0px 0px #000, 0px 0px 0px 0px #000' 

resetShadow = function(element) {
       boxShadow: ''

removeTransition = function(element) {
        transition: ''

highlight = function(element) {
        transition: transitionEffect, boxShadow: shadowEffect 
    setTimeout(function() {
        setTimeout(function() {
        }, transitionTime);
    }, transitionTime );

highlightFunction = function() {
    var elements = $(".highlight-ele");
    for(var i = 0; i < elements.length; i++) {

<div class="container-div">
    <div class="margin-div">
        <div class="inline-div highlight-ele" id="div1">

        <div class="inline-div highlight-ele" id="div2">

        <div class="inline-div highlight-ele" id="div3">
   <div class="margin-div">
        <div class="new-div">
            <input class="highlight-ele" style="border : 1px solid black">                   </input>
   <div class="margin-div">
        <button onclick="highlightFunction()" style="height: 25px; width: 153px;">

    display: inline-block;
    text-align: center;
    height: 50px;
    width: 50px;
    vertical-align: middle;
    line-height: 50px;

.new-div {
    display: inline-block;

.margin-div {
    margin:10px 10px 10px 10px;

.container-div {
    margin: 0px auto;
    width: 178px;
    border: 1px groove;

jquery plugin:

I have created a jquery plugin to achieve the same effect Highlighter Plugin for jquery

Just include the js in your code and call highlight method on your selector $(".highlight-ele").highlight();

It is hosted on Github : jquery-highlighter on GitHub

Wednesday, 2 October 2013

SoftWare List for Linux.

picture Communication

picture Productivity

picture Drawing

picture Games

picture Multimedia

picture Audio

picture Engineering

picture Financial

picture Utility

Leave a comment with any software you think should be On this list.

Sunday, 4 August 2013

Fix for identifier of an instance of was altered from [parameters... = values...] to null

Recently while using hibernate with java and Mysql i got this error.

java.lang.RuntimeException: identifier of an instance of <class> was altered from PrimaryKeyClass [parameters... = values...] to null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(

The error was simple to resolve but time taking to figure out.

The mistake that i made was in the setter for the primary key.

I had the code as :

private void setPk(Pk pk)
    pk = pk;

While the correct code should be :

private void setPk(Pk pk)
{ = pk;

so if you get a error like this don't forget to take a closer look at the setters too.

Friday, 7 June 2013

Configuring JAD decompiler and jadclipse for Eclipse in Ubuntu 13.04 / Linux

How to setup Jad and Jadclipse for Eclipse on a Linux machine. 

Personally i have had problems with this setup many times in the past So i have put together this guidelines to do the setup in a hassle free manner.

Though this guidelines have been tested only on Ubuntu 13.04 and 12.04. They should work on generally any Linux machine.

Now i am assuming you have eclipse Installed. If not please install that first.

Step 1

Download jad from this location JAD Java Decompiler Download Mirror and extract the file.

  • Download the Linux version Jad 1.5.8e for Linux on Intel platform [For me this didn't work]
  • Jad 1.5.8e for Linux (statically linked) So i downloaded this one. 
  • [don't worry about it being 32Bit/64bit.]

Step 2

Testing that Jad is working. [Optional but Recommended] 

  • Arrange for any .class file. It ok to either make one by yourself.
  • Or copy any eclipse path/plugins/*.jar file and extract it and you will find many .class there.
  • put the class file in the jad folder
  • Then go to the folder 
      cd jad158e.linux.static/ 

      ./jad <class file name>
  • A .jad file should have gotten created as classFileName.jad.
  • [If not please post a comment i will try to help you out]

Step 3

  • Move the extracted jad folder to a proper location. I recoment /opt/
      sudo mv ~/Downloads/jad158e.linux.static /opt/

Step 4 [install jadclipse]

      sudo mv ~/Downloads/net.sf.jadclipse_3.3.0.jar /opt/eclipse/plugins/net.sf.jadclipse_3.3.0.jar

Step 5

  • Change working directory to eclipse directory.  Mine is 
      cd /opt/eclipse 
      eclipse -clean 
  • This should start eclipse 

Step 6

  • Go to Window -> Preferences Select Java-> JadClipse 
  • set Path to de-compiler as 

  • [I renamed my folder for ease so its looking a little different in the screen shot] 
  • Apply changes 

Step 7 [This is the most important step]

  •  Select General->Editors ->File Associations 
  • Ensure that you have selected the "*.class without sources" in the upper box. This is where i make mistake most of the time.
  • Select class without source on the top box Select "jadClipse Class File Viewer". 
  • Set it as "default" viewer for class files without sources. This is also very important step. 
  • Apply changes 

Step 8

  • Now close this window and open any java library file.

  • De-compiler should be working fine now. 

Please leave comment, any Question below. I Will be happy to answer. 

Wednesday, 8 May 2013

Installing Google Chrome in Arch Linux/KDE while keeping it Simple

The Actual process to get this done is very simple.

Open address :

in the right side you will find Package Actions

Download tarball.

Extract the tarball.

Open this location on terminal (konsole).

    Type : makepkg

    [ This command executes the file PKGBUILD, if you are interested in what it does then simply open the
      file and look at the commands. They are simple to understand and you may run those commands directly
     on the terminal doing the same process by yourself.]


    as root : pacman -U google-chrome-stable....pkg.tar.xz

  [ makepkg command will build a .pkg.tar.xz file which may be used to install the software using the command written above.]


    makepkg -i

This should get your chrome installed.

Thursday, 25 April 2013

keyboard is typing in numbers istead of character like u is typing 4 how to resolve ?

Recently I faced this issue.

Some keys on my keyboard were typing numbers.
Like 'u' was typing 4 and 'i' was tying 5 instead.

I assumed that Ubuntu has considered the function key is pushed down. And for some reason it has got locked in that position.

The issue however was very simple .

I had by mistake turned the 'NumLk' On.

I disable the Key and the issue was resolved.


Ubuntu 13.04 how to enable Multitouch gesture control on touchpad

This is fairly simple :

Open Dash and Type 'Mouse'

Open 'Mouse and Touch-pad'

Selection the option 'Two finger scroll'.

Go ahead and try it out.


Saturday, 6 April 2013

Linux and Ubuntu have caught up to windows and are soon going to leave Microsoft behind

I am in love with Ubuntu and GNU/Linux. I have been using it for years now and i am far from being fully satisfied with its performance. But at the same time, i am happier than i have been ever before.

Actually last year i bought a new laptop that shipped with Windows 7 Home Basic. I had no plans to use the basic edition. As we all know Microsoft purposefully slows down the Basic and starter editions so that they perform exceptionally slow. Microsoft charges a lot of money for this crappy edition and also if you wish to upgrade to a better edition you need to pay handsomely. So its kind of a trick to rip people off and to force them to buy extra expensive licenses.

So to save money and be able to play games and all i decided to buy the Universally-Rejected Widows 8 using the windows upgrade offer. It's common knowledge today that windows 8 super awful.

As of today's time I would say Linux distro's are way more advanced than Windows in many ways and is quickly catching up in the rest of the parameters.

Here is one such case that i noticed recently:

Few days back i tried getting my laptop online with my HTC Android mobile. To achieve this i was required to download HTC sync software. Surely i could have used Wi-fi hot-spot, but i like the freedom of choosing between every possible option.

So i tried the same thing in My Ubuntu 12.10. And it worked brilliantly. No extra driver needed. Just i connected my HTC and selected USB tethering and 2 sec later i was online. This is Linux moving forward in terms of driver support.

In 2008-2010 the scenario was reverse of this. We were forced to go to windows for hardware/driver support and in 2012 the situation has flipped. That's how far Ubuntu has come in 4 years. And widows has come from Windows 7 to Windows 8. Which is a steep fall.

Now the way i see it. In four years Ubuntu will be far far advanced in terms of what it will be capable of doing. And i am pretty sure Windows 9 is going to be awesome. But the rate at which Ubuntu and other Linux distro's are evolving It is soon going to become impossible for Microsoft to catch up.

You might disagree with what i just said, but i have solid grounds to support my statement.

You remember Microsoft prior 2000 Launched a super application called Encarta. It invested a lot of money for its development and paid a lot of professionals to write awesome articles for it. I loved this application back then.

This was all propitiatory and controlled by Microsoft so it had a good run in the beginning. And then came the super awesome Wikipedia and BOOM!.

How did it catch up so fast? How could it take over such an awesome application and today in just 10 years time people don't even remember Encarta  that awesome app is trash.

Well this happened mainly because Wikipedia is free and open source and people are self motivated to contribute to it. Money can only take you to a certain level but if you want to go further you need passion. And the passion involved in this things development is great. People love it. From students to kids to teachers to professionals. It adds to our life our freedom our choice. 

End of the day its things like this that define us humans contributions to the world. It feels great to be a part of a community that you can say is your's. It's not someone else's decisions from inside a board room meeting. It's ours. 

This is why Linux is growing both in force and mass and is gaining momentum. You may argue that Linus controls Linux development and Mark control which direction Ubuntu head's. That is true. But there is a major difference, these people take decisions with the community for the community and not for controlling the community.

Here is another reason that favors Ubuntu greatly:

Windows has a major release in about every 4 years. Now every alternate major release has been awesome till date. But all the even releases have sucked greatly. And there is a reason for that. In 4-5 years of time technology advances greatly and Graphics and hardware all grow up in major ways. So a OS has to catch up to those changes.

Same thing happened in between windows xp and Vista. Vista had major graphic changes. In fact the entire graphic system was moved from Pixel to Vector Graphics.

What this kind of change need is a change in the core infrastructure. This causes the system to become much more bug prone and for a propitiatory software the 4 years development cycle is simply not enough for all the testing that it needs. Hence the system only properly evolves after 8 years. 2 Version releases.

But the same thing is not true for Ubuntu. Ubuntu's release cycle is 2 times a year. Mostly any new version that comes out does not have too much change between 1 version to the next. It does have a lot of bug fixes and major upgrades in drivers though.

I personally have notices that when i installed Ubuntu 12.04 soon after it was released. I notices lots of issues. But as i kept on updating the system (unlike what i do in windows) I notices those issues getting resolved with subsequent updates. Many gesture support that i was expecting it to have, came within weeks.

Also for any major changes Ubuntu makes you can chose to simple reject them. For example i didn't switch to Unity when it came out at first. I continued using Gnome. Even when they removed Gnome Interface in the default installation, i downloaded its package and continued using it. But since 12.04 i found unity to be better suited and growing faster than Gnome so i switched. This freedom is what makes Linux systems so great to use. I chose what i want to run on my system.

These are just a couple of major reasons out of the countless reasons why Linux is catching up so fast in the desktop environment and once Ubuntu Touch comes out we will have more Linux share in Tablet market then ever before.

Freedom is in the DNA of all living creatures and we are on all days attracted towards it. So we will push for things that add to our freedom.

PS: If you don't believe in the title just look around you and notice one thing: Android (Linux) caught up to I-OS ages ago. And what we are seeing now is a failing I-OS which is far less-featured in comparison to Android.

Game on.

Monday, 11 March 2013

Why we are So excited about the Ubuntu Touch

As a human being i can say i am hardwired for curiosity. Curiosity regarding anything that new or different from everything i have ever seen before. If it can offer something different than i would like to check it out. 

True that sometimes such curiosity burs and hurts. But that's the risk i decided to take when i was born.

So Ubuntu bring it on, What have you got new to offer?

Well, quite a lot.

1. It's Interface

    It's unique cos of its consistency across devices.

This facility is currently nowhere. Widows in the Past has drastically failed at trying this same thing and currently is failing again. Whereas Canonical with Ubuntu and Unity has found a way to make it work. Which is awesome :)

The possibilities with this is simply limitless.

2. Open Source and Free:

   Being Entirely open source Ubuntu Touch OS has a lot of advantage. It has a wide community of developers.

    It's more free than Android. How?
    Well Devices can use and run Android OS for free. Where as using Android play-store requires a license agreement for OEM. And software up-loaders need to pay a fee of 25$ to Google to upload there apps. Whereas Ubuntu has this same service for free.
    I agree that Android play store has 800,000+ apps and catching up to that for Ubuntu will be tough. But developer world is growing and if Important and high performance apps get ported to Ubuntu Store then developers can be made to use Ubuntu devices and once they come, more apps will definitely follow. 

3. Power to User:

    Android currently does not offer a lot of power to its users. Even in rooted mode there is only so much you can do. I agree that you can do a lot more with rooted android by creating a wide range of apps that would support more features. But the features supported with the Apps will only be the features provided currently by Android Operating System Infrastructure and API. 

With Ubuntu you can expect wider access for your applications. This will result in Apps with power matching the level of desktop Applications to come to phone and tablets. Already Ubuntu demonstrated the photo editor app that was capable of doing a lot more than an average app. And it says that them main Ubuntu desktop OS core technologies and Touch OS core technologies are the same. So basically all apps that may run on desktop-Ubuntu can also run on Ubuntu-Phone

Android OS Apps runs on Dalvik virtual machine but that's not going to be the case with Ubuntu touch OS. Ubuntu Apps wont run on a virtual machine making them faster and more powerful. So it wont be totally outlandish to expect the power difference like C and Java ( representing Ubuntu Touch and Android respectively).

4. Secure :
    We all know Linux is more secure then any other system. And Ubuntu brings more Power of Linux In comparison to Android. Android though being Linux has limitations. It's kernel is based on Linux but modified a lot to suit the Android OS needs. It's apps run on a Virtual machine. Making its kernel more susceptible to bugs.

Ubuntu Touch OS kernel will be much closer to Ubuntu desktop OS kernel. So difference from Android Kernel but it will surely be major. Hence more security is expected. 

Possible Fail points : Lack of GUI apps.

Ubuntu currently Does not have many GUI applications. Many of the major tasks we do is still based on terminal. I personally feel it would be awesome to be able to use terminal on my phone without rooting it. But i cant say the same for an average and most Digital device users.

Downside for Ubuntu: Actually the downside is huge which people have simply chosen to ignore. 

Ubuntu was and is a very flexible operating system. couple of years back it decided to change its UI  and today we are mostly using Unity and loving it for all that it has to offer. But this change came with a massive opposition from its user community. Many disliked unity in its initial days and some dislike it even today.

But Canonical still went ahead with its decision to support Unity. And toady it's reaping off the benefit it has gotten from that decision.

Such decision are rare in Software Industries mainly because it requires massive change is all current applications to support the new Interface.

But as i mentioned in the 1st point this is the core power of Ubuntu. How could this be a downside for Ubuntu and Canonical in future?

Well simply because the more the device get entangled into one consistent UI-Ecosystem. The more the applications will evolve on that. The more stable they will become. And hence decisions like such we saw from Gnome to Unity will become more difficult to make. Canonical will be despised more by the Community and user base for any such decisions they make. Ultimately they may or may not be able to make such crucial 'keep moving forward' decisions.

And in future such decisions will be needed more often and more strongly. Such decisions are vital for maintaining market lead and keeping up with the latest and greatest technology and going forward with innovation.

And any company (Nokia-Symbian, Microsoft with its resource hungry kernel) that does not take such decision in time suffer the consequences.

Still Ubuntu is quite new in this domain and it's previous attempts have not been fruit full. But don't get disheartened. I am sure this time Ubuntu will pick up pace fast. And in a few Years the void in the Tablet Industry that is desperately asking for a Powerful tablet will be filled by Ubuntu running devices.

I believe with Ubuntu Touch's power it should target the Tablet market like crazy and bring it down first.


May the force be with you.

Thursday, 7 March 2013

Why cant you simply download Android source code and install it on your phone?

Ok, To begin with, this is a very basic and good question.

Android as we know is open source. That means its source code is available some where on the internet, Hosted by Google. So it should not be a big deal to download the source code. Compile it using a compiler and install it on your phone.

Well this is very much valid.

You have the power to do this same thing with most of the other Open source software's available out there. So why not with android?

And why is this not so easy ?

Why can't i simply download the Jelly beans 4.2.2 and install it on my phone?

Well for the following reasons :

Is Google+ running slow on Google chrome

For me Yes.

My Google+ has been very slow on Google Chrome for quite some time now. When i try the Explore option it scrolls like a snail moving up on a tree for me. And quite recently (Today) it became unbearable. So i decided i have to do something about it. Hence i Goggled it.

Found a couple of good solutions and tried them all.

Here is solution #1:

Monday, 4 March 2013

Linux and Viruses

Many people believe that Linux is immune to virus. However it's not true.

What is true though is that there are far fewer number of virus for Linux in comparison to windows.

Now why is that so?

Well for very simple reasons, And I will try to list them here:

1. All system related critical files and folders are well Protected under Linux:-

Thursday, 14 February 2013

Google doodle for Valentine Day 2013

Google has an Excellent doodle for Valentine Day -today.

Its both Cute and Brilliant :)

The Idea is to Press the heart button and Google will pair a match you you. And then Present a Cute story of the couple.

The List of Candidates are :

And Here is the sequence of there Stories :

1. Frog and Bird : rowing nicely to the sunset.

Friday, 8 February 2013

Removing White Space Characters From Eclipse Editor

White Space Character is visible in Eclipse Editor.

Carriage Return Visible above

Steps to hide this :

Open Eclipse
Got to Windows menu -> Preferences.

Go To General - > Editors -> Text Editors

Wednesday, 9 January 2013

Beginning Guide to Google App Engine

To start with i would like to say that Goggle App Engine is cool. You can build your own app's and post it online ( Free up-to 10) and use it personally or publicly.

Now lets get started with it.-

Download Google App Engine : download here
Chose your language of preference.

Install the application on your system.
I am using Ubuntu so i downloaded the zip file and extracted it into a folder. ( and installation complete)

I downloaded Python version of the app.

Next create a folder named 'helloworld'.

Create 2 files in it.

First file 'app.yaml'
application: helloworld
version: 1runtime: python27api_version: 1threadsafe: true
handlers:- url: /.*