<?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>Adtools &#187; PHP</title>
	<atom:link href="http://blog.adtools.co.uk/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.adtools.co.uk</link>
	<description>Advertising Operations &#38; Technology</description>
	<lastBuildDate>Fri, 25 Nov 2011 13:21:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How to install mencoder &amp; mplayer on a dreamhost shared host</title>
		<link>http://blog.adtools.co.uk/how-to-install-mencoder-mplayer-on-a-dreamhost-shared-host/183/</link>
		<comments>http://blog.adtools.co.uk/how-to-install-mencoder-mplayer-on-a-dreamhost-shared-host/183/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 12:55:52 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[mencoder]]></category>
		<category><![CDATA[mplayer]]></category>

		<guid isPermaLink="false">http://blog.adtools.co.uk/?p=183</guid>
		<description><![CDATA[Cribbed from here http://www.netbrix.net/archives/20 a diwer tutorial on getting a Youtube like clone working on Dreamhost it covers installation of ffmpeg-php and flvtools as well, I&#8217;ll be looking at these in a later article. wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 bunzip2 essential-20061022.tar.bz2 tar -xf essential-20061022.tar mv essential-20061022 $HOME/lib wget http://www3.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 bunzip2 MPlayer-1.0rc1.tar.bz2 tar -xf MPlayer-1.0rc1.tar cd MPlayer-1.0rc1 ./configure --prefix=$HOME [...]]]></description>
			<content:encoded><![CDATA[<p>Cribbed from here <a href="http://www.netbrix.net/archives/20">http://www.netbrix.net/archives/20</a> a diwer tutorial on getting a Youtube like clone working on Dreamhost it covers installation of ffmpeg-php and flvtools as well, I&#8217;ll be looking at these in a later article.<br />
<code><br />
wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2<br />
bunzip2 essential-20061022.tar.bz2<br />
tar -xf essential-20061022.tar<br />
mv essential-20061022 $HOME/lib<br />
wget http://www3.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2<br />
bunzip2 MPlayer-1.0rc1.tar.bz2<br />
tar -xf MPlayer-1.0rc1.tar<br />
cd MPlayer-1.0rc1<br />
./configure --prefix=$HOME --with-codecsdir=$HOME/lib/essential-20061022<br />
make<br />
make install</code></p>
<p>Have just run it another Dreamhost account I have and it worked a charm.<br />
				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ --></p>
<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing_top"><iframe src="https://www.facebook.com/plugins/like.php?locale=en_US&amp;href=http%3A%2F%2Fblog.adtools.co.uk%2Fhow-to-install-mencoder-mplayer-on-a-dreamhost-shared-host%2F183%2F&amp;layout=standard&amp;show_faces=false&amp;width=51px&amp;height=24px" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:51px; height:24px;" allowTransparency="true"></iframe></span><span class="mr_social_sharing_top"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.adtools.co.uk%2Fhow-to-install-mencoder-mplayer-on-a-dreamhost-shared-host%2F183%2F&amp;text=How+to+install+mencoder+%26+mplayer+on+a+dreamhost+shared+host&amp;via=adops" target="_blank" class="mr_social_sharing_popup_link"><img src="http://blog.adtools.co.uk/wp-content/plugins/social-sharing-toolkit/images/buttons/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing_top"><g:plusone size="medium" count="false" href="http://blog.adtools.co.uk/how-to-install-mencoder-mplayer-on-a-dreamhost-shared-host/183/"></g:plusone></span><span class="mr_social_sharing_top"><script type="IN/Share" data-url="http://blog.adtools.co.uk/how-to-install-mencoder-mplayer-on-a-dreamhost-shared-host/183/"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adtools.co.uk/how-to-install-mencoder-mplayer-on-a-dreamhost-shared-host/183/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When 3rd Party AdTags Get Amended After Quality Assurance</title>
		<link>http://blog.adtools.co.uk/when-3rd-party-adtags-get-amended-after-quality-assurance/98/</link>
		<comments>http://blog.adtools.co.uk/when-3rd-party-adtags-get-amended-after-quality-assurance/98/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:25:01 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[AdOps]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.adtools.co.uk/?p=98</guid>
		<description><![CDATA[How often have you received tags through, QA&#8217;d them with your tool of choice and then trafficked them only to find out a day or so later that they&#8217;ve stopped working or worse are causing usability issues on your site. You are not alone and even better, it&#8217;s may not be your fault either. A [...]]]></description>
			<content:encoded><![CDATA[<p>How often have you received tags through, QA&#8217;d them with your tool of choice and then trafficked them only to find out a day or so later that they&#8217;ve stopped working or worse are causing usability issues on your site. You are not alone and even better, it&#8217;s may not be your fault either.</p>
<p>A recent issue arose when I got a phone-call at 5.45am with one of Editorial staff complaining that an ad was &#8216;breaking&#8217; our frontpage. Upon checking this ad (which was indeed &#8216;breaking&#8217; the page) we see an ad with a text string for a MetrixLab url directly underneath it. </p>
<p>Here&#8217;s the bad ad:<br />
<img src="http://blog.adtools.co.uk/media/12342-MS_HPTO_MPU_1.jpg" alt="Bad MPU... Bad Bad MPU!!!!" /></p>
<p>Very strange and certainly something that would have shown up in testing/QA. Evidently a user of the 3rd Party Adserver had gone back into the order after sending us the tags and amended them long after we had QA&#8217;d and trafficked them into our own Adserver. The issue here is 3rd party ad-networks who allow the amendment of their ads AFTER they&#8217;ve been tested and passed by the Publisher&#8217;s AdOps team. We fixed the order and all was well by 6.00am however this highlights a dangerous and unregulated practice by Agency Traffickers.</p>
<p>Here are some of the issues that this practice can expose your business to and why allowing tag amendment post trafficking is a very bad idea indeed:</p>
<ol>
<li><strong>Security: </strong>Allowing the post traffickign amendment of tags is siomply asking for potential security problems. Whether is XSS, Malware, Cookie hijacking or whatever the latest technique the script-kids have up their sleeves.</li>
<li><strong>Client branding: </strong>When you traffic your ads you&#8217;re responsible to make that they work correctly on your site. Any changes after that may impact on to the client&#8217;s own brand by showing the ads in unfavourably or not showing them at all.</li>
<li><strong>Lost inventory. </strong>The ads are not showing correctly, the client isn&#8217;t getting what they&#8217;ve paid for and you&#8217;re using precious inventory up delivering bad tags, someone&#8217;s got to pay.</li>
<li><strong>Publisher&#8217;s reputation: </strong>Having an ad on your homepage looking like it&#8217;s been trafficked by a 3 year old is no going to win you any favours in the board room.</li>
</ol>
<p>So, how do we make sure that this either a] doesn&#8217;t happen again or b] keep an eye on tag changes? well, there&#8217;s a coupe of ways. </p>
<ol>
<li>Enforce a Client sign-off procedure. Get the Agency to contractually agree no changes will be made after tags have been sent to your Trafficking Department.(ideal)</li>
<li>Enforce a Client change alert procedure. If you allow your clients to change tags after trafficking then have them agree to inform you of all changes as and when they make them. (will ultimately fail)</li>
<li>Have someone check each tag each day. (labour intensive)</li>
<li>Build a tool which checks for changes in tag response code. (complicated)</li>
</ol>
<p>I&#8217;ve opted to go for option 4 and will be building a tool which will be able to monitor changes in 3rd party adtags and alert users as and when these changes occur. If you&#8217;d like to test this out, please drop me a line or leave a message here and I&#8217;ll contact you back. Expect something to be visible at <a href="http://tagwatcher.adtools.co.uk/">http://tagwatcher.adtools.co.uk/</a>.</p>
<p>				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ --></p>
<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing_top"><iframe src="https://www.facebook.com/plugins/like.php?locale=en_US&amp;href=http%3A%2F%2Fblog.adtools.co.uk%2Fwhen-3rd-party-adtags-get-amended-after-quality-assurance%2F98%2F&amp;layout=standard&amp;show_faces=false&amp;width=51px&amp;height=24px" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:51px; height:24px;" allowTransparency="true"></iframe></span><span class="mr_social_sharing_top"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.adtools.co.uk%2Fwhen-3rd-party-adtags-get-amended-after-quality-assurance%2F98%2F&amp;text=When+3rd+Party+AdTags+Get+Amended+After+Quality+Assurance&amp;via=adops" target="_blank" class="mr_social_sharing_popup_link"><img src="http://blog.adtools.co.uk/wp-content/plugins/social-sharing-toolkit/images/buttons/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing_top"><g:plusone size="medium" count="false" href="http://blog.adtools.co.uk/when-3rd-party-adtags-get-amended-after-quality-assurance/98/"></g:plusone></span><span class="mr_social_sharing_top"><script type="IN/Share" data-url="http://blog.adtools.co.uk/when-3rd-party-adtags-get-amended-after-quality-assurance/98/"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adtools.co.uk/when-3rd-party-adtags-get-amended-after-quality-assurance/98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a 1&#215;1 transparent GIF response in PHP</title>
		<link>http://blog.adtools.co.uk/creating-a-1x1-transparent-gif-response-in-php/69/</link>
		<comments>http://blog.adtools.co.uk/creating-a-1x1-transparent-gif-response-in-php/69/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:44:58 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://blog.adtools.co.uk/?p=69</guid>
		<description><![CDATA[&#60;?php //saves ip address and timestamp $str=date("Y-m-d H:i:s") . ": ". $_SERVER['REMOTE_ADDR'] . "n"; file_put_contents("ip_list.txt", $str, FILE_APPEND); Sourced from: header("content-type: image/gif"); //43byte 1x1 transparent pixel gif echo base64_decode("R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); ?&#62;]]></description>
			<content:encoded><![CDATA[<pre style="margin-top: 0pt; display: inline;"><span style="color: #000000;"><span style="color: #0000bb;">&lt;?php
</span><span style="color: #ff8000;">//saves ip address and timestamp
</span><span style="color: #0000bb;">$str</span><span style="color: #007700;">=</span><span style="color: #0000bb;">date</span><span style="color: #007700;">(</span><span style="color: #dd0000;">"Y-m-d H:i:s"</span><span style="color: #007700;">) . </span><span style="color: #dd0000;">": "</span><span style="color: #007700;">. </span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'REMOTE_ADDR'</span><span style="color: #007700;">] . </span><span style="color: #dd0000;">"n"</span><span style="color: #007700;">;
</span><span style="color: #0000bb;">file_put_contents</span><span style="color: #007700;">(</span><span style="color: #dd0000;">"ip_list.txt"</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$str</span><span style="color: #007700;">, </span><span style="color: #0000bb;">FILE_APPEND</span><span style="color: #007700;">);

Sourced from: <a href="http://www.webdudes.co.za/php/1x1-transparent-gif-tracking-beacon/msg202/">

</span><span style="color: #0000bb;">header</span><span style="color: #007700;">(</span><span style="color: #dd0000;">"content-type: image/gif"</span><span style="color: #007700;">);
</span><span style="color: #ff8000;">//43byte 1x1 transparent pixel gif
</span><span style="color: #007700;">echo </span><span style="color: #0000bb;">base64_decode</span><span style="color: #007700;">(</span><span style="color: #dd0000;">"R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="</span><span style="color: #007700;">);
</span><span style="color: #0000bb;">?&gt;

</span></span></pre>
<p>				<!-- Social Sharing Toolkit v2.0.4 | http://www.marijnrongen.com/wordpress-plugins/social_sharing_toolkit/ --></p>
<div class="mr_social_sharing_wrapper"><span class="mr_social_sharing_top"><iframe src="https://www.facebook.com/plugins/like.php?locale=en_US&amp;href=http%3A%2F%2Fblog.adtools.co.uk%2Fcreating-a-1x1-transparent-gif-response-in-php%2F69%2F&amp;layout=standard&amp;show_faces=false&amp;width=51px&amp;height=24px" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:51px; height:24px;" allowTransparency="true"></iframe></span><span class="mr_social_sharing_top"><a href="http://twitter.com/share?url=http%3A%2F%2Fblog.adtools.co.uk%2Fcreating-a-1x1-transparent-gif-response-in-php%2F69%2F&amp;text=Creating+a+1%C3%971+transparent+GIF+response+in+PHP&amp;via=adops" target="_blank" class="mr_social_sharing_popup_link"><img src="http://blog.adtools.co.uk/wp-content/plugins/social-sharing-toolkit/images/buttons/twitter.png" alt="Share on Twitter" title="Share on Twitter"/></a></span><span class="mr_social_sharing_top"><g:plusone size="medium" count="false" href="http://blog.adtools.co.uk/creating-a-1x1-transparent-gif-response-in-php/69/"></g:plusone></span><span class="mr_social_sharing_top"><script type="IN/Share" data-url="http://blog.adtools.co.uk/creating-a-1x1-transparent-gif-response-in-php/69/"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adtools.co.uk/creating-a-1x1-transparent-gif-response-in-php/69/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

