<?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>Vitriol and Routing Tables</title>
	<atom:link href="http://www.raptorized.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.raptorized.com</link>
	<description>Tales from the OSI layer 3</description>
	<lastBuildDate>Mon, 21 Dec 2009 14:57:40 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Another day at work</title>
		<link>http://www.raptorized.com/2009/12/16/another-day-at-work/</link>
		<comments>http://www.raptorized.com/2009/12/16/another-day-at-work/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 18:39:30 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Randomness]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/2009/12/16/another-day-at-work/</guid>
		<description><![CDATA[The only thing I hate more than writing with a pen and paper is using visio, hence why I&#8217;m kicking it old school for cluster planning.
]]></description>
			<content:encoded><![CDATA[<p>The only thing I hate more than writing with a pen and paper is using visio, hence why I&#8217;m kicking it old school for cluster planning.</p>

<div id="attachment_230" class="wp-caption alignnone" style="width: 235px"><a href="http://www.raptorized.com/wp-content/uploads/2009/12/planning_oldschool.jpg"><img src="http://www.raptorized.com/wp-content/uploads/2009/12/planning_oldschool-225x300.jpg" alt="Hand-written diagrams and planning" title="planning_oldschool" width="225" height="300" class="size-medium wp-image-230" /></a><p class="wp-caption-text">Hand-written diagrams and planning</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2009/12/16/another-day-at-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I wrote a Quine</title>
		<link>http://www.raptorized.com/2009/11/19/i-wrote-a-quine/</link>
		<comments>http://www.raptorized.com/2009/11/19/i-wrote-a-quine/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 15:24:01 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=224</guid>
		<description><![CDATA[So I wrote my first Quine last night. A Quine is a program that, when run, outputs an exact copy of its source. It&#8217;s not immediately obvious in regard of how to accomplish that. At first it sounds pretty easy but then you get lost in recursion and your brain explodes.

So I wrote a Quine [...]]]></description>
			<content:encoded><![CDATA[<p>So I wrote my first Quine last night. A Quine is a program that, when run, outputs an exact copy of its source. It&#8217;s not immediately obvious in regard of how to accomplish that. At first it sounds pretty easy but then you get lost in recursion and your brain explodes.</p>

<p>So I wrote a Quine in Python. It&#8217;s not exactly short or impressive, but it works. I am pretty happy with myself, because I found out how to do it by myself, which was a very enlightening moment, makes you realize a bunch of things about compilers.</p>

<p>So here it is:
(pretty vim-desert syntax colored version here: <a href="http://alex.underwares.org/quine.py.html">http://alex.underwares.org/quine.py.html</a>)</p>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
<span style="color: #808080; font-style: italic;"># Holy fucking shit I wrote a quine!</span>
<span style="color: #808080; font-style: italic;"># You wouldn't believe how baked I am.</span>
&nbsp;
<span style="color: #dc143c;">code</span> =<span style="color: #483d8b;">&quot;#!/usr/bin/env python<span style="color: #000099; font-weight: bold;">\n</span># Holy fucking shit I wrote a quine!<span style="color: #000099; font-weight: bold;">\n</span># You wouldn't believe how baked I am.<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>code =<span style="color: #000099; font-weight: bold;">\&quot;</span>__code__<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>def regurgitate(text):<span style="color: #000099; font-weight: bold;">\n</span>    <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span>Hi, I regurgitate stuff, but escaped.<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span> text = text.replace(<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>    text = text.replace('<span style="color: #000099; font-weight: bold;">\&quot;</span>', <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>   text = text.replace('<span style="color: #000099; font-weight: bold;">\\</span>n',<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>  return text<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>def main():<span style="color: #000099; font-weight: bold;">\n</span>    <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span>I seem to be the entry point, sir.<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>    print code.replace(<span style="color: #000099; font-weight: bold;">\&quot;</span>__code__<span style="color: #000099; font-weight: bold;">\&quot;</span>, regurgitate(code), 1)<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>if __name__ == <span style="color: #000099; font-weight: bold;">\&quot;</span>__main__<span style="color: #000099; font-weight: bold;">\&quot;</span>:<span style="color: #000099; font-weight: bold;">\n</span>    main()<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> regurgitate<span style="color: black;">&#40;</span>text<span style="color: black;">&#41;</span>:
    <span style="color: #483d8b;">&quot;&quot;&quot;Hi, I regurgitate stuff, but escaped.&quot;&quot;&quot;</span>
    text = text.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span>,<span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: black;">&#41;</span>
    text = text.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&quot;'</span>, <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: black;">&#41;</span>
    text = text.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>,<span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> text
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    <span style="color: #483d8b;">&quot;&quot;&quot;I seem to be the entry point, sir.&quot;&quot;&quot;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #dc143c;">code</span>.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;__code__&quot;</span>, regurgitate<span style="color: black;">&#40;</span><span style="color: #dc143c;">code</span><span style="color: black;">&#41;</span>, <span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    main<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2009/11/19/i-wrote-a-quine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xapian Binaries</title>
		<link>http://www.raptorized.com/2009/04/21/xapian-binaries/</link>
		<comments>http://www.raptorized.com/2009/04/21/xapian-binaries/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 18:19:54 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=218</guid>
		<description><![CDATA[Just a quick post to mention that Charlie Hull from Lemur Consulting sent me an e-mail to mention that they are now providing actual binaries along with the makefiles.

http://www.flax.co.uk/xapian_windows.shtml

This renders my binaries redundant, so I will update the relevant pages with this link. I hadn&#8217;t built recent python bindings in a while because my the [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to mention that Charlie Hull from Lemur Consulting sent me an e-mail to mention that they are now providing actual binaries along with the makefiles.</p>

<p><a href="http://www.flax.co.uk/xapian_windows.shtml">http://www.flax.co.uk/xapian_windows.shtml</a></p>

<p>This renders my binaries redundant, so I will update the relevant pages with this link. I hadn&#8217;t built recent python bindings in a while because my the Windows Server 2003 VM I used for windows builds was lost in a hard drive crash, and I never got around to rebuilding it. Well, this is great news!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2009/04/21/xapian-binaries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gah! Why? Part Deux</title>
		<link>http://www.raptorized.com/2008/12/18/gah-why-part-deux/</link>
		<comments>http://www.raptorized.com/2008/12/18/gah-why-part-deux/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 16:53:06 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=211</guid>
		<description><![CDATA[Yesterday, I close the lid on my first generation MacBook Pro, unplug it, pack it in my bag and head home from another long day at work. I make a pit stop at the Salon des Métiers D&#8217;Arts at Place Bonaventure to pick up some christmas gifts. I feel the urge to check on my [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I close the lid on my first generation MacBook Pro, unplug it, pack it in my bag and head home from another long day at work. I make a pit stop at the <a href="http://www.metiers-d-art.qc.ca/smaq/">Salon des Métiers D&#8217;Arts</a> at Place Bonaventure to pick up some christmas gifts. I feel the urge to check on my finances, so I take the laptop out of the bag, pop it open and behold, nothing. Battery&#8217;s dead. I figure, I must have unplugged it somehow while working, or it must have failed to suspend properly, and wasted the entire battery on a kernel panic. This happens sometimes when the Cisco VPN Client kext is loaded and active.</p>

<p>But alas, no. I plug it in this morning, and bang:</p>

<a href="http://www.raptorized.com/wp-content/uploads/2008/12/image-1.png"><img src="http://www.raptorized.com/wp-content/uploads/2008/12/image-1.png" alt="&quot;Battery not charging&quot;" title="battery-not-charging" width="356" height="52" class="size-full wp-image-212" /></a>

<p><a href="http://www.raptorized.com/2007/02/08/gah-why/">Again</a>, for those not speaking french, it means &#8220;battery not charging&#8221;.</p>

<p>This is the third battery that dies with this laptop. If the laptop broke down, I&#8217;d understand. It has a bit over three years of age, which is pretty much the average life span of a laptop-you-carry-around-every-day. But the battery is still young. Bleh.</p>

<p><strong>ADDENDUM (24 mar 2009):</strong> <em>I just noticed I sound like an elitist douche hipster in that post. I mean, Art Salon + Apple hardware + French&#8230; Should have included more codetalk or wires as not to lose my geek street cred, yo.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/12/18/gah-why-part-deux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nintendo DS Dev Kit</title>
		<link>http://www.raptorized.com/2008/12/02/nintendo-ds-dev-kit/</link>
		<comments>http://www.raptorized.com/2008/12/02/nintendo-ds-dev-kit/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 06:42:33 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Randomness]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=204</guid>
		<description><![CDATA[I went to Arcadia a few weeks ago and this small developement company had a DS dev kit running their game demo, so I snapped a picture of it, telling myself I would post it on my blog when I got home, and then promptly forgot about it. I found the picture on my phone [...]]]></description>
			<content:encoded><![CDATA[<p>I went to Arcadia a few weeks ago and this small developement company had a DS dev kit running their game demo, so I snapped a picture of it, telling myself I would post it on my blog when I got home, and then promptly forgot about it. I found the picture on my phone just now and decided to try the wordpress iPhone client. So here goes a lot of fuss over nothing.</p>

<p><a href="http://www.raptorized.com/wp-content/uploads/2008/12/p-640-480-2fbbed66-9963-4727-8e33-f75083b3244f.jpeg"><img src="http://www.raptorized.com/wp-content/uploads/2008/12/p-640-480-2fbbed66-9963-4727-8e33-f75083b3244f-225x300.jpg" alt="" title="devkit" width="225" height="300" class="alignnone size-medium wp-image-206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/12/02/nintendo-ds-dev-kit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>We all have to start somewhere</title>
		<link>http://www.raptorized.com/2008/10/11/we-all-have-to-start-somewhere/</link>
		<comments>http://www.raptorized.com/2008/10/11/we-all-have-to-start-somewhere/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 23:28:21 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=195</guid>
		<description><![CDATA[Well, you know, in electronics like everything else, we all have to start somewhere.
So my &#8220;hello world&#8221; of sorts, is making a LED blink using an Arduino Diecimila board.


]]></description>
			<content:encoded><![CDATA[<p>Well, you know, in electronics like everything else, we all have to start somewhere.
So my &#8220;hello world&#8221; of sorts, is making a LED blink using an Arduino Diecimila board.</p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Tf2zA8A805A&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;ap=%2526fmt%3d18"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Tf2zA8A805A&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;ap=%2526fmt%3d18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/10/11/we-all-have-to-start-somewhere/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Megaman 9</title>
		<link>http://www.raptorized.com/2008/09/26/megaman-9/</link>
		<comments>http://www.raptorized.com/2008/09/26/megaman-9/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 23:57:16 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=192</guid>
		<description><![CDATA[I just want to point out something terribly uncomfortable about Megaman 9.



THEY ARE ALL WEARING THE SAME GOD DAMN HELMET!

Thank you.
]]></description>
			<content:encoded><![CDATA[<p>I just want to point out something terribly uncomfortable about Megaman 9.</p>

<p><a href="http://www.raptorized.com/wp-content/uploads/2008/09/image-1.png"><img src="http://www.raptorized.com/wp-content/uploads/2008/09/image-1.png" alt="" title="image-1" width="433" height="242" class="aligncenter size-full wp-image-193" /></a></p>

<p><strong>THEY ARE ALL WEARING THE SAME GOD DAMN HELMET!</strong></p>

<p>Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/09/26/megaman-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mark Hoekstra passed away</title>
		<link>http://www.raptorized.com/2008/09/20/mark-hoekstra-passed-away/</link>
		<comments>http://www.raptorized.com/2008/09/20/mark-hoekstra-passed-away/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 01:41:04 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=189</guid>
		<description><![CDATA[

So, Mark Hoekstra of Geek Technique has died of a heart attack earlier this week, while riding his bike.

Shit.

Mark was a really huge inspiration to me, I absolutely loved the guy and his work. I really related to his love of SGI gear and various obsolete chunks of hardware. I read geek technique with almost [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.raptorized.com/wp-content/uploads/2008/09/mark_hoekstra.jpg"><img src="http://www.raptorized.com/wp-content/uploads/2008/09/mark_hoekstra.jpg" alt="" title="mark_hoekstra" width="450" height="300" class="alignnone size-full wp-image-190" /></a></p>

<p>So, Mark Hoekstra of <a href="http://geektechnique.org/">Geek Technique</a> has died of a heart attack earlier this week, while riding his bike.</p>

<p>Shit.</p>

<p>Mark was a really huge inspiration to me, I absolutely loved the guy and his work. I really related to his love of SGI gear and various obsolete chunks of hardware. I read geek technique with almost religous, cheerful glee every update.</p>

<p>I can’t believe he’s gone, I truely am sad now. This really is sad day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/09/20/mark-hoekstra-passed-away/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Access administrative shares on Server 2008/Vista</title>
		<link>http://www.raptorized.com/2008/08/19/access-administrative-shares-on-server-2008vista/</link>
		<comments>http://www.raptorized.com/2008/08/19/access-administrative-shares-on-server-2008vista/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 21:27:33 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Tutorials/How-To]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=182</guid>
		<description><![CDATA[Quick windows tip again, if you find yourself unable to access the administrative shares (\\machine\c$, tasks, etc) on a Windows Server 2008 or Vista computer with UAC enabled, using the credentials of a local administrator &#8212; don&#8217;t panic. This is actually intended.

Turns out local administrators cannot elevate their privileges over the network, with UAC enabled.

Note [...]]]></description>
			<content:encoded><![CDATA[<p>Quick windows tip again, if you find yourself unable to access the administrative shares (\\machine\c$, tasks, etc) on a Windows Server 2008 or Vista computer with UAC enabled, using the credentials of a local administrator &#8212; don&#8217;t panic. This is actually intended.</p>

<p>Turns out local administrators cannot elevate their privileges over the network, with UAC enabled.</p>

<p><strong>Note that this doesn&#8217;t affect users in the Domain Admins group!</strong></p>

<p>Now, you could do the dumb &#8220;neowin poweruser&#8221; thing and turn UAC off, or you could change this particular behavior in the registry. Navigate to:</p>

<p><code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System</code></p>

<p>And add a new DWORD named <strong>LocalAccountTokenFilterPolicy</strong> with a value of <strong>1</strong>, and then reboot. It all should work.</p>

<p>Again, users with Domain Admin privileges are unaffected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/08/19/access-administrative-shares-on-server-2008vista/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to tether your iPhone, the unix way</title>
		<link>http://www.raptorized.com/2008/08/04/how-to-tether-your-iphone/</link>
		<comments>http://www.raptorized.com/2008/08/04/how-to-tether-your-iphone/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 19:20:45 +0000</pubDate>
		<dc:creator>mr_daemon</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.raptorized.com/?p=176</guid>
		<description><![CDATA[So, there&#8217;s a lot noise on the internet in general about an iPhone application called NetShare, that allows you to sort-of use tethering with the iPhone &#8212; that is, use its sexy 3G connection from say, your laptop. Unfortunately, Apple seems to be pulling this application out of the App Store, then putting it back [...]]]></description>
			<content:encoded><![CDATA[<p>So, there&#8217;s a lot noise on the internet in general about an iPhone application called <a href="http://www.tuaw.com/2008/08/01/what-happened-to-netshare/2">NetShare</a>, that allows you to sort-of use tethering with the iPhone &#8212; that is, use its sexy 3G connection from say, your laptop. Unfortunately, Apple seems to be pulling this application out of the App Store, then putting it back only to take it out again, probably while arguing over with AT&amp;T about wheter or not this violates their TOS or the like.</p>

<p>I used to use tethering with my previous Motorola phones via bluetooth, my Treo, and the many blackberries I have owned, and found it was fairly practical to be almost guaranteed internet access from my laptop no matter where I actually am. This enabled me to support clients no matter when, even while in transit between two cities, on a bus.</p>

<p>So, all that NetShare software did was set-up an HTTP proxy on the iPhone. This immediately sprung a lightbulb over my head, as there&#8217;s another way to accomplish just that, without the application, provided your iPhone is jailbroken.</p>

<p>The idea is to use SSH, and just tunnel stuff through it. Simple and effective.</p>

<p><span id="more-176"></span></p>

<p>First, jailbreak your iPhone and install OpenSSH on it. If you&#8217;re a Unix hacker and haven&#8217;t done that yet, please turn in your geek gard. Right now.</p>

<p>Second, set-up an ad-hoc wireless network on your laptop. On a mac, it would look like this:</p>

<p><img src="http://www.raptorized.com/wp-content/uploads/2008/08/image-3.png" alt="Ad Hoc network creation dialog, OS X" title="ad-hoc" width="428" height="385" class="alignnone size-full wp-image-177" /></p>

<p>I named the ad-hoc network the same as my laptop, and password protected it.</p>

<p><img src="http://www.raptorized.com/wp-content/uploads/2008/08/image-4.png" alt="Airport Dropdown menu, OS X" title="image-4" width="294" height="238" class="alignnone size-full wp-image-178" /></p>

<p>Next, join the newly created wireless network with your iPhone, and establish an SSH tunnel to it. You don&#8217;t actually have to set-up ip addresses and all, thanks to the magic of Bonjour/Avahi/Zeroconf. Just use youriphonename.local as the hostname to connect to. My iPhone is named Glitch. (My iPod Touch is named Copland. You win a cookie if you catch the reference). This means my iPhone would be found at &#8220;glitch.local&#8221;. If it was named Cookie, it would be &#8220;cookie.local&#8221;, and so on.</p>

<p>If you have iTunes installed on Windows, this will also work since it comes bundled with Bonjour. If not, you can <a href="http://www.apple.com/support/downloads/bonjourforwindows.html">download bonjour for windows here.</a></p>

<p>Establishing the tunnel would then go something like this:</p>

<p><code>ssh -D 7070 -N root@glitch.local</code></p>

<p>You can of course use <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTY</a> on Windows, or use plink.exe and the exact same line above.</p>

<p>Of course, replace &#8220;glitch.local&#8221; with whatever applies to you. Then, just point your browser to the newly created SOCKS proxy running on port 7070 of your local machine:</p>

<p><img src="http://www.raptorized.com/wp-content/uploads/2008/08/image-5.png" alt="Firefox proxy dialog box, on OS X" title="firefox-proxy-dialog" width="500" height="384" class="alignnone size-full wp-image-179" /></p>

<p>(Firefox)</p>

<p><img src="http://www.raptorized.com/wp-content/uploads/2008/08/image-6.png" alt="Proxy dialog box from Safari / OS X 10.5 Leopard" title="safari-proxy-dialog" width="500" height="402" class="alignnone size-full wp-image-180" /></p>

<p>(Safari/OS X)</p>

<p><strong>Important note regarding Firefrox:</strong>
Firefox is actually quite stubborn and likes to do it&#8217;s own name resolving. Since you&#8217;ll most likely have no working DNS servers available to you, you&#8217;ll need to have Firefox let the SOCKS proxy endpoint do the DNS resolution. This can be done by changing the value <strong>network.proxy.socks_remote_dns</strong> to <strong>True</strong> in <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">about:config</a>.</p>

<p><img src="http://www.raptorized.com/wp-content/uploads/2008/08/image-7.png" alt="A screenshot of the relevant about:config section." title="aboutconfig-network-proxy" width="500" height="113" class="alignnone size-full wp-image-181" /></p>

<p>Then, restart Firefox. Once all of that is done, bang, you&#8217;re surfing the interwebs using your iPhone&#8217;s connection.</p>

<p>Now, I understand it is not a true tethering solution, but NetShare isn&#8217;t that either. I could probably tunnel a PPP link inside SSH, too, but that sounded a bit overcomplicated to me.</p>

<p>For applications that don&#8217;t support SOCKS proxying, just use <a href="http://tsocks.sourceforge.net/">tsocks</a>.</p>

<p>So there you have it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.raptorized.com/2008/08/04/how-to-tether-your-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
