<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <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>

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

&lt;p&gt;With this plugin installed, you can search for keywords in the SUS directly
from Firefox.  Very cool.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Emacs can do that</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2008/02/03#200802031431EmacsCanDoThat</link>
    <description>&lt;p&gt;As an &lt;a href=&quot;/emacs.html&quot;&gt;emacs&lt;/a&gt; user, I knew the &lt;a href=&quot;http://xkcd.com/378/&quot;&gt;butterfly
command&lt;/a&gt;.  I just don&amp;#8217;t find it that useful.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Delta chains and packs</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/12/06#200712061345GitDeltaChains</link>
    <description>&lt;p&gt;In a &lt;a href=&quot;http://thread.gmane.org/gmane.comp.gcc.devel/94565/&quot;&gt;discussion on creating a git repo for the gcc code base&lt;/a&gt;, Linus describes
&lt;a href=&quot;http://article.gmane.org/gmane.comp.gcc.devel/94613&quot;&gt;how git uses delta chains&lt;/a&gt; and how they relate to packing.&lt;/p&gt;

&lt;p&gt;In the same discussion Linus has additional &lt;a href=&quot;http://article.gmane.org/gmane.comp.gcc.devel/94654&quot;&gt;low level
explanation&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Now with RSS 2.0</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/10/26#200710252221NowWithRSS20</link>
    <description>&lt;p&gt;With help from Andrew Cowie&amp;#8217;s blog post &lt;a href=&quot;http://research.operationaldynamics.com/blogs/andrew/meta/blosxom/blosxom-colophon.html&quot;&gt;Getting Blosxom to
work&amp;#8230;&lt;/a&gt;
my blog now has a functional &lt;a href=&quot;http://moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss20&quot;&gt;RSS 2.0 feed&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Validate your RSS and Atom feeds</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/10/26#200710252039FeedValidator</link>
    <description>&lt;p&gt;If you have a feed for your blog, make sure it is valid by using &lt;a href=&quot;http://feedvalidator.org/&quot;&gt;FEED
Validator&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check the validity of my &lt;a href=&quot;http://feedvalidator.org/check.cgi?url=http%3A//moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss&quot;&gt;RSS
0.91&lt;/a&gt;
and &lt;a href=&quot;http://feedvalidator.org/check.cgi?url=http%3A//moria.greycastle.net/cgi-bin/blosxom.cgi/index.rss20&quot;&gt;RSS
2.0&lt;/a&gt;
feeds.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Git Cheat Sheet</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/10/23#200710231223GitCheatSheet</link>
    <description>&lt;p&gt;Zach Rusin has created a very easy on the eyes &lt;a href=&quot;http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html&quot;&gt;git cheat
sheet&lt;/a&gt;. This is very
useful if you use some git commands only once in a blue moon.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Why volatile is practically useless</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/08/17#200708171147Volatile</link>
    <description>&lt;p&gt;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.&lt;/p&gt;

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

&lt;p&gt;Update 2007-10-14: Also check out the LWN article &lt;a href=&quot;http://lwn.net/Articles/233479/&quot;&gt;The Trouble with
Volatile&lt;/a&gt;.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>x86info Fixes Merged</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/08/01#20070801x86infoFixes</link>
    <description>&lt;p&gt;&lt;a href=&quot;http://www.codemonkey.org.uk/&quot;&gt;Dave Jones&lt;/a&gt; got some spare time and merged in
my first 3 &lt;a href=&quot;http://www.codemonkey.org.uk/projects/x86info/&quot;&gt;x86info&lt;/a&gt; fix up patches:&lt;/p&gt;

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

&lt;p&gt;There are a couple more patches I need to send Dave now that the first set have
been merged.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>Changing the Firmware project to use genext2fs instead of UML</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/07/22#20070722MakeFirmwareUseGenext2fs</link>
    <description>&lt;p&gt;At &lt;a href=&quot;http://www.linuxsymposium.org/2007/index_2007.php&quot;&gt;OLS2007&lt;/a&gt; I went to Rob
Landley&amp;#8217;s &lt;a href=&quot;http://www.linuxsymposium.org/2007/view_abstract.php?content_key=3&quot;&gt;Cross Compiling
Linux&lt;/a&gt;
tutorial where Rob introduced his &lt;a href=&quot;http://www.landley.net/code/firmware/&quot;&gt;Firmware
Linux&lt;/a&gt; project.  Unfortunately we ran
out of time and didn&amp;#8217;t actually get to using the cross-compiler.&lt;/p&gt;

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

&lt;p&gt;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 &lt;a href=&quot;http://www2.them.com:8080/pipermail/firmware/2007-July/000123.html&quot;&gt;sent the
patch&lt;/a&gt; to
the mail list.  We&amp;#8217;ll have to wait and see if Rob likes it.&lt;/p&gt;
</description>
  </item>
  <item>
    <title>How to turn your neighbours off using your WiFi</title>
    <link>http://moria.greycastle.net/cgi-bin/blosxom.cgi/2007/02/06#20070206UpsideDownTernet</link>
    <description>&lt;p&gt;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!).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.ex-parrot.com/~pete/upside-down-ternet.html&quot;&gt;Upside-Down-Ternet&lt;/a&gt; is
a funny example of what one guy did to his leeching neighbours.&lt;/p&gt;
</description>
  </item>
  </channel>
</rss>