<?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>steve hulet</title>
	<atom:link href="http://ideaharbor.org/notes/feed" rel="self" type="application/rss+xml" />
	<link>http://ideaharbor.org/notes</link>
	<description>random notes mostly for myself</description>
	<lastBuildDate>Tue, 24 Jan 2012 01:52: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>How To Fix &#8220;_arguments:comparguments:208: invalid argument: ARG&#8221; SVN Tab Completion Error</title>
		<link>http://ideaharbor.org/notes/technical/how-to-fix-_argumentscomparguments208-invalid-argument-arg-svn-tab-completion-error?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-fix-_argumentscomparguments208-invalid-argument-arg-svn-tab-completion-error</link>
		<comments>http://ideaharbor.org/notes/technical/how-to-fix-_argumentscomparguments208-invalid-argument-arg-svn-tab-completion-error#comments</comments>
		<pubDate>Tue, 24 Jan 2012 01:50:31 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=381</guid>
		<description><![CDATA[SVN 1.5 changed the Subversion help output to print ARG instead of arg. Unfortunately, the file which ZSH uses to parse the Subversion help output to generate the tab completion options was only looking for a lower case arg. The result is the error _arguments:comparguments:208: invalid argument: ARG when trying to tab-complete svn commands in [...]]]></description>
			<content:encoded><![CDATA[<p>SVN 1.5 <a href="https://svn.apache.org/viewvc?view=revision&#038;revision=863338">changed</a> the Subversion help output to print <code>ARG</code> instead of <code>arg</code>. Unfortunately, the file which ZSH uses to parse the Subversion help output to generate the tab completion options was only looking for a lower case <code>arg</code>. The result is the error <code>_arguments:comparguments:208: invalid argument: ARG</code> when trying to tab-complete <code>svn</code> commands in ZSH.</p>
<p><a href="http://zsh.cvs.sourceforge.net/viewvc/zsh/zsh/Completion/Unix/Command/_subversion?r1=1.24&#038;r2=1.25&#038;">The fix</a> was committed to the ZSH source in Jan 2008, but still has yet to make its way into all the machines being sold by hosting providers.</p>
<p>If you get stuck with a box with the new SVN but the old ZSH you can fix this yourself by editing <code>/usr/share/zsh/x.x.x/functions/_subversion</code> and replacing </p>
<blockquote><p><code>arg/:arg:</code></p></blockquote>
<p> with </p>
<blockquote><p><code>(arg|ARG)/:arg:</code></p></blockquote>
<p> both places it occurs. </p>
<p>Voilà! SVN tab completion works again.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/how-to-fix-_argumentscomparguments208-invalid-argument-arg-svn-tab-completion-error/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It gets better</title>
		<link>http://ideaharbor.org/notes/gps/it-gets-better?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=it-gets-better</link>
		<comments>http://ideaharbor.org/notes/gps/it-gets-better#comments</comments>
		<pubDate>Sun, 31 Jul 2011 17:26:45 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[gps]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=372</guid>
		<description><![CDATA[After more than three years I&#8217;ve finally updated my GPS maps. I found a blog post or other reference to GPSFileDepot which has many more and much better maps than MapCenter. They have some really nice maps like this one from Moun10Bike which includes roads, trails, topo lines and more. I downloaded and installed the [...]]]></description>
			<content:encoded><![CDATA[<p>After more than three years I&#8217;ve finally updated my GPS maps. I found a blog post or other reference to <a href="http://www.gpsfiledepot.com/">GPSFileDepot</a> which has many more and much better maps than <a href="http://mapcenter.cgpsmapper.com/">MapCenter</a>.</p>
<p>They have some really nice maps like <a href="http://www.gpsfiledepot.com/maps/view/412/">this one</a> from <a href="http://www.switchbacks.com/">Moun10Bike</a> which includes roads, trails, topo lines and more.</p>
<p>I downloaded and installed the maps and they then showed up in Garmin&#8217;s MapSource. The only tricky part was finding the &#8216;Make Map&#8217; menu bar button which switched from browse mode to select-tiles-to-send-to-device mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/gps/it-gets-better/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downloading Podcasts With CRON</title>
		<link>http://ideaharbor.org/notes/technical/downloading-podcasts-with-cron?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=downloading-podcasts-with-cron</link>
		<comments>http://ideaharbor.org/notes/technical/downloading-podcasts-with-cron#comments</comments>
		<pubDate>Fri, 04 Feb 2011 05:09:47 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=349</guid>
		<description><![CDATA[I used to open iTunes so I could click the &#8220;update&#8221; button to get the latest version of a podcast. Then I got tired of waiting for iTunes and decided I could keep my podcasts updated via CRON. Here&#8217;s the script I use which should work for most podcasts with an XML feed: wget --output-document=- [...]]]></description>
			<content:encoded><![CDATA[<p>I used to open iTunes so I could click the &#8220;update&#8221; button to get the latest version of a podcast. Then I got tired of waiting for iTunes and decided I could keep my podcasts updated via CRON. Here&#8217;s the script I use which should work for most podcasts with an XML feed:</p>
<blockquote><p><code>wget --output-document=- --quiet http://feeds.americanpublicmedia.org/MarketplacePodcast | grep mp3 | head -1 | sed -e "s/^.*\(http.*mp3\).*/\1/" | wget --input-file=- --quiet --output-document /tmp/marketplace.`date +\%Y-\%m-\%d`.mp3<br />
</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/downloading-podcasts-with-cron/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;DD-WRT &#8211; An affront to the good will of the F/OSS community&#8221;</title>
		<link>http://ideaharbor.org/notes/thoughts/dd-wrt-an-affront-to-the-good-will-of-the-foss-community?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dd-wrt-an-affront-to-the-good-will-of-the-foss-community</link>
		<comments>http://ideaharbor.org/notes/thoughts/dd-wrt-an-affront-to-the-good-will-of-the-foss-community#comments</comments>
		<pubDate>Sun, 19 Dec 2010 16:55:35 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=250</guid>
		<description><![CDATA[Retrieved from Google Cache 2009-12-19. Originally posted by db90h at http://bitsum.com/about-ddwrt.htm DD-WRT &#8211; An affront to the good will of the F/OSS community&#160;&#160;&#160;&#160;&#160;&#160;&#160; It is hard to persuade a man of something when his income depends on him not being persuaded.&#160; &#8211;todo: quote from? DISCLAIMER: The statements here reflect my own personal observations and opinions. [...]]]></description>
			<content:encoded><![CDATA[<p><em>Retrieved from Google Cache 2009-12-19. Originally posted by db90h at http://bitsum.com/about-ddwrt.htm</em></p>
<div style="color:black;">
<p><font size="5"><b>DD-WRT &#8211; An affront to the good will of the F/OSS community&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></font><font color="#0000ff"><br />
</font><i>It is hard to persuade a man of something when his income<br />
depends on him not being persuaded.&nbsp; &#8211;todo: quote from?</i></p>
<hr />
<p><font color="#666666"><i><b>DISCLAIMER: </b>The statements here reflect my<br />
own personal observations and opinions. I encourage the reader to verify these<br />
assertions for himself or herself</i>. <i>Everything written here can be easily<br />
confirmed by the reader through an analysis of the DD-WRT web site, DD-WRT<br />
source code, DD-WRT forums, and admissions of Brainslayer and other DD-WRT<br />
affiliates.</i></font></p>
<p>For a long time now I&#8217;ve been working to add value to DD-WRT. I supported the<br />
project in a number of ways, including developing the technology to flash v5<br />
series &#8216;micro&#8217; routers and the Firmware Modification Kit. Both these<br />
technologies, particularly the former, have greatly increased DD-WRT&#8217;s user base.
</p>
<p>In the last few months I started to notice some disturbing trends in the DD-WRT development. You can<br />
see these trends yourself, you don&#8217;t have to look hard. This article has the<br />
intention of introducing the reader to what DD-WRT is, how it came to be, and<br />
why I think the direction of development is very wrong. You may think otherwise,<br />
but it is important that the FACTS be heard, instead of suppressed.</p>
<p><b><u><font size="4">How DD-WRT came to be</font></u></b></p>
<p>The DD-WRT firmware was originally a fork of Sveasoft&#8217;s firmware. It came about because<br />
Sveasoft started placing restrictions on their supposed open-source firmware in<br />
an attempt to generate revenue. Major complaints about Sveasoft are summarized<br />
below:</p>
<blockquote>
<ul>
<li>Sveasoft started charging for their GPL firmwares (nothing<br />
		inherently wrong with this, as unpopular as it may be).</li>
<li>Sveasoft started trying to prevent distribution of their source<br />
		code, even to paying customers (illegal since their firmware is based on<br />
		GPL code).</li>
<li>Sveasoft placed anti-piracy mechanisms in the firmware to prevent<br />
		redistribution, something that would not have been illegal since their<br />
		project is GPL.</li>
<li>Sveasoft started a campaign of banning from their forums anyone who<br />
		spoke remotely critical of their firmware or merely mentioned<br />
		alternatives, even in OTHER forums than their own.</li>
</ul>
</blockquote>
<p>Sveasoft got to this shameful state because the focus of the project shifted<br />
from helping the community and having fun to pure revenue generation. Even if a<br />
project has noble intentions, once profit is the motivating factor, natural<br />
forces propel the project into a commercial direction, which is often directly in<br />
contrast to the free open-source community-driven philosophy. Again,<br />
nothing inherently wrong with this &#8211; as long as it is done right and without<br />
violating GPL licenses.</p>
<p>So, in short <i> <b>DD-WRT was born because Sveasoft went &#8216;commercial&#8217; and<br />
started trying to restrict technology instead of advance it</b>.</i></p>
<p><b><u><font size="4">What is DD-WRT? &#8211; Mostly the work of others</font></u></b></p>
<p>DD-WRT is an open-source project built upon the works of Linux, Broadcom,<br />
Linksys, OpenWrt, Busybox, and countless other contributors.<br />
Probably far less than 1% of the code has been authored by Brainslayer. In fact, I would estimate <b><i>the actual authorship of code<br />
somewhere between 0.01% and 0.10% </i>,<br />
</b>most all of which is modifications to the GPL code of others, not brand new<br />
libraries and applications. </p>
<p>For instance, the most major development of DD-WRT is extensions to the HTTP<br />
management console. These were all done on top of the existing code he forked<br />
from Sveasoft, which was forked from Linksys, who forked it from someone else.<br />
DD-WRT&#8217;s code is NOT separate and distinct, rather it is tightly integrated,<br />
direct modifications to existing code. This hasn&#8217;t stopped DD-WRT from trying to<br />
<a href="#LICENSE_TEXT">make their extensions to the web interface suddenly<br />
non-GPL</a>!</p>
<p>Consider it for yourself. The linux kernel, drivers, and all the common<br />
packages you see on most any linux distribution make up the vast majority of<br />
DD-WRT, not Brainslayer&#8217;s few additions. Furthermore, it isn&#8217;t just him who has<br />
extended the code. When DD-WRT was thought to have altruistic motives, many<br />
developers joined the cause. If there is any reluctance to accept the fact that<br />
almost all the code is written by others, it is simple arrogance &#8212; and, yes,<br />
surprisingly there is a denial of this fact. If you aren&#8217;t a developer, don&#8217;t<br />
take my word for it &#8212; <i><b>ask someone you really trust how much they think<br />
of DD-WRT is original code.</b></i></p>
<div align="center">
<table bgcolor="#ffffcc" border="1" cellpadding="6" width="487">
<tbody>
<tr>
<td><i>Consider it for yourself. The linux kernel, drivers, and all<br />
			the common packages you see on most any linux distribution make up<br />
			the vast majority of DD-WRT, not Brainslayer&#8217;s few additions.<br />
			Furthermore, it isn&#8217;t just him who has extended the code. When<br />
			DD-WRT was thought to have altruistic motives, many developers<br />
			joined the cause.</i></td>
</tr>
</tbody>
</table>
</div>
<p>Instead of giving credit where credit is due, Brainslayer has<br />
changed strings in the software to in an attempt to hide the<br />
true authors of programs simply because he, or someone, changed a handful of<br />
lines of code amongst tens of thousands. Consider<br />
<a href="http://www.busybox.org">Busybox</a>, which is the single component<br />
responsible for implementing almost all core system utilities and the system<br />
shell. Its shell startup message was changed in DD-WRT to downplay the<br />
contributions of the numerous developers of Busybox from all over the world:</p>
<blockquote>
<p><font face="Courier New" size="2">BusyBox v1.01 </font><br />
	<font face="Courier" size="2">(2006.05.16-18:12+0000)</font><font face="Courier New" size="2"> Built-in<br />
	shell (ash)</font></p>
<p>AND NOW IT READS:</p>
<p><font face="Courier" size="2">Now DD-WRT VeryBusyBox v1.01 (2006.05.16-18:12+0000)<br />
	Built-in shell (ash)</font></p>
</blockquote>
<p>Furthermore, DD-WRT at one point did give sparse credit to a handful of<br />
contributors. This was later removed as Brainslayer decided more and more of the<br />
code was &#8216;his&#8217;. Although this lack of attribution may be offensive to some, it is not<br />
illegal. The fact that DD-WRT is so much the work of others is a critical part<br />
of the argument that follows below.</p>
<p><b><u><font size="4">DD-WRT: Profit in sight</font></u></b></p>
<p>Brainslayer received many donations from users around the world in support of<br />
&#8216;his&#8217; free open-source project. Many developers came to give contributions &#8211;<br />
advancing the project farther than Brainslayer could have ever done himself. The<br />
community loved DD-WRT.</p>
<p>After a while, Brainslayer realized that he could make money with DD-WRT. The<br />
potential of making big money overshadowed the original purpose of the project,<br />
and he started to formulate a plan. Now, we all want to make money, there is nothing<br />
inherently wrong with<br />
that. Although he would be turning his back on his &#8216;base&#8217; to go commercial, we<br />
can not fault him for wanting to make money. We can, however, fault him for how<br />
he is going about it. Violating GPL licenses, removing credits, and soliciting<br />
donations under the pretense of being a free open-source project is NOT<br />
acceptable.</p>
<div align="center">
<table bgcolor="#ffffcc" border="1" cellpadding="6" width="487">
<tbody>
<tr>
<td><i>Although he (Brainslayer) would be turning his back on his<br />
			&#8216;base&#8217; to go commercial, we can not fault him for wanting to make<br />
			money. We can, however, fault him for how he is going about it.<br />
			Violating GPL licenses, removing credits, and soliciting donations<br />
			under the pretense of being a free open-source project is NOT<br />
			acceptable.</i></td>
</tr>
</tbody>
</table>
</div>
<p>At first, he didn&#8217;t want to admit even to himself his commercial aspirations.<br />
Little things were done, which were clearly the start of a <i>slide down a very<br />
slippery slope. </i>A few of these early actions are below, in order of LEAST<br />
egregious to MOST egregious.</p>
<blockquote>
<ul>
<li><b><span style="background-color: rgb(255, 255, 0);">DD-WRT Web UI protected against modification</span><br />
		</b>After development of the Firmware Modification Kit by third-party<br />
		developers (namely me), Brainslayer was afraid someone might take the<br />
		free/open-source code and re-brand it, <b>much like he did</b>. He<br />
		therefore encrypted the web UI, making it very difficult to change with<br />
		the firmware modification kit, and further at first &#8216;forgot&#8217; to distribute with<br />
		the source code the component that encrypts the web UI. Whether or not<br />
		DD-WRT can fully be rebuilt from its publicly available source code is<br />
		unknown at this point. The build root is intentionally kept hard to use.<br />
		Remember, DD-WRT is mostly NOT his code and is all GPL, this is a direct<br />
		offense to those whose code he uses freely. It&#8217;s ok for HIM to sell<br />
		other people&#8217;s code, but not for others to sell HIS.</li>
<li><b><span style="background-color: rgb(255, 255, 0);">DD-WRT Free for home use only</span><br />
		</b>Adding this ILLEGAL statement to DD-WRT clearly showed the<br />
		intentions of the author. Brainslayer has no right to restrict where his<br />
		GPL derivative works are allowed to be used.<br />
		Again, DD-WRT&#8217;s code is not stand-alone,&nbsp; dynamically linked<br />
		extensions. Instead, all major components are built upon the code that<br />
		was originally there (i.e. the original Linksys http management<br />
		console). <i>Update: He removed this text from the license in v23 SP1,<br />
		probably because he discovered it to be illegal. <a href="#Appendix_A"><br />
		See Appendix A for a snippet of the license text in DD-WRT v23</a>.</i></li>
<li><b><span style="background-color: rgb(255, 255, 0);">DD-WRT &#8216;Special Edition&#8217; for sale: approx.<br />
		$17-$22 USD</span><br /></b>This special edition of DD-WRT offers more features than the &#8216;free&#8217;<br />
		version of DD-WRT. Call it what you want, but this is the <i><b>full<br />
		edition</b></i> of DD-WRT and the free edition is a crippled<br />
		counterpart. Where do you think new features will go first in the<br />
		future? The free version or the &#8216;special edition&#8217; version? In order to<br />
		protect revenue, Brainslayer will feel increasingly compelled to add<br />
		exclusive features to the special edition, add anti-copying mechanisms,<br />
		and illegally protect GPL code.<br />
		That is what happens when paying your bills is dependent on how<br />
		many sales you make. He admits to this very fact on the DD-WRT store<br />
		page that sells the &#8216;special edition&#8217;: &#8220;<i>we will additional features<br />
		in this version in future too</i>.&#8221; (<a href="http://www.dd-wrt.com/shop/catalog/product_info.php?products_id=31" rel="nofollow">reference</a>)&nbsp; You&#8217;ll find this &#8216;special edition&#8217; of DD-WRT for<br />
		sale in the<br />
		<a href="http://www.dd-wrt.com/shop/catalog/product_info.php?products_id=31" rel="nofollow">DD-WRT store</a> right now.</li>
<li><b><span style="background-color: rgb(255, 255, 0);">DD-WRT x86 Edition license required</span><font color="#ff0000"><br />
		</font></b>If you want a license to use the x86 edition at home you must<br />
		request one nicely from Brainslayer and hope he responds, otherwise you<br />
		must purchase a license. No unlicensed copies will exist! This version<br />
		DOES HAVE copy protections. You can go see for yourself, or just ask<br />
		Brainslayer and he&#8217;ll admit it.</li>
</ul>
<p><i><b>If by now you don&#8217;t see that DD-WRT is a commercial project, not a<br />
	F/OSS project, then you need to re-read the above.</b></i></p>
</blockquote>
<p>When profit becomes a primary motivator, there are almost irresistible<br />
pressures to let the pursuit of profit guide all decisions in the project.<b><font size="4"><br />
</font></b>Things like restricting distribution of GPL source code, intentional<br />
obfuscation of source code, anti-copy mechanisms, and suppression of competing<br />
technological advances have real advantages when the<br />
goal is to make money. If DD-WRT weren&#8217;t a GPL&#8217;d project, these issues<br />
wouldn&#8217;t exist..&nbsp; but it is.</p>
<div align="center">
<table bgcolor="#ffffcc" border="1" cellpadding="6" width="487">
<tbody>
<tr>
<td><i>When profit becomes a primary motivator, there are almost<br />
			irresistible pressures to let the pursuit of profit guide all<br />
			decisions in the project.</i><b><i><font size="4"> </font></i></b><br />
			<i>Things like restricting distribution of GPL source code,<br />
			intentional obfuscation of source code, anti-copy mechanisms, and<br />
			suppression of competing technological advances have real benefits when the goal is to make money. If DD-WRT weren&#8217;t a GPL&#8217;d project, these issues wouldn&#8217;t exist..&nbsp;<br />
			but it is.</i></td>
</tr>
</tbody>
</table>
</div>
<p><b><u><font size="4">DD-WRT: Suppressing criticism (or protecting revenue)</font></u></b></p>
<p>When I voiced my concern about profit becoming a primary motivator and the<br />
irresistible pressure to commercialize that comes with it, I was treated as if I<br />
ran over Brainslayer&#8217;s dog. So, I just went elsewhere and<br />
started work on a community-driven multi-developer project with built-in<br />
protections against having the project itself go commercial since I knew market<br />
forces are hard to resist.</p>
<p>Later, I heard Brainslayer said I was &#8216;exiled&#8217; from the DD-WRT community, as<br />
if because I had a different opinion I was run off and ridiculed. It was clear<br />
his ego was getting out of control at this point. No big deal, I let it slide.</p>
<p>A few weeks later during a discussion in the DD-WRT forums about the Tomato<br />
firmware, I posted a message that mentioned reasonable rationale for using<br />
competing products. It was CENSORED <i><b>despite clearly inflammatory posts<br />
being left in place</b></i>, further demonstrating that Brainslayer is about<br />
protection of revenue and suppression of competing technologies.</p>
<p>After it was clear to Brainslayer that I might spread the truth about his<br />
plans to commercialize the project, he sought to find a way to ban me from the<br />
forums. Since I <i><b>did not actually post in the forums</b></i> after this, it<br />
was not easy for him. Finally, I made <b>a single topic change</b> on the<br />
#dd-wrt channel on irc which gave him a &#8216;reason&#8217; to ban me. After that, I<br />
changed it a couple more times the next day for fun, but always clearly showing<br />
who changed it.</p>
<p>Here is Brainslayer&#8217;s post explaining what I supposedly did to get banned<br />
from the forums. He made this post publicly for whatever reason.</p>
<div align="center">
<table border="0" width="50%">
<tbody>
<tr>
<td>
<blockquote>
<p><b>&lt;Brainslayer&gt;</b></p>
<p><font face="Courier New" size="2">he was doing the following </p>
<p>18:38 -!- db90h [n=kgb@*] has joined<br />
#dd-wrt <br />
18:39 -!- db90h is now known as ddwrtusr <br />
18:39 -!- ddwrtusr changed the topic of #DD-WRT to: DD-WRT goes commercial on<br />
12/01/06 </p>
<p>then today again </p>
<p>16:42 &gt;&gt;&gt; #dd-wrt, db90h [n=kgb@*] <br />
16:43 &#8212; #dd-wrt topic by db90h: DD-WRT full edition &#8211; only $19.95 </p>
<p>
he is doing vandalism within the irc etc. he is also posting such topics under<br />
my name or better he changes it to a style that i looks like i wrote it. <br />
this is why i disables his forum account. he still can read here under his name<br />
but not post. maybe he will create another account with another same to flood<br />
this forum with other bogus stuff. who knows</font></p>
</blockquote>
</td>
</tr>
</tbody>
</table>
</div>
<p><b><font size="4">Facts:</font></b></p>
<ol>
<li>Yea, I did change the IRC channel topic <b>ONCE</b> prior to being<br />
	banned from the forums, and made it clear I was the one who changed the<br />
	topic (see log he gives above). I was really<br />
	just joking, though DD-WRT is quite obviously a commercial operation since<br />
	they are out to make money. Besides, what happens on the apparently<br />
	unofficial and unmoderated #dd-wrt irc channel has nothing to<br />
	do with the forum. After he banned me, I went ahead and changed the topic<br />
	again to &#8216;DD-WRT full edition &#8211; only $19.95&#8242;. <i>The truth is that the<br />
	special edition is about 20 euros in Europe, or about $22 in the US.</i></li>
<li>I <b>DID NOT </b>set the topic so that it appeared to be written by<br />
	BrainSlayer, someone else did that.</li>
<li>I have<b> NEVER </b>posted bogus information in the forums and haven&#8217;t<br />
	even posted anything in over a month (at least). Yet he is afraid I &#8216;might&#8217;<br />
	so preemptively bans me. Perhaps he is afraid I will do something else? Like<br />
	spread the truth?</li>
<li>There have been <b>completely baseless accusations</b> that I am trying<br />
	to advertise for my own project. First, it&#8217;s not my project, and, second, I<br />
	do not have any financial interests in its success (unlike Brainslayer and<br />
	DD-WRT). Lastly, I never mentioned the X-Wrt project and it was Brainslayer<br />
	who made the public announcement about me being banned for simply setting a<br />
	topic saying DD-WRT was commercial (which it is).</li>
</ol>
<p><b><u><font size="4"><br />
DD-WRT: </font></u></b><u><font size="4"><b>Sliding down the slippery slope&#8230;</b></font></u></p>
<p>So, today the slide towards commercializing continues unabated. That is<br />
DD-WRT&#8217;s right, but let us FORCE them to do it ethically and within the<br />
guidelines of the GPL code they have based their project on. They are NOT<br />
ALLOWED by the GPL license to take someone else&#8217;s code and claim it as their<br />
own, put new restrictions on its use, or not distribute the modified sources.</p>
<p>Granted, what DD-WRT does or doesn&#8217;t do isn&#8217;t that important in the grand<br />
scheme of things, but I feel users should be<br />
AWARE of what is going on, specifically those users who <i><b>donate to DD-WRT<br />
under the false pretense of it being a free open-source project</b></i>. </p>
<p>Here are my recommendations:</p>
<ol>
<li><b>DO NOT DONATE TO DD-WRT</b>. It now sells firmwares, donating to them<br />
	would be like donating to any commercial software company.</li>
<li><b>DEMAND BUILD-ABLE SOURCE CODE. </b>The entire source code should and<br />
	MUST be build-able without having to ask the author to kindly include<br />
	missing pieces.</li>
<li><b>DEMAND SUPPORT. </b>Now that DD-WRT is in the business of making<br />
	money, they are also RESPONSIBLE to provide support they currently DO NOT<br />
	provide. Also, they are more liable for all the routers they brick.</li>
<li><b>SPREAD THE TRUTH. </b>One merely has to point to the<br />
	<a href="http://www.dd-wrt.com/shop/catalog" rel="nofollow">DD-WRT Store</a>. Don&#8217;t listen<br />
	to their spin, look at what they are doing.</li>
<li><b>ALTERNATIVES SHOULD BE USED. </b>Instead of encouraging users to find<br />
	the firmware best for them, Brainslayer has started a campaign of<br />
	suppressing information about firmwares that might hurt his revenue. There<br />
	are plenty of alternatives, but to remain neutral I will leave it up to<br />
	google.</li>
</ol>
<p>&nbsp;</p>
<p><b><i><font size="4">You decide. Don&#8217;t listen to me, look for yourself. It<br />
doesn&#8217;t take much effort to verify assertions made here.</font></i></b></p>
<p><i>&nbsp;- db90h</i></p>
<h3>P.S. An addendum</h3>
<p>
This article was written a very long time ago, back when I was invovled in embedded<br />
F/OSS. Since its publication, DD-WRT has grown completely commercial &#8211; as I predicted.<br />
I have no problem with this, and I certainly understand the need to generate some revenue from<br />
F/OSS. Whether or not they are currently violating any GPL licensing,<br />
I do not know.. nor do I care anymore. This page WILL be removed in time..<br />
I recommend checking out the Tomato, OpenWrt, and X-Wrt firmwares.
</p>
<p><b><font size="4"><a name="Appendix_A">Appendix A</a></font></b>
</p>
<p align="left"><i><b><a name="LICENSE_TEXT"><font size="2">LICENSE TEXT</font></a><font size="2"><br />
							FROM v23 (sp0):</font></b></i></p>
<table bgcolor="#cccccc" border="0" width="60%">
<tbody>
<tr>
<td bgcolor="#dddddd"><font size="2">the use of the &#8220;NON GPL Parts&#8221; of this<br />
					firmware and the distributed source <br />
					is permitted without any charge for PRIVATE USE ONLY unless<br />
					other rights are<br />
					granted by the firmware author only.</p>
<p>					26.8.2005 Sebastian Gottschall / Blueline AG</p>
<p>					the following features are tagged as NON-GPL</p>
<p>					Webinterface&nbsp;&nbsp; </font><font color="#ff0066"><b>&lt;&#8211; ***</b></font><b><font color="#ff0066"><br />
					ILLEGAL, THIS IS A GPL DERIVATIVE WORK!! ***</font><br />
					</b>macupd (mac update daemon for rflow collector)<br />
					the configuration scripts and definitions within /etc/config</td>
</tr>
</tbody>
</table>
<p>&nbsp;
</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/thoughts/dd-wrt-an-affront-to-the-good-will-of-the-foss-community/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Connecting to MS SQL Server with Ruby on Rails</title>
		<link>http://ideaharbor.org/notes/technical/connecting-to-ms-sql-server-with-ruby-on-rails?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=connecting-to-ms-sql-server-with-ruby-on-rails</link>
		<comments>http://ideaharbor.org/notes/technical/connecting-to-ms-sql-server-with-ruby-on-rails#comments</comments>
		<pubDate>Fri, 01 Oct 2010 04:32:37 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=338</guid>
		<description><![CDATA[Tools If you&#8217;re running the Rails app on a Windows box you&#8217;ll first need the the DevKit toolkit in order to build gems: Regardless of platform you&#8217;ll need to install the ODBC Binding for Ruby and SQL Server 2005 and 2008 Adapter For ActiveRecord. Add the latter (at least) to your project by adding config.gem [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Tools</strong></p>
<p>If you&#8217;re running the Rails app on a Windows box you&#8217;ll first need the the  <a href="http://github.com/oneclick/rubyinstaller/wiki/Development-Kit">DevKit</a> toolkit in order to build gems:</p>
<p>Regardless of platform you&#8217;ll need to install the <a href="http://www.ch-werner.de/rubyodbc/">ODBC Binding for Ruby</a> and <a href="http://github.com/rails-sqlserver/activerecord-sqlserver-adapter">SQL Server 2005 and 2008 Adapter For ActiveRecord</a>. Add the latter (at least) to your project by adding <code>config.gem "activerecord-sqlserver-adapter"</code> to your <code>environment.rb</code> config section.</p>
<p><strong>Configuration</strong></p>
<p>On Linux we&#8217;ll need the <a href="http://www.freetds.org/">FreeTDS</a> libraries in order to talk to the MS SQL. You&#8217;ll need to add an entry to the <a href="http://www.freetds.org/userguide/freetdsconf.htm"><code>freetds.conf</code></a> file specifying how your database can be reached. Be sure to <a href="http://www.freetds.org/userguide/confirminstall.htm">confirm the installation</a> to make sure it&#8217;s possible to connect to the database.</p>
<p>To bridge the gap between Rails and FreeTDS you&#8217;ll need to add your database configuration settings to two additional files, <code>/etc/odbc.ini</code> and <code>/etc/odbcinst.ini</code>.</p>
<p>In <code>/etc/odbcinst.ini</code> add something to the effect of:</p>
<blockquote><p><code>[FreeTDS]<br />
Description     = TDS driver (Sybase/MS SQL)<br />
Driver          = /usr/lib64/libtdsodbc.so<br />
Setup           = /usr/lib64/libtdsS.so<br />
CPTimeout       =<br />
CPReuse         =<br />
FileUsage       = 1<br />
</code></p></blockquote>
<p>Make sure the Driver and Setup paths point to the actual libraries.</p>
<p>In <code>/etc/odbc.ini</code> add something to the effect of:</p>
<blockquote><p><code>[DSN_NAME]<br />
Driver          = FreeTDS<br />
Description     = ODBC connection via FreeTDS<br />
Trace           = No<br />
Servername      = SERVER_NAME<br />
Database        = DATABASE_NAME<br />
</code></p></blockquote>
<p>Then, in your <code>database.yml</code> file:</p>
<blockquote><p><code>development:<br />
  adapter: sqlserver<br />
  mode: ODBC<br />
  dsn: DSN_NAME<br />
  username: USER<br />
  password: PASS<br />
</code></p></blockquote>
<p>Customize the all-caps strings as needed, except the mode, which really is ODBC.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/connecting-to-ms-sql-server-with-ruby-on-rails/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Tomcat 6 on a cPanel Server</title>
		<link>http://ideaharbor.org/notes/technical/installing-tomcat-6-on-a-cpanel-server?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-tomcat-6-on-a-cpanel-server</link>
		<comments>http://ideaharbor.org/notes/technical/installing-tomcat-6-on-a-cpanel-server#comments</comments>
		<pubDate>Tue, 29 Jun 2010 01:01:00 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=329</guid>
		<description><![CDATA[The cPanel EasyApache system makes it easy to recompile Apache with various add-ons and modules. There&#8217;s even a checkbox for adding Tomcat. Unfortunately, this installs Tomcat 5.5, and I needed Tomcat 6.0. Here&#8217;s how I got it: 1) install Tomcat 5.5 using EasyApache (see this .pdf for details) 2) download and expand Tomcat 6 in [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.cpanel.net/documentation/easyapache/">cPanel EasyApache</a> system makes it easy to recompile Apache with various add-ons and modules. There&#8217;s even a checkbox for adding Tomcat. Unfortunately, this installs Tomcat 5.5, and I needed Tomcat 6.0. Here&#8217;s how I got it:</p>
<p>1) install Tomcat 5.5 using EasyApache (see <a href="http://docs.cpanel.net/twiki/pub/AllDocumentation/TrainingResources/TrainingSlides08/Tomcat.pdf">this .pdf</a> for details)</p>
<p>2) download and expand Tomcat 6 in <code>/usr/local/jakarta</code></p>
<p>3) change the <code>tomcat</code> symlink to point to your new version (i.e. <code>/usr/local/jakarta/apache-tomcat-6.0.XX</code>)</p>
<p>4) from <a href="http://trulymanaged.com/blog/installation-of-tomcat6/">http://trulymanaged.com/blog/installation-of-tomcat6/</a>:</p>
<p><code>#cd apache-tomcat-6.0.18<br />
# cd bin<br />
# tar xvfz jsvc.tar.gz<br />
# cd jsvc-src<br />
# chmod +x configure<br />
# ./configure<br />
# make<br />
# cp jsvc ..<br />
# cd ..</code></p>
<p>5) copy over any <code>Host</code> blocks from <code>tomcat/conf/server.xml</code> from the old Tomcat install to the new Tomcat install (you may or may not be able to set up new hosts through WHM)</p>
<p>6) copy over <code>conf/workers.properties</code> from the old Tomcat install to the new Tomcat install</p>
<p>7) start tomcat normally (<code>/usr/sbin/starttomcat</code>)</p>
<p>The <code>/manager/html/</code> Tomcat manager application doesn&#8217;t load, though, so it&#8217;s not perfect.  </p>
<p>If you ever need your old Tomcat back just stop Tomcat, flip the <code>tomcat</code> symlink back to the old install, and restart Tomcat.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/installing-tomcat-6-on-a-cpanel-server/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dreamhost to Google Apps naked domain name redirection</title>
		<link>http://ideaharbor.org/notes/technical/dreamhost-to-google-apps-naked-domain-name-redirection?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dreamhost-to-google-apps-naked-domain-name-redirection</link>
		<comments>http://ideaharbor.org/notes/technical/dreamhost-to-google-apps-naked-domain-name-redirection#comments</comments>
		<pubDate>Fri, 25 Jun 2010 05:36:23 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=325</guid>
		<description><![CDATA[I&#8217;ve had this problem twice in recent memory, which warrants taking notes. Dreamhost has a handy &#8220;Google Hosted&#8221; feature where with a single click they&#8217;ll completely configure your domain to use Google Apps. You can then use Google Sites and the rest of the Apps suite for your entire website. Unfortunately, while Google Sites allows [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had this problem twice in recent memory, which warrants taking notes.</p>
<p><a href="http://www.dreamhost.com/r.cgi?192161">Dreamhost</a> has a handy &#8220;Google Hosted&#8221; feature where with a single click they&#8217;ll completely configure your domain to use <a href="http://www.google.com/apps/intl/en/group/index.html">Google Apps</a>. You can then use Google Sites and the rest of the Apps suite for your entire website. Unfortunately, while Google Sites allows you to map a subdomain to a Google Site page, mapping <a href="http://www.google.com/support/blogger/bin/answer.py?hl=en&#038;answer=139485">naked domains</a> (e.g. example.com) are not supported. If one maps the <code>www</code> subdomain to a Google Site then the traditional <code>www.example.com</code> will resolve, but <code>example.com</code> gives a Google-served <a href="http://en.wikipedia.org/wiki/HTTP_404">404 error</a>. When using the Dreamhost &#8220;Google Hosted&#8221; feature all of the generated domain DNS records are non-editable, so you&#8217;re stuck with an <code>A</code> record which maps the domain to a nonexistent site.</p>
<p>My solution was to not use the Dreamhost &#8220;Google Hosted&#8221; feature at all, but to instead use the &#8220;DNS Only&#8221; option. I copied down all the generated DNS entries from the &#8220;Google Hosted&#8221; setup and manually recreated them, with one exception. The <code>A</code> record for the naked domain I directed to 174.129.25.170, which is the IP address of <a href="http://www.wwwizer.com/">WWWizer</a>, a free service which handily redirects any naked domain request the the corresponding <code>www</code> subdomain.</p>
<p>Now I have a site set up on my <code>www</code> subdomain with Google footing the hosting bill, and naked domain requests are seamlessly redirected to the <code>www</code>-based home page.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/dreamhost-to-google-apps-naked-domain-name-redirection/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Enabling chat outside Google Apps</title>
		<link>http://ideaharbor.org/notes/technical/enabling-chat-outside-google-apps?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=enabling-chat-outside-google-apps</link>
		<comments>http://ideaharbor.org/notes/technical/enabling-chat-outside-google-apps#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:40:18 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=295</guid>
		<description><![CDATA[Google Apps users can chat with other users on the Google Talk network, but it&#8217;s also possible to set up federation on your domain to allow your users to chat with anyone using the XMPP protocol. The Google Help page on the topic, at http://www.google.com/support/a/bin/answer.py?hl=en&#038;answer=34143, is pretty weak. &#8220;If you require assistance making these changes [...]]]></description>
			<content:encoded><![CDATA[<p>Google Apps users can chat with other users on the Google Talk network, but it&#8217;s also possible to set up federation on your domain to allow your users to chat with anyone using the XMPP protocol.</p>
<p>The Google Help page on the topic, at <a href="http://www.google.com/support/a/bin/answer.py?hl=en&#038;answer=34143">http://www.google.com/support/a/bin/answer.py?hl=en&#038;answer=34143</a>, is pretty weak. &#8220;If you require assistance making these changes in your domain host account&#8221;, they offer, &#8220;we suggest contacting your domain host.&#8221;</p>
<p>The change involves adding SRV DNS records for your domain. The records to be added are:<br />
<code><br />
_xmpp-server._tcp.gmail.com. IN SRV 5 0 5269 xmpp-server.l.google.com.<br />
_xmpp-server._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server1.l.google.com.<br />
_xmpp-server._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server2.l.google.com.<br />
_xmpp-server._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server3.l.google.com.<br />
_xmpp-server._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server4.l.google.com.<br />
_jabber._tcp.gmail.com. IN SRV 5 0 5269 xmpp-server.l.google.com.<br />
_jabber._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server1.l.google.com.<br />
_jabber._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server2.l.google.com.<br />
_jabber._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server3.l.google.com.<br />
_jabber._tcp.gmail.com. IN SRV 20 0 5269 xmpp-server4.l.google.com.<br />
</code><br />
where <em>gmail.com</em> is replaced by your apps domain name.</p>
<p><a href="http://en.wikipedia.org/wiki/SRV_record">Wikipedia</a> takes a SRV record in the form<br />
<code><br />
_sip._tcp.example.com. 86400 IN SRV 0 5 5060 sipserver.example.com.<br />
</code> </p>
<p>and breaks it down thusly:<br />
<code><br />
_Service._Proto.Name TTL Class SRV Priority Weight Port Target<br />
</code></p>
<p>Where:</p>
<blockquote>
<ul>
<li> <strong>Service</strong>: the symbolic name of the desired service.
</li>
<li> <strong>Proto</strong>: the transport protocol of the desired service; this is usually either TCP or UDP.
</li>
<li> <strong>Name</strong>: the domain name for which this record is valid.
</li>
<li> <strong>TTL</strong>: standard DNS time to live field.
</li>
<li> <strong>Class</strong>: standard DNS class field (this is always IN).
</li>
<li> <strong>Priority</strong>: the priority of the target host, lower value means more preferred.
</li>
<li> <strong>Weight</strong>: A relative weight for records with the same priority.
</li>
<li> <strong>Port</strong>: the TCP or UDP port on which the service is to be found.
</li>
<li> <strong>Target</strong>: the canonical hostname of the machine providing the service.
</li>
</ul>
</blockquote>
<p>Taking the first of the Google provided record definitions as an example,<br />
<code><br />
_xmpp-server._tcp.gmail.com. IN SRV 5 0 5269 xmpp-server.l.google.com.<br />
</code><br />
we have:</p>
<ul>
<li> <strong>Service</strong>: xmpp-server
</li>
<li> <strong>Proto</strong>: tcp
</li>
<li> <strong>Name</strong>: gmail.com.
</li>
<li> <strong>TTL</strong>: (none given)
</li>
<li> <strong>Class</strong>: IN
</li>
<li> <strong>Priority</strong>: 5
</li>
<li> <strong>Weight</strong>: 0
</li>
<li> <strong>Port</strong>: 5269
</li>
<li> <strong>Target</strong>: xmpp-server.l.google.com.
</li>
</ul>
<p>where, again, <em>gmail.com</em> is replaced by your Google Apps domain. </p>
<p>My DNS settings provider doesn&#8217;t offer a &#8220;Name&#8221; field while adding SRV records; instead they have a &#8220;Record/Hostname&#8221; field where the domain fixed but with the opportunity to enter a subdomain. This is usually not necessary with Google Apps, unless your primary Google Apps domain is actually a subdomain. For me I just left the &#8220;Record/Hostname&#8221; field blank and the &#8220;Name&#8221; was set correctly.</p>
<p>You can test that your new SRV records were created correctly using <a href="http://www.linuxcommand.org/man_pages/dig1.html">dig</a>:<br />
<code><br />
dig SRV _xmpp-server._tcp.gmail.com<br />
</code></p>
<p>You should get back, in the ANSWER SECTION, just what the Google Help page listed for that service (with a TTL added):<br />
<code><br />
_xmpp-server._tcp.gmail.com. 86400 IN	SRV 20 0 5269 xmpp-server1.l.google.com.<br />
_xmpp-server._tcp.gmail.com. 86400 IN	SRV 20 0 5269 xmpp-server2.l.google.com.<br />
_xmpp-server._tcp.gmail.com. 86400 IN	SRV 20 0 5269 xmpp-server3.l.google.com.<br />
_xmpp-server._tcp.gmail.com. 86400 IN	SRV 20 0 5269 xmpp-server4.l.google.com.<br />
_xmpp-server._tcp.gmail.com. 86400 IN	SRV 5 0 5269 xmpp-server.l.google.com.<br />
</code></p>
<p>If you don&#8217;t want to wait for the DNS updates to propagate you can ask your domains name server directly:<br />
<code><br />
dig @69.28.203.75 SRV _xmpp-server._tcp.gmail.com<br />
</code></p>
<p>Where 69.28.203.75 is replaced with the IP address of your domains name server.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/enabling-chat-outside-google-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Script</title>
		<link>http://ideaharbor.org/notes/technical/shell-script?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shell-script</link>
		<comments>http://ideaharbor.org/notes/technical/shell-script#comments</comments>
		<pubDate>Mon, 15 Mar 2010 02:22:00 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=281</guid>
		<description><![CDATA[A fun little shell script: :(){:&#124;:&#038;};:]]></description>
			<content:encoded><![CDATA[<p>A fun little shell script:</p>
<p><code>:(){:|:&#038;};:</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/shell-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DVD Backups</title>
		<link>http://ideaharbor.org/notes/technical/dvd-backups?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dvd-backups</link>
		<comments>http://ideaharbor.org/notes/technical/dvd-backups#comments</comments>
		<pubDate>Fri, 05 Mar 2010 07:45:52 +0000</pubDate>
		<dc:creator>hulet</dc:creator>
				<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://ideaharbor.org/notes/?p=277</guid>
		<description><![CDATA[DVD Decrypter faithfully copies disks to drives. Mode ISO > Read will produce an .iso of a disk; a double-layer disk will produce an 8GB .iso. The File mode just copies all the files as-is straight from the disk into a VIDEO_TS folder. DVD Decrypter looks like it can also burn .isos by changing the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dvddecrypter.org.uk/">DVD Decrypter</a> faithfully copies disks to drives. Mode <code>ISO > Read</code> will produce an <code>.iso</code> of a disk; a double-layer disk will produce an 8GB <code>.iso</code>. The <code>File</code> mode just copies all the files as-is straight from the disk into a <code>VIDEO_TS</code> folder. DVD Decrypter looks like it can also burn <code>.iso</code>s by changing the <code>Mode</code> to <code>ISO > Write</code>, but I haven&#8217;t tried it yet. </p>
<p><a href="http://www.imgburn.com/">ImgBurn</a> is great for burning <code>.iso</code> files to a DVD. Just insert a DVD, choose your source file, and click the button.</p>
<p><a href="http://www.dvdshrink.org/">DVD Shrink</a> will create a 4GB <code>.iso</code> from a double-layer disk!</p>
<p>See:</p>
<p><a href="http://lifehacker.com/5444274/five-best-dvd+ripping-tools">http://lifehacker.com/5444274/five-best-dvd+ripping-tools</a><br />
<a href="http://lifehacker.com/5446090/best-dvd+ripping-tool-handbrake">http://lifehacker.com/5446090/best-dvd+ripping-tool-handbrake</a><br />
<a href="http://lifehacker.com/208866/hack-attack-one+click-dvd-rips">http://lifehacker.com/208866/hack-attack-one+click-dvd-rips</a><br />
<a href="http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Rip-Other-Tools/DVD-Shrink.shtml">http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Rip-Other-Tools/DVD-Shrink.shtml</a><br />
<a href="http://paininthetech.com/2006/04/30/how-to-back-up-a-dvd">http://paininthetech.com/2006/04/30/how-to-back-up-a-dvd</a></p>
<p>For encoding for iPhone I like that <a href="http://handbrake.fr/">HandBrake</a> has iPhone presets. Just open the disk, select the preset, and click Start. When it&#8217;s done just drag the .m4v into iTunes, sync, and go.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideaharbor.org/notes/technical/dvd-backups/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

