<?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>Cognition &#187; dd-wrt</title>
	<atom:link href="http://www.cognition.ca/tag/dd-wrt/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cognition.ca</link>
	<description>Balls-in-the-air Entrepreneurship and Juggling.</description>
	<lastBuildDate>Tue, 14 Jun 2011 10:04:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Cool things I&#8217;ve discovered recently</title>
		<link>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html</link>
		<comments>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html#comments</comments>
		<pubDate>Thu, 19 Feb 2009 08:14:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[dd-wrt]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=167</guid>
		<description><![CDATA[I&#8217;ve never done a round-up post before, so now must be a good time. Here are a few cool things I&#8217;ve found recently: How to use VPN to solve VoIP problems As some of you may be aware, when I&#8217;m not busy with my day job at NASA, I run a small VoIP company. The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never done a round-up post before, so now must be a good time. Here are a few cool things I&#8217;ve found recently:</p>
<h2>How to use VPN to solve VoIP problems</h2>
<p>As some of you may be aware, when I&#8217;m not busy with my day job at NASA, I run <a href="http://www.natel.ca">a small VoIP company</a>. The why and when of this company is a story for another day, with intrigue, betrayal, ex-CIA agents, con artists, lawsuits and utter, utter sleep deprivation. But, as I said, that will have to wait.</p>
<p><a href="http://www.natel.ca"><img class="alignright" title="The Green Phone" src="http://farm1.static.flickr.com/208/471663573_5e720ebeb4.jpg" alt="" width="301" height="225" /></a>It&#8217;s a simple enough business &#8211; multi-line phone service for homes and offices, complete with distinctive ring, cool automated phone trees, time-of-day dialing, etc. And it has always had one nasty technology problem in it &#8211; NAT.</p>
<p>Anyone who has ever dealt with VoIP has run into all the various ways that NAT can go wrong. And I thought I had worked out ways to deal with most of them &#8211; at least, until I started working with some new hardware.</p>
<p>Let&#8217;s skip the gory details, and summarize by saying that I&#8217;ve been forced to deal with this problem in a decisive, and final, fashion.<span id="more-167"></span></p>
<p>No more NAT. Instead &#8211; <a href="http://openvpn.net/">OpenVPN</a>.</p>
<p>There are usually two different ways to handle getting a VoIP phone connected to a remote VPN server &#8211; either connect the phone directly (if it supports that), or put in some sort of VPN concentrator. There are even routers that support VPN tunneling &#8211; if you&#8217;re willing to pay for it.</p>
<p>There&#8217;s also another way &#8211; a happy story called <a href="http://www.dd-wrt.com">DD-WRT</a>. This is an alternative, open-source firmware for many of today&#8217;s most common hardware routers &#8211; including the WRT54G2 that I&#8217;ve been dealing with. Along with being just really cool, it offers both a VoIP SIP Proxy (which I opted against), and an OpenVPN implementation.</p>
<p>So this is what I&#8217;ve ended up with &#8211; an office LAN full of happy telephones, connected through a VPN tunnel that originates in their gateway device, and terminates in my Asterisk Server. No muss, no fuss.</p>
<p>And a few happy side effects, to boot:</p>
<ul>
<li>Because the VPN traffic is encrypted (and prioritized by the ISP), I&#8217;m no longer vulnerable to any nasty stateful packet inspection and downgrading of third-party VoIP (see the <a href="http://www.ip97.com/shaw_takes_action_against_vonage_ebhi.aspx">lawsuit between Vonage and Shaw</a> for details).</li>
<li>This VPN link works both ways &#8211; I can remotely configure all those phones without having to expose them to the public internet. Goodbye, site visits.</li>
</ul>
<p>(Some credit for this solution goes to Chiral Software &#8211; although I didn&#8217;t find <a href="http://chiralsoftware.com/asterisk-article/voip-sip-asterisk-configuration-part-1.jsp">this post</a> until after I had decided on an OpenVPN solution, it still had some helpful hints. But I believe using DD-WRT makes the whole thing more elegant.)</p>
<h2>Turning 404 Errors into &#8220;I&#8217;m Feeling Lucky&#8221; Searches</h2>
<p><a href="http://overstimulate.com">Jesse Andrews</a> and I often take turns copying each other. (Of course, since he&#8217;s <a href="http://blog.wired.com/business/2009/02/wanna-play-clik.html">ridiculously famous</a>, and I&#8217;m only mildly annoying, people usually notice me copying him. Alas). Anyway, Jesse was the first one to point out <a href="http://humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/">Humanized Messages</a> to me. After which, I used (and modified) a <a href="http://code.google.com/p/humanmsg/">jQuery plugin to put Humanized Messages</a> into a <a href="http://spandexfox.com/googazon/">Firefox Extension</a>.</p>
<p><a href="http://www.flickr.com/photos/massenpunkt/91952193/"><img class="size-medium wp-image-170 alignright" title="404" src="http://www.cognition.ca/wp-content/uploads/2009/02/picture-1-300x265.png" alt="404" width="300" height="265" /></a></p>
<p>Jesse had to go one better, and built almost the same effect into <a href="http://overstimulate.com/articles/search-results-in-firefox">Searchy</a>, one of HIS Firefox Extensions. But he wrote it from scratch, and made it actually much nicer.</p>
<p>Anyway, I had been hacking on various ways to monetize browser extensions at the time, and harking back to the days when we wrote the &#8220;HP Browser Booster&#8221; at Mercurial. One of the many things it did, was to redirect 404 errors to the AOL Search Page. I figured I could do better than that &#8211; and I wrote &#8220;Four-Oh&#8221;.</p>
<p>This happy extension detects a 404 error (well before the 404 page is displayed, which was a happy little piece of coding), strips the requested path off the base domain name, converts slashes into spaces, and then uses that as an &#8220;I&#8217;m feeling lucky&#8221; query for the site:&lt;domainname.com&gt; of the original request.</p>
<p>Lost?</p>
<p>It means that trying to go to <a href="http://overstimulate.com/taboo">http://overstimulate.com/taboo</a> &#8211; will automatically land you on <a href="http://overstimulate.com/projects/taboo">http://overstimulate.com/projects/taboo</a>.</p>
<p>Not satisfied with simply a useful little utility, I also parse an RSS feed of random jokes, and pop one of them up on top of the resulting page &#8211; in a Humanized Message window that looks remarkably like Searchy.</p>
<p>Jesse, your turn.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=167&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_167"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

