<?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>Andries Seutens &#187; Andries Seutens</title>
	<atom:link href="http://blog.tjeu.be/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tjeu.be</link>
	<description>The blog of Andriesss, about PHP and other tech stuff</description>
	<lastBuildDate>Fri, 13 Nov 2009 08:40:48 +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>Would you post a sponsored Tweet about relevant products</title>
		<link>http://blog.tjeu.be/2009/would-you-post-a-sponsored-tweet-about-relevant-products/</link>
		<comments>http://blog.tjeu.be/2009/would-you-post-a-sponsored-tweet-about-relevant-products/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 16:50:57 +0000</pubDate>
		<dc:creator>Andries Seutens</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blog.tjeu.be/?p=73</guid>
		<description><![CDATA[
I didn’t even know there were paid tweets available, but after I figured out it existed I decided to experiment with it. $25,- not much you&#8217;ll say. But $25,- for a Tweet, yes correct a TWEET, and someone with only 235 followers?! It&#8217;s weird to think that some companies are paying someone ANYTHING to tweet [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data" style="float: right;margin-left: 0.75em"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://blog.tjeu.be/2009/would-you-post-a-sponsored-tweet-about-relevant-products/&nick=andriesss"></script></div><p>I didn’t even know there were paid tweets available, but after I figured out it existed I decided to experiment with it. $25,- not much you&#8217;ll say. But $25,- for a Tweet, yes correct a TWEET, and someone with only 235 followers?! It&#8217;s weird to think that some companies are paying someone ANYTHING to tweet at all.</p>
<p>The reason why I am writing this post is because after my <a href="http://twitter.com/andriesss/statuses/5649686690">sponsored tweet</a> got published, some of my followers started complaining about it. Personally, I think there is nothing wrong with tweeting for products I think my followers might find <strong>useful</strong>.  I don&#8217;t care about people&#8217;s haircut schedules, but I do care about <strong>useful </strong>and <strong>interesting </strong>things.</p>
<p>My sponsored tweet didn&#8217;t refer to any specific product, exept for the <a href="http://sponsoredtweets.com">sponsoredtweets.com</a> API, which is actually developer related information. Now if I would start tweeting about the latest age-defying serum for women over 50, yeah, you&#8217;re probably right, and I shouldn&#8217;t be tweeting such things at all.</p>
<p>Would you tweet a sponsored tweet if it contained relevant information, based on your followers list? According to some people it&#8217;s painful enough to get regular updates on your colleague feeding his cat. What if he started &#8220;spamming&#8221; your Twitter feed with product pitches? I&#8217;m not saying you should start stuffing your Twitter feed with advertisements, because you&#8217;ll lose followers one way or another. But can/would a fair amount of sponsored tweets do you any harm?</p>
<p>I&#8217;m interested in hearing your thoughts.</p>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->


]]></content:encoded>
			<wfw:commentRss>http://blog.tjeu.be/2009/would-you-post-a-sponsored-tweet-about-relevant-products/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Setting up phpUnderControl on Gentoo Linux</title>
		<link>http://blog.tjeu.be/2009/setting-up-phpundercontrol-on-gentoo-linux/</link>
		<comments>http://blog.tjeu.be/2009/setting-up-phpundercontrol-on-gentoo-linux/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 20:19:49 +0000</pubDate>
		<dc:creator>Andries Seutens</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cruisecontrol]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[phpundercontrol]]></category>

		<guid isPermaLink="false">http://blog.tjeu.be/?p=6</guid>
		<description><![CDATA[
phpUnderControl is a popular open source addon for the continuous integration tool CruiseControl. In this blog post I&#8217;ll try to explain how you can setup phpUnderControl and CruiseControl. This guide is mostly focused on getting phpUnderControl to work on a Gentoo Linux system, so some things are OS specific.
Preparing the application
I&#8217;m assuming that you already [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data" style="float: right;margin-left: 0.75em"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://blog.tjeu.be/2009/setting-up-phpundercontrol-on-gentoo-linux/&nick=andriesss"></script></div><p><a href="http://phpundercontrol.org/about.html">phpUnderControl</a> is a popular open source addon for the continuous integration tool <a href="http://cruisecontrol.sourceforge.net/">CruiseControl</a>. In this blog post I&#8217;ll try to explain how you can setup phpUnderControl and CruiseControl. This guide is mostly focused on getting phpUnderControl to work on a Gentoo Linux system, so some things are OS specific.</p>
<h2>Preparing the application</h2>
<p>I&#8217;m assuming that you already have a working PHP setup, so I&#8217;ll skip that part. The first thing we need to do is to install the required packages. CruiseControl is a Java based application, so we need to do is install the JDK:</p>
<pre class="brush: bash;">emerge dev-java/sun-jdk</pre>
<p>The next step is to install <a href="http://xdebug.org/">Xdebug</a>. At this time Gentoo still has Xdebug version 2.0.2 in its portage system, so this will require some fine tuning</p>
<pre class="brush: bash;">emerge dev-php5/xdebug</pre>
<p>After the package has been emerged, we will need to locate our xdebug ebuild file, so we run:</p>
<pre class="brush: bash;">find /usr/portage -iname &quot;xdebug-2.0.2.ebuild&quot;</pre>
<p><span>This will return the path of where the ebuild is located, and with this path we can create a new custom ebuild, based on the 2.0.2 version:</span></p>
<pre class="brush: bash;">cp /usr/portage/dev-php5/xdebug/xdebug-2.0.2.ebuild /usr/portage/dev-php5/xdebug/xdebug-2.0.5.ebuild</pre>
<p>Now we need to tell Gentoo that it should ignore our mirror list, and use the package url from the ebuild file:</p>
<pre class="brush: bash;">nano /usr/portage/dev-php5/xdebug/xdebug-2.0.5.ebuild</pre>
<p>and add the following line to the top of the file:</p>
<pre class="brush: bash;">RESTRICT=&quot;mirror&quot;</pre>
<p>Save the file, and create the digest:</p>
<pre class="brush: bash;">ebuild /usr/portage/dev-php5/xdebug/xdebug-2.0.5.ebuild digest</pre>
<p>We will now have to do the exact same thing, but for the xdebug client.</p>
<pre class="brush: bash;">cp /usr/portage/dev-php/xdebug-client/xdebug-client-2.0.2.ebuild /usr/portage/dev-php/xdebug-client/xdebug-client-2.0.5.ebuild
nano /usr/portage/dev-php/xdebug-client/xdebug-client-2.0.5.ebuild</pre>
<p>and again we add the following line to the top of the file:</p>
<pre class="brush: bash;">RESTRICT=&quot;mirror&quot;</pre>
<p>Save the file, and create the digest:</p>
<pre class="brush: bash;">ebuild /usr/portage/dev-php/xdebug-client/xdebug-client-2.0.5.ebuild digest</pre>
<p>Our custom ebuild for Xdebug 2.0.5 is now ready to be compiled, so let&#8217;s emerge it again:</p>
<pre class="brush: bash;">emerge =dev-php5/xdebug-2.0.5</pre>
<p>Once the build is done we should check if the proper Xdebug version is loaded. To do so, execute the following command:</p>
<pre class="brush: bash;">php -v | grep Xdebug</pre>
<p>If everything went well, you should see something like &#8220;with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans&#8221;. The version <strong>2.0.5</strong> is the important part here.</p>
<p>In the next step we need to install a couple of PEAR packages. I&#8217;m assuming you already have a working version of PEAR installed, or know how to set it up, as it&#8217;s fairly simple.</p>
<pre class="brush: bash;">pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHPUnit
pear install PHP_CodeSniffer
pear install --alldeps phpunit/phpUnderControl
</pre>
<h2>Installing CruiseControl &amp; phpUnderControl</h2>
<p>In this part we will download the CruiseControl archive, and extract it</p>
<pre class="brush: bash;">cd /opt
wget http://heanet.dl.sourceforge.net/sourceforge/cruisecontrol/cruisecontrol-bin-2.8.2.zip
unzip /opt/cruisecontrol-bin-2.8.2.zip
mv -f cruisecontrol-bin-2.8.2 cruisecontrol
phpuc install /usr/local/cruisecontrol
</pre>
<p>By default, cruisecontrol doesn’t have a start-up script, so let’s create it in /etc/init.d/cruisecontrol:</p>
<pre class="brush: bash;">
#!/sbin/runscript

PIDFILE=/opt/cruisecontrol/cc.pid

start() {
ebegin &quot;Starting CruiseControl&quot;
cd /opt/cruisecontrol/
./cruisecontrol.sh &gt; /dev/null 2&gt;&amp;1
eend $?
}

stop() {
ebegin &quot;Stopping CruiseControl&quot;
start-stop-daemon --stop --quiet --pidfile $PIDFILE
rm -f $PIDFILE
eend $?
}
</pre>
<p>Set the file to have executable rights, and start the cruisecontrol server:</p>
<pre class="brush: bash;">
chmod +x /etc/init.d/cruisecontrol
/etc/init.d/cruisecontrol start
</pre>
<p>If everything worked, you should now be able to browse to http://yourhost:8080/dashboard/, and you should see a working cruisecontrol server page. If you don’t,  have a quick look at the cruisecontrol logs in /opt/cruisecontrol/cruisecontrol.log to find out what might be the problem.</p>
<p>Let&#8217;s stop the CruiseControl server for now:</p>
<pre class="brush: bash;">
 /etc/init.d/cruisecontrol stop
</pre>
<h2>Adding your project to phpUnderControl</h2>
<p>phpUnderControl ships with a command line tool which allows you to automatically create CruiseControl XML configuration files. The following example assumes that CruiseControl has been installed into /opt/cruisecontrol.</p>
<pre class="brush: bash;">
phpuc project --version-control svn --version-control-url svn://yourhost/trunk --test-case AllTests --test-file AllTests.php --test-dir tests --project-name ProjectName /usr/local/cruisecontrol
</pre>
<p>After you&#8217;ve run this comand, phpUnderControl will create a build file for you in /opt/cruisecontrol/projects/&lt;projectname&gt;/build.xml.<br />
However, the file which phpUnderControl automatically creates for you is a little bit outdated. Fire it up with your favorite editor, and make sure it looks something like the following:</p>
<pre class="brush: xml;">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project name=&quot;ProjectName&quot; default=&quot;build&quot; basedir=&quot;.&quot;&gt;
 &lt;target name=&quot;build&quot; depends=&quot;checkout,phpunit&quot;/&gt;
 &lt;target name=&quot;checkout&quot;&gt;
   &lt;exec executable=&quot;svn&quot; dir=&quot;${basedir}/source&quot; failonerror=&quot;on&quot;&gt;
     &lt;arg line=&quot;up&quot;/&gt;
   &lt;/exec&gt;
 &lt;/target&gt;
 &lt;target name=&quot;phpunit&quot;&gt;
   &lt;exec executable=&quot;phpunit&quot; dir=&quot;${basedir}/source/tests&quot; failonerror=&quot;on&quot;&gt;
     &lt;arg line=&quot;--log-junit ${basedir}/build/logs/phpunit.xml --coverage-html ${basedir}/build/coverage AllTests&quot;/&gt;
   &lt;/exec&gt;
 &lt;/target&gt;
&lt;/project&gt;
</pre>
<p>You could now do a Ant testrun, and if it succeeds you can start the CruiseControl server again:</p>
<pre class="brush: bash;">
/opt/cruisecontrol/apache-ant-1.7.0/bin/ant -f /opt/cruisecontrol/projects/ProjectName/build.xml
/etc/init.d/cruisecontrol start
</pre>
<p>Go to http://yourhost.com:8080/cruisecontrol/, have a beer and celebrate. You are now ready use the full benefits of continuous integration.</p>
<h3>Other resources</h3>
<ul>
<li><a href="http://blueparabola.com/blog/installing-phpundercontrol-debian-etch">Installing phpUnderControl on Debian etch</a></li>
<li><a href="http://felix.phpbelgium.be/blog/2009/02/07/setting-up-phpundercontrol/">Setting up phpUnderControl</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->


]]></content:encoded>
			<wfw:commentRss>http://blog.tjeu.be/2009/setting-up-phpundercontrol-on-gentoo-linux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
