How do you organize your code workspace and home folder?

I keep software I've written myself in a special directory, named after my main website - let's call it 'juggle' for the sake of argument. I'd have ~/juggle/software/ inside of which is a subdirectory for each project I write (usually managed with git) and ~/juggle/websites/ under which I have a subdirectory for each website domain, whether raw html or something like webgen or staticmatic.

I keep software I've written myself in a special directory, named after my main website - let's call it 'juggle' for the sake of argument. I'd have ~/juggle/software/ inside of which is a subdirectory for each project I write (usually managed with git) and ~/juggle/websites/ under which I have a subdirectory for each website domain, whether raw html or something like webgen or staticmatic. To help me jump between them, I use 'apparix' which ties into bash quite nicely.

$ cd ~/juggle/software/wolfsbaen $ bm # bookmarks this with apparix So now from anywhere I can do this $ to wolfsbaen For software I've downloaded, I have ~/software/ and inside that: archives - to keep downloaded source tarballs documentation - for downloaded HTML docs and PDF books hack - for throwaway projects to try new ideas or software libraries projects - for projects I collaborate in, but didn't start myself simple - for bash/python/ruby programs which can run inside their unpacked directories subversions - for all revision-control checkouts: cvs,svn,git,hg etc. Unpacked - for unpacked tarballs before I compile them I also have ~/bin for useful scripts I write and find myself using all the time. I add this to the PATH in ~/. Bashrc I don't think the rest of your questions really apply so well to me; except that with git I pretty much never have to blitz any of my workspace.

I make new branches while in the working directory, and stash recent changes if I have to switch branch suddenly. I do also keep a bare repository clone of all my own software and website source: $ git clone --bare . /srv/git/wolfsbaen.

Git I 'git push' to this at the end of every working phase. This makes /srv/git an obvious choice for backing-up.

Thanks Cathal. I am digging git. And your workflow here makes a lot of sense to me.

And thanks for the "apparix" tip. I was wondering how to do bookmarks in the command line. That answers a question I have been meaning to ask my sys admin friends.

– Gordon Potter Sep 12 '09 at 3:03 Cathal, I've been having trouble setting up Apparix on OS X. Googling brought me to your answer. Would you mind writing a quick guide?

– Jonathan Dumaine Jun 25 '10 at 4:52.

I'm not going to answer all your questions; I will say, however, that I use SVN, and I follow their conventions for projects. So I have a folder called: d:\development And inside that, all my projects are as sub-folders (maybe 20 or so). In each of them, is \trunk \branches \tags And that's it.

I have a second machine here at home at is my server (and also media center :P), and on it I have SVN running under apache, and also trac, to manage tasks and bugs in each one. Also I have CC. Net, for builds.

As far as UNIXy stuff goes, I place project folders under ~/dev. I'll usually end up checking out something from Subversion into those project folders. And what gives you the most flexibility to work on multiple projects at once?

For Web projects, maintaining a set of Apache name-based virtual hosts is extremely handy for working on multiple projects simultaneously. http://foo. Localhost/ can point to ~/dev/foo/public, http://bar.

Localhost/ -> ~/dev/bar/public, and so on. GNU Screen is also key for my local development workflow. If I need to switch gears to another project, I'll just Ctrl-a,c and have a new isolated terminal to use.

I have been using MAMP mostly on OS X. But your tip about name virtual hosts makes a lot of sense. – Gordon Potter Sep 12 '09 at 3:04.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions