<?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>Gunfist &#187; Techy</title>
	<atom:link href="http://www.gunfist.com/category/techy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gunfist.com</link>
	<description></description>
	<lastBuildDate>Wed, 23 Dec 2009 20:08:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dutch PHP Conference</title>
		<link>http://www.gunfist.com/techy/2009/04/dutch-php-conference/</link>
		<comments>http://www.gunfist.com/techy/2009/04/dutch-php-conference/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 11:08:17 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[dpc09]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=568</guid>
		<description><![CDATA[For those with staff development money to burn and who fancy some conference action, I&#8217;m speaking at the Dutch PHP Conference in June, on Document Classification in PHP (the whole conference is in English by the by). The line up is pretty impressive this year, with three tracks over two days and being in Amsterdam [...]]]></description>
			<content:encoded><![CDATA[<p>For those with staff development money to burn and who fancy some conference action, I&#8217;m speaking at the <a href="http://phpconference.nl/">Dutch PHP Conference</a> in June, on Document Classification in PHP (the whole conference is in English by the by). The <a href="http://phpconference.nl/schedule/">line up</a> is pretty impressive this year, with three tracks over two days and being in Amsterdam there&#8217;s easy access to what most people go to Holland for &#8211; hagelslag on toast. There&#8217;s also a tutorial day before the main conference with some in depth day-long sessions.</p>
<p><a href="http://phpconference.nl"><img src="http://dpc.09.s3.amazonaws.com/dpc09_speaker.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2009/04/dutch-php-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>postrotate: command not found</title>
		<link>http://www.gunfist.com/techy/2008/12/postrotate-command-not-found/</link>
		<comments>http://www.gunfist.com/techy/2008/12/postrotate-command-not-found/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 11:45:42 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[logrotate]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=511</guid>
		<description><![CDATA[If, while log rotating with the lovely logrotate, you get &#8216;sh: line 2: postrotate: command not found&#8217; then you&#8217;re probably missing an endscript. This took me a while to notice. I found a number of people with the same problem, such as this chap, and if you look at his script he&#8217;s done exactly what [...]]]></description>
			<content:encoded><![CDATA[<p>If, while log rotating with the lovely logrotate, you get &#8216;<span class="body">sh: line 2: postrotate: command not found&#8217; then you&#8217;re probably missing an endscript. This took me a while to notice. I found a number of people with the same problem, such as <a href="http://www.linuxquestions.org/questions/linux-general-1/logrotate-problem-postrotate-command-not-found-518605/">this chap</a>, and if you look at his script he&#8217;s done exactly what </span>I had, and failed to notice that endscript delimits (quite sensibly) the end of each post/pre block, rather than being the end of the script as a whole (which is delimited with {}).<br />
<code><br />
/var/log/somecustom3/somecustom3A.log /var/log/somecustom3/somecustom3.log {<br />
daily<br />
rotate 14<br />
compress<br />
create 644 apache apache<br />
sharedscripts<br />
prerotate<br />
&nbsp;&nbsp;/usr/bin/svc -d /service/somecustom3<br />
postrotate<br />
&nbsp;&nbsp;/usr/bin/svc -u /service/somecustom3<br />
endscript<br />
}</code></p>
<p><code><br />
/var/log/somecustom3/somecustom3A.log /var/log/somecustom3/somecustom3.log {<br />
daily<br />
rotate 14<br />
compress<br />
create 644 apache apache<br />
sharedscripts<br />
prerotate<br />
&nbsp;&nbsp;/usr/bin/svc -d /service/somecustom3<br />
<strong>endscript</strong><br />
postrotate<br />
&nbsp;&nbsp;/usr/bin/svc -u /service/somecustom3<br />
endscript<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/12/postrotate-command-not-found/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Buildings Mysql-Proxy 0.6.0 On Centos 5.2</title>
		<link>http://www.gunfist.com/techy/2008/10/buildings-mysql-proxy-060-on-centos-52/</link>
		<comments>http://www.gunfist.com/techy/2008/10/buildings-mysql-proxy-060-on-centos-52/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 16:23:20 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[lua]]></category>
		<category><![CDATA[mysql-proxy]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=494</guid>
		<description><![CDATA[Mostly, follow this guy&#8217;s advice. This worked, but I had seem to have to make a few changes to have lua working. I&#8217;m not a big centos/rhel user so this advice should be followed only in the absence of greater clue, but it worked for me: On the Mysql proxy step of the above guide, [...]]]></description>
			<content:encoded><![CDATA[<p>Mostly, follow <a href="http://blog.cheyer.biz/2008/08/31/building-mysql-proxy-060-on-centos-52/">this guy&#8217;s</a> advice. This worked, but I had seem to have to make a few changes to have lua working. I&#8217;m not a big centos/rhel user so this advice should be followed only in the absence of greater clue, but it worked for me:</p>
<p>On the Mysql proxy step of the above guide, untar mysql proxy and move the archive to a new name:</p>
<p style="padding-left: 30px;">tar xzf mysql-proxy-0.6.0.tar.gz<br />
mv mysql-proxy-0.6.0.tar.gz mysql-proxy-0.6.0.tar.gz.0</p>
<p>Then edit the spec file, look for the line with %define with_lua 1, and delete the if and endif above and below it to set with_lua always on (I&#8217;m sure this is not the preferred way to do this).
</p>
<p style="padding-left: 30px;">vi mysql-proxy-0.6.0/mysql-proxy.spec</p>
<p>Next you have to tar it back up, and rpmbuild. Unfortunately, I had a lib problem, and a pkconfig problem, so I had to grab the lua pc file, and set a LD flag.</p>
<p style="padding-left: 30px;">tar zcf mysql-proxy-0.6.0.tar.gz mysql-proxy-0.6.0<br />
cp lua-5.1.4/etc/lua.pc /usr/lib/pkgconfig/<br />
LDFLAGS=-ldl rpmbuild -ta mysql-proxy-0.6.0.tar.gz</p>
<p>Then install the rpm as described in the original guide
</p>
<p style="padding-left: 30px;">rpm -ivh ~/rpmbuild/RPMS/i386/mysql-proxy-0.6.0-0.i386.rpm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/10/buildings-mysql-proxy-060-on-centos-52/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VMware HGFS permissions</title>
		<link>http://www.gunfist.com/techy/2008/10/vmware-hgfs-permissions/</link>
		<comments>http://www.gunfist.com/techy/2008/10/vmware-hgfs-permissions/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 10:41:46 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[hgfs]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=491</guid>
		<description><![CDATA[I&#8217;ve had a really annoying issue with a linux (Centos) VMWare image in Fusion on Mac OSX, where the permissions on files created by the VM on the HGFS shared folder meant that it couldn&#8217;t write to those files (or directories) subsequently. The way to solve this is to set the uid in /etc/fstab on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a really annoying issue with a linux (Centos) VMWare image in Fusion on Mac OSX, where the permissions on files created by the VM on the HGFS shared folder meant that it couldn&#8217;t write to those files (or directories) subsequently. The way to solve this is to set the uid in /etc/fstab on the host. For example, to set the user to match apache (which I needed in this case) I added &#8216;uid=48&#8242; to the comma separated options at the end:</p>
<p style="padding-left: 30px;">.host:/                 /mnt/hgfs               vmhgfs  defaults,ttl=5,uid=48     0 0</p>
<p>I don&#8217;t know why this didn&#8217;t occur to me before, but after a umount /mnt/hgfs; mount /mnt/hgfs it worked perfectly!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/10/vmware-hgfs-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Production and Staging with Capistrano</title>
		<link>http://www.gunfist.com/techy/2008/08/production-and-staging-with-capistrano/</link>
		<comments>http://www.gunfist.com/techy/2008/08/production-and-staging-with-capistrano/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 19:08:43 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[staging]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=469</guid>
		<description><![CDATA[For the benefit of googlers, should you happen to be wanting to use the very good Capistrano to deploy your project, and want to switch between staging or pre-production and live or production environments, the best way to handle the switch is using the Multistage facility in capistrano-ext. It&#8217;s basically just &#8216;gem install capistrano-ext&#8217;, then [...]]]></description>
			<content:encoded><![CDATA[<p>For the benefit of googlers, should you happen to be wanting to use the very good <a href="http://www.capify.org/">Capistrano</a> to deploy your project, and want to switch between staging or pre-production and live or production environments, the best way to handle the switch is using the <a href="http://weblog.jamisbuck.org/2007/7/23/capistrano-multistage">Multistage</a> facility in capistrano-ext.</p>
<p>It&#8217;s basically just &#8216;gem install capistrano-ext&#8217;, then at the top of your deploy.rb do something like:</p>
<p>set :stages, %w(ppd live dev) # you can use as many stages with whatever names you want here<br />
require &#8216;capistrano/ext/multistage&#8217;</p>
<p>In the config directory create deploy/ppd.rb, deploy/live.rb and deploy/dev.rb and put in the deploy specific stuff into each one &#8211; all your tasks can still be defined in the main deploy.rb. My stage rb files are just a bunch of sets and roles (which can&#8217;t be set in tasks), and they work brilliantly.</p>
<p>Now when you try to do &#8216;cap deploy&#8217;, it will moan and say you must give it a target: &#8220;No stage specified. Please specify one of: ppd, live, dev (e.g. `cap ppd deploy&#8217;)&#8221;. Do that, and you&#8217;re away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/08/production-and-staging-with-capistrano/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java on Debian Etch</title>
		<link>http://www.gunfist.com/techy/2008/07/java-on-debian-etch/</link>
		<comments>http://www.gunfist.com/techy/2008/07/java-on-debian-etch/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 10:44:52 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=422</guid>
		<description><![CDATA[I got a bit confused when googling how to install java on Debian 4, but this business seems to work: vim /etc/apt/sources.list add non-free to the ftp.debian.org entry: deb http://ftp.debian.org/debian/ etch main non-free deb-src http://ftp.debian.org/debian/ etch main non-free Then aptitude install sun-java5-jdk I&#8217;ve always been a bit crap at Debian, it never quite works how [...]]]></description>
			<content:encoded><![CDATA[<p>I got a bit confused when googling how to install java on Debian 4, but this business seems to work:</p>
<pre>vim /etc/apt/sources.list</pre>
<p>add non-free to the ftp.debian.org entry:</p>
<pre>deb http://ftp.debian.org/debian/ etch main non-free
deb-src http://ftp.debian.org/debian/ etch main non-free
</pre>
<p>Then</p>
<pre>aptitude install sun-java5-jdk</pre>
<p>I&#8217;ve always been a bit crap at Debian, it never quite works how I expect it to!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/07/java-on-debian-etch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMWare Shared Folders</title>
		<link>http://www.gunfist.com/techy/2008/05/vmware-shared-folders/</link>
		<comments>http://www.gunfist.com/techy/2008/05/vmware-shared-folders/#comments</comments>
		<pubDate>Fri, 30 May 2008 15:55:03 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[shared folder]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/?p=412</guid>
		<description><![CDATA[I wanted to add a shared folder to a linux VMWare image in VMWare player, and got thoroughly nowhere. Thanks to the magic of EasyVMX though, I know now the secritz. In the .vmx file of the VM , add: sharedFolder.option = &#8220;alwaysEnabled&#8221; sharedFolder0.present = &#8220;TRUE&#8221; sharedFolder0.enabled = &#8220;TRUE&#8221; sharedFolder0.readAccess = &#8220;TRUE&#8221; sharedFolder0.writeAccess = &#8220;TRUE&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to add a shared folder to a linux VMWare image in VMWare player, and got thoroughly nowhere. Thanks to the magic of <a href="http://www.easyvmx.com/">EasyVMX</a> though, I know now the secritz. In the .vmx file of the VM , add:</p>
<p style="padding-left: 30px;">sharedFolder.option = &#8220;alwaysEnabled&#8221;<br />
sharedFolder0.present = &#8220;TRUE&#8221;<br />
sharedFolder0.enabled = &#8220;TRUE&#8221;<br />
sharedFolder0.readAccess = &#8220;TRUE&#8221;<br />
sharedFolder0.writeAccess = &#8220;TRUE&#8221;<br />
sharedFolder0.hostPath = &#8220;D:\projects\&#8221;<br />
sharedFolder0.guestName = &#8220;share&#8221;<br />
sharedFolder0.expiration = &#8220;never&#8221;<br />
sharedFolder.maxNum = &#8220;1&#8243;</p>
<p>Restart the VM and all is joy. You will need VMWare tools on there, which can be installed, or in most cases a bit of searching will find you an image that already has it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/05/vmware-shared-folders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tunelling SVN &amp; mod_proxy</title>
		<link>http://www.gunfist.com/techy/2008/04/tunelling-svn-mod_proxy/</link>
		<comments>http://www.gunfist.com/techy/2008/04/tunelling-svn-mod_proxy/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 13:11:39 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Techy]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.gunfist.com/techy/2008/04/tunelling-svn-mod_proxy/</guid>
		<description><![CDATA[Mr Gray and I have recently been working on a project where the subversion repos is IP restricted, and we&#8217;ve been tunelling over to a machine that is in the IP allow list to get access. Because the repository is accessed via WebDAV, it either means putting our local web servers on another port than [...]]]></description>
			<content:encoded><![CDATA[<p>Mr Gray and I have recently been working on a project where the subversion repos is IP restricted, and we&#8217;ve been tunelling over to a machine that is in the IP allow list to get access. Because the repository is accessed via WebDAV, it either means putting our local web servers on another port than 80, or putting the tunnel on another port, which causes some issues with svn  externals.</p>
<p>Mr G came up with a much better solution though, enable mod_proxy in apache, and setup a local vhost like:</p>
<blockquote><p> &lt;VirtualHost *:80&gt;<br />
ServerName tunnelled.repos.server.com</p>
<p>ProxyPass /svn/ http://tunnelled.repos.server.com:&lt;tunnel port&gt;/svn/<br />
&lt;Location /svn/ &gt;<br />
ProxyPassReverse /svn/<br />
&lt;Limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE&gt;<br />
Order Deny,Allow<br />
Allow from all<br />
Satisfy Any<br />
&lt;/Limit&gt;<br />
&lt;/Location&gt;<br />
&lt;/VirtualHost&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.gunfist.com/techy/2008/04/tunelling-svn-mod_proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

