June 30, 2006

ApacheCON EU 2006!

ApacheCON EU 2006 is currently on in Dublin, Ireland!

Big "Hi!" to all of my mates who are over there at the moment. ApacheCON EU 2000 in London was my first introduction to the ApacheCON's around the world, and was where I met many cool and wonderful people in the Apache community. Many of whom are still close friends today.

Hope the sessions are great and you guys have some awesome partying in Dublin! :)

Posted by crafterm at 02:45 AM | Comments (0) | TrackBack

June 27, 2006

Eclipse refactoring scripts

Just came across this interesting article describing refactoring scripts in Eclipse 3.2.

The idea seems quite cool and is meant to ease the transition within projects when refactorings are performed in separate branches, or between patches, or in 3rd party libraries, etc, forcing you to update your code due to these external refactored changes.

Essentially, refactoring scripts allow the refactor-or (ie. the person performing the refactoring) to create a script that records the process they're taking to refactor some item in their project.

Once they're done they make the script available and you're able to apply it in your environment to make the same changes. The benefit of this is that you apply the behavioural changes rather than looking always at the result.

For example if the other person had renamed a package, the refactoring script will rename all references to that package in your environment rather than you having to go through each file and fix import statements, etc. Nice idea.

Posted by crafterm at 09:34 AM | Comments (0) | TrackBack

June 22, 2006

Google Sketchup!

While catching up on old RSS posts, I came across Google Sketchup for the Mac which is a modeller for creating objects in 3d that you can then visualise, zoom in on, and see from all different angles, etc.

I thought I'd give the first tutorial a go, and wow, I'm surprised how easy it is to use to construct 3d figures. The above house took literally 5 minutes to do following the first tutorial. I'm looking forward to following through with the others. Looks like it will be perfect software for working out how all our furniture will fit best in our apartment :)

Posted by crafterm at 02:46 PM | Comments (0) | TrackBack

June 06, 2006

Installing Typo under Debian!

Last night I spent a few hours getting a Typo installation up and running on a server of ours. Typo is a Rails based blogging engine, and I wanted to take the chance to install it and see what it's like, and also learn more about Rails based applications.

Getting Typo built and deployed wasn't as easy as it could be but I made it in the end and the new weblog is up and running. I was also deploying to a Debian Sarge machine which didn't seem to be so common according to Google - most tutorials, blog posts, etc, out there seem to refer to Ubuntu, Fedora or Mac OS X - which is all fine, however I did come across a few Debian Sarge gotchas while installing.

Typo itself is available via Subversion and a released 2.6.0 product. The 2.6.0 product was released just a few months back but all of the mailing lists, wiki's, etc, say that the Subversion version is the way to go. So, subversion it was.

In terms of base packages under Sarge, to do all of this you'll need build-essential, ruby, irb, libfcgi-ruby1.8, libmysql-ruby1.8, mysql, and subversion which can all be installed via apt-get in a snap

You'll also need rubygems, and rake (installed via rubygems, and not the Debian package which doesn't seem to handle the Typo 2.6.0 migration properly).

To install rubygems:

$> wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz
$> tar xvzf rubygems-0.8.11.tgz
$> cd rubygems-0.8.11
$> sudo ruby setup.rb

and then:

$> gem update
$> gem install rake

To get a hold of Typo itself, one has to check it out over the internet using the following command:

svn checkout svn://typosphere.org/typo/trunk typo

Once that's finished, you'll need to create a new database, and specify the credentials in the typo/config/database.yml configuration file.

login: &login
adapter: mysql
host: localhost
username: someuser
password: somepassword

production:
database: ty_host
<<: *login

After creating the database and an account to access it with appropriate permissions, you'll then need to create all of the tables/etc that Typo needs to operate.

$> mysql -p -u user database < db/schema.mysql.sql
Password:

As I found out, if you were to continue here and complete the installation of Typo - things won't work, as changes have been made to the database schema between 2.6.0 and what's in Subversion - luckily though there's a set of migration scripts that migrate the 2.6.0 schema to the new format required. For this you'll need Rake, and for some strange reason the Debian installed Rake package fails to work properly - so you'll need the gem installed Rake.

$> rake migrate RAILS_ENV=production

Ok, once this has all been done, you should be able to run a standalone installation of Typo by running:

$> script/server -e production

Which will run a server on port 3000 of your server. Connecting to this, ie: http://yourhost:3000/ will let you create an account and start blogging.

In a production environment though, you're more likely to want to deploy Typo in an Apache2 or similar environment.

To do this you'll need apache2 installed (apt get install apache-mpm-prefork, etc) and fcgid, an alternative to fastcgi (apt-get install libapache2-mod-fcgid). After installing fcgid check /etc/apache2/mods-enabled to see if rewrite and fcgid are enabled, if they aren't you'll need to use a2enmod to enable them.

Then you'll need to mount your Typo installation somewhere in your Apache server space by editing your /etc/apache2/sites-enabled/your-sitename file:

Alias /blog "/path-to/typo/public/"
<Directory "/path-to/typo/public/">
Options ExecCGI +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

This mounts your Typo installation under http://yourhost/blog/.

You'll also need to modify your typo/public/.htaccess file so that:

AddHandler fastcgi-script .fcgi

becomes:

AddHandler fcgid-script .fcgi

and that

RewriteBase /blog

is specified if you're mounting your Typo installation somewhere else than under your server root.

The final step is to ensure that you're running Typo in production, which is specified in typo/config/environment.rb:

ENV['RAILS_ENV'] = 'production'

Restart apache (/etc/init.d/apache2 restart) and you should be all good to go.

As for the blogging engine itself, it seems quite nice with some flash GUI and user interaction. I'm still playing around with it so I'll write another post about Typo itself once I've been able to use it some more. Happy Typo installing :)

Posted by crafterm at 12:29 PM | Comments (0) | TrackBack