<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DaveDevelopment &#187; Linux</title>
	<atom:link href="http://www.davedevelopment.co.uk/archive/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davedevelopment.co.uk</link>
	<description>Dave Marshall</description>
	<lastBuildDate>Tue, 01 Jun 2010 13:18:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP Versions in popular Linux Distributions</title>
		<link>http://www.davedevelopment.co.uk/2008/05/08/php-versions-in-popular-linux-distributions/</link>
		<comments>http://www.davedevelopment.co.uk/2008/05/08/php-versions-in-popular-linux-distributions/#comments</comments>
		<pubDate>Thu, 08 May 2008 19:33:40 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php linux sles version]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/?p=58</guid>
		<description><![CDATA[I had a problem today at work, I&#8217;ve been coding exclusively in PHP5.2 since it was available and most of the servers I&#8217;ve been working for are Debian or Ubuntu based, so I didn&#8217;t have any problems until this afternoon. We&#8217;ve recently bought a SAN solution from Dell and to gain support we bought two [...]]]></description>
			<content:encoded><![CDATA[<p>I had a problem today at work, I&#8217;ve been coding exclusively in PHP5.2 since it was available and most of the servers I&#8217;ve been working for are Debian or Ubuntu based, so I didn&#8217;t have any problems until this afternoon. We&#8217;ve recently bought a SAN solution from Dell and to gain support we bought two new servers, both with <a href="http://www.novell.com/products/server/">SUSE Enterprise Linux</a> installed, which only comes with PHP 5.1.2. That particular version came out in January 2006. Since then I&#8217;ve been using the new <a href="http://uk.php.net/manual/en/function.date-create.php">DateTime</a> object, the <a href="http://uk.php.net/filter">filter</a> functions, <a href="http://uk2.php.net/manual/en/function.memory-get-peak-usage.php">memory_get_peak_usage()</a> and <a href="http://uk2.php.net/manual/en/function.sys-get-temp-dir.php">sys_get_temp_dir()</a>. And they&#8217;re only the problems I noticed. We could install from source, but then we lose the subtle benefits of package management.</p>
<p>So, this lead to me wondering what LAMP versions the popular distros are using, with the help of <a href="http://distrowatch.com">DistroWatch</a>, I compiled this table. It only shows the community/open source distributions, the commercials counterparts for each are usually at least a year behind, guaranteeing support but only for out of date versions.</p>
<table>
<tr>
<th>Distribution</th>
<th>Version</th>
<th>Apache</th>
<th>MySQL</th>
<th>PHP</th>
</tr>
<tr>
<td>Ubuntu</td>
<td>8.04 LTS Hardy Heron</td>
<td>2.2.8</td>
<td>5.0.51a</td>
<td>5.2.4</td>
</tr>
<tr>
<td>openSUSE</td>
<td>10.3</td>
<td>2.2.4</td>
<td>5.0.45</td>
<td>5.2.4</td>
</tr>
<tr>
<td>Fedora</td>
<td>8 Werewolf</td>
<td>2.2.6</td>
<td>5.0.45</td>
<td>5.2.4</td>
</tr>
<tr>
<td>Debian GNU/Linux</td>
<td>4.0 Etch</td>
<td>2.2.3</td>
<td>5.0.32
         </td>
<td>5.2.0</td>
</tr>
<tr>
<td>Mandriva Linux</td>
<td>2008.1</td>
<td>2.2.8</td>
<td>5.0.51a</td>
<td>5.2.5</td>
</tr>
<tr>
<td>Knoppix</td>
<td>5.3.1</td>
<td>2.2.8</td>
<td>5.0.51a</td>
<td>5.2.3</td>
</tr>
<tr>
<td>Slackware Linux</td>
<td>12.0</td>
<td>2.2.4</td>
<td>5.0.37</td>
<td>5.2.3</td>
</tr>
<tr>
<td>Gentoo Linux</td>
<td>2007.0</td>
<td>2.0.58</td>
<td>5.0.38</td>
<td>5.2.2</td>
</tr>
<tr>
<td>FreeBSD</td>
<td>7.0 RELEASE</td>
<td>2.2.6</td>
<td>5.0.45</td>
<td>5.2.5</td>
</tr>
</table>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;title=PHP%20Versions%20in%20popular%20Linux%20Distributions&amp;bodytext=I%20had%20a%20problem%20today%20at%20work%2C%20I%27ve%20been%20coding%20exclusively%20in%20PHP5.2%20since%20it%20was%20available%20and%20most%20of%20the%20servers%20I%27ve%20been%20working%20for%20are%20Debian%20or%20Ubuntu%20based%2C%20so%20I%20didn%27t%20have%20any%20problems%20until%20this%20afternoon.%20We%27ve%20recently%20bought%20a%20SAN%20sol" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;title=PHP%20Versions%20in%20popular%20Linux%20Distributions&amp;notes=I%20had%20a%20problem%20today%20at%20work%2C%20I%27ve%20been%20coding%20exclusively%20in%20PHP5.2%20since%20it%20was%20available%20and%20most%20of%20the%20servers%20I%27ve%20been%20working%20for%20are%20Debian%20or%20Ubuntu%20based%2C%20so%20I%20didn%27t%20have%20any%20problems%20until%20this%20afternoon.%20We%27ve%20recently%20bought%20a%20SAN%20sol" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;h=PHP%20Versions%20in%20popular%20Linux%20Distributions" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;title=PHP%20Versions%20in%20popular%20Linux%20Distributions" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;title=PHP%20Versions%20in%20popular%20Linux%20Distributions" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F&amp;title=PHP%20Versions%20in%20popular%20Linux%20Distributions" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F05%2F08%2Fphp-versions-in-popular-linux-distributions%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2008/05/08/php-versions-in-popular-linux-distributions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Simple database migrations with Phing and DbDeploy</title>
		<link>http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/</link>
		<comments>http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 16:20:08 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dbdeploy]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[migrations]]></category>
		<category><![CDATA[phing]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/?p=53</guid>
		<description><![CDATA[Introduction
This How To will introduce some simple database migrations to your PHP application. Ruby on Rails is a popular web application framework, that provides a method of migrating (upgrading) the applications database programatically, keeping the database schema essentially version controlled. This allows individual developers to update their working databases and the databases on testing, staging [...]]]></description>
			<content:encoded><![CDATA[<h4>Introduction</h4>
<p>This How To will introduce some simple database migrations to your PHP application. <a href="http://www.rubyonrails.org/">Ruby on Rails</a> is a popular <a href="http://en.wikipedia.org/wiki/Web_application_framework">web application framework</a>, that provides a method of migrating (upgrading) the applications database programatically, keeping the database schema essentially version controlled. This allows individual developers to update their working databases and the databases on testing, staging or production machines to be updated with new versions of applications. The <a href="http://www.cakephp.org">CakePHP</a> framework has recently developed a <a href="http://bakery.cakephp.org/articles/view/cake-db-migrations-v2-1">migrations library</a> simliar to rails, but this article focuses on using seperate tools to run database migrations, a build tool called <a href="http://phing.info">Phing</a>, along with a method for creating database migrations, <a href="http://dbdeploy.com/">dbdeploy</a>.</p>
<h4>Install Phing</h4>
<p>I always use the beta or release candidate of phing and for the purposes of this article I suggest you do too. The best way to download and install phing is using <a href="http://pear.php.net/">PEAR</a>. This can be done on Linux or Windows assuming you have the pear script in your PATH with three shell commands.</p>
<pre class="bash shell">
shell> pear channel-discover pear.phing.info
shell> pear config-set preferred_state beta
shell> pear install phing/phing
</pre>
<h4>Example Application structure</h4>
<p>As an example, we&#8217;re going to develop a simple application with the following directory structure.</p>
<pre>
example/
 |-- db/
 |   `-- deltas/
 |-- deploy/
 |   `-- scripts/
 |-- library/
 `-- public/
</pre>
<p>The <tt>db</tt> directory contains sql files for using and manipulating our database and<br />
the <tt>deploy</tt> directory contains our build scripts that set the migrations in motion. The library directory contains our application code and the <tt>public</tt> folder will contain scripts and files accessible directly from the web, but will not be the focus of this article.</p>
<h4>Build scripts</h4>
<p>This section shows you how to develop the build scripts that will run the database migrations. The first file we need to create is a simple configuration file and should be fairly self explanatory. The file is written as <tt>key=value</tt>, lines beginning with a <tt>#</tt> are comments. Open your editor and save the following text as <tt>deploy/build.properties</tt>.</p>
<pre>
# Property files contain key/value pairs
#key=value

# This dir must contain the local application
build.dir=../

# Credentials for the database migrations
db.host=localhost
db.user=user
db.pass=password
db.name=example

# paths to programs
progs.mysql=/usr/bin/mysql
</pre>
<p>The next file we are going to create is the <tt>deploy/build.xml</tt> file. This is the file that tells Phing what we want it to do. I&#8217;m not going to go into too much detail describing each part of the build file, there are some comments, but you should consult the <a href="http://phing.info/docs/guide/current/">Phing Documentation</a> for further details and enhancements.</p>
<pre name="code" class="xml">
&lt;?xml version=&quot;1.0&quot; ?&gt;
&lt;project name=&quot;PurpleMonkey&quot; basedir=&quot;.&quot; default=&quot;build&quot;&gt;

    &lt;!-- Sets the DSTAMP, TSTAMP and TODAY properties --&gt;
    &lt;tstamp/&gt;

    &lt;!-- Load our configuration --&gt;
    &lt;property file=&quot;./build.properties&quot; /&gt;

    &lt;!-- create our migration task --&gt;
    &lt;target name=&quot;migrate&quot; description=&quot;Database Migrations&quot;&gt;  

        &lt;!-- load the dbdeploy task --&gt;
        &lt;taskdef name=&quot;dbdeploy&quot; classname=&quot;phing.tasks.ext.dbdeploy.DbDeployTask&quot;/&gt;

        &lt;!-- these two filenames will contain the generated SQL to do the deploy and roll it back--&gt;
        &lt;property name=&quot;build.dbdeploy.deployfile&quot; value=&quot;deploy/scripts/deploy-${DSTAMP}${TSTAMP}.sql&quot; /&gt;
        &lt;property name=&quot;build.dbdeploy.undofile&quot; value=&quot;deploy/scripts/undo-${DSTAMP}${TSTAMP}.sql&quot; /&gt;

        &lt;!-- generate the deployment scripts --&gt;
        &lt;dbdeploy
            url=&quot;mysql:host=${db.host};dbname=${db.name}&quot;
            userid=&quot;${db.user}&quot;
            password=&quot;${db.pass}&quot;
            dir=&quot;${build.dir}/db/deltas&quot;
            outputfile=&quot;${build.dir}/${build.dbdeploy.deployfile}&quot;
            undooutputfile=&quot;${build.dir}/${build.dbdeploy.undofile}&quot; /&gt;

        &lt;!-- execute the SQL - Use mysql command line to avoid trouble with large files or many statements and PDO --&gt;
        &lt;exec
            command=&quot;${progs.mysql} -h${db.host} -u${db.user} -p${db.pass} ${db.name} &amp;lt; ${build.dbdeploy.deployfile}&quot;
            dir=&quot;${build.dir}&quot;
            checkreturn=&quot;true&quot; /&gt;
    &lt;/target&gt;
&lt;/project&gt;
</pre>
<p>That&#8217;s essentially all the magic we need. Now we just need to create our database.</p>
<h4>Writing dbdeploy delta scripts</h4>
<p>We haven&#8217;t actually created our database, so rather than create it the traditional way, we will actually use the migrations to create the initial schema. We&#8217;ve not actually decided what our example application does yet, but seeing as most tutorials make blogs, why don&#8217;t we give that a bash. We&#8217;ll start simple, one table with three columns called <tt>post</tt>.</p>
<table>
<tr>
<th>Field</th>
<th>Type</th>
<th>Comment</th>
</tr>
<tr>
<td>title</td>
<td>VARCHAR(255)</td>
<td>The title of our post</td>
</tr>
<tr>
<td>time_created</td>
<td>DATETIME</td>
<td>The time we created our post</td>
</tr>
<tr>
<td>content</td>
<td>MEDIUMTEXT</td>
<td>The content of our post</td>
</tr>
</table>
<p>Dbdeploy works by creating numbered delta files. Each delta files contains simple SQL to both deploy the change and roll it back. The basic layout of a delta file is like so.</p>
<pre name="code" class="sql">
--//

-- Run SQL to do the changes

--//@UNDO

-- RUN SQL to undo the changes

--//
</pre>
<p>We are creating our initial schema, so put the following content in <tt>db/deltas/1-create_initial_schema.sql</tt></p>
<pre name="code" class="sql">
--//

CREATE TABLE `post` (
    `title` VARCHAR(255),
    `time_created` DATETIME,
    `content` MEDIUMTEXT
);

--//@UNDO

DROP TABLE `post`;

--//
</pre>
<h4>Migrating the database</h4>
<p>We are one step away from running our first migration. To keep track of the current version of the database, dbdeploy requires a table in the database. This is the only time we will have to interact with the mysql client directly.</p>
<pre class="shell bash">
shell> mysql -hlocalhost -uroot -ppassword example
mysql> CREATE TABLE changelog (
  change_number BIGINT NOT NULL,
  delta_set VARCHAR(10) NOT NULL,
  start_dt TIMESTAMP NOT NULL,
  complete_dt TIMESTAMP NULL,
  applied_by VARCHAR(100) NOT NULL,
  description VARCHAR(500) NOT NULL
);
mysql> ALTER TABLE changelog ADD CONSTRAINT Pkchangelog PRIMARY KEY (change_number, delta_set);
</pre>
<p>We are now ready to run our first migration and create the initial schema for our application.</p>
<pre>
shell>cd deploy
shell>phing migrate
</pre>
<p>All being well, we now have a posts table in our database. But what about an author for our blog posts? We&#8217;ll have to add another table and a foreign key from the post table to author table. To do this we create another delta, we call this one <tt>db/deltas/2-create_author_and_link_to_post.sql</tt></p>
<pre name="code" class="sql">
--//

CREATE TABLE `author` (
    `author_id` INT(10) unsigned auto_increment,
    `name` VARCHAR(255),
    PRIMARY KEY (`author_id`)
);

ALTER TABLE `post` ADD `author_id` INT(10) unsigned NULL;

--//@UNDO

ALTER TABLE `post` DROP `author_id`;

DROP TABLE `author`;

--//
</pre>
</p>
<p>Run our migrations again.</p>
<pre class="shell bash">
shell> cd deploy
shell> phing migrate
</pre>
<h4>Conclusion</h4>
<p>That&#8217;s pretty much it, you&#8217;ve seen how to create database deltas and use them to migrate your database, if you can&#8217;t be bothered to copy and paste things to try for yourself, download the <a href="/files/example_application.zip">example application</a>.</p>
<p>There are plenty of caveats when it comes to version controlling databases, especially if you branch and merge your application code, some are <a href="http://dbdeploy.com/documentation/getting-started/rules-for-using-dbdeploy/">detailed</a> in the dbdeploy documentation</p>
<p>This tutorial is probably incomplete or wrong in plenty of ways, if you think you have something to point out, please leave your comments below</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;title=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy&amp;bodytext=Introduction%0D%0AThis%20How%20To%20will%20introduce%20some%20simple%20database%20migrations%20to%20your%20PHP%20application.%20Ruby%20on%20Rails%20is%20a%20popular%20web%20application%20framework%2C%20that%20provides%20a%20method%20of%20migrating%20%28upgrading%29%20the%20applications%20database%20programatically%2C%20keeping" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;title=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy&amp;notes=Introduction%0D%0AThis%20How%20To%20will%20introduce%20some%20simple%20database%20migrations%20to%20your%20PHP%20application.%20Ruby%20on%20Rails%20is%20a%20popular%20web%20application%20framework%2C%20that%20provides%20a%20method%20of%20migrating%20%28upgrading%29%20the%20applications%20database%20programatically%2C%20keeping" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;h=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;title=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;title=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F&amp;title=How%20To%3A%20Simple%20database%20migrations%20with%20Phing%20and%20DbDeploy" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F04%2F14%2Fhow-to-simple-database-migrations-with-phing-and-dbdeploy%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Linux/PHP one liner &#8211; Syntax check all files.</title>
		<link>http://www.davedevelopment.co.uk/2008/03/25/linuxphp-one-liner-syntax-check-all-files/</link>
		<comments>http://www.davedevelopment.co.uk/2008/03/25/linuxphp-one-liner-syntax-check-all-files/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 23:41:21 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[one liner]]></category>
		<category><![CDATA[syntax check]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/2008/03/25/linuxphp-one-liner-syntax-check-all-files/</guid>
		<description><![CDATA[Here&#8217;s a simple one liner you can use to syntax check all php files in your working directory.
find . -type f -name "*.php" -exec php -l {} \; &#124; grep -v 'No syntax errors'
For those not familiar with the programs used, it basically reads as&#8230;. Find all files that end in &#8216;.php&#8217; and with each [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a simple one liner you can use to syntax check all php files in your working directory.</p>
<pre class="code">find . -type f -name "*.php" -exec php -l {} \; | grep -v 'No syntax errors'</pre>
<p>For those not familiar with the programs used, it basically reads as&#8230;. Find all files that end in &#8216;.php&#8217; and with each of those files run <tt>php -l</tt>. This is then put through a pipe to the <tt>grep -v</tt>, which filters out all files that are syntactically correct.</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;title=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files.&amp;bodytext=Here%27s%20a%20simple%20one%20liner%20you%20can%20use%20to%20syntax%20check%20all%20php%20files%20in%20your%20working%20directory.%0D%0Afind%20.%20-type%20f%20-name%20%22%2A.php%22%20-exec%20php%20-l%20%7B%7D%20%5C%3B%20%7C%20grep%20-v%20%27No%20syntax%20errors%27%0D%0AFor%20those%20not%20familiar%20with%20the%20programs%20used%2C%20it%20basically%20reads%20as....%20Fin" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;title=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files.&amp;notes=Here%27s%20a%20simple%20one%20liner%20you%20can%20use%20to%20syntax%20check%20all%20php%20files%20in%20your%20working%20directory.%0D%0Afind%20.%20-type%20f%20-name%20%22%2A.php%22%20-exec%20php%20-l%20%7B%7D%20%5C%3B%20%7C%20grep%20-v%20%27No%20syntax%20errors%27%0D%0AFor%20those%20not%20familiar%20with%20the%20programs%20used%2C%20it%20basically%20reads%20as....%20Fin" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;h=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files." title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;title=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files." title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;title=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files." title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F&amp;title=Linux%2FPHP%20one%20liner%20-%20Syntax%20check%20all%20files." title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2008%2F03%2F25%2Flinuxphp-one-liner-syntax-check-all-files%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2008/03/25/linuxphp-one-liner-syntax-check-all-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Desktop switch to Ubuntu</title>
		<link>http://www.davedevelopment.co.uk/2006/12/19/desktop-switch-to-ubuntu/</link>
		<comments>http://www.davedevelopment.co.uk/2006/12/19/desktop-switch-to-ubuntu/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 00:19:06 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/2006/12/19/desktop-switch-to-ubuntu/</guid>
		<description><![CDATA[Just a quick note, I&#8217;ve recently moved from Gentoo to Ubuntu on my desktop machine at home. I had a few problems with my Gentoo install and while I find Gentoo great for learning the ins and outs of things, as I do more and more freelance work, I need a OS environment that&#8217;s not [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note, I&#8217;ve recently moved from <a href="http://www.gentoo.org" title="Gentoo Linux">Gentoo</a> to <a href="http://www.ubuntu.org" title="Ubuntu Linux">Ubuntu</a> on my desktop machine at home. I had a few problems with my Gentoo install and while I find Gentoo great for learning the ins and outs of things, as I do more and more freelance work, I need a OS environment that&#8217;s not going to let me down. My point being environment, Gentoo is more than capable of being extremely stable, but it takes a lot more knowledge to get it and keep it stable. Whilst I was happy learning and taking my time before, things need to happen a little more urgently now. </p>
<p>I chose Ubuntu mainly because I run <a href="http://www.debian.org" title="Debian GNU Linux">Debian</a> on my dedicated servers and am already familiar with the package management, but also because I wanted to see what the fuss is a bout. I&#8217;m very pleased so far. I&#8217;m running <a href="http://www.getfirefox.com" title="Mozilla Firefox">Mozilla Firefox</a>, <a href="http://www.mozilla.com/en-US/thunderbird/" title="Mozilla Thunderbird">Mozilla Thunderbird</a>, <a href="http://www.gnucash.org/" title="GNUCash">GNUCash</a>, <a href="http://www.openoffice.org" title="OpenOffice.org">OpenOffice.org</a>, <a href="http://amarok.kde.org/" title="Amarok">Amarok</a> and <a href="http://ktorrent.org/" title="KTorrent">KTorrent</a> day to day, the latter two despite using <a href="http://www.gnome.org/" title="GNOME">GNOME</a> for my desktop.</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;title=Desktop%20switch%20to%20Ubuntu&amp;bodytext=Just%20a%20quick%20note%2C%20I%27ve%20recently%20moved%20from%20Gentoo%20to%20Ubuntu%20on%20my%20desktop%20machine%20at%20home.%20I%20had%20a%20few%20problems%20with%20my%20Gentoo%20install%20and%20while%20I%20find%20Gentoo%20great%20for%20learning%20the%20ins%20and%20outs%20of%20things%2C%20as%20I%20do%20more%20and%20more%20freelance%20work%2C%20I%20nee" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;title=Desktop%20switch%20to%20Ubuntu&amp;notes=Just%20a%20quick%20note%2C%20I%27ve%20recently%20moved%20from%20Gentoo%20to%20Ubuntu%20on%20my%20desktop%20machine%20at%20home.%20I%20had%20a%20few%20problems%20with%20my%20Gentoo%20install%20and%20while%20I%20find%20Gentoo%20great%20for%20learning%20the%20ins%20and%20outs%20of%20things%2C%20as%20I%20do%20more%20and%20more%20freelance%20work%2C%20I%20nee" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;h=Desktop%20switch%20to%20Ubuntu" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;title=Desktop%20switch%20to%20Ubuntu" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;title=Desktop%20switch%20to%20Ubuntu" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F&amp;title=Desktop%20switch%20to%20Ubuntu" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F12%2F19%2Fdesktop-switch-to-ubuntu%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/12/19/desktop-switch-to-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Cygwin here shortcut, Explorer here shortcut</title>
		<link>http://www.davedevelopment.co.uk/2006/10/19/quick-tip-cygwin-here-shortcut-explorer-here-shortcut-2/</link>
		<comments>http://www.davedevelopment.co.uk/2006/10/19/quick-tip-cygwin-here-shortcut-explorer-here-shortcut-2/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 11:53:50 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/2006/10/19/quick-tip-cygwin-here-shortcut-explorer-here-shortcut-2/</guid>
		<description><![CDATA[Thanks to this mailing list post I now have a &#8216;Bash here&#8217; option in my windows explorer context menu for folders and drives. Simply add this registry script to the windows registry.
Thanks to my self and this little script, I can open a &#8216;windows explorer window here&#8217; from within cygwin.
#! /bin/bash
PWD=`pwd`
PATH=`cygpath -w $PWD`
/cygdrive/c/WINDOWS/explorer.exe $PATH





	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://www.cygwin.com/ml/cygwin/2004-06/msg00201.html">this mailing list post</a> I now have a &#8216;Bash here&#8217; option in my windows explorer context menu for folders and drives. Simply add <a href="/files/scripts/bash_here.reg">this registry script</a> to the windows registry.</p>
<p>Thanks to my self and this little script, I can open a &#8216;windows explorer window here&#8217; from within cygwin.</p>
<pre class="code">#! /bin/bash
PWD=`pwd`
PATH=`cygpath -w $PWD`
/cygdrive/c/WINDOWS/explorer.exe $PATH
</pre>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;title=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut&amp;bodytext=Thanks%20to%20this%20mailing%20list%20post%20I%20now%20have%20a%20%27Bash%20here%27%20option%20in%20my%20windows%20explorer%20context%20menu%20for%20folders%20and%20drives.%20Simply%20add%20this%20registry%20script%20to%20the%20windows%20registry.Thanks%20to%20my%20self%20and%20this%20little%20script%2C%20I%20can%20open%20a%20%27windows%20explo" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;title=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut&amp;notes=Thanks%20to%20this%20mailing%20list%20post%20I%20now%20have%20a%20%27Bash%20here%27%20option%20in%20my%20windows%20explorer%20context%20menu%20for%20folders%20and%20drives.%20Simply%20add%20this%20registry%20script%20to%20the%20windows%20registry.Thanks%20to%20my%20self%20and%20this%20little%20script%2C%20I%20can%20open%20a%20%27windows%20explo" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;h=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;title=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;title=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F&amp;title=Quick%20Tip%3A%20Cygwin%20here%20shortcut%2C%20Explorer%20here%20shortcut" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F10%2F19%2Fquick-tip-cygwin-here-shortcut-explorer-here-shortcut-2%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/10/19/quick-tip-cygwin-here-shortcut-explorer-here-shortcut-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails &#8211; First Impressions</title>
		<link>http://www.davedevelopment.co.uk/2006/08/28/ruby-on-rails-first-impressions/</link>
		<comments>http://www.davedevelopment.co.uk/2006/08/28/ruby-on-rails-first-impressions/#comments</comments>
		<pubDate>Mon, 28 Aug 2006 18:29:15 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/2006/08/28/ruby-on-rails-first-impressions/</guid>
		<description><![CDATA[I&#8217;ve finally gotten around to finishing the basic design on the Broadband affiliate site project I&#8217;ve had ongoing for a while and figured it would be nice to have a backend to add/remove, de-activate all the different packages etc. So, I decided to go crazy and have a look at Ruby on Rails.
Now I&#8217;m not [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally gotten around to finishing the basic design on the Broadband affiliate site project I&#8217;ve had ongoing for a while and figured it would be nice to have a backend to add/remove, de-activate all the different packages etc. So, I decided to go crazy and have a look at <a href="http://www.rubyonrails.org/">Ruby on Rails</a>.</p>
<p>Now I&#8217;m not extremely well versed with patterns and so on, but I have a decent understanding of the MVC style architecture that seems to be popular these days and I&#8217;ve seen a few tutorials on <a href="http://www.symfony-project.com/">Symfony</a>, a PHP 5 web framework which I believe is fairly similar in nature to Rails, so I figured I&#8217;d get along okay. I feel I was pretty right, in a few hours over today and yesterday I&#8217;ve come out with a working database driven website and administration area running on Ruby on Rails.</p>
<p>Running <a href="http://www.gentoo.org">Gentoo</a>, I always try and use the portage package management tool,  to be double sure on what I needed to do I had a little search on google which led me to <a href="http://wiki.rubyonrails.org/rails/pages/HowtoInstallOnGentooWithApache">this page</a>, and these commands.</p>
<pre class="code">
echo "dev-ruby/rails mysql fastcgi" >> /etc/portage/package.use
emerge -av rails
rails /path/to/app
</pre>
<p>That all went well and I was sat looking at a clean rails application. I fired up the builtin webserver, <a href="http://www.webrick.org/">WEBrick</a>, it worked, so I closed it again. Seeing as I use Apache on all my servers, I wanted to use it for the development aswell. I&#8217;ve never used FastCGI before, but what do you know there was an example virtual host definition in the rails <tt>README</tt> file.</p>
<pre class="code">
  &lt;VirtualHost *:80&gt;
    ServerName rails
    DocumentRoot /path/application/public/
    ErrorLog /path/application/log/server.log

    &lt;Directory /path/application/public/&gt;
      Options ExecCGI FollowSymLinks
      AllowOverride all
      Allow from all
      Order allow,deny
    &lt;/Directory&gt;
  &lt;/VirtualHost&gt;
</pre>
<p>Once again, this worked a treat. I then set about creating my application, which by enlarge went along without many flaws, using a combination of the excellent <a href="http://api.rubyonrails.org/">Rails API</a>, this <a href="http://media.rubyonrails.org/video/rails_take2_with_sound.mov"><em>Create a weblog in 15 minutes</em></a> screencast and <a href="http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html">Rolling with Ruby on Rails</a> as guidance. The biggest problem I had was creating initially trying to create the scaffolds. Not knowing RoR&#8217;s naming conventions, I&#8217;d foolishly named my database tables in the singular form, ie provider rather than providers. After overcoming this, I rolled on pretty nicely.</p>
<p>Using <a href="http://wiki.rubyonrails.org/rails/pages/HowToQuicklyDoAuthenticationWithLoginGenerator">this page</a> as guidance I used the login_generator to create a simple admin area, and the scaffolding stuff filled most of the admin pages for me, just a few tweaks here and there were required. The public face was even easier, basically allowing a few different ways to filter the list of broadband packages through one action, &#8216;list&#8217;. </p>
<p>As far as the language Ruby itself goes, I&#8217;ve barely learnt anything, basically because Rails does it all for me. The most complicated things I did code wise, was using a <tt>case</tt> statement to change the filtering on the public packages page and this simple function for turning bytes into a more readable form.</p>
<pre class="code">
        def human_readable(number)
                count = 0
                while number/1024 > 1
                        number = number/1024
                        count += 1
                end

                iec = ['', 'K', 'M', 'G', 'T']
                return number.to_s + iec[count]
        end
</pre>
<p>My only gripe with this so far, is the speed. It does take forever to generate these simple pages, the built in webserver does seem to be a shade quicker, but I&#8217;d still rather use apache. I&#8217;m sure there&#8217;ll be some tweaks I can make to speed the FastCGI module up, but there&#8217;s no rush for that now.</p>
<p>Hopefully I&#8217;ll signup for a few affiliate programs and launch the site properly within the next few days, I don&#8217;t expect to make a fortune but it&#8217;s been a good little learning utility so far and I hope to use it to learn a few things about affiliate marketing.</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;title=Ruby%20on%20Rails%20-%20First%20Impressions&amp;bodytext=I%27ve%20finally%20gotten%20around%20to%20finishing%20the%20basic%20design%20on%20the%20Broadband%20affiliate%20site%20project%20I%27ve%20had%20ongoing%20for%20a%20while%20and%20figured%20it%20would%20be%20nice%20to%20have%20a%20backend%20to%20add%2Fremove%2C%20de-activate%20all%20the%20different%20packages%20etc.%20So%2C%20I%20decided%20to%20g" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;title=Ruby%20on%20Rails%20-%20First%20Impressions&amp;notes=I%27ve%20finally%20gotten%20around%20to%20finishing%20the%20basic%20design%20on%20the%20Broadband%20affiliate%20site%20project%20I%27ve%20had%20ongoing%20for%20a%20while%20and%20figured%20it%20would%20be%20nice%20to%20have%20a%20backend%20to%20add%2Fremove%2C%20de-activate%20all%20the%20different%20packages%20etc.%20So%2C%20I%20decided%20to%20g" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;h=Ruby%20on%20Rails%20-%20First%20Impressions" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;title=Ruby%20on%20Rails%20-%20First%20Impressions" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;title=Ruby%20on%20Rails%20-%20First%20Impressions" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F&amp;title=Ruby%20on%20Rails%20-%20First%20Impressions" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F08%2F28%2Fruby-on-rails-first-impressions%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/08/28/ruby-on-rails-first-impressions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://media.rubyonrails.org/video/rails_take2_with_sound.mov" length="54364199" type="video/quicktime" />
		</item>
		<item>
		<title>DaveProxy 3.0</title>
		<link>http://www.davedevelopment.co.uk/2006/05/26/daveproxy-30/</link>
		<comments>http://www.davedevelopment.co.uk/2006/05/26/daveproxy-30/#comments</comments>
		<pubDate>Fri, 26 May 2006 15:43:27 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/2006/05/26/daveproxy-30/</guid>
		<description><![CDATA[Well then, a few months down the road and I&#8217;ve hopefully made a few more improvements to DaveProxy.
First off is some modifications to the CGIProxy script, thanks to the guys over at Proxy Society. It basically allows me to control which type of files can be accessed through the proxy, based on the file extension.
I [...]]]></description>
			<content:encoded><![CDATA[<p>Well then, a few months down the road and I&#8217;ve hopefully made a few more improvements to DaveProxy.</p>
<p>First off is some modifications to the CGIProxy script, thanks to the guys over at <a href="http://proxysociety.com/">Proxy Society</a>. It basically allows me to control which type of files can be accessed through the proxy, based on the file extension.</p>
<p>I did have <a href="http://www.squid.org">Squid</a> running as a httpd accelerator for a while, but in the end I decided that the benefits were not really worth the hassle. On the other hand, I can see where this type of setup could prove very useful, particularly with other CGI scripts, just not proxy one&#8217;s. </p>
<p>I also started rotating the cgi-bin folder by adding a random number to the end, changing all the configuration scripts and the index page of the site every two hours. This certainly stopped a lot of hotlinking, but stopped people from adding favourites through the site and also any incoming traffic from <a href="http://proxy.org">Proxy.org</a>. I also tried using apache to deny any requests without referers, this worked well for a short time&#8230;</p>
<p>The site had some major downtime recently and although I&#8217;m not entirely sure I think I figured out what happened. About three days ago, I had a massive influx of traffic, which ended with me serving thousands of 403 denied requests, which culminated in the proxy not being able to handle any real requests because apache and the proxy itself were firing that many 403&#8217;s back. I personally think these requests were mainly coming from China. Pages like this <a href="http://translate.google.com/translate?hl=en&#038;sl=zh-CN&#038;u=http://www.vbulletin-chinese.com/forum/archive/index.php/t-2124.html&#038;prev=/search%3Fq%3Ddaveproxy%26start%3D10%26hl%3Den%26hs%3DGbh%26lr%3D%26client%3Dfirefox-a%26rls%3Dorg.mozilla:en-US:official%26sa%3DN">providing links to FreeBSD</a> and not to mention all the forum pages hotlinking porn,  are just abusing the site and it&#8217;s not fair on me or the genuine users. First I thought about geotargetting and deny requests, but that wouldn&#8217;t help anyway. A 403 might cost me 1kB, which doesn&#8217;t sound like much, but times that by thousands and my server would be crippled again. So why not drop it before it gets to Apache? A quick google search not only led me to sites listing chinese and korean &#8216;A&#8217; class network ranges, but also to iptables scripts set to drop all traffic for them. Changed the port from SMTP to HTTP and I was in business. Even implemented this at work for our SMTP server, cut the spam in half!</p>
<p>Add to that some more links, a news page, a links page and a little bit of promotion here and there and that&#8217;s DaveProxy as of now.</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;title=DaveProxy%203.0&amp;bodytext=Well%20then%2C%20a%20few%20months%20down%20the%20road%20and%20I%27ve%20hopefully%20made%20a%20few%20more%20improvements%20to%20DaveProxy.%0D%0A%0D%0AFirst%20off%20is%20some%20modifications%20to%20the%20CGIProxy%20script%2C%20thanks%20to%20the%20guys%20over%20at%20Proxy%20Society.%20It%20basically%20allows%20me%20to%20control%20which%20type%20of%20f" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;title=DaveProxy%203.0&amp;notes=Well%20then%2C%20a%20few%20months%20down%20the%20road%20and%20I%27ve%20hopefully%20made%20a%20few%20more%20improvements%20to%20DaveProxy.%0D%0A%0D%0AFirst%20off%20is%20some%20modifications%20to%20the%20CGIProxy%20script%2C%20thanks%20to%20the%20guys%20over%20at%20Proxy%20Society.%20It%20basically%20allows%20me%20to%20control%20which%20type%20of%20f" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;h=DaveProxy%203.0" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;title=DaveProxy%203.0" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;title=DaveProxy%203.0" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F&amp;title=DaveProxy%203.0" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F05%2F26%2Fdaveproxy-30%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/05/26/daveproxy-30/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Vim, CTAGS and PHP 5</title>
		<link>http://www.davedevelopment.co.uk/2006/03/13/vim-ctags-and-php-5/</link>
		<comments>http://www.davedevelopment.co.uk/2006/03/13/vim-ctags-and-php-5/#comments</comments>
		<pubDate>Mon, 13 Mar 2006 10:43:20 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[vim ctags php]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/?p=15</guid>
		<description><![CDATA[I&#8217;ve just discovered CTAGS, thanks to theTop 10 things Vi user need to know about Vim list.
Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just discovered <a href="http://ctags.sourceforge.net/">CTAGS</a>, thanks to the<a href="http://www.oualline.com/vim/10/top_10.html">Top 10 things Vi user need to know about Vim</a> list.</p>
<blockquote><p>Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object).</p></blockquote>
<p>To use CTAGS with PHP 5, I downloaded the CTAGS source code, and <a href="http://blog.bitflux.ch/archive/ctags_for_php.html ">this</a> patch. Bascially the patch adds capabilities for the private, protected and public <a href="http://www.php.net/manual/en/language.oop5.visibility.php" title="PHP 5 - Visibility">visibilty</a> keywords.</p>
<p><code># wget http://kent.dl.sourceforge.net/sourceforge\<br />
/ctags/ctags-5.5.4.tar.gz<br />
# tar -zxvf ctags-5.5.4.tar.gz<br />
# wget http://svn.bitflux.ch/repos/public/misc/ctags-php5.patch<br />
# mv ctags-php5.patch ctags-5.5.4<br />
# cd ctags-5.5.4<br />
</code></p>
<p>Now patch the <em>php.c</em> file</p>
<p><code># patch php.c ctags-php5.patch</code></p>
<p>Configure build and install CTAGS</p>
<p><code># ./configure<br />
# make<br />
# make install<br />
</code></p>
<p>CTAGS is now installed, we can start to use it. I&#8217;d recommend creating tag file for different projects seperately, rather than one big one in your home folder or something. So move to your folder of choice and create the tags file.</p>
<p><code># cd /path/to/your/project<br />
# ctags -R<br />
</code></p>
<p>This may take a while depending on how many files you have. Once it is done, you&#8217;re ready to start using CTAGS with Vim. The &#8216;-t&#8217; option for Vim opens the file containing that tag. So..</p>
<p><code># vim -t 'MyClass'<br />
</code></p>
<p>&#8230; would open the MyClass.php class definition file. Once inside a file, hitting <em>ctrl-]</em> while the cursor is over a function/class name, Vim will attempt to open the file with that tag. Pressing <em>ctrl-t</em> will take you back a step.</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;title=Vim%2C%20CTAGS%20and%20PHP%205&amp;bodytext=I%27ve%20just%20discovered%20CTAGS%2C%20thanks%20to%20theTop%2010%20things%20Vi%20user%20need%20to%20know%20about%20Vim%20list.%0D%0A%0D%0ACtags%20generates%20an%20index%20%28or%20tag%29%20file%20of%20language%20objects%20found%20in%20source%20files%20that%20allows%20these%20items%20to%20be%20quickly%20and%20easily%20located%20by%20a%20text%20editor%20" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;title=Vim%2C%20CTAGS%20and%20PHP%205&amp;notes=I%27ve%20just%20discovered%20CTAGS%2C%20thanks%20to%20theTop%2010%20things%20Vi%20user%20need%20to%20know%20about%20Vim%20list.%0D%0A%0D%0ACtags%20generates%20an%20index%20%28or%20tag%29%20file%20of%20language%20objects%20found%20in%20source%20files%20that%20allows%20these%20items%20to%20be%20quickly%20and%20easily%20located%20by%20a%20text%20editor%20" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;h=Vim%2C%20CTAGS%20and%20PHP%205" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;title=Vim%2C%20CTAGS%20and%20PHP%205" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;title=Vim%2C%20CTAGS%20and%20PHP%205" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F&amp;title=Vim%2C%20CTAGS%20and%20PHP%205" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F13%2Fvim-ctags-and-php-5%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/03/13/vim-ctags-and-php-5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JBoss and Gentoo</title>
		<link>http://www.davedevelopment.co.uk/2006/03/02/jboss-and-gentoo/</link>
		<comments>http://www.davedevelopment.co.uk/2006/03/02/jboss-and-gentoo/#comments</comments>
		<pubDate>Thu, 02 Mar 2006 10:55:05 +0000</pubDate>
		<dc:creator>davedevelopment</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.davedevelopment.co.uk/?p=13</guid>
		<description><![CDATA[After learning and using Java though my 3 years of university, I haven&#8217;t touched the stuff since. Not because I don&#8217;t like it, just because I haven&#8217;t needed to. After a meeting at work the other day I decided to pull my finger out and re-educate myself, particularly towards the enterprise stuff, which they didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>After learning and using Java though my 3 years of university, I haven&#8217;t touched the stuff since. Not because I don&#8217;t like it, just because I haven&#8217;t needed to. After a meeting at work the other day I decided to pull my finger out and re-educate myself, particularly towards the enterprise stuff, which they didn&#8217;t teach me at Uni. If they had I&#8217;d probably be loaded right now.</p>
<p>Finding a <a href="http://www.tusc.com.au/tutorial/html/">tutorial</a>, I sat down at my desktop machine and set about creating my first J2EE application. I&#8217;m a big fan of <a href="http://www.gentoo.org" title="Gentoo">Gentoo</a> Linux and try to use it&#8217;s portage package management as much as possible, making it easy to maintain my system, so rather than download <a href="http://www.jboss.org" title="JBoss">JBoss</a> like the tutorial says, I simply.</p>
<p><code># emerge jboss</code></p>
<p>This went fine, as did firing up jboss and going to the console through my browser. Then I stumbled. Trying to invoke &#8217;startDatabaseManager&#8217; wouldn&#8217;t seem to work. It said it did, but the applet never appeared. An hour later, after customising the deploy XML file for HyperSonic, I was closer to having the database the way it needs to be, but still couldn&#8217;t get the applet to fire up. I googled for a while and found a handful of people having the same problems, but never for the same reason. In the end I gave up. </p>
<p>The thing is, right now I&#8217;m interested in the J2EE side of things, not so much the database, so it&#8217;s kind of annoying getting stuck so early. I&#8217;ll spend some time tonight trying to access the HSQLDB another way, if not I&#8217;ll try and adapt the tutorial to use <a href="http://www.mysql.org" title="MySQL AB">MySQL</a>!</p>




	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;title=JBoss%20and%20Gentoo&amp;bodytext=After%20learning%20and%20using%20Java%20though%20my%203%20years%20of%20university%2C%20I%20haven%27t%20touched%20the%20stuff%20since.%20Not%20because%20I%20don%27t%20like%20it%2C%20just%20because%20I%20haven%27t%20needed%20to.%20After%20a%20meeting%20at%20work%20the%20other%20day%20I%20decided%20to%20pull%20my%20finger%20out%20and%20re-educate%20myse" title="Digg"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://delicious.com/post?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;title=JBoss%20and%20Gentoo&amp;notes=After%20learning%20and%20using%20Java%20though%20my%203%20years%20of%20university%2C%20I%20haven%27t%20touched%20the%20stuff%20since.%20Not%20because%20I%20don%27t%20like%20it%2C%20just%20because%20I%20haven%27t%20needed%20to.%20After%20a%20meeting%20at%20work%20the%20other%20day%20I%20decided%20to%20pull%20my%20finger%20out%20and%20re-educate%20myse" title="del.icio.us"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.newsvine.com/_tools/seed&amp;save?u=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;h=JBoss%20and%20Gentoo" title="NewsVine"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;title=JBoss%20and%20Gentoo" title="Reddit"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="" title="Furl"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;title=JBoss%20and%20Gentoo" title="DZone"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/dzone.png" title="DZone" alt="DZone" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F&amp;title=JBoss%20and%20Gentoo" title="StumbleUpon"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fwww.davedevelopment.co.uk%2F2006%2F03%2F02%2Fjboss-and-gentoo%2F" title="Technorati"><img src="http://www.davedevelopment.co.uk/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.davedevelopment.co.uk/2006/03/02/jboss-and-gentoo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
