DannyDeth has written
I commonly use a modfied version of GNU Netcat that I re-coded to allow for Python scripting ( just easier to do common things, this way I can save procedures I commonly use in .py modules which makes it flipping awesome and easy to extend [ it further allows me to use Python's higher-level socket interface along with C's lower-level interface to create decent exploits fast ] ).
Now that, ladies and gentlemen is the TRUE meaning of hacking right there. A true hacker takes a program and "hacks" away, breaking its usual command flow to include extras that weren't in the original design...
That there is the only thing that should ever be called hacking. Cracking is breaking in (associated with networking), hacking is changing the locks (associated with programming).