Are you sure that you want to clone the entire hard disk since you are switching hardware? (I have never personally tried to clone a hard drive between different hardware, but I imagine there might be problems.)
A better approach might be to do a clean install of ubuntu on your new hardware - that way all your new hardware will be autodetected and properly configured. Let's say your old computer is A, and your new one is B. Once you have clean ubuntu on B, connect both computers to the same network. Then you can use rcp (faster but unencrypted) or scp (encrypted but slower) to copy only your home directory from A to B. The command that you run on B will look something like this:
scp -r <user>@<ip.address.of.A>:/home/<user>/* /home/<user>/
(Note you would have to have sshd running on A to execute this command)
By copying your home directory, you will get all of your Documents and hopefully development stuff copied over. You will also get the application settings from A that are stored in your home folder in dotfiles. You will have to reinstall the software that you had on A, but with a package manager and a relatively fast internet connection, it isn't a big deal. I routinely use this approach for new installations. In fact, now I just have a dedicated hard drive partition for my home directory, and whenever I install a new distro, I simply mount that partition as my home directory. It works pretty well.
Also note that if you do decide to copy the whole drive, clonezilla is very easy to use. You basically make a live CD or USB of it like you would with ubuntu, and then when you boot using that live CD, it just takes you through a guided set of steps to copy the hard drive. I've used it two or three times to make complete backups and it's not tough at all.