<?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>www.jhodges.co.uk</title>
	<atom:link href="http://jhodges.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://jhodges.co.uk</link>
	<description>I ain&#039;t not never done nothing to nobody and there ain&#039;t not no way none of that couldn&#039;t not never have happened. See?</description>
	<lastBuildDate>Tue, 17 Aug 2010 18:39:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>GPS from TomTom Go 300 (Cirocomm G100/300 580)</title>
		<link>http://jhodges.co.uk/gps-from-tomtom-go-300-cirocomm-g100-300-580/</link>
		<comments>http://jhodges.co.uk/gps-from-tomtom-go-300-cirocomm-g100-300-580/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 10:05:08 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://jhodges.co.uk/?p=302</guid>
		<description><![CDATA[My mate kindly donated his old broken TomTom Go 300 from which I was hoping to steal the GPS chip and antenna for use in my Arduino projects. I opened it up and found the GPS unit, it was labeled Cirocomm G100/300 580 but I couldn&#8217;t find much info about this on the net, there [...]]]></description>
			<content:encoded><![CDATA[<p>My mate kindly donated his old broken TomTom Go 300 from which I was hoping to steal the GPS chip and antenna for use in my Arduino projects.  I opened it up and found the GPS unit, it was labeled Cirocomm G100/300 580 but I couldn&#8217;t find much info about this on the net, there were several posts of people with them asking about the pin outs and one site where someone had apparently got it to work but unfortunately hadn&#8217;t detailed the pin outs.  So, I had to resort to trial and error at the risk of blowing it up&#8230; It seems luck was on my side and I soon got it working, I will detail the pins I used as others seem to be after the info, I can&#8217;t grantee they are the &#8220;correct&#8221; pins, but they work for me&#8230;</p>
<p>I soldered to the small gold TP circles that were dotted over the board, rather than the ribbon cable connector its self. I&#8217;m guessing these are test points connect directly to the ribbon connector and other interesting places. There is a large group of them on the board on the opposite side to the ribbon connector.  These are the connection I used:</p>
<div style="padding:10px;background:#dfd;border:1px solid #8f8;">
TP28 = VCC (+5V)<br />
TP6 = GND<br />
TP4 = TX (4800 baud)
</div>
<p>And thats it, if all goes well, on the TX line you should be receiving this kind of data:</p>
<div style="padding:10px;font-size:10px;background:#dfd;font-family:monospace;border:1px solid #8f8;">
$PSRFTXT,Version: 2.4.13.03-XIAC2.0.2-C3PROD1.0 *5F<br />
$PSRFTXT,TOW:  160126*17<br />
$PSRFTXT,WK:   1597*6F<br />
$PSRFTXT,POS:  4043192 -123430 4914862*32<br />
$PSRFTXT,CLK:  95692*2C<br />
$PSRFTXT,CHNL: 12*73<br />
$PSRFTXT,Baud rate: 4800  System clock: 24.553MHz*76<br />
$GPGGA,203059.357,5043.9983,N,00144.8843,W,1,04,6.6,92.4,M,,,,0000*25<br />
$GPGSA,A,3,19,24,03,06,,,,,,,,,18.2,6.6,17.0*34<br />
$GPGSV,3,1,11,19,83,281,28,24,69,066,33,03,59,142,33,22,46,069,*75<br />
$GPGSV,3,2,11,06,45,131,28,11,24,265,,18,18,045,30,28,14,323,*7E<br />
$GPGSV,3,3,11,14,10,115,23,08,10,296,,32,10,196,*43<br />
$GPRMC,203059.357,A,5043.9983,N,00144.8843,W,0.00,,160810,,,A*6F<br />
$GPVTG,,T,,M,0.00,N,0.0,K,N*1C
</div>
<p>Thats <a href="http://gpsinformation.org/dale/nmea.htm">NMEA data</a> and some of those lines will constantly repeat every second or so with updated geo coords and other interesting info.</p>
<p>The $GPGGA line is the interesting line containing 5043.9983,N,00144.8843,W which = 50&deg; 43.9983&#8242; N and 1&deg; 44.8843&#8242; W.  If you are looking to plot this on google maps dont be fooled by the fact that its in degrees and decimal minutes and that google maps uses decimal degrees so some <a href="http://www.csgnetwork.com/gpscoordconv.html">conversion is required</a>.</p>
<p>Hope this helps and let me know what cool devices you make from this unit <img src='http://jhodges.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/gps-from-tomtom-go-300-cirocomm-g100-300-580/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Water Cooled?</title>
		<link>http://jhodges.co.uk/water-cooled/</link>
		<comments>http://jhodges.co.uk/water-cooled/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 20:34:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Randum/Funny]]></category>

		<guid isPermaLink="false">http://jhodges.co.uk/?p=300</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="/media/water%20cooled.jpg"/></p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/water-cooled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recursively find the latest modified file</title>
		<link>http://jhodges.co.uk/recursively-find-the-latest-modified-file/</link>
		<comments>http://jhodges.co.uk/recursively-find-the-latest-modified-file/#comments</comments>
		<pubDate>Thu, 27 May 2010 10:10:54 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://jhodges.co.uk/recursively-find-the-latest-modified-file/</guid>
		<description><![CDATA[find . -printf "%CY-%Cm-%Cd %CH:%CM:%CS\t%p\n" &#124; sort -nr &#124; head -n 1]]></description>
			<content:encoded><![CDATA[<p><code>find . -printf "%CY-%Cm-%Cd %CH:%CM:%CS\t%p\n" | sort -nr | head -n 1</code></p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/recursively-find-the-latest-modified-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random Videos</title>
		<link>http://jhodges.co.uk/random_videos/</link>
		<comments>http://jhodges.co.uk/random_videos/#comments</comments>
		<pubDate>Sun, 02 May 2010 21:51:47 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Randum/Funny]]></category>

		<guid isPermaLink="false">http://jhodges.co.uk/?p=289</guid>
		<description><![CDATA[Here are some more videos from the good old crazy days when the public was there purely for our entertainment. object{float:left;margin:2px;}]]></description>
			<content:encoded><![CDATA[<p>Here are some more videos from the good old crazy days when the public was there purely for our entertainment.</p>
<p><span id="more-289"></span></p>
<style>object{float:left;margin:2px;}</style>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/aTmiN7C7Hps&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/aTmiN7C7Hps&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/aLmZO43f2VE&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/aLmZO43f2VE&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/xG6uipS03KY&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xG6uipS03KY&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/G3RL0BFjAuM&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/G3RL0BFjAuM&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/o4S9qx2fCaA&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/o4S9qx2fCaA&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/r_E6bnxplrg&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/r_E6bnxplrg&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/6GuD22zt7mI&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6GuD22zt7mI&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/6TcKfR8HE6U&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6TcKfR8HE6U&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<div style="clear:both"></div>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/random_videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Supermarket Mayhem!</title>
		<link>http://jhodges.co.uk/supermarket_mayhem/</link>
		<comments>http://jhodges.co.uk/supermarket_mayhem/#comments</comments>
		<pubDate>Sun, 02 May 2010 21:09:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Randum/Funny]]></category>

		<guid isPermaLink="false">http://jhodges.co.uk/?p=279</guid>
		<description><![CDATA[Here are some videos from the good old crazy days when the supermarket was there purely for our entertainment. Don&#8217;t try this at home&#8230; visit your local supermarket! object{float:left;margin:2px;}]]></description>
			<content:encoded><![CDATA[<p>Here are some videos from the good old crazy days when the supermarket was there purely for our entertainment.  Don&#8217;t try this at home&#8230; visit your local supermarket!<br />
<span id="more-279"></span></p>
<style>object{float:left;margin:2px;}</style>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/tH_9PrMaNAs&amp;hl=en_GB&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/tH_9PrMaNAs&amp;hl=en_GB&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/TJpfvtoA66U&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TJpfvtoA66U&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/yksHpDY7xGI&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/yksHpDY7xGI&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/cH6Ikeg5Qhg&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/cH6Ikeg5Qhg&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/oJUNtqlizNM&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/oJUNtqlizNM&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/ngnKI4KP4b8&#038;hl=en_GB&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ngnKI4KP4b8&#038;hl=en_GB&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<div style="clear:both"></div>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/supermarket_mayhem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DynDNS Lite!</title>
		<link>http://jhodges.co.uk/dyndns-lite/</link>
		<comments>http://jhodges.co.uk/dyndns-lite/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:47:18 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jhodges.co.uk/?p=269</guid>
		<description><![CDATA[As my IP address changes so rarely, my Dynamic DNS accounts keep expiring before the IP changes! Here is a cron line to download my ip address from whatismyip.org and then upload it via ssh to a file on a server every hour! 00 * * * * curl whatismyip.org 2>/dev/null &#124; ssh user@server.tld "cat [...]]]></description>
			<content:encoded><![CDATA[<p>As my IP address changes so rarely, my Dynamic DNS accounts keep expiring before the IP changes!<br />
<span id="more-269"></span></p>
<p>Here is a cron line to download my ip address from whatismyip.org and then upload it via ssh to a file on a server every hour!</p>
<p><code>00 * * * * curl whatismyip.org 2>/dev/null | ssh user@server.tld "cat >ip.txt"</p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/dyndns-lite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digikam in Ubuntu 9.10</title>
		<link>http://jhodges.co.uk/digikam-in-ubuntu-9-10/</link>
		<comments>http://jhodges.co.uk/digikam-in-ubuntu-9-10/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 22:34:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jhodges.co.uk/digikam-in-ubuntu-9-10/</guid>
		<description><![CDATA[After installing Digikam on Ubuntu, I had no video thumbnails or ability to play video. When trying to play a video I recieved the error &#8220;an error has occurred with the media player digikam&#8221; and on the terminal &#8220;xine is asking to seek behind the end of the data stream&#8221; To resolve this I installed [...]]]></description>
			<content:encoded><![CDATA[<p>After installing Digikam on Ubuntu, I had no video thumbnails or ability to play video.<br />
<span id="more-268"></span></p>
<p>When trying to play a video I recieved the error &#8220;an error has occurred with the media player digikam&#8221; and on the terminal &#8220;xine is asking to seek behind the end of the data stream&#8221;</p>
<p>To resolve this I installed mplayer thumbs for the thumbnails and xine-ui to play the vids.</p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/digikam-in-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony: Propel VS Doctrine</title>
		<link>http://jhodges.co.uk/symfony-propel-vs-doctrine/</link>
		<comments>http://jhodges.co.uk/symfony-propel-vs-doctrine/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 08:58:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.jhodges.co.uk/?p=259</guid>
		<description><![CDATA[A few days ago I started using Symfony. I chose to use Propel as the ORM. The ORM generates the PHP classes and database structure from your schema. When I stared using Propel in PHP, it looked amazing, each db table has a php class representing it, with methods generated to set and get the [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I started using Symfony.  I chose to use Propel as the ORM.  The ORM generates the PHP classes and database structure from your schema.<br />
<span id="more-259"></span><br />
When I stared using Propel in PHP, it looked amazing, each db table has a php class representing it, with methods generated to set and get the fields, and also to allow you to fetch foreign tables.  The propel query class offers a way to join and select from your database that returns these objects.  As everything is represented as automatically built classes, any good IDE will offer autocomplete with all you table and field names! <img src='http://jhodges.co.uk/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Not to mention the SQL manipulation methods too!</p>
<p>However not far into it I discovered a problem, and quite a big one at that!!  Turns out there is a <a href=" http://propel.phpdb.org/trac/ticket/438">long standing bug</a> and kinda makes Propel suck.</p>
<p>Time to try Doctrine then&#8230;</p>
<p>Very similar to Propel in what it does, but generates quite a different class structure.  Auto complete does not work because of the &#8216;magic&#8217; methods it defines, and the way it chains commands together confuses my IDE (and me) about which object has been returned after each successive command. </p>
<p>However, it handles the situation that Peopel failed at quite gracefully and looks like it is much more flexible and powerful when it comes to complex SQL.</p>
<p>Its just a shame I&#8217;m having to spend ages referring to the manual and searching Google when autocomplete would have instantly showed me the command I needed. Yet another mountain added to the learning curve, but despite that it looks like Doctrine wins for its bug free (so far) and powerful SQL methods.</p>
<p>A couple of resources I found:<br />
<a href=" http://redotheweb.com/2008/07/08/comparing-propel-doctrine-and-sfpropelfinder/"></p>
<p>http://redotheweb.com/2008/07/08/comparing-propel-doctrine-and-sfpropelfinder/</a></p>
<p><a href="http://codeutopia.net/blog/2008/03/02/doctrine-vs-propel/">http://codeutopia.net/blog/2008/03/02/doctrine-vs-propel/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/symfony-propel-vs-doctrine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Count unique IP address in Apache&#8217;s access log</title>
		<link>http://jhodges.co.uk/count-unique-ip-address-in-apaches-access-log/</link>
		<comments>http://jhodges.co.uk/count-unique-ip-address-in-apaches-access-log/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 23:14:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.jhodges.co.uk/count-unique-ip-address-in-apaches-access-log/</guid>
		<description><![CDATA[sed < /var/log/httpd/access_log -e 's/ .*$//' &#124; sort &#124; uniq -c]]></description>
			<content:encoded><![CDATA[<pre>sed < /var/log/httpd/access_log -e 's/ .*$//' | sort | uniq -c</pre>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/count-unique-ip-address-in-apaches-access-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony Deploy Script</title>
		<link>http://jhodges.co.uk/symfony-deploy-script/</link>
		<comments>http://jhodges.co.uk/symfony-deploy-script/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 15:48:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.jhodges.co.uk/?p=245</guid>
		<description><![CDATA[I&#8217;ve just started using the PHP framework, Symphony, after putting it off for far too long! This seems to be the way to download and deploy symfony, and I&#8217;m sure I&#8217;m going to want to do it again so I took notes, here they are: cd PROJECT DIR mkdir -p lib/vendor cd lib/vendor/ curl -O [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just started using the PHP framework, Symphony, after putting it off for far too long!</p>
<p>This seems to be the way to download and deploy symfony, and I&#8217;m sure I&#8217;m going to want to do it again so I took notes, here they are: <img src='http://jhodges.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-245"></span><br />
<code>cd PROJECT DIR<br />
mkdir -p lib/vendor<br />
cd lib/vendor/<br />
curl -O http://www.symfony-project.org/get/symfony-1.2.8.zip || wget http://www.symfony-project.org/get/symfony-1.2.8.zip<br />
unzip symfony-1.2.8.zip<br />
mv symfony-1.2.8 symfony<br />
rm symfony-1.2.8.zip<br />
cd ../..<br />
php lib/vendor/symfony/data/bin/check_configuration.php<br />
#nano /etc/php.ini</code></p>
<p>Thats pretty standard as far as I can tell, you may want to update the version numbers at some point and I&#8217;ve had to fall back to curl as my hosting company doesnt include wget.  This first block can most likley be ran as a script to get symfony setup.  The following blocks of commands will probably need a bit more thought and changing some paramaters and config files.  There are here for me only as a cheat sheet really.</p>
<p>Next creating the project, frontend and configuring the database:</p>
<p><code>php lib/vendor/symfony/data/bin/symfony generate:project NAME<br />
php symfony generate:app --escaping-strategy=on --csrf-secret=SECRET frontend<br />
php symfony configure:database "mysql:host=localhost;dbname=DBNAME" DBUSER DBPASS<br />
#edit schema or build it<br />
php symfony propel:build-schema<br />
#edit test data or dump it<br />
php symfony propel:data-dump > data/fixtures/test.yml</code></p>
<p>Now to build everything + an app and a module</p>
<p><code>php symfony propel:build-all --no-confirmation<br />
php symfony cache:clear<br />
php symfony propel:data-load<br />
php symfony propel:generate-module --with-show --non-verbose-templates APPNAME MODULE-NAME MODEL-NAME<br />
php symfony propel:generate-admin APP MODEL-NAME --module=MODULE-NAME</code></p>
<p>I&#8217;ll also list any useful sites I come across while learning symfony</p>
<ul>
<li><a href="http://symfony-check.org/">Check if your symfony application is ready for deployment</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jhodges.co.uk/symfony-deploy-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
