<br />
<b>Warning</b>:  sem_get() [<a href='function.sem-get'>function.sem-get</a>]: failed for key 0x152b: Permission denied in <b>/home/dossy/htdocs/wp/wp-content/plugins/wp-cache/wp-cache-phase2.php</b> on line <b>98</b><br />
<?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>Dossy&#039;s Blog &#187; Open Source</title>
	<atom:link href="http://dossy.org/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://dossy.org</link>
	<description>Everything that comes out of Dossy, from the strange to the banal.</description>
	<lastBuildDate>Thu, 11 Mar 2010 16:19:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Getting ActiveState&#8217;s &#8220;teacup&#8221; working on MacOS X</title>
		<link>http://dossy.org/2009/10/getting-activestates-teacup-working-on-macos-x/</link>
		<comments>http://dossy.org/2009/10/getting-activestates-teacup-working-on-macos-x/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:31:16 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Geeking out]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tcl]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=842</guid>
		<description><![CDATA[ActiveState has created a Tcl Extension Archive tool called teacup which simplifies the installation of binary extensions to Tcl.  It&#8217;s included with ActiveTcl, but if you&#8217;re using Tcl from MacPorts and want to use teacup, it&#8217;s fairly easy:
1. Download teacup for MacOS X
The teacup binary can be downloaded from this location:

http://teapot.activestate.com/entity/name/teacup/index

Here is a direct [...]]]></description>
			<content:encoded><![CDATA[<p>ActiveState has created a <a href="http://wiki.tcl.tk/17340">Tcl Extension Archive</a> tool called <a href="http://wiki.tcl.tk/17305">teacup</a> which simplifies the installation of binary extensions to Tcl.  It&#8217;s included with ActiveTcl, but if you&#8217;re using Tcl from <a href="http://www.macports.org/">MacPorts</a> and want to use teacup, it&#8217;s fairly easy:</p>
<h3>1. Download teacup for MacOS X</h3>
<p>The teacup binary can be downloaded from this location:</p>
<ul>
<li><a href="http://teapot.activestate.com/entity/name/teacup/index">http://teapot.activestate.com/entity/name/teacup/index</a></li>
</ul>
<p>Here is a <a href="http://teapot.activestate.com/application/name/teacup/ver/8.5.7.2.291420/arch/macosx-universal/file.exe">direct link to the latest teacup binary</a>.  The file is named <tt>file.exe</tt> &#8212; simply rename that to <tt>teacup</tt> and put it in <tt>/usr/local/bin</tt> or another convenient place in your <tt>$PATH</tt>.</p>
<h3>2. Create the installation repository</h3>
<p>You will need an installation repository where teacup can store its data locally.  The default location is <tt>/Library/Tcl/teapot</tt> and you can create it like this:</p>
<blockquote>
<pre><code>$ <b>sudo teacup create</b>
Repository @ /Library/Tcl/teapot
    Created</code></pre>
</blockquote>
<h3>3. Patch MacPorts tclsh to handle teapot repositories</h3>
<blockquote>
<pre><code>$ <b>sudo teacup setup /opt/local/bin/tclsh</b>
Looking at tcl shell /opt/local/bin/tclsh ...
  Already able to handle Tcl Modules.
  Already has the platform packages.
  Patching: Adding code to handle teapot repositories ...
Done</code></pre>
</blockquote>
<h3>4. Link teacup to MacPorts tclsh</h3>
<blockquote>
<pre><code>$ <b>sudo teacup link make /Library/Tcl/teapot /opt/local/bin/tclsh</b>
Ok</code></pre>
</blockquote>
<p>That&#8217;s it!  You&#8217;re done.  You should now be able to list available packages within TEA using <tt>teacup list</tt> and install them using <tt>sudo teacup install "packagename"</tt>.</p>
<p>I&#8217;ve tested this on MacOS X 10.6.1 Snow Leopard with Tcl 8.5.7 from MacPorts.</p>
<p>Tags: <a href="http://technorati.com/tag/HOWTO" rel="tag">HOWTO</a>, <a href="http://technorati.com/tag/Tcl" rel="tag">Tcl</a>, <a href="http://technorati.com/tag/ActiveState" rel="tag">ActiveState</a>, <a href="http://technorati.com/tag/TEA" rel="tag">TEA</a>, <a href="http://technorati.com/tag/teacup" rel="tag">teacup</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/10/getting-activestates-teacup-working-on-macos-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>D. J. Bernstein is legendary</title>
		<link>http://dossy.org/2009/10/d-j-bernstein-is-legendary/</link>
		<comments>http://dossy.org/2009/10/d-j-bernstein-is-legendary/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:53:40 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Geeking out]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=833</guid>
		<description><![CDATA[I&#8217;ve been using djbdns and qmail for many years, specifically because after reviewing its code and comparing it to other possible alternatives, I objectively decided that these two pieces of software are superior in all aspects.
Lots of people have cast aspersions on D. J. Bernstein and his software, usually with emotional and irrational claims.  [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://cr.yp.to/djbdns.html">djbdns</a> and <a href="http://www.qmail.org/">qmail</a> for many years, specifically because after reviewing its code and comparing it to other possible alternatives, I objectively decided that these two pieces of software are superior in all aspects.</p>
<p>Lots of people have cast aspersions on D. J. Bernstein and his software, usually with emotional and irrational claims.  Of course, most of these people can&#8217;t even read code well enough to understand what it does or how it does it.  However, when you encounter the opinions of actual programmers, we all tend to share a similar but different opinion.</p>
<p>Today, Aaron Swartz put this into words better than I could: <a href="http://www.aaronsw.com/weblog/djb">D. J. Bernstein is the greatest programmer in the history of the world</a>.  The money quote:</p>
<blockquote style="padding-left: 0.5em; margin-left: 1.5em; border-left: #666 3px solid;"><p>[...] djb’s programs do not work like most programs, for the simple reason that the way most programs work is wrong.</p>
</blockquote>
<p>Amen.</p>
<p>Tags: <a href="http://technorati.com/tag/D.%20J.%20Bernstein" rel="tag">D. J. Bernstein</a> (<a href="http://technorati.com/tag/djb" rel="tag">djb</a>), <a href="http://technorati.com/tag/djbdns" rel="tag">djbdns</a>, <a href="http://technorati.com/tag/qmail" rel="tag">qmail</a>, <a href="http://technorati.com/tag/Aaron%20Swartz" rel="tag">Aaron Swartz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/10/d-j-bernstein-is-legendary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disabling service updates on SA2 TiVo&#8217;s</title>
		<link>http://dossy.org/2009/06/disabling-service-updates-on-sa2-tivos/</link>
		<comments>http://dossy.org/2009/06/disabling-service-updates-on-sa2-tivos/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 05:42:28 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=792</guid>
		<description><![CDATA[I needed to re-enable service updates on my SA2 TiVo tonight and I&#8217;d forgotten how to toggle it after having disabled them when I first hacked my TiVo, and had a tough time finding the information so I figure I&#8217;ll post it to my blog so I&#8217;ll be able to find it again.
The key command [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to re-enable service updates on my SA2 TiVo tonight and I&#8217;d forgotten how to toggle it after having disabled them when I first hacked my TiVo, and had a tough time finding the information so I figure I&#8217;ll post it to my blog so I&#8217;ll be able to find it again.</p>
<p>The key command is <tt>bootpage</tt> &#8211; use &#8220;<tt>bootpage -p /dev/hda</tt>&#8221; to see the current settings.  Then, use &#8220;<tt>bootpage -P "..." /dev/hda</tt>&#8221; to change them.  Specifically, change &#8220;upgradesoftware=false&#8221; to &#8220;upgradesoftware=true&#8221; or vice versa.</p>
<p>Tags: <a href="http://technorati.com/tag/TiVo" rel="tag">TiVo</a>, <a href="http://technorati.com/tag/hacks" rel="tag">hacks</a>, <a href="http://technorati.com/tag/reference" rel="tag">reference</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/06/disabling-service-updates-on-sa2-tivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Adaptec afacli working on Ubuntu</title>
		<link>http://dossy.org/2009/06/getting-adaptec-afacli-working-on-ubuntu/</link>
		<comments>http://dossy.org/2009/06/getting-adaptec-afacli-working-on-ubuntu/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 19:26:25 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Geeking out]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=788</guid>
		<description><![CDATA[In order to get afacli working on Ubuntu Hardy, I did these things:
1. Get afa-apps-snmp.2807420-A04.tar.gz from Dell.
2. Get libstdc++2.10-glibc2.2 from Debian afacli depends on libstdc++-libc6.2-2.so.3.
Since I&#8217;m running Ubuntu x86_64, I put libstdc++-libc6.2-2.so.3 in /usr/lib32.  Installing the rpm package under Ubuntu provides rpm2cpio which I used to extract afaapps-4.1-0.i386.rpm like this:
$ rpm2cpio afaapps-4.1-0.i386.rpm &#124; (cd [...]]]></description>
			<content:encoded><![CDATA[<p>In order to get <tt>afacli</tt> working on Ubuntu Hardy, I did these things:</p>
<p>1. Get <tt><a href="http://ftp.us.dell.com/scsi-raid/afa-apps-snmp.2807420-A04.tar.gz">afa-apps-snmp.2807420-A04.tar.gz</a></tt> from Dell.</p>
<p>2. Get <tt><a href="http://packages.debian.org/etch/libstdc++2.10-glibc2.2">libstdc++2.10-glibc2.2</a></tt> from Debian <tt>afacli</tt> depends on <tt>libstdc++-libc6.2-2.so.3</tt>.</p>
<p>Since I&#8217;m running Ubuntu x86_64, I put <tt>libstdc++-libc6.2-2.so.3</tt> in <tt>/usr/lib32</tt>.  Installing the <tt>rpm</tt> package under Ubuntu provides <tt>rpm2cpio</tt> which I used to extract <tt>afaapps-4.1-0.i386.rpm</tt> like this:</p>
<p><code>$ rpm2cpio afaapps-4.1-0.i386.rpm | (cd / &#038;&#038; cpio -iudvm)</code></p>
<p>That&#8217;s it.  You now have <tt>/usr/sbin/afacli</tt>.</p>
<p>Tags: <a href="http://technorati.com/tag/Linux" rel="tag">Linux</a>, <a href="http://technorati.com/tag/Ubuntu" rel="tag">Ubuntu</a>, <a href="http://technorati.com/tag/Adaptec" rel="tag">Adaptec</a>, <a href="http://technorati.com/tag/afacli" rel="tag">afacli</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/06/getting-adaptec-afacli-working-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guess it&#8217;s time to wait for OAuth 1.1</title>
		<link>http://dossy.org/2009/04/guess-its-time-to-wait-for-oauth-11/</link>
		<comments>http://dossy.org/2009/04/guess-its-time-to-wait-for-oauth-11/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:06:43 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=757</guid>
		<description><![CDATA[Last week, I decided to take a stab at implementing a basic OAuth consumer in order to integrate Twitter Karma with Twitter using OAuth.  I&#8217;d read through the OAuth 1.0 specification before, but never closely enough to realize that there was a serious attack vector in it.  So, I mentioned this on the [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I decided to take a stab at implementing a basic OAuth consumer in order to integrate <a href="http://dossy.org/twitter/karma/">Twitter Karma</a> with Twitter using OAuth.  I&#8217;d read through the OAuth 1.0 specification before, but never closely enough to realize that there was a serious attack vector in it.  So, I mentioned this on the <a href="http://groups.google.com/group/twitter-development-talk/msg/859029757bfd32ec">twitter-development-talk mailing list</a>, hoping to get some answers on April 16th:</p>
<blockquote style="padding-left: 0.5em; margin-left: 1.5em; border-left: #666 3px solid;"><p>Also, the redirect to the callback URL has no signature.  What stops an attacker from brute-force attacking an OAuth consumer, iterating through posisble tokens?  Simply the large search space of valid OAuth tokens?  Even if it&#8217;s only &#8220;possible in theory&#8221; &#8230; some teenager with nothing better to do is going to eventually turn that theory into practice.</p>
</blockquote>
<p>My concern was met with confusion so I brought the concern to the <a href="http://groups.google.com/group/oauth/msg/336904c0df47cc57">OAuth mailing list</a> (<a href="http://groups.google.com/group/oauth/msg/ea92d9d9354127b0">also</a>) on April 17th:</p>
<blockquote style="padding-left: 0.5em; margin-left: 1.5em; border-left: #666 3px solid;"><p>Currently, the OAuth callback URL is susceptible to replay attack and token shooting.  Signing it would eliminate this in a very low-effort way.</p>
<p>&#8230;</p>
<p>[...] it&#8217;s very desirable to be able to tell if the callback was legitimate or either a replay attack or a brute-force token shooting attack.</p>
<p>Even client-side browser cookies may not win here if a simple session fixation attack is coupled with the token shooting attack.</p>
</blockquote>
<p>I wasn&#8217;t sure if I was being understood, either, but then <a href="http://groups.google.com/group/twitter-development-talk/browse_frm/thread/a5c7656acb8a90a7/190e45bdda218daf?#190e45bdda218daf">a few days later</a> on April 20th, <a href="http://news.cnet.com/8301-13577_3-10225103-36.html">Twitter yanked their OAuth support offline</a>.</p>
<p>Eventually, an <a href="http://oauth.net/advisories/2009-1">OAuth security advisory 2009-1</a> was published on April 23rd that clearly states <b>&#8220;A modified specification to address this issue is forthcoming&#8221;</b> as I pointed out was necessary, and Eran Hammer-Lahav writes a thorough <a href="http://www.hueniverse.com/hueniverse/2009/04/explaining-the-oauth-session-fixation-attack.html">explanation of the problem</a> in his blog.  The money quote:</p>
<blockquote style="padding-left: 0.5em; margin-left: 1.5em; border-left: #666 3px solid;"><p>If we put it all together, even if an application:</p>
<ul>
<li>Makes sure to use the account of the user coming back from the callback and not that of the one who started</li>
<li>Checks that the user who starts the process is the same as the one who finishes it</li>
<li>Uses an immutable callback set at registration</li>
</ul>
<p>It is still exposed to a timing attack trying to slide in between the victim authorizing access and his browser making the redirection call. There is simply no way to know that the person who authorizes is the same person coming back. None whatsoever.</p>
</blockquote>
<p>This is exactly why the callback URL that the OAuth provider uses to redirect the user back to the OAuth consumer needs to be signed.</p>
<p>So, why am I making a big deal out of all of this?  Well, I&#8217;m irked.  Coincidentally, their &#8220;discovery&#8221; of this issue conveniently coincided with my raising of the issue publically on the mailing lists, yet nowhere is my name mentioned in any of this.  In my opinion, that&#8217;s <em>really</em> poor form in an &#8220;open community&#8221; where often the only compensation for effort is recognition.  It&#8217;s this kind of back-handed treatment that encourages people to demonstrate these security concerns through actual working exploits, which benefits no one but guarantees the creator their recognition.</p>
<p>In the end, I&#8217;m glad that this issue is going to be addressed and hopefully in a timely fashion because all of us developing applications in the public software ecosystem will benefit, but I still feel slighted.  I&#8217;ll get over it, while I wait for the OAuth 1.1 specification.</p>
<p>Tags: <a href="http://technorati.com/tag/OAuth" rel="tag">OAuth</a>, <a href="http://technorati.com/tag/Twitter" rel="tag">Twitter</a>, <a href="http://technorati.com/tag/security" rel="tag">security</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/04/guess-its-time-to-wait-for-oauth-11/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>AOLserver in Google&#8217;s Summer of Code 2009</title>
		<link>http://dossy.org/2009/03/aolserver-in-googles-summer-of-code-2009/</link>
		<comments>http://dossy.org/2009/03/aolserver-in-googles-summer-of-code-2009/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 16:39:32 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[AOLserver]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tcl]]></category>

		<guid isPermaLink="false">http://dossy.org/?p=745</guid>
		<description><![CDATA[Are you a student that meets Google&#8217;s eligibility criteria, who is interested in contributing to an Open Source project this summer?  Google&#8217;s Summer of Code 2009 is on, and once again, the Tcl community has been accepted as a mentoring organization, which includes AOLserver.
Students can apply until the deadline of 19:00 UTC on April [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; padding-right: 10px;"><a href="http://socghop.appspot.com/"><img src="http://dossy.org/images/2009/03/gsoc-2009.jpg" alt="Google Summer of Code 2009" border="0" width="128" height="128" /></a></div>
<p>Are you a student that meets <a href="http://socghop.appspot.com/document/show/program/google/gsoc2009/faqs#student_eligibility">Google&#8217;s eligibility criteria</a>, who is interested in contributing to an Open Source project this summer?  <a href="http://socghop.appspot.com/">Google&#8217;s Summer of Code 2009</a> is on, and once again, the <a href="http://www.tcl.tk/">Tcl</a> community has been <a href="http://socghop.appspot.com/org/show/google/gsoc2009/tcltk">accepted</a> as a mentoring organization, which includes <a href="http://aolserver.com/">AOLserver</a>.</p>
<p>Students can <a href="http://socghop.appspot.com/student/apply/google/gsoc2009">apply</a> until the <strong>deadline of 19:00 UTC on April 3rd</strong>.  If you have any questions about GSoC or AOLserver&#8217;s involvement in it, please ask me!  I&#8217;ll try to help answer whatever questions you might have.</p>
<p>Good luck to all the students and mentoring organizations this summer!</p>
<p>Tags: <a href="http://technorati.com/tag/Google%20Summer%20of%20Code%202009" rel="tag">Google Summer of Code 2009</a>, <a href="http://technorati.com/tag/Tcl" rel="tag">Tcl</a>, <a href="http://technorati.com/tag/AOLserver" rel="tag">AOLserver</a>, <a href="http://technorati.com/tag/open source" rel="tag">open source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2009/03/aolserver-in-googles-summer-of-code-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A simple &#8220;google for&#8221; Tcl script</title>
		<link>http://dossy.org/2008/11/a-simple-google-for-tcl-script/</link>
		<comments>http://dossy.org/2008/11/a-simple-google-for-tcl-script/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 22:46:04 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Geeking out]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tcl]]></category>

		<guid isPermaLink="false">http://dossy.org/2008/11/a-simple-google-for-tcl-script/</guid>
		<description><![CDATA[I make extensive use of Google throughout the day and I&#8217;ve always got &#8220;g&#8221; set up as the keyword for a Quick Search in Firefox. However, I also spend a lot of time at shell prompts, and sometimes I don&#8217;t want to bounce to a browser just to Google for something.
So, tonight, I wrote a [...]]]></description>
			<content:encoded><![CDATA[<p>I make extensive use of Google throughout the day and I&#8217;ve always got &#8220;g&#8221; set up as the keyword for a Quick Search in Firefox. However, I also spend a lot of time at shell prompts, and sometimes I don&#8217;t want to bounce to a browser just to Google for something.</p>
<p>So, tonight, I wrote a small <a href="http://dossy.org/files/google.txt">Tcl script that lets me &#8220;google for&#8221;</a> at the prompt. Just save the previous link and rename it to &#8220;<tt>google</tt>&#8221; and move it somewhere in your PATH like <tt>/usr/local/bin</tt>, then make it executable with <tt>chmod 755</tt>.</p>
<p>The script requires Tcl with tDOM installed, as well as Tidy&#8211;both of these things are installed out-of-the-box on MacOS X 10.5 Leopard.</p>
<p>Once you get the script installed, you can do something like this:</p>
<div style="text-align: center;">
  <img src="http://dossy.org/images/2008/11/google-for-screenshot-1.png" width="420" height="215" alt="'google for' screenshot" />
</div>
<p>If you notice, for Google search queries that have a special result like the one above, the script displays it separately before the results. The script also emits the search query URL so you can just Control-click on it in Terminal and then select &#8220;Open URL&#8221; and have it pop up in your browser, which also works for any of the search result URLs.</p>
<p>I don&#8217;t know if anyone else would find this script useful, but it&#8217;s already saved me a ton of time&#8211;especially when I&#8217;m on a slow 64 kb/s GPRS connection like I am this evening. Either way, I&#8217;m releasing this script into the public domain.</p>
<p>Tags: <a href="http://technorati.com/tag/Google" rel="tag">Google</a>, <a href="http://technorati.com/tag/Tcl" rel="tag">Tcl</a>, <a href="http://technorati.com/tag/open%20source" rel="tag">open source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2008/11/a-simple-google-for-tcl-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SAA&#8217;s in-flight entertainment runs on Linux, apparently</title>
		<link>http://dossy.org/2008/11/saas-in-flight-entertainment-runs-on-linux-apparently/</link>
		<comments>http://dossy.org/2008/11/saas-in-flight-entertainment-runs-on-linux-apparently/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 13:42:24 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Product placement]]></category>
		<category><![CDATA[South Africa]]></category>

		<guid isPermaLink="false">http://dossy.org/2008/11/saas-in-flight-entertainment-runs-on-linux-apparently/</guid>
		<description><![CDATA[Apparently, South African Airways runs some kind of Linux for their in-flight entertainment system.

Of course, on the leg of the trip from New York to Senegal, the flight staff kept rebooting the system trying to get it to work, with very little luck. Most of the time we just stared at the Linux boot process [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently, South African Airways runs some kind of Linux for their in-flight entertainment system.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/dossy/3055353923/" title="In-flight entertainment FAIL by Dossy, on Flickr"><img src="http://farm4.static.flickr.com/3270/3055353923_6692f95065.jpg" width="500" height="375" alt="In-flight entertainment FAIL" /></a></p>
<p>Of course, on the leg of the trip from New York to Senegal, the flight staff kept rebooting the system trying to get it to work, with very little luck. Most of the time we just stared at the Linux boot process hanging, trying to talk to the NFS server. Fortunately, they got it working for the Senegal to South Africa leg of the trip.</p>
<p>Tags: <a href="http://technorati.com/tag/South%20African%20Airways" rel="tag">South African Airways</a>, <a href="http://technorati.com/tag/Linux" rel="tag">Linux</a>, <a href="http://technorati.com/tag/fail" rel="tag">fail</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2008/11/saas-in-flight-entertainment-runs-on-linux-apparently/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TiVo Hacking: Getting a Linksys WUSB54G working</title>
		<link>http://dossy.org/2008/10/tivo-hacking-getting-a-linksys-wusb54g-working/</link>
		<comments>http://dossy.org/2008/10/tivo-hacking-getting-a-linksys-wusb54g-working/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 16:12:16 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Geeking out]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Product placement]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Linksys WUSB54G]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Ralink 2570]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[TiVo]]></category>

		<guid isPermaLink="false">http://dossy.org/2008/10/tivo-hacking-getting-a-linksys-wusb54g-working/</guid>
		<description><![CDATA[So, I have a TiVo Series 2 stand-alone DVR with a Product Lifetime subscription. For years, I&#8217;ve had it connected to the home network using a Linksys WUSB11 wireless network adapter, but it finally died. I went and grabbed a Linksys WUSB54G as a replacement, but found out that the TiVo doesn&#8217;t support it. No [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have a <a href="http://en.wikipedia.org/wiki/TiVo_DVRs#Series2_Standalone">TiVo Series 2 stand-alone DVR</a> with a Product Lifetime subscription. For years, I&#8217;ve had it connected to the home network using a Linksys WUSB11 wireless network adapter, but it finally died. I went and grabbed a Linksys WUSB54G as a replacement, but found out that the TiVo doesn&#8217;t support it. No problem, I know the TiVo runs Linux and there&#8217;s plenty of documentation on how to &#8220;hack&#8221; the TiVo so I can load my own kernel modules on it, etc.</p>
<p>It turns out that the Linksys WUSB54G v4 uses the Ralink 2570 chipset. Fortunately, there&#8217;s been effort on <a href="http://rt2x00.serialmonkey.com/">native Linux drivers</a> for the Ralink family of wireless chipsets. The hurdle, of course, is that the TiVo&#8217;s MIPS R5432 is big-endian, so it presents a bit of a challenge porting the driver to the TiVo.</p>
<p>Working off the latest code for the legacy rt2570 driver from CVS, I&#8217;ve gotten it to compile using TiVo&#8217;s Linux 2.4.20 kernel. Loading the module, however, results in this:</p>
<blockquote style="padding-left: 0.5em; margin-left: 1.5em; border-left: #666 3px solid;">
<pre style="overflow: auto">
rt2570: init
usb.c: registered new driver rt2570
rt2570: idVendor = 0x13b1, idProduct = 0xd
rt2570: idVendor = 0x13b1, idProduct = 0xd
rt2570: using permanent MAC addr
rt2570: Active MAC addr: 00:12:17:89:f5:02.
rt2570: driver version 1.0.0
Unaligned Access to 0x80230b2b in kernel mode at 0xc0217be4
Unaligned Access to 0x80230b2d in kernel mode at 0xc0217c04
Unaligned Access to 0x80357076 in kernel mode at 0xc021b3dc
Unaligned Access to 0x80357076 in kernel mode at 0xc021b408
Unaligned Access to 0x80357076 in kernel mode at 0xc021dc2c
Unaligned Access to 0x80357076 in kernel mode at 0xc021dc08
Unaligned Access to 0x80357076 in kernel mode at 0xc021cd8c
Unaligned Access to 0x80230f47 in kernel mode at 0xc0217be4
Unaligned Access to 0x80230f49 in kernel mode at 0xc0217c04
Unaligned Access to 0x80231155 in kernel mode at 0xc0217be4
Unaligned Access to 0x80231157 in kernel mode at 0xc0217c04
</pre>
</blockquote>
<p>So, now I get to go fishing through <tt>/proc/ksyms</tt> and try to fix up all these unaligned access errors. Hopefully, I&#8217;ll be able to get through all of this and get the driver working.</p>
<p>Anyone out there have experience porting Linux device drivers like this? Got any tips or techniques that might help me? I&#8217;d really love any help I can get &#8230;</p>
<p><strong>Update:</strong> I&#8217;m posting my debugging progress in a <a href="http://rt2x00.serialmonkey.com/phpBB/viewtopic.php?f=4&amp;t=5057&amp;p=31057">rt2&#215;00 forum thread</a>. <a href="http://en.wikipedia.org/wiki/Linus%27s_Law">Given enough eyeballs, all bugs are shallow</a>, right?</p>
<p><strong>Update:</strong> I&#8217;ve gotten it working! I&#8217;ve addressed the majority of the unaligned access traps and I can now use my WUSB54G as a wireless NIC on my TiVo! Here&#8217;s a patch against rt2570-cvs-2008102616 of the driver and the corresponding kernel module binary:</p>
<ul>
<li><a href="http://dossy.org/files/TiVo/rt2570-tivo-mips.patch">rt2570-tivo-mips.patch</a></li>
<li><a href="http://dossy.org/files/TiVo/rt2570.o.gz">rt2570.o.gz</a> (1.42 MB)<br />
  MD5: 64605e019929db714d583d160a6b513c</li>
</ul>
<p>If you have a SA2 TiVo and want to use a Linksys WUSB54G as your wireless NIC, this driver is what you want. It works for me, anyway!</p>
<p>Tags: <a href="http://technorati.com/tag/Linux" rel="tag">Linux</a>, <a href="http://technorati.com/tag/TiVo" rel="tag">TiVo</a>, <a href="http://technorati.com/tag/open%20source" rel="tag">open source</a>, <a href="http://technorati.com/tag/hacking" rel="tag">hacking</a>, <a href="http://technorati.com/tag/Linksys%20WUSB54G" rel="tag">Linksys WUSB54G</a>, <a href="http://technorati.com/tag/Ralink%202570" rel="tag">Ralink 2570</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2008/10/tivo-hacking-getting-a-linksys-wusb54g-working/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>I cancelled my SourceForge subscription today</title>
		<link>http://dossy.org/2008/09/i-cancelled-my-sourceforge-subscription-today/</link>
		<comments>http://dossy.org/2008/09/i-cancelled-my-sourceforge-subscription-today/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 03:15:02 +0000</pubDate>
		<dc:creator>Dossy Shiobara</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://dossy.org/archives/000647.html</guid>
		<description><![CDATA[So, the AOLserver.com site, which has been hosted at SourceForge for years, is effectively &#8220;down&#8221; right now as requests to it are returning a &#8220;Error establishing a database connection&#8221; error. I&#8217;ve been a paying subscriber for SourceForge since 2004 because they claim to provide &#8220;priority support&#8221;&#8211;whatever that means.
Well, I went and opened &#8220;priority&#8221; support tickets [...]]]></description>
			<content:encoded><![CDATA[<p>So, the <a href="http://aolserver.com/">AOLserver.com</a> site, which has been hosted at <a href="http://sourceforge.net/">SourceForge</a> for years, is effectively &#8220;down&#8221; right now as requests to it are returning a &#8220;Error establishing a database connection&#8221; error. I&#8217;ve been a paying subscriber for SourceForge since 2004 because they claim to provide &#8220;priority support&#8221;&#8211;whatever that means.</p>
<p>Well, I went and opened &#8220;priority&#8221; <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2118467&amp;group_id=1&amp;atid=200001">support</a> <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=2119831&amp;group_id=1&amp;atid=200001">tickets</a> to try and get the <a href="http://aolserver.com/">AOLserver.com</a> site back online. To put it gently, the response I received was less than useful. I mean, three hours before I get a response&#8211;a canned response&#8211;which doesn&#8217;t even resolve my problem?</p>
<p>I recognize there&#8217;s not much I can do at this point, but what I can do is &#8220;vote with my wallet&#8221; &#8230; I&#8217;ve cancelled my SourceForge subscription today:</p>
<p style="text-align: center;"><img src="http://dossy.org/images/2008/09/sourceforge-subscription-cancelled.jpg" width="320" height="295" alt="Screenshot of my cancelled SourceForge subscription, today." /></p>
<p>The clock is now ticking: they have just under a year to show that they can seriously run a valuable service correctly, or I won&#8217;t be renewing my subscription next year.</p>
<p><strong>Update:</strong> Jacob Moorman, Director of Operations at SourceForge.net, emailed me to point out that <a href="http://sourceforge.net/community/forum/topic.php?id=3479&amp;page">the IP addresses for SourceForge&#8217;s VHOST</a> had changed. Sadly, the DNS for aolserver.{com,net,org} had been set up as A records instead of as CNAME records. <img src='http://dossy.org/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  So, I&#8217;ve sent a request to have the DNS updated.</p>
<p>Tags: <a href="http://technorati.com/tag/SourceForge" rel="tag">SourceForge</a>, <a href="http://technorati.com/tag/subscription" rel="tag">subscription</a>, <a href="http://technorati.com/tag/cancelled" rel="tag">cancelled</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dossy.org/2008/09/i-cancelled-my-sourceforge-subscription-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.832 seconds -->
<br />
<b>Warning</b>:  sem_acquire(): supplied argument is not a valid SysV semaphore resource in <b>/home/dossy/htdocs/wp/wp-content/plugins/wp-cache/wp-cache-phase2.php</b> on line <b>107</b><br />
<br />
<b>Warning</b>:  sem_release(): supplied argument is not a valid SysV semaphore resource in <b>/home/dossy/htdocs/wp/wp-content/plugins/wp-cache/wp-cache-phase2.php</b> on line <b>116</b><br />
