<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/html" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Ross Burton</title><link>http://www.burtonini.com/blog</link><description>A potted account of Ross' life</description><language>en</language><ttl>60</ttl><dc:creator>Ross Burton</dc:creator><admin:generatorAgent rdf:resource="http://pyblosxom.sourceforge.net/"/><admin:errorReportsTo rdf:resource="mailto:ross@burtonini.com"/><item><title>Signed Debian Archive</title><guid isPermaLink="false">computers/signed-archive-2005-06-30-16-44</guid><link>http://www.burtonini.com/blog/computers/signed-archive-2005-06-30-16-44</link><description>My Debian archives are now GPG signed, so if you are using APT 0.6 and have my archives in your ...</description><content:encoded><![CDATA[    <p>
      My <a href="http://www.burtonini.com/debian/">Debian archives</a> are now
      GPG signed, so if you are using APT 0.6 and have my archives in your
      <tt>sources.list</tt>, you best add <a
      href="http://wwwkeys.pgp.net:11371/pks/lookup?op=index&search=ross%2Barchive%40burtonini.com">this
      key</a> using <tt>apt-key</tt>.
    </p>
    <p>
      To confirm, the key ID is <tt>510E0293</tt>, and the fingerprint is
      <tt>F35D 9AA1 758B 7598 9672 789E F234 8DBE 510E 0293</tt>.
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-30T15:44:00Z</dc:date></item><item><title>Secret GObject Fu</title><guid isPermaLink="false">computers/secret-gobject-2005-06-29-11-02</guid><link>http://www.burtonini.com/blog/computers/secret-gobject-2005-06-29-11-02</link><description>Whilst trying to find a nasty reference counting problem in my code, Alex told me about the g_trap_object_ref variable in ...</description><content:encoded><![CDATA[    <p>
      Whilst trying to find a nasty reference counting problem in my code, Alex
      told me about the <tt>g_trap_object_ref</tt> variable in debug builds of
      GObject.  Basically, when a debug version of GObject refs or unrefs an
      object, it is compared to the pointer in <tt>g_trap_object_ref</tt>, and
      if it matches it causes a breakpoint.
    </p>
    <p>
      Very useful, I can do this:
    </p>
    <pre>
$ libtool gdb ./EDataBookFactory...
[line 191 is known to be after my object has been created]
(gdb) break e-data-book-factory.c:191
(gdb) run
Breakpoint 1, impl_BookFactory_getBook (...) at e-data-book-factory.c:191
[book is the pointer to the new object]
(gdb) set g_trap_object_ref=book
(gdb) cont
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
0xb7e74869 in IA__g_object_ref (_object=0x806fd88) at gobject.c:1672
1672        G_BREAKPOINT ();
(gdb) bt
#0  0xb7e74869 in IA__g_object_ref (...) at gobject.c:1672
#1  0xb7e751a1 in IA__g_value_set_object (...) at gobject.c:1907
#2  0xb7e52f74 in invoke_object_method (...) at dbus-gobject.c:848
...</pre>
    <p>
      Here ew can see that <tt>invoke_object_method</tt> in
      <tt>dbus-gobject.c</tt> is incrementing the reference count on my object
      via a <tt>GValue</tt>.  A quick peek at the code reveals that this
      reference is not being released in some situations, which I fixed and now
      my objects are being disposed as expected.
    </p>
    <p>
      I hope this is a documented feature, and if not I'll add a comment about
      it when CVS is back.  To make my life complete, if anyone knows a way to
      make gdb print the stack and continue when it breaks, please tell me!
    </p>
    <p>
      Update: the most excellent Daniel Stone pointed out the <tt>commands</tt>
      command, which lets you run arbitary commands when a breakpoint is
      reached.  Now all I need to know is how to tie <tt>commands</tt> to a
      <tt>SIGTRAP</tt>...
    </p>
    <p>
      <small>NP: <cite>Sounds From The Verve Hi-Fi</cite>, Thievery Corporation</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-29T10:02:00Z</dc:date></item><item><title>W-E-E-K-E-N-D</title><guid isPermaLink="false">life/weekend-2005-06-26-17-40</guid><link>http://www.burtonini.com/blog/life/weekend-2005-06-26-17-40</link><description>W-E-E-K-E-N-D, it's weeeekend. On Saturday we went down to London to go and see the most excellent Earth From The ...</description><content:encoded><![CDATA[    <p>
      W-E-E-K-E-N-D, it's weeeekend.
    </p>
    <p>      
      On Saturday we went down to London to go and see the most excellent <a
      href="http://www.earthfromtheair.com/"><cite>Earth From The Air</cite></a>
      (also know as <cite>Earth From Above</cite>) on the South Bank, next to the
      half-gerkin GLA building.  The photography is amazing, and I recommend
      that everyone go.
    </p>
    <p>
      <a class="noline" href="http://www.burtonini.com/photos/Random/img_2513.jpg">
        <img class="thumbnail" src="http://www.burtonini.com/photos/Random/thumb-img_2513.jpg" width="128" height="85"/>
      </a>
      <a class="noline" href="http://www.burtonini.com/photos/Random/img_2514.jpg">
        <img class="thumbnail" src="http://www.burtonini.com/photos/Random/thumb-img_2514.jpg" width="128" height="85"/>
      </a>
    </p>
    <p>
      As you can see, the weather was pretty rough.  I'd have liked to taken more
      photographs, but we were starting to get frostbite...
    </p>
    <p>
      Then on to Oxford Street, to check out the HMV sale.  Bad move.  I found
      some bargains, and got <cite>Trouser Jazz</cite> (Mr Scruff),
      <cite>Between Darkness And Wonder</cite> (Lamb), <cite>Pre-Millennium
      Tension</cite> (Tricky) and <cite>Laika Come Home</cite> (Space Monkeyz
      &amp; Gorillaz) for &pound;20, so rewarded myself with <cite>Bubba
        Ho-Tep</cite>.  Then we stopped off at a local pub for a pint or two
      (for future reference it's <cite>The Green Man</cite> on Berwick Street),
      before heading out to find <a
        href="http://www.red-onion-restaurant.co.uk/"><cite>The Red
          Onion</cite></a>.  The food there is excellent (thanks to Russel for
      mentioning it in the past), and reasonably priced: two starters and mains
      with a bottle of wine was &pound;50.  My only complaint is that the
      service was a little slow, but we did arrive the same time as a party of
      20.
    </p>
    <p>
      Sunday is laze day: a bit of cleaning and listening to the new music.  As
      a second reward to myself for being relatively good in HMV I bought
      another three albums in the morning: <cite>Out From Out Where</cite> (Amon
      Tobin), <cite>Sounds From The Verve Hi-fi</cite> (Thievery Corporation),
      and <cite>Birth Of The Cool</cite> (Miles Davis).  I best stay away from
      Amazon for a while now...
    </p>
    <p>
      <small>NP: <cite>One Offs... Remixes and B-Sides</cite>, Bonobo</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/life</category><dc:date>2005-06-26T16:40:00Z</dc:date></item><item><title>EoG ICC Patches</title><guid isPermaLink="false">computers/xicc/eog-icc-2005-06-24-17-27</guid><link>http://www.burtonini.com/blog/computers/xicc/eog-icc-2005-06-24-17-27</link><description>Quick announcement: The Eye Of Gnome patches to use the ICC Profiles In X specification are now available via Arch, ...</description><content:encoded><![CDATA[    <p>
      Quick announcement: The Eye Of Gnome patches to use the ICC Profiles In X
      specification are now available via Arch, at <a
      href="http://www.burtonini.com/arch/eog--xicc--0"><tt>http://www.burtonini.com/arch/eog--xicc--0</tt></a>.
      Now that EoG has a maintainer (hi Tim!), I hope to get these suitable for
      upstream soon.
    </p>
    <p>
      <small>NP: Groove Salad, Soma.fm</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2005-06-24T16:27:00Z</dc:date></item><item><title>ICC Profiles In X Specification 0.1</title><guid isPermaLink="false">computers/xicc/xicc-2005-06-24-10-21</guid><link>http://www.burtonini.com/blog/computers/xicc/xicc-2005-06-24-10-21</link><description>After an interesting discussion on openicc-list , I am releasing version 0.1 of the ICC Profiles In X specification. I'm ...</description><content:encoded><![CDATA[    <p>
      After an interesting discussion on <tt>openicc-list</tt>, I am releasing
      version 0.1 of the ICC Profiles In X specification.  I'm currently
      re-arranging my Bazaar archives so it's not available in source form yet,
      but the <a
      href="http://www.burtonini.com/computing/x-icc-profiles-spec-0.1.html">specification
      in available as HTML</a>.
    </p>
    <p>
      So far acceptance has been remarkable.  I've patched Eye Of Gnome, Sven
      committed support to GIMP, Krita (a KDE drawing app) might support it
      soon, and there is an open bug with Scribus.  Finger's crossed for world
      domination!
    </p>
    <p>
      <small>NP: <cite>Out From Out Where</cite>, Amon Tobin</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2005-06-24T09:21:00Z</dc:date></item><item><title>Ronald Is My Hero</title><guid isPermaLink="false">computers/sound-juicer/player-2005-06-23-10-55</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/player-2005-06-23-10-55</link><description>I was going to do it, then I wasn't. Havoc talked me out of it last year, and Ronald talked ...</description><content:encoded><![CDATA[    <p>
      I was going to do it, then I wasn't.  Havoc talked me out of it last year,
      and Ronald talked me back into it at GUADEC.  We found Havoc at GUADEC,
      who was rather drunk, and convinced him it was a good idea.  That was far
      easier than we could ever imagine.  Ronald said he'd send me a patch in
      two weeks that night, and last night (after three weeks, but I'm not
      counting) I <a
      href="http://bugzilla.gnome.org/show_bug.cgi?id=308755">received it</a>.
    </p>
    <p>
      <img src="http://www.burtonini.com/computing/screenshots/sj-cd.png"/>
    </p>
    <p>
      Ronald Is My Hero.
    </p>
    <p>
      <small>NP: well, you can see for yourself...</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-06-23T09:55:00Z</dc:date></item><item><title>Bugs Fixed</title><guid isPermaLink="false">computers/sound-juicer/bugs-2005-06-22-16-05</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/bugs-2005-06-22-16-05</link><description>If you want to tell me that SJ says &quot;Cannot extract CD: file exists&quot;, then I've fixed the bug in ...</description><content:encoded><![CDATA[    <p>
      If you want to tell me that SJ says "Cannot extract CD: file exists", then
      I've fixed the bug in CVS.  Either build from CVS, or apply <a
      href="http://cvs.gnome.org/viewcvs/sound-juicer/src/sj-extracting.c?r1=1.57&r2=1.59&makepatch=1&diff_format=h">this
      patch</a> first.
    </p>
    <p>
      Though this is a major bug which stopped it ripping more than a single
      track, so <strong>you have no excuse</strong>.  I've only had two mails so
      far, there should be more!
    </p>
    <p>
      <small>NP: <cite>Buena Vista Social Club</cite></small>
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-06-22T15:05:00Z</dc:date></item><item><title>Sound Juicer &quot;Cosmo Retro Intro Outro&quot; 2.11.2</title><guid isPermaLink="false">computers/sound-juicer/sj-2.11.2</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.11.2</link><description>Sound Juicer &quot;Cosmo Retro Intro Outro&quot; 2.11.2 is out. Tarballs are available on burtonini.com , or from the GNOME FTP ...</description><content:encoded><![CDATA[    <p>
      Sound Juicer "Cosmo Retro Intro Outro" 2.11.2 is out.  Tarballs are
      available <a
      href="http://www.burtonini.com/computing/sound-juicer-2.11.2.tar.gz">on
      <tt>burtonini.com</tt></a>, or from the <a
      href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.11/">GNOME FTP
      servers</a>.
    </p>
    <p>
      This release is the first to use gnome-vfs to write the songs, so it will
      need some serious testing to make sure I didn't break anything.  Can I ask
      everyone running GNOME from CVS, or tracking the 2.11 series, to rip at
      least one album?  Please?  Can everyone who tests this version please send
      me an email, and I'll pester and moan until I get 20 mails.  I may even
      post pictures of poo cookies...
    </p>
    <ul>
      <li>Uses gnome-vfs to write songs</li>
      <li>Write MusicBrainz identifiers as IDs not URLs</li>
      <li>Don't crash when freeing albums without date fields</li>
      <li>Don't warn when looking for the Glade (Bastien Nocera)</li>
    </ul>
    <p>
      And of course, thanks to the translators: Elian Myftiu (sq), Frank Arnold
      (de), Ignacio Casal Quinteiro (gl), Kjartan Maraas (nb,no), Martin
      Willemoes Hansen (da), Michiel Sikkes (nl), Miloslav Trmac (cs), Takeshi
      AIHANA (ja), Jayaradha (ta).
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-06-22T12:42:42Z</dc:date></item><item><title>Finally</title><guid isPermaLink="false">computers/work-2005-06-16-18-03</guid><link>http://www.burtonini.com/blog/computers/work-2005-06-16-18-03</link><description>The problem with large projects is that for a long time there is often no real progress, then all of ...</description><content:encoded><![CDATA[    <p>
      The problem with large projects is that for a long time there is often no
      real progress, then all of a sudden <a
      href="http://www.burtonini.com/computing/screenshots/evo-dbus.png">stuff
      just starts to work</a>.
    </p>
    <p>
      For the curious, on the right is the infamous Evolution showing the
      address book, and on the left is a terminal running the address book
      backend.  The two normally communicate via Bonobo, but these are
      communicating via DBus...
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-16T17:03:00Z</dc:date></item><item><title>Opened Hand Interview</title><guid isPermaLink="false">computers/interview-2005-06-16-17-30</guid><link>http://www.burtonini.com/blog/computers/interview-2005-06-16-17-30</link><description>Last week Opened Hand was interviewed about our involvement with the Nokia 770 , the resulting Newsforge article just went ...</description><content:encoded><![CDATA[    <p>
      Last week <a href="http://www.o-hand.com">Opened Hand</a> was interviewed
      about our involvement with the <a href="http://www.nokia.com/770">Nokia
      770</a>, the resulting Newsforge article <a
      href="http://mobile.newsforge.com/mobility/05/06/08/1948202.shtml?tid=97&tid=2">just
      went online</a>.
    </p>
    <p>
      <small>NP: <cite>Take London</cite>, The Herbaliser</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-16T16:30:00Z</dc:date></item><item><title>Colour-Calibrated Eye Of Gnome</title><guid isPermaLink="false">computers/xicc/eog-icc-2005-06-16-09-57</guid><link>http://www.burtonini.com/blog/computers/xicc/eog-icc-2005-06-16-09-57</link><description>A few days of early-morning hacking later, and I've got a proof-of-concept ICC system working. It's very simple but works ...</description><content:encoded><![CDATA[    <p>
      A few days of early-morning hacking later, and I've got a proof-of-concept
      ICC system working.  It's very simple but works well for me.
    </p>
    <p>
      The first step is to associate an ICC profile to each screen.  This can be
      done using <tt>xicc</tt>, from <a
      href="http://www.burtonini.com/computing/xicc-0.1.tar.gz"><tt>xicc-0.1.tar.gz</tt></a>.
      Simply run this specifiying the path to the relevant ICC profile and it
      will set the atom on the root window of the default screen (multi-screen
      support will be implemented next).  For example:
    </p>
    <blockquote><pre>$ xicc ~/tmp/ICM/ibmtplcd.icm</pre></blockquote>
    <p>
      <tt>ibmtplcd.icm</tt> is the profile for the IBM ThinkPad LCDs.
    </p>
    <p>
      Then patch Eye Of Gnome with <a
      href="http://www.burtonini.com/computing/eog-cms-20050616.diff">this
        patch</a>.  Now when EoG opens a JPEG image which describes the colour space
      using the standard EXIF properties <tt>White Point</tt> and <tt>Primary
        Chromaticities</tt> it will create a profile on the fly, and when the
      image is displayed the profile for the screen is obtained and the image
      corrected.
    </p>
    <p>
      There is a lot to do yet:
    </p>
    <ul>
      <li>Read embedded ICC profiles from JPEG and PNG files</li>
      <li>Read the whitepoint/chromatic information from PNG files</li>
      <li>Cache the profile from the screen</li>
      <li>Make <tt>xicc</tt> multi-screen aware</li>
    </ul>
    <p>
      But it does work!  I'll write a small specification for the atom I'm using shortly.
    </p>
    
    <p>
      <small>NP: <cite>Mrs. Cruff</cite>, Mr. Scruff</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2005-06-16T08:57:00Z</dc:date></item><item><title>Photography</title><guid isPermaLink="false">life/photos-2005-06-15-10-45</guid><link>http://www.burtonini.com/blog/life/photos-2005-06-15-10-45</link><description>Last Thursday we had a few hours of summer (it's raining again now) so I dived out at lunch and ...</description><content:encoded><![CDATA[    <p>
      Last Thursday we had a few hours of summer (it's raining again now) so I
      dived out at lunch and took some photos in the garden and the local
      cemetery before the inevitable clouds rolled in.
    </p>
    <p>
      <a class="noline" href="http://www.burtonini.com/photos/Random/img_2419.jpg">
        <img class="thumbnail" src="http://www.burtonini.com/photos/Random/thumb-img_2419.jpg" width="128" height="85" title="Reaching For The Sun"/>
      </a>

      <a class="noline" href="http://www.burtonini.com/photos/Random/img_2439.jpg">
        <img class="thumbnail" src="http://www.burtonini.com/photos/Random/thumb-img_2439.jpg" width="85" height="128" title="Anonymous"/>
      </a>

      <a class="noline" href="http://www.burtonini.com/photos/Random/img_2446.jpg">
        <img class="thumbnail" src="http://www.burtonini.com/photos/Random/thumb-img_2446.jpg" width="128" height="85" title="Forgotten"/>
      </a>
    </p>
    
    <p>
      <small>NP: <cite>Central Reservation</cite>, Beth Orton</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/life</category><dc:date>2005-06-15T09:45:00Z</dc:date></item><item><title>Is It Crack Or Not?</title><guid isPermaLink="false">computers/crack-or-not-2005-06-14-17-13</guid><link>http://www.burtonini.com/blog/computers/crack-or-not-2005-06-14-17-13</link><description>This is the first installment of a semi-regular (read: as regularly as I can be bothered) feature, Is It Crack ...</description><content:encoded><![CDATA[    <p>
      This is the first installment of a semi-regular (read: as regularly as I
      can be bothered) feature, Is It Crack Or Not?  The idea is that there are
      often ideas in the GNOME community which may or may not be crack, so here
      the people can share their views. So without further ado, let's get on.
    </p>
    <p>
      The proposal is that the screen shot button in GNOME should be extended to
      record video as well as take static screen shots.  Jeroen among others has
      done a <a
      href="http://www.xs4all.nl/~jeroen/screenshots/Screenshot-Screenshot-2.png">mockup
      of the interface</a> for this feature.  There are lots of open questions,
      such as will it record audio, how does one stop the recording without
      there being a Stop button in the interface, what codec to use, and does a
      normal user know the difference between Ogg Theora and MPEG 4?  The
      important question however is <strong>is it crack or not?</strong> Leave
      your opinion in the comments!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-14T16:13:00Z</dc:date></item><item><title>Blog Comments</title><guid isPermaLink="false">computers/comments-2005-06-14-16-56</guid><link>http://www.burtonini.com/blog/computers/comments-2005-06-14-16-56</link><description>Blog comments are now enabled again, so feel free to spam comment on any posts. NP: Charango , Morcheeba</description><content:encoded><![CDATA[<p>
Blog comments are now enabled again, so feel free to <strike>spam</strike> comment on any posts.
</p>
<p><small>NP: <cite>Charango</cite>, Morcheeba</small></p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-14T15:56:00Z</dc:date></item><item><title>Morgan's Law</title><guid isPermaLink="false">life/morgans-law-2005-06-13-16-51</guid><link>http://www.burtonini.com/blog/life/morgans-law-2005-06-13-16-51</link><description>After a brief discussion with Allen over whether eating crunchy bread would cause you to lose weight on the grounds ...</description><content:encoded><![CDATA[    <p>
      After a brief discussion with Allen over whether eating crunchy bread
      would cause you to lose weight on the grounds that your jaws are doing
      exercise, we formulated Morgan's Law Of Calorific Denial:
    </p>
    <blockquote>
      More Food = More Exercise = The Thinner You Get
    </blockquote>
    <p>
      Like all great laws (such as <cite>E=mc<sup>2</sup></cite>) it is straight
      to the point.  I feel a best-selling book about diet plans involving
      Morgan's Law coming up...
    </p>
    
    <p>
      <small>NP: <cite>O</cite>, Damien Rice</small>
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/life</category><dc:date>2005-06-13T15:51:00Z</dc:date></item><item><title>Waiting For Godot^WRoss</title><guid isPermaLink="false">computers/gnome-topic-2005-06-13-11-01</guid><link>http://www.burtonini.com/blog/computers/gnome-topic-2005-06-13-11-01</link><description>I just joined #gnome-debian to find the following topic: TODO: gnome-cups-manager sj zenity | The Independent: &quot;Rabid Debian users on ...</description><content:encoded><![CDATA[    <p>
      I just joined <tt>#gnome-debian</tt> to find the following topic:
    </p>
    <p>
      <tt>
        TODO: gnome-cups-manager sj zenity | The Independent: "Rabid Debian users
        on a search and destroy mission against Ross Burton. 'Yes,' one of them
        said, 'he doesn't give us our Zen.'"
      </tt>
    </p>
    <p>
      Hmm, yesterday the To Do list was several lines long.  Now it's just three
      packages, and they are all mine.  Damn.  Looks like it's time to update my
      Sid machine...
    </p>
    <p>
      <small>NP: <cite>X & Y</cite>, Coldplay</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-13T10:01:00Z</dc:date></item><item><title>Breaking The Tinderbox</title><guid isPermaLink="false">computers/dbus-2005-06-13-08-00</guid><link>http://www.burtonini.com/blog/computers/dbus-2005-06-13-08-00</link><description>As annoying as breaking the tinderbox builds of GNOME is , knowing that Colin's DBus mega-patch (at the last check ...</description><content:encoded><![CDATA[    <p>
      As annoying as <a href="http://tieguy.org/blog/index.cgi/383">breaking the
      tinderbox builds of GNOME is</a>, knowing that Colin's DBus mega-patch (at
      the last check the patch was over 280Kb) that I've been working on is
      finally committed is far more satisfying.  Now to merge current CVS into
      my local branch and send Colin another large patch to review...
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-13T07:00:00Z</dc:date></item><item><title>Colour Calibrated EoG Patch</title><guid isPermaLink="false">computers/xicc/eog-icc-2005-06-12-12-58</guid><link>http://www.burtonini.com/blog/computers/xicc/eog-icc-2005-06-12-12-58</link><description>I've now fixed the few small problems with my Little CMS patch for Eye Of Gnome, and it is now ...</description><content:encoded><![CDATA[    <p>
      I've now fixed the few small problems with my Little CMS patch for Eye Of
      Gnome, and it is now a lot faster and actually correct (previously it was
      adjusting most of the pixels hundreds of times...)  If you want to give it
      a go, the patch is <a
      href="http://www.burtonini.com/computing/eog-cms-20050612.diff">available
      here</a>.  It currently uses sRGB as the display profile and only creates
      profiles on the fly from embedded whitepoint and primary chomatic
      information, but will not read embeded ICC profiles.  This is due to me
      scratching an itch, Canon EOS cameras don't embed a profile when they are
      using Adobe RGB.
    </p>
    <p>
      If anyone out there has some feedback on this issue, feel free to edit the
      <a href="http://live.gnome.org/ColourManagement">Colour Management</a>
      page on the GNOME wiki.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2005-06-12T11:58:00Z</dc:date></item><item><title>Colour-Calibrated Eye of Gnome</title><guid isPermaLink="false">computers/xicc/eog-icc-2005-06-10-10-42</guid><link>http://www.burtonini.com/blog/computers/xicc/eog-icc-2005-06-10-10-42</link><description>Last night I got fed up of manually converting photos from my camera from Adobe RGB to sRGB for display ...</description><content:encoded><![CDATA[    <p>
      Last night I got fed up of manually converting photos from my camera from
      Adobe RGB to sRGB for display (I had a long blog entry about this but it
      got lost...), that I decided to try and hack colour space support into
      EOG.
    </p>
    <p>
      Working on the scratching an itch principle, my EOG will now check a JPEG
      image to see if it contains any embedded white point and primary colour
      coefficients.  If it does, a ICC profile is generated from the data (using
      a gamma of 2.2) and the image transformed to sRGB.  It's a little slow at
      the moment as I'm doing it row at a time, and it has a habit of crashing
      on the last row but one (no idea why), but if I tell it to transform only
      half of the image the results are impressive:
    </p>
    <p>
      <img src="http://www.burtonini.com/computing/screenshots/eog-icc.png" alt="Eye of Gnome colour-correcting a photo"/>
    </p>
    <p>
      The next stage once the bugs are fixed is to make the code optional, and
      to handle embedded ICC profiles.
    </p>
    <p>
      <small>NP: <cite>F&#9839;A&#9839; &infin;</cite>, Godspeed! You Black Emporer</small>
    </p>]]></content:encoded><category domain="http://www.burtonini.com">/computers/xicc</category><dc:date>2005-06-10T09:42:00Z</dc:date></item><item><title>Sound Juicer &quot;Grace the Corners of Our Rooms&quot; 2.11.1</title><guid isPermaLink="false">computers/sound-juicer/sj-2.11.1</guid><link>http://www.burtonini.com/blog/computers/sound-juicer/sj-2.11.1</link><description>Sound Juicer &quot;Grace the Corners of Our Rooms&quot; 2.11.1 is finally out, the rather late first release in the series ...</description><content:encoded><![CDATA[    <p>
      Sound Juicer "Grace the Corners of Our Rooms" 2.11.1 is finally out, the
      rather late first release in the series up to GNOME 2.12.  Tarballs are
      available <a
      href="http://www.burtonini.com/computing/sound-juicer-2.11.1.tar.gz">on
      <tt>burtonini.com</tt></a>, or from the <a
      href="ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.11/">GNOME FTP
      servers</a>.
    </p>
    <ul>
      <li>Initialise audio profiles before creating the extractor</li>
      <li>Fix some pointer tests which may crash</li>
      <li>Focus the list view on startup</li>
      <li>Depend on nautilus-burn 2.11.1, and pass around <tt>NautilusBurnDrive</tt> objects instead of device names.</li>
      <li>Don't free <tt>GError</tt>s in the pipeline error handler, this makes SJ crash</li>
      <li>Add a dummy C++ file to fix builds where gcc version != g++ version</li>
      <li>Uncheck each track as it is extracted</li>
      <li>Put lots more metadata into the songs (MusicBrainz IDs and release date)</li>
      <li>Check for and switch to an existing instance of SJ when starting (Bastien Nocera)</li>
    </ul>
    <p>
      And of course, thanks to the translators: Adam Weinberger (en_CA), Ahmad Riza H Nst (id), Canonical Ltd (xh), Dafydd
      Harries (cy), Hendrik Richter (de), Ivar Smolin (et), Jyotsna Shrestha (ne),
      Mugurel Tudor (ro), Nikos Charonitakis (el), Raphael Higino (pt_BR), Steve
      Murphy (rw).
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/sound-juicer</category><dc:date>2005-06-08T11:12:46Z</dc:date></item><item><title>Modern X Architecture</title><guid isPermaLink="false">computers/x-2005-06-07-12-30</guid><link>http://www.burtonini.com/blog/computers/x-2005-06-07-12-30</link><description>It appears that some people are getting a bit confused about how all these pieces of the modern, GL-based, X ...</description><content:encoded><![CDATA[    <p>
      It appears that some people are getting a bit confused about how all these
      pieces of the modern, GL-based, X architecture works.  I'm no expert on
      this but I think I understand how it all joins together.  I'll define some
      terms and hopefully things will be clearer.
    </p>
    <dl>
      <dt>X Server</dt>
      <dd>
        <p>
          The program which draws the contents of the windows onto your screen.
          This is the program which controls your display and receives your
          input.
        </p>
      </dd>

      <dt>X Client</dt>
      <dd>
        <p>
          A program which people generally think of as applications, such as a
          word processor or a calculator.  This does the real work and tells the
          server what to draw.  Due to the client/server nature of X, clients
          may be running on any machine, local or remote, whereas the server
          generally runs on the computer in front of you.
        </p>
      </dd>

      <dt>Window Manager</dt>
      <dd>
        <p>
          Whilst X provides functions to position windows, X itself doesn't
          specify how the windows are manipulated or positioned, i.e. it
          provides the mechanism but not the policy.  Implementing the policy is
          the role of the window manager, and whilst most window managers are
          pretty much the same (see <tt>twm</tt>, Metacity, or Enlightenment),
          it does mean some weird and wonderful window managers can be created
          (see <a href="http://projects.o-hand.com/matchbox/">Matchbox</a> or <a
            href="http://www.nongnu.org/ratpoison/">Ratpoison</a>).
        </p>
        <p>
          Hopefully these three terms are familar to everyone who is still
          reading!
        </p>
      </dd>
      
      <dt>X Extensions</dt>
      <dd>
        <p>
          The X protocol was designed with future extension in mind, and
          recently there has been a flurry of activity here.  Recent major
          extensions include Render (a decent drawing API), Damage (clients can
          receive notification of redraw events on other windows, good for VNC
          servers or programs like <a
          href="http://projects.o-hand.com/xresponse/">Xresponse</a>), Fixes (as
          the name implies it fixes a number of omissions, such as a better
          clipboard protocol), and Composite (clients can control how the
          windows are displayed).
        </p>
      </dd>

      <dt>Composite Manager</dt>
      <dd>
        <p>
          This is where it gets fun.  Combining the Holy Trinity of modern X
          extensions, Composite, Damage, and Render, leads to the concept of a
          composite manager.  When compositing is enabled windows created by
          clients are not drawn to the display directly, but to off-screen
          images.  The composite manager is then responsible for drawing the
          windows to the screen in any way it wants.  A basic composite manager
          would do nothing but copy the pixels (and thus appear idential to
          running no composite manager), <tt>xcompmgr</tt> adds real-time
          transparent drop shadows to top-level windows, and Luminocity wobbles
          the windows when they are moved.
        </p>
        <p>
          Note that a composite manager doesn't have to be a window manager, but
          they often are.  <tt>xcompmgr</tt> is just a composite manager,
          whereas Luminocity is both a window manager and a composite manager.
        </p>
      </dd>
    </dl>

    <p>
      So, where do all of these new program fit?
    </p>
    <p>
      Xgl is a new X server which uses GL to draw.  Not only are the core X
      drawing primites accelerated (like they are on most servers these days),
      but Render is also accelerated.  As the OpenGL specification alone doesn't
      provide enough API for an X server (for example it doesn't cover
      manipulating the display size, or input), there are a number of Xgl
      versions.  Xglx uses the GLX extension and is effectively a GL-accelerated
      Xnest/Xephyr clone.  Xegl uses the Embedded OpenGL specification, which
      adds the required features so that an application can control the entire
      display and not just a window.  With this, Xegl can run directly on the
      hardware.  Note that instead of calling GL directly Xgl uses Glitz, a
      GL-backed 2D graphics library originally created for Cairo, which matches
      the semantics of the Render extension.
    </p>
    <p>
      Luminocity is pure crack.  Pure, 100%, pristine crack, rolled into lines
      by naked Brazilian hand maidens.  Who said Owen was a code purist?  That
      said, it is a very good design for a composite manager test bed.  To use
      Luminocity you need two X servers: a target display and a source display.
      Luminocity reads window contents from the source display and draws them to
      the target display in a (optionally full-screen) window, by being the
      composite manager on the source and a normal client on the target.  The
      source display needs to support the Holy Trinity and XTest, so generally
      is <tt>Xfake</tt> from the <tt>kdrive</tt> X server (which doesn't have a
      visible framebuffer), and the target display is whatever X server you'd
      normally run as long as it supports hardware-accelerated GL.  Whilst this
      is a seriously over-engineered solution and requires more than a few hacks
      (XTest is used to forward events between the servers), the result is that
      time taken to restart it after a build is drastically reduced, as when
      Luminocity is killed both of the X servers and all clients are not killed
      too.
    </p>
    <p>
      The really interesting program we all want to see is <tt>glxcompmgr</tt>,
      demonstrated at GUADEC to manic cheers and applause. From what I
      understand, this is a classic compositing manager in design in that it
      works with a single display.  It achieves fabulous visual effects by
      extensively using GL, and thus with hardware acceleration is very fast.
      My guess is that it just draws to a full-screen GL window and so doesn't
      require Xgl, but will work on any server.
    </p>

    <p>
      <small>NP: <cite>Babylon Rewound</cite>, Thievery Corporation</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-07T11:30:00Z</dc:date></item><item><title>Oh My God</title><guid isPermaLink="false">computers/omg-2005-06-06-20-25</guid><link>http://www.burtonini.com/blog/computers/omg-2005-06-06-20-25</link><description>What an evening! Not only did Apple actually switch to Intel processors for their laptop and desktop ranges, but Debian ...</description><content:encoded><![CDATA[    <p>
      What an evening!  Not only did <a
      href="http://www.apple.com/pr/library/2005/jun/06intel.html">Apple
      actually switch to Intel processors</a> for their laptop and desktop
      ranges, but Debian Sarge has actually been released!
    </p>
    <p>
      Well, the announcement for Sarge isn't out yet, but the FTP server says it all:
    </p>
    <pre>lrwxrwxrwx    1 1176     1176            5 Jun 06 18:33 stable -> sarge
lrwxrwxrwx    1 1176     1176            4 Jun 06 18:33 testing -> etch</pre>
    <p>
      Woohoo!
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-06T19:25:00Z</dc:date></item><item><title>GUADEC Photos</title><guid isPermaLink="false">computers/guadec6/photos-2005-06-03-10-34</guid><link>http://www.burtonini.com/blog/computers/guadec6/photos-2005-06-03-10-34</link><description>I didn't take many photos at GUADEC this year, but I did take my little Ixus along to The Party ...</description><content:encoded><![CDATA[    <p>
      I didn't take many photos at GUADEC this year, but I did take my little
      Ixus along to <a href="http://www.burtonini.com/photos/200505-GUADEC/">The
      Party</a>.
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers/guadec6</category><dc:date>2005-06-03T09:34:00Z</dc:date></item><item><title>Look-alikes</title><guid isPermaLink="false">computers/hackergotchi-2005-06-01-19-18</guid><link>http://www.burtonini.com/blog/computers/hackergotchi-2005-06-01-19-18</link><description>I lost count of the number of times people said to me, &quot;You're Ross Burton? You look nothing like your ...</description><content:encoded><![CDATA[    <p>
      I lost count of the number of times people said to me, "You're Ross
      Burton?  You look nothing like your hackergotchi!"  <a
      href="http://rlove.org/">Robert Love</a> even went as far as quantifying
      just how much unlike: third place.  First place of course goes to <a
      href="http://www.hadess.net/?start=540">Bastien Nocera</a>, who everyone
      thought was black when the most appropriate description is "pasty with
      dark fur".  Just who is number two is an unanswered question.
    </p>
    <p>
      I'll knock up a new hackergotchi for myself in a minute, but here is a new
      one for Bastien I made from a photo I took at the GUADEC Parrrrty:
    </p>
    <p>
      <img src="http://www.burtonini.com/photos/Misc/hadess.png" alt="Bastien Nocera"/>
    </p>
    <p>
      <small>NP: <cite>Tourist</cite>, St. Germain</small>
    </p>
]]></content:encoded><category domain="http://www.burtonini.com">/computers</category><dc:date>2005-06-01T18:18:00Z</dc:date></item></channel></rss>