<?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>OhRyan.ca &#187; HowTo</title>
	<atom:link href="http://ohryan.ca/blog/category/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://ohryan.ca/blog</link>
	<description>Canadian Tech News, Hacks &#38; How To</description>
	<lastBuildDate>Wed, 25 Jan 2012 06:46:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Website Detective 102 or How To: Figure Out Who Made A Site</title>
		<link>http://ohryan.ca/blog/2011/12/29/website-detective-102-or-how-to-figure-out-who-made-a-site/</link>
		<comments>http://ohryan.ca/blog/2011/12/29/website-detective-102-or-how-to-figure-out-who-made-a-site/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 17:08:34 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1653</guid>
		<description><![CDATA[For one reason or another, it&#8217;s often interesting to find out who&#8217;s responsible for a website. For example, when I find sites a great website I like to dig around the designer&#8217;s portfolio and look at their other work for ideas and inspiration. Example 2, in pervious jobs I&#8217;ve had to track down content thieves. Maybe you&#8217;re part [...]]]></description>
			<content:encoded><![CDATA[<p>For one reason or another, it&#8217;s often interesting to find out who&#8217;s responsible for a website. For example, when I find sites a great website I like to dig around the designer&#8217;s portfolio and look at their other work for ideas and inspiration. Example 2, in pervious jobs I&#8217;ve had to track down content thieves. Maybe you&#8217;re part of a <a href="http://www.forbes.com/sites/erikkain/2011/12/28/reddit-users-to-target-supporters-of-sopa-in-congress-after-successful-boycott-of-godaddy/" target="_blank">vigilante mob</a>, and need to figure how <a href="http://www.buzzfeed.com/scott/4chan-delivers-pizza-to-balloon-boy" target="_blank">where to send a bunch of pizza</a>. Whatever.</p>
<p>Due to a whole slew of &#8211; perfectly legitimate reasons &#8211; it&#8217;s fairly uncommon for a website to post clearly identify the parties reasonable for design, development, hosting, support, etc. It can be a little difficult to figure out sometimes.</p>
<p>Typically when trying to figure out who made a website I take the following steps (in order):</p>
<ol>
<li>Google the domain name (in quotes). If the site is listed in the body of the portfolio, it&#8217;ll often show up in the first page of results. You could probably throw other keywords &#8211; like &#8220;portfolio&#8221; or &#8220;design&#8221; or something &#8211; into the search. I usually don&#8217;t bother.</li>
<li>Take a look at the HTML, Javascript and CSS source. Sometimes the comments contain copyright notices, author names or other clues. companyname.js is always a good one.</li>
<li>Do a whois lookup of the domain. Sometimes the designer will be listed as one of the contacts or the design company will actually run their own nameserver. But with domain privacy services this is becoming less fruitful.</li>
<li>When that fails I load up <a href="http://www.robtex.com/" target="_blank">robtex.com</a>. Among a variety of other tools, the site has a utility (under the &#8220;shared&#8221; tab at the top) that lists domains sharing the same IP, sharing the same name server, sharing the same mail server. If you&#8217;re lucky, one of those domains will be designer.</li>
</ol>
<p>Number 4 was my old pro-tip that made me feel smarter than everyone else online.</p>
<p>But&#8230;</p>
<p>Recently I&#8217;ve discovered Google Analytics ID databases.</p>
<p>A Google Analytics ID is the part of Google Analytics tracking code that identifies a website, it sits in the tracking javascript running on every website using Google Analytics. The look like &#8220;UA-#####-#&#8221;. Each site has a unique ID, except when you set up a website&#8217;s profile under a parent account, the first part of the ID is shared by all the child accounts. So, UA-12345-1 and UA-12345-2 are in the same account, probably controlled by the same person or company.</p>
<p>Evidently, there are a number of services that crawl the intertube recording which Google Analytics IDs are found on which sites. ReverseInternet.com seems to be a good one, but if that fails, you can always Google the ID (in quotes).</p>
<p>TL;DR: This is how I found out <a href="http://isitchristmas.com/" target="_blank">isitchristmas.com</a> was run by <a href="https://twitter.com/#!/klondike" target="_blank">@klondike</a>, before he tweeted about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/12/29/website-detective-102-or-how-to-figure-out-who-made-a-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: Hack Into OS X Lion</title>
		<link>http://ohryan.ca/blog/2011/08/30/how-to-hack-into-os-x-lion/</link>
		<comments>http://ohryan.ca/blog/2011/08/30/how-to-hack-into-os-x-lion/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 04:55:27 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[os x lion]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1583</guid>
		<description><![CDATA[Yesterday one of two things happened, either a) I completely an entirely forgot my OS X login password or b) OS X refused to accept my password. I have no way of knowing which was the case, but regardless, I was unable to access my computer. I almost had a major meltdown, until Google informed [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday one of two things happened, either a) I completely an entirely forgot my OS X login password or b) OS X refused to accept my password. I have no way of knowing which was the case, but regardless, I was unable to access my computer.</p>
<p>I almost had a major meltdown, until <a href="http://lmgtfy.com/?q=reset+os+x+lion+password" target="_blank">Google informed</a> me that OS X Lion is horribly insecure! Horribly, horribly insecure.</p>
<p>You can gain access to (almost) anyone&#8217;s Lion account in 3 simple steps.</p>
<ol>
<li>Restart the machine in recovery mode by holding down cmd+r on reboot.</li>
<li>Open terminal in the utilities menu.</li>
<li>Type `resetpassword`.</li>
</ol>
<div>Voila.</div>
<div>Am I missing something? Is this not as bad as I think it is?</div>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/08/30/how-to-hack-into-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How To: Tumblr Style Google+ Redirect</title>
		<link>http://ohryan.ca/blog/2011/07/12/how-to-tumblr-style-google-redirect/</link>
		<comments>http://ohryan.ca/blog/2011/07/12/how-to-tumblr-style-google-redirect/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 18:35:41 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[redirect]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1556</guid>
		<description><![CDATA[Tumblr just added a feature to redirect http://yourdomain.com/+ to your google plus account. Neat idea. You can do it yourself in .htaccess. Just add: Redirect 301 /+ {insert your profile url here} Check it: ohryan.ca/+ Thanks to Isaac Lewis]]></description>
			<content:encoded><![CDATA[<p><a href="http://nikf.org/post/7538019123/google-redirects-and-tumblr" target="_blank">Tumblr just added a feature to redirect http://yourdomain.com/+ to your google plus account</a>.</p>
<p>Neat idea.<br />
You can do it yourself in .htaccess. Just add:<br />
<code>Redirect 301 /+ {insert your profile url here}</code></p>
<p>Check it: <a href="http://ohryan.ca/+">ohryan.ca/+</a></p>
<p><small>Thanks to <a href="https://plus.google.com/107753428759636856492/posts/WWmDC7B4tbE">Isaac Lewis</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/07/12/how-to-tumblr-style-google-redirect/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Assault on the Hash (or how to make secure your passwords)</title>
		<link>http://ohryan.ca/blog/2011/07/04/assault-on-the-hash-or-how-to-make-secure-your-passwords/</link>
		<comments>http://ohryan.ca/blog/2011/07/04/assault-on-the-hash-or-how-to-make-secure-your-passwords/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 05:47:19 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1527</guid>
		<description><![CDATA[In a recent episode of Build &#38; Analyze Marco Armet (creator of Instapaper) explained that the standard practice of salting a hash is no longer a really good way to secure passwords. CPUs (and GPUs) are so fast that they can effectively guess your salt in a reasonable amount of time*. The solution, use bcrypt. [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://5by5.tv/buildanalyze/31" target="_blank">a recent episode of Build &amp; Analyze</a> <a href="http://www.marco.org/about" target="_blank">Marco Armet</a> (creator of <a href="http://www.instapaper.com/" target="_blank">Instapaper</a>) explained that the standard practice of <a href="http://en.wikipedia.org/wiki/Salt_(cryptography)">salting a hash</a> is no longer a really good way to secure passwords. CPUs (and GPUs) are so fast that they can effectively guess your salt in a reasonable amount of time*.</p>
<p>The solution, <a href="http://codahale.com/how-to-safely-store-a-password/">use bcrypt</a>. Essentially, it&#8217;s an extremely slow hashing algorithm.</p>
<p>To me this seems a little bit like security through obscurity, every once in awhile &#8211; as CPU speed increases - you&#8217;ll have to update your algorithm to generate hashes even slower.</p>
<p>See also.</p>
<ul>
<li><a href="http://www.marco.org/2011/06/29/simple-php-bcrypt-class-phpass">Marco&#8217;s Blog Post</a>.</li>
<li><a href="https://gist.github.com/1053158">His PHP implementation of bcrypt</a>.</li>
</ul>
<p><small>*<a href="http://www.cryptopp.com/benchmarks-amd64.html">A modern server can calculate over 300MB of hash data per second!</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/07/04/assault-on-the-hash-or-how-to-make-secure-your-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To: File Upload Progress Bar. No Flash. No PHP addons.</title>
		<link>http://ohryan.ca/blog/2011/06/28/how-to-file-upload-progress-bar-no-flash-no-php-addons/</link>
		<comments>http://ohryan.ca/blog/2011/06/28/how-to-file-upload-progress-bar-no-flash-no-php-addons/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 02:11:20 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1502</guid>
		<description><![CDATA[Upload progressbars are pretty common on the web these days, they add a touch of feedback to the long and mysterious process of uploading a file to a website. Unfortunately, the most common methods for doing so involve flash or baring that PHP addons that require a recompiling. In this post I&#8217;m going to talk about [...]]]></description>
			<content:encoded><![CDATA[<p>Upload progressbars are pretty common on the web these days, they add a touch of feedback to the long and mysterious process of uploading a file to a website. Unfortunately, the most common methods for doing so involve flash or baring that PHP addons that require a recompiling.</p>
<p>In this post I&#8217;m going to talk about creating an upload progress bar without the need for a clunky flash object. I&#8217;m going to do it with PHP, jQueryUI and a gracefully-degrading framework-independent library.</p>
<h1><span id="more-1502"></span></h1>
<h2>AJAX Upload</h2>
<p>I stumbled across the aptly named <a href="http://valums.com/ajax-upload/" target="_blank">AJAX Upload</a> code library (developed by <a href="http://valums.com/" target="_blank">Andrew Valums</a>) at work the other day.</p>
<p>The feature list is quite impressive:</p>
<blockquote>
<ul>
<li>multiple file select, progress-bar in FF, Chrome, Safari</li>
<li>drag-and-drop file select in FF, Chrome</li>
<li>uploads are cancellable</li>
<li>no external dependencies</li>
<li>doesn&#8217;t use Flash</li>
<li>fully working with https</li>
<li>keyboard support in FF, Chrome, Safari</li>
<li>tested in IE7,8; Firefox 3,3.6,4; Safari4,5; Chrome; Opera10.60;</li>
</ul>
</blockquote>
<p>The package includes a javascript library to handle DOM creation and magical ajax-ey transactions, as well as server-side code written in PHP, CGI, Java and Cold Fusion. The server-side code is required to manage the file upload, where some other solutions use <a href="http://php.net/manual/en/book.apc.php" target="_blank">APC</a> or <a href="http://pecl.php.net/package/uploadprogress" target="_blank">PECL&#8217;s uploadprogress</a>, Andrews code makes clever use of <a href="http://www.php.net/manual/en/stream.resources.php" target="_blank">PHP streams</a> to track the upload progress.</p>
<p>Relevant snippet from php.php:</p>
<pre class="brush:html">    function save($path) {
        $input = fopen("php://input", "r");
        $temp = tmpfile();
        $realSize = stream_copy_to_stream($input, $temp);
        fclose($input);

        if ($realSize != $this-&gt;getSize()){
            return false;
        }

        $target = fopen($path, "w");
        fseek($temp, 0, SEEK_SET);
        stream_copy_to_stream($temp, $target);
        fclose($target);

        return true;
    }</pre>
<p>Why didn&#8217;t I think of that?!</p>
<h2>The Javascript &amp; HTML</h2>
<p>Here&#8217;s an example of a really basic uploader utilizing jQueryUI&#8217;s progressbar.</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;AJAX Upload Test&lt;/title&gt;
    &lt;link rel="stylesheet" href="/path/to/js/uploader/fileuploader.css" type="text/css" &gt;
    &lt;link rel="stylesheet" href="/path/to/js/css/blitzer/jquery-ui-1.8.13.custom.css" type="text/css" media="screen" title="no title" charset="utf-8"&gt;
    &lt;script src="/path/to/js/jquery-1.6.1.min.js"&gt;&lt;/script&gt;
    &lt;script src="/path/to/js/jquery-ui-1.8.13.custom.min.js"&gt;&lt;/script&gt;
    &lt;script src="/path/to/js/jquery.altAlert.js"&gt;&lt;/script&gt;
    &lt;script src="/path/to/js/uploader/fileuploader.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="progressbar"&gt;&lt;/div&gt;
    &lt;a href="javascript:void(0)" id="uplbtn"&gt;Upload A File!&lt;/a&gt;
    &lt;div id="file-uploader"&gt;
        &lt;noscript&gt;
            &lt;p&gt;Please enable JavaScript to use file uploader.&lt;/p&gt;
            &lt;!-- or put a simple form for upload here --&gt;
        &lt;/noscript&gt;
    &lt;/div&gt;
    &lt;script&gt;
    $(function() {
            // Initialize the jQueryUI Progressbar
			$( "#progressbar" ).progressbar({
				value: 0
			});

			// Initialize the uploader
			uploader = new qq.FileUploaderBasic({
				debug: true,
				element: document.getElementById('file-uploader'),
				button: $('#uplbtn')[0],
		        action: '/js/uploader/uploader.php',
				multiple: false,

                // Update the progress bar
				onProgress: function(id, fileName, loaded, total){
					var percentLoaded = (loaded / total) * 100;
					$( "#progressbar" ).progressbar({
						value: percentLoaded
					});
				},                        

				// display a fancy message
				onComplete: function () {
                    alert('Tada!');
				}
		    });
	});
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>The real key here is updating the progressbar value in the uploader&#8217;s onChange event.</p>
<p>So there you have it!</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/06/28/how-to-file-upload-progress-bar-no-flash-no-php-addons/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How To Use Your iPhone to Stalk Yourself</title>
		<link>http://ohryan.ca/blog/2011/04/20/how-to-use-your-iphone-to-stalk-yourself/</link>
		<comments>http://ohryan.ca/blog/2011/04/20/how-to-use-your-iphone-to-stalk-yourself/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 01:34:04 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[geo-targeting]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1426</guid>
		<description><![CDATA[It looks like the privacy hippies were finally right about something, your mobile phone really is a pocket sized tracking device. Turns out that as of iOS 4.0, iPhones have been tracking your physical movements and logging it along with the phone&#8217;s backups. A small team of researchers have discovered these logs in iTune&#8217;s backup [...]]]></description>
			<content:encoded><![CDATA[<p>It looks like the <a href="https://www.eff.org/" target="_blank">privacy hippies</a> were finally right about something, your mobile phone really is a pocket sized tracking device.</p>
<p>Turns out that as of iOS 4.0, iPhones have been tracking your physical movements and logging it along with the phone&#8217;s backups.</p>
<p>A small team of researchers have discovered these logs in iTune&#8217;s backup files, they&#8217;ve released a handy little app that collects all the data from your user folder and plots it on a map. <a href="http://petewarden.github.com/iPhoneTracker/" target="_blank">iPhoneTracker.app and further information available here</a>.</p>
<p>Here is the visualization of everywhere I&#8217;ve been since Sept 28, 2010:</p>
<p style="text-align: center;"><a href="http://ohryan.ca/blog/wp-content/uploads/Screen-shot-2011-04-20-at-8.23.53-PM.png"><img class="size-full wp-image-1427 aligncenter" title="Screen shot 2011-04-20 at 8.23.53 PM" src="http://ohryan.ca/blog/wp-content/uploads/Screen-shot-2011-04-20-at-8.23.53-PM.png" alt="" width="424" height="268" /></a></p>
<p style="text-align: left;">You can see lots of activity in and around Winnipeg (including trips up to the Gimli and Victoria Beach), a flight to Toronto and subsequent travel around southern Ontario and a road trip to Minneapolis. It&#8217;s fascinating.</p>
<p style="text-align: left;">I&#8217;m not sure if this is a terrifying privacy hole or a neat little hidden feature. I&#8217;m leaning towards neat feature, since the data is stored locally on your computer and can be encrypted automatically by iTunes.</p>
<p style="text-align: left;">At this point in time a method for disabling the &#8220;feature&#8221; does not exist. I expect Apple will be responding in short order.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/04/20/how-to-use-your-iphone-to-stalk-yourself/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Facebook Now More Secure</title>
		<link>http://ohryan.ca/blog/2011/01/26/facebook-now-more-secure/</link>
		<comments>http://ohryan.ca/blog/2011/01/26/facebook-now-more-secure/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 18:01:43 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firesheep]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1278</guid>
		<description><![CDATA[In a blog post today Facebook detailed some of their new security improvements: Starting today we&#8217;ll provide you with the ability to experience Facebook entirely over HTTPS. You should consider enabling this option if you frequently use Facebook from public Internet access points found at coffee shops, airports, libraries or schools. The option will exist [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://blog.facebook.com/blog.php?post=486790652130" target="_blank">blog post today Facebook</a> detailed some of their new security improvements:</p>
<blockquote><p>Starting today we&#8217;ll provide you with the ability to experience Facebook entirely over HTTPS. You should consider enabling this option if you frequently use Facebook from public Internet access points found at coffee shops, airports, libraries or schools. The option will exist as part of our advanced security features, which you can find in the &#8220;Account Security&#8221; section of the <a title="https://www.facebook.com/editaccount.php" href="https://www.facebook.com/editaccount.php" target="_blank">Account Settings</a> page.</p></blockquote>
<p>Enabling this option will effectively prevent you against <a href="http://ohryan.ca/blog/2010/10/26/firesheep-a-valid-reason-to-fear-wifi-or-how-to-hack-your-wifes-facebook/">Firesheep</a> and similar account hijacking methods. I think it&#8217;s fairly safe to assume this feature is a direct response to Firesheep, even if it seems to have taken them 4 months to roll out. Though, it could also be a response to <a href="http://mashable.com/2011/01/26/mark-zuckerberg-fan-page-hacked/" target="_blank">Zuckerburg&#8217;s account hack</a> yesterday.</p>
<p>I&#8217;m going to go one step further than Facebook and say, you should <strong><em><span style="text-decoration: underline;">absolutely</span></em></strong> enable this option as soon as it&#8217;s available to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/01/26/facebook-now-more-secure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modern Mobile Redirect Using .htaccess</title>
		<link>http://ohryan.ca/blog/2011/01/21/modern-mobile-redirect-using-htaccess/</link>
		<comments>http://ohryan.ca/blog/2011/01/21/modern-mobile-redirect-using-htaccess/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 14:21:57 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mobile browser]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rewrite rule]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1202</guid>
		<description><![CDATA[The following set of rewrite rules will redirect all Android, Blackberry, iOS, Windows and WebOS devices to a specific mobile directory on your website. Additionally, it will redirect Google&#8217;s mobile crawler &#8211; according to Google search spam czar Matt Cutts this is perfectly acceptable and even somewhat encourage. Code snippet &#8211; Simple .htaccess Mobile Redirect [...]]]></description>
			<content:encoded><![CDATA[<p>The following set of rewrite rules will redirect all Android, Blackberry, iOS, Windows and WebOS devices to a specific mobile directory on your website. Additionally, it will redirect Google&#8217;s mobile crawler &#8211; <a href="http://www.youtube.com/watch?v=mY9h3G8Lv4k" target="_blank">according to Google search spam czar Matt Cutts this is perfectly acceptable and even somewhat encourage</a>.</p>
<div id="snipplr_embed_47652" class="snipplr_embed" style="overflow: auto;"><a href="http://snipplr.com/view/47652/simple-htaccess-mobile-redirect/">Code snippet &#8211; Simple .htaccess Mobile Redirect</a> on Snipplr</div>
<p><script src="http://snipplr.com/js/embed.js" type="text/javascript"></script><script src="http://snipplr.com/json/47652" type="text/javascript"></script></p>
<p>To implement these rules:</p>
<ol>
<li>Replace &#8220;mobiledirectoryhere&#8221; with the path to your mobile site. If your mobile site is located in a subdirectory, use the full URL (including &#8220;http://&#8221;) and you can omit the first RewriteCond.</li>
<li> Then copy &amp; paste the ruleset into the site&#8217;s .htaccess file or the main apache configuration.</li>
</ol>
<h3>Rationale</h3>
<p>Since the last time I wrote about mobile browser detection and redirection in 2009 the mobile device landscape has changed once again. Smartphones dominate the mobile browsing landscape and feature phones are almost not existant in server logs.</p>
<p>The <a href="http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/" target="_blank">old redirection rules I posted</a> attempt to redirect every mobile phone under the sun. At this point in 2011, it&#8217;s probably safe to completely ignore ancient phones and simplify your Apache rules in the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/01/21/modern-mobile-redirect-using-htaccess/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>How To: Get Better BitTorrent Speeds</title>
		<link>http://ohryan.ca/blog/2011/01/10/how-to-get-better-bittorrent-speeds/</link>
		<comments>http://ohryan.ca/blog/2011/01/10/how-to-get-better-bittorrent-speeds/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 04:27:21 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[BitTorrent]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=1172</guid>
		<description><![CDATA[Have you been seeing decreasing BitTorrent transfer speeds? Have you received an annoying notice from your ISP accusing you of illegally downloading a Hollywood blockbuster? Would you like to live in a better internet? Well, I have the answer for you: encryption. You see, every BitTorrent packet your computer sends or receives contains header data stating that [...]]]></description>
			<content:encoded><![CDATA[<p>Have you been seeing decreasing BitTorrent transfer speeds?</p>
<p>Have you received an annoying notice from your ISP accusing you of illegally downloading a Hollywood blockbuster?</p>
<p>Would you like to live in a better internet?</p>
<p>Well, I have the answer for you: <a href="http://en.wikipedia.org/wiki/BitTorrent_protocol_encryption" target="_blank">encryption</a>. You see, every BitTorrent packet your computer sends or receives contains header data stating that it&#8217;s BitTorrent traffic as well as the filename and other identifying information. By default, this data is send in plain-text, your ISP is able to intercept any traffic you send an inspect the contents (see: <a href="http://en.wikipedia.org/wiki/Deep_packet_inspection" target="_blank">deep packet inspection</a>). Your ISP may use this data to actively throttle your BitTorrent traffic (or even your connection in general if they so choose); they may also match the filename against a list of known filenames for movies or other blacklisted content and then send you (fake) legal demands.</p>
<p>By enabling encryption in your BitTorrent client, you make it much more difficult (individual results may vary) for your ISP to determine that a packet is a BitTorrent packet; it may also prevent you from receiving those nag letters in the mail.</p>
<p>Any BitTorrent client worth it&#8217;s salt will have an option buried somewhere in the preferences to enable encryption.</p>
<p>I&#8217;ve attached a screenshot for the client I use, Transmission:</p>
<p><a href="http://ohryan.ca/blog/wp-content/uploads/transmissionencryption.png"><img class="alignnone size-medium wp-image-1173" title="transmissionencryption" src="http://ohryan.ca/blog/wp-content/uploads/transmissionencryption-300x249.png" alt="" width="300" height="249" /></a></p>
<p><a href="http://torrentfreak.com/how-to-encrypt-bittorrent-traffic/" target="_blank">TorrentFreak has an older with instructions for Azuerus (now Vuze), BitComet and µTorrent</a>. The instructions may be somewhat out of date, but I&#8217;d imagine the settings would be in similar locations. When all else fails, Google it.</p>
<p><strong>Update:</strong> <a href="http://ohryan.ca/blog/2011/01/10/how-to-get-better-bittorrent-speeds/#comment-127434616">Doug McArthur notes in the comments</a>, enabling encryption may end up filtering out peers on less popular torrents.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2011/01/10/how-to-get-better-bittorrent-speeds/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How To: Watch Hulu in Canada. A New Method.</title>
		<link>http://ohryan.ca/blog/2010/11/06/how-to-watch-hulu-in-canada-a-new-method/</link>
		<comments>http://ohryan.ca/blog/2010/11/06/how-to-watch-hulu-in-canada-a-new-method/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 05:26:46 +0000</pubDate>
		<dc:creator>RyanN</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[nablop]]></category>

		<guid isPermaLink="false">http://ohryan.ca/blog/?p=987</guid>
		<description><![CDATA[In August I posted a method I found for watching Hulu in Canada (or anywhere outside of the US for that matter). Unfortunately, that method was a little complicated and Hulu fixed it a few days after Lifehacker posted about it. Last Night I found a new hole and this one&#8217;s a fair bit simpler. [...]]]></description>
			<content:encoded><![CDATA[<p>In August I posted a method I found for watching <a href="http://www.hulu.com" target="_blank">Hulu</a> in Canada (or anywhere outside of the US for that matter). Unfortunately, that method was a little complicated and Hulu fixed it a few days after <a href="http://lifehacker.com/5583515/access-hulu-from-outside-the-us-without-a-proxy-server" target="_blank">Lifehacker posted about it</a>. Last Night I found a new hole and this one&#8217;s a fair bit simpler. Here&#8217;s a handy instructional video.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/Elg61eliT1Y" /><embed type="application/x-shockwave-flash" width="520" height="350" src="http://www.youtube.com/v/Elg61eliT1Y"></embed></object></p>
<p>The Firefox modify headers extension can be downloaded here: <a href="https://addons.mozilla.org/en-US/firefox/addon/967/" target="_blank">https://addons.mozilla.org/en-US/firefox/addon/967/</a></p>
<p><a href="http://www.reddit.com/r/canada/comments/e216n/watch_hulu_in_canada_new_method/" target="_blank">Check out the reddit discussion for more details</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ohryan.ca/blog/2010/11/06/how-to-watch-hulu-in-canada-a-new-method/feed/</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
	</channel>
</rss>

