I want to be able to write programs (tools) for my own needs, and I want to tell the computer what to do, not to be strict to what other's told it to do.
I have a good knowledge of Linux & Windows, I am also have a bit of Python in my head, but I think that I need some guidance on what languages or practices to invest my time into in order to be able to tell the computer what to do.
I know there is a lot of posts similar to what I am asking here, but there is a big difference and so I have opened this thread. My goal isn't to work at a company, so I don't need to learn how to work as a team, I don't need to learn as much how to maintain my code nor how to write it nice for others to understand (I know it is important but not for me).
I don't want to learn it as a profession, but as a serious hobby (you can call it hacking as long as you know what cracking means), my end goal is to be able to understand other's people code, and to write my own code with a lot of deep knowledge of the ins and outs of the computer system in order to gain from it as much as I can.
So in essence my questions are:
How can I understand, in depth, computers, in order to exploit them as much as I can?
What should I learn?
Are there any books that I should read?
Is it possible to do this, or do I have to learn every aspect of programming?