<?xml version="1.0"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>James' Blog</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi//</link>
    <description>Notes for myself that you may find interesting</description>
    <language>en</language>
    <copyright>Copyright 2005-2008 James Davidson</copyright>
    <atom:link href="http://moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss20" rel="self" type="application/rss+xml" />
    <lastBuildDate>Fri, 07 Mar 2008 17:25:00 GMT</lastBuildDate>

    <item>
      <title>Single UNIX Specification Firefox search plugin</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/200803071225SUSSearchPlugin.html</link>
      <description><![CDATA[<p>While poking around on the <a href="http://www.unix.org/single_unix_specification/">Single UNIX
Specification</a> web site, I
noticed a link to a <a href="http://mycroft.mozdev.org/download.html?name=unix.org&amp;submitform=Search">Firefox Search
Plugin</a>.</p>

<p>With this plugin installed, you can search for keywords in the SUS directly
from Firefox.  Very cool.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer</category>
      <pubDate>Fri, 07 Mar 2008 17:25:00 GMT</pubDate>
      <guid isPermaLink="false">200803071225SUSSearchPlugin</guid>
    </item>

    <item>
      <title>Emacs can do that</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/programming/200802031431EmacsCanDoThat.html</link>
      <description><![CDATA[<p>As an <a href="/emacs.html">emacs</a> user, I knew the <a href="http://xkcd.com/378/">butterfly
command</a>.  I just don&#8217;t find it that useful.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/programming</category>
      <pubDate>Sun, 03 Feb 2008 19:31:00 GMT</pubDate>
      <guid isPermaLink="false">200802031431EmacsCanDoThat</guid>
    </item>

    <item>
      <title>Delta chains and packs</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/scm/git/200712061345GitDeltaChains.html</link>
      <description><![CDATA[<p>In a <a href="http://thread.gmane.org/gmane.comp.gcc.devel/94565/">discussion on creating a git repo for the gcc code base</a>, Linus describes
<a href="http://article.gmane.org/gmane.comp.gcc.devel/94613">how git uses delta chains</a> and how they relate to packing.</p>

<p>In the same discussion Linus has additional <a href="http://article.gmane.org/gmane.comp.gcc.devel/94654">low level
explanation</a>.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/scm/git</category>
      <pubDate>Thu, 06 Dec 2007 18:45:00 GMT</pubDate>
      <guid isPermaLink="false">200712061345GitDeltaChains</guid>
    </item>

    <item>
      <title>Now with RSS 2.0</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/web/blosxom/200710252221NowWithRSS20.html</link>
      <description><![CDATA[<p>With help from Andrew Cowie&#8217;s blog post <a href="http://research.operationaldynamics.com/blogs/andrew/meta/blosxom/blosxom-colophon.html">Getting Blosxom to
work&#8230;</a>
my blog now has a functional <a href="http://moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss20">RSS 2.0 feed</a>.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/web/blosxom</category>
      <pubDate>Fri, 26 Oct 2007 02:21:00 GMT</pubDate>
      <guid isPermaLink="false">200710252221NowWithRSS20</guid>
    </item>

    <item>
      <title>Validate your RSS and Atom feeds</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/web/200710252039FeedValidator.html</link>
      <description><![CDATA[<p>If you have a feed for your blog, make sure it is valid by using <a href="http://feedvalidator.org/">FEED
Validator</a>.</p>

<p>Check the validity of my <a href="http://feedvalidator.org/check.cgi?url=http%3A//moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss">RSS
0.91</a>
and <a href="http://feedvalidator.org/check.cgi?url=http%3A//moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss20">RSS
2.0</a>
feeds.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/web</category>
      <pubDate>Fri, 26 Oct 2007 00:39:00 GMT</pubDate>
      <guid isPermaLink="false">200710252039FeedValidator</guid>
    </item>

    <item>
      <title>Git Cheat Sheet</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/scm/git/200710231223GitCheatSheet.html</link>
      <description><![CDATA[<p>Zach Rusin has created a very easy on the eyes <a href="http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html">git cheat
sheet</a>. This is very
useful if you use some git commands only once in a blue moon.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/scm/git</category>
      <pubDate>Tue, 23 Oct 2007 16:23:00 GMT</pubDate>
      <guid isPermaLink="false">200710231223GitCheatSheet</guid>
    </item>

    <item>
      <title>Why volatile is practically useless</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/programming/200708171147Volatile.html</link>
      <description><![CDATA[<p>In the C/C++ programming language, data can be given the volatile
qualifier. Typically, people think this is sufficient to prevent code ordering
problems.  Well, volatile does not do that.</p>

<p>Linus provided a great <a href="http://lkml.org/lkml/2007/8/17/187">explanation of the
problem</a> on the lkml today.  Definitely
worth reading.  Also, you should read <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/memory-barriers.txt;hb=master">Linux Kernel Memory
Barriers</a>
from the kernel documentation.</p>

<p>Update 2007-10-14: Also check out the LWN article <a href="http://lwn.net/Articles/233479/">The Trouble with
Volatile</a>.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/programming</category>
      <pubDate>Fri, 17 Aug 2007 15:47:00 GMT</pubDate>
      <guid isPermaLink="false">200708171147Volatile</guid>
    </item>

    <item>
      <title>x86info Fixes Merged</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/linux/20070801x86infoFixes.html</link>
      <description><![CDATA[<p><a href="http://www.codemonkey.org.uk/">Dave Jones</a> got some spare time and merged in
my first 3 <a href="http://www.codemonkey.org.uk/projects/x86info/">x86info</a> fix up patches:</p>

<ul>
<li><a href="http://git.choralone.org/?p=x86info.git;a=commit;h=fdaadbfd0a70b1bf83451af0fc52b3298a9621d4">Fix use of flag_decode</a></li>
<li><a href="http://git.choralone.org/?p=x86info.git;a=commit;h=10800e29b23f26e256841b79e57501444b50dd26">Add sparse target for checking code</a></li>
<li><a href="http://git.choralone.org/?p=x86info.git;a=commit;h=f2861dec6a5feb4a2d6fe38ec87b3c0f55d3a83a">Remove use of magic numbers</a></li>
</ul>

<p>There are a couple more patches I need to send Dave now that the first set have
been merged.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/linux</category>
      <pubDate>Wed, 01 Aug 2007 04:00:00 GMT</pubDate>
      <guid isPermaLink="false">20070801x86infoFixes</guid>
    </item>

    <item>
      <title>Changing the Firmware project to use genext2fs instead of UML</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/linux/20070722MakeFirmwareUseGenext2fs.html</link>
      <description><![CDATA[<p>At <a href="http://www.linuxsymposium.org/2007/index_2007.php">OLS2007</a> I went to Rob
Landley&#8217;s <a href="http://www.linuxsymposium.org/2007/view_abstract.php?content_key=3">Cross Compiling
Linux</a>
tutorial where Rob introduced his <a href="http://www.landley.net/code/firmware/">Firmware
Linux</a> project.  Unfortunately we ran
out of time and didn&#8217;t actually get to using the cross-compiler.</p>

<p>Rob&#8217;s approach to cross-compiling packages is to build a native environment
(using qemu) so that you don&#8217;t actually have to cross-compile packages.  Cool
idea!</p>

<p>Anyway, to build the root file system that qemu will use, Rob used UML (User
Mode Linux) to step around the root privileges required for mounting the loop
device.  I had trouble getting UML going on my laptop so I wrote a patch that
evening to use genext2fs to create the root file system.  Just to show how slow
I am at following through, I finally <a href="http://www2.them.com:8080/pipermail/firmware/2007-July/000123.html">sent the
patch</a> to
the mail list.  We&#8217;ll have to wait and see if Rob likes it.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/linux</category>
      <pubDate>Sun, 22 Jul 2007 04:00:00 GMT</pubDate>
      <guid isPermaLink="false">20070722MakeFirmwareUseGenext2fs</guid>
    </item>

    <item>
      <title>How to turn your neighbours off using your WiFi</title>
      <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/computer/security/20070206UpsideDownTernet.html</link>
      <description><![CDATA[<p>Even though this is not really a security issue, be aware that if you leech
WiFi access from somebody, the access point owner can control the data stream
you get (and send!).</p>

<p><a href="http://www.ex-parrot.com/~pete/upside-down-ternet.html">Upside-Down-Ternet</a> is
a funny example of what one guy did to his leeching neighbours.</p>
]]></description>
      <author>james@greycastle.net (James Davidson)</author>
      <category>/computer/security</category>
      <pubDate>Tue, 06 Feb 2007 05:00:00 GMT</pubDate>
      <guid isPermaLink="false">20070206UpsideDownTernet</guid>
    </item>


  </channel>
</rss>
