Feb 2011
Converting a PDF to Text
22/02/11 06:35
Here's an Automater service for PDF files that will turn them into rich text files. It's really just a wrapper around the "Extract PDF Text" action, but hey, now I have it right in the context menu of any PDF. I love OS X!
Convert to Rich Text Document
Convert to Rich Text Document
Trac + Git
06/02/11 07:57 Filed in: Programming
I recently needed a shared Git "server" for an iOS project since the company standard was, well, some other VCS that really only works on Windows. We could push to it through a Rube Goldberg setup of creating an archive, copying it to a network share, unzip and perform a directory compare, and then one-by-one reconciling the changes to commit.
Not a great way to work for day to day development. Se we started using local git repos and pushing/pulling to each other periodically.
That's great, but there's still value in having a remote repo that's always online and backed up and represents the most recent "truth" of the source.
Anyway, I'm rambling. After some poking around, I ran across the Trac Turnkey Linux appliance. I've used Trac before with Subversion and it's a great system for collaboration that's easy to setup, easy to use, and pretty powerful. Love it. This appliance comes preconfigured with Trac 0.11 running on Apache2 with not only Subversion, but Git, Mercurial, and Bazaar, sample project setups for each, and a script for creating new Trac projects and repos in one step.
Pure. Awesome.
Here's how we set ours up. Remember, this is inside a firewall with only trusted contributors. I wouldn't do it this way if it were more public.
1. Download the ISO and use to install a new Ubuntu server VM (512MB, 1 CPU). I elected not to use LLVM because I don't expect to add space (it's a "working" repo, not the system of record). That decision will bite me later, no doubt.
2. SSH to the new server and run "trac-initproject git my-cool-project". This creates a new Trac project named "my-cool-project" along with a matching shared, bare Git repository.
3. The URL of the Trac site is http://trac.corp.local/my-cool-project (replace the server name with yours) and the public URL of the Git repository it git://trac.corp.local/git/my-cool-project.git.
4. The location of the actual repo on the server will be /srv/repos/git/git-my-cool-project. It's configured to permit public push, but the permissions preclude it. I threw caution to the wind and just granted a+rw. The only people that could access are people that should access it anyway to permissions don't buy much in this setup.
5. I added some Trac users to /etc/trac/htpasswd (the Turnkey guys setup the server so that all of the relevent config files including project configs are linked in /etc - awesome) so that people could authenticate to Trac. Git doesn't care in this setup.
6. On each development machine, just add the public repo as "trac" and have everbody push their master to it.
7. Finally, edit the Trac wiki with Git URLs and some instructions for how to clone, push, and pull.
Maybe one day we'll go all Git and get github:fi to replace the craptastic VCS we have now. Hey, I can dream, can't I?
Not a great way to work for day to day development. Se we started using local git repos and pushing/pulling to each other periodically.
That's great, but there's still value in having a remote repo that's always online and backed up and represents the most recent "truth" of the source.
Anyway, I'm rambling. After some poking around, I ran across the Trac Turnkey Linux appliance. I've used Trac before with Subversion and it's a great system for collaboration that's easy to setup, easy to use, and pretty powerful. Love it. This appliance comes preconfigured with Trac 0.11 running on Apache2 with not only Subversion, but Git, Mercurial, and Bazaar, sample project setups for each, and a script for creating new Trac projects and repos in one step.
Pure. Awesome.
Here's how we set ours up. Remember, this is inside a firewall with only trusted contributors. I wouldn't do it this way if it were more public.
1. Download the ISO and use to install a new Ubuntu server VM (512MB, 1 CPU). I elected not to use LLVM because I don't expect to add space (it's a "working" repo, not the system of record). That decision will bite me later, no doubt.
2. SSH to the new server and run "trac-initproject git my-cool-project". This creates a new Trac project named "my-cool-project" along with a matching shared, bare Git repository.
3. The URL of the Trac site is http://trac.corp.local/my-cool-project (replace the server name with yours) and the public URL of the Git repository it git://trac.corp.local/git/my-cool-project.git.
4. The location of the actual repo on the server will be /srv/repos/git/git-my-cool-project. It's configured to permit public push, but the permissions preclude it. I threw caution to the wind and just granted a+rw. The only people that could access are people that should access it anyway to permissions don't buy much in this setup.
chmod a+rw -R /srv/repos/git/git-my-cool-project5. I added some Trac users to /etc/trac/htpasswd (the Turnkey guys setup the server so that all of the relevent config files including project configs are linked in /etc - awesome) so that people could authenticate to Trac. Git doesn't care in this setup.
6. On each development machine, just add the public repo as "trac" and have everbody push their master to it.
git remote add trac git://trac.corp.local/git/my-cool-project.gitgit push trac master7. Finally, edit the Trac wiki with Git URLs and some instructions for how to clone, push, and pull.
Maybe one day we'll go all Git and get github:fi to replace the craptastic VCS we have now. Hey, I can dream, can't I?
