title: Linux programming environment configuration
body: <p>The other day I set up an Ubuntu installation in a VM and went to gather the tools and libraries I figured I would need for programming mostly in C++.</p>
  
  <p>I had a problem though, where to put things such as 3rd party source libraries, etc. From what I can gather, a lot of source distributions assume that a lot of their dependencies are already installed in a certain location and assume that a lot of tools are also installed in particular locations.</p>
  
  <p>To give an example of what I currently do on Windows, is I have a directory where I keep all  source code. <code>C:\code</code>. In this directory, I have a directory for all 3rd party libraries, <code>c:\code\thirdparty\libs</code>. This way I can easily set up relative paths for all of the dependencies of any projects I write or come across and wish to compile. The reason I am interested in setting up a linux programming environment is that it seems that both the tool and library dependency problems have been solved efficiently making it easy for example to build OpenSSH from source.</p>
  
  <p>So what I was looking for was a decent convention I can use when I am trying to organize my projects and libraries on linux that is easy to maintain and easy to use.</p>