<?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>James P Farrell</title>
	<atom:link href="http://jamespfarrell.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://jamespfarrell.com/blog</link>
	<description>Freelance web designer blog</description>
	<lastBuildDate>Sat, 22 May 2010 09:46:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Unique download links &#8211; Protect your downloads</title>
		<link>http://jamespfarrell.com/blog/unique-download-links-protect-your-downloads/100/</link>
		<comments>http://jamespfarrell.com/blog/unique-download-links-protect-your-downloads/100/#comments</comments>
		<pubDate>Sat, 22 May 2010 09:46:57 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=100</guid>
		<description><![CDATA[I&#8217;m working on a project at the moment to make online djembe lessons available to download immediately once payment has been received. 
Wanting to make it a little bit more difficult for people to share the links I went looking for a PHP based solution to provide unique download links that are only valid for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a project at the moment to make <a href="http://djembefola.com/lessons.php">online djembe lessons</a> available to download immediately once payment has been received. </p>
<p>Wanting to make it a little bit more difficult for people to share the links I went looking for a PHP based solution to provide unique download links that are only valid for a certain number of downloads and expire after a certain amount of time.</p>
<p>I found <a href="http://www.ardamis.com/2009/06/26/protecting-multiple-downloads-using-unique-urls/">Ardamis</a> has kindly shared a great solution for <a href="http://www.ardamis.com/2009/06/26/protecting-multiple-downloads-using-unique-urls/">Unique download links</a>, so just wanted to tip my hat in his general direction, and share this for the next person with the same issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/unique-download-links-protect-your-downloads/100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Server Time jQuery Plugin</title>
		<link>http://jamespfarrell.com/blog/real-server-time-jquery-plugin/98/</link>
		<comments>http://jamespfarrell.com/blog/real-server-time-jquery-plugin/98/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 15:41:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=98</guid>
		<description><![CDATA[I&#8217;ve released a new jQuery plugin to get the server time. 
It waits for the page to be loaded, and send the client machines time to the server by ajax. The server then returns $timedifference.&#8221;&#124;&#8221;.$offset where offset is the difference in seconds between the server and the local machine.
The script will then check the local [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve released a new jQuery plugin to get the server time. </p>
<p>It waits for the page to be loaded, and send the client machines time to the server by ajax. The server then returns $timedifference.&#8221;|&#8221;.$offset where offset is the difference in seconds between the server and the local machine.</p>
<p>The script will then check the local machine time every second and apply the offset. </p>
<p>This approach allows us to use the local machine&#8217;s time keep capability to keep ourselves accurate.</p>
<p>If there are time zone differences to be taken into account these will also be accounted for.</p>
<p><a href="http://jamespfarrell.com/code/servertime/servertime.rar">Click here to check it out:</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/real-server-time-jquery-plugin/98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slide show Pro update XML file CMS php class</title>
		<link>http://jamespfarrell.com/blog/slide-show-pro-update-xml-file-cms-php-class/95/</link>
		<comments>http://jamespfarrell.com/blog/slide-show-pro-update-xml-file-cms-php-class/95/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:19:02 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=95</guid>
		<description><![CDATA[My sister, a dublin make up artist, asked me to give her a hand with her website today.
She wanted a flash slideshow that was pretty slick and also easy to update herself. It reminded me of slideshowpro, which is pretty good at doing just that.
Slide show works by reading in the images to be included [...]]]></description>
			<content:encoded><![CDATA[<p>My sister, a <a href="http://emmafarrellmakeup.com">dublin make up artist</a>, asked me to give her a hand with her website today.</p>
<p>She wanted a flash slideshow that was pretty slick and also easy to update herself. It reminded me of <a href="http://slideshowpro.net/">slideshowpro</a>, which is pretty good at doing just that.</p>
<p>Slide show works by reading in the images to be included from an XML file. </p>
<p>It also reminded me a php class that I wrote a while ago to allow a client (or user) to update the XML file themselves. This class could be standalone, but would best be suited included into a CMS.</p>
<p><a href="http://jamespfarrell.com/code/slideshowpro.rar">So here you go&#8230;.</a> it&#8217;s rough, ready and could save you a few shillings if you were considering <a href="http://slideshowpro.net/products/slideshowpro_director/">slide show pro director</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/slide-show-pro-update-xml-file-cms-php-class/95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NameError: uninitialized constant User::Registration</title>
		<link>http://jamespfarrell.com/blog/nameerror-uninitialized-constant-userregistration/93/</link>
		<comments>http://jamespfarrell.com/blog/nameerror-uninitialized-constant-userregistration/93/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 04:52:14 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=93</guid>
		<description><![CDATA[Problem with &#8220;Beginning Rails page 113:
I found a typo in the book too&#8230; it says:
Let&#8217;s generate the model and migration for the registration table now:
$ ./script/generate model registrations
it should say:
$ ./script/generate model registration
This causes problems later on when doing the following:
event = Event.find(:first)
user = create(:login => 'simon', :email => 'simon@example.com', :password => 'secret')
user.registrations.any?
NameError: uninitialized constant [...]]]></description>
			<content:encoded><![CDATA[<p>Problem with &#8220;Beginning Rails page 113:</p>
<p>I found a typo in the book too&#8230; it says:<br />
Let&#8217;s generate the model and migration for the registration table now:<br />
<code>$ ./script/generate model registrations</code></p>
<p>it should say:<br />
<code>$ ./script/generate model registration</code></p>
<p>This causes problems later on when doing the following:<br />
<code>event = Event.find(:first)<br />
user = create(:login => 'simon', :email => 'simon@example.com', :password => 'secret')<br />
user.registrations.any?<br />
NameError: uninitialized constant User::Registration</code></p>
<p>I had to figure that one out the hard way&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/nameerror-uninitialized-constant-userregistration/93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up rails woes</title>
		<link>http://jamespfarrell.com/blog/setting-up-rails-woes/91/</link>
		<comments>http://jamespfarrell.com/blog/setting-up-rails-woes/91/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 04:50:49 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=91</guid>
		<description><![CDATA[I decided to set my next site on Ruby on Rails&#8230;
After spending AGES trying to set it up&#8230; 
I thought that there was something wrong with my Rails installs (and re-installs).
I was working from Beginning Rails by Apress. The book is pretty old and it turns out that SQL lite is no longer packaged with [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to set my next site on Ruby on Rails&#8230;</p>
<p>After spending AGES trying to set it up&#8230; </p>
<p>I thought that there was something wrong with my Rails installs (and re-installs).</p>
<p>I was working from Beginning Rails by Apress. The book is pretty old and it turns out that SQL lite is no longer packaged with rails and the basic example was bombing out and I didn&#8217;t realise it&#8230;</p>
<p>The discovery of the log/test.txt was instrumental&#8230; wish that had been mentioned in the book.</p>
<p>This change in Rails wasn&#8217;t to be the last pain in my arse it seems&#8230; The way rails does scaffolding has changed completely it seems, so another 2 hours later I find an open Internet place (tropical island remember?) and I have a working tutorial (http://fairleads.blogspot.com/2008/01/this-is-second-part-of-my-series.html) for Rails 2.<br />
And I see the fruit of my first rails scaffolding setup&#8230; I must say it&#8217;s beautiful!</p>
<p>I&#8217;m sure I&#8217;ll be finding a few more things that don&#8217;t work in &#8216;Beginning rails&#8217;, but &#8216;Beginning Rails 3&#8242; will be out in March 2010 (next month), so I&#8217;ll probably make a move on that asap.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/setting-up-rails-woes/91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up a Ruby on Rails development environment</title>
		<link>http://jamespfarrell.com/blog/setting-up-a-ruby-on-rails-development-environment/89/</link>
		<comments>http://jamespfarrell.com/blog/setting-up-a-ruby-on-rails-development-environment/89/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 12:31:26 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=89</guid>
		<description><![CDATA[That&#8217;s it&#8230; I give up on getting Ruby on Rails integrated with my current XAMMP environment!
I am going with Ubuntu for now:
I found these instructions on setting up Ruby on Rails on Ubuntu really helpfull.
Although initially annoyed at the mess of setting up in Windows, I&#8217;m grateful for the opportunity to get to know Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s it&#8230; I give up on getting Ruby on Rails integrated with my current XAMMP environment!</p>
<p>I am going with Ubuntu for now:<br />
I found these instructions on <a href="http://www.hackido.com/2009/11/install-ruby-on-rails-on-ubuntu-karmic.html">setting up Ruby on Rails on Ubuntu</a> really helpfull.</p>
<p>Although initially annoyed at the mess of setting up in Windows, I&#8217;m grateful for the opportunity to get to know Ubuntu and Linux a bit better&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/setting-up-a-ruby-on-rails-development-environment/89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Wireless drivers on Ubuntu for dell 1501</title>
		<link>http://jamespfarrell.com/blog/installing-wireless-drivers-on-ubuntu-for-dell-1501/85/</link>
		<comments>http://jamespfarrell.com/blog/installing-wireless-drivers-on-ubuntu-for-dell-1501/85/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 10:51:42 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=85</guid>
		<description><![CDATA[Been having a really hard time getting Ubuntu to see my wireless network card.
Think I&#8217;ve finally found a solution. Seems although Ubntu 9.1 ships with the drivers, it doesn&#8217;t ship with the firmware&#8230; I followed the instructions here &#8211; dell 1501 ubuntu wireless drivers, but I assure you I didn&#8217;t find that without a LOT [...]]]></description>
			<content:encoded><![CDATA[<p>Been having a really hard time getting Ubuntu to see my wireless network card.</p>
<p>Think I&#8217;ve finally found a solution. Seems although Ubntu 9.1 ships with the drivers, it doesn&#8217;t ship with the firmware&#8230; I followed the instructions here &#8211; <a href=" https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx">dell 1501 ubuntu wireless drivers</a>, but I assure you I didn&#8217;t find that without a LOT of googling and digging!</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/installing-wireless-drivers-on-ubuntu-for-dell-1501/85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few handy Gmail tips</title>
		<link>http://jamespfarrell.com/blog/a-few-handy-gmail-tips/82/</link>
		<comments>http://jamespfarrell.com/blog/a-few-handy-gmail-tips/82/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 07:44:09 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=82</guid>
		<description><![CDATA[I love Gmail for many reasons:

Spam filters!
Free backups of my mail
Can access all my email no matter where I am

I forward all my email addresses on to Gmail.
You can also set up Thunderbird / outlook to connect to Gmail, should you so choose.
Check out the Gmail power usage guide for details.
Tips:
1) While looking into Mozilla [...]]]></description>
			<content:encoded><![CDATA[<p>I love Gmail for many reasons:</p>
<ol>
<li>Spam filters!</li>
<li>Free backups of my mail</li>
<li>Can access all my email no matter where I am</li>
</ol>
<p>I forward all my email addresses on to Gmail.</p>
<p>You can also set up Thunderbird / outlook to connect to Gmail, should you so choose.</p>
<p>Check out the <a href="http://www.earnersblog.com/email-power-tips/">Gmail power usage guide</a> for details.</p>
<p><strong>Tips:</strong></p>
<p>1) While looking into <a href="https://jetpack.mozillalabs.com/">Mozilla Jetpack</a> I came across the <a href="http://lab.bandit.co.nz/scripts/jetpacks/gmail.htm">better Gmail checker</a>. This neat little thing puts a little icon in the lower right corner of your Firefox with the number of unread Gmails in your inbox.</p>
<p>This lead me to finally sort out the 1100 unread emails in my Gmail. Most of them are email lists etc, that I have no intention of reading and figuring out how to mark all of them read had put me off ever doing so.</p>
<p>Anyway, inspired by my new jetpack toy, I went about figuring that out too:<br />
2) To mark all mail read:</p>
<ul>
<li>In the search box, type &#8220;is:unread&#8221;</li>
<li>In the select area press &#8220;All&#8221;</li>
<li>A link will appear that says &#8220;Select all conversations that match this search&#8221;, press it</li>
<li>From the drop down, select &#8220;Mark All as Read&#8221;.</li>
</ul>
<p>So there you have it, happy Gmailing everybody!</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/a-few-handy-gmail-tips/82/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Some great free Web Design podcasts</title>
		<link>http://jamespfarrell.com/blog/some-great-free-web-design-podcasts/76/</link>
		<comments>http://jamespfarrell.com/blog/some-great-free-web-design-podcasts/76/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 11:28:15 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=76</guid>
		<description><![CDATA[This week, I have been listening to some great free web design mp3s, courtesy of Webstock.
I really enjoyed Doug Bowman&#8217;s talk on common structure and design patterns for web front ends. It will be interesting to see what come of this in the near and medium term future. Imagine building a site using common HTML [...]]]></description>
			<content:encoded><![CDATA[<p>This week, I have been listening to some great <a href="http://www.webstock.org.nz/blog/2009/the-webstock-recordings/">free web design mp3s</a>, courtesy of <a href="http://www.webstock.org.nz/">Webstock</a>.</p>
<p>I really enjoyed <a href="http://stopdesign.com">Doug Bowman&#8217;s</a> talk on common structure and design patterns for web front ends. It will be interesting to see what come of this in the near and medium term future. Imagine building a site using common HTML structure and being able to plug in a 3rd part css file, much like <a href="http://www.csszengarden.com/">CSS zen garden</a>.</p>
<p>I hadn&#8217;t come across Uber Geek, Bruce Sterling before and I found his talk, <a href="http://www.webstock.org.nz/talks/speakers/bruce-sterling/">web2.0 and beyond</a>, amusing and entertaining.</p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/some-great-free-web-design-podcasts/76/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Framework Standards Group</title>
		<link>http://jamespfarrell.com/blog/php-framework-standards-group/69/</link>
		<comments>http://jamespfarrell.com/blog/php-framework-standards-group/69/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 10:48:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://jamespfarrell.com/blog/?p=69</guid>
		<description><![CDATA[Geek news, just in: a discussion group was formed to define standards to be adopted by PHP frameworks and applications.
Participation, seems to be closed, but spying is not  
There motivation and aim seems to be summarised by:
&#8220;Hey, we are all agreeing that we are going to code this way and we&#8217;d like you to [...]]]></description>
			<content:encoded><![CDATA[<p>Geek news, just in: a discussion group was formed to define standards to be adopted by PHP frameworks and applications.</p>
<p><a href="http://news.php.net/php.standards/">Participation, seems to be closed</a>, but spying is not <img src='http://jamespfarrell.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>There motivation and aim seems to be summarised by:<br />
&#8220;Hey, we are all agreeing that we are going to code this way and we&#8217;d like you to do it to.&#8221;</p>
<p>Isn&#8217;t that nice <img src='http://jamespfarrell.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The meeting included representatives from Agavi, Cake, PEAR, Phing, Solar, Symfony and Zend.</p>
<p>Given the attendees there is certainly some weight behind this and it&#8217;s worth keeping an eye on&#8230; especially if you&#8217;ve been <a href="http://www.phpro.org/tutorials/Model-View-Controller-MVC.html">developing your own framework</a>.</p>
<p>Find out more at the <a href="http://www.phpclasses.org/blog/post/96-PHP-standards-discussion-group-opens-to-the-world.html">ugliest usefull site in the universe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jamespfarrell.com/blog/php-framework-standards-group/69/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
