<?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>CTRtard</title>
	<atom:link href="https://ctrtard.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://ctrtard.com</link>
	<description>Internet Marketing with a Helmet.</description>
	<lastBuildDate>Tue, 22 Apr 2014 15:00:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.26</generator>
	<item>
		<title>How to Install the Maxmind GeoIP2 Database and PHP API</title>
		<link>https://ctrtard.com/code/how-to-install-the-maxmind-geoip2-database-for-php/</link>
		<comments>https://ctrtard.com/code/how-to-install-the-maxmind-geoip2-database-for-php/#comments</comments>
		<pubDate>Tue, 22 Apr 2014 15:00:32 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[GeoIP2]]></category>
		<category><![CDATA[GeoLite2]]></category>
		<category><![CDATA[maxmind]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1688</guid>
		<description><![CDATA[A couple of years ago I posted &#8220;Blazing Geo Lookups! How To Install Maxmind PHP Extension on Your Server&#8221; which detailed how to get the Maxmind&#8217;s GeoIP database setup on your server. Since then, Maxmind has updated their database format to &#8220;GeoIP2&#8221;.  This new format is supposed to be better/faster, etc. Sounds great. But the&#8230;]]></description>
				<content:encoded><![CDATA[<p>A couple of years ago I posted &#8220;<a href="http://ctrtard.com/code/blazing-geo-lookups-how-to-install-maxmind-php-extension-on-your-server/">Blazing Geo Lookups! How To Install Maxmind PHP Extension on Your Server</a>&#8221; which detailed how to get the Maxmind&#8217;s GeoIP database setup on your server.</p>
<p>Since then, Maxmind has updated their database format to &#8220;GeoIP2&#8221;.  This new format is supposed to be better/faster, etc. Sounds great. But the new format also requires a different method of setup.</p>
<p>Unfortunately, the documentation on how to get this set up from start to finish is still non-existent. </p>
<p>While going through this set up process myself, I ran into a handful of problems. Most of them were small, but some required a lot of searching and trying different things to figure out what was wrong.  To help you avoid the same issues, I decided to create this walk-through and note any problems you might have.</p>
<h2>What&#8217;s in the box</h2>
<p>At the end of this walk-through, you&#8217;ll have:</p>
<p>(1) The latest GeoLite2-City db installed<br />
(2) The latest PHP API installed<br />
(3) The optional PHP C Extension installed<br />
(4) A feeling of warm satisfaction and accomplishment</p>
<p style="text-align: left; padding-left: 30px;"><strong>Note: These install instructions are for Centos 6.5  Final.  They should work for other Centos versions.   You&#8217;ll also probably be able to follow this guide on Ubuntu as well.  But some commands like &#8220;yum&#8221; will need to be changed.</strong></p>
<h2>I. Installing the Database</h2>
<p>First up, let&#8217;s download the latest GeoLite2-City database.   Open up your Putty SSH Client (see: &#8220;<a href="%20http://ctrtard.com/tutorials/affiliates-guide-to-ssh-part-1/">Affiliate’s Guide to SSH – Part 1</a>&#8220;) and login to your server.</p>
<p style="padding-left: 30px;"><em><strong>Note: For the purposes of this tutorial, my working directory will be &#8220;/root&#8221;.</strong></em></p>
<p>The database is a bit hard to find, but here is the download page. <a href="http://dev.maxmind.com/geoip/geoip2/geolite2/">http://dev.maxmind.com/geoip/geoip2/geolite2/</a></p>
<p>We want theGeoLite2 City Maxmind DB.  (Not the CSV).    If you hover over the link, you can right-click and &#8220;Copy Link Location&#8221;.</p>
<p>Now that we&#8217;ve got the URL, we can use wget to download it to our server, unzip it, and move it to the proper directory.  Here are the commands do just that.</p>
<p style="padding-left: 30px;"><strong><em>Note: Rather than blindly copying &amp; pasting these lines, I encourage you to spend a moment to think about what you&#8217;re doing.  Being familiar with the command line is a good thing <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em></strong></p>
<pre class="brush: bash; title: ; notranslate">
wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
gunzip GeoLite2-City.mmdb.gz
mkdir /usr/local/share/GeoIP
mv GeoLite2-City.mmdb /usr/local/share/GeoIP/
</pre>
<p>&nbsp;</p>
<p>The database is now installed, but we can&#8217;t really make any use of it until we install an API.</p>
<h2>II. Installing the PHP API</h2>
<p>Since we&#8217;ll be using our database with PHP, we&#8217;re going to be using the PHP API.  The API is available through Composer.  Composer is &#8220;dependency manager&#8221; (i.e. package manager) for PHP.    To use Composer you first need to install it.  So we&#8217;ll be using the instructions I found here: <a href="https://getcomposer.org/doc/00-intro.md#installation-nix">https://getcomposer.org/doc/00-intro.md#installation-nix</a></p>
<p>In your terminal run:</p>
<pre class="brush: bash; title: ; notranslate">curl -sS https://getcomposer.org/installer | php</pre>
<p>This will download &#8220;composer.phar&#8221; to your working directory. (Whatever directory you&#8217;re currently in).</p>
<p>Here&#8217;s a screenshot of my Putty session.</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1300.png"><img src="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1300.png" alt="2014-04-17_1300" width="732" height="635" class="alignnone size-full wp-image-1725" srcset="https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1300.png 732w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1300-300x260.png 300w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1300-461x400.png 461w" sizes="(max-width: 732px) 100vw, 732px" /></a></p>
<p>You can see I get the message &#8220;<strong>Composer successfully installed to /root/composer.phar</strong>&#8221;  &#8212; it&#8217;s telling me where it put this .phar file.</p>
<p>OK so now it&#8217;s time to use Composer to grab the geoip2 package.  (See: <a href="https://packagist.org/packages/geoip2/geoip2">https://packagist.org/packages/geoip2/geoip2</a>   and <a href="https://github.com/maxmind/GeoIP2-php">https://github.com/maxmind/GeoIP2-php</a>)</p>
<p>We need to create a .json file that tells Composer what we want to install. So back to the terminal:</p>
<pre class="brush: bash; title: ; notranslate">vi composer.json</pre>
<p>Type <strong>i</strong> (<em>To &#8220;Insert&#8221;)</em>.  Then paste this:</p>
<pre class="brush: jscript; title: ; notranslate">
{
    &quot;require&quot;: {
    &quot;geoip2/geoip2&quot;: &quot;0.6.*&quot;
    }
}
</pre>
<p>Then type :wq (<em>That&#8217;s colon+w+q</em>) To save the file.</p>
<p>There will now be a new .json file in your working directory.  Now, back in the shell, execute this command:</p>
<pre class="brush: bash; title: ; notranslate">
php composer.phar install
</pre>
<p>If all goes well, Composer will grab all the stuff we need.  </p>
<p>In my case, things did not go smoothly. I received this message:</p>
<blockquote><p>
Loading composer repositories with package information<br />
Installing dependencies (including require-dev)<br />
Your requirements could not be resolved to an installable set of packages.</p>
<p>  Problem 1<br />
    &#8211; maxmind-db/reader v0.3.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.<br />
    &#8211; geoip2/geoip2 v0.6.0 requires maxmind-db/reader 0.3.* -> satisfiable by maxmind-db/reader[v0.3.0].<br />
    &#8211; Installation request for geoip2/geoip2 0.6.* -> satisfiable by geoip2/geoip2[v0.6.0].
</p></blockquote>
<p>Composer is complaining that &#8220;bcmath&#8221; is not installed.  To fix that is pretty simple:</p>
<pre class="brush: bash; title: ; notranslate">
yum install php-bcmath
</pre>
<p>Trying the composer install command, it now works.  Yay!</p>
<p>You should now see there is a new directory called &#8220;vendor&#8221;.  This is where all of that stuff was installed to.  Here&#8217;s a screenshot of what you should see.</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1319.png"><img src="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1319.png" alt="2014-04-17_1319" width="735" height="635" class="alignnone size-full wp-image-1727" srcset="https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1319.png 735w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1319-300x259.png 300w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-17_1319-462x400.png 462w" sizes="(max-width: 735px) 100vw, 735px" /></a></p>
<p>If you run the sample code now, Geo lookups should work and everything should be peachy.  </p>
<p>If you&#8217;re happy with slow Geo lookups you can stop here and skip to section VI.  </p>
<p>But I want FAST Geo lookups.  So I&#8217;ll need to install the PHP C Extension.   <strong>You should want FAST Geo lookups too!</strong> <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h2>III. Install C Library for Maxmind DB Format</h2>
<p>The PHP C Extension requires the use of the C Library.  (Remember I said this could be confusing?)</p>
<p>Have no fear, you can just keep following along.</p>
<p style="text-align: left; padding-left: 30px;"><strong>Note: For reference purposes This page details some directions on how to do this <a href="https://github.com/maxmind/MaxMind-DB-Reader-php">https://github.com/maxmind/MaxMind-DB-Reader-php</a> also <a href="https://github.com/maxmind/libmaxminddb">https://github.com/maxmind/libmaxminddb<br />
</a></strong></p>
<p>It may be tempting to just download the Master.zip from Github but that did not work for me.  Instead I needed to use Git to clone the repository.  Nothing else seemed to work.</p>
<p>First, make sure Git is installed and do this:</p>
<pre class="brush: bash; title: ; notranslate">
yum install git
</pre>
<p>Now we can use git to clone the repository.</p>
<pre class="brush: bash; title: ; notranslate">
git clone --recursive https://github.com/maxmind/libmaxminddb
</pre>
<p>Now run the following commands:</p>
<p style="text-align: left; padding-left: 30px;"><strong>Note: Pay close attention to the output after you run ./configure and make check. The system will issue warnings and errors if it encounters a problem.  For example I got error regarding &#8220;libtool&#8221;.  To fix it I had to run &#8220;yum install libtool&#8221; before running ./bootstrap again.</strong></p>
<pre class="brush: bash; title: ; notranslate">
cd libmaxminddb
./bootstrap
./configure
make check
sudo make install
sudo ldconfig
</pre>
<p>If all goes well, the C Library for the Maxmind DB format is now installed.   We can now (finally) install the PHP C Extension.</p>
<h2>IV. Install PHP C Extension</h2>
<p>To install the PHP extension we need to navigate to a directory inside your vendor directory.  So (assuming you&#8217;re in /root) do this:</p>
<pre class="brush: bash; title: ; notranslate">
cd /root/vendor/maxmind-db/reader
</pre>
<p>Now execute the following commands:</p>
<p style="text-align: left; padding-left: 30px;"><strong>Note: if you get &#8220;Command not found&#8221; after you run &#8220;phpize&#8221; you need to install PHP Developer tools.  Do this: yum install php-devel &#8212; then try phpize again.</strong></p>
<pre class="brush: bash; title: ; notranslate">
cd ext
phpize
./configure
make
make test
make install
</pre>
<p>You should get a message like on 64-bit systems:</p>
<pre>
Installing shared extensions:     /usr/lib64/php/modules/
</pre>
<p>or this on 32-bit systems:</p>
<pre>
Installing shared extensions:     /usr/lib/php/modules/
</pre>
<p><strong>The path where your extensions are installed may be different.  That&#8217;s OK.</strong></p>
<h2>V. Configuring the PHP Extension</h2>
<p>Now that our PHP Extension is installed we need to tell PHP it&#8217;s available.  Create a PHP file called &#8220;phpinfo.php&#8221; somewhere in your web directory with this contents:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
phpinfo();
?&gt;
</pre>
<p>Now visit the page in your browser.  You should see a PHP info page.  About 7 rows down you&#8217;ll see where it says &#8220;Loaded Configuration File&#8221; and next to it a path like this:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1518.png"><img src="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1518.png" alt="2014-04-21_1518" width="412" height="218" class="alignnone size-full wp-image-1717" srcset="https://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1518.png 412w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1518-300x158.png 300w" sizes="(max-width: 412px) 100vw, 412px" /></a></p>
<p>That&#8217;s the file we need to edit.  (Your path will likely be different.) So back in the shell:</p>
<pre class="brush: bash; title: ; notranslate">
nano /etc/php.ini
</pre>
<p>Once inside the Nano editor, scroll all the way to the bottom and add this new line:</p>
<pre class="brush: bash; title: ; notranslate">
extension=maxminddb.so
</pre>
<p>CTRL-O then Enter to Save.<br />
CTRL-X to exit</p>
<p>Now we need to update the dynamic links for libmaxminddb.   Not knowing I need to do this step had me banging my head against the wall for quite some time.  Thankfully I found this post:  <a href="https://github.com/maxmind/MaxMind-DB-Reader-php/issues/7">https://github.com/maxmind/MaxMind-DB-Reader-php/issues/7</a>  Thanks to the guy who took the time to post that solution!</p>
<p>Do this:</p>
<pre class="brush: bash; title: ; notranslate">
ldconfig /usr/local/lib
</pre>
<p>Now we need to restart Apache so PHP &#8220;picks up&#8221; this new configuration.</p>
<pre class="brush: bash; title: ; notranslate">
service httpd restart
</pre>
<p>Now refresh that phpinfo.php page in your browser.  If you scroll down the page, under Configuration you&#8217;ll see extensions in alphabetical order.  If all went well, you&#8217;ll see the maxminddb extension there too!</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1503.png"><img src="http://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1503.png" alt="2014-04-21_1503" width="640" height="400" class="alignnone size-full wp-image-1712" srcset="https://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1503.png 640w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1503-300x187.png 300w, https://ctrtard.com/wp-content/uploads/2014/04/2014-04-21_1503-550x343.png 550w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<h2>VI. Testing</h2>
<p>All that&#8217;s left is to test everything.</p>
<p>Up until now, our &#8220;vendor/&#8221; directory has been sitting in root.  We need to move or copy it to our www folder so we can use it in our projects or landing pages.  We can copy it like this:</p>
<pre class="brush: bash; title: ; notranslate">
cp -r /root/vendor var/www/maxmind
</pre>
<p style="text-align: left; padding-left: 30px;"><strong>Note: Your destination directory will be different.  So change /var/www to wherever you want to copy too.  e.g. /home/{username}/www/maxmind</strong></p>
<p>Create a new file called &#8220;test.php&#8221; the &#8220;maxmind&#8221; directory and paste in this example code: (from <a href="https://github.com/maxmind/GeoIP2-php">https://github.com/maxmind/GeoIP2-php</a>):</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
require_once 'vendor/autoload.php';
use GeoIp2\Database\Reader;

// This creates the Reader object, which should be reused across
// lookups.
$reader = new Reader('/usr/local/share/GeoIP/GeoLite2-City.mmdb');

// Replace &quot;city&quot; with the appropriate method for your database, e.g.,
// &quot;country&quot;.
$record = $reader-&gt;city('128.101.101.101');

print($record-&gt;country-&gt;isoCode . &quot;\n&quot;); // 'US'
print($record-&gt;country-&gt;name . &quot;\n&quot;); // 'United States'
print($record-&gt;country-&gt;names['zh-CN'] . &quot;\n&quot;); // '美国'

print($record-&gt;mostSpecificSubdivision-&gt;name . &quot;\n&quot;); // 'Minnesota'
print($record-&gt;mostSpecificSubdivision-&gt;isoCode . &quot;\n&quot;); // 'MN'

print($record-&gt;city-&gt;name . &quot;\n&quot;); // 'Minneapolis'

print($record-&gt;postal-&gt;code . &quot;\n&quot;); // '55455'

print($record-&gt;location-&gt;latitude . &quot;\n&quot;); // 44.9733
print($record-&gt;location-&gt;longitude . &quot;\n&quot;); // -93.2323
?&gt;
</pre>
<p>If you visit the page in your browser you should see some output that shows that the IP on line 11 is located in Minneapolis.</p>
<p>You can modify this to show a users IP dynamically like this:</p>
<pre class="brush: php; first-line: 11; title: ; notranslate">
$record = $reader-&gt;city( $_SERVER['REMOTE_ADDR'] );
</pre>
<h2>Conclusion</h2>
<p>Phew.  This post took forever to create, so if you found it useful please drop me a line below.  Also retweets are welcome <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>I should note that you can use this setup with the paid &#8220;GeoIP2&#8221; database as well.  All you need to do is change the database filename in line 7 above to &#8220;GeoIP2-City.mmdb&#8221;.</p>
<p>Also, while this focuses on using the PHP API, there are many other APIs offered by Maxmind.  The Apache Module was intriguing but it only allows you to do lookups for current visitors IP.   For my purposes this was a deal breaker.  But if that&#8217;s all you want to do, you might want to have a look at that.  It may be simpler to install and simpler to use.</p>
<p>And finally&#8230; there are a lot of steps to this&#8211; that means quite a few things can go wrong along the way.  If you run into problems, go back and check your work&#8211; you may have mistyped something.  If that doesn&#8217;t help, try contacting your web host.  90% of this is server configuration so those are the guys to bug if this doesn&#8217;t work.  You can simply link to my post here and they should be able to follow this quite easily. </p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/code/how-to-install-the-maxmind-geoip2-database-for-php/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Affiliate’s Guide to SSH – Part 2</title>
		<link>https://ctrtard.com/affiliate-marketing/affiliates-guide-to-ssh-part-2/</link>
		<comments>https://ctrtard.com/affiliate-marketing/affiliates-guide-to-ssh-part-2/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 13:00:33 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1647</guid>
		<description><![CDATA[Welcome to Part 2 Whoa&#8230; no comments so far on part 1 of the series  Apparently you guys are already goddam SSH geniuses!   At the risk of telling you more stuff you already know, I&#8217;ll carry on&#8230; Now that we&#8217;ve got you logged in and primed for doing some damage, in this post we&#8217;re going to&#8230;]]></description>
				<content:encoded><![CDATA[<h2>Welcome to Part 2</h2>
<p>Whoa&#8230; no comments so far on <a href="http://ctrtard.com/tutorials/affiliates-guide-to-ssh-part-1/">part 1 of the series</a>  Apparently you guys are already goddam SSH geniuses!   At the risk of telling you more stuff you already know, I&#8217;ll carry on&#8230;</p>
<p>Now that we&#8217;ve got you logged in and primed for doing some damage, in this post we&#8217;re going to learn some new commands and find out where your web documents are stored.</p>
<h2>Navigating Directories</h2>
<p>There are a few commands that are handy for navigating directories.  We&#8217;ve already learned one: ls   The ls command defaults to a short format.   In other words it simply lists sub-directories and files.  However you can modify this by using a &#8220;switch&#8221;.  This is simply an additional parameter you use after ls like so:</p>
<pre>ls -l</pre>
<p>the &#8220;-l&#8221; switch turns on long formatting and when you use it, you&#8217;ll see a bunch of other information.  Such as&#8230; file/directory permissions, sizes, dates, etc.   Try it and see!</p>
<p>To change directories, use the &#8220;cd&#8221; command.  Like so:</p>
<pre>cd foo</pre>
<p>If the directory &#8220;foo&#8221; exists, you&#8217;ll navigate to that directory.</p>
<p>To go &#8220;up&#8221; a directory level do this:</p>
<pre>cd ..</pre>
<p>To go to the top-most directory do this:</p>
<pre>cd /</pre>
<p>As you can see the &#8220;..&#8221; and &#8220;/&#8221; characters have special significance when navigating the Linux filesystem.   We&#8217;ll learn more about this later.</p>
<p>To make directories, use the &#8220;mkdir&#8221; command.  Like so:</p>
<pre>mkdir foo</pre>
<p>Executing that command will create a directory called &#8220;foo&#8221; inside of whichever directory you&#8217;re currently in.</p>
<p>Simple so far, yes?</p>
<h2>Finding Your Web Pages</h2>
<p>When you upload pages to your server using FTP, you probably already know that you have to put them in the &#8220;public_html&#8221; directory for them to be accessible in your browser.   So knowing how to find this location is super handy for all sorts of reasons.</p>
<p>If you&#8217;ve followed along so far and logged in as the &#8220;root&#8221; user, you&#8217;re what&#8217;s known as a &#8220;super user&#8221;.  That means you can see all the other users on your server.</p>
<p>For our purposes, these other users are typically cpanel accounts.  You may have created these users yourself in WHM or a cpanel user may have been created for you by your hosting company when they provisioned your server.</p>
<p>On most WHM/Cpanel servers, each cpanel user account is usually located in this location:</p>
<blockquote><p><strong><span style="color: #ff6600;">/home/{username}/public_html/</span></strong></p></blockquote>
<p>Where {username} is the name of your cpanel user.  So let&#8217;s go there now.</p>
<p>In your SSH client, do this:</p>
<pre>cd /home
ls</pre>
<p>As you can see we changed directories to /home and then performed a directory listing.  You should see a listing that includes a few entries.  Among them, you&#8217;ll see your cpanel user(s) directories.</p>
<p>Typically, the cpanel user is the first 8 characters of the domain it was originally associated with.  For example, if your domain is superamazing.com, you should see the directory superama in your listing &#8212; the directory for the cpanel user who &#8220;owns&#8221; this domain.</p>
<p>So now you can do this:</p>
<pre>cd superama/publc_html/
ls</pre>
<p>(Change &#8220;superama&#8221; to whatever your username is).  You should see a directory listing of all the web documents you&#8217;ve uploaded via FTP.</p>
<p>Cool huh?  Obviously what you see in the /home directory is going to be different on your server.  But the point is, you should now know how to navigate to where your web documents are stored.</p>
<h2>Conclusion</h2>
<p>So far we&#8217;ve just poked around a bit, but knowing where stuff is located is really important for doing useful stuff.  Next time we&#8217;ll start doing things like renaming files, and copying and moving files and directories.  Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/affiliate-marketing/affiliates-guide-to-ssh-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Affiliate&#8217;s Guide to SSH &#8211; Part 1</title>
		<link>https://ctrtard.com/tutorials/affiliates-guide-to-ssh-part-1/</link>
		<comments>https://ctrtard.com/tutorials/affiliates-guide-to-ssh-part-1/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 15:25:28 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1592</guid>
		<description><![CDATA[Introduction OK so you&#8217;ve got your VPS or Dedicated Server all setup and you&#8217;re ready to go.  You&#8217;re welcome email lists your WHM login, your Cpanel login, and wait&#8230; what the hell is SSH?  SSH stands for Secure Shell.  It&#8217;s a way for you to login to your server and use the command line. Now&#8230;]]></description>
				<content:encoded><![CDATA[<div>
<h2>Introduction</h2>
<p>OK so you&#8217;ve got your <a href="http://ctrtard.com/beyondhosting.php">VPS or Dedicated Server</a> all setup and you&#8217;re ready to go.  You&#8217;re welcome email lists your WHM login, your Cpanel login, and wait&#8230; what the hell is SSH?  SSH stands for Secure Shell.  It&#8217;s a way for you to login to your server and use the command line.</p>
<p>Now I know what you may be thinking&#8230; in the age of touch screens, command lines may seem goofy at first glance.  But don&#8217;t be fooled.  They&#8217;re super powerful and often the fastest way to do stuff on your server.   This series of posts will cover how you can use SSH to do various tasks on your web server.</p>
<p>Before we begin, I want to be clear: I&#8217;m going to ignore all the junk you probably don&#8217;t care about and give you just the nuts and bolts so you can actually DO stuff.  Or, at the very least, open your eyes to what&#8217;s possible when you HIRE someone else to DO stuff.</p>
<p>In this first installment, we&#8217;re going to cover the very basics.  That means: getting an SSH client, logging in, and using your first command.</p>
<h2>Getting an SSH client</h2>
<p>In this case, a client is computer-ease for a program you run on your computer.  To use SSH efficiently, we need some client software.  For Windows, I recommend <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty">PuTTY</a>, or it&#8217;s cooler cousin <a href="http://haanstra.eu/putty/">PuTTY tray</a>.  Both are free.  There are other options, but I use PuTTY Tray myself.   <a href="htthttp://www.unixnewbie.org/putty-equivalent-for-mac-os-x/p://">If you&#8217;ve got a Mac, this guy talks about using Terminal</a>.</p>
<p>So go grab and install a client and let&#8217;s meet back here in 5.   (I&#8217;m not going to show you how to download and install software. If you need that much help, you need to phone a friend.)</p>
<h2>Logging in</h2>
<p>OK so once you have PuTTY up and running, you&#8217;re going to see a screen like this:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2011/08/putty.png"><img class="alignnone size-full wp-image-1242" alt="putty" src="http://ctrtard.com/wp-content/uploads/2011/08/putty.png" width="478" height="461" srcset="https://ctrtard.com/wp-content/uploads/2011/08/putty.png 478w, https://ctrtard.com/wp-content/uploads/2011/08/putty-300x289.png 300w" sizes="(max-width: 478px) 100vw, 478px" /></a></p>
<p>Enter your Host Name, Port, and then click Open.  You&#8217;re probably going to get a message about your server host key.  It&#8217;s OK to click &#8220;Yes&#8221; to trust this connection.   When you see the login prompt, type in the login info you got from your hosting company.  You should arrive at screen with a prompt like this:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2013/03/Untitled-1.jpg"><img class="alignnone size-full wp-image-1613" alt="Untitled-1" src="http://ctrtard.com/wp-content/uploads/2013/03/Untitled-1.jpg" width="835" height="568" srcset="https://ctrtard.com/wp-content/uploads/2013/03/Untitled-1.jpg 835w, https://ctrtard.com/wp-content/uploads/2013/03/Untitled-1-300x204.jpg 300w, https://ctrtard.com/wp-content/uploads/2013/03/Untitled-1-550x374.jpg 550w" sizes="(max-width: 835px) 100vw, 835px" /></a></p>
<blockquote><p>A note about PuTTY&#8217;s copy &amp; pasting behavior&#8230;</p>
<p>Putty does not allow you to use Ctrl-V to paste.  So if you just tried to paste your password and it didn&#8217;t work, that&#8217;s why.  To paste, you need right-click your mouse and the text on your clipboard will be pasted into the terminal window wherever the cursor is.</p></blockquote>
<h2>Your first command</h2>
<p>Rub your hands together three times and then type:</p>
<div></div>
<pre><span style="color: #000000;">ls</span></pre>
<div></div>
<p>(that means type the letter &#8216;l&#8217;, then &#8216;s&#8217; and then hit the Enter key).</p>
<div></div>
<div>You should see a directory listing.  For those of you who only grew up with Windows and Macs, directory = folder.</div>
<div></div>
<h2>What&#8217;s going on here</h2>
<p>Since it&#8217;s not completely obvious, let&#8217;s take a minute to discuss what&#8217;s going on here&#8230;  Using an SSH Client (PuTTY) you&#8217;ve connected via SSH to your web server.  You typed in the command &#8216;ls&#8217; and then hit Enter.   Your server responded back with directory listing.</p>
<p>So basically, the SSH client lets you control your server remotely, just as if you were sitting in front of it with a keyboard attached.  (BTW, your web server almost certainly does NOT have a keyboard attached <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> &#8230; unless your server is at <a href="http://ctrtard.com/beyondhosting.php">Beyond Hosting</a> where all servers include a free joystick as well. )</p>
<div></div>
<h2>Conclusion</h2>
<p>Nice job.  You&#8217;ve logged in and typed your first command.   Are you winded?</p>
<p>That&#8217;s enough for today.   In the next post, we&#8217;ll learn how to navigate around and find out where stuff like your web pages are stored.  Stay tuned!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/tutorials/affiliates-guide-to-ssh-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Random Acts of Affiliateness</title>
		<link>https://ctrtard.com/affiliate-marketing/random-acts-of-affiliateness/</link>
		<comments>https://ctrtard.com/affiliate-marketing/random-acts-of-affiliateness/#respond</comments>
		<pubDate>Thu, 21 Mar 2013 19:21:40 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[Ads4Dough]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[San Diego]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1472</guid>
		<description><![CDATA[It&#8217;s been awhile, I know.  I&#8217;ve missed you too!   There are a few things going on that deserve to be posted about.  So this post is going to be lean and mean.  Here we go&#8230; Aff Playbook &#38; Ctrtard Master Class I&#8217;ve teamed up with David Ford from Aff Playbook to offer a Affiliate Marketing&#8230;]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been awhile, I know.  I&#8217;ve missed you too!   There are a few things going on that deserve to be posted about.  So this post is going to be lean and mean.  Here we go&#8230;</p>
<h2>Aff Playbook &amp; Ctrtard Master Class</h2>
<p>I&#8217;ve teamed up with David Ford from Aff Playbook to offer a <a href="http://affplaybook.com/blog/online-marketing/aff-playbook-ctrtard-master-class-registration-open/">Affiliate Marketing Master Class</a>.  These master classes are small group, intensive coaching courses designed to make you a top affiliate. Our path to success will be one that’s been proven to work time and time again: We’re going to be systematically working on mastering one area of affiliate marketing to become truly successful<b>.  </b>These classes are &#8220;live&#8221; via Skype so you can attend from your home or office from anywhere in the world.</p>
<p><strong>There are 3 classes available:</strong></p>
<p>Class 1 &#8211; PPV &#8230; Designed to teach you exactly how to run PPV traffic profitably, and scale it.</p>
<p>Class 2 &#8211; Long Term Projects &#8230; Each week we&#8217;ll be teaching you specific projects and techniques for stable, long term revenue.</p>
<p>Class 3 &#8211; Adult Marketing &#8230; How to master this super hot niche and get the most out of this vertical.</p>
<p>We&#8217;ve taught some of these techniques privately elsewhere and had excellent feedback.   If any of these topics are something you&#8217;d like to learn, you won&#8217;t be disappointed.   We&#8217;ve put together some amazing content and you&#8217;ll definitely learn a ton.</p>
<p>Interested?  You should be!  David did a full post with all of the details about the <a href="http://affplaybook.com/blog/online-marketing/aff-playbook-ctrtard-master-class-registration-open/http://">Master Class</a>.  It has tons of details and info on how to apply for the class.</p>
<h2>A4D Meetup</h2>
<p>This has proven time and time again to be a really good event for learning and networking. <a href="http://www.oooff.com/php-affiliate-seo-blog/">Jason </a>and <a href="https://www.a4d.com/">A4D</a> always do a great job lining up interesting speakers and offering a great opportunity to meetup with other affiliates. Last year about 400 people showed up.</p>
<p>Once again it&#8217;s being held at the Hard Rock Hotel in San Diego.   A nice place that located downtown in the Gaslamp.   This is my hometown, so if you guys need any recommendations or info about the city, post in the comments and I&#8217;ll help if I can.</p>
<p><strong>I highly recommend attending this FREE event. </strong></p>
<p>P.S. Find me at the meetup and get your own, coveted, CTRtard button!</p>
<p>When: Saturday, March 30, 2013 @ 9:00AM</p>
<p>Where: San Diego, CA</p>
<p>RSVP: <a href="http://a4d.wufoo.com/forms/a4d-meetup/">http://a4d.wufoo.com/forms/a4d-meetup/</a></p>
<h2><strong>Adtech San Francisco</strong></h2>
<p>It&#8217;s Adtech time again.  I&#8217;ve only been to this conference once before (last year).  It was OK but I didn&#8217;t really spend a lot of time at the event TBH.  As usual, I got the most out of networking.  <a href="http://ctrtard.com/wp-content/plugins/oiopub-direct/modules/tracker/go.php?id=10">Affplaybook Forum</a> and <a href="http://a4d.com">Ads4Dough</a> hosted a meetup near Moscone center.  There was a decent turnout and plenty of left-over beer.  Which I commandeered and shared with my brother-in-law who lives close-by.   <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>I can&#8217;t say this event is really a homerun.   Especially compared to the A4D meetup.  If you can only attend one, go for A4D.</p>
<p>When: April 9-10, 2013</p>
<p>Where: San Francisco, CA</p>
<p>Signup: <a href="http://na.ad-tech.com/sf/">http://na.ad-tech.com/sf/</a></p>
<p>&nbsp;</p>
<p>That&#8217;s it.  See you in San Diego!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/affiliate-marketing/random-acts-of-affiliateness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wacky Prosper202 Tip #746</title>
		<link>https://ctrtard.com/tracking/wacky-prosper202-tip-746/</link>
		<comments>https://ctrtard.com/tracking/wacky-prosper202-tip-746/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 22:38:40 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Tracking]]></category>
		<category><![CDATA[Prosper202]]></category>
		<category><![CDATA[Tracking202]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1444</guid>
		<description><![CDATA[If I had a dollar for every time someone has asked be about this &#8220;problem&#8221; with their stats, I&#8217;d be able to buy a lot of beer. When checking stats in Prosper202, you may have run into something that looks like this: The above screenshot is from the Analyze &#62; Landing Pages screen.  Notice how&#8230;]]></description>
				<content:encoded><![CDATA[<p>If I had a dollar for every time someone has asked be about this &#8220;problem&#8221; with their stats, I&#8217;d be able to buy a lot of beer.</p>
<p>When checking stats in Prosper202, you may have run into something that looks like this:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-clicks-and-clickthroughs-slide-1.gif"><img class="alignnone size-medium wp-image-1445" title="prosper202-clicks-and-clickthroughs-slide-1" src="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-clicks-and-clickthroughs-slide-1-300x157.gif" alt="" width="300" height="157" srcset="https://ctrtard.com/wp-content/uploads/2012/10/prosper202-clicks-and-clickthroughs-slide-1-300x157.gif 300w, https://ctrtard.com/wp-content/uploads/2012/10/prosper202-clicks-and-clickthroughs-slide-1.gif 588w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>The above screenshot is from the Analyze &gt; Landing Pages screen.  Notice how Clicks is the same as Click Throughs.</p>
<p>My landing pages aren&#8217;t THAT good.  I don&#8217;t have 100% CTR.   So what&#8217;s up?</p>
<h2>Evil Dropdowns</h2>
<p>Check out what my Aff Network/Campaign dropdowns are set to:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-aff-network-dropdown-slide-2.gif"><img class="alignnone size-full wp-image-1447" title="prosper202-aff-network-dropdown-slide-2" src="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-aff-network-dropdown-slide-2.gif" alt="" width="386" height="138" srcset="https://ctrtard.com/wp-content/uploads/2012/10/prosper202-aff-network-dropdown-slide-2.gif 386w, https://ctrtard.com/wp-content/uploads/2012/10/prosper202-aff-network-dropdown-slide-2-300x107.gif 300w" sizes="(max-width: 386px) 100vw, 386px" /></a></p>
<p>Now it might seem handy to be able to limit your view to a specific Affiliate Network, but think about what you&#8217;re asking Prosper to show you.</p>
<p>You&#8217;re saying &#8220;only show me results for THIS affiliate network&#8221;.  In this example, that network would be cpatrend.</p>
<h2>What Would Prosper Do?</h2>
<p>To do what you asked, Prosper checks its database and finds all the clicks that it can determine went to cpatrend.   The only way it can determine a click &#8220;belongs&#8221; to a cpatrend offer is if the visitor <strong><em>actually clicks through to the offer</em></strong>.</p>
<p>That&#8217;s why Clicks = Click Throughs.</p>
<h2>The &#8220;Fix&#8221;</h2>
<p>The fix is simple.  Clear your Aff Network dropdowns and refresh the stats.  Now you get something like this:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-good-stats-slide-3.gif"><img class="alignnone size-full wp-image-1448" title="prosper202-good-stats-slide-3" src="http://ctrtard.com/wp-content/uploads/2012/10/prosper202-good-stats-slide-3.gif" alt="" width="368" height="157" srcset="https://ctrtard.com/wp-content/uploads/2012/10/prosper202-good-stats-slide-3.gif 368w, https://ctrtard.com/wp-content/uploads/2012/10/prosper202-good-stats-slide-3-300x127.gif 300w" sizes="(max-width: 368px) 100vw, 368px" /></a></p>
<p>Phew!   The CTR now makes sense and all is right with the world.</p>
<p>You are now ready, Grasshopper.</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/tracking/wacky-prosper202-tip-746/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New A/B Split Test Calculator &#038; LPG</title>
		<link>https://ctrtard.com/affiliate-marketing/new-ab-split-test-calculator-lpg/</link>
		<comments>https://ctrtard.com/affiliate-marketing/new-ab-split-test-calculator-lpg/#comments</comments>
		<pubDate>Mon, 21 May 2012 22:30:04 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[adcalc]]></category>
		<category><![CDATA[landing page genius]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1432</guid>
		<description><![CDATA[Wow it’s been almost six months since my last blog post. I’m a slacker, what can I say. But fear not, my faithful 11 readers&#8230; this blog is not dead!   Back to business… AdCalc AdCalc.net has grown a bit. Back in February I added a PPC Campaign Calculator and CPM Campaign Calculator. Both of these&#8230;]]></description>
				<content:encoded><![CDATA[<p>Wow it’s been almost six months since my last blog post. I’m a slacker, what can I say.</p>
<p>But fear not, my faithful 11 readers&#8230; this blog is not dead!   Back to business…</p>
<h1>AdCalc</h1>
<p><a href="http://adcalc.net/">AdCalc.net</a> has grown a bit. Back in February I added a <a href="http://adcalc.net/ppc/">PPC Campaign Calculator</a> and <a href="http://adcalc.net/cpm/">CPM Campaign Calculator</a>. Both of these are pretty cool and so far I’ve heard good things.</p>
<p>Brand new today I added an <a href="http://adcalc.net/split-test/">A/B Split Testing Calculator</a>. It lets you compare two landing pages or two creatives and determine the winner using statistical significance. Some slick math goes on behind the scenes but you’ll be happy to know I left that to someone far smarter than me <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Check it out and tell me what you think.</p>
<h1>Landing Page Genius</h1>
<p>At the beginning of January I launched <a href="http://landingpagegenius.com/">Landing Page Genius</a>. It’s a product that lets you do multivariate testing using Prosper202 or CPV Lab. It’s pretty sweet if I do say so myself. The feedback I’ve gotten since launch has been really positive.</p>
<p>While it’s not a tool for super newbies, intermediate and experienced marketers should find it invaluable. It lets you take your LP testing to a whole new level. Used properly, it can pay for itself in a matter of hours. Watch for a full blog post about it soon.</p>
<h1>Stay Tuned</h1>
<p>I’ve got some interesting stuff ready for upcoming posts &#8212; some tutorials, some code, and more &#8212; so stay tuned!</p>
<p>See you in another six months! (I kid, I kid.)</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/affiliate-marketing/new-ab-split-test-calculator-lpg/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>AdCALC New Internet Marketing Calculators Site</title>
		<link>https://ctrtard.com/affiliate-marketing/adcalc-new-internet-marketing-calculators-site/</link>
		<comments>https://ctrtard.com/affiliate-marketing/adcalc-new-internet-marketing-calculators-site/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 20:31:50 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[adcalc]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1407</guid>
		<description><![CDATA[Happy New Year! The new year is here and it&#8217;s time for me to get crackin&#8217; on projects that&#8217;ve been on the back burner. AdCALC is one of those projects. A few months back, while goofing around with the jQuery UI library, I got the idea to make a simple marketing calculator. Once I got&#8230;]]></description>
				<content:encoded><![CDATA[<p><strong>Happy New Year!</strong></p>
<p>The new year is here and it&#8217;s time for me to get crackin&#8217; on projects that&#8217;ve been on the back burner. <a href="http://adcalc.net">AdCALC</a> is one of those projects.</p>
<p>A few months back, while goofing around with the jQuery UI library, I got the idea to make a simple marketing calculator. Once I got rolling, it was hard to stop <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The site sat at about 90% completion for the past 3 months until this week when I decided to get it finished.</p>
<p>I think it turned out pretty good. It&#8217;s got two &#8220;Business Planning Calculators&#8221;&#8211; the coolest of which is the <a href="http://adcalc.net/cpv/">CPV Campaign Calculator</a>. It lets you tweak just about every aspect of a CPV campaign to perform some slick &#8220;what if&#8221; scenarios.   The other one is the <a href="http://adcalc.net/offer-compare/">Offer Compare Calculator</a> which lets you compare the Payout and Conversion Rate of two different offers to see which has the higher EPC, etc.</p>
<p>It&#8217;s also got a collection of &#8220;Mini Calcs&#8221; that let you do some simple marketing specific calculations.</p>
<h2>Sharing is Caring</h2>
<p>In my opinion the coolest thing about <a href="http://adcalc.net">AdCALC</a> is the sharing it lets you do. When you click on the Share icon in any calculator, you&#8217;re presented with four different ways to share:</p>
<p><strong>1. Tweet Button</strong> &#8212; Easily share your calculation on Twitter.</p>
<p><strong>2. Interactive Lin</strong>k &#8212; This spits out a link like this: <a href="http://adcalc.net/cpv/?calc=Q3RydGFyZCdzIENQViBDYW1wYWlnbiwwLjAzOSwyODAsMC4wNSwwLjE4LDUuNTU=">my calculation</a> Notice how the values I&#8217;ve set are preserved. Now you can see what I see. Paste it in a Skype chat group and share your stats with your business partner.</p>
<p><strong>3. Embed an Info Graphic</strong> &#8212; This is pretty slick. AdCALC will spit out a link to an image link, like this: <a href="http://adcalc.net/cpv/graphic.php?calc=Q3RydGFyZCdzIENQViBDYW1wYWlnbiwwLjAzOSwyODAsMC4wNSwwLjE4LDUuNTUsNzE3OSwzNTksNjUsMzYwLjc1LDgwLjc1LDI5JSwwLjc4LDQuMzE=">image link </a>You can use this as the src in any img tag or use it to embed a picture inside virtually any forum post. This is great for doing case studies or sharing stats on forums.</p>
<p><strong>4. Complete HTML Code for Info Graphic &amp; Link.</strong>  AdCALC also produces complete html code so you can insert an info graphics that&#8217;s clickable &#8212; and links to your calculation. Sweet! Less work = warm fuzzy feeling.</p>
<p><a href="http://adcalc.net/ctr/?calc=Q3RydGFyZCdzIENUUiwzODAsNzA="><img src="http://adcalc.net/ctr/graphic.php?calc=Q3RydGFyZCdzIENUUiwzODAsNzAsMTguNDI="></a></p>
<h2>Future Plans</h2>
<p>I&#8217;m planning to add both PPC and CPM Campaign Calculators soon. And thanks to some great ideas from <a href="http://ctrtard.com/ppvplaybook.php">Affplaybook Forum</a> members, I&#8217;ve got a few more calculators on the drawing board as well.</p>
<p><strong>If anyone has an idea for something they&#8217;d like to see, let me know!</strong></p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/affiliate-marketing/adcalc-new-internet-marketing-calculators-site/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Affiliate Cage Match Las Vegas</title>
		<link>https://ctrtard.com/affiliate-marketing/affiliate-cage-match-las-vegas/</link>
		<comments>https://ctrtard.com/affiliate-marketing/affiliate-cage-match-las-vegas/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 08:10:44 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Affiliate Marketing]]></category>
		<category><![CDATA[asw]]></category>
		<category><![CDATA[mma]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1394</guid>
		<description><![CDATA[You just knew it was too good to be true. As of yesterday, Shoemoney posted that his fight with Barman is off. Citing an injury he wrote the following: “Call me a pussy or whatever but my knee is not worth re-injuring and my doctor said it would be really stupid for me to get&#8230;]]></description>
				<content:encoded><![CDATA[<p>You just knew it was too good to be true.</p>
<p>As of yesterday, <a href="http://www.shoemoney.com/2011/12/19/barman-ppc-bz-vs-shoemoney-mma-fight-update/">Shoemoney posted that his fight</a> with Barman is off</a>.  Citing an injury he wrote the following:</p>
<blockquote><p>“Call me a pussy or whatever but my knee is not worth re-injuring and my doctor said it would be really stupid for me to get in a mma fight”</p></blockquote>
<p>PUSSY!</p>
<p>Moving right along. My first thought was to find another opponent for <a href="http://www.ppc.bz/industry-news/affiliate-summit-west-2012-viva-las-vegas-and-affiliate-balls">Barman</a>, who I’m sure, has been following a rigorous training regimen and gulping down 6 raw eggs every morning.</p>
<p>Opponents that come to mind:</p>
<p>Jonathan Volk, John Chow, and Ian Fernando.  </p>
<p>My personal preference would be John Chow – if anyone deserves to be put into a Kimura for some useless blog posts it&#8217;s this guy. <img src="https://s.w.org/images/core/emoji/11/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />  But seriously, any of these matchups would make a great title fight.  But we still need some opening bouts. </p>
<p>Then I got to thinking…  what about a <strong>Paid Forum Owner Battle Royale</strong>?</p>
<p>David “King of Pops” Ford vs. Jordan “the Stackman” vs. Will “PPC Coach” Haimerl vs. Ralph “Ruck” Ruckman &#038; Ryan “Super Twin” Gray.  </p>
<p>Now THAT’s a fight card.  </p>
<p>Now I realize a lot of these guys are probably super busy.  Especially Ruck &#038; Ryan with their grueling schedule of making 37 blog updates a day.  But surely they can make some time to do some rear naked chokes, can’t they?</p>
<p>I mean Nelly shmelly.  I want to see some super affiliates take some Superman punches to the face!<br />
<strong><br />
If you’re with me, please sign this “petition” by leaving a comment below.</strong>  </p>
<p>I mean seriously, what else are we going to do for entertainment?</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/affiliate-marketing/affiliate-cage-match-las-vegas/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Jumptap Offer Rotation &#038; Tracking Script for Prosper 202</title>
		<link>https://ctrtard.com/tracking/jumptap-offer-rotation-tracking-script-for-prosper-202/</link>
		<comments>https://ctrtard.com/tracking/jumptap-offer-rotation-tracking-script-for-prosper-202/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 08:18:03 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Tracking]]></category>
		<category><![CDATA[jumptap]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Prosper202]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1357</guid>
		<description><![CDATA[This script is designed to help you track clicks from Jumptap, one of the more popular mobile ad networks. It grabs tracking variables passed by Jumptap and turns them into c variables used by Prosper202. This allows you to see exactly what publisher, keyword/category, handset, and carrier are converting. The script will also rotate offers&#8230;]]></description>
				<content:encoded><![CDATA[<p>This script is designed to help you track clicks from <a href="http://jumptap.com">Jumptap</a>, one of the more popular mobile ad networks.   It grabs tracking variables passed by Jumptap and turns them into c variables used by Prosper202.  This allows you to see exactly what publisher, keyword/category, handset, and carrier are converting.</p>
<p>The script will also rotate offers if you add more than one link.</p>
<h2>Code</h2>
<div class="codeblock">
<pre class="brush: php; first-line: 1; title: ; notranslate">
&amp;lt;?php
/**
* Jumptap Offer Rotation &amp;amp; Tracking for Prosper 202 by ctrtard.com
* Last update 10-14-2011
* 
* http://ctrtard.com/tracking/jumptap-offer-rotation-tracking-script-for-prosper-202
* 
* This script will accept tracking variables from Jumptap and pass
* them along to Prosper 202.  It will also rotate one or more offers.
* 
* 
* Usage:
* Add 1 or more Direct Links from Tracking 202 as shown below.
* 
* Make sure you DO NOT use c1-c4 variables when pulling your links.
* The c1-c4 vars will be populated automatically as follows: 
* c1 = publisher, c2 = keyword, c3 = handset, c4 = carrier
* 
* t202kw has been intentionally left unused.   You can use it for
* whatever you want.  Maybe campaign name?
* 
* Upload this script to your server and use it as your Destination URL.
*  
* e.g. http://yourdomain.com/free-ipad.php
* 
* Important!:
* In Jumptap 'Ad Details' tab, make sure you set
* 'Append tracking parameters to destination url' to YES* 
*  
**/


// Example: $link[] = 'http://prosper202domain/tracking202/redirect/dl.php?t202id=12345&amp;amp;t202kw=';  

$link[] = 'http://prosper202domain/tracking202/redirect/dl.php?t202id=12345&amp;amp;t202kw=';



/*
STOP!! No need to edit below this line.
==================================================================== 
*/

// pick a link at random
if (count($link) &amp;lt; 1) die ('Error! No links are defined.');
$n = rand(0, count($link)-1 );
$url = $link[$n];

// grab t202kw from incoming url
if (isset($_GET['t202kw'])) {
    $t202kw = $_GET['t202kw'];
    $t202kw = rawurlencode($t202kw);    
    // populate t202kw= var
    $url = str_ireplace(&amp;quot;t202kw=&amp;quot;, &amp;quot;&amp;amp;t202kw=$t202kw&amp;quot;, $url);
}

// grab jumptap specific vars
if (isset($_GET['jt-campaign'])) {
    $jt_campaign = $_GET['jt-campaign'];
    $jt_campaign = rawurlencode($jt_campaign);    
}
if (isset($_GET['jt-adbundle'])) {
    $jt_adbundle = $_GET['jt-adbundle'];
    $jt_adbundle = rawurlencode($jt_adbundle);    
}
if (isset($_GET['jt-keyword'])) {
    $jt_keyword = $_GET['jt-keyword'];
    $jt_keyword = rawurlencode($jt_keyword);    
}
if (isset($_GET['jt-operator'])) {
    $jt_operator = $_GET['jt-operator'];
    $jt_operator = rawurlencode($jt_operator);    
}
if (isset($_GET['jt-handset'])) {
    $jt_handset = $_GET['jt-handset'];
    $jt_handset = rawurlencode($jt_handset);    
}
if (isset($_GET['jt-publisher'])) {
    $jt_publisher = $_GET['jt-publisher'];
    $jt_publisher = rawurlencode($jt_publisher);    
}
if (isset($_GET['jt-site'])) {
    $jt_site = $_GET['jt-site'];
    &lt;a href=&quot;http://jafrenkejnshtein.ru&quot;&gt;more info&lt;/a&gt;


$jt_site = rawurlencode($jt_site);    
}
if (isset($_GET['jt-query'])) {
    $jt_query = $_GET['jt-query'];
    $jt_query = rawurlencode($jt_query);    
}
if (isset($_GET['tsmid'])) {
    $tsmid = $_GET['tsmid'];
    $tsmid = rawurlencode($tsmid);    
}
if (isset($_GET['tsmname'])) {
    $tsmname = $_GET['tsmname'];
    $tsmname = rawurlencode($tsmname);    
}

// append c vars
$url .= &amp;quot;&amp;amp;c1=$jt_publisher&amp;amp;c2=$jt_keyword&amp;amp;c3=$jt_handset&amp;amp;c4=$jt_operator&amp;quot;;

// do redirect
header(&amp;quot;Location: $url&amp;quot;);
?&amp;gt;

</pre>
</div>
<h2>Usage</h2>
<p>This is pretty straightforward.  Upload the script to your server.  I recommend you name it something related to the niche you&#8217;ll be promoting.  For example if you&#8217;re going to promote and test free ipad offers, call it free-ipad.php</p>
<p>You can add one or more links as shown in the script.  If you have more than one link, they will be rotated so you can test similar offers.</p>
<p>When you pull links from Prosper202, make sure you <strong>DO NOT define c1-c4 variables</strong>.  This script will populate those for you.  Also, don&#8217;t bother with cloaking.  You want the redirect to be as fast as possible for these slow mobile connections.</p>
<p>I intentionally left t202kw unused.  So you can ignore it, or use this for whatever you want. Maybe you want to use it to pass the campaign name?  See below.</p>
<h2>Examples</h2>
<p>Let&#8217;s say you upload this script to http://yourdomain.com/jumptap/free-ipad.php</p>
<p>That URL now becomes your destination link for use in Jumptap.  </p>
<p>You&#8217;re all done.  That would work just fine.</p>
<p>If you want to get fancier and pass along something to the t202kw variable.  You could do that by making your Destination URL be this:</p>
<p>http://yourdomain.com/jumptap/free-ipad.php?t202kw=ipadcampaign2</p>
<p><strong>Note:</strong> Make sure you go the Ad Details screen in Jumptap and enable the Append Tracking setting like so:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-append-tracking.png"><img src="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-append-tracking.png" alt="" title="jumptap-append-tracking" width="342" height="71" class="alignnone size-full wp-image-1369" srcset="https://ctrtard.com/wp-content/uploads/2011/10/jumptap-append-tracking.png 342w, https://ctrtard.com/wp-content/uploads/2011/10/jumptap-append-tracking-300x62.png 300w" sizes="(max-width: 342px) 100vw, 342px" /></a></p>
<h2>Results</h2>
<p>To view results, go to Overview > Group Overview in Prosper202.</p>
<p>Make sure you set your Group By settings.  In this pic, I set it to group by c4, which is where the mobile carrier is stored:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-groupby.png"><img src="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-groupby.png" alt="" title="jumptap-202-groupby" width="367" height="47" class="alignnone size-full wp-image-1363" srcset="https://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-groupby.png 367w, https://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-groupby-300x38.png 300w" sizes="(max-width: 367px) 100vw, 367px" /></a></p>
<p>And here you can see what this breakdown looks like:</p>
<p><a href="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-grouped.png"><img src="http://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-grouped.png" alt="" title="jumptap-202-grouped" width="591" height="341" class="alignnone size-full wp-image-1382" srcset="https://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-grouped.png 591w, https://ctrtard.com/wp-content/uploads/2011/10/jumptap-202-grouped-300x173.png 300w" sizes="(max-width: 591px) 100vw, 591px" /></a></p>
<h2>Wrapup</h2>
<p>That&#8217;s it!  As you can see, it&#8217;s simple to see which carriers are converting.  To see a breakdown by handset/device, group by c3.   Sweet!</p>
<p>As a final note, <a href="http://ctrtard.com/neverblue.php">Neverblue</a> has excellent mobile tracking under Advanced Reporting.   Definitely check it out.</p>
<p>Please leave some comments and let me know how it works for you.</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/tracking/jumptap-offer-rotation-tracking-script-for-prosper-202/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Prosper 202 1.7 Release and Chart disable Mod</title>
		<link>https://ctrtard.com/tracking/prosper-202-1-7-release-and-chart-disable-mod/</link>
		<comments>https://ctrtard.com/tracking/prosper-202-1-7-release-and-chart-disable-mod/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:00:14 +0000</pubDate>
		<dc:creator><![CDATA[ctrtard]]></dc:creator>
				<category><![CDATA[Tracking]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Prosper202]]></category>
		<category><![CDATA[Tracking202]]></category>

		<guid isPermaLink="false">http://ctrtard.com/?p=1319</guid>
		<description><![CDATA[The long awaited new release of Prosper 202 1.7 is available for download today. Nana has put quite a bit of work into this new version and it looks like it&#8217;s a real winner. This new version has some changes to the UI/design as well as some changes under the hood. Here&#8217;s your executive summary:&#8230;]]></description>
				<content:encoded><![CDATA[<p>The long awaited <a href="http://prosper.tracking202.com/apps/download/">new release of Prosper 202 1.7 is available for download</a> today.   <a href="http://www.nanagilbertbaffoe.com/" title="Nana's Blog">Nana</a> has put quite a bit of work into this new version and it looks like it&#8217;s a real winner.</p>
<p>This new version has some changes to the UI/design as well as some changes under the hood.  Here&#8217;s your executive summary:</p>
<h2>UI</h2>
<p>The UI has been relabeled here and there to make more sense.  For example in the Setup tab, &#8220;PPC Accounts&#8221; has been replaced with &#8220;Traffic Sources&#8221;.  &#8220;Aff Networks&#8221; has been replaced with &#8220;Categories&#8221;.  The idea being: you can group campaigns together by network, by vertical, or by campaign type.  Overall this makes for a more user friendly and intuitive experience.</p>
<p>A mod by yours truly also made it into this new release!  My <a href="http://ctrtard.com/affiliate-marketing/pimp-your-prosper-with-subid-injection-buttons/">Subid Injection Buttons</a> mod is now officially part of Prosper 202. Sweet!</p>
<p>Another great mod that is now part of the standard release is Jasper&#8217;s <a href="http://nerdyaffiliate.com/pay-per-click-marketing/prosper202-lp-ctr-mod-for-1-5-x-1-6-x">Keywords LP CTR mod</a>.  If you haven&#8217;t used this mod, it is badass and a definite must.  </p>
<p>There is also a handy Mobile Mini View.  You can see this by pointing your mobile browser to http://yourdomain/202-Mobile/ </p>
<h2>Under the Hood</h2>
<p>The Administration section now has a button that lets you clear out (delete) all of your click data.  This button will keep all of your setup info (traffic sources, campaigns, etc.) but <a href="http://numberswiki.com/">numberswiki.com</a></p>
<p>zero out all of the click information.  Doing this periodically after running a lot of volume will keep your 202 database nice and snappy.</p>
<p>There is also now support for third party pixels to be associated with each traffic source.  So when 202 sees a conversion happen, it will fire that traffic source&#8217;s pixel.  </p>
<p>And finally, probably one of the most important new changes is that <strong>redirect speed has been greatly improved.</strong> According to Nana, redirects are 2-5 times faster now.  This is a BIG deal because as we all know, speed is king.  This new speed should translate into improved CTR and ROI on your campaigns.</p>
<h2>Chart Disable Mod</h2>
<p>To coincide with the new Prosper release, here&#8217;s a mod I&#8217;ve used myself for awhile.  Personally I don&#8217;t get a lot out of the charts. I prefer looking at the data as it&#8217;s broken down in the tables.   So with that in mind, here&#8217;s the mod:</p>
<p><strong>Edit 202-config/functions-tracking202.php</strong></p>
<div class="codeblock">
<pre class="brush: php; first-line: 2927; highlight: [2928]; title: ; notranslate">
function showChart ($chart, $chartWidth, $chartHeight) {
	return; // disable charts   
	$reg_key = &quot;C1XUW9CU8Y4L.NS5T4Q79KLYCK07EK&quot;;
</pre>
</div>
<p>You can see the change in the highlighted line above.  This will disable all charts from being displayed.  The result will be a 202 that&#8217;s a little snappier.  You will also free up more real estate on your screen.  This means more data will be above the fold and you&#8217;ll save yourself some scrolling.</p>
<p>That&#8217;s it, enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>https://ctrtard.com/tracking/prosper-202-1-7-release-and-chart-disable-mod/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>
