<?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>anty.info</title>
	<atom:link href="http://www.anty.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anty.info</link>
	<description>Comments and help on web development.</description>
	<lastBuildDate>Fri, 11 Jun 2010 14:50:34 +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>How to edit Vado HD videos with Cinelerra</title>
		<link>http://www.anty.info/2010/06/11/how-to-edit-vado-hd-videos-with-cinelerra/</link>
		<comments>http://www.anty.info/2010/06/11/how-to-edit-vado-hd-videos-with-cinelerra/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 14:47:33 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[Cinelerra]]></category>
		<category><![CDATA[Handbrake]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=165</guid>
		<description><![CDATA[Normally I edit my videos with PiTiVi. That&#8217;s easy, but has a disadvantage: HD-videos are getting rendered smaller and black bars are added (at least with my videos). Now, I found an alternative: Cinelerra. Unfortunately, Cinelerra doesn&#8217;t recognize the sound of my Vado HD camera correctly. After some research I found a solution: The following [...]]]></description>
			<content:encoded><![CDATA[<p>Normally I edit my videos with <a href="http://www.pitivi.org/">PiTiVi</a>. That&#8217;s easy, but has a disadvantage: HD-videos are getting rendered smaller and black bars are added (at least with my videos).</p>
<p>Now, I found an alternative: <a href="http://cinelerra.org/">Cinelerra</a>. Unfortunately, Cinelerra doesn&#8217;t recognize the sound of my <a href="http://www.amazon.com/gp/product/B002JM1XWQ?ie=UTF8&amp;tag=mengiftideasc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B002JM1XWQ">Vado HD camera</a> correctly. After some research I found a solution:</p>
<p><span id="more-165"></span></p>
<p>The following command-line extracts the sound from the video into a wav-file:</p>
<p><code>mplayer -vo null -vc dummy -ao pcm:waveheader:file=extract.wav video.avi</code></p>
<p>BTW: It&#8217;s fairly easy to <a title="HowTo batch convert Flip Mino and Creative Vado HD videos for Final Cut" href="http://www.federicopistono.org/blog/howto-edit-flip-mino-and-creative-vado-hd-videos-on-final-cut">convert videos</a> with <a href="http://handbrake.fr/">Handbrake</a>. It even has multi-core-support! You can hear the sound in the resulting video, but Cinelerra still doesn&#8217;t recognize the audio.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2010/06/11/how-to-edit-vado-hd-videos-with-cinelerra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reasons against a switch from Windows XP to Ubuntu 9.10</title>
		<link>http://www.anty.info/2010/01/03/reasons-against-a-switch-from-windows-xp-to-ubuntu-9-10/</link>
		<comments>http://www.anty.info/2010/01/03/reasons-against-a-switch-from-windows-xp-to-ubuntu-9-10/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 10:01:06 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows xp]]></category>
		<category><![CDATA[winxp]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=162</guid>
		<description><![CDATA[Some weeks ago I switched from Windows XP to Ubuntu 9.10. Entirely. Without a safety net. It was a big step for me. All-in-all I&#8217;m happy to have made Ubuntu my main system. However, there are some things that bother me here and there. I&#8217;m maintaining a list of arguments at this place, that speak [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-163" title="Ubuntu vs. Windows XP" src="http://www.anty.info/wp-content/uploads/2010/01/ubuntu-vs-winxp.png" alt="" width="160" height="150" />Some weeks ago I switched from Windows XP to <a href="http://www.ubuntu.com/">Ubuntu</a> 9.10. Entirely. Without a safety net. It was a big step for me.</p>
<p>All-in-all I&#8217;m happy to have made Ubuntu my main system. However, there are some things that bother me here and there.</p>
<p><span id="more-162"></span></p>
<p>I&#8217;m maintaining a list of arguments at this place, that speak against a switch to Ubuntu:</p>
<ul>
<li><strong>Slow Flash implementation</strong> &#8211; There&#8217;s a open-source variant and a close-source version by Adobe. I have to admit, I don&#8217;t own the fastest computer anymore, but none of the offered implementation allow me to watch YouTube videos smoothly. All other Flash-video-players work to some extend, with problems here and there. YouTube, however, I can only watch when Flash is in the right mood. That always seems to be the case, when I don&#8217;t want to see anything.</li>
<li><strong>Bad Word-support</strong> &#8211; Here, I&#8217;m talking about <a href="http://www.openoffice.org/">OpenOffice</a>. I used it in the past on Windows XP from time to time, but it has so many flaws, that I always ended up using the original software. That&#8217;s why I&#8217;m now sitting on Word-files that I can&#8217;t open anymore. Luckily no important ones.</li>
<li><strong>Cumbersome Whole-Disk-Encryption</strong> &#8211; With Ubuntu 9.10 you get an optional home-directory-encryption out of the box, but that&#8217;s by far not as secure as a whole-disk-encryption. On Windows XP you are able to encrypt the whole disk without any hassle with <a href="http://www.truecrypt.org/">TrueCrypt</a>. On Linux you have to create a boot-partition and chain the boot loaders &#8211; before you install Ubuntu.</li>
</ul>
<p>That were my important arguments, that bother me personally. Others may miss, that <strong>there are only few of the latest games available for Linux</strong>, but I didn&#8217;t play much on Windows either.</p>
<p>On the other side, I like the fast and free installation of software, as well as the variety. What you have to search and buy on Windows, you either get by default with Ubuntu  or can be downloaded and installed with three clicks.</p>
<p>The best, for me as a programmer, is to get the latest developer-tools with the mentioned three clicks. And all that without <a href="http://www.cygwin.com/">Cygwin</a> or <a href="http://www.mingw.org/">MSYS</a>.</p>
<p>Cheers for Linux and may Adobe eventually release a Flash-implementation with great performance for Linux!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2010/01/03/reasons-against-a-switch-from-windows-xp-to-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Webhosting for $2.08 per month!</title>
		<link>http://www.anty.info/2009/11/19/webhosting-for-2-08-per-month/</link>
		<comments>http://www.anty.info/2009/11/19/webhosting-for-2-08-per-month/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 23:06:21 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[hosting]]></category>
		<category><![CDATA[pronet]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=150</guid>
		<description><![CDATA[I&#8217;m currently testing some web hosting companies and stumbled over this deal from Pronet Hosting: They offer Shared Hosting, as well as Reseller Hosting for only $25/yr &#8211; that&#8217;s only $2.08/month! The offer is string free and will renew at a price that&#8217;s comparable to other hosting companies if you don&#8217;t cancel your account in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently testing some web hosting companies and stumbled over this deal from Pronet Hosting:</p>
<p>They offer Shared Hosting, as well as Reseller Hosting for only $25/yr &#8211; that&#8217;s only $2.08/month!</p>
<p>The offer is string free and will renew at a price that&#8217;s comparable to other hosting companies if you don&#8217;t cancel your account in the next 12 month. (They even have a 30-day money-back guarantee!)</p>
<p>Oh, and their packages seem to be pretty good compared to other companies, too!</p>
<p>So if you think you need web-hosting within the next year, you should definitely <a title="Pronet Hosting" href="http://www.anty.info/links/to/pronet">check out Pronet Hosting</a>!</p>
<p>I&#8217;m getting my account right now <img src='http://www.anty.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2009/11/19/webhosting-for-2-08-per-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to compile Haskell&#8217;s network library on Windows</title>
		<link>http://www.anty.info/2009/07/18/how-to-compile-haskells-network-library-on-windows/</link>
		<comments>http://www.anty.info/2009/07/18/how-to-compile-haskells-network-library-on-windows/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 21:45:37 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=102</guid>
		<description><![CDATA[The normal way to recompile a Haskell library would be to: download the Cabal source package e.g. from HackageDB unpack it in a directory locate the directory in the console use &#8220;cabal install &#8211;reinstall&#8221; and watch the compiling process For the network-2.2.1.3 package I couldn&#8217;t use this approach because I always got the message that [...]]]></description>
			<content:encoded><![CDATA[<p>The normal way to recompile a Haskell library would be to:</p>
<ol>
<li>download the Cabal source package e.g. from <a title="Haskells network package" href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/network">HackageDB</a></li>
<li>unpack it in a directory</li>
<li>locate the directory in the console</li>
<li>use &#8220;cabal install &#8211;reinstall&#8221; and watch the compiling process</li>
</ol>
<p>For the network-2.2.1.3 package I couldn&#8217;t use this approach because I always got the message that &#8220;getnameinfo&#8221; couldn&#8217;t be found.</p>
<p><span id="more-102"></span></p>
<p>I discovered <a title="Building network package on Windows" href="http://osdir.com/ml/haskell-cafe@haskell.org/2009-06/msg00325.html">this mail</a> that lead me to the solution, but was kinda vague in the second step. This is why I&#8217;m publishing this post. Here are the 4 steps with a detailed second step:</p>
<ol>
<li>download the source from HackageDB</li>
<li>modify configure.ac by replacing the first paragraph with the second one:<br />
<code class="prettyprint">dnl Under mingw, we may need to set WINVER to 0x0501 to expose getaddrinfo.
if test &quot;x$ac_have_getaddrinfo&quot; = x; then
old_CFLAGS=&quot;$CFLAGS&quot;
if test &quot;z$ac_cv_lib_ws2_32__head_libws2_32_a&quot; = zyes; then
CFLAGS=&quot;-DWINVER=0x0501 $CFLAGS&quot;
AC_MSG_CHECKING(for getaddrinfo if WINVER is 0x0501)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$ac_includes_default
int testme(){ getaddrinfo; }]])],[AC_DEFINE([HAVE_GETADDRINFO], [1], [Define to 1 if you have the `getaddrinfo' function.]) AC_DEFINE([NEED_WINVER_XP], [1], [Define to 1 if the `getaddrinfo' function needs WINVER set.]) EXTRA_CPPFLAGS=&quot;-DWINVER=0x0501 $EXTRA_CPPFLAGS&quot;; AC_MSG_RESULT(yes)],[CFLAGS=&quot;$old_CFLAGS&quot;; AC_MSG_RESULT(no)])
fi
fi</code><br />
<code class="prettyprint">dnl Under mingw, we may need to set WINVER to 0x0501 to expose getaddrinfo.
if test &quot;x$ac_have_getaddrinfo&quot; = x; then
old_CFLAGS=&quot;$CFLAGS&quot;
if test &quot;z$ac_cv_lib_ws2_32__head_libws2_32_a&quot; = zyes; then
dnl    CFLAGS=&quot;-DWINVER=0x0501 $CFLAGS&quot;
dnl    AC_MSG_CHECKING(for getaddrinfo if WINVER is 0x0501)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$ac_includes_default
int testme(){ getaddrinfo; }]])],[AC_DEFINE([HAVE_GETADDRINFO], [1], [Define to 1 if you have the `getaddrinfo' function.]) AC_DEFINE([NEED_WINVER_XP], [1], [Define to 1 if the `getaddrinfo' function needs WINVER set.]) EXTRA_CPPFLAGS=&quot;$EXTRA_CPPFLAGS&quot;; AC_MSG_RESULT(yes)],[CFLAGS=&quot;$old_CFLAGS&quot;; AC_MSG_RESULT(no)])
fi
fi</code></li>
<li>run &#8220;autoreconf&#8221; in the source directory. If you don&#8217;t have autoreconf download <a title="msysDTK-1.0.1.exe: Current Release: msysDTK-1.0.1 released on Jan 01 2003" href="http://sourceforge.net/projects/mingw/files/MSYS%20Supplementary%20Tools/msysDTK-1.0.1.exe/download">msysDTK-1.0.1.exe</a> (or a better version)</li>
<li>run &#8220;cabal install &#8211;reinstall&#8221;</li>
</ol>
<p>I hope this will save a lost soul some time, one day!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2009/07/18/how-to-compile-haskells-network-library-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to enable Akismet in WordPress MU – globaly</title>
		<link>http://www.anty.info/2009/05/06/how-to-enable-akismet-in-wordpress-mu-%e2%80%93-globaly/</link>
		<comments>http://www.anty.info/2009/05/06/how-to-enable-akismet-in-wordpress-mu-%e2%80%93-globaly/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:22:06 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[akismet]]></category>
		<category><![CDATA[wordpress mu]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=81</guid>
		<description><![CDATA[Akismet is the best Worpress plugin. At least from my point of view. I resist using CAPTCHAs whenever I can to offer my visitors the best user-experience. Who likes to comment a post when you additionally have to decipher symbols on an image only to type them into a textbox? For this reason I activated [...]]]></description>
			<content:encoded><![CDATA[<p>Akismet is the best Worpress plugin. At least from my point of view.</p>
<p>I resist using CAPTCHAs whenever I can to offer my visitors the best user-experience. Who likes to comment a post when you additionally have to decipher symbols on an image only to type them into a textbox?</p>
<p>For this reason I activated Akismet on all of my blogs. Now it quietly checks every comment and removes it, if it is detected as spam.</p>
<p><span id="more-81"></span>Now it happens that I own a community site based on <a title="Wordpressµ" href="http://mu.wordpress.org/">WordPress MU</a>, enabeling every registered member to run their own blog.</p>
<p>Unfortunately Akismet needs an API-key which has to be inserted by hand on each and every blog. At least that&#8217;s what I thought until today.</p>
<p><strong>There is an easier way to globally activate Akismet on WordPress MU</strong> and specify an API key that cannot be changed. Follow these steps to aktivate Akismet on all your WP MU blogs:</p>
<ol>
<li>Move the &#8220;akismet&#8221; directory from the &#8220;plugin&#8221; directory to the &#8220;mu-plugins&#8221; directory,</li>
<li>move the file &#8220;akismet.php&#8221; to the &#8220;mu-plugins&#8221; directory,</li>
<li>open the file &#8220;akismet.php&#8221; with a text editor and add your API key on line 12.</li>
</ol>
<p>Now you have activated Akismet on all blogs and the ability to change the key is gone.</p>
<p>With this setup users can&#8217;t deactivate the spam protection and you can apply yourself to more important things.<br />
Like how to get more visitors to your community site.</p>
<p>Oh, and BTW: <a href="http://www.fohguild.org/forums/attachments/screenshots/87340d1220554030-funny-strange-random-pics-2db6wiw.png">I accidently the whole site.</a> But thanks to <a title="Google Cache of anty.info" href="http://google.at/search?q=cache%3Aanty.info">Google Cache</a> I had a backup of all my posts. Just think about it when you accidental delete your whole database. <img src='http://www.anty.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2009/05/06/how-to-enable-akismet-in-wordpress-mu-%e2%80%93-globaly/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SOAP: Procedure &#8216;foo&#8217; not present</title>
		<link>http://www.anty.info/2008/09/01/soap-procedure-foo-not-present/</link>
		<comments>http://www.anty.info/2008/09/01/soap-procedure-foo-not-present/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 13:04:52 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=64</guid>
		<description><![CDATA[Recently SOAP kept shouting &#8220;Procedure &#8216;foo&#8217; not present in &#8230;&#8221; at me. I assumed the mistake in my WSDL file, since I knew the function &#8220;foo&#8221; existed. If you get the &#8220;Procedure &#8216;foo&#8217; not present&#8221;-error, too you either: forgot to add the procedure &#8220;foo&#8221; to your SOAP server implementation, or you are using a cached [...]]]></description>
			<content:encoded><![CDATA[<p>Recently SOAP kept shouting &#8220;Procedure &#8216;foo&#8217; not present in &#8230;&#8221; at me.</p>
<p>I assumed the mistake in my WSDL file, since I knew the function &#8220;foo&#8221; existed.</p>
<p>If you get the &#8220;Procedure &#8216;foo&#8217; not present&#8221;-error, too you either:</p>
<ul>
<li><strong>forgot to add the procedure</strong> &#8220;foo&#8221; to your SOAP server implementation, or</li>
<li>you are <strong>using a cached version</strong> of your WSDL file at the server side.</li>
</ul>
<p>I discovered that sometimes a cached WSDL file is used, <em>although</em> you are using this code:<br />
<code class="prettyprint">ini_set(&quot;soap.wsdl_cache_enabled&quot;, &quot;0&quot;);</code><br />
If you aren&#8217;t sure whether you are using a cached version or not, you can either</p>
<ul>
<li><strong>reboot</strong> the server to clean the cache, or</li>
<li><strong>delete</strong> all files in /tmp/ starting with &#8220;wsdl-&#8221; (rm /tmp/wsdl-*)</li>
</ul>
<p>If not a cached WSDL file is causing the problem, you should check if you really have a function &#8220;foo&#8221; in your implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2008/09/01/soap-procedure-foo-not-present/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server-side SOAP debugging in PHP</title>
		<link>http://www.anty.info/2008/08/30/server-side-soap-debugging-in-php/</link>
		<comments>http://www.anty.info/2008/08/30/server-side-soap-debugging-in-php/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 12:59:05 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[soap]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=51</guid>
		<description><![CDATA[Debugging SOAP in PHP can be really time intensive. I found the best practice debugging SOAP is using a log file. I use this code to catch exceptions in the server implementation: $logfilePath = '/path/to/your/logfile.txt'; $debug = true; require_once('Zend/Log.php'); require_once('Zend/Log/Writer/Stream.php'); $writer = new Zend_Log_Writer_Stream(fopen($logfilePath, 'a', false)); $logger = new Zend_Log($writer); try { require_once('MySoapClass.php'); if ($debug) [...]]]></description>
			<content:encoded><![CDATA[<p>Debugging SOAP in PHP can be really time intensive.</p>
<p>I found the best practice debugging SOAP is using a log file. I use this code to catch exceptions in the server implementation:</p>
<p><span id="more-51"></span></p>
<p><code class="prettyprint">$logfilePath = '/path/to/your/logfile.txt';
$debug = true;

require_once('Zend/Log.php');
require_once('Zend/Log/Writer/Stream.php');
$writer = new Zend_Log_Writer_Stream(fopen($logfilePath, 'a', false));
$logger = new Zend_Log($writer);
try {
require_once('MySoapClass.php');
if ($debug) {
ini_set(&quot;soap.wsdl_cache_enabled&quot;, &quot;0&quot;);
}
$server = new SoapServer($wsdl_url);
$server-&gt;setClass('MySoapClass');
$server-&gt;handle();
} catch (Exception $exception) {
if ($debug) {
$logger-&gt;err($exception);
}
throw new SoapFault('MySoapServer', $exception);
}</code></p>
<p>I&#8217;m using <a href="http://framework.zend.com/manual/en/zend.log.html">Zend_Log</a> for the logging part, but you should get the idea.</p>
<p>For faster feedback I&#8217;m tailing the logfile (tail -f /path/to/your/logfile.txt) and use my usual SOAP client to do the requests.</p>
<p>This debugging technique is useful if you get errors like &#8220;looks like we got no XML document&#8221; on the client side.</p>
<p>How do <em>you</em> debug server-side SOAP code?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2008/08/30/server-side-soap-debugging-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PingCrawl injects links</title>
		<link>http://www.anty.info/2008/08/06/pingcrawl-injects-links/</link>
		<comments>http://www.anty.info/2008/08/06/pingcrawl-injects-links/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 22:49:55 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[pingcrawl]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=25</guid>
		<description><![CDATA[How do you get links from all over the blogosphere quickly? You create a famous wordpress plugin and implement a backdoor to inject your own links. Josh, from Josh Team and Eli, from Blue Hat SEO did this with his WordPress plugin &#8220;PingCrawl&#8220;. PingCrawl automatically searches for related posts on other blogs with Googles blogsearch [...]]]></description>
			<content:encoded><![CDATA[<p>How do you get links from all over the blogosphere quickly?</p>
<p>You create a famous wordpress plugin and implement a backdoor to inject your own links.</p>
<p>Josh, from <a href="http://joshteam.wordpress.com/2008/08/05/pingcrawl-wordpress-plugin/">Josh Team</a> and Eli, from Blue Hat SEO did this with his WordPress plugin &#8220;<a href="http://www.bluehatseo.com/new-wordpress-plugin-pingcrawl/">PingCrawl</a>&#8220;.</p>
<p><span id="more-25"></span></p>
<p>PingCrawl automatically searches for related posts on other blogs with <a href="http://blogsearch.google.com/">Googles blogsearch</a> and pings each of them to get a valid backlink. Awesome idea!</p>
<p>If you take a look at the code of the plugin you stumble over this function:<br />
<code class="prettyprint">protected function injection() {
$link = file_get_contents( 'http://www.bluehatseo.com/cgi-bin/findsites.cgi' );
if ( empty( $link ) ) {
$link = '&lt;a href=&quot;http://www.spottedhere.com&quot;&gt;Dallas Nightlife Entertainment&lt;/a&gt;';
}
return $link;
}</code></p>
<p>This function tries to get the content of the website <a href="http://www.bluehatseo.com/cgi-bin/findsites.cgi">http://www.bluehatseo.com/cgi-bin/findsites.cgi</a>. If it doesn&#8217;t get one it will (throw an error and) return default linkcode to http://www.spottedhere.com.</p>
<p>If you read further you&#8217;ll notice this code, which injects the link at a probability of <span style="text-decoration: line-through;">1:6</span> 1:4 for each tag:</p>
<p><code class="prettyprint">$seed = rand( 0, 11 );
if ( $seed &lt;= 2 ) {
$content .= '&lt;li&gt;' . $this-&gt;injection() . '&lt;/li&gt;';
}</code></p>
<p>You are save to remove these two code parts from the plugin, if you want to.</p>
<p>If you want to inject links with a sneaky plugin, you should probably not release it in a post on a SEO blog. Just my thoughts.</p>
<p>I hope Eli will not take this post personally, I just want to protect others who are too lazy to look over the code of PingCrawl.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2008/08/06/pingcrawl-injects-links/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Giving more than 100%</title>
		<link>http://www.anty.info/2008/06/24/giving-more-than-100-percent/</link>
		<comments>http://www.anty.info/2008/06/24/giving-more-than-100-percent/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 13:55:19 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=24</guid>
		<description><![CDATA[I found the following story somewhere on the Internet. I couldn&#8217;t find the original author, so I&#8217;m republishing it here for your entertainment. Enjoy! From a strictly mathematical viewpoint it goes like this: What Makes 100%? What does it mean to give more than 100%? Ever wonder about those people who say they are giving [...]]]></description>
			<content:encoded><![CDATA[<p>I found the following story somewhere on the Internet. I couldn&#8217;t find the original author, so I&#8217;m republishing it here for your entertainment. Enjoy!</p>
<p><span id="more-24"></span></p>
<p>From a strictly mathematical viewpoint it goes like this:</p>
<p>What Makes 100%? What does it mean to give <em>more</em> than 100%? Ever wonder about those people who say they are giving more than 100%? We have all been to those meetings where someone wants you to give over 100%. How about achieving 103%? What makes up 100% in life?</p>
<p>Here’s a little mathematical formula that might help you answer these questions:</p>
<p>If:</p>
<p>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z is represented as:<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26.</p>
<p>Then:</p>
<p>H-A-R-D-W-O-R-K<br />
8+1+18+4+23+15+18+11 = 98%</p>
<p>and</p>
<p>K-N-O-W-L-E-D-G-E<br />
11+14+15+23+12+5+4+7+5 = 96%</p>
<p>But,</p>
<p>A-T-T-I-T-U-D-E</p>
<p>1+20+20+9+20+21+4+5 = 100%</p>
<p>And,</p>
<p>B-U-L-L-S-H-I-T<br />
2+21+12+12+19+8+9+20 = 103%</p>
<p><em>and</em>, look how far ass kissing will take you:</p>
<p>A-S-S-K-I-S-S-I-N-G<br />
1+19+19+11+9+19+19+9+14+7 = 118%</p>
<p>So, one can then conclude with mathematical certainty that while Hard work and knowledge will get you close, and, Attitude will get you there, Bullshit and Ass kissing will put you over the top.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2008/06/24/giving-more-than-100-percent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What to consider when deploying web apps</title>
		<link>http://www.anty.info/2008/05/21/what-to-consider-when-deploying-web-apps/</link>
		<comments>http://www.anty.info/2008/05/21/what-to-consider-when-deploying-web-apps/#comments</comments>
		<pubDate>Wed, 21 May 2008 16:13:22 +0000</pubDate>
		<dc:creator>anty</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Capistrano]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://www.anty.info/?p=23</guid>
		<description><![CDATA[When I&#8217;m tired I tend to cross read blog posts in my feedreader. This way I just found an interesting screencast in Chris Hartjes&#8217; blog which I thought I should mention here: 6 Steps to a perfect deployment. Chris explains how he&#8217;s deploying web applications and why you should follow this six-step-approach, too: The first [...]]]></description>
			<content:encoded><![CDATA[<p>When I&#8217;m tired I tend to cross read blog posts in my feedreader. This way I just found an interesting screencast in Chris Hartjes&#8217; blog which I thought I should mention here: <a href="http://www.littlehart.net/atthekeyboard/2008/04/17/deployment-is-not-a-4-letter-word-the-screencast/">6 Steps to a perfect deployment</a>.</p>
<p><span id="more-23"></span></p>
<p>Chris explains how he&#8217;s deploying web applications and why you should follow this six-step-approach, too:</p>
<ol>
<li>The first deploy will not hurt, but as soon as you change something and it breaks it <em>will</em> hurt.</li>
<li>Make sure you are able to undo changes in the productive environment if you change something.</li>
<li>Don&#8217;t forget that there&#8217;s more in your application than code!</li>
<li>Automate every step, else mistakes <em>will</em> happen!</li>
<li>Make sure the deployment and production environment are as close as possible.</li>
<li>Ownership of code is important, make sure it&#8217;s properly deployed.</li>
</ol>
<p>Chris recommends <a href="http://capify.org/">Capistrano</a>, which is originally a deploy-tool for Ruby but since version 2 it doesn&#8217;t care about what it deploys. I personally haven&#8217;t used Capistrano, but hearing Chris&#8217; satisfaction I think it&#8217;s worth checking it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anty.info/2008/05/21/what-to-consider-when-deploying-web-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
