My Computer Setup

I get a few questions from people asking why I use Windows Vista and not Ubuntu – I’m pretty confident using Linux and I my desktop (that I’m not using) is set up with Ubuntu. It’s a matter of personal preference, but one of the biggest reasons is it’s tablet support. I haven’t even tried using Ubuntu on this machine as I have no desire – I really think the tablet support works really well. What’s more is I really like Office 2007, the new interface takes a lot of getting used to but it does provide the interface that you need when you need it. Anyway I thought I would outline the other stuff I have installed on my machine, in roundabout order of time I spend using them.

  1. Firefox 3
    1. Firebug 1.2
    2. Prism (This is how I access GMail and Google Reader)
    3. FirePHP
  2. Eclipse
    1. PHP Development Tools
    2. Subversive
    3. JSEclipse
    4. PYDev
    5. SQL Explorer (I’ve just installed this to work on some fairly complex SQL stuff)
  3. Putty
  4. Pidgin
  5. WAMP Server
  6. Songbird (I’ve recently replaced iTunes with Songbird)
  7. Filezilla
  8. Notepad 2 (I’m seriously considering replacing this with OpenKomodo)
  9. Office 2007 (with OneNote)
  10. Firefox 2
    1. Firebug 1.0
  11. Tortoise SVN
  12. Skype

There’s a couple of important things to note about this setup, I would love to be rid of Firefox 2, Firefox 3 is so much better, however Firebug 1.2 beta really doesn’t cut it. It is certainly a lot better than it was, but I’m really hanging out for it to get a bit more stable. I think it causes a few memory leaks as well which doesn’t really help, especially when you are using Firefox all day with 20-30 tabs open.

JSEclipse is the best free/open source Javascript plugin for Eclipse. It was bought by Adobe quite some time ago and used to power the Flex development environent then they seem to have dropped development on it, it’s a little bit sad really.

I really hate the fact that I have Skype even installed on my machine, but as many people that are using Jabber/Google Talk it doesn’t even compare to the amount using Skype. I could probably get away with using Pidgin all the time, but it doesn’t support voice. It certainly looks to me as though voice support is coming, hopefully soon than later. My biggest problem with Skype is the overly closed nature of the protocol, 3rd party implementations can’t even connect to the IM service.

Installing Subversion on Windows

I’m sure there are many many guides to install Subversion, however I’m going to document the process briefly here for completeness. Installing the actually service is a fairly simple process, download the latest windows package from here. Run this like you would install any other install program. This puts all the necessary executables on your system and sets your path so that you can access these. Now to set up a repository, use the svnadmin create <reponame> This places a folder in with the new database in your current working directory. This is the basic procedure for creating any new repository, unfortunately it is inaccessible by any means other than direct file access.

For network access, there are 2 options, HTTP or Subversion’s own protocol. HTTP is the protocol generally used for the repository’s however, the svn protocol requires much less setting up. In fact, all that is needed to get it up and running is the command svnserve -r -d. This is then accessible across the network with the repository address svn://hostname/pathrelativetotherepodir. Easy!

Setting up the HTTP access is a little more complicated, there is an elaborate howto already written. So I’m just going to rush over it all. First thing’s first, download and install the Apache HTTP Server. Now you must enable the svn modules in apache, this entails copying the mod_authz_svn.so and mod_dav_svn.so modules out of the Subversion install directory and into the Apache modules directory and enabling them in the httpd.conf. This is done by adding

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

to it. While you are at it, add a line including a subversion configuration file to httpd.conf that looks like
Include c:/etc/subversion.conf
This means that any further edits to the httpd.conf regarding subversion can be performed there.

Now to put the finishing touches edit the subversion.conf file you are pointing to and add directives like the following.

<location /project1>
DAV svn
SVNPath C:/Repositories/project1

AuthType Basic
AuthName "Subversion Project1 repository"
AuthUserFile c:/etc/svn-auth-file

Require valid-user

AuthzSVNAccessFile c:/etc/svn-acl
</location>

This will set up the repository at http://localhost/project1 and give it password protected access according to an apache style password file and a subversion acl file.

Normally I would set this up to be controlled with Windows based authentication which isn’t too much of a hassle, you must download the sspi authentication module for apache and enable it in your httpd.conf. with this line
LoadModule sspi_auth_module modules/mod_auth_sspi.so
br/>
then change your subversion.conf file to this…
<location /project1>
DAV svn
SVNPath C:/Repositories/project1

# authentication
AuthName "Subversion Authentication"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain DOMAIN
SSPIOfferBasic On
Require valid-user

# authorization
AuthzSVNAccessFile c:/etc/svn-acl
</location>

Bear in mind the DOMAIN should be changed to your windows domain.

Changing the access lists is still exactly the same as it was outlined in the SVN manual however, users should be specified by their full names ie. WAKELESS\michael